Merge branch 'master' into add-localids
This commit is contained in:
498 files changed
+7613
-6656
No files matched your search
@@ -49,6 +49,8 @@ DATA_SRC_SUBDIR = src/data
|
||||
DATA_ASM_SUBDIR = data
|
||||
SONG_SUBDIR = sound/songs
|
||||
MID_SUBDIR = sound/songs/midi
|
||||
SAMPLE_SUBDIR = sound/direct_sound_samples
|
||||
CRY_SUBDIR = sound/direct_sound_samples/cries
|
||||
|
||||
C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR)
|
||||
GFLIB_BUILDDIR = $(OBJ_DIR)/$(GFLIB_SUBDIR)
|
||||
@@ -67,7 +69,7 @@ OBJ_DIR := build/emerald
|
||||
LIBPATH := -L ../../tools/agbcc/lib
|
||||
else
|
||||
CC1 = $(shell $(CC) --print-prog-name=cc1) -quiet
|
||||
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -fno-aggressive-loop-optimizations -Wno-pointer-to-int-cast
|
||||
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast
|
||||
ROM := pokeemerald_modern.gba
|
||||
OBJ_DIR := build/modern
|
||||
LIBPATH := -L "$(dir $(shell $(CC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(CC) -mthumb -print-file-name=libc.a))"
|
||||
@@ -173,7 +175,8 @@ clean-tools:
|
||||
@$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);)
|
||||
|
||||
mostlyclean: tidy
|
||||
rm -f sound/direct_sound_samples/*.bin
|
||||
rm -f $(SAMPLE_SUBDIR)/*.bin
|
||||
rm -f $(CRY_SUBDIR)/*.bin
|
||||
rm -f $(MID_SUBDIR)/*.s
|
||||
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
|
||||
rm -f $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc
|
||||
@@ -212,7 +215,7 @@ include songs.mk
|
||||
%.gbapal: %.png ; $(GFX) $< $@
|
||||
%.lz: % ; $(GFX) $< $@
|
||||
%.rl: % ; $(GFX) $< $@
|
||||
sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(AIF) $< $@ --compress
|
||||
$(CRY_SUBDIR)/%.bin: $(CRY_SUBDIR)/%.aif ; $(AIF) $< $@ --compress
|
||||
sound/%.bin: sound/%.aif ; $(AIF) $< $@
|
||||
|
||||
|
||||
@@ -232,7 +235,7 @@ $(C_BUILDDIR)/record_mixing.o: CFLAGS += -ffreestanding
|
||||
$(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm
|
||||
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet
|
||||
else
|
||||
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -fno-aggressive-loop-optimizations -Wno-pointer-to-int-cast
|
||||
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast
|
||||
endif
|
||||
|
||||
ifeq ($(NODEP),1)
|
||||
|
||||
@@ -3,15 +3,15 @@ gLinkDebugSeed
|
||||
gLocalLinkPlayerBlock
|
||||
gLinkErrorOccurred
|
||||
gLinkDebugFlags
|
||||
gFiller_03003074
|
||||
gLinkFiller1
|
||||
gRemoteLinkPlayersNotReceived
|
||||
gBlockReceivedStatus
|
||||
gFiller_03003080
|
||||
gLinkFiller2
|
||||
gLinkHeldKeys
|
||||
gRecvCmds
|
||||
gLinkStatus
|
||||
gUnknown_030030E4
|
||||
gUnknown_030030E8
|
||||
gLinkDummy1
|
||||
gLinkDummy2
|
||||
gUnknown_030030EC
|
||||
gUnknown_030030F0
|
||||
gUnknown_030030F4
|
||||
@@ -26,12 +26,10 @@ gLinkCallback
|
||||
gShouldAdvanceLinkState
|
||||
gLinkTestBlockChecksums
|
||||
gBlockRequestType
|
||||
gFiller_03003154
|
||||
gFiller_03003158
|
||||
gFiller_0300315c
|
||||
gLinkFiller3
|
||||
gLinkFiller4
|
||||
gLinkFiller5
|
||||
gLastSendQueueCount
|
||||
gLink
|
||||
gLastRecvQueueCount
|
||||
gLinkSavedIme
|
||||
gFiller_03004138
|
||||
gFiller_0300413C
|
||||
@@ -791,19 +791,19 @@ BattleFrontier_BattleTowerLobby_EventScript_TryCableLink:: @ 823F2C5
|
||||
setvar VAR_0x8005, 0
|
||||
special TryBattleLinkup
|
||||
waitstate
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful
|
||||
compare VAR_RESULT, 2
|
||||
compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
|
||||
goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
|
||||
compare VAR_RESULT, 3
|
||||
compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections
|
||||
compare VAR_RESULT, 4
|
||||
compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
|
||||
compare VAR_RESULT, 6
|
||||
compare VAR_RESULT, LINKUP_CONNECTION_ERROR
|
||||
goto_if_eq CableClub_EventScript_AbortLinkConnectionError
|
||||
compare VAR_RESULT, 11
|
||||
compare VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink
|
||||
end
|
||||
|
||||
@@ -858,7 +858,7 @@ BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful:: @ 823F3AF
|
||||
message BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn
|
||||
waitmessage
|
||||
tower_save CHALLENGE_STATUS_SAVING
|
||||
special sub_80A08CC
|
||||
special SaveForBattleTowerLink
|
||||
waitstate
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
@@ -889,26 +889,26 @@ BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader:: @ 823F3F3
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader:: @ 823F430
|
||||
call CableClub_EventScript_TryBecomeLinkLeader
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader
|
||||
compare VAR_RESULT, 11
|
||||
compare VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink
|
||||
release
|
||||
return
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup:: @ 823F463
|
||||
call CableClub_EventScript_TryJoinLinkGroup
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup
|
||||
compare VAR_RESULT, 11
|
||||
compare VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER
|
||||
goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink
|
||||
release
|
||||
return
|
||||
@@ -919,7 +919,7 @@ BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful:: @ 823F496
|
||||
message BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn
|
||||
waitmessage
|
||||
tower_save CHALLENGE_STATUS_SAVING
|
||||
special sub_80A08CC
|
||||
special SaveForBattleTowerLink
|
||||
waitstate
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
|
||||
@@ -773,15 +773,15 @@ LilycoveCity_ContestLobby_EventScript_TrySetUpLinkContest:: @ 821AA15
|
||||
call_if_eq LilycoveCity_ContestLobby_EventScript_TryLinkGMode
|
||||
compare VAR_TEMP_C, 2
|
||||
goto_if_ge LilycoveCity_ContestLobby_EventScript_CancelLinkContest
|
||||
compare VAR_RESULT, 4
|
||||
compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices
|
||||
compare VAR_RESULT, 3
|
||||
compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest
|
||||
compare VAR_RESULT, 6
|
||||
compare VAR_RESULT, LINKUP_CONNECTION_ERROR
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkError
|
||||
compare VAR_RESULT, 10
|
||||
compare VAR_RESULT, LINKUP_FAILED_CONTEST_GMODE
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkModeDifference
|
||||
message3 LilycoveCity_ContestLobby_Text_Transmitting
|
||||
contestlinktransfer
|
||||
@@ -895,22 +895,22 @@ LilycoveCity_ContestLobby_EventScript_DecideLinkLeader:: @ 821ABA6
|
||||
|
||||
LilycoveCity_ContestLobby_EventScript_TryLeadGroup:: @ 821ABE3
|
||||
call LilycoveCity_ContestLobby_EventScript_TryBecomeLinkLeader
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_TryLeadGroup
|
||||
release
|
||||
end
|
||||
|
||||
LilycoveCity_ContestLobby_EventScript_TryJoinGroup:: @ 821AC0B
|
||||
call LilycoveCity_ContestLobby_EventScript_TryJoinLinkGroup
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq LilycoveCity_ContestLobby_EventScript_TryJoinGroup
|
||||
release
|
||||
end
|
||||
|
||||
@@ -29,7 +29,7 @@ UnionRoom_OnResume: @ 823D1B1
|
||||
removeobject LOCALID_UR_PLAYER_6
|
||||
removeobject LOCALID_UR_PLAYER_7
|
||||
removeobject LOCALID_UR_PLAYER_8
|
||||
special UnionRoomSpecial
|
||||
special RunUnionRoom
|
||||
end
|
||||
|
||||
UnionRoom_OnTransition: @ 823D1E5
|
||||
@@ -38,7 +38,7 @@ UnionRoom_OnTransition: @ 823D1E5
|
||||
UnionRoom_EventScript_Player1:: @ 823D1E6
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_RESULT, 1
|
||||
setvar VAR_RESULT, UR_INTERACT_PLAYER_1
|
||||
waitstate
|
||||
release
|
||||
end
|
||||
@@ -46,7 +46,7 @@ UnionRoom_EventScript_Player1:: @ 823D1E6
|
||||
UnionRoom_EventScript_Player2:: @ 823D1F0
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_RESULT, 2
|
||||
setvar VAR_RESULT, UR_INTERACT_PLAYER_2
|
||||
waitstate
|
||||
release
|
||||
end
|
||||
@@ -54,7 +54,7 @@ UnionRoom_EventScript_Player2:: @ 823D1F0
|
||||
UnionRoom_EventScript_Player3:: @ 823D1FA
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_RESULT, 3
|
||||
setvar VAR_RESULT, UR_INTERACT_PLAYER_3
|
||||
waitstate
|
||||
release
|
||||
end
|
||||
@@ -62,7 +62,7 @@ UnionRoom_EventScript_Player3:: @ 823D1FA
|
||||
UnionRoom_EventScript_Player4:: @ 823D204
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_RESULT, 4
|
||||
setvar VAR_RESULT, UR_INTERACT_PLAYER_4
|
||||
waitstate
|
||||
release
|
||||
end
|
||||
@@ -70,7 +70,7 @@ UnionRoom_EventScript_Player4:: @ 823D204
|
||||
UnionRoom_EventScript_Player5:: @ 823D20E
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_RESULT, 5
|
||||
setvar VAR_RESULT, UR_INTERACT_PLAYER_5
|
||||
waitstate
|
||||
release
|
||||
end
|
||||
@@ -78,7 +78,7 @@ UnionRoom_EventScript_Player5:: @ 823D20E
|
||||
UnionRoom_EventScript_Player6:: @ 823D218
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_RESULT, 6
|
||||
setvar VAR_RESULT, UR_INTERACT_PLAYER_6
|
||||
waitstate
|
||||
release
|
||||
end
|
||||
@@ -86,7 +86,7 @@ UnionRoom_EventScript_Player6:: @ 823D218
|
||||
UnionRoom_EventScript_Player7:: @ 823D222
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_RESULT, 7
|
||||
setvar VAR_RESULT, UR_INTERACT_PLAYER_7
|
||||
waitstate
|
||||
release
|
||||
end
|
||||
@@ -94,7 +94,7 @@ UnionRoom_EventScript_Player7:: @ 823D222
|
||||
UnionRoom_EventScript_Player8:: @ 823D22C
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_RESULT, 8
|
||||
setvar VAR_RESULT, UR_INTERACT_PLAYER_8
|
||||
waitstate
|
||||
release
|
||||
end
|
||||
@@ -102,14 +102,14 @@ UnionRoom_EventScript_Player8:: @ 823D22C
|
||||
UnionRoom_EventScript_Attendant:: @ 823D236
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_RESULT, 9
|
||||
setvar VAR_RESULT, UR_INTERACT_ATTENDANT
|
||||
waitstate
|
||||
release
|
||||
end
|
||||
|
||||
UnionRoom_EventScript_Unused:: @ 823D240
|
||||
lockall
|
||||
setvar VAR_RESULT, 10
|
||||
setvar VAR_RESULT, UR_INTERACT_UNUSED
|
||||
waitstate
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -608,15 +608,15 @@ BerryBlender_EventScript_TryDoLinkBlender: @ 82940BB
|
||||
waitmessage
|
||||
special TryBerryBlenderLinkup
|
||||
waitstate
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq BerryBlender_EventScript_SpawnLinkPartners
|
||||
compare VAR_RESULT, 2
|
||||
compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
|
||||
goto_if_eq BerryBlender_EventScript_CloseLinkNotReady
|
||||
compare VAR_RESULT, 3
|
||||
compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
|
||||
goto_if_eq BerryBlender_EventScript_CloseLinkDifferentSelections
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq BerryBlender_EventScript_CloseLink
|
||||
compare VAR_RESULT, 6
|
||||
compare VAR_RESULT, LINKUP_CONNECTION_ERROR
|
||||
goto_if_eq BerryBlender_EventScript_LinkError
|
||||
end
|
||||
|
||||
@@ -720,22 +720,22 @@ BerryBlender_EventScript_DecideLinkLeader: @ 82941F8
|
||||
|
||||
BerryBlender_EventScript_TryLeadGroup: @ 8294235
|
||||
call BerryBlender_EventScript_TryBecomeLinkLeader
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq BerryBlender_EventScript_LinkLeaderDecided
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq BerryBlender_EventScript_DecideLinkLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq BerryBlender_EventScript_TryLeadGroup
|
||||
release
|
||||
end
|
||||
|
||||
BerryBlender_EventScript_TryJoinGroup: @ 829425D
|
||||
call BerryBlender_EventScript_TryJoinLinkGroup
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq BerryBlender_EventScript_LinkLeaderDecided
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq BerryBlender_EventScript_DecideLinkLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq BerryBlender_EventScript_TryJoinGroup
|
||||
release
|
||||
end
|
||||
|
||||
+48
-48
@@ -349,17 +349,17 @@ CableClub_EventScript_TryEnterColosseum:: @ 8276F60
|
||||
waitmessage
|
||||
special TryBattleLinkup
|
||||
waitstate
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq CableClub_EventScript_EnterColosseum
|
||||
compare VAR_RESULT, 2
|
||||
compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
|
||||
goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
|
||||
compare VAR_RESULT, 3
|
||||
compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
|
||||
goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections
|
||||
compare VAR_RESULT, 4
|
||||
compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
|
||||
goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq CableClub_EventScript_AbortLink
|
||||
compare VAR_RESULT, 6
|
||||
compare VAR_RESULT, LINKUP_CONNECTION_ERROR
|
||||
goto_if_eq CableClub_EventScript_AbortLinkConnectionError
|
||||
end
|
||||
|
||||
@@ -452,21 +452,21 @@ CableClub_EventScript_TradeCenter:: @ 82770B2
|
||||
waitmessage
|
||||
special TryTradeLinkup
|
||||
waitstate
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq CableClub_EventScript_EnterTradeCenter
|
||||
compare VAR_RESULT, 2
|
||||
compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
|
||||
goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
|
||||
compare VAR_RESULT, 3
|
||||
compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
|
||||
goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections
|
||||
compare VAR_RESULT, 4
|
||||
compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
|
||||
goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq CableClub_EventScript_AbortLink
|
||||
compare VAR_RESULT, 6
|
||||
compare VAR_RESULT, LINKUP_CONNECTION_ERROR
|
||||
goto_if_eq CableClub_EventScript_AbortLinkConnectionError
|
||||
compare VAR_RESULT, 7
|
||||
compare VAR_RESULT, LINKUP_PLAYER_NOT_READY
|
||||
goto_if_eq CableClub_EventScript_AbortLinkPlayerNotReady
|
||||
compare VAR_RESULT, 9
|
||||
compare VAR_RESULT, LINKUP_PARTNER_NOT_READY
|
||||
goto_if_eq CableClub_EventScript_AbortLinkOtherTrainerNotReady
|
||||
end
|
||||
|
||||
@@ -527,21 +527,21 @@ CableClub_EventScript_RecordCorner:: @ 82771DB
|
||||
waitmessage
|
||||
special TryRecordMixLinkup
|
||||
waitstate
|
||||
special sub_80B2EA8
|
||||
special ValidateMixingGameLanguage
|
||||
waitstate
|
||||
compare VAR_RESULT, 12
|
||||
compare VAR_RESULT, LINKUP_FOREIGN_GAME
|
||||
goto_if_eq CableClub_EventScript_AbortLinkForeignGame
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq CableClub_EventScript_EnterRecordCorner
|
||||
compare VAR_RESULT, 2
|
||||
compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
|
||||
goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
|
||||
compare VAR_RESULT, 3
|
||||
compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
|
||||
goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections
|
||||
compare VAR_RESULT, 4
|
||||
compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
|
||||
goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq CableClub_EventScript_AbortLink
|
||||
compare VAR_RESULT, 6
|
||||
compare VAR_RESULT, LINKUP_CONNECTION_ERROR
|
||||
goto_if_eq CableClub_EventScript_AbortLinkConnectionError
|
||||
end
|
||||
|
||||
@@ -972,7 +972,7 @@ CableClub_EventScript_EnterUnionRoom:: @ 827759F
|
||||
special SetCableClubWarp
|
||||
warpteleport2 MAP_UNION_ROOM, 255, 7, 11
|
||||
waitstate
|
||||
special UnionRoomSpecial
|
||||
special RunUnionRoom
|
||||
waitstate
|
||||
end
|
||||
|
||||
@@ -1181,22 +1181,22 @@ CableClub_EventScript_ChooseLinkLeaderFrom2:: @ 8277989
|
||||
|
||||
CableClub_EventScript_TryLeadGroup2Players:: @ 82779C6
|
||||
call CableClub_EventScript_TryBecomeLinkLeader
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq CableClub_EventScript_TryLeadGroup2Players
|
||||
release
|
||||
return
|
||||
|
||||
CableClub_EventScript_TryJoinGroup2Players:: @ 82779EE
|
||||
call CableClub_EventScript_TryJoinLinkGroup
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq CableClub_EventScript_TryJoinGroup2Players
|
||||
release
|
||||
return
|
||||
@@ -1214,22 +1214,22 @@ CableClub_EventScript_ChooseLinkLeaderFrom4:: @ 8277A16
|
||||
|
||||
CableClub_EventScript_TryLeadGroup4Players:: @ 8277A53
|
||||
call CableClub_EventScript_TryBecomeLinkLeader
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq CableClub_EventScript_TryLeadGroup4Players
|
||||
release
|
||||
return
|
||||
|
||||
CableClub_EventScript_TryJoinGroup4Players:: @ 8277A7B
|
||||
call CableClub_EventScript_TryJoinLinkGroup
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq CableClub_EventScript_TryJoinGroup4Players
|
||||
release
|
||||
return
|
||||
@@ -1247,22 +1247,22 @@ CableClub_EventScript_ChooseLinkLeader:: @ 8277AA3
|
||||
|
||||
CableClub_EventScript_TryLeadGroupXPlayers:: @ 8277AE0
|
||||
call CableClub_EventScript_TryBecomeLinkLeader
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq CableClub_EventScript_ChooseLinkLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq CableClub_EventScript_TryLeadGroupXPlayers
|
||||
release
|
||||
return
|
||||
|
||||
CableClub_EventScript_TryJoinGroupXPlayers:: @ 8277B08
|
||||
call CableClub_EventScript_TryJoinLinkGroup
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq CableClub_EventScript_ChooseLinkLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq CableClub_EventScript_TryJoinGroupXPlayers
|
||||
release
|
||||
return
|
||||
@@ -1310,7 +1310,7 @@ EventScript_WirelessBoxResults:: @ 8277B8A
|
||||
compare VAR_RESULT, FALSE
|
||||
goto_if_eq CableClub_EventScript_AdapterNotConnected
|
||||
fadescreen FADE_TO_BLACK
|
||||
special sub_801A42C
|
||||
special ShowWirelessCommunicationScreen
|
||||
waitstate
|
||||
msgbox CableClub_Text_ParticipantsStepUpToCounter, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
@@ -1453,22 +1453,22 @@ MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader:: @ 8277D81
|
||||
|
||||
MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader:: @ 8277DBE
|
||||
call CableClub_EventScript_TryBecomeLinkLeader
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader
|
||||
release
|
||||
return
|
||||
|
||||
MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup:: @ 8277DE6
|
||||
call CableClub_EventScript_TryJoinLinkGroup
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, LINKUP_SUCCESS
|
||||
goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom
|
||||
compare VAR_RESULT, 5
|
||||
compare VAR_RESULT, LINKUP_FAILED
|
||||
goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
|
||||
compare VAR_RESULT, 8
|
||||
compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
|
||||
goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup
|
||||
release
|
||||
return
|
||||
|
||||
+4
-4
@@ -39,7 +39,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special TryBattleLinkup
|
||||
def_special TryTradeLinkup
|
||||
def_special TryRecordMixLinkup
|
||||
def_special sub_80B2EA8
|
||||
def_special ValidateMixingGameLanguage
|
||||
def_special CloseLink
|
||||
def_special ColosseumPlayerSpotTriggered
|
||||
def_special PlayerEnteredTradeSeat
|
||||
@@ -426,8 +426,8 @@ gSpecials:: @ 81DBA64
|
||||
def_special IsWirelessAdapterConnected
|
||||
def_special TryBecomeLinkLeader
|
||||
def_special TryJoinLinkGroup
|
||||
def_special UnionRoomSpecial
|
||||
def_special sub_801A42C
|
||||
def_special RunUnionRoom
|
||||
def_special ShowWirelessCommunicationScreen
|
||||
def_special InitUnionRoom
|
||||
def_special BufferUnionRoomPlayerName
|
||||
def_special sub_801DC20
|
||||
@@ -502,7 +502,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special CreateAbnormalWeatherEvent
|
||||
def_special GetAbnormalWeatherMapNameAndType
|
||||
def_special GetMartEmployeeObjectEventId
|
||||
def_special sub_80A08CC
|
||||
def_special SaveForBattleTowerLink
|
||||
def_special Unused_SetWeatherSunny
|
||||
def_special SetUnlockedPokedexFlags
|
||||
def_special IsTrainerRegistered
|
||||
|
||||
+89
-1
@@ -2,7 +2,87 @@
|
||||
#define GUARD_TEXT_H
|
||||
|
||||
#define CHAR_SPACE 0x00
|
||||
#define CHAR_A_GRAVE 0x01
|
||||
#define CHAR_A_ACUTE 0x02
|
||||
#define CHAR_A_CIRCUMFLEX 0x03
|
||||
#define CHAR_C_CEDILLA 0x04
|
||||
#define CHAR_E_GRAVE 0x05
|
||||
#define CHAR_E_ACUTE 0x06
|
||||
#define CHAR_E_CIRCUMFLEX 0x07
|
||||
#define CHAR_E_DIAERESIS 0x08
|
||||
#define CHAR_I_GRAVE 0x09
|
||||
//#define CHAR_I_ACUTE 0x0A // Is 0x5A instead
|
||||
#define CHAR_I_CIRCUMFLEX 0x0B
|
||||
#define CHAR_I_DIAERESIS 0x0C
|
||||
#define CHAR_O_GRAVE 0x0D
|
||||
#define CHAR_O_ACUTE 0x0E
|
||||
#define CHAR_O_CIRCUMFLEX 0x0F
|
||||
#define CHAR_OE 0x10
|
||||
#define CHAR_U_GRAVE 0x11
|
||||
#define CHAR_U_ACUTE 0x12
|
||||
#define CHAR_U_CIRCUMFLEX 0x13
|
||||
#define CHAR_N_TILDE 0x14
|
||||
#define CHAR_ESZETT 0x15
|
||||
#define CHAR_a_GRAVE 0x16
|
||||
#define CHAR_a_ACUTE 0x17
|
||||
//#define CHAR_a_CIRCUMFLEX 0x18 // Is 0x68 instead
|
||||
#define CHAR_c_CEDILLA 0x19
|
||||
#define CHAR_e_GRAVE 0x1A
|
||||
#define CHAR_e_ACUTE 0x1B
|
||||
#define CHAR_e_CIRCUMFLEX 0x1C
|
||||
#define CHAR_e_DIAERESIS 0x1D
|
||||
#define CHAR_i_GRAVE 0x1E
|
||||
//#define CHAR_i_ACUTE 0x1F // Is 0x6F instead
|
||||
#define CHAR_i_CIRCUMFLEX 0x20
|
||||
#define CHAR_i_DIAERESIS 0x21
|
||||
#define CHAR_o_GRAVE 0x22
|
||||
#define CHAR_o_ACUTE 0x23
|
||||
#define CHAR_o_CIRCUMFLEX 0x24
|
||||
#define CHAR_oe 0x25
|
||||
#define CHAR_u_GRAVE 0x26
|
||||
#define CHAR_u_ACUTE 0x27
|
||||
#define CHAR_u_CIRCUMFLEX 0x28
|
||||
#define CHAR_n_TILDE 0x29
|
||||
#define CHAR_MASCULINE_ORDINAL 0x2A
|
||||
#define CHAR_FEMININE_ORDINAL 0x2B
|
||||
#define CHAR_SUPER_ER 0x2C
|
||||
#define CHAR_AMPERSAND 0x2D
|
||||
#define CHAR_PLUS 0x2E
|
||||
//
|
||||
#define CHAR_LV 0x34
|
||||
#define CHAR_EQUALS 0x35
|
||||
#define CHAR_SEMICOLON 0x36
|
||||
//
|
||||
#define CHAR_INV_QUESTION_MARK 0x51
|
||||
#define CHAR_INV_EXCL_MARK 0x52
|
||||
#define CHAR_PK 0x53
|
||||
#define CHAR_MN 0x54
|
||||
#define CHAR_PO 0x55
|
||||
#define CHAR_KE 0x56
|
||||
#define CHAR_BLOCK_1 0x57 // Each of these 3
|
||||
#define CHAR_BLOCK_2 0x58 // chars contains 1/3
|
||||
#define CHAR_BLOCK_3 0x59 // of the word BLOCK
|
||||
#define CHAR_I_ACUTE 0x5A
|
||||
#define CHAR_PERCENT 0x5B
|
||||
#define CHAR_LEFT_PAREN 0x5C
|
||||
#define CHAR_RIGHT_PAREN 0x5D
|
||||
//
|
||||
#define CHAR_a_CIRCUMFLEX 0x68
|
||||
//
|
||||
#define CHAR_i_ACUTE 0x6F
|
||||
//
|
||||
#define CHAR_UNK_SPACER 0x77
|
||||
//
|
||||
#define CHAR_UP_ARROW 0x79
|
||||
#define CHAR_DOWN_ARROW 0x7A
|
||||
#define CHAR_LEFT_ARROW 0x7B
|
||||
#define CHAR_RIGHT_ARROW 0x7C
|
||||
//
|
||||
#define CHAR_SUPER_E 0x84
|
||||
#define CHAR_LESS_THAN 0x85
|
||||
#define CHAR_GREATER_THAN 0x86
|
||||
//
|
||||
#define CHAR_SUPER_RE 0xA0
|
||||
#define CHAR_0 0xA1
|
||||
#define CHAR_1 0xA2
|
||||
#define CHAR_2 0xA3
|
||||
@@ -17,6 +97,7 @@
|
||||
#define CHAR_QUESTION_MARK 0xAC
|
||||
#define CHAR_PERIOD 0xAD
|
||||
#define CHAR_HYPHEN 0xAE
|
||||
#define CHAR_BULLET 0xAF
|
||||
#define CHAR_ELLIPSIS 0xB0
|
||||
#define CHAR_DBL_QUOT_LEFT 0xB1
|
||||
#define CHAR_DBL_QUOT_RIGHT 0xB2
|
||||
@@ -80,10 +161,17 @@
|
||||
#define CHAR_x 0xEC
|
||||
#define CHAR_y 0xED
|
||||
#define CHAR_z 0xEE
|
||||
#define CHAR_BLACK_TRIANGLE 0xEF
|
||||
#define CHAR_COLON 0xF0
|
||||
#define CHAR_A_DIAERESIS 0xF1
|
||||
#define CHAR_O_DIAERESIS 0xF2
|
||||
#define CHAR_U_DIAERESIS 0xF3
|
||||
#define CHAR_a_DIAERESIS 0xF4
|
||||
#define CHAR_o_DIAERESIS 0xF5
|
||||
#define CHAR_u_DIAERESIS 0xF6
|
||||
#define CHAR_SPECIAL_F7 0xF7
|
||||
#define CHAR_SPECIAL_F8 0xF8
|
||||
#define CHAR_SPECIAL_F9 0xF9
|
||||
#define CHAR_COLON 0xF0
|
||||
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
|
||||
#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog
|
||||
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -3,6 +3,6 @@
|
||||
|
||||
#include "main.h"
|
||||
|
||||
void sub_8020C70(MainCallback callback);
|
||||
void StartBerryCrush(MainCallback callback);
|
||||
|
||||
#endif // GUARD_BERRY_CRUSH_H
|
||||
+5
-11
@@ -3,18 +3,12 @@
|
||||
|
||||
#include "task.h"
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
void sub_80B37D4(TaskFunc taskFunc);
|
||||
u8 sub_80B3050(void);
|
||||
void sub_80B360C(void);
|
||||
bool32 sub_80B2AF4(u16 *arg0, u16 *arg1);
|
||||
void CreateTask_EnterCableClubSeat(TaskFunc taskFunc);
|
||||
u8 CreateTask_ReestablishCableClubLink(void);
|
||||
void CB2_ReturnFromCableClubBattle(void);
|
||||
bool32 AreBattleTowerLinkSpeciesSame(u16 *speciesList1, u16 *speciesList2);
|
||||
void sub_80B3AF8(u8 taskId);
|
||||
void task00_08081A90(u8 taskId);
|
||||
void Task_WaitForLinkPlayerConnection(u8 taskId);
|
||||
bool32 GetLinkTrainerCardColor(u8 linkPlayerIndex);
|
||||
|
||||
#endif //GUARD_CABLE_CLUB_H
|
||||
@@ -26,4 +26,12 @@
|
||||
#define UNITS_METRIC
|
||||
#endif
|
||||
|
||||
// Various undefined behavior bugs may or may not prevent compilation with
|
||||
// newer compilers. So always fix them when using a modern compiler.
|
||||
#if MODERN
|
||||
#ifndef UBFIX
|
||||
#define UBFIX
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif // GUARD_CONFIG_H
|
||||
@@ -12,4 +12,20 @@
|
||||
#define USING_MINIGAME 8
|
||||
#define USING_BATTLE_TOWER 9
|
||||
|
||||
// Return states for the group of specials that use CreateLinkupTask
|
||||
// A few also used by TryBecomeLinkLeader and TryJoinLinkGroup
|
||||
#define LINKUP_ONGOING 0
|
||||
#define LINKUP_SUCCESS 1
|
||||
#define LINKUP_SOMEONE_NOT_READY 2
|
||||
#define LINKUP_DIFF_SELECTIONS 3
|
||||
#define LINKUP_WRONG_NUM_PLAYERS 4
|
||||
#define LINKUP_FAILED 5
|
||||
#define LINKUP_CONNECTION_ERROR 6
|
||||
#define LINKUP_PLAYER_NOT_READY 7
|
||||
#define LINKUP_RETRY_ROLE_ASSIGN 8
|
||||
#define LINKUP_PARTNER_NOT_READY 9
|
||||
#define LINKUP_FAILED_CONTEST_GMODE 10
|
||||
#define LINKUP_FAILED_BATTLE_TOWER 11
|
||||
#define LINKUP_FOREIGN_GAME 12
|
||||
|
||||
#endif //GUARD_CONSTANTS_CABLE_CLUB_H
|
||||
@@ -52,6 +52,7 @@
|
||||
#define APPRENTICE_COUNT 4
|
||||
#define APPRENTICE_MAX_QUESTIONS 9
|
||||
#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used
|
||||
#define UNION_ROOM_KB_ROW_COUNT 10
|
||||
|
||||
#define PYRAMID_BAG_ITEMS_COUNT 10
|
||||
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define TRAINER_PLAYER 1023
|
||||
#define TRAINER_SECRET_BASE 1024
|
||||
#define TRAINER_LINK_OPPONENT 2048
|
||||
#define TRAINER_OPPONENT_C00 3072
|
||||
#define TRAINER_UNION_ROOM 3072
|
||||
#define TRAINER_STEVEN_PARTNER 3075
|
||||
|
||||
#define TRAINER_PIC_HIKER 0
|
||||
|
||||
@@ -1,6 +1,60 @@
|
||||
#ifndef GUARD_CONSTANTS_UNION_ROOM_H
|
||||
#define GUARD_CONSTANTS_UNION_ROOM_H
|
||||
|
||||
#define MAX_UNION_ROOM_PLAYERS 8
|
||||
|
||||
#define UNION_ROOM_SPAWN_NONE 0
|
||||
#define UNION_ROOM_SPAWN_IN 1
|
||||
#define UNION_ROOM_SPAWN_OUT 2
|
||||
|
||||
#define ACTIVITY_NONE 0
|
||||
#define ACTIVITY_BATTLE_SINGLE 1
|
||||
#define ACTIVITY_BATTLE_DOUBLE 2
|
||||
#define ACTIVITY_BATTLE_MULTI 3
|
||||
#define ACTIVITY_TRADE 4
|
||||
#define ACTIVITY_CHAT 5
|
||||
#define ACTIVITY_WONDER_CARD 6
|
||||
#define ACTIVITY_WONDER_NEWS 7
|
||||
#define ACTIVITY_CARD 8
|
||||
#define ACTIVITY_POKEMON_JUMP 9
|
||||
#define ACTIVITY_BERRY_CRUSH 10
|
||||
#define ACTIVITY_BERRY_PICK 11
|
||||
#define ACTIVITY_SEARCH 12
|
||||
#define ACTIVITY_SPIN_TRADE 13
|
||||
#define ACTIVITY_BATTLE_TOWER_OPEN 14
|
||||
#define ACTIVITY_RECORD_CORNER 15
|
||||
#define ACTIVITY_BERRY_BLENDER 16
|
||||
|
||||
// Player response
|
||||
#define ACTIVITY_ACCEPT 17
|
||||
#define ACTIVITY_DECLINE 18
|
||||
|
||||
#define ACTIVITY_NPCTALK 19
|
||||
#define ACTIVITY_PLYRTALK 20
|
||||
|
||||
// Duplicate IDs?
|
||||
#define ACTIVITY_WONDER_CARD2 21
|
||||
#define ACTIVITY_WONDER_NEWS2 22
|
||||
|
||||
#define ACTIVITY_CONTEST_COOL 23
|
||||
#define ACTIVITY_CONTEST_BEAUTY 24
|
||||
#define ACTIVITY_CONTEST_CUTE 25
|
||||
#define ACTIVITY_CONTEST_SMART 26
|
||||
#define ACTIVITY_CONTEST_TOUGH 27
|
||||
#define ACTIVITY_BATTLE_TOWER 28
|
||||
#define ACTIVITY_29 29
|
||||
|
||||
#define IN_UNION_ROOM (1 << 6)
|
||||
|
||||
// Used in UR_AddTextPrinterParameterized
|
||||
#define UR_COLOR_DKE_WHT_LTE 0
|
||||
#define UR_COLOR_RED_WHT_LTR 1
|
||||
#define UR_COLOR_GRN_WHT_LTG 2
|
||||
#define UR_COLOR_WHT_WHT_LTE 3
|
||||
#define UR_COLOR_WHT_DKE_LTE 4
|
||||
#define UR_COLOR_GRN_DN6_LTB 5
|
||||
#define UR_COLOR_DN5_DN6_LTB 6
|
||||
|
||||
#define LINK_GROUP_SINGLE_BATTLE 0
|
||||
#define LINK_GROUP_DOUBLE_BATTLE 1
|
||||
#define LINK_GROUP_MULTI_BATTLE 2
|
||||
@@ -10,8 +64,8 @@
|
||||
#define LINK_GROUP_BERRY_PICKING 6
|
||||
#define LINK_GROUP_WONDER_CARD 7
|
||||
#define LINK_GROUP_WONDER_NEWS 8
|
||||
#define LINK_GROUP_UNK_9 9
|
||||
#define LINK_GROUP_UNK_10 10
|
||||
#define LINK_GROUP_UNION_ROOM_RESUME 9
|
||||
#define LINK_GROUP_UNION_ROOM_INIT 10
|
||||
#define LINK_GROUP_UNK_11 11
|
||||
#define LINK_GROUP_RECORD_CORNER 12
|
||||
#define LINK_GROUP_BERRY_BLENDER 13
|
||||
@@ -25,4 +79,24 @@
|
||||
#define LINK_GROUP_BATTLE_TOWER_OPEN 21
|
||||
#define NUM_LINK_GROUP_TYPES 22
|
||||
|
||||
#define UR_TRADE_MATCH 0
|
||||
#define UR_TRADE_NOTYPE 1
|
||||
#define UR_TRADE_NOEGG 2
|
||||
|
||||
#define UR_TRADE_READY 0
|
||||
#define UR_TRADE_PLAYER_NOT_READY 1
|
||||
#define UR_TRADE_PARTNER_NOT_READY 2
|
||||
|
||||
#define UR_INTERACT_PLAYER_1 1
|
||||
#define UR_INTERACT_PLAYER_2 2
|
||||
#define UR_INTERACT_PLAYER_3 3
|
||||
#define UR_INTERACT_PLAYER_4 4
|
||||
#define UR_INTERACT_PLAYER_5 5
|
||||
#define UR_INTERACT_PLAYER_6 6
|
||||
#define UR_INTERACT_PLAYER_7 7
|
||||
#define UR_INTERACT_PLAYER_8 8
|
||||
#define UR_INTERACT_ATTENDANT 9
|
||||
#define UR_INTERACT_UNUSED 10
|
||||
#define UR_INTERACT_START_MENU 11
|
||||
|
||||
#endif //GUARD_CONSTANTS_UNION_ROOM_H
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_DODRIO_BERRY_PICKING_H
|
||||
#define GUARD_DODRIO_BERRY_PICKING_H
|
||||
|
||||
void sub_802493C(u16 a0, void (*callback)(void));
|
||||
void StartDodrioBerryPicking(u16 a0, void (*callback)(void));
|
||||
void IsDodrioInParty(void);
|
||||
void ShowDodrioBerryPickingRecords(void);
|
||||
|
||||
|
||||
@@ -8,6 +8,6 @@ void LockSelectedObjectEvent(void);
|
||||
void sub_8098630(void);
|
||||
bool8 sub_8098734(void);
|
||||
void ScriptUnfreezeObjectEvents(void);
|
||||
void sub_8098524(void);
|
||||
void UnionRoom_UnlockPlayerAndChatPartner(void);
|
||||
|
||||
#endif // GUARD_EVENT_OBJECT_LOCK_H
|
||||
@@ -81,11 +81,11 @@ void sub_808E16C(s16, s16);
|
||||
void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
|
||||
void sub_8092FF0(s16, s16, s16 *, s16 *);
|
||||
u8 GetFaceDirectionAnimNum(u8);
|
||||
void sub_80930E0(s16 *, s16 *, s16, s16);
|
||||
void SetSpritePosToOffsetMapCoords(s16 *, s16 *, s16, s16);
|
||||
void ObjectEventClearHeldMovement(struct ObjectEvent *);
|
||||
void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *);
|
||||
void TrySpawnObjectEvents(s16, s16);
|
||||
u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction);
|
||||
u8 CreateObjectSprite(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction);
|
||||
u8 AddPseudoObjectEvent(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority);
|
||||
u8 TrySpawnObjectEvent(u8, u8, u8);
|
||||
u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z);
|
||||
@@ -180,7 +180,7 @@ void CreateLevitateMovementTask(struct ObjectEvent *);
|
||||
void DestroyExtraMovementTask(u8);
|
||||
void UnfreezeObjectEvents(void);
|
||||
void FreezeObjectEventsExceptOne(u8 objectEventId);
|
||||
void sub_8097B78(u8, u8);
|
||||
void TurnObjectEventSprite(u8, u8);
|
||||
void sub_8098074(u8 var1, u8 var2);
|
||||
void FreezeObjectEvents(void);
|
||||
bool8 FreezeObjectEvent(struct ObjectEvent *objectEvent);
|
||||
@@ -194,7 +194,7 @@ void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible);
|
||||
s16 sub_809773C(s16 a1);
|
||||
s16 sub_8097728(s16 a1);
|
||||
void CameraObjectReset2(void);
|
||||
u8 ObjectEventGetBerryTreeId(u8 objectEventId);
|
||||
u8 GetObjectEventBerryTreeId(u8 objectEventId);
|
||||
void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup);
|
||||
bool8 IsBerryTreeSparkling(u8, u8, u8);
|
||||
|
||||
@@ -414,10 +414,10 @@ u8 MovementType_RunInPlace_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_Invisible_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_Invisible_Step1(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_Invisible_Step2(struct ObjectEvent *, struct Sprite *);
|
||||
void sub_8097C44(u8 var, bool32 var2);
|
||||
bool32 sub_8097C8C(u8 var);
|
||||
void sub_8097BB4(u8 var1, u8 graphicsId);
|
||||
void sub_8097CC4(u8 var1, u8 var2);
|
||||
bool32 sub_8097D9C(u8 var);
|
||||
void SetObjectEventSpriteInvisibility(u8 var, bool32 var2);
|
||||
bool32 IsObjectEventSpriteInvisible(u8 var);
|
||||
void SetObjectEventSpriteGraphics(u8 var1, u8 graphicsId);
|
||||
void SetObjectEventSpriteAnim(u8 var1, u8 var2);
|
||||
bool32 IsObjectEventSpriteAnimating(u8 var);
|
||||
|
||||
#endif //GUARD_EVENT_OBJECT_MOVEMENT_H
|
||||
+1
-1
@@ -43,6 +43,7 @@ void copy_map_tileset1_to_vram(const struct MapLayout *);
|
||||
void copy_map_tileset2_to_vram(const struct MapLayout *);
|
||||
struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection);
|
||||
struct MapConnection *GetConnectionAtCoords(s16 x, s16 y);
|
||||
void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable);
|
||||
|
||||
void SpriteCB_PokeballGlow(struct Sprite *);
|
||||
void SpriteCB_PokecenterMonitor(struct Sprite *);
|
||||
@@ -50,6 +51,5 @@ void SpriteCB_HallOfFameMonitor(struct Sprite *);
|
||||
|
||||
// field_region_map.c
|
||||
void FieldInitRegionMap(MainCallback callback);
|
||||
void sub_8088B94(int x, int y, int a2);
|
||||
|
||||
#endif //GUARD_FIELDMAP_H
|
||||
@@ -27,6 +27,9 @@ typedef double f64;
|
||||
typedef u8 bool8;
|
||||
typedef u16 bool16;
|
||||
typedef u32 bool32;
|
||||
typedef vu8 vbool8;
|
||||
typedef vu16 vbool16;
|
||||
typedef vu32 vbool32;
|
||||
|
||||
struct BgCnt
|
||||
{
|
||||
|
||||
+1
-1
@@ -974,7 +974,7 @@ struct SaveBlock1
|
||||
/*0x3B24*/ u8 seen2[DEX_FLAGS_NO];
|
||||
/*0x3B58*/ LilycoveLady lilycoveLady;
|
||||
/*0x3B98*/ struct TrainerNameRecord trainerNameRecords[20];
|
||||
/*0x3C88*/ u8 unk3C88[10][21];
|
||||
/*0x3C88*/ u8 registeredTexts[UNION_ROOM_KB_ROW_COUNT][21];
|
||||
/*0x3D5A*/ u8 filler3D5A[0xA];
|
||||
/*0x3D64*/ struct SaveTrainerHill trainerHill;
|
||||
/*0x3D70*/ struct WaldaPhrase waldaPhrase;
|
||||
|
||||
@@ -18,6 +18,13 @@ typedef union // size = 0x24
|
||||
/*0x23*/ u8 trainerIdHi;
|
||||
} common;
|
||||
|
||||
// Common init (used for initialization loop)
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 pad02[34];
|
||||
} commonInit;
|
||||
|
||||
// Local shows
|
||||
// TVSHOW_FAN_CLUB_LETTER
|
||||
struct {
|
||||
|
||||
+8
-8
@@ -4986,14 +4986,14 @@ extern const u16 gEasyChatRightWindow_Pal[];
|
||||
extern const u32 gUsePokeblockCondition_Gfx[];
|
||||
|
||||
// Union Room Chat
|
||||
extern const u16 gUnknown_08DD4BB0[];
|
||||
extern const u16 gUnknown_08DD4BD0[];
|
||||
extern const u32 gUnknown_08DD4BF0[];
|
||||
extern const u32 gUnknown_08DD4C4C[];
|
||||
extern const u32 gUnknown_08DD4CF8[];
|
||||
extern const u16 gLinkMiscMenu_Pal[];
|
||||
extern const u32 gLinkMiscMenu_Gfx[];
|
||||
extern const u32 gLinkMiscMenu_Tilemap[];
|
||||
extern const u16 gUnionRoomChat_Background_Pal[];
|
||||
extern const u32 gUnionRoomChat_Background_Gfx[];
|
||||
extern const u32 gUnionRoomChat_Background_Tilemap[];
|
||||
extern const u16 gUnionRoomChat_Window_Pal1[];
|
||||
extern const u16 gUnionRoomChat_Window_Pal2[];
|
||||
extern const u32 gUnionRoomChat_Border_Gfx[];
|
||||
extern const u32 gUnionRoomChat_Border_Tilemap[];
|
||||
extern const u32 gUnionRoomChat_RButtonLabels[];
|
||||
|
||||
// Use Pokeblock
|
||||
extern const u8 gPokenavConditionCancel_Gfx[];
|
||||
|
||||
+23
-24
@@ -73,10 +73,10 @@
|
||||
#define LINKCMD_CANCEL_TRADE 0xEEBB
|
||||
#define LINKCMD_0xEECC 0xEECC
|
||||
|
||||
#define LINKTYPE_0x1111 0x1111 // trade
|
||||
#define LINKTYPE_0x1122 0x1122 // trade
|
||||
#define LINKTYPE_0x1133 0x1133 // trade
|
||||
#define LINKTYPE_0x1144 0x1144 // trade
|
||||
#define LINKTYPE_TRADE 0x1111
|
||||
#define LINKTYPE_TRADE_CONNECTING 0x1122
|
||||
#define LINKTYPE_TRADE_SETUP 0x1133
|
||||
#define LINKTYPE_TRADE_DISCONNECTED 0x1144
|
||||
#define LINKTYPE_BATTLE 0x2211
|
||||
#define LINKTYPE_0x2222 0x2222 // unused battle?
|
||||
#define LINKTYPE_SINGLE_BATTLE 0x2233
|
||||
@@ -85,13 +85,13 @@
|
||||
#define LINKTYPE_BATTLE_TOWER_50 0x2266
|
||||
#define LINKTYPE_BATTLE_TOWER_OPEN 0x2277
|
||||
#define LINKTYPE_BATTLE_TOWER 0x2288
|
||||
#define LINKTYPE_0x3311 0x3311
|
||||
#define LINKTYPE_0x3322 0x3322
|
||||
#define LINKTYPE_RECORD_MIX_BEFORE 0x3311
|
||||
#define LINKTYPE_RECORD_MIX_AFTER 0x3322
|
||||
#define LINKTYPE_BERRY_BLENDER_SETUP 0x4411
|
||||
#define LINKTYPE_BERRY_BLENDER 0x4422
|
||||
#define LINKTYPE_0x5501 0x5501 // mystery event
|
||||
#define LINKTYPE_MYSTERY_EVENT 0x5501
|
||||
#define LINKTYPE_0x5502 0x5502 // unused?
|
||||
#define LINKTYPE_0x5503 0x5503 // eReader
|
||||
#define LINKTYPE_EREADER 0x5503
|
||||
#define LINKTYPE_CONTEST_GMODE 0x6601
|
||||
#define LINKTYPE_CONTEST_EMODE 0x6602
|
||||
|
||||
@@ -126,10 +126,10 @@ enum
|
||||
EXCHANGE_NOT_STARTED,
|
||||
EXCHANGE_COMPLETE,
|
||||
EXCHANGE_TIMED_OUT,
|
||||
EXCHANGE_IN_PROGRESS,
|
||||
EXCHANGE_DIFF_SELECTIONS,
|
||||
EXCHANGE_PLAYER_NOT_READY,
|
||||
EXCHANGE_PARTNER_NOT_READY,
|
||||
EXCHANGE_STAT_6,
|
||||
EXCHANGE_WRONG_NUM_PLAYERS,
|
||||
EXCHANGE_STAT_7
|
||||
};
|
||||
|
||||
@@ -274,9 +274,8 @@ void LoadWirelessStatusIndicatorSpriteGfx(void);
|
||||
bool8 IsLinkTaskFinished(void);
|
||||
void CreateWirelessStatusIndicatorSprite(u8, u8);
|
||||
void sub_800ADF8(void);
|
||||
void sub_800B488(void);
|
||||
void SetWirelessCommType1(void);
|
||||
void CheckShouldAdvanceLinkState(void);
|
||||
void sub_8011BD0(void);
|
||||
u8 IsLinkMaster(void);
|
||||
void sub_800AC34(void);
|
||||
bool8 HandleLinkConnection(void);
|
||||
@@ -285,14 +284,14 @@ void sub_800A418(void);
|
||||
void SetSuppressLinkErrorMessage(bool8 flag);
|
||||
void sub_800B524(struct LinkPlayer *linkPlayer);
|
||||
u8 GetSioMultiSI(void);
|
||||
void sub_800AAF4(void);
|
||||
void sub_800AF18(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06);
|
||||
void ClearSavedLinkPlayers(void);
|
||||
void BufferLinkErrorInfo(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06);
|
||||
void sub_800B348(void);
|
||||
void sub_800B3A4(u32 who);
|
||||
bool32 sub_800A07C(void);
|
||||
void LinkPlayerFromBlock(u32 who);
|
||||
bool32 Link_AnyPartnersPlayingFRLG_JP(void);
|
||||
void ResetLinkPlayerCount(void);
|
||||
void sub_800AA04(u8 a0);
|
||||
void sub_800B4C0(void);
|
||||
void SaveLinkPlayers(u8 a0);
|
||||
void SetWirelessCommType0(void);
|
||||
bool32 sub_800B504(void);
|
||||
|
||||
extern u16 gLinkPartnersHeldKeys[6];
|
||||
@@ -331,18 +330,18 @@ extern u32 gFiller_03003080;
|
||||
extern struct LinkPlayer gLocalLinkPlayer;
|
||||
|
||||
bool32 Link_AnyPartnersPlayingRubyOrSapphire(void);
|
||||
bool32 sub_800A03C(void);
|
||||
bool32 LinkDummy_Return2(void);
|
||||
void SetLocalLinkPlayerId(u8);
|
||||
u8 GetSavedPlayerCount(void);
|
||||
void sub_8009FAC(void);
|
||||
bool8 sub_800A4D8(u8 a0);
|
||||
u8 sub_800A9D8(void);
|
||||
u8 GetLinkPlayerCountAsBitFlags(void);
|
||||
u8 sub_800A0C8(s32, s32);
|
||||
u8 sub_800A9A8(void);
|
||||
u8 GetSavedLinkPlayerCountAsBitFlags(void);
|
||||
void sub_800AD10(void);
|
||||
void sub_800AB18(void);
|
||||
void sub_8009F18(void);
|
||||
bool8 sub_800AA60(void);
|
||||
void CheckLinkPlayersMatchSaved(void);
|
||||
void StartSendingKeysToLink(void);
|
||||
bool8 DoesLinkPlayerCountMatchSaved(void);
|
||||
void sub_800ABF4(u16 a0);
|
||||
bool32 IsSendingKeysToLink(void);
|
||||
u32 GetLinkRecvQueueLength(void);
|
||||
|
||||
+154
-213
@@ -5,7 +5,43 @@
|
||||
#include "link.h"
|
||||
#include "AgbRfu_LinkManager.h"
|
||||
|
||||
// Exported type declarations
|
||||
#define RFU_COMMAND_0x4400 0x4400
|
||||
#define RFU_COMMAND_0x8800 0x8800
|
||||
#define RFU_COMMAND_0x8900 0x8900
|
||||
#define RFU_COMMAND_0xA100 0xA100
|
||||
#define RFU_COMMAND_0x7700 0x7700
|
||||
#define RFU_COMMAND_0x7800 0x7800
|
||||
#define RFU_COMMAND_0x6600 0x6600
|
||||
#define RFU_COMMAND_0x5F00 0x5F00
|
||||
#define RFU_COMMAND_0x2F00 0x2F00
|
||||
#define RFU_COMMAND_0xBE00 0xBE00
|
||||
#define RFU_COMMAND_0xEE00 0xEE00
|
||||
#define RFU_COMMAND_0xED00 0xED00
|
||||
|
||||
#define RFU_SERIAL_7F7D 0x7F7D
|
||||
|
||||
#define RECV_QUEUE_NUM_SLOTS 32
|
||||
#define RECV_QUEUE_SLOT_LENGTH (14 * MAX_RFU_PLAYERS)
|
||||
|
||||
#define SEND_QUEUE_NUM_SLOTS 40
|
||||
#define SEND_QUEUE_SLOT_LENGTH 14
|
||||
|
||||
#define BACKUP_QUEUE_NUM_SLOTS 2
|
||||
#define BACKUP_QUEUE_SLOT_LENGTH 14
|
||||
|
||||
#define RFU_STATUS_OK 0
|
||||
#define RFU_STATUS_FATAL_ERROR 1
|
||||
#define RFU_STATUS_CONNECTION_ERROR 2
|
||||
#define RFU_STATUS_CHILD_SEND_COMPLETE 3
|
||||
#define RFU_STATUS_NEW_CHILD_DETECTED 4
|
||||
#define RFU_STATUS_JOIN_GROUP_OK 5
|
||||
#define RFU_STATUS_JOIN_GROUP_NO 6
|
||||
#define RFU_STATUS_WAIT_ACK_JOIN_GROUP 7
|
||||
#define RFU_STATUS_LEAVE_GROUP_NOTICE 8
|
||||
#define RFU_STATUS_LEAVE_GROUP 9
|
||||
#define RFU_STATUS_10 10
|
||||
#define RFU_STATUS_11 11
|
||||
#define RFU_STATUS_ACK_JOIN_GROUP 12
|
||||
|
||||
// RfuTgtData.gname is read as these structs.
|
||||
struct GFtgtGnameSub
|
||||
@@ -13,12 +49,11 @@ struct GFtgtGnameSub
|
||||
u16 language:4;
|
||||
u16 hasNews:1;
|
||||
u16 hasCard:1;
|
||||
u16 unk_00_6:1;
|
||||
u16 unknown:1; // Never read
|
||||
u16 isChampion:1;
|
||||
u16 hasNationalDex:1;
|
||||
u16 gameClear:1;
|
||||
u16 version:4;
|
||||
u16 unk_01_6:2;
|
||||
u8 playerTrainerId[2];
|
||||
};
|
||||
|
||||
@@ -38,111 +73,73 @@ struct __attribute__((packed, aligned(2))) GFtgtGname
|
||||
u8 padding;
|
||||
}; // size: RFU_GNAME_SIZE
|
||||
|
||||
struct UnkLinkRfuStruct_02022B2C
|
||||
struct RfuBlockSend
|
||||
{
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
u16 unk_02;
|
||||
u8 unk_04;
|
||||
u16 unk_06;
|
||||
struct GFtgtGname *unk_08;
|
||||
u8 *unk_0c;
|
||||
u8 unk_10;
|
||||
u8 unk_11;
|
||||
u16 unk_12;
|
||||
u16 unk_14;
|
||||
/* 0x00 */ u16 next;
|
||||
/* 0x02 */ u16 count;
|
||||
/* 0x04 */ const u8 *payload;
|
||||
/* 0x08 */ u32 receivedFlags;
|
||||
/* 0x0c */ u32 failedFlags;
|
||||
/* 0x10 */ bool8 sending;
|
||||
/* 0x11 */ u8 owner;
|
||||
/* 0x12 */ u8 receiving;
|
||||
};
|
||||
|
||||
struct UnkLinkRfuStruct_02022B44
|
||||
struct RfuRecvQueue
|
||||
{
|
||||
u8 fill_00[6];
|
||||
u16 unk_06;
|
||||
u8 fill_08[6];
|
||||
vu8 unk_0e;
|
||||
u8 unk_0f;
|
||||
u8 fill_10[0x54];
|
||||
u16 unk_64;
|
||||
u8 fill_66[0x1d];
|
||||
u8 unk_83;
|
||||
u8 fill_84[0x58];
|
||||
/* 0x000 */ u8 slots[RECV_QUEUE_NUM_SLOTS][RECV_QUEUE_SLOT_LENGTH];
|
||||
/* 0x8c0 */ vu8 recvSlot;
|
||||
/* 0x8c1 */ vu8 sendSlot;
|
||||
/* 0x8c2 */ vu8 count;
|
||||
/* 0x8c3 */ vu8 full;
|
||||
};
|
||||
|
||||
struct UnkRfuStruct_2_Sub_6c
|
||||
struct RfuSendQueue
|
||||
{
|
||||
/* 0x00 */ u16 unk_00;
|
||||
/* 0x02 */ u16 unk_02;
|
||||
/* 0x04 */ const u8 *unk_04;
|
||||
/* 0x08 */ u32 unk_08;
|
||||
/* 0x0c */ u32 unk_0c;
|
||||
/* 0x10 */ u8 unk_10;
|
||||
/* 0x11 */ u8 unk_11;
|
||||
/* 0x12 */ u8 unk_12;
|
||||
/* 0x000 */ u8 slots[SEND_QUEUE_NUM_SLOTS][SEND_QUEUE_SLOT_LENGTH];
|
||||
/* 0x230 */ vu8 recvSlot;
|
||||
/* 0x231 */ vu8 sendSlot;
|
||||
/* 0x232 */ vu8 count;
|
||||
/* 0x233 */ vu8 full;
|
||||
};
|
||||
|
||||
struct UnkRfuStruct_2_Sub_124
|
||||
struct RfuBackupQueue
|
||||
{
|
||||
/* 0x000 */ u8 unk_00[32][70];
|
||||
/* 0x8c0 */ vu8 unk_8c0;
|
||||
/* 0x8c1 */ vu8 unk_8c1;
|
||||
/* 0x8c2 */ vu8 unk_8c2;
|
||||
/* 0x8c3 */ vu8 unk_8c3;
|
||||
/* 0x00 */ u8 slots[BACKUP_QUEUE_NUM_SLOTS][BACKUP_QUEUE_SLOT_LENGTH];
|
||||
/* 0x1c */ vu8 recvSlot;
|
||||
/* 0x1d */ vu8 sendSlot;
|
||||
/* 0x1e */ vu8 count;
|
||||
};
|
||||
|
||||
struct UnkRfuStruct_2_Sub_9e8
|
||||
struct GFRfuManager
|
||||
{
|
||||
/* 0x000 */ u8 unk_00[40][14];
|
||||
/* 0x230 */ vu8 unk_230;
|
||||
/* 0x231 */ vu8 unk_231;
|
||||
/* 0x232 */ vu8 unk_232;
|
||||
/* 0x233 */ vu8 unk_233;
|
||||
};
|
||||
|
||||
struct UnkRfuStruct_2_Sub_c1c
|
||||
{
|
||||
/* 0x00 */ u8 unk_00[2][14];
|
||||
/* 0x1c */ vu8 unk_1c;
|
||||
/* 0x1d */ vu8 unk_1d;
|
||||
/* 0x1e */ vu8 unk_1e;
|
||||
};
|
||||
|
||||
struct UnkRfuStruct_Sub_Unused
|
||||
{
|
||||
/* 0x000 */ u8 unk_00[2][256];
|
||||
/* 0x200 */ vu8 unk_200;
|
||||
/* 0x201 */ vu8 unk_201;
|
||||
/* 0x202 */ vu8 unk_202;
|
||||
/* 0x203 */ vu8 unk_203;
|
||||
};
|
||||
|
||||
struct UnkRfuStruct_2
|
||||
{
|
||||
/* 0x000 */ void (*linkRfuCallback)(void);
|
||||
/* 0x004 */ u16 unk_04;
|
||||
/* 0x000 */ void (*callback)(void);
|
||||
/* 0x004 */ u16 state;
|
||||
/* 0x006 */ u8 filler_06[4];
|
||||
/* 0x00a */ u16 unk_0a;
|
||||
/* 0x00c */ u8 unk_0c;
|
||||
/* 0x00a */ u16 linkmanMsg;
|
||||
/* 0x00c */ u8 parentChild;
|
||||
/* 0x00d */ u8 playerCount;
|
||||
/* 0x00e */ u8 unk_0e;
|
||||
/* 0x00e */ bool8 unk_0e;
|
||||
/* 0x00f */ u8 unk_0f;
|
||||
/* 0x010 */ u16 unk_10;
|
||||
/* 0x012 */ u16 unk_12;
|
||||
/* 0x014 */ u8 unk_14[4][14];
|
||||
/* 0x014 */ u8 unk_14[RFU_CHILD_MAX][14];
|
||||
/* 0x04c */ u8 unk_4c[14];
|
||||
/* 0x05a */ u8 unk_5a;
|
||||
/* 0x05b */ u8 unk_5b;
|
||||
/* 0x05c */ u8 unk_5c[5];
|
||||
/* 0x061 */ u8 unk_61[5];
|
||||
/* 0x066 */ u8 unk_66;
|
||||
/* 0x067 */ u8 unk_67;
|
||||
/* 0x05c */ bool8 blockReceived[MAX_RFU_PLAYERS];
|
||||
/* 0x061 */ bool8 numBlocksReceived[MAX_RFU_PLAYERS];
|
||||
/* 0x066 */ u8 idleTaskId;
|
||||
/* 0x067 */ u8 searchTaskId;
|
||||
/* 0x068 */ u8 filler_68[4];
|
||||
/* 0x06c */ struct UnkRfuStruct_2_Sub_6c unk_6c;
|
||||
/* 0x080 */ struct UnkRfuStruct_2_Sub_6c unk_80[5];
|
||||
/* 0x06c */ struct RfuBlockSend sendBlock;
|
||||
/* 0x080 */ struct RfuBlockSend recvBlock[MAX_RFU_PLAYERS];
|
||||
/* 0x0e4 */ u8 unk_e4[5];
|
||||
/* 0x0e9 */ u8 unk_e9[5];
|
||||
/* 0x0ee */ vu8 unk_ee;
|
||||
/* 0x0ef */ u8 unk_ef;
|
||||
/* 0x0f0 */ u8 unk_f0;
|
||||
/* 0x0f1 */ u8 unk_f1;
|
||||
/* 0x0ee */ vu8 errorState;
|
||||
/* 0x0ef */ bool8 isShuttingDown;
|
||||
/* 0x0f0 */ u8 linkLossRecoveryState;
|
||||
/* 0x0f1 */ u8 status;
|
||||
/* 0x0f2 */ u16 unk_f2[6];
|
||||
/* 0x0fe */ u16 unk_fe;
|
||||
/* 0x100 */ u16 unk_100;
|
||||
@@ -151,193 +148,137 @@ struct UnkRfuStruct_2
|
||||
/* 0x10A */ struct GFtgtGname unk_10A;
|
||||
u8 filler_;
|
||||
u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/* 0x124 */ struct UnkRfuStruct_2_Sub_124 unk_124;
|
||||
/* 0x9e8 */ struct UnkRfuStruct_2_Sub_9e8 unk_9e8;
|
||||
/* 0xc1c */ struct UnkRfuStruct_2_Sub_c1c unk_c1c;
|
||||
/* 0xc3c */ vu8 unk_c3c;
|
||||
/* 0x124 */ struct RfuRecvQueue recvQueue;
|
||||
/* 0x9e8 */ struct RfuSendQueue sendQueue;
|
||||
/* 0xc1c */ struct RfuBackupQueue backupQueue;
|
||||
/* 0xc3c */ vu8 linkRecovered;
|
||||
/* 0xc3d */ u8 unk_c3d;
|
||||
/* 0xc3e */ vu8 unk_c3e;
|
||||
/* 0xc3e */ vu8 childSlot;
|
||||
/* 0xc3f */ u8 unk_c3f[70];
|
||||
/* 0xc85 */ u8 unk_c85;
|
||||
/* 0xc86 */ u8 unk_c86;
|
||||
/* 0xc87 */ u8 unk_c87[5][7][2];
|
||||
/* 0xccd */ u8 unk_ccd;
|
||||
/* 0xcce */ u8 unk_cce;
|
||||
/* 0xc86 */ u8 recvStatus;
|
||||
/* 0xc87 */ u8 recvCmds[5][7][2];
|
||||
/* 0xccd */ u8 parentId;
|
||||
/* 0xcce */ u8 multiplayerId;
|
||||
/* 0xccf */ u8 unk_ccf;
|
||||
/* 0xcd0 */ vu8 unk_cd0;
|
||||
/* 0xcd1 */ u8 unk_cd1[4];
|
||||
/* 0xcd5 */ u8 unk_cd5[4];
|
||||
/* 0xcd1 */ u8 partnerSendStatuses[RFU_CHILD_MAX];
|
||||
/* 0xcd5 */ u8 partnerRecvStatuses[RFU_CHILD_MAX];
|
||||
/* 0xcd9 */ u8 unk_cd9;
|
||||
/* 0xcda */ u8 unk_cda;
|
||||
/* 0xcdb */ vu8 unk_cdb;
|
||||
/* 0xcdc */ vu8 unk_cdc;
|
||||
/* 0xcdb */ vbool8 unk_cdb;
|
||||
/* 0xcdc */ vbool8 unk_cdc;
|
||||
/* 0xcdd */ u8 unk_cdd;
|
||||
/* 0xcde */ u8 unk_cde[4];
|
||||
/* 0xcde */ u8 linkPlayerIdx[RFU_CHILD_MAX];
|
||||
/* 0xce2 */ u8 unk_ce2;
|
||||
/* 0xce2 */ u8 unk_ce3;
|
||||
/* 0xce4 */ u8 unk_ce4;
|
||||
/* 0xce5 */ u8 unk_ce5;
|
||||
/* 0xce5 */ u8 unk_ce6;
|
||||
/* 0xce7 */ u8 unk_ce7;
|
||||
/* 0xce7 */ u8 acceptSlot_flag;
|
||||
/* 0xce8 */ u8 unk_ce8;
|
||||
/* 0xce9 */ u8 unk_ce9;
|
||||
/* 0xcea */ u8 unk_cea[4];
|
||||
/* 0xcee */ u8 unk_cee[4];
|
||||
}; // size = 0xcf4
|
||||
|
||||
struct UnkRfuStruct_8010A14
|
||||
{
|
||||
char unk_00[15];
|
||||
u8 unk_0f;
|
||||
u8 unk_10[4];
|
||||
struct LinkPlayer unk_14[5];
|
||||
u8 fill_a0[0x5c];
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
extern struct GFtgtGname gUnknown_02022B14;
|
||||
extern u8 gUnknown_02022B22[];
|
||||
extern struct UnkRfuStruct_2 Rfu;
|
||||
extern struct GFtgtGname gHostRFUtgtGnameBuffer;
|
||||
extern u8 gHostRFUtgtUnameBuffer[];
|
||||
extern struct GFRfuManager Rfu;
|
||||
extern u8 gWirelessStatusIndicatorSpriteId;
|
||||
|
||||
// Exported ROM declarations
|
||||
void WipeTrainerNameRecords(void);
|
||||
void sub_800E700(void);
|
||||
void sub_800EDD4(void);
|
||||
void sub_800F6FC(u8 who);
|
||||
void sub_800F728(u8 who);
|
||||
void InitRFUAPI(void);
|
||||
void LinkRfu_Shutdown(void);
|
||||
void Rfu_SetBlockReceivedFlag(u8 who);
|
||||
void Rfu_ResetBlockReceivedFlag(u8 who);
|
||||
bool32 IsSendingKeysToRfu(void);
|
||||
void sub_800F804(void);
|
||||
void StartSendingKeysToRfu(void);
|
||||
void sub_800F850(void);
|
||||
u8 sub_800FCD8(void);
|
||||
bool32 sub_800FE84(const u8 *src, size_t size);
|
||||
u8 Rfu_GetBlockReceivedStatus(void);
|
||||
bool32 Rfu_InitBlockSend(const u8 *src, size_t size);
|
||||
void ClearLinkRfuCallback(void);
|
||||
u8 sub_80104F4(void);
|
||||
u8 rfu_get_multiplayer_id(void);
|
||||
u8 Rfu_GetLinkPlayerCount(void);
|
||||
u8 Rfu_GetMultiplayerId(void);
|
||||
bool8 sub_8010100(u8 a0);
|
||||
bool8 IsLinkRfuTaskFinished(void);
|
||||
bool8 Rfu_IsMaster(void);
|
||||
void task_add_05_task_del_08FA224_when_no_RfuFunc(void);
|
||||
void sub_8010434(void);
|
||||
void sub_800E604(void);
|
||||
void sub_800E174(void);
|
||||
void sub_800E6D0(void);
|
||||
void ResetLinkRfuGFLayer(void);
|
||||
void UpdateWirelessStatusIndicatorSprite(void);
|
||||
void InitRFU(void);
|
||||
bool32 sub_8010EC0(void);
|
||||
bool32 sub_8010F1C(void);
|
||||
bool32 sub_8011A80(void);
|
||||
bool32 RfuHasErrored(void);
|
||||
bool32 IsRfuRecvQueueEmpty(void);
|
||||
u32 GetRfuRecvQueueLength(void);
|
||||
void RfuVSync(void);
|
||||
void sub_80111B0(bool32 a0);
|
||||
u8 sub_8011A74(void);
|
||||
struct GFtgtGname *sub_800F7DC(void);
|
||||
void sub_8011068(u8 a0);
|
||||
void sub_8011170(u32 a0);
|
||||
void sub_8011A64(u8 a0, u16 a1);
|
||||
u8 RfuGetStatus(void);
|
||||
struct GFtgtGname *GetHostRFUtgtGname(void);
|
||||
void UpdateGameData_GroupLockedIn(u8 a0);
|
||||
void GetLinkmanErrorParams(u32 a0);
|
||||
void RfuSetStatus(u8 a0, u16 a1);
|
||||
u8 sub_801048C(bool32 a0);
|
||||
void sub_800DF90(struct GFtgtGname *buff1, u8 *buff2);
|
||||
void sub_8010F84(u8 a0, u32 a1, u32 a2);
|
||||
void sub_8011C10(u32 a0);
|
||||
void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *buff1, u8 *buff2);
|
||||
void SetHostRFUtgtGname(u8 activity, u32 child_sprite_genders, bool32 started);
|
||||
void InitializeRfuLinkManager_LinkLeader(u32 a0);
|
||||
bool32 sub_8012240(void);
|
||||
void sub_800EF38(void);
|
||||
void LinkRfu_StopManagerAndFinalizeSlots(void);
|
||||
bool32 sub_80105EC(void);
|
||||
bool32 sub_801064C(u16 a0, const u8 *a1);
|
||||
void sub_8010688(u8 a0, u16 a1, const u8 *a2);
|
||||
u32 sub_8010714(u16 a0, const u8 *a1);
|
||||
void sub_8011DC0(const u8 *a0, u16 a1);
|
||||
bool8 sub_800EF1C(void);
|
||||
bool32 sub_800EF58(bool32 a0);
|
||||
void DestroyWirelessStatusIndicatorSprite(void);
|
||||
bool32 HasTrainerLeftPartnersList(u16 trainerId, const u8 *name);
|
||||
void SendRfuStatusToPartner(u8 status, u16 trainerId, const u8 *name);
|
||||
u32 WaitSendRfuStatusToPartner(u16 trainerId, const u8 *name);
|
||||
void RequestDisconnectSlotByTrainerNameAndId(const u8 *a0, u16 a1);
|
||||
bool8 LmanAcceptSlotFlagIsNotZero(void);
|
||||
bool32 WaitRfuState(bool32 a0);
|
||||
void sub_801103C(void);
|
||||
void sub_8011C5C(void);
|
||||
void sub_80106D4(void);
|
||||
void InitializeRfuLinkManager_JoinGroup(void);
|
||||
void SendLeaveGroupNotice(void);
|
||||
void RecordMixTrainerNames(void);
|
||||
void sub_800ED10(void);
|
||||
void sub_800ED28(void);
|
||||
void sub_8011090(u8 a0, u32 a1, u32 a2);
|
||||
void sub_8011FC8(const u8 *src, u16 trainerId);
|
||||
void sub_8010FA0(bool32 a0, bool32 a1);
|
||||
void sub_8010F60(void);
|
||||
void sub_8010FCC(u32 a0, u32 a1, u32 a2);
|
||||
void sub_8011C84(void);
|
||||
void LinkRfu_CreateConnectionAsParent(void);
|
||||
void LinkRfu_StopManagerBeforeEnteringChat(void);
|
||||
void UpdateGameData_SetActivity(u8 activity, u32 flags, bool32 started);
|
||||
void CreateTask_RfuReconnectWithParent(const u8 *src, u16 trainerId);
|
||||
void SetGnameBufferWonderFlags(bool32 a0, bool32 a1);
|
||||
void ClearAndInitHostRFUtgtGname(void);
|
||||
void SetTradeBoardRegisteredMonInfo(u32 type, u32 species, u32 level);
|
||||
void InitializeRfuLinkManager_EnterUnionRoom(void);
|
||||
void sub_8012188(const u8 *name, struct GFtgtGname *structPtr, u8 a2);
|
||||
bool32 sub_8011B90(void);
|
||||
bool32 IsUnionRoomListenTaskActive(void);
|
||||
void sub_800FE50(void *a0);
|
||||
bool32 sub_800E540(u16 id, u8 *name);
|
||||
bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name);
|
||||
void sub_8011DE0(u32 arg0);
|
||||
u8 sub_801100C(s32 a0);
|
||||
void sub_800EF7C(void);
|
||||
bool8 sub_800DE7C(struct GFtgtGname *buff1, u8 *buff2, u8 idx);
|
||||
bool8 sub_800DF34(struct GFtgtGname *buff1, u8 *buff2, u8 idx);
|
||||
bool8 LinkRfu_GetNameIfCompatible(struct GFtgtGname *buff1, u8 *buff2, u8 idx);
|
||||
bool8 LinkRfu_GetNameIfSerial7F7D(struct GFtgtGname *buff1, u8 *buff2, u8 idx);
|
||||
s32 sub_800E87C(u8 idx);
|
||||
void sub_8011BA4(void);
|
||||
void sub_8010198(void);
|
||||
void CreateTask_RfuIdle(void);
|
||||
void DestroyTask_RfuIdle(void);
|
||||
void sub_8011AC8(void);
|
||||
void LinkRfu_FatalError(void);
|
||||
bool32 sub_8011A9C(void);
|
||||
void sub_80104B0(void);
|
||||
void sub_8011A50(void);
|
||||
void sub_80110B8(u32 a0);
|
||||
bool8 sub_800DAC8(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2);
|
||||
void sub_800EAB4(void);
|
||||
void sub_800EAFC(void);
|
||||
void sub_800ED34(u16 unused);
|
||||
void sub_800EDBC(u16 unused);
|
||||
void sub_800F048(void);
|
||||
void sub_800F86C(u8 unused);
|
||||
void sub_800FCC4(struct UnkRfuStruct_2_Sub_6c *data);
|
||||
void sub_800FD14(u16 command);
|
||||
void rfufunc_80F9F44(void);
|
||||
void sub_800FFB0(void);
|
||||
void rfufunc_80FA020(void);
|
||||
bool32 sub_8010454(u32 a0);
|
||||
void sub_8010528(void);
|
||||
void sub_8010750(void);
|
||||
s32 sub_80107A0(void);
|
||||
void sub_801084C(u8 taskId);
|
||||
void sub_80109E8(u16 a0);
|
||||
void sub_8010A70(void *a0);
|
||||
void sub_8010AAC(u8 taskId);
|
||||
void sub_8010D0C(u8 taskId);
|
||||
void sub_80115EC(s32 a0);
|
||||
u8 sub_8011CE4(const u8 *a0, u16 a1);
|
||||
void sub_8011D6C(u32 a0);
|
||||
void sub_8011E94(u32 a0, u32 a1);
|
||||
bool8 sub_8012224(void);
|
||||
void sub_801227C(void);
|
||||
void sub_801209C(u8 taskId);
|
||||
void sub_8011BF8(void);
|
||||
void sub_8011BA4(void);
|
||||
void sub_800D6C8(struct UnkRfuStruct_2_Sub_124 *ptr);
|
||||
void sub_800D724(struct UnkRfuStruct_2_Sub_9e8 *ptr);
|
||||
void sub_800D780(struct UnkRfuStruct_Sub_Unused *ptr);
|
||||
void sub_800D7D8(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2);
|
||||
void sub_800D888(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2);
|
||||
bool8 sub_800D934(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2);
|
||||
bool8 sub_800D9DC(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2);
|
||||
void sub_800DA68(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2);
|
||||
bool8 sub_800DAC8(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2);
|
||||
void sub_800DB18(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2);
|
||||
bool8 sub_800DB84(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2);
|
||||
void sub_800DBF8(u8 *q1, u8 mode);
|
||||
void PkmnStrToASCII(u8 *q1, const u8 *q2);
|
||||
void ASCIIToPkmnStr(u8 *q1, const u8 *q2);
|
||||
u8 sub_800DD1C(u8 maxFlags);
|
||||
void sub_800DD94(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3);
|
||||
bool8 sub_800DE7C(struct GFtgtGname *buff1, u8 *buff2, u8 idx);
|
||||
bool8 sub_800DF34(struct GFtgtGname *buff1, u8 *buff2, u8 idx);
|
||||
void sub_800DF90(struct GFtgtGname *buff1, u8 *buff2);
|
||||
bool32 IsRfuSerialNumberValid(u32 serialNo);
|
||||
bool8 IsRfuRecoveringFromLinkLoss(void);
|
||||
void RfuRecvQueue_Reset(struct RfuRecvQueue *queue);
|
||||
void RfuSendQueue_Reset(struct RfuSendQueue *queue);
|
||||
void RfuRecvQueue_Enqueue(struct RfuRecvQueue *queue, u8 *data);
|
||||
void RfuSendQueue_Enqueue(struct RfuSendQueue *queue, u8 *data);
|
||||
bool8 RfuRecvQueue_Dequeue(struct RfuRecvQueue *queue, u8 *dest);
|
||||
bool8 RfuSendQueue_Dequeue(struct RfuSendQueue *queue, u8 *dest);
|
||||
void RfuBackupQueue_Enqueue(struct RfuBackupQueue *queue, const u8 *q2);
|
||||
bool8 RfuBackupQueue_Dequeue(struct RfuBackupQueue *queue, u8 *q2);
|
||||
void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 started, s32 child_sprite_genders);
|
||||
void CreateWirelessStatusIndicatorSprite(u8 x, u8 y);
|
||||
void DestroyWirelessStatusIndicatorSprite(void);
|
||||
void LoadWirelessStatusIndicatorSpriteGfx(void);
|
||||
u8 sub_800E124(void);
|
||||
void sub_800E15C(struct Sprite *sprite, s32 signalStrengthAnimNum);
|
||||
void sub_800E174(void);
|
||||
void CopyTrainerRecord(struct TrainerNameRecord *dest, u32 trainerId, const u8 *name);
|
||||
bool32 NameIsNotEmpty(const u8 *name);
|
||||
void RecordMixTrainerNames(void);
|
||||
bool32 sub_800E540(u16 id, u8 *name);
|
||||
void WipeTrainerNameRecords(void);
|
||||
|
||||
#endif //GUARD_LINK_RFU_H
|
||||
+1
-1
@@ -79,7 +79,7 @@ void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u
|
||||
u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos);
|
||||
u8 sub_8199134(s8, s8);
|
||||
u8 GetStartMenuWindowId(void);
|
||||
void sub_819A2BC(u8, u8);
|
||||
void ListMenuLoadStdPalAt(u8, u8);
|
||||
u8 Menu_MoveCursor(s8 cursorDelta);
|
||||
u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta);
|
||||
void DrawStdWindowFrame(u8 windowId, bool8 CopyToVram);
|
||||
|
||||
+2
-2
@@ -57,7 +57,7 @@ u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const vo
|
||||
bool32 MEventStruct_Unk1442CC_CompareField_unk_16(const struct MEventStruct_Unk1442CC *a0, const u16 *a1);
|
||||
u16 MEventStruct_Unk1442CC_GetValueNFrom_unk_20(const struct MEventStruct_Unk1442CC *a0, u32 command);
|
||||
u16 mevent_081445C0(u32 command);
|
||||
void sub_801B940(void);
|
||||
bool32 sub_801B94C(u16 a0);
|
||||
void ResetReceivedWonderCardFlag(void);
|
||||
bool32 MEventHandleReceivedWonderCard(u16 a0);
|
||||
|
||||
#endif //GUARD_MEVENT_H
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#ifndef GUARD_MEVENT2_H
|
||||
#define GUARD_MEVENT2_H
|
||||
|
||||
void sub_801B990(u32, u32);
|
||||
void RecordIdOfWonderCardSenderByEventType(u32, u32);
|
||||
|
||||
#endif //GUARD_MEVENT2_H
|
||||
@@ -12,5 +12,7 @@ bool32 MG_PrintTextOnWindow1AndWaitButton(u8 *textState, const u8 *str);
|
||||
void AddTextPrinterToWindow1(const u8 *src);
|
||||
void c2_ereader(void);
|
||||
void c2_mystery_gift(void);
|
||||
void MG_DrawTextBorder(u8 windowId);
|
||||
s8 mevent_message_print_and_prompt_yes_no(u8 *textState, u16 *windowId, bool8 yesNoBoxPlacement, const u8 *str);
|
||||
|
||||
#endif //GUARD_MYSTERY_GIFT_H
|
||||
+2
-2
@@ -279,8 +279,8 @@ void sub_80686FC(struct Pokemon *mon, struct BattleTowerPokemon *dest);
|
||||
void CreateObedientMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId);
|
||||
bool8 sub_80688F8(u8 caseId, u8 battlerId);
|
||||
void SetDeoxysStats(void);
|
||||
u16 sub_8068B48(void);
|
||||
u16 sub_8068BB0(void);
|
||||
u16 GetUnionRoomTrainerPic(void);
|
||||
u16 GetUnionRoomTrainerClass(void);
|
||||
void CreateObedientEnemyMon(void);
|
||||
void CalculateMonStats(struct Pokemon *mon);
|
||||
void BoxMonToMon(const struct BoxPokemon *src, struct Pokemon *dest);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "main.h"
|
||||
|
||||
void sub_802A9A8(u16 monId, MainCallback callback);
|
||||
void StartPokemonJump(u16 monId, MainCallback callback);
|
||||
bool32 IsSpeciesAllowedInPokemonJump(u16 species);
|
||||
void IsPokemonJumpSpeciesInParty(void);
|
||||
void ResetPokeJumpResults(void);
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ u8 Save_LoadGameData(u8 saveType);
|
||||
u16 sub_815355C(void);
|
||||
u32 TryReadSpecialSaveSection(u8 sector, u8* dst);
|
||||
u32 TryWriteSpecialSaveSection(u8 sector, u8* src);
|
||||
void sub_8153688(u8 taskId);
|
||||
void Task_LinkSave(u8 taskId);
|
||||
|
||||
// save_failed_screen.c
|
||||
void DoSaveFailedScreen(u8 saveType);
|
||||
|
||||
@@ -8,8 +8,8 @@ void Task_ShowStartMenu(u8 taskId);
|
||||
void ShowStartMenu(void);
|
||||
void ShowBattlePyramidStartMenu(void);
|
||||
void SaveGame(void);
|
||||
void sub_80A0514(void);
|
||||
void sub_80A08CC(void);
|
||||
void CB2_SetUpSaveAfterLinkBattle(void);
|
||||
void SaveForBattleTowerLink(void);
|
||||
void HideStartMenu(void);
|
||||
void AppendToList(u8* list, u8* pos, u8 newEntry);
|
||||
|
||||
|
||||
+5
-5
@@ -962,7 +962,7 @@ extern const u8 gText_TwoDashes[];
|
||||
|
||||
extern const u8 *const gReturnToXStringsTable2[];
|
||||
|
||||
extern const u8 gText_XPLink[];
|
||||
extern const u8 gText_NumPlayerLink[];
|
||||
extern const u8 gText_ConfirmLinkWhenPlayersReady[];
|
||||
extern const u8 gText_ConfirmStartLinkWithXPlayers[];
|
||||
extern const u8 gText_AwaitingLinkup[];
|
||||
@@ -2815,10 +2815,10 @@ extern const u8 gText_RegisterTextHere[];
|
||||
extern const u8 gText_InputText[];
|
||||
extern const u8 gText_ExitingChat[];
|
||||
extern const u8 gText_LeaderLeftEndingChat[];
|
||||
extern const u8 gText_RegisteredTextChanged[];
|
||||
extern const u8 gText_AlreadySavedFile_Unused[];
|
||||
extern const u8 gText_SavingDontTurnOff_Unused[];
|
||||
extern const u8 gText_PlayerSavedGame_Unused[];
|
||||
extern const u8 gText_RegisteredTextChangedOKToSave[];
|
||||
extern const u8 gText_AlreadySavedFile_Chat[];
|
||||
extern const u8 gText_SavingDontTurnOff_Chat[];
|
||||
extern const u8 gText_PlayerSavedGame_Chat[];
|
||||
extern const u8 gText_IfLeaderLeavesChatEnds[];
|
||||
extern const u8 gText_Upper[];
|
||||
extern const u8 gText_Lower[];
|
||||
|
||||
+71
-74
@@ -2,71 +2,70 @@
|
||||
#define GUARD_UNION_ROOM_H
|
||||
|
||||
#include "link_rfu.h"
|
||||
#include "link.h"
|
||||
#include "constants/union_room.h"
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
struct UnkStruct_Shared
|
||||
struct WirelessGnameUnamePair
|
||||
{
|
||||
struct GFtgtGname field_0;
|
||||
struct GFtgtGname gname;
|
||||
u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH + 1];
|
||||
};
|
||||
|
||||
struct UnkStruct_x1C
|
||||
{
|
||||
struct UnkStruct_Shared unk0;
|
||||
u8 unk18:1;
|
||||
struct WirelessGnameUnamePair gname_uname;
|
||||
u8 active:1;
|
||||
};
|
||||
|
||||
struct UnkStruct_x20
|
||||
{
|
||||
struct UnkStruct_Shared unk;
|
||||
u16 field_18;
|
||||
u8 field_1A_0:2;
|
||||
u8 field_1A_1:1;
|
||||
struct WirelessGnameUnamePair gname_uname;
|
||||
u16 timeoutCounter;
|
||||
u8 groupScheduledAnim:2;
|
||||
bool8 useRedText:1; // Never set
|
||||
u8 field_1B;
|
||||
u8 field_1D;
|
||||
u8 field_1E;
|
||||
u8 field_1F;
|
||||
u8 filler[3];
|
||||
};
|
||||
|
||||
struct UnkStruct_Main0
|
||||
{
|
||||
struct UnkStruct_x20 arr[8];
|
||||
struct UnkStruct_x20 arr[MAX_UNION_ROOM_PLAYERS];
|
||||
};
|
||||
|
||||
struct UnkStruct_Main4
|
||||
{
|
||||
struct UnkStruct_x1C arr[5];
|
||||
struct UnkStruct_x1C arr[MAX_RFU_PLAYERS];
|
||||
};
|
||||
|
||||
struct UnkStruct_Main8
|
||||
{
|
||||
struct UnkStruct_x20 arr[5];
|
||||
struct UnkStruct_x20 arr[MAX_RFU_PLAYERS];
|
||||
};
|
||||
|
||||
struct UnkStruct_Leader
|
||||
struct WirelessLink_Leader
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
struct UnkStruct_Main8 *field_8;
|
||||
u8 state;
|
||||
u8 textState;
|
||||
u8 field_E;
|
||||
u8 delayTimerAfterOk;
|
||||
u8 listWindowId;
|
||||
u8 field_10;
|
||||
u8 field_11;
|
||||
u8 bButtonCancelWindowId;
|
||||
u8 nPlayerModeWindowId;
|
||||
u8 listTaskId;
|
||||
u8 field_13;
|
||||
u8 field_14;
|
||||
u8 field_15;
|
||||
u8 playerCount;
|
||||
u16 field_14;
|
||||
u8 field_16;
|
||||
u8 field_17;
|
||||
u8 field_18;
|
||||
u8 field_19;
|
||||
u16 field_1A;
|
||||
u8 listenTaskId;
|
||||
u8 activity;
|
||||
u8 joinRequestAnswer;
|
||||
u16 memberConfirmTimeout;
|
||||
};
|
||||
|
||||
struct UnkStruct_Group
|
||||
struct WirelessLink_Group
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
@@ -74,98 +73,96 @@ struct UnkStruct_Group
|
||||
u8 textState;
|
||||
u8 field_A;
|
||||
u8 listWindowId;
|
||||
u8 field_C;
|
||||
u8 field_D;
|
||||
u8 bButtonCancelWindowId;
|
||||
u8 playerNameAndIdWindowId;
|
||||
u8 listTaskId;
|
||||
u8 field_F;
|
||||
u8 leaderId;
|
||||
u8 field_10;
|
||||
u8 field_11;
|
||||
u8 field_12;
|
||||
u8 listenTaskId;
|
||||
u8 isWonderNews;
|
||||
u8 field_13;
|
||||
u8 field_14;
|
||||
u8 field_15;
|
||||
u8 refreshTimer;
|
||||
u8 delayBeforePrint;
|
||||
};
|
||||
|
||||
struct UnkStruct_8019BA8
|
||||
struct UnionRoomObject
|
||||
{
|
||||
u8 field_0;
|
||||
u8 field_1;
|
||||
s8 field_2;
|
||||
u8 field_3;
|
||||
u8 state;
|
||||
u8 gfxId;
|
||||
s8 animState;
|
||||
u8 schedAnim;
|
||||
};
|
||||
|
||||
struct UnkStruct_URoom
|
||||
struct WirelessLink_URoom
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
struct UnkStruct_Main0 *field_8;
|
||||
struct UnkStruct_Main4 *field_C;
|
||||
u16 field_10;
|
||||
u16 unknown; // Never read
|
||||
u16 field_12;
|
||||
u8 state;
|
||||
u8 stateAfterPrint;
|
||||
u8 textState;
|
||||
u8 field_17;
|
||||
u8 field_18;
|
||||
u8 field_19;
|
||||
u8 field_1A;
|
||||
u8 field_1B;
|
||||
u8 field_1C;
|
||||
u8 field_1D;
|
||||
u8 field_1E;
|
||||
u8 field_1F;
|
||||
u8 field_20;
|
||||
u8 filler[4];
|
||||
u8 topListMenuWindowId;
|
||||
u8 topListMenuId;
|
||||
u8 tradeBoardSelectWindowId;
|
||||
u8 tradeBoardDetailsWindowId;
|
||||
u8 unused1;
|
||||
u8 searchTaskId;
|
||||
u8 spriteIds[40];
|
||||
u8 field_49;
|
||||
u8 field_4A;
|
||||
u16 field_4C[6];
|
||||
u8 field_58[0x98 - 0x58];
|
||||
u16 field_98;
|
||||
u16 field_9A[3];
|
||||
struct UnkStruct_8019BA8 field_A0[8];
|
||||
u8 field_C0[12][15];
|
||||
u8 field_174[48];
|
||||
u8 field_1A4[200];
|
||||
u8 unused2;
|
||||
u8 tradeBoardListMenuId;
|
||||
u16 playerSendBuffer[6];
|
||||
u8 activityRequestStrbufs[4][16];
|
||||
u16 partnerYesNoResponse;
|
||||
u16 recvActivityRequest[3];
|
||||
struct UnionRoomObject objects[MAX_UNION_ROOM_PLAYERS];
|
||||
u8 trainerCardStrBuffer[12][15];
|
||||
u8 trainerCardColorStrBuffer[48];
|
||||
u8 trainerCardMsgStrBuffer[200];
|
||||
};
|
||||
|
||||
union UnkUnion_Main
|
||||
union WirelessLink_Main
|
||||
{
|
||||
struct UnkStruct_Leader *leader;
|
||||
struct UnkStruct_Group *group;
|
||||
struct UnkStruct_URoom *uRoom;
|
||||
struct WirelessLink_Leader *leader;
|
||||
struct WirelessLink_Group *group;
|
||||
struct WirelessLink_URoom *uRoom;
|
||||
};
|
||||
|
||||
struct UnionRoomTrade
|
||||
{
|
||||
u16 field_0;
|
||||
u16 state;
|
||||
u16 type;
|
||||
u32 playerPersonality;
|
||||
u8 field_8;
|
||||
u8 field_9;
|
||||
u8 offerPlayerId;
|
||||
u8 filler1;
|
||||
u16 playerSpecies;
|
||||
u16 playerLevel;
|
||||
u16 species;
|
||||
u16 level;
|
||||
u16 field_12;
|
||||
u16 filler2;
|
||||
u32 personality;
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
extern u8 gUnknown_02022C2C;
|
||||
extern union UnkUnion_Main gUnknown_02022C30;
|
||||
extern struct GFtgtGnameSub gUnknown_02022C38;
|
||||
extern u8 gPlayerCurrActivity;
|
||||
extern union WirelessLink_Main gUnknown_02022C30;
|
||||
extern struct GFtgtGnameSub gPartnerTgtGnameSub;
|
||||
|
||||
extern u16 gUnionRoomOfferedSpecies;
|
||||
extern u8 gUnionRoomRequestedMonType;
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
u8 sub_8013F78(void);
|
||||
void nullsub_89(u8 taskId);
|
||||
void var_800D_set_xB(void);
|
||||
u8 CreateTask_CreateTradeMenu(void);
|
||||
void SetUsingUnionRoomStartMenu(void);
|
||||
void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0);
|
||||
void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0);
|
||||
void MEvent_CreateTask_Leader(u32 arg0);
|
||||
u8 CreateTask_ListenToWireless(void);
|
||||
void StartUnionRoomBattle(u16 battleFlags);
|
||||
|
||||
#endif //GUARD_UNION_ROOM_H
|
||||
@@ -1,7 +1,6 @@
|
||||
#ifndef GUARD_UNION_ROOM_BATTLE_H
|
||||
#define GUARD_UNION_ROOM_BATTLE_H
|
||||
|
||||
u8 sub_8013C40(void);
|
||||
void sub_8014210(u16 battleFlags);
|
||||
void CB2_UnionRoomBattle(void);
|
||||
|
||||
#endif //GUARD_UNION_ROOM_BATTLE_H
|
||||
@@ -1,18 +1,7 @@
|
||||
#ifndef GUARD_UNION_ROOM_CHAT_H
|
||||
#define GUARD_UNION_ROOM_CHAT_H
|
||||
|
||||
enum
|
||||
{
|
||||
UNION_ROOM_KB_PAGE_UPPER,
|
||||
UNION_ROOM_KB_PAGE_LOWER,
|
||||
UNION_ROOM_KB_PAGE_EMOJI,
|
||||
UNION_ROOM_KB_PAGE_COUNT
|
||||
};
|
||||
|
||||
#define UNION_ROOM_KB_ROW_COUNT 10
|
||||
|
||||
|
||||
void sub_801DD98(void);
|
||||
void copy_strings_to_sav1(void);
|
||||
void EnterUnionRoomChat(void);
|
||||
void InitUnionRoomChatRegisteredTexts(void);
|
||||
|
||||
#endif // GUARD_UNION_ROOM_CHAT_H
|
||||
@@ -1,14 +1,14 @@
|
||||
#ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
#define GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
|
||||
u8 sub_8019BA8(struct UnkStruct_8019BA8 * ptr);
|
||||
void sub_8019E3C(void);
|
||||
void sub_8019E70(u8 *arg0, s32 arg1);
|
||||
void sub_8019F04(u8 *spriteIds);
|
||||
void sub_8019F2C(void);
|
||||
void sub_801A274(struct UnkStruct_URoom *arg0);
|
||||
void sub_801A284(struct UnkStruct_URoom *arg0);
|
||||
bool32 sub_801A2A8(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3);
|
||||
void sub_801A3D0(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2);
|
||||
u8 InitUnionRoomPlayerObjects(struct UnionRoomObject *players);
|
||||
void DestroyUnionRoomPlayerObjects(void);
|
||||
void CreateGroupMemberSpritesInvisible(u8 *spriteIds, s32 playerIdx);
|
||||
void DestroyGroupMemberSprites(u8 *spriteIds);
|
||||
void SetTilesAroundUnionRoomPlayersPassable(void);
|
||||
void ScheduleUnionRoomPlayerRefresh(struct WirelessLink_URoom *uroom);
|
||||
void HandleUnionRoomPlayerRefresh(struct WirelessLink_URoom *uroom);
|
||||
bool32 TryInteractWithUnionRoomMember(struct UnkStruct_Main0 *main0, s16 *directionPtr, s16 *playerIdxPtr, u8 *spriteIds);
|
||||
void UpdateUnionRoomMemberFacing(u32 currDirection, u32 playerIdx, struct UnkStruct_Main0 *main0);
|
||||
|
||||
#endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
@@ -65,6 +65,7 @@ SECTIONS {
|
||||
src/union_room.o(.text);
|
||||
src/mystery_gift.o(.text);
|
||||
src/union_room_player_avatar.o(.text);
|
||||
src/wireless_communication_status_screen.o(.text);
|
||||
src/union_room_battle.o(.text);
|
||||
src/mevent2.o(.text);
|
||||
src/mevent_801BAAC.o(.text);
|
||||
@@ -450,6 +451,7 @@ SECTIONS {
|
||||
src/union_room.o(.rodata);
|
||||
src/mystery_gift.o(.rodata);
|
||||
src/union_room_player_avatar.o(.rodata);
|
||||
src/wireless_communication_status_screen.o(.rodata);
|
||||
src/union_room_battle.o(.rodata);
|
||||
src/mevent2.o(.rodata);
|
||||
src/mevent_801BAAC.o(.rodata);
|
||||
|
||||
+388
-388
File diff suppressed because it is too large.
Load diff
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 498 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user