summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-01-22 14:29:37 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2020-01-22 14:29:37 -0500
commit48f7bbe6f6521d2f62dabbc162c46da4848661bb (patch)
tree42501d84d88e5286097101537dfcccf4c72237a1
parentc4626ec2966d8d31140fc3cd26fee505d7f817d2 (diff)
Some documentation of rfu_union_tool
-rw-r--r--data/union_room_battle.s7
-rw-r--r--data/union_room_message.s297
-rw-r--r--include/event_object_movement.h2
-rw-r--r--include/link_rfu.h2
-rw-r--r--include/rfu_union_tool.h2
-rw-r--r--include/union_room.h18
-rw-r--r--src/link_rfu_2.c4
-rw-r--r--src/rfu_union_tool.c292
-rw-r--r--src/union_room.c52
9 files changed, 412 insertions, 264 deletions
diff --git a/data/union_room_battle.s b/data/union_room_battle.s
index f9988661e..d7fff5e96 100644
--- a/data/union_room_battle.s
+++ b/data/union_room_battle.s
@@ -10,13 +10,14 @@
gUnknown_8457194:: @ 8457194
.2byte 0x01FC, 0x0000 @ BgTemplate
+ .align 2
gUnknown_8457198:: @ 8457198
.byte 0x00, 0x02, 0x0F, 0x1A, 0x04, 0x0E @ window template
.2byte 0x0014
- @ ???
- .byte -1, 0, 0, 0
- .byte 0, 0, 0, 0
+ .byte 0xFF, 0, 0, 0, 0, 0
+ .2byte 0x0000
+ .align 2
gUnknown_84571A8:: @ 84571A8
.byte 0x01, 0x02, 0x03, 0x00
diff --git a/data/union_room_message.s b/data/union_room_message.s
index 0d72f7c1d..02ad4f5f4 100644
--- a/data/union_room_message.s
+++ b/data/union_room_message.s
@@ -27,6 +27,7 @@ gUnknown_84571E0:: @ 84571E0
.string "SYSTEM search has been canceled.$"
.align 2
+gUnref_845721C:: @ 845721C
.string "ともだちからの れんらくを\n" @ something about waiting for a friend to connect?
.string "まっています$"
@@ -167,43 +168,56 @@ gUnknown_845747C:: @ 845747C
.align 2
unref_text_union_room_2::
- .string "ため\nさんかしゃ ぼしゅうちゅう です!$"
+ .string "ため\n"
+ .string "さんかしゃ ぼしゅうちゅう です!$"
.align 2
gUnknown_84574A0:: @ 84574A0
- .string "{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?$"
+ .string "{STR_VAR_2} contacted you for\n"
+ .string "{STR_VAR_1}. Accept?$"
.align 2
gUnknown_84574C4:: @ 84574C4
- .string "{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?$"
+ .string "{STR_VAR_2} contacted you.\n"
+ .string "Will you share {STR_VAR_1}?$"
.align 2
gUnknown_84574EC:: @ 84574EC
- .string "{STR_VAR_2} contacted you.\nAdd to the members?$"
+ .string "{STR_VAR_2} contacted you.\n"
+ .string "Add to the members?$"
.align 2
gUnknown_8457514:: @ 8457514
- .string "{STR_VAR_1}!\nAre these members OK?$"
+ .string "{STR_VAR_1}!\n"
+ .string "Are these members OK?$"
.align 2
gUnknown_8457530:: @ 8457530
- .string "Cancel {STR_VAR_1} MODE\nwith these members?$"
+ .string "Cancel {STR_VAR_1} MODE\n"
+ .string "with these members?$"
.align 2
gUnknown_8457554:: @ 8457554
- .string "An “OK” was sent\nto {STR_VAR_1}.$"
+ .string "An “OK” was sent\n"
+ .string "to {STR_VAR_1}.$"
.align 2
gUnknown_845756C:: @ 845756C
- .string "The other TRAINER doesn't appear\nto be available now…\p$"
+ .string "The other TRAINER doesn't appear\n"
+ .string "to be available now…\p"
+ .string "$"
.align 2
gUnknown_84575A4:: @ 84575A4
- .string "You can't transmit with a TRAINER\nwho is too far away.\p$"
+ .string "You can't transmit with a TRAINER\n"
+ .string "who is too far away.\p"
+ .string "$"
.align 2
gUnknown_84575DC:: @ 84575DC
- .string "The other TRAINER(S) is/are not\nready yet.\p$"
+ .string "The other TRAINER(S) is/are not\n"
+ .string "ready yet.\p"
+ .string "$"
.align 2
gUnknown_8457608:: @ 8457608
@@ -212,11 +226,14 @@ gUnknown_8457608:: @ 8457608
.align 2
gUnknown_8457610:: @ 8457610
- .string "The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 90}$"
+ .string "The {STR_VAR_1} MODE with\n"
+ .string "these members will be canceled.{PAUSE 90}$"
.align 2
gUnknown_8457644:: @ 8457644
- .string "There is a member who can no\nlonger remain available.\p$"
+ .string "There is a member who can no\n"
+ .string "longer remain available.\p"
+ .string "$"
.align 2
gUnknown_845767C:: @ 845767C
@@ -225,7 +242,9 @@ gUnknown_845767C:: @ 845767C
.align 2
gUnknown_8457684:: @ 8457684
- .string "The other TRAINER appears\nunavailable…\p$"
+ .string "The other TRAINER appears\n"
+ .string "unavailable…\p"
+ .string "$"
.align 2
gUnknown_84576AC:: @ 84576AC
@@ -233,15 +252,18 @@ gUnknown_84576AC:: @ 84576AC
.align 2
gUnknown_84576C4:: @ 84576C4
- .string "{STR_VAR_1} OK'd your registration as\na member.$"
+ .string "{STR_VAR_1} OK'd your registration as\n"
+ .string "a member.$"
.align 2
gUnknown_84576EC:: @ 84576EC
- .string "{STR_VAR_1} replied, “No…”\p$"
+ .string "{STR_VAR_1} replied, “No…”\p"
+ .string "$"
.align 2
gUnknown_8457700:: @ 8457700
- .string "{STR_VAR_1}!\nAwaiting other members!$"
+ .string "{STR_VAR_1}!\n"
+ .string "Awaiting other members!$"
.align 2
gUnknown_845771C:: @ 845771C
@@ -249,7 +271,8 @@ gUnknown_845771C:: @ 845771C
.align 2
gUnknown_8457734:: @ 8457734
- .string "You stopped being a member.\p$"
+ .string "You stopped being a member.\p"
+ .string "$"
.align 2
gUnknown_8457754:: @ 8457754
@@ -266,15 +289,18 @@ gUnknown_8457754:: @ 8457754
.align 2
gUnknown_845777C:: @ 845777C
- .string "The WIRELESS COMMUNICATION\nSYSTEM link has been established.$"
+ .string "The WIRELESS COMMUNICATION\n"
+ .string "SYSTEM link has been established.$"
.align 2
gUnknown_84577BC:: @ 84577BC
- .string "The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…$"
+ .string "The WIRELESS COMMUNICATION\n"
+ .string "SYSTEM link has been dropped…$"
.align 2
gUnknown_84577F8:: @ 84577F8
- .string "The link with your friend has been\ndropped…$"
+ .string "The link with your friend has been\n"
+ .string "dropped…$"
.align 2
gUnknown_8457824:: @ 8457824
@@ -295,11 +321,13 @@ gUnknown_8457838:: @ 8457838
.align 2
gUnknown_8457860:: @ 8457860
- .string "Do you want the {STR_VAR_2}\nMODE?$"
+ .string "Do you want the {STR_VAR_2}\n"
+ .string "MODE?$"
.align 2
gUnknown_845787C:: @ 845787C
- .string "Do you want the {STR_VAR_2}\nMODE?$"
+ .string "Do you want the {STR_VAR_2}\n"
+ .string "MODE?$"
.align 2
gUnknown_8457898:: @ 8457898
@@ -313,19 +341,23 @@ gUnknown_84578A0:: @ 84578A0
.align 2
gUnknown_84578BC:: @ 84578BC
- .string "Awaiting {STR_VAR_1}'s response about\nthe trade…$"
+ .string "Awaiting {STR_VAR_1}'s response about\n"
+ .string "the trade…$"
.align 2
gUnknown_84578E4:: @ 84578E4
- .string "Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
+ .string "Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n"
+ .string "{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
.align 2
gUnknown_8457950:: @ 8457950
- .string "Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
+ .string "Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n"
+ .string "{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
.align 2
gUnknown_84579BC:: @ 84579BC
- .string "Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
+ .string "Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n"
+ .string "{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
.align 2
gUnknown_8457A34:: @ 8457A34
@@ -335,19 +367,23 @@ gUnknown_8457A34:: @ 8457A34
.align 2
gUnknown_8457A40:: @ 8457A40
- .string "Hiya! Is there something that you\nwanted to do?$"
+ .string "Hiya! Is there something that you\n"
+ .string "wanted to do?$"
.align 2
gUnknown_8457A70:: @ 8457A70
- .string "Hello!\nWould you like to do something?$"
+ .string "Hello!\n"
+ .string "Would you like to do something?$"
.align 2
gUnknown_8457A98:: @ 8457A98
- .string "{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?$"
+ .string "{STR_VAR_1}: Hiya, we meet again!\n"
+ .string "What are you up for this time?$"
.align 2
gUnknown_8457AD0:: @ 8457AD0
- .string "{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?$"
+ .string "{STR_VAR_1}: Oh! {PLAYER}, hello!\n"
+ .string "Would you like to do something?$"
.align 2
gUnknown_8457B04:: @ 8457B04
@@ -366,7 +402,8 @@ gUnknown_8457B2C:: @ 8457B2C
.align 2
gUnknown_8457B4C:: @ 8457B4C
- .string "{STR_VAR_1}: What would you like to\ndo now?$"
+ .string "{STR_VAR_1}: What would you like to\n"
+ .string "do now?$"
.align 2
gUnknown_8457B70:: @ 8457B70
@@ -394,11 +431,13 @@ gUnknown_8457BCC:: @ 8457BCC
.align 2
gUnknown_8457BD4:: @ 8457BD4
- .string "Awaiting a response from\nthe other TRAINER…$"
+ .string "Awaiting a response from\n"
+ .string "the other TRAINER…$"
.align 2
gUnknown_8457C00:: @ 8457C00
- .string "Awaiting a response from\n{STR_VAR_1}…$"
+ .string "Awaiting a response from\n"
+ .string "{STR_VAR_1}…$"
.align 2
gUnknown_8457C20:: @ 8457C20
@@ -448,18 +487,22 @@ gUnknown_8457DB8:: @ 8457DB8
.align 2
gUnknown_8457E0C:: @ 8457E0C
- .string "The chat has been dropped.\p$"
+ .string "The chat has been dropped.\p"
+ .string "$"
gUnknown_8457E28:: @ 8457E28
- .string "You declined the offer.\p$"
+ .string "You declined the offer.\p"
+ .string "$"
.align 2
gUnknown_8457E44:: @ 8457E44
- .string "You declined the offer.\p$"
+ .string "You declined the offer.\p"
+ .string "$"
.align 2
gUnknown_8457E60:: @ 8457E60
- .string "The chat was ended.\p$"
+ .string "The chat was ended.\p"
+ .string "$"
.align 2
gUnknown_8457E78::
@@ -499,7 +542,8 @@ gUnknown_8457F80:: @ 8457F80
gUnknown_8457F90:: @ 8457F90
.string "……\n"
- .string "The TRAINER appears to be busy…\p$"
+ .string "The TRAINER appears to be busy…\p"
+ .string "$"
.align 2
gUnknown_8457FB4::
@@ -596,12 +640,14 @@ gUnknown_8458230:: @ 8458230
gUnknown_8458260::
.string "Sorry! My POKéMON don't seem to\n"
.string "be feeling too well right now.\l"
- .string "Let me battle you another time.\p$"
+ .string "Let me battle you another time.\p"
+ .string "$"
gUnknown_84582C0::
.string "I'm terribly sorry, but my POKéMON\n"
.string "aren't feeling well…\p"
- .string "Let's battle another time.\p$"
+ .string "Let's battle another time.\p"
+ .string "$"
gUnknown_8458314:: @ 8458314
.4byte gUnknown_8458260
@@ -611,13 +657,15 @@ gUnknown_8458314:: @ 8458314
gUnknown_845831C::
.string "Huh? My TRAINER CARD…\n"
.string "Where'd it go now?\l"
- .string "Sorry! I'll show you another time!\p$"
+ .string "Sorry! I'll show you another time!\p"
+ .string "$"
.align 2
gUnknown_845836C::
.string "Oh? Now where did I put my\n"
.string "TRAINER CARD?…\l"
- .string "Sorry! I'll show you later!\p$"
+ .string "Sorry! I'll show you later!\p"
+ .string "$"
.align 2
gUnknown_84583B4:: @ 84583B4
@@ -627,11 +675,13 @@ gUnknown_84583B4:: @ 84583B4
.align 2
gUnknown_84583BC::
.string "If you want to do something with\n"
- .string "me, just give me a shout!\p$"
+ .string "me, just give me a shout!\p"
+ .string "$"
.align 2
gUnknown_84583F8::
.string "If you want to do something with\n"
- .string "me, don't be shy.\p$"
+ .string "me, don't be shy.\p"
+ .string "$"
.align 2
gUnknown_845842C:: @ 845842C
@@ -641,27 +691,32 @@ gUnknown_845842C:: @ 845842C
gUnknown_8458434:: @ 8458434
.string "Whoops! Sorry, but I have to do\n"
.string "something else.\l"
- .string "Another time, okay?\p$"
+ .string "Another time, okay?\p"
+ .string "$"
.align 2
gUnknown_845847C:: @ 845847C
.string "If you want to battle, you need\n"
.string "two POKéMON that are below\l"
- .string "Lv. 30.\p$"
+ .string "Lv. 30.\p"
+ .string "$"
gUnknown_84584C0:: @ 84584C0
.string "For a battle, you need two\n"
- .string "POKéMON that are below Lv. 30.\p$"
+ .string "POKéMON that are below Lv. 30.\p"
+ .string "$"
.align 2
gUnknown_84584FC::
.string "Oh, all right.\n"
- .string "Come see me anytime, okay?\p$"
+ .string "Come see me anytime, okay?\p"
+ .string "$"
.align 2
gUnknown_8458528::
.string "Oh…\n"
- .string "Please come by anytime.\p$"
+ .string "Please come by anytime.\p"
+ .string "$"
.align 2
gUnknown_8458548:: @ 8458548
@@ -672,13 +727,15 @@ gUnknown_8458548:: @ 8458548
gUnknown_8458550::
.string "Oh, sorry!\n"
.string "I just can't right this instant.\l"
- .string "Let's chat another time.\p$"
+ .string "Let's chat another time.\p"
+ .string "$"
.align 2
gUnknown_8458598::
.string "Oh, I'm sorry.\n"
.string "I have too much to do right now.\l"
- .string "Let's chat some other time.\p$"
+ .string "Let's chat some other time.\p"
+ .string "$"
.align 2
gUnknown_84585E8:: @ 84585E8
@@ -688,42 +745,50 @@ gUnknown_84585E8:: @ 84585E8
.align 2
gUnknown_84585F0::
.string "Whoa!\n"
- .string "I can tell you're pretty tough!\p$"
+ .string "I can tell you're pretty tough!\p"
+ .string "$"
.align 2
gUnknown_8458618::
.string "You used that move?\n"
- .string "That's good strategy!\p$"
+ .string "That's good strategy!\p"
+ .string "$"
.align 2
gUnknown_8458644::
.string "Way to go!\n"
- .string "That was an eye-opener!\p$"
+ .string "That was an eye-opener!\p"
+ .string "$"
.align 2
gUnknown_8458668::
.string "Oh! How could you use that\n"
- .string "POKéMON in that situation?\p$"
+ .string "POKéMON in that situation?\p"
+ .string "$"
.align 2
gUnknown_84586A0::
.string "That POKéMON…\n"
- .string "It's been raised really well!\p$"
+ .string "It's been raised really well!\p"
+ .string "$"
.align 2
gUnknown_84586D0::
.string "That's it!\n"
- .string "This is the right move now!\p$"
+ .string "This is the right move now!\p"
+ .string "$"
.align 2
gUnknown_84586F8::
.string "That's awesome!\n"
- .string "You can battle that way?\p$"
+ .string "You can battle that way?\p"
+ .string "$"
.align 2
gUnknown_8458724::
.string "You have exquisite timing for\n"
- .string "switching POKéMON!\p$"
+ .string "switching POKéMON!\p"
+ .string "$"
.align 2
gUnknown_8458758:: @ 8458758
@@ -739,42 +804,50 @@ gUnknown_8458758:: @ 8458758
.align 2
gUnknown_8458778::
.string "Oh, I see!\n"
- .string "This is educational!\p$"
+ .string "This is educational!\p"
+ .string "$"
.align 2
gUnknown_845879C::
.string "Don't say anything funny anymore!\n"
- .string "I'm sore from laughing!\p$"
+ .string "I'm sore from laughing!\p"
+ .string "$"
.align 2
gUnknown_84587D8::
.string "Oh?\n"
- .string "Something like that happened.\p$"
+ .string "Something like that happened.\p"
+ .string "$"
.align 2
gUnknown_84587FC::
.string "Hmhm… What?\n"
- .string "So is this what you're saying?\p$"
+ .string "So is this what you're saying?\p"
+ .string "$"
.align 2
gUnknown_8458828::
.string "Is that right?\n"
- .string "I didn't know that.\p$"
+ .string "I didn't know that.\p"
+ .string "$"
.align 2
gUnknown_845884C::
.string "Ahaha!\n"
- .string "What is that about?\p$"
+ .string "What is that about?\p"
+ .string "$"
.align 2
gUnknown_8458868::
.string "Yes, that's exactly it!\n"
- .string "That's what I meant.\p$"
+ .string "That's what I meant.\p"
+ .string "$"
.align 2
gUnknown_8458898::
.string "In other words…\n"
- .string "Yes! That's right!\p$"
+ .string "Yes! That's right!\p"
+ .string "$"
.align 2
gUnknown_84588BC:: @ 84588BC
@@ -790,21 +863,25 @@ gUnknown_84588BC:: @ 84588BC
.align 2
gUnknown_84588DC::
.string "I'm just showing my TRAINER CARD\n"
- .string "as my way of greeting.\p$"
+ .string "as my way of greeting.\p"
+ .string "$"
.align 2
gUnknown_8458918::
- .string "I hope I get to know you better!\p$"
+ .string "I hope I get to know you better!\p"
+ .string "$"
.align 2
gUnknown_845893C::
.string "We're showing each other our\n"
- .string "TRAINER CARDS to get acquainted.\p$"
+ .string "TRAINER CARDS to get acquainted.\p"
+ .string "$"
.align 2
gUnknown_845897C::
.string "Glad to meet you.\n"
- .string "Please don't be a stranger!\p$"
+ .string "Please don't be a stranger!\p"
+ .string "$"
.align 2
gUnknown_84589AC:: @ 84589AC
@@ -816,21 +893,25 @@ gUnknown_84589AC:: @ 84589AC
.align 2
gUnknown_84589BC::
.string "Yeahah!\n"
- .string "I really wanted this POKéMON!\p$"
+ .string "I really wanted this POKéMON!\p"
+ .string "$"
.align 2
gUnknown_84589E4::
.string "Finally, a trade got me that\n"
- .string "POKéMON I'd wanted a long time.\p$"
+ .string "POKéMON I'd wanted a long time.\p"
+ .string "$"
.align 2
gUnknown_8458A24::
- .string "I'm trading POKéMON right now.\p$"
+ .string "I'm trading POKéMON right now.\p"
+ .string "$"
.align 2
gUnknown_8458A44::
.string "I finally got that POKéMON I\n"
- .string "wanted in a trade!\p$"
+ .string "wanted in a trade!\p"
+ .string "$"
.align 2
gUnknown_8458A78:: @ 8458A78
@@ -845,7 +926,8 @@ gUnknown_8458A78:: @ 8458A78
gUnknown_8458A98:: @ 8458A98
.string "{STR_VAR_1} checked the\n"
- .string "TRADING BOARD.\p$"
+ .string "TRADING BOARD.\p"
+ .string "$"
.align 2
gUnknown_8458AB8:: @ 8458AB8
@@ -873,33 +955,40 @@ gUnknown_8458B44:: @ 8458B44
.string "こうかんけいじばん の とうろくが\n"
.string "かんりょう しました\p"
.string "ごりよう ありがとう\n"
- .string "ございました!\p$"
+ .string "ございました!\p"
+ .string "$"
.align 2
.string "けいじばんに だれも ポケモンを\n"
- .string "とうろく していません\p\n$"
+ .string "とうろく していません\p"
+ .string "\n$"
.align 2
gUnknown_8458CD4:: @ 8458CD4
.string "Please choose the type of POKéMON\n"
- .string "that you would like in the trade.\n$"
+ .string "that you would like in the trade.\n"
+ .string "$"
.align 2
gUnknown_8458D1C:: @ 8458D1C
.string "Which of your party POKéMON will\n"
- .string "you offer in trade?\p$"
+ .string "you offer in trade?\p"
+ .string "$"
.align 2
gUnknown_8458D54:: @ 8458D54
- .string "Registration has been canceled.\p$"
+ .string "Registration has been canceled.\p"
+ .string "$"
.align 2
gUnknown_8458D78:: @ 8458D78
- .string "Registration has been completed.\p$"
+ .string "Registration has been completed.\p"
+ .string "$"
.align 2
gUnknown_8458D9C:: @ 8458D9C
- .string "The trade has been canceled.\p$"
+ .string "The trade has been canceled.\p"
+ .string "$"
.align 2
gUnknown_8458DBC:: @ 8458DBC
@@ -913,7 +1002,8 @@ gUnknown_8458DE8:: @ 8458DE8
.align 2
gUnknown_8458E10:: @ 8458E10
- .string "The registration has been canceled.\p$"
+ .string "The registration has been canceled.\p"
+ .string "$"
.align 2
.string "こうかんを きぼうしているひとを\n"
@@ -934,27 +1024,32 @@ gUnknown_8458E70:: @ 8458E70
.align 2
.string "あなたが こうかんにだす\n"
- .string "ポケモンが とうろくされていません\p$"
+ .string "ポケモンが とうろくされていません\p"
+ .string "$"
.align 2
gUnknown_8458ED0:: @ 8458ED0
.string "You don't have a {STR_VAR_2}-type\n"
- .string "POKéMON that {STR_VAR_1} wants.\p$"
+ .string "POKéMON that {STR_VAR_1} wants.\p"
+ .string "$"
.align 2
gUnknown_8458F04:: @ 8458F04
.string "You don't have an EGG that\n"
- .string "{STR_VAR_1} wants.\p$"
+ .string "{STR_VAR_1} wants.\p"
+ .string "$"
.align 2
gUnknown_8458F2C:: @ 8458F2C
.string "{STR_VAR_1} can't make a trade for\n"
- .string "your POKéMON right now.\p$"
+ .string "your POKéMON right now.\p"
+ .string "$"
.align 2
gUnknown_8458F60:: @ 8458F60
.string "You can't make a trade for\n"
- .string "{STR_VAR_1}'s POKéMON right now.\p$"
+ .string "{STR_VAR_1}'s POKéMON right now.\p"
+ .string "$"
.align 2
gUnknown_8458F94:: @ 8458F94
@@ -962,7 +1057,8 @@ gUnknown_8458F94:: @ 8458F94
.word gUnknown_8458F60
gUnknown_8458F9C:: @ 8458F9C
- .string "Your trade offer was rejected.\p$"
+ .string "Your trade offer was rejected.\p"
+ .string "$"
gUnknown_8458FBC:: @ 8458FBC
.string "EGG TRADE$"
@@ -1039,7 +1135,8 @@ gUnknown_84591DC:: @ 84591DC
.align 2
.string "ダブルバトルでは 2ひき いじょうの\n"
- .string "ポケモンが ひつようです\p$"
+ .string "ポケモンが ひつようです\p"
+ .string "$"
.align 2
gUnknown_8459238:: @ 8459238
@@ -1187,11 +1284,20 @@ gUnknown_84594B0:: @ 84594B0
.align 2
gUnknown_84594C4:: @ 84594C4
- .string "This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p$"
+ .string "This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\n"
+ .string "TRAINER CARD…\l"
+ .string "{SPECIAL_F7 0x02}\p"
+ .string "POKéDEX: {SPECIAL_F7 0x03}\n"
+ .string "TIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p"
+ .string "$"
.align 2
gUnknown_8459504:: @ 8459504
- .string "BATTLES: {SPECIAL_F7 0x00} WINS {SPECIAL_F7 0x02} LOSSES\nTRADES: {SPECIAL_F7 0x03} TIMES\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p$"
+ .string "BATTLES: {SPECIAL_F7 0x00} WINS {SPECIAL_F7 0x02} LOSSES\n"
+ .string "TRADES: {SPECIAL_F7 0x03} TIMES\p"
+ .string "“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n"
+ .string "{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p"
+ .string "$"
.align 2
gUnknown_8459544:: @ 8459544
@@ -1208,9 +1314,8 @@ gUnknown_8459580:: @ 8459580
.align 2
gUnknown_8459588:: @ 8459588
- .string "Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}$"
-
- @ why is this data here of all places?
+ .string "Finished checking {SPECIAL_F7 0x01}'s\n"
+ .string "TRAINER CARD.{PAUSE 60}$"
.align 2
gUnknown_84595B0::
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index 1b4c9e365..f2e7bd325 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -47,7 +47,7 @@ void ObjectEventClearAnimIfSpecialAnimActive(struct ObjectEvent *);
void SpawnObjectEventsInView(s16, s16);
u8 sprite_new(u8, u8, s16, s16, u8, u8);
u8 AddPseudoObjectEvent(u16, SpriteCallback, s16, s16, u8);
-u8 TrySpawnObjectEvent(u8, u8, u8);
+u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup);
u8 SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8);
u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *);
void sub_8093038(s16, s16, s16 *, s16 *);
diff --git a/include/link_rfu.h b/include/link_rfu.h
index 874f62511..985c260ef 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -303,7 +303,7 @@ bool32 sub_80F8F7C(bool32 a0);
bool32 sub_80FA634(u16 a0, const u8 *a1);
void sub_80FA670(u8 a0, u16 a1, const u8 *a2);
u32 sub_80FA6FC(u16 a0, const u8 *a1);
-void sub_80FAF58(u8 a0, u32 a1, u32 a2);
+void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2);
void sub_80FBB8C(u32 a0);
void sub_80FBD4C(const u8 *ptr, u16 a1);
void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname);
diff --git a/include/rfu_union_tool.h b/include/rfu_union_tool.h
index e7895d25f..b8b5cd664 100644
--- a/include/rfu_union_tool.h
+++ b/include/rfu_union_tool.h
@@ -11,7 +11,7 @@ void sub_811BECC(struct UnkStruct_URoom *arg0);
void sub_811BEDC(struct UnkStruct_URoom *arg0);
bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3);
void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2);
-u8 sub_811B754(struct UnionObj * ptr);
+u8 ZeroUnionObjWork(struct UnionObj * ptr);
void sub_811BA78(void);
#endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H
diff --git a/include/union_room.h b/include/union_room.h
index 4730dfb18..0ad5e920e 100644
--- a/include/union_room.h
+++ b/include/union_room.h
@@ -87,10 +87,10 @@ struct UnkStruct_Group
struct UnionObj
{
- u8 field_0;
- u8 field_1;
- s8 field_2;
- u8 field_3;
+ u8 state;
+ u8 gfxId;
+ s8 animState;
+ u8 schedAnim;
};
struct UnkStruct_URoom
@@ -121,17 +121,17 @@ struct UnkStruct_URoom
/* 0x058 */ u8 field_58[4][11];
/* 0x084 */ u16 field_98;
/* 0x086 */ u16 field_9A[3];
- /* 0x08C */ struct UnionObj field_A0[8];
- /* 0x0AC */ u8 field_C0[12][15];
+ /* 0x08C */ struct UnionObj unionObjs[8];
+ /* 0x0AC */ u8 trainerCardStrbufs[12][15];
/* 0x160 */ u8 field_174[48];
/* 0x190 */ u8 field_1A4[200];
};
union UnkUnion_Main
{
- struct UnkStruct_Leader *leader;
- struct UnkStruct_Group *group;
- struct UnkStruct_URoom *uRoom;
+ struct UnkStruct_Leader * leader;
+ struct UnkStruct_Group * group;
+ struct UnkStruct_URoom * uRoom;
};
struct UnionRoomTrade
diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c
index 41fe72e20..17f604ee8 100644
--- a/src/link_rfu_2.c
+++ b/src/link_rfu_2.c
@@ -1917,7 +1917,7 @@ void ClearAndInitHostRFUtgtGname(void)
InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, 0, 0, 0);
}
-void sub_80FAF58(u8 a0, u32 a1, u32 a2)
+void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2)
{
InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, a0, a2, a1);
}
@@ -1944,7 +1944,7 @@ void sub_80FAFE0(u8 a0)
void sub_80FB008(u8 a0, u32 a1, u32 a2)
{
if (a0)
- sub_80FAF58(a0, a1, a2);
+ SetHostRFUtgtGname(a0, a1, a2);
rfu_REQ_configGameData(0, 2, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer);
}
diff --git a/src/rfu_union_tool.c b/src/rfu_union_tool.c
index 3a1b566e6..c3f6de9c1 100644
--- a/src/rfu_union_tool.c
+++ b/src/rfu_union_tool.c
@@ -12,52 +12,94 @@
#include "constants/event_object_movement.h"
#include "constants/object_events.h"
-EWRAM_DATA struct UnionObj * UnionObjWork = NULL;
-EWRAM_DATA u32 gUnknown_203B088 = 0;
-
-u8 sub_811BA18(void);
-u32 sub_811BBC8(u32 playerIdx, u32 arg1);
-void sub_811C008(s32 arg0, s32 arg1, u8 arg2);
+static EWRAM_DATA struct UnionObj * UnionObjWork = NULL;
+static EWRAM_DATA u32 sUnionObjRefreshTimer = 0;
+
+static u8 StartUnionObjAnimTask(void);
+static u32 sub_811BBC8(u32 playerIdx, u32 arg1);
+static void sub_811C008(s32 arg0, s32 arg1, u8 arg2);
+
+static const u8 sUnionObjectEventGfxIds[][10] = {
+ [MALE] = {
+ OBJECT_EVENT_GFX_COOLTRAINER_M,
+ OBJECT_EVENT_GFX_BLACKBELT,
+ OBJECT_EVENT_GFX_CAMPER,
+ OBJECT_EVENT_GFX_YOUNGSTER,
+ OBJECT_EVENT_GFX_BOY,
+ OBJECT_EVENT_GFX_BUG_CATCHER,
+ OBJECT_EVENT_GFX_MAN,
+ OBJECT_EVENT_GFX_ROCKER
+ },
+ [FEMALE] = {
+ OBJECT_EVENT_GFX_COOLTRAINER_F,
+ OBJECT_EVENT_GFX_CHANNELER,
+ OBJECT_EVENT_GFX_PICNICKER,
+ OBJECT_EVENT_GFX_LASS,
+ OBJECT_EVENT_GFX_WOMAN_1,
+ OBJECT_EVENT_GFX_BATTLE_GIRL,
+ OBJECT_EVENT_GFX_WOMAN_2,
+ OBJECT_EVENT_GFX_BEAUTY
+ }
+};
-const u8 gUnknown_84570D8[][10] = {
- {0x29, 0x36, 0x27, 0x12, 0x13, 0x14, 0x19, 0x1A},
- {0x2A, 0x3A, 0x28, 0x16, 0x17, 0x18, 0x1C, 0x1D}
+static const s16 sUnionPartnerCoords[][2] = {
+ { 4, 6},
+ {13, 8},
+ {10, 6},
+ { 1, 8},
+ {13, 4},
+ { 7, 4},
+ { 1, 4},
+ { 7, 8}
};
-const s16 gUnknown_84570EC[][2] = {
- {0x4, 0x6},
- {0xd, 0x8},
- {0xa, 0x6},
- {0x1, 0x8},
- {0xd, 0x4},
- {0x7, 0x4},
- {0x1, 0x4},
- {0x7, 0x8}
+static const s8 sFacingDirectionOffsets[][2] = {
+ [DIR_NONE] = { 0, 0},
+ [DIR_SOUTH] = { 1, 0},
+ [DIR_NORTH] = { 0, -1},
+ [DIR_WEST] = {-1, 0},
+ [DIR_EAST] = { 0, 1}
};
-const s8 gUnknown_845710C[][2] = {
- { 0, 0},
- { 1, 0},
- { 0, -1},
- {-1, 0},
- { 0, 1}
+static const u8 sOppositeFacingDirection[] = {
+ [DIR_NONE] = DIR_NONE,
+ [DIR_SOUTH] = DIR_NORTH,
+ [DIR_NORTH] = DIR_SOUTH,
+ [DIR_WEST] = DIR_EAST,
+ [DIR_EAST] = DIR_WEST
};
-const u8 gUnknown_8457116[] = {
- 0x00, 0x02, 0x01, 0x04, 0x03
+static const u8 gUnknown_845711B[] = {
+ 1,
+ 3,
+ 1,
+ 4,
+ 2
};
-const u8 gUnknown_845711B[] = {
- 0x01, 0x03, 0x01, 0x04, 0x02
+static const u8 sUnionRoomLocalIds[] = {
+ 9,
+ 8,
+ 7,
+ 2,
+ 6,
+ 5,
+ 4,
+ 3
};
-const u8 gUnknown_8457120[] = {
- 0x09, 0x08, 0x07, 0x02, 0x06, 0x05, 0x04, 0x03,
- 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00,
- 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6A, 0x00
+static const u16 sUnref_8457128[] = {
+ 0x63,
+ 0x64,
+ 0x65,
+ 0x66,
+ 0x67,
+ 0x68,
+ 0x69,
+ 0x6A
};
-bool32 is_walking_or_running(void)
+static bool32 is_walking_or_running(void)
{
if (gPlayerAvatar.tileTransitionState == 2 || gPlayerAvatar.tileTransitionState == 0)
{
@@ -69,24 +111,24 @@ bool32 is_walking_or_running(void)
}
}
-u8 sub_811B524(u32 a0, u32 a1)
+static u8 GetUnionRoomPlayerGraphicsId(u32 gender, u32 id)
{
- return gUnknown_84570D8[a0][a1 % 8];
+ return sUnionObjectEventGfxIds[gender][id % 8];
}
-void sub_811B53C(u32 a0, u32 a1, s32 * a2, s32 * a3)
+static void GetUnionRoomPlayerFacingCoords(u32 id, u32 dirn, s32 * xp, s32 * yp)
{
- *a2 = gUnknown_84570EC[a0][0] + gUnknown_845710C[a1][0] + 7;
- *a3 = gUnknown_84570EC[a0][1] + gUnknown_845710C[a1][1] + 7;
+ *xp = sUnionPartnerCoords[id][0] + sFacingDirectionOffsets[dirn][0] + 7;
+ *yp = sUnionPartnerCoords[id][1] + sFacingDirectionOffsets[dirn][1] + 7;
}
-bool32 sub_811B58C(u32 a0, u32 a1, s32 a2, s32 a3)
+static bool32 sub_811B58C(u32 id, u32 dirn, s32 x, s32 y)
{
- if (gUnknown_84570EC[a0][0] + gUnknown_845710C[a1][0] + 7 != a2)
+ if (sUnionPartnerCoords[id][0] + sFacingDirectionOffsets[dirn][0] + 7 != x)
{
return FALSE;
}
- else if (gUnknown_84570EC[a0][1] + gUnknown_845710C[a1][1] + 7 != a3)
+ else if (sUnionPartnerCoords[id][1] + sFacingDirectionOffsets[dirn][1] + 7 != y)
{
return FALSE;
}
@@ -96,41 +138,41 @@ bool32 sub_811B58C(u32 a0, u32 a1, s32 a2, s32 a3)
}
}
-bool32 IsUnionRoomPlayerHidden(u32 player_idx)
+static bool32 IsUnionRoomPlayerHidden(u32 player_idx)
{
return FlagGet(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
}
-void HideUnionRoomPlayer(u32 player_idx)
+static void HideUnionRoomPlayer(u32 player_idx)
{
FlagSet(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
}
-void ShowUnionRoomPlayer(u32 player_idx)
+static void ShowUnionRoomPlayer(u32 player_idx)
{
FlagClear(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
}
-void SetUnionRoomPlayerGfx(u32 playerIdx, u32 gfxId)
+static void SetUnionRoomPlayerGfx(u32 playerIdx, u32 gfxId)
{
VarSet(VAR_OBJ_GFX_ID_0 + playerIdx, gfxId);
}
-void CreateUnionRoomPlayerObjectEvent(u32 playerIdx)
+static void CreateUnionRoomPlayerObjectEvent(u32 playerIdx)
{
- TrySpawnObjectEvent(gUnknown_8457120[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ TrySpawnObjectEvent(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
}
-void RemoveUnionRoomPlayerObjectEvent(u32 playerIdx)
+static void RemoveUnionRoomPlayerObjectEvent(u32 playerIdx)
{
- RemoveObjectEventByLocalIdAndMap(gUnknown_8457120[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ RemoveObjectEventByLocalIdAndMap(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
}
-bool32 SetUnionRoomPlayerEnterExitMovement(u32 playerIdx, const u8 * movement)
+static bool32 SetUnionRoomPlayerEnterExitMovement(u32 playerIdx, const u8 * movement)
{
u8 objectId;
struct ObjectEvent * object;
- if (TryGetObjectEventIdByLocalIdAndMap(gUnknown_8457120[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId))
+ if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId))
{
return FALSE;
}
@@ -146,11 +188,11 @@ bool32 SetUnionRoomPlayerEnterExitMovement(u32 playerIdx, const u8 * movement)
}
return TRUE;
}
-bool32 sub_811B6E8(u32 playerIdx)
+static bool32 TryReleaseUnionRoomPlayerObjectEvent(u32 playerIdx)
{
u8 objectId;
struct ObjectEvent * object;
- if (TryGetObjectEventIdByLocalIdAndMap(gUnknown_8457120[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId))
+ if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId))
{
return TRUE;
}
@@ -170,41 +212,41 @@ bool32 sub_811B6E8(u32 playerIdx)
return TRUE;
}
-u8 sub_811B754(struct UnionObj * ptr)
+u8 ZeroUnionObjWork(struct UnionObj * ptr)
{
s32 i;
- gUnknown_203B088 = 0;
+ sUnionObjRefreshTimer = 0;
UnionObjWork = ptr;
AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 442)
for (i = 0; i < 8; i++)
{
- ptr[i].field_0 = 0;
- ptr[i].field_1 = 0;
- ptr[i].field_2 = 0;
- ptr[i].field_3 = 0;
+ ptr[i].state = 0;
+ ptr[i].gfxId = 0;
+ ptr[i].animState = 0;
+ ptr[i].schedAnim = 0;
}
- return sub_811BA18();
+ return StartUnionObjAnimTask();
}
-const u8 gUnknown_845718D[2] = {
+static const u8 sMovement_UnionPlayerExit[2] = {
MOVEMENT_ACTION_FLY_UP,
MOVEMENT_ACTION_STEP_END
};
-bool32 sub_811B7A8(s8 * a0, u32 playerIdx, struct UnionObj * ptr)
+static bool32 AnimateUnionRoomPlayerDespawn(s8 * a0, u32 playerIdx, struct UnionObj * ptr)
{
switch (*a0)
{
case 0:
- if (SetUnionRoomPlayerEnterExitMovement(playerIdx, gUnknown_845718D) == TRUE)
+ if (SetUnionRoomPlayerEnterExitMovement(playerIdx, sMovement_UnionPlayerExit) == TRUE)
{
HideUnionRoomPlayer(playerIdx);
(*a0)++;
}
break;
case 1:
- if (sub_811B6E8(playerIdx))
+ if (TryReleaseUnionRoomPlayerObjectEvent(playerIdx))
{
RemoveUnionRoomPlayerObjectEvent(playerIdx);
HideUnionRoomPlayer(playerIdx);
@@ -216,12 +258,12 @@ bool32 sub_811B7A8(s8 * a0, u32 playerIdx, struct UnionObj * ptr)
return FALSE;
}
-const u8 gUnknown_845718F[2] = {
+static const u8 sMovement_UnionPlayerEnter[2] = {
MOVEMENT_ACTION_FLY_DOWN,
MOVEMENT_ACTION_STEP_END
};
-bool32 sub_811B804(s8 * a0, u32 playerIdx, struct UnionObj * ptr)
+static bool32 AnimateUnionRoomPlayerSpawn(s8 * a0, u32 playerIdx, struct UnionObj * ptr)
{
s16 x, y;
@@ -233,28 +275,28 @@ bool32 sub_811B804(s8 * a0, u32 playerIdx, struct UnionObj * ptr)
break;
}
PlayerGetDestCoords(&x, &y);
- if (sub_811B58C(playerIdx, 0, x, y) == 1)
+ if (sub_811B58C(playerIdx, 0, x, y) == TRUE)
{
break;
}
player_get_pos_including_state_based_drift(&x, &y);
- if (sub_811B58C(playerIdx, 0, x, y) == 1)
+ if (sub_811B58C(playerIdx, 0, x, y) == TRUE)
{
break;
}
- SetUnionRoomPlayerGfx(playerIdx, ptr->field_1);
+ SetUnionRoomPlayerGfx(playerIdx, ptr->gfxId);
CreateUnionRoomPlayerObjectEvent(playerIdx);
ShowUnionRoomPlayer(playerIdx);
(*a0)++;
// fallthrough
case 3: // incorrect?
- if (SetUnionRoomPlayerEnterExitMovement(playerIdx, gUnknown_845718F) == 1)
+ if (SetUnionRoomPlayerEnterExitMovement(playerIdx, sMovement_UnionPlayerEnter) == 1)
{
(*a0)++;
}
break;
case 2:
- if (sub_811B6E8(playerIdx))
+ if (TryReleaseUnionRoomPlayerObjectEvent(playerIdx))
{
*a0 = 0;
return TRUE;
@@ -264,13 +306,13 @@ bool32 sub_811B804(s8 * a0, u32 playerIdx, struct UnionObj * ptr)
return FALSE;
}
-bool32 sub_811B8BC(u32 playerIdx, u32 a1, u32 a2)
+static bool32 sub_811B8BC(u32 playerIdx, u32 a1, u32 a2)
{
struct UnionObj * ptr = &UnionObjWork[playerIdx];
AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 561)
- ptr->field_3 = 1;
- ptr->field_1 = sub_811B524(a1, a2);
- if (ptr->field_0 == 0)
+ ptr->schedAnim = 1;
+ ptr->gfxId = GetUnionRoomPlayerGraphicsId(a1, a2);
+ if (ptr->state == 0)
{
return TRUE;
}
@@ -280,12 +322,12 @@ bool32 sub_811B8BC(u32 playerIdx, u32 a1, u32 a2)
}
}
-bool32 sub_811B90C(u32 playerIdx)
+static bool32 sub_811B90C(u32 playerIdx)
{
struct UnionObj * ptr = &UnionObjWork[playerIdx];
AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 577)
- ptr->field_3 = 2;
- if (ptr->field_0 == 1)
+ ptr->schedAnim = 2;
+ if (ptr->state == 1)
{
return TRUE;
}
@@ -295,15 +337,15 @@ bool32 sub_811B90C(u32 playerIdx)
}
}
-void sub_811B94C(u32 playerIdx, struct UnionObj * ptr)
+static void AnimateUnionObj(u32 playerIdx, struct UnionObj * ptr)
{
- switch (ptr->field_0)
+ switch (ptr->state)
{
case 0:
- if (ptr->field_3 == 1)
+ if (ptr->schedAnim == 1)
{
- ptr->field_0 = 2;
- ptr->field_2 = 0;
+ ptr->state = 2;
+ ptr->animState = 0;
}
else
{
@@ -311,23 +353,23 @@ void sub_811B94C(u32 playerIdx, struct UnionObj * ptr)
}
// fallthrough
case 2:
- if (!sub_811BBC8(playerIdx, 0) && ptr->field_3 == 2)
+ if (!sub_811BBC8(playerIdx, 0) && ptr->schedAnim == 2)
{
- ptr->field_0 = 0;
- ptr->field_2 = 0;
+ ptr->state = 0;
+ ptr->animState = 0;
RemoveUnionRoomPlayerObjectEvent(playerIdx);
HideUnionRoomPlayer(playerIdx);
}
- else if (sub_811B804(&ptr->field_2, playerIdx, ptr) == 1)
+ else if (AnimateUnionRoomPlayerSpawn(&ptr->animState, playerIdx, ptr) == TRUE)
{
- ptr->field_0 = 1;
+ ptr->state = 1;
}
break;
case 1:
- if (ptr->field_3 == 2)
+ if (ptr->schedAnim == 2)
{
- ptr->field_0 = 3;
- ptr->field_2 = 0;
+ ptr->state = 3;
+ ptr->animState = 0;
}
else
{
@@ -335,41 +377,41 @@ void sub_811B94C(u32 playerIdx, struct UnionObj * ptr)
}
// fallthrough
case 3:
- if (sub_811B7A8(&ptr->field_2, playerIdx, ptr) == 1)
+ if (AnimateUnionRoomPlayerDespawn(&ptr->animState, playerIdx, ptr) == TRUE)
{
- ptr->field_0 = 0;
+ ptr->state = 0;
}
break;
}
- ptr->field_3 = 0;
+ ptr->schedAnim = 0;
}
-void sub_811B9D8(u8 taskId)
+static void Task_AnimateUnionObjs(u8 taskId)
{
s32 i;
AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 643)
for (i = 0; i < 8; i++)
{
- sub_811B94C(i, &UnionObjWork[i]);
+ AnimateUnionObj(i, &UnionObjWork[i]);
}
}
-u8 sub_811BA18(void)
+static u8 StartUnionObjAnimTask(void)
{
- if (FuncIsActiveTask(sub_811B9D8) == TRUE)
+ if (FuncIsActiveTask(Task_AnimateUnionObjs) == TRUE)
{
AGB_ASSERT_EX(0, ABSPATH("rfu_union_tool.c"), 655)
return NUM_TASKS;
}
else
{
- return CreateTask(sub_811B9D8, 5);
+ return CreateTask(Task_AnimateUnionObjs, 5);
}
}
-void sub_811BA5C(void)
+static void sub_811BA5C(void)
{
- u8 taskId = FindTaskIdByFunc(sub_811B9D8);
+ u8 taskId = FindTaskIdByFunc(Task_AnimateUnionObjs);
if (taskId < NUM_TASKS)
{
DestroyTask(taskId);
@@ -398,7 +440,7 @@ void sub_811BAAC(u8 * sp8, s32 r9)
for (r7 = 0; r7 < 5; r7++)
{
s32 r5 = 5 * r9 + r7;
- sp8[r5] = sprite_new(OBJECT_EVENT_GFX_MAN, r5 - 0x38, gUnknown_84570EC[r9][0] + gUnknown_845710C[r7][0], gUnknown_84570EC[r9][1] + gUnknown_845710C[r7][1], 3, 1);
+ sp8[r5] = sprite_new(OBJECT_EVENT_GFX_MAN, r5 - 0x38, sUnionPartnerCoords[r9][0] + sFacingDirectionOffsets[r7][0], sUnionPartnerCoords[r9][1] + sFacingDirectionOffsets[r7][1], 3, 1);
sub_8069124(r5 - 0x38, TRUE);
}
}
@@ -419,13 +461,13 @@ void sub_811BB68(void)
{
for (j = 0; j < 5; j++)
{
- sub_811B53C(i, j, &x, &y);
+ GetUnionRoomPlayerFacingCoords(i, j, &x, &y);
sub_8059024(x, y, 0);
}
}
}
-u8 sub_811BBA0(u32 r1, u32 unused, struct GFtgtGname * r2)
+static u8 sub_811BBA0(u32 r1, u32 unused, struct GFtgtGname * r2)
{
if (r1 != 0)
{
@@ -441,12 +483,12 @@ u8 sub_811BBA0(u32 r1, u32 unused, struct GFtgtGname * r2)
}
}
-u32 sub_811BBC8(u32 a0, u32 a1)
+static u32 sub_811BBC8(u32 a0, u32 a1)
{
return sub_806916C(5 * a0 + a1 - 0x38);
}
-void sub_811BBE0(u32 r5, u32 r6, u8 r8, struct GFtgtGname * r9)
+static void sub_811BBE0(u32 r5, u32 r6, u8 r8, struct GFtgtGname * r9)
{
s32 x, y;
s32 r7 = 5 * r5 + r6;
@@ -457,19 +499,19 @@ void sub_811BBE0(u32 r5, u32 r6, u8 r8, struct GFtgtGname * r9)
}
sub_8069094(r7 - 0x38, r8);
sub_811C008(r6, r5, sub_811BBA0(r6, r5, r9));
- sub_811B53C(r5, r6, &x, &y);
+ GetUnionRoomPlayerFacingCoords(r5, r6, &x, &y);
sub_8059024(x, y, 1);
}
-void sub_811BC68(u32 a0, u32 a1)
+static void sub_811BC68(u32 a0, u32 a1)
{
s32 x, y;
sub_80691A4(5 * a0 + a1 - 0x38, 2);
- sub_811B53C(a0, a1, &x, &y);
+ GetUnionRoomPlayerFacingCoords(a0, a1, &x, &y);
sub_8059024(x, y, 0);
}
-void sub_811BCA0(u32 r7, struct GFtgtGname * r8)
+static void sub_811BCA0(u32 r7, struct GFtgtGname * r8)
{
s16 x, y, x2, y2;
s32 i;
@@ -478,11 +520,11 @@ void sub_811BCA0(u32 r7, struct GFtgtGname * r8)
player_get_pos_including_state_based_drift(&x2, &y2);
if (sub_806916C(5 * r7 - 0x38) == 1)
{
- if (sub_811B58C(r7, 0, x, y) == 1 || sub_811B58C(r7, 0, x2, y2) == 1)
+ if (sub_811B58C(r7, 0, x, y) == TRUE || sub_811B58C(r7, 0, x2, y2) == TRUE)
{
return;
}
- sub_811BBE0(r7, 0, sub_811B524(r8->playerGender, r8->unk_00.playerTrainerId[0]), r8);
+ sub_811BBE0(r7, 0, GetUnionRoomPlayerGraphicsId(r8->playerGender, r8->unk_00.playerTrainerId[0]), r8);
}
for (i = 1; i < 5; i++)
{
@@ -490,14 +532,14 @@ void sub_811BCA0(u32 r7, struct GFtgtGname * r8)
{
sub_811BC68(r7, i);
}
- else if (sub_811B58C(r7, i, x, y) == 0 && sub_811B58C(r7, i, x2, y2) == 0)
+ else if (sub_811B58C(r7, i, x, y) == FALSE && sub_811B58C(r7, i, x2, y2) == FALSE)
{
- sub_811BBE0(r7, i, sub_811B524((r8->unk_04[i - 1] >> 3) & 1, r8->unk_04[i - 1] & 7), r8);
+ sub_811BBE0(r7, i, GetUnionRoomPlayerGraphicsId((r8->unk_04[i - 1] >> 3) & 1, r8->unk_04[i - 1] & 7), r8);
}
}
}
-void sub_811BDA8(u32 r5, struct GFtgtGname * r4)
+static void sub_811BDA8(u32 r5, struct GFtgtGname * r4)
{
u32 i;
switch (r4->unk_0a_0)
@@ -525,7 +567,7 @@ void sub_811BDA8(u32 r5, struct GFtgtGname * r4)
}
}
-void sub_811BE6C(u32 r5, struct GFtgtGname * unused)
+static void sub_811BE6C(u32 r5, struct GFtgtGname * unused)
{
s32 i;
sub_811B90C(r5);
@@ -535,11 +577,11 @@ void sub_811BE6C(u32 r5, struct GFtgtGname * unused)
}
}
-void sub_811BE8C(struct UnkStruct_URoom *r0)
+static void UpdateUnionRoomPlayerSprites(struct UnkStruct_URoom *r0)
{
s32 i;
struct UnkStruct_x20 * r4;
- gUnknown_203B088 = 0;
+ sUnionObjRefreshTimer = 0;
for (i = 0, r4 = r0->field_0->arr; i < 8; i++)
{
if (r4[i].field_1A_0 == 1)
@@ -555,14 +597,14 @@ void sub_811BE8C(struct UnkStruct_URoom *r0)
void sub_811BECC(struct UnkStruct_URoom *unused)
{
- gUnknown_203B088 = 300;
+ sUnionObjRefreshTimer = 300;
}
void sub_811BEDC(struct UnkStruct_URoom *r2)
{
- if (++gUnknown_203B088 > 300)
+ if (++sUnionObjRefreshTimer > 300)
{
- sub_811BE8C(r2);
+ UpdateUnionRoomPlayerSprites(r2);
}
}
@@ -581,11 +623,11 @@ bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3)
for (j = 0; j < 5; j++)
{
s32 r3 = 5 * i + j;
- if (x != gUnknown_84570EC[i][0] + gUnknown_845710C[j][0] + 7)
+ if (x != sUnionPartnerCoords[i][0] + sFacingDirectionOffsets[j][0] + 7)
{
continue;
}
- if (y != gUnknown_84570EC[i][1] + gUnknown_845710C[j][1] + 7)
+ if (y != sUnionPartnerCoords[i][1] + sFacingDirectionOffsets[j][1] + 7)
{
continue;
}
@@ -601,7 +643,7 @@ bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3)
{
continue;
}
- sub_811C008(j, i, gUnknown_8457116[GetPlayerFacingDirection()]);
+ sub_811C008(j, i, sOppositeFacingDirection[GetPlayerFacingDirection()]);
*arg1 = j;
*arg2 = i;
return TRUE;
@@ -610,7 +652,7 @@ bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3)
return FALSE;
}
-void sub_811C008(s32 arg0, s32 arg1, u8 arg2)
+static void sub_811C008(s32 arg0, s32 arg1, u8 arg2)
{
sub_8069058(5 * arg1 - 0x38 + arg0, arg2);
}
diff --git a/src/union_room.c b/src/union_room.c
index 0441c8276..46797f2fa 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -649,7 +649,7 @@ static void sub_8115A68(u8 taskId)
case 0:
gUnknown_203B058 = gUnknown_8456CD8[gSpecialVar_0x8004];
gUnknown_203B059 = gUnknown_8456CD8[gSpecialVar_0x8004] >> 8;
- sub_80FAF58(gUnknown_203B058, 0, 0);
+ SetHostRFUtgtGname(gUnknown_203B058, 0, 0);
sub_800B1F4();
OpenLink();
sub_80FBB8C(gUnknown_203B059 & 0xF);
@@ -1180,7 +1180,7 @@ static void sub_8116738(u8 taskId)
switch (data->state)
{
case 0:
- sub_80FAF58(gUnknown_84570C8[gSpecialVar_0x8004], 0, 0);
+ SetHostRFUtgtGname(gUnknown_84570C8[gSpecialVar_0x8004], 0, 0);
gUnknown_203B058 = gUnknown_84570C8[gSpecialVar_0x8004];
sub_800B1F4();
OpenLink();
@@ -1468,7 +1468,7 @@ static void sub_8116E1C(u8 taskId)
switch (data->state)
{
case 0:
- sub_80FAF58(0, 0, 0);
+ SetHostRFUtgtGname(0, 0, 0);
sub_800B1F4();
OpenLink();
sub_80FBBD8();
@@ -1850,7 +1850,7 @@ static void sub_81175BC(u8 taskId)
else
{
sub_80F8D14();
- sub_80FAF58(69, 0, 1);
+ SetHostRFUtgtGname(69, 0, 1);
}
sub_8128420();
break;
@@ -1950,7 +1950,7 @@ static void sub_8117A0C(u8 taskId)
case 0:
gUnknown_203B058 = data->field_18;
gUnknown_203B059 = 2;
- sub_80FAF58(data->field_18, 0, 0);
+ SetHostRFUtgtGname(data->field_18, 0, 0);
sub_80FAF74(FALSE, FALSE);
sub_800B1F4();
OpenLink();
@@ -2156,7 +2156,7 @@ static void sub_8117F20(u8 taskId)
switch (data->state)
{
case 0:
- sub_80FAF58(data->field_12 + 21, 0, 0);
+ SetHostRFUtgtGname(data->field_12 + 21, 0, 0);
sub_800B1F4();
OpenLink();
sub_80FBBD8();
@@ -2322,7 +2322,7 @@ static void sub_81182DC(u8 taskId)
switch (data->state)
{
case 0:
- sub_80FAF58(0, 0, 0);
+ SetHostRFUtgtGname(0, 0, 0);
sub_800B1F4();
OpenLink();
sub_80FBBD8();
@@ -2552,7 +2552,7 @@ static void sub_81186E0(u8 taskId)
sub_811A5E4(data->field_0->arr, 8);
gUnknown_203B058 = 0x40;
data->field_20 = sub_8119E84(data->field_C, data->field_4, 9);
- sub_811B754(data->field_A0);
+ ZeroUnionObjWork(data->unionObjs);
sub_811BB68();
data->state = 1;
break;
@@ -2562,7 +2562,7 @@ static void sub_81186E0(u8 taskId)
data->state = 2;
break;
case 2:
- sub_80FAF58(0x40, 0, 0);
+ SetHostRFUtgtGname(0x40, 0, 0);
sub_80FAFA0(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel);
sub_800B1F4();
OpenLink();
@@ -3359,7 +3359,7 @@ static void sub_81199FC(u8 taskId)
structPtr->state = 1;
break;
case 1:
- sub_80FAF58(0xC, 0, 0);
+ SetHostRFUtgtGname(0xC, 0, 0);
sub_800B1F4();
OpenLink();
sub_80FBC00();
@@ -4547,21 +4547,21 @@ static void sub_811B31C(u8 *unused, struct UnkStruct_URoom * arg1, bool8 arg2)
DynamicPlaceholderTextUtil_Reset();
- StringCopy(arg1->field_C0[0], gTrainerClassNames[sub_80447F0()]);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->field_C0[0]);
+ StringCopy(arg1->trainerCardStrbufs[0], gTrainerClassNames[sub_80447F0()]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->trainerCardStrbufs[0]);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, trainerCard->playerName);
StringCopy(arg1->field_174, gUnknown_84594B0[trainerCard->stars]);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->field_174);
- ConvertIntToDecimalStringN(arg1->field_C0[2], trainerCard->caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->field_C0[2]);
+ ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[2], trainerCard->caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->trainerCardStrbufs[2]);
- ConvertIntToDecimalStringN(arg1->field_C0[3], trainerCard->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3);
- ConvertIntToDecimalStringN(arg1->field_C0[4], trainerCard->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, arg1->field_C0[3]);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, arg1->field_C0[4]);
+ ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[3], trainerCard->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3);
+ ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[4], trainerCard->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, arg1->trainerCardStrbufs[3]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, arg1->trainerCardStrbufs[4]);
DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_84594C4);
StringCopy(gStringVar4, arg1->field_1A4);
@@ -4571,24 +4571,24 @@ static void sub_811B31C(u8 *unused, struct UnkStruct_URoom * arg1, bool8 arg2)
{
n = 9999;
}
- ConvertIntToDecimalStringN(arg1->field_C0[0], n, STR_CONV_MODE_LEFT_ALIGN, 4);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->field_C0[0]);
+ ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[0], n, STR_CONV_MODE_LEFT_ALIGN, 4);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->trainerCardStrbufs[0]);
n = trainerCard->linkBattleLosses;
if (n > 9999)
{
n = 9999;
}
- ConvertIntToDecimalStringN(arg1->field_C0[1], n, STR_CONV_MODE_LEFT_ALIGN, 4);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->field_C0[1]);
+ ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[1], n, STR_CONV_MODE_LEFT_ALIGN, 4);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->trainerCardStrbufs[1]);
- ConvertIntToDecimalStringN(arg1->field_C0[2], trainerCard->pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->field_C0[2]);
+ ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[2], trainerCard->pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->trainerCardStrbufs[2]);
for (i = 0; i < 4; i++)
{
- CopyEasyChatWord(arg1->field_C0[i + 3], trainerCard->var_28[i]);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, arg1->field_C0[i + 3]);
+ CopyEasyChatWord(arg1->trainerCardStrbufs[i + 3], trainerCard->var_28[i]);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, arg1->trainerCardStrbufs[i + 3]);
}
DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459504);