summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-05-31 19:40:49 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2021-05-31 19:40:49 -0400
commitac4c884a31636419226b91147aedd2476900511e (patch)
tree0b0c0f41dfbabf25328a95b388e0bb6dbd4d6f32
parentcc9652a5f1340c9d0c127565adc291b3840649cd (diff)
parent40bf7584958428b8645256d5093143b7f0c6ebdd (diff)
Merge remote-tracking branch 'origin/master' into doc_heap_etc
-rw-r--r--.gitignore1
-rw-r--r--Makefile5
-rw-r--r--arm9/CMakeLists.txt2
-rw-r--r--arm9/Makefile2
-rw-r--r--arm9/arm9.lsf6
-rw-r--r--arm9/asm/unk_020051F4.s4
-rw-r--r--arm9/asm/unk_02038C78.s148
-rw-r--r--arm9/asm/unk_0206C700.s4
-rw-r--r--arm9/asm/unk_02072548.s2
-rw-r--r--arm9/asm/unk_02086FA8.s4
-rw-r--r--arm9/global.inc152
-rw-r--r--arm9/modules/06/asm/module_06.s2
-rw-r--r--arm9/modules/11/asm/module_11_thumb2.s4
-rw-r--r--arm9/modules/16/asm/module_16.s12
-rw-r--r--arm9/modules/76/asm/module_76.s2
-rw-r--r--arm9/modules/81/asm/module_81.s2
-rw-r--r--arm9/src/main.c1
-rw-r--r--arm9/src/scrcmd.c8
-rw-r--r--arm9/src/scrcmd_8.c21
-rw-r--r--arm9/src/scrcmd_berry_trees.c (renamed from arm9/src/scrcmd_11.c)18
-rw-r--r--arm9/src/scrcmd_coins.c6
-rw-r--r--arm9/src/scrcmd_daycare.c10
-rw-r--r--arm9/src/scrcmd_flags.c48
-rw-r--r--arm9/src/scrcmd_fossils.c (renamed from arm9/src/scrcmd_19.c)38
-rw-r--r--arm9/src/scrcmd_money.c6
-rw-r--r--arm9/src/scrcmd_names.c18
-rw-r--r--arm9/src/scrcmd_sound.c38
-rw-r--r--arm9/src/scrcmd_underground.c (renamed from arm9/src/scrcmd_23.c)32
-rw-r--r--filesystem.mk10
-rw-r--r--include/scrcmd.h156
-rw-r--r--tools/knarc/Narc.cpp46
-rw-r--r--tools/knarc/Source.cpp5
-rw-r--r--tools/o2narc/o2narc.cpp64
33 files changed, 492 insertions, 385 deletions
diff --git a/.gitignore b/.gitignore
index fcfaecac..c10cf159 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,3 +49,4 @@ symbols.csv
*.arc
files/**/*.c
*.o
+*.naix
diff --git a/Makefile b/Makefile
index 19d85350..e1a40cdb 100644
--- a/Makefile
+++ b/Makefile
@@ -162,6 +162,7 @@ clean: mostlyclean clean-fs clean-tools
clean-fs:
$(RM) $(filter %.narc %.arc,$(HOSTFS_FILES))
+ $(RM) $(patsubst %.narc,%.naix,$(patsubst %.arc,%.naix,$(filter %.narc %.arc,$(HOSTFS_FILES))))
$(RM) $(NCGR_CLEAN_LIST) $(NCLR_CLEAN_LIST) $(NCER_CLEAN_LIST) $(NSCR_CLEAN_LIST)
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' \) -exec $(RM) {} +
$(RM) files/msgdata/msg/narc_*.bin
@@ -204,7 +205,7 @@ $(BUILD_DIR)/%.o: %.c $$(dep)
$(BUILD_DIR)/%.o: %.s $$(dep)
$(AS) $(ASFLAGS) $< -o $@
-arm9:
+arm9: filesystem
$(MAKE) -C arm9 $(MAKE_VARS)
arm7:
@@ -214,7 +215,7 @@ include filesystem.mk
# TODO: Rules for Pearl
# FIXME: Computed secure area CRC in header is incorrect due to first 8 bytes of header not actually being "encryObj"
-$(ROM): rom.rsf arm9 arm7 filesystem $(BNR) tools/bin/rom_header.template.sbin
+$(ROM): rom.rsf arm9 arm7 $(BNR) tools/bin/rom_header.template.sbin
$(MAKEROM) -DBUILD_DIR="$(BUILD_DIR)" -DBNR="$(BNR)" -DTITLE_NAME="$(TITLE_NAME)" -DNITROFS_FILES="$(NITROFS_FILES)" $< $@
ifeq ($(SHIFTED),0)
$(FIXROM) $@ --secure-crc $(SECURE_CRC) --game-code $(GAME_CODE)
diff --git a/arm9/CMakeLists.txt b/arm9/CMakeLists.txt
index fce2106f..0de93feb 100644
--- a/arm9/CMakeLists.txt
+++ b/arm9/CMakeLists.txt
@@ -15,5 +15,5 @@ file(GLOB_RECURSE SOURCES "*.c" "*.cpp")
file(GLOB MODULE_INC modules/*/include)
add_executable(DP_Arm9 ${SOURCES})
-target_include_directories(DP_Arm9 PRIVATE ../include ../include-mw lib/include ${MODULE_INC})
+target_include_directories(DP_Arm9 PRIVATE ../include ../include-mw lib/include ${MODULE_INC} ../files)
target_compile_definitions(DP_Arm9 PUBLIC __CLION_IDE__)
diff --git a/arm9/Makefile b/arm9/Makefile
index 6f05d1c5..2ad29363 100644
--- a/arm9/Makefile
+++ b/arm9/Makefile
@@ -54,7 +54,7 @@ SRC_DIRS := src lib lib/src $(sort $(wildcard modules/*/src))
ASM_DIRS := asm data files $(sort $(wildcard modules/*/asm))
LIBASM_DIRS := lib/syscall
INCLUDE_RECURSIVE_DIRS := ../include-mw lib/include
-INCLUDE_DIRS := ../include $(sort $(wildcard modules/*/include))
+INCLUDE_DIRS := ../include $(sort $(wildcard modules/*/include)) ../files
C_FILES := $(foreach dir,$(SRC_DIRS),$(sort $(wildcard $(dir)/*.c)))
CXX_FILES := $(foreach dir,$(SRC_DIRS),$(sort $(wildcard $(dir)/*.cpp)))
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 012cd7f5..124467f0 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -166,7 +166,7 @@ Static arm9
Object scrcmd_8.o
Object scrcmd_9.o
Object scrcmd_10.o
- Object scrcmd_11.o
+ Object scrcmd_berry_trees.o
Object scrcmd_12.o
Object scrcmd_13.o
Object scrcmd_coins.o
@@ -175,11 +175,11 @@ Static arm9
Object scrcmd_17.o
Object scrcmd_18_c.o
Object scrcmd_18.o
- Object scrcmd_19.o
+ Object scrcmd_fossils.o
Object scrcmd_20.o
Object scrcmd_flags.o
Object scrcmd_items.o
- Object scrcmd_23.o
+ Object scrcmd_underground.o
Object scrcmd_24.o
Object scrcmd_25.o
Object unk_02046030.o
diff --git a/arm9/asm/unk_020051F4.s b/arm9/asm/unk_020051F4.s
index 215e56c0..c2d91fe9 100644
--- a/arm9/asm/unk_020051F4.s
+++ b/arm9/asm/unk_020051F4.s
@@ -1216,8 +1216,8 @@ FUN_02005BF8: ; 0x02005BF8
pop {r3-r6, pc}
.balign 4
- thumb_func_start PlayBGM
-PlayBGM: ; 0x02005C28
+ thumb_func_start PlaySound
+PlaySound: ; 0x02005C28
push {r3-r5, lr}
add r5, r0, #0x0
bl FUN_020048F4
diff --git a/arm9/asm/unk_02038C78.s b/arm9/asm/unk_02038C78.s
index 06140345..a21e170a 100644
--- a/arm9/asm/unk_02038C78.s
+++ b/arm9/asm/unk_02038C78.s
@@ -199,9 +199,9 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk002F
.word ScrCmd_WaitButtonAB
.word ScrCmd_WaitButton
- .word ScrCmd_Unk0032
+ .word ScrCmd_WaitButtonABPad
.word ScrCmd_Unk0033
- .word ScrCmd_Unk0034
+ .word ScrCmd_CloseMessageBox
.word ScrCmd_Unk0035
.word ScrCmd_CreateMessageBox
.word ScrCmd_Unk0037
@@ -222,26 +222,26 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk0046
.word ScrCmd_Unk0047
.word ScrCmd_Unk0048
- .word ScrCmd_Unk0049
- .word ScrCmd_Unk004A
- .word ScrCmd_Unk004B
- .word ScrCmd_Unk004C
+ .word ScrCmd_PlayFanfare
+ .word ScrCmd_StopFanfare
+ .word ScrCmd_PlayFanfareWait
+ .word ScrCmd_PlayCry
.word ScrCmd_PlayCryWait
+ .word ScrCmd_PlaySound
+ .word ScrCmd_PlaySoundWait
.word ScrCmd_PlayBgm
- .word ScrCmd_Unk004F
- .word ScrCmd_Unk0050
- .word ScrCmd_Unk0051
- .word ScrCmd_Unk0052
+ .word ScrCmd_StopBgm
+ .word ScrCmd_PlayDefaultBgm
.word ScrCmd_Unk0053
- .word ScrCmd_Unk0054
- .word ScrCmd_Unk0055
+ .word ScrCmd_FadeOutBgm
+ .word ScrCmd_FadeInBgm
.word ScrCmd_Unk0056
.word ScrCmd_Unk0057
.word ScrCmd_Unk0058
- .word ScrCmd_Unk0059
- .word ScrCmd_Unk005A
- .word ScrCmd_Unk005B
- .word ScrCmd_Unk005C
+ .word ScrCmd_CheckChatotCry
+ .word ScrCmd_StartChatotRecord
+ .word ScrCmd_StopChatotRecord
+ .word ScrCmd_SaveChatotCry
.word ScrCmd_Unk005D
.word ScrCmd_Unk005E
.word ScrCmd_Unk005F
@@ -263,12 +263,12 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_GiveMoney
.word ScrCmd_TakeMoneyImmediate
.word ScrCmd_HasEnoughMoneyImmediate
- .word ScrCmd_Unk0072
- .word ScrCmd_Unk0073
- .word ScrCmd_Unk0074
- .word ScrCmd_Unk0075
- .word ScrCmd_Unk0076
- .word ScrCmd_Unk0077
+ .word ScrCmd_ShowMoneyBox
+ .word ScrCmd_HideMoneyBox
+ .word ScrCmd_UpdateMoneyBox
+ .word ScrCmd_ShowCoinBox
+ .word ScrCmd_HideCoinBox
+ .word ScrCmd_UpdateCoinBox
.word ScrCmd_GetCoins
.word ScrCmd_GiveCoins
.word ScrCmd_TakeCoinsImmediate
@@ -280,22 +280,22 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_GetItemPocketId
.word ScrCmd_Unk0081
.word ScrCmd_Unk0082
- .word ScrCmd_Unk0083
- .word ScrCmd_Unk0084
- .word ScrCmd_Unk0085
- .word ScrCmd_Unk0086
- .word ScrCmd_Unk0087
- .word ScrCmd_Unk0088
- .word ScrCmd_Unk0089
- .word ScrCmd_Unk008A
- .word ScrCmd_Unk008B
- .word ScrCmd_Unk008C
- .word ScrCmd_Unk008D
- .word ScrCmd_Unk008E
- .word ScrCmd_Unk008F
- .word ScrCmd_Unk0090
- .word ScrCmd_Unk0091
- .word ScrCmd_Unk0092
+ .word ScrCmd_GiveSecretBaseDecoration
+ .word ScrCmd_TakeSecretBaseDecoration
+ .word ScrCmd_HasSpaceForDecoration
+ .word ScrCmd_GetDecorationCount
+ .word ScrCmd_GiveUndergroundTrap
+ .word ScrCmd_TakeUndergroundTrap
+ .word ScrCmd_HasSpaceForTrap
+ .word ScrCmd_GetTrapCount
+ .word ScrCmd_GiveTreasure
+ .word ScrCmd_TakeTreasure
+ .word ScrCmd_HasSpaceForTreasure
+ .word ScrCmd_GetTreasureCount
+ .word ScrCmd_GiveUndergroundSphere
+ .word ScrCmd_TakeUndergroundSphere
+ .word ScrCmd_HasSpaceForSphere
+ .word ScrCmd_GetSphereCount
.word ScrCmd_Unk0093
.word ScrCmd_Unk0094
.word ScrCmd_Unk0095
@@ -357,25 +357,25 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_GetPlayerName
.word ScrCmd_GetRivalName
.word ScrCmd_GetFriendName
- .word ScrCmd_Unk00D0
+ .word ScrCmd_GetPokemonName
.word ScrCmd_GetItemName
.word ScrCmd_GetPocketName
.word ScrCmd_GetTMHMMoveName
.word ScrCmd_GetMoveName
.word ScrCmd_Unk00D5
- .word ScrCmd_Unk00D6
+ .word ScrCmd_GetPokemonNickname
.word ScrCmd_GetPoketchAppName
.word ScrCmd_GetTrainerClassName
.word ScrCmd_Unk00D9
.word ScrCmd_Unk00DA
- .word ScrCmd_Unk00DB
- .word ScrCmd_Unk00DC
- .word ScrCmd_Unk00DD
+ .word ScrCmd_GetPlayerStarterName
+ .word ScrCmd_GetRivalStarterName
+ .word ScrCmd_GetCounterpartStarterName
.word ScrCmd_Unk00DE
.word ScrCmd_GetDecorationName
.word ScrCmd_GetUndergroundTrapName
.word ScrCmd_GetUndergroundItemName
- .word ScrCmd_Unk00E2
+ .word ScrCmd_GetMapName
.word ScrCmd_Unk00E3
.word ScrCmd_Unk00E4
.word ScrCmd_Unk00E5
@@ -494,28 +494,28 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk0156
.word ScrCmd_HasSinnohDex
.word ScrCmd_GiveSinnohDex
- .word ScrCmd_Unk0159
- .word ScrCmd_Unk015A
+ .word ScrCmd_HasRunningShoes
+ .word ScrCmd_GiveRunningShoes
.word ScrCmd_HasBadge
.word ScrCmd_GiveBadge
.word ScrCmd_GetTotalEarnedBadges
- .word ScrCmd_Unk015E
- .word ScrCmd_Unk015F
+ .word ScrCmd_GiveBag
+ .word ScrCmd_HasBag
.word ScrCmd_Unk0160
.word ScrCmd_Unk0161
.word ScrCmd_Unk0162
.word ScrCmd_Unk0163
.word ScrCmd_Unk0164
.word ScrCmd_Unk0165
- .word ScrCmd_Unk0166
- .word ScrCmd_Unk0167
+ .word ScrCmd_CheckGameCompleted
+ .word ScrCmd_SetGameCompleted
.word ScrCmd_Unk0168
.word ScrCmd_Unk0169
.word ScrCmd_Unk016A
.word ScrCmd_Unk016B
.word ScrCmd_Unk016C
- .word ScrCmd_Unk016D
- .word ScrCmd_Unk016E
+ .word ScrCmd_GetDaycarePokemonNames
+ .word ScrCmd_GetDaycareStatus
.word ScrCmd_Unk016F
.word ScrCmd_Unk0170
.word ScrCmd_Unk0171
@@ -528,17 +528,17 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk0178
.word ScrCmd_Unk0179
.word ScrCmd_Unk017A
- .word ScrCmd_Unk017B
+ .word ScrCmd_GetBerryName
.word ScrCmd_GetNatureName
- .word ScrCmd_Unk017D
- .word ScrCmd_Unk017E
- .word ScrCmd_Unk017F
- .word ScrCmd_Unk0180
- .word ScrCmd_Unk0181
- .word ScrCmd_Unk0182
- .word ScrCmd_Unk0183
+ .word ScrCmd_GetBerryTreeGrowth
+ .word ScrCmd_GetBerryTreeType
+ .word ScrCmd_GetBerryTreeMulch
+ .word ScrCmd_GetBerryTreeWater
+ .word ScrCmd_GetBerryTreeAmount
+ .word ScrCmd_SetBerryTreeMulch
+ .word ScrCmd_SetBerryTreeType
.word ScrCmd_Unk0184
- .word ScrCmd_Unk0185
+ .word ScrCmd_TakeBerryTreeBerries
.word ScrCmd_Unk0186
.word ScrCmd_Unk0187
.word ScrCmd_Unk0188
@@ -573,13 +573,13 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk01A5
.word ScrCmd_Unk01A6
.word ScrCmd_Unk01A7
- .word ScrCmd_Unk01A8
- .word ScrCmd_Unk01A9
+ .word ScrCmd_DeleteDaycareEgg
+ .word ScrCmd_GiveDaycareEgg
.word ScrCmd_Unk01AA
.word ScrCmd_HasEnoughMoneyAddress
.word ScrCmd_Unk01AC
.word ScrCmd_Unk01AD
- .word ScrCmd_Unk01AE
+ .word ScrCmd_GetDaycareLevel
.word ScrCmd_Unk01AF
.word ScrCmd_Unk01B0
.word ScrCmd_Unk01B1
@@ -612,9 +612,9 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk01CC
.word ScrCmd_Unk01CD
.word ScrCmd_Unk01CE
- .word ScrCmd_Unk01CF
- .word ScrCmd_Unk01D0
- .word ScrCmd_Unk01D1
+ .word ScrCmd_GetSetStrength
+ .word ScrCmd_GetSetFlash
+ .word ScrCmd_GetSetDefog
.word ScrCmd_Unk01D2
.word ScrCmd_Unk01D3
.word ScrCmd_Unk01D4
@@ -646,11 +646,11 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk01EE
.word ScrCmd_Unk01EF
.word ScrCmd_Unk01F0
- .word ScrCmd_Unk01F1
+ .word ScrCmd_CountFossils
.word ScrCmd_Unk01F2
.word ScrCmd_Unk01F3
- .word ScrCmd_Unk01F4
- .word ScrCmd_Unk01F5
+ .word ScrCmd_GetFossilPokemon
+ .word ScrCmd_GetFossilMinimumAmount
.word ScrCmd_CountPartyMonsAtOrBelowLevel
.word ScrCmd_SurvivePsn
.word ScrCmd_Unk01F8
@@ -711,7 +711,7 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk022F
.word ScrCmd_Unk0230
.word ScrCmd_Unk0231
- .word ScrCmd_Unk0232
+ .word ScrCmd_GetRibbonName
.word ScrCmd_Unk0233
.word ScrCmd_Unk0234
.word ScrCmd_Unk0235
@@ -770,12 +770,12 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk026A
.word ScrCmd_Unk026B
.word ScrCmd_Unk026C
- .word ScrCmd_Unk026D
+ .word ScrCmd_MessageUnown
.word ScrCmd_Unk026E
.word ScrCmd_Unk026F
.word ScrCmd_Unk0270
.word ScrCmd_Unk0271
- .word ScrCmd_Unk0272
+ .word ScrCmd_GetWhiteRockInscription
.word ScrCmd_Unk0273
.word ScrCmd_HasEnoughCoinsImmediate
.word ScrCmd_Unk0275
@@ -792,7 +792,7 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk0280
.word ScrCmd_Unk0281
.word ScrCmd_Unk0282
- .word ScrCmd_Unk0283
+ .word ScrCmd_SetVolume
.word ScrCmd_Unk0284
.word ScrCmd_Unk0285
.word ScrCmd_Unk0286
diff --git a/arm9/asm/unk_0206C700.s b/arm9/asm/unk_0206C700.s
index 8f7699de..6b5cf9d8 100644
--- a/arm9/asm/unk_0206C700.s
+++ b/arm9/asm/unk_0206C700.s
@@ -2719,7 +2719,7 @@ _0206DDDC:
b _0206DDFA
_0206DDE4:
ldr r0, _0206DE00 ; =0x00000484
- bl PlayBGM
+ bl PlaySound
b _0206DDFA
_0206DDEC:
ldr r0, _0206DE04 ; =0x000005E6
@@ -2727,7 +2727,7 @@ _0206DDEC:
b _0206DDFA
_0206DDF4:
ldr r0, _0206DE08 ; =0x00000483
- bl PlayBGM
+ bl PlaySound
_0206DDFA:
add r0, r4, #0x0
pop {r4, pc}
diff --git a/arm9/asm/unk_02072548.s b/arm9/asm/unk_02072548.s
index 7cbbce8f..a08d279d 100644
--- a/arm9/asm/unk_02072548.s
+++ b/arm9/asm/unk_02072548.s
@@ -1717,7 +1717,7 @@ _020732A6:
b _020732BE
_020732AE:
ldr r0, _020732C8 ; =0x00000483
- bl PlayBGM
+ bl PlaySound
b _020732BE
_020732B6:
ldr r0, _020732C4 ; =0x000005E6
diff --git a/arm9/asm/unk_02086FA8.s b/arm9/asm/unk_02086FA8.s
index f164c88f..5e0a8dfa 100644
--- a/arm9/asm/unk_02086FA8.s
+++ b/arm9/asm/unk_02086FA8.s
@@ -185,7 +185,7 @@ _0208710E:
cmp r0, #0x0
bne _0208712A
ldr r0, _02087244 ; =0x00000484
- bl PlayBGM
+ bl PlaySound
ldr r0, [r4, #0x5c]
add r0, r0, #0x1
str r0, [r4, #0x5c]
@@ -470,7 +470,7 @@ _02087362:
cmp r0, #0x0
bne _0208737E
ldr r0, _02087498 ; =0x00000484
- bl PlayBGM
+ bl PlaySound
ldr r0, [r4, #0x5c]
add r0, r0, #0x1
str r0, [r4, #0x5c]
diff --git a/arm9/global.inc b/arm9/global.inc
index d48e5c2e..c2c188be 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -360,7 +360,7 @@
.extern FUN_02005614
.extern FUN_02005670
.extern FUN_020056AC
-.extern PlayBGM
+.extern PlaySound
.extern FUN_02005CBC
.extern FUN_02005CFC
.extern FUN_02005D20
@@ -2745,7 +2745,7 @@
.extern ScrCmd_Unk01FD
.extern ScrCmd_Unk01FE
.extern ScrCmd_Unk01FF
-.extern ScrCmd_Unk026D
+.extern ScrCmd_MessageUnown
.extern ScrCmd_Unk002C
.extern ScrCmd_Unk002D
.extern ScrCmd_Unk02C0
@@ -2755,9 +2755,9 @@
.extern ScrCmd_WaitButtonAB
.extern ScrCmd_WaitButtonABTime
.extern ScrCmd_WaitButton
-.extern ScrCmd_Unk0032
+.extern ScrCmd_WaitButtonABPad
.extern ScrCmd_Unk0033
-.extern ScrCmd_Unk0034
+.extern ScrCmd_CloseMessageBox
.extern ScrCmd_Unk0035
.extern ScrCmd_ScrollBg
.extern ScrCmd_CreateMessageBox
@@ -3155,32 +3155,32 @@
.extern ScrCmd_GetPlayerName
.extern ScrCmd_GetRivalName
.extern ScrCmd_GetFriendName
-.extern ScrCmd_Unk00D0
+.extern ScrCmd_GetPokemonName
.extern ScrCmd_GetItemName
.extern ScrCmd_GetPocketName
.extern ScrCmd_GetTMHMMoveName
.extern ScrCmd_GetMoveName
.extern ScrCmd_Unk00D5
.extern ScrCmd_Unk0280
-.extern ScrCmd_Unk00D6
+.extern ScrCmd_GetPokemonNickname
.extern ScrCmd_Unk0251
.extern ScrCmd_GetPoketchAppName
.extern ScrCmd_GetTrainerClassName
.extern ScrCmd_Unk00D9
.extern ScrCmd_Unk00DA
-.extern ScrCmd_Unk00DB
-.extern ScrCmd_Unk00DC
-.extern ScrCmd_Unk00DD
+.extern ScrCmd_GetPlayerStarterName
+.extern ScrCmd_GetRivalStarterName
+.extern ScrCmd_GetCounterpartStarterName
.extern ScrCmd_GetDecorationName
.extern ScrCmd_GetUndergroundTrapName
.extern ScrCmd_GetUndergroundItemName
-.extern ScrCmd_Unk00E2
-.extern ScrCmd_Unk017B
+.extern ScrCmd_GetMapName
+.extern ScrCmd_GetBerryName
.extern ScrCmd_GetNatureName
.extern ScrCmd_GetFashionName
-.extern ScrCmd_Unk0272
+.extern ScrCmd_GetWhiteRockInscription
.extern ScrCmd_GetPokemonMoveName
-.extern ScrCmd_Unk0232
+.extern ScrCmd_GetRibbonName
.extern ScrCmd_GetSealName
.extern ScrCmd_GetItemNameWithIndefArticle
.extern ScrCmd_GetItemNamePlural
@@ -3197,28 +3197,28 @@
.extern ScrCmd_Unk024F
.extern ScrCmd_Unk0250
.extern ScrCmd_Unk02AE
-.extern ScrCmd_Unk0050
-.extern ScrCmd_Unk0051
-.extern ScrCmd_Unk0052
+.extern ScrCmd_PlayBgm
+.extern ScrCmd_StopBgm
+.extern ScrCmd_PlayDefaultBgm
.extern ScrCmd_Unk0053
-.extern ScrCmd_Unk0054
-.extern ScrCmd_Unk0055
+.extern ScrCmd_FadeOutBgm
+.extern ScrCmd_FadeInBgm
.extern ScrCmd_Unk0056
.extern ScrCmd_Unk0057
.extern ScrCmd_Unk0058
-.extern ScrCmd_Unk0049
-.extern ScrCmd_Unk004A
-.extern ScrCmd_Unk004B
-.extern ScrCmd_Unk004C
+.extern ScrCmd_PlayFanfare
+.extern ScrCmd_StopFanfare
+.extern ScrCmd_PlayFanfareWait
+.extern ScrCmd_PlayCry
.extern ScrCmd_PlayCryWait
-.extern ScrCmd_PlayBgm
-.extern ScrCmd_Unk004F
-.extern ScrCmd_Unk0059
-.extern ScrCmd_Unk005A
-.extern ScrCmd_Unk005B
-.extern ScrCmd_Unk005C
+.extern ScrCmd_PlaySound
+.extern ScrCmd_PlaySoundWait
+.extern ScrCmd_CheckChatotCry
+.extern ScrCmd_StartChatotRecord
+.extern ScrCmd_StopChatotRecord
+.extern ScrCmd_SaveChatotCry
.extern ScrCmd_Unk005D
-.extern ScrCmd_Unk0283
+.extern ScrCmd_SetVolume
.extern ScrCmd_Unk00B6
.extern ScrCmd_Unk00B7
.extern ScrCmd_Unk00B8
@@ -3264,23 +3264,23 @@
.extern ScrCmd_Unk0299
.extern ScrCmd_Unk029A
.extern ScrCmd_Unk029B
-.extern ScrCmd_Unk017D
-.extern ScrCmd_Unk017E
-.extern ScrCmd_Unk017F
-.extern ScrCmd_Unk0180
-.extern ScrCmd_Unk0181
-.extern ScrCmd_Unk0182
-.extern ScrCmd_Unk0183
+.extern ScrCmd_GetBerryTreeGrowth
+.extern ScrCmd_GetBerryTreeType
+.extern ScrCmd_GetBerryTreeMulch
+.extern ScrCmd_GetBerryTreeWater
+.extern ScrCmd_GetBerryTreeAmount
+.extern ScrCmd_SetBerryTreeMulch
+.extern ScrCmd_SetBerryTreeType
.extern ScrCmd_Unk0184
-.extern ScrCmd_Unk0185
+.extern ScrCmd_TakeBerryTreeBerries
.extern ScrCmd_Unk023E
.extern ScrCmd_Unk0253
.extern ScrCmd_Unk0254
.extern ScrCmd_Unk0255
.extern ScrCmd_Unk0256
-.extern ScrCmd_Unk0075
-.extern ScrCmd_Unk0076
-.extern ScrCmd_Unk0077
+.extern ScrCmd_ShowCoinBox
+.extern ScrCmd_HideCoinBox
+.extern ScrCmd_UpdateCoinBox
.extern ScrCmd_GetCoins
.extern ScrCmd_GiveCoins
.extern ScrCmd_TakeCoinsImmediate
@@ -3293,16 +3293,16 @@
.extern ScrCmd_TakeMoneyAddress
.extern ScrCmd_HasEnoughMoneyImmediate
.extern ScrCmd_HasEnoughMoneyAddress
-.extern ScrCmd_Unk0072
-.extern ScrCmd_Unk0073
-.extern ScrCmd_Unk0074
-.extern ScrCmd_Unk016D
-.extern ScrCmd_Unk016E
-.extern ScrCmd_Unk01A8
-.extern ScrCmd_Unk01A9
+.extern ScrCmd_ShowMoneyBox
+.extern ScrCmd_HideMoneyBox
+.extern ScrCmd_UpdateMoneyBox
+.extern ScrCmd_GetDaycarePokemonNames
+.extern ScrCmd_GetDaycareStatus
+.extern ScrCmd_DeleteDaycareEgg
+.extern ScrCmd_GiveDaycareEgg
.extern ScrCmd_Unk01A4
.extern ScrCmd_Unk01AA
-.extern ScrCmd_Unk01AE
+.extern ScrCmd_GetDaycareLevel
.extern ScrCmd_Unk01AF
.extern ScrCmd_Unk01B0
.extern ScrCmd_Unk01BC
@@ -3352,32 +3352,32 @@
.extern ScrCmd_Unk0231
.extern ScrCmd_Unk02B7
.extern ScrCmd_Unk00A0
-.extern ScrCmd_Unk01F1
-.extern ScrCmd_Unk01F4
-.extern ScrCmd_Unk01F5
+.extern ScrCmd_CountFossils
+.extern ScrCmd_GetFossilPokemon
+.extern ScrCmd_GetFossilMinimumAmount
.extern ScrCmd_Unk01F2
.extern ScrCmd_Unk01F3
.extern ScrCmd_Unk02A6
.extern ScrCmd_HasSinnohDex
.extern ScrCmd_GiveSinnohDex
-.extern ScrCmd_Unk0159
-.extern ScrCmd_Unk015A
+.extern ScrCmd_HasRunningShoes
+.extern ScrCmd_GiveRunningShoes
.extern ScrCmd_HasBadge
.extern ScrCmd_GiveBadge
-.extern ScrCmd_Unk015E
+.extern ScrCmd_GiveBag
.extern ScrCmd_GetTotalEarnedBadges
-.extern ScrCmd_Unk015F
+.extern ScrCmd_HasBag
.extern ScrCmd_Unk0160
.extern ScrCmd_Unk0161
.extern ScrCmd_Unk0162
.extern ScrCmd_Unk0163
.extern ScrCmd_Unk0164
.extern ScrCmd_Unk0165
-.extern ScrCmd_Unk0166
-.extern ScrCmd_Unk0167
-.extern ScrCmd_Unk01CF
-.extern ScrCmd_Unk01D0
-.extern ScrCmd_Unk01D1
+.extern ScrCmd_CheckGameCompleted
+.extern ScrCmd_SetGameCompleted
+.extern ScrCmd_GetSetStrength
+.extern ScrCmd_GetSetFlash
+.extern ScrCmd_GetSetDefog
.extern ScrCmd_GiveItem
.extern ScrCmd_TakeItem
.extern ScrCmd_HasSpaceForItem
@@ -3386,22 +3386,22 @@
.extern ScrCmd_GetItemPocketId
.extern ScrCmd_Unk0081
.extern ScrCmd_Unk0082
-.extern ScrCmd_Unk0083
-.extern ScrCmd_Unk0084
-.extern ScrCmd_Unk0085
-.extern ScrCmd_Unk0086
-.extern ScrCmd_Unk0087
-.extern ScrCmd_Unk0088
-.extern ScrCmd_Unk0089
-.extern ScrCmd_Unk008A
-.extern ScrCmd_Unk008B
-.extern ScrCmd_Unk008C
-.extern ScrCmd_Unk008D
-.extern ScrCmd_Unk008E
-.extern ScrCmd_Unk008F
-.extern ScrCmd_Unk0090
-.extern ScrCmd_Unk0091
-.extern ScrCmd_Unk0092
+.extern ScrCmd_GiveSecretBaseDecoration
+.extern ScrCmd_TakeSecretBaseDecoration
+.extern ScrCmd_HasSpaceForDecoration
+.extern ScrCmd_GetDecorationCount
+.extern ScrCmd_GiveUndergroundTrap
+.extern ScrCmd_TakeUndergroundTrap
+.extern ScrCmd_HasSpaceForTrap
+.extern ScrCmd_GetTrapCount
+.extern ScrCmd_GiveTreasure
+.extern ScrCmd_TakeTreasure
+.extern ScrCmd_HasSpaceForTreasure
+.extern ScrCmd_GetTreasureCount
+.extern ScrCmd_GiveUndergroundSphere
+.extern ScrCmd_TakeUndergroundSphere
+.extern ScrCmd_HasSpaceForSphere
+.extern ScrCmd_GetSphereCount
.extern ScrCmd_Unk01C6
.extern ScrCmd_Unk01C7
.extern ScrCmd_Unk021E
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index 5afae6a8..6fbee88b 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -38774,7 +38774,7 @@ _0224C476:
mov r2, #0
bl MOD05_021DA4EC
ldr r0, _0224C51C ; =0x0000048E
- bl PlayBGM
+ bl PlaySound
ldrb r0, [r4, #0xf]
add r0, r0, #1
strb r0, [r4, #0xf]
diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s
index 88362b01..451daa87 100644
--- a/arm9/modules/11/asm/module_11_thumb2.s
+++ b/arm9/modules/11/asm/module_11_thumb2.s
@@ -6258,7 +6258,7 @@ _02232234:
b _02232252
_0223223C:
ldr r0, _02232258 ; =0x00000484
- bl PlayBGM
+ bl PlaySound
b _02232252
_02232244:
ldr r0, _0223225C ; =0x000005E6
@@ -6266,7 +6266,7 @@ _02232244:
b _02232252
_0223224C:
ldr r0, _02232260 ; =0x00000483
- bl PlayBGM
+ bl PlaySound
_02232252:
add r0, r4, #0
pop {r4, pc}
diff --git a/arm9/modules/16/asm/module_16.s b/arm9/modules/16/asm/module_16.s
index 4fb65b68..9417b6bd 100644
--- a/arm9/modules/16/asm/module_16.s
+++ b/arm9/modules/16/asm/module_16.s
@@ -9944,9 +9944,9 @@ _021DBD82:
add r0, sp, #8
str r0, [sp, #4]
.ifdef DIAMOND
- mov r0, #0x8b
+ mov r0, #0x8b ; NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_DIAMOND
.else
- mov r0, #0x8c
+ mov r0, #0x8c ; NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_PEARL
.endif
add r1, r5, r1
bl GfGfxLoader_LoadFromNarc_GetSizeOut
@@ -9999,9 +9999,9 @@ MOD16_021DBDE4: ; 0x021DBDE4
add r0, sp, #8
str r0, [sp, #4]
.ifdef DIAMOND
- mov r0, #0x8b
+ mov r0, #0x8b ; NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_DIAMOND
.else
- mov r0, #0x8c
+ mov r0, #0x8c ; NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_PEARL
.endif
add r2, r1, #0
bl GfGfxLoader_LoadFromNarc_GetSizeOut
@@ -10027,9 +10027,9 @@ MOD16_021DBE0C: ; 0x021DBE0C
add r0, sp, #8
str r0, [sp, #4]
.ifdef DIAMOND
- mov r0, #0x8b
+ mov r0, #0x8b ; NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_DIAMOND
.else
- mov r0, #0x8c
+ mov r0, #0x8c ; NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_PEARL
.endif
mov r1, #2
bl GfGfxLoader_LoadFromNarc_GetSizeOut
diff --git a/arm9/modules/76/asm/module_76.s b/arm9/modules/76/asm/module_76.s
index 38055b90..06e6303e 100644
--- a/arm9/modules/76/asm/module_76.s
+++ b/arm9/modules/76/asm/module_76.s
@@ -2105,7 +2105,7 @@ _021D85BE:
b _021D85D6
_021D85C6:
ldr r0, _021D85E0 ; =0x00000483
- bl PlayBGM
+ bl PlaySound
b _021D85D6
_021D85CE:
ldr r0, _021D85DC ; =0x000005E6
diff --git a/arm9/modules/81/asm/module_81.s b/arm9/modules/81/asm/module_81.s
index 01caab99..599ede77 100644
--- a/arm9/modules/81/asm/module_81.s
+++ b/arm9/modules/81/asm/module_81.s
@@ -9611,7 +9611,7 @@ _0223C982:
add r0, #0x48
bl CopyWindowToVram
ldr r0, _0223CA90 ; =0x00000484
- bl PlayBGM
+ bl PlaySound
mov r0, #0
str r0, [r4, #8]
mov r0, #1
diff --git a/arm9/src/main.c b/arm9/src/main.c
index 1421ac48..fa35c81c 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -16,7 +16,6 @@
#include "unk_0202F150.h"
#include "module_52.h"
-
FS_EXTERN_OVERLAY(MODULE_52);
FS_EXTERN_OVERLAY(MODULE_63);
diff --git a/arm9/src/scrcmd.c b/arm9/src/scrcmd.c
index 75ddbc8e..7adb1fe8 100644
--- a/arm9/src/scrcmd.c
+++ b/arm9/src/scrcmd.c
@@ -578,7 +578,7 @@ THUMB_FUNC BOOL ScrCmd_Unk01FF(struct ScriptContext *ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk026D(struct ScriptContext *ctx) //message unown font?
+THUMB_FUNC BOOL ScrCmd_MessageUnown(struct ScriptContext *ctx)
{
struct UnkStruct_0203A288 myLocalStruct;
u16 msg = ScriptReadHalfword(ctx);
@@ -743,7 +743,7 @@ THUMB_FUNC static BOOL FUN_0203A4E0(struct ScriptContext *ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0032(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_WaitButtonABPad(struct ScriptContext *ctx)
{
SetupNativeScript(ctx, FUN_0203A570);
return TRUE;
@@ -773,7 +773,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0033(struct ScriptContext *ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0034(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_CloseMessageBox(struct ScriptContext* ctx)
{
struct UnkSavStruct80 *unk80 = ctx->unk80;
struct Window *unk = FUN_02039438(unk80, 0x1);
@@ -1302,7 +1302,7 @@ THUMB_FUNC BOOL ScrCmd_Unk02D0(struct ScriptContext *ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk005E(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_Unk005E(struct ScriptContext *ctx) //ApplyMovement?
{
u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u32 unk2 = ScriptReadWord(ctx);
diff --git a/arm9/src/scrcmd_8.c b/arm9/src/scrcmd_8.c
index ba35b302..0c47594b 100644
--- a/arm9/src/scrcmd_8.c
+++ b/arm9/src/scrcmd_8.c
@@ -8,51 +8,52 @@ extern void FUN_020385CC(struct UnkStruct_0204639C*, u32, u32, u32, u32, u16*, u
extern BOOL FUN_020612EC(struct UnkSavStruct80*);
extern BOOL FUN_020612F8(struct UnkSavStruct80*);
-THUMB_FUNC BOOL ScrCmd_Unk021D(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_Unk021D(struct ScriptContext* ctx) //docs has this command as ScrCmd_Group, with a comment saying
+ //"This command is the devil"
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
struct UnkSaveStruct_020286F8* unk_sav_ptr = FUN_0202881C(ctx->unk80->saveBlock2);
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
- u16 unk = ScriptReadHalfword(ctx);
- switch (unk)
+ u16 option = ScriptReadHalfword(ctx);
+ switch (option)
{
- case 0: {
+ case 0: { //check if group ID exists
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_02028828(unk_sav_ptr, unk_var);
return FALSE;
}
- case 1: {
+ case 1: { //check if group ID is accessible
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_02028840(unk_sav_ptr, unk_var);
return FALSE;
}
- case 2: {
+ case 2: { //writes group ID to string buffer
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
BufferEasyChatWord(*mgr, sav2, unk_var, idx, 0);
break;
}
- case 3: {
+ case 3: { //writes group leader name to string buffer
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
BufferEasyChatWord(*mgr, sav2, unk_var, idx, 1);
break;
}
- case 4: {
+ case 4: { //opens keyboard, 2 if group id exists, 1 if cancel, 0 otherwise
u16* unk_str_ptr = FUN_020287A8(unk_sav_ptr, 0, 0);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
FUN_020385CC(ctx->unk74, 5, 0, 7, 0, unk_str_ptr, ret_ptr);
return TRUE;
}
- case 5: {
+ case 5: { //enter in group id (whatever this means, needs more investigation)
u16 src_idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
BOOL unk_bool = FUN_02028828(unk_sav_ptr, 1);
@@ -64,7 +65,7 @@ THUMB_FUNC BOOL ScrCmd_Unk021D(struct ScriptContext* ctx)
return FALSE;
}
- case 6: {
+ case 6: { //create a group
struct String* player_name = String_ctor(64, 32);
struct PlayerData* player = Sav2_PlayerData_GetProfileAddr(ctx->unk80->saveBlock2);
diff --git a/arm9/src/scrcmd_11.c b/arm9/src/scrcmd_berry_trees.c
index 8553adfa..53715ca1 100644
--- a/arm9/src/scrcmd_11.c
+++ b/arm9/src/scrcmd_berry_trees.c
@@ -16,7 +16,7 @@ extern void FUN_0204B5A8(struct UnkSavStruct80*, void*, u16);
extern void FUN_0204B9A0(struct UnkSavStruct80*);
extern void FUN_0204B4FC(struct UnkSavStruct80*, void*);
-THUMB_FUNC BOOL ScrCmd_Unk017D(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeGrowth(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
void** unk = FUN_02039438(ctx->unk80, 10);
@@ -26,7 +26,7 @@ THUMB_FUNC BOOL ScrCmd_Unk017D(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk017E(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeType(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -36,7 +36,7 @@ THUMB_FUNC BOOL ScrCmd_Unk017E(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk017F(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeMulch(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -46,7 +46,7 @@ THUMB_FUNC BOOL ScrCmd_Unk017F(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0180(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeWater(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -56,7 +56,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0180(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0181(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeAmount(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -66,7 +66,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0181(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0182(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SetBerryTreeMulch(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16 unk2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -76,7 +76,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0182(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0183(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SetBerryTreeType(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
struct UnkStruct_02029FB0* unk2 = FUN_02029FC8(ctx->unk80->saveBlock2);
@@ -88,7 +88,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0183(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0184(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_Unk0184(struct ScriptContext* ctx) //SetBerryTreeWater/WaterBerryTree, or just the animation?
{
u16 unk = ScriptReadHalfword(ctx);
@@ -108,7 +108,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0184(struct ScriptContext* ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0185(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeBerryTreeBerries(struct ScriptContext* ctx)
{
struct UnkStruct_02029FB0* unk = FUN_02029FC8(ctx->unk80->saveBlock2);
void** unk2 = FUN_02039438(ctx->unk80, 10);
diff --git a/arm9/src/scrcmd_coins.c b/arm9/src/scrcmd_coins.c
index 59638c83..f4fea1de 100644
--- a/arm9/src/scrcmd_coins.c
+++ b/arm9/src/scrcmd_coins.c
@@ -7,7 +7,7 @@ extern u32 MOD05_021E2950(struct UnkSavStruct80* arg, u8, u8);
extern MOD05_021E29B4();
extern MOD05_021E29C8();
-THUMB_FUNC BOOL ScrCmd_Unk0075(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_ShowCoinBox(struct ScriptContext * ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
u32 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -20,7 +20,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0075(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0076(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_HideCoinBox(struct ScriptContext * ctx)
{
u16 ** unk = FUN_02039438(ctx->unk80, 0x26);
MOD05_021E29B4(*unk);
@@ -28,7 +28,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0076(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0077(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_UpdateCoinBox(struct ScriptContext * ctx)
{
u16 ** unk = FUN_02039438(ctx->unk80, 0x26);
MOD05_021E29C8(ctx->unk80, *unk);
diff --git a/arm9/src/scrcmd_daycare.c b/arm9/src/scrcmd_daycare.c
index 4e2f925e..34abab1e 100644
--- a/arm9/src/scrcmd_daycare.c
+++ b/arm9/src/scrcmd_daycare.c
@@ -17,7 +17,7 @@ extern u16 MOD05_021ED5C4(struct PlayerParty* party, int idx, struct ScrStrBufs*
extern u16 MOD05_021ED5EC(struct DayCare* daycare);
extern u32 MOD05_021ED644(struct DayCare* daycare);
-THUMB_FUNC BOOL ScrCmd_Unk016D(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetDaycarePokemonNames(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
@@ -28,7 +28,7 @@ THUMB_FUNC BOOL ScrCmd_Unk016D(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk016E(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetDaycareStatus(struct ScriptContext* ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
struct SaveBlock2* sav2 = sav_ptr->saveBlock2;
@@ -40,7 +40,7 @@ THUMB_FUNC BOOL ScrCmd_Unk016E(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01A8(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_DeleteDaycareEgg(struct ScriptContext* ctx)
{
struct DayCare* daycare = SavArray_get(ctx->unk80->saveBlock2, 8);
MOD05_021ECD64(daycare);
@@ -48,7 +48,7 @@ THUMB_FUNC BOOL ScrCmd_Unk01A8(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01A9(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveDaycareEgg(struct ScriptContext* ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
struct DayCare* daycare = SavArray_get(sav_ptr->saveBlock2, 8);
@@ -90,7 +90,7 @@ THUMB_FUNC BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01AE(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetDaycareLevel(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
diff --git a/arm9/src/scrcmd_flags.c b/arm9/src/scrcmd_flags.c
index c0f6a519..ee13ebc0 100644
--- a/arm9/src/scrcmd_flags.c
+++ b/arm9/src/scrcmd_flags.c
@@ -47,7 +47,7 @@ THUMB_FUNC BOOL ScrCmd_GiveSinnohDex(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0159(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasRunningShoes(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
void* unk_sav_ptr = FUN_02034E30(ctx->unk80->saveBlock2);
@@ -58,7 +58,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0159(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk015A(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveRunningShoes(struct ScriptContext* ctx)
{
void* unk_sav_ptr = FUN_02034E30(ctx->unk80->saveBlock2);
void* unk = FUN_02034E20(unk_sav_ptr);
@@ -91,7 +91,7 @@ THUMB_FUNC BOOL ScrCmd_GiveBadge(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk015E(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveBag(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
@@ -121,7 +121,7 @@ THUMB_FUNC BOOL ScrCmd_GetTotalEarnedBadges(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk015F(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasBag(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
@@ -186,7 +186,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0165(struct ScriptContext* ctx)
return 0;
}
-THUMB_FUNC BOOL ScrCmd_Unk0166(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_CheckGameCompleted(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
@@ -196,7 +196,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0166(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0167(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SetGameCompleted(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
@@ -205,21 +205,21 @@ THUMB_FUNC BOOL ScrCmd_Unk0167(struct ScriptContext* ctx)
return 0;
}
-THUMB_FUNC BOOL ScrCmd_Unk01CF(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetSetStrength(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
- u8 unk = ScriptReadByte(ctx);
+ u8 option = ScriptReadByte(ctx);
u16* ret_ptr;
- switch (unk)
+ switch (option)
{
- case 1:
+ case 1: //set strength to on
FUN_0205F264(state, 1);
break;
- case 0:
+ case 0: //set strength to off
FUN_0205F264(state, 0);
break;
- case 2:
+ case 2: //get whether strength is on or off
ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_0205F264(state, 2);
break;
@@ -231,21 +231,21 @@ THUMB_FUNC BOOL ScrCmd_Unk01CF(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01D0(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetSetFlash(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
- u8 unk = ScriptReadByte(ctx);
+ u8 option = ScriptReadByte(ctx);
u16* ret_ptr;
- switch (unk)
+ switch (option)
{
- case 1:
+ case 1: //set flash to on
FUN_0205F274(state);
break;
- case 0:
+ case 0: //set flash to off
FUN_0205F284(state);
break;
- case 2:
+ case 2: //get whether flash is on or off
ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_0205F294(state);
break;
@@ -257,21 +257,21 @@ THUMB_FUNC BOOL ScrCmd_Unk01D0(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01D1(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetSetDefog(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
- u8 unk = ScriptReadByte(ctx);
+ u8 option = ScriptReadByte(ctx);
u16* ret_ptr;
- switch (unk)
+ switch (option)
{
- case 1:
+ case 1: //set defog to on
FUN_0205F2A4(state);
break;
- case 0:
+ case 0: //set defog to off
FUN_0205F2B4(state);
break;
- case 2:
+ case 2: //get whether defog is on or off
ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_0205F2C4(state);
break;
diff --git a/arm9/src/scrcmd_19.c b/arm9/src/scrcmd_fossils.c
index b0a201b7..e4177382 100644
--- a/arm9/src/scrcmd_19.c
+++ b/arm9/src/scrcmd_fossils.c
@@ -1,45 +1,45 @@
#include "scrcmd.h"
#include "bag.h"
-const u16 UNK_020F450C[7][2] = {
- { 0x0067, 0x008E },
- { 0x0065, 0x008A },
- { 0x0066, 0x008C },
- { 0x0063, 0x0159 },
- { 0x0064, 0x015B },
- { 0x0068, 0x019A },
- { 0x0069, 0x0198 },
+const u16 gFossilPokemonMap[7][2] = {
+ { ITEM_OLD_AMBER, SPECIES_AERODACTYL },
+ { ITEM_HELIX_FOSSIL, SPECIES_OMANYTE },
+ { ITEM_DOME_FOSSIL, SPECIES_KABUTO },
+ { ITEM_ROOT_FOSSIL, SPECIES_LILEEP },
+ { ITEM_CLAW_FOSSIL, SPECIES_ANORITH },
+ { ITEM_ARMOR_FOSSIL, SPECIES_SHIELDON },
+ { ITEM_SKULL_FOSSIL, SPECIES_CRANIDOS },
};
-THUMB_FUNC BOOL ScrCmd_Unk01F1(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_CountFossils(struct ScriptContext * ctx)
{
struct UnkSavStruct80 * sav_ptr = ctx->unk80;
- u16 * ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
+ u16 *ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
u8 i;
u16 total;
for (i = 0, total = 0; i < 7; i++)
{
- total += Bag_GetQuantity(Sav2_Bag_get(sav_ptr->saveBlock2), UNK_020F450C[i][0], 4);
+ total += Bag_GetQuantity(Sav2_Bag_get(sav_ptr->saveBlock2), gFossilPokemonMap[i][0], 4);
}
*ret_ptr = total;
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01F4(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_GetFossilPokemon(struct ScriptContext * ctx)
{
- u16 * ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
- u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
+ u16 *ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
+ u16 fossilId = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = 0;
for (u16 i = 0; i < 7; i++)
{
- if (UNK_020F450C[i][0] == unk)
+ if (gFossilPokemonMap[i][0] == fossilId)
{
- *ret_ptr = UNK_020F450C[i][1];
+ *ret_ptr = gFossilPokemonMap[i][1];
break;
}
}
@@ -47,7 +47,7 @@ THUMB_FUNC BOOL ScrCmd_Unk01F4(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01F5(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_GetFossilMinimumAmount(struct ScriptContext * ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
u16 * ret_ptr1 = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -61,10 +61,10 @@ THUMB_FUNC BOOL ScrCmd_Unk01F5(struct ScriptContext * ctx)
u16 total = 0;
for (; i < 7; i++)
{
- total += Bag_GetQuantity(Sav2_Bag_get(sav_ptr->saveBlock2), UNK_020F450C[i][0], 4);
+ total += Bag_GetQuantity(Sav2_Bag_get(sav_ptr->saveBlock2), gFossilPokemonMap[i][0], 4);
if (total >= needed_amount)
{
- *ret_ptr1 = UNK_020F450C[i][0];
+ *ret_ptr1 = gFossilPokemonMap[i][0];
*ret_ptr2 = i;
break;
}
diff --git a/arm9/src/scrcmd_money.c b/arm9/src/scrcmd_money.c
index d2254844..6f18d65d 100644
--- a/arm9/src/scrcmd_money.c
+++ b/arm9/src/scrcmd_money.c
@@ -82,7 +82,7 @@ THUMB_FUNC BOOL ScrCmd_HasEnoughMoneyAddress(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0072(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_ShowMoneyBox(struct ScriptContext * ctx)
{
struct UnkSavStruct80 * sav_ptr = ctx->unk80;
u32 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -94,7 +94,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0072(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0073(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_HideMoneyBox(struct ScriptContext * ctx)
{
u32 ** unk = FUN_02039438(ctx->unk80, 0x27);
MOD05_021E288C(*unk);
@@ -102,7 +102,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0073(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0074(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_UpdateMoneyBox(struct ScriptContext * ctx)
{
u32 ** unk = FUN_02039438(ctx->unk80, 0x27);
MOD05_021E28A0(ctx->unk80, *unk);
diff --git a/arm9/src/scrcmd_names.c b/arm9/src/scrcmd_names.c
index cf721328..ec1d8c92 100644
--- a/arm9/src/scrcmd_names.c
+++ b/arm9/src/scrcmd_names.c
@@ -53,7 +53,7 @@ THUMB_FUNC BOOL ScrCmd_GetFriendName(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00D0(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetPokemonName(struct ScriptContext* ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
struct ScrStrBufs** mgr = FUN_02039438(sav_ptr, 15);
@@ -145,7 +145,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0280(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00D6(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetPokemonNickname(struct ScriptContext* ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
struct ScrStrBufs** mgr = FUN_02039438(sav_ptr, 15);
@@ -237,7 +237,7 @@ THUMB_FUNC struct String* FUN_02040AE4(u32 msg_no, u32 heap_id)
return ret;
}
-THUMB_FUNC BOOL ScrCmd_Unk00DB(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetPlayerStarterName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -251,7 +251,7 @@ THUMB_FUNC BOOL ScrCmd_Unk00DB(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00DC(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetRivalStarterName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -265,7 +265,7 @@ THUMB_FUNC BOOL ScrCmd_Unk00DC(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00DD(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetCounterpartStarterName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -312,7 +312,7 @@ THUMB_FUNC BOOL ScrCmd_GetUndergroundItemName(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00E2(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetMapName(struct ScriptContext* ctx)
{
struct String* str = String_ctor(22, 4);
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
@@ -326,7 +326,7 @@ THUMB_FUNC BOOL ScrCmd_Unk00E2(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk017B(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -362,7 +362,7 @@ THUMB_FUNC BOOL ScrCmd_GetFashionName(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0272(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetWhiteRockInscription(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -393,7 +393,7 @@ THUMB_FUNC BOOL ScrCmd_GetPokemonMoveName(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0232(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetRibbonName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
diff --git a/arm9/src/scrcmd_sound.c b/arm9/src/scrcmd_sound.c
index df611ec7..ec5ab7f8 100644
--- a/arm9/src/scrcmd_sound.c
+++ b/arm9/src/scrcmd_sound.c
@@ -7,7 +7,7 @@ extern void FUN_0200433C(u32, u32, u32);
extern u32 FUN_02005E28(void);
extern void FUN_02005E64(void);
extern BOOL FUN_02005CBC(void);
-extern void PlayBGM(u16);
+extern void PlaySound(u16);
extern u32 FUN_02004124(u16);
extern void FUN_0204AB20(struct UnkSavStruct80 *ctx, u16);
extern u16 FUN_0204ABA8(struct UnkSavStruct80 *ctx, u32);
@@ -38,33 +38,33 @@ THUMB_FUNC BOOL ScrCmd_Unk02AE(struct ScriptContext *ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0050(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_PlayBgm(struct ScriptContext *ctx)
{
FUN_0200521C(ScriptReadHalfword(ctx));
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0051(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_StopBgm(struct ScriptContext *ctx)
{
u32 unk0 = FUN_02004124(ScriptReadHalfword(ctx));
FUN_02005350(unk0, 0);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0052(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_PlayDefaultBgm(struct ScriptContext *ctx)
{
u16 unk0 = FUN_0204ABA8(ctx->unk80, *ctx->unk80->mapId);
FUN_0200521C(unk0);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0053(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_Unk0053(struct ScriptContext *ctx) //Special BGM?
{
FUN_0204AB20(ctx->unk80, ScriptReadHalfword(ctx));
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0054(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_FadeOutBgm(struct ScriptContext *ctx)
{
u16 unk1 = ScriptReadHalfword(ctx);
u16 unk2 = ScriptReadHalfword(ctx);
@@ -85,7 +85,7 @@ THUMB_FUNC BOOL FUN_02041464(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0055(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_FadeInBgm(struct ScriptContext* ctx)
{
u16 unk = ScriptReadHalfword(ctx);
@@ -120,21 +120,21 @@ THUMB_FUNC BOOL ScrCmd_Unk0058(struct ScriptContext* ctx)
}
-THUMB_FUNC BOOL ScrCmd_Unk0049(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlayFanfare(struct ScriptContext* ctx)
{
u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
FUN_020054C8(unk);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk004A(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_StopFanfare(struct ScriptContext* ctx)
{
u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
FUN_020054F0(unk, 0);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk004B(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlayFanfareWait(struct ScriptContext* ctx)
{
u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -152,7 +152,7 @@ THUMB_FUNC BOOL FUN_02041540(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk004C(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlayCry(struct ScriptContext* ctx)
{
u16 unk0 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -176,15 +176,15 @@ THUMB_FUNC BOOL FUN_02041598(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_PlayBgm(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlaySound(struct ScriptContext* ctx)
{
u16 bgm_id = ScriptReadHalfword(ctx);
- PlayBGM(bgm_id);
+ PlaySound(bgm_id);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk004F(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlaySoundWait(struct ScriptContext* ctx)
{
SetupNativeScript(ctx, FUN_020415CC);
return TRUE;
@@ -199,7 +199,7 @@ THUMB_FUNC BOOL FUN_020415CC(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0059(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_CheckChatotCry(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -216,7 +216,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0059(struct ScriptContext* ctx)
}
}
-THUMB_FUNC BOOL ScrCmd_Unk005A(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_StartChatotRecord(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -232,14 +232,14 @@ THUMB_FUNC BOOL ScrCmd_Unk005A(struct ScriptContext* ctx)
}
}
-THUMB_FUNC BOOL ScrCmd_Unk005B(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_StopChatotRecord(struct ScriptContext* ctx)
{
#pragma unused(ctx)
FUN_02005E64();
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk005C(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SaveChatotCry(struct ScriptContext* ctx)
{
void* unk = Sav2_Chatot_get(ctx->unk80->saveBlock2);
FUN_02005E6C(unk);
@@ -254,7 +254,7 @@ THUMB_FUNC BOOL ScrCmd_Unk005D(struct ScriptContext* ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0283(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SetVolume(struct ScriptContext* ctx)
{
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unk2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
diff --git a/arm9/src/scrcmd_23.c b/arm9/src/scrcmd_underground.c
index 0c9907a5..5d273c9b 100644
--- a/arm9/src/scrcmd_23.c
+++ b/arm9/src/scrcmd_underground.c
@@ -6,7 +6,7 @@ extern BOOL FUN_02026298(void*, u16);
extern void* FUN_02026CC4(struct SaveBlock2* sav2);
extern BOOL FUN_020260C4(void*, u16, u16);
-THUMB_FUNC BOOL ScrCmd_Unk0083(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveSecretBaseDecoration(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -19,7 +19,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0083(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0084(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeSecretBaseDecoration(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -28,7 +28,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0084(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0085(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasSpaceForDecoration(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -41,7 +41,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0085(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0086(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetDecorationCount(struct ScriptContext* ctx) //somewhat unsure on name, was originally CheckGoods
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -50,7 +50,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0086(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0087(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveUndergroundTrap(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -63,7 +63,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0087(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0088(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeUndergroundTrap(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -72,7 +72,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0088(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0089(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasSpaceForTrap(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -81,7 +81,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0089(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008A(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetTrapCount(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -90,7 +90,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008A(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008B(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveTreasure(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -101,7 +101,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008B(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008C(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeTreasure(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -110,7 +110,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008C(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008D(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasSpaceForTreasure(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -119,7 +119,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008D(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008E(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetTreasureCount(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -128,7 +128,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008E(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008F(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveUndergroundSphere(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -141,7 +141,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008F(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0090(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeUndergroundSphere(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -150,7 +150,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0090(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0091(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasSpaceForSphere(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -159,7 +159,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0091(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0092(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetSphereCount(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
diff --git a/filesystem.mk b/filesystem.mk
index 2b74f25f..387231bf 100644
--- a/filesystem.mk
+++ b/filesystem.mk
@@ -275,10 +275,13 @@ endif
HOSTFS_FILES := $(NITROFS_FILES:%=files/%)
%.narc:
- $(KNARC) -d $(basename $@)/ -p $@
+ $(KNARC) -d $(basename $@)/ -p $@ -i
%.arc:
- $(KNARC) -d $(basename $@)/ -p $@
+ $(KNARC) -d $(basename $@)/ -p $@ -i
+
+%.naix: %.narc
+files/wazaeffect/we.naix: %.naix: %.arc
O2NARC_TARGETS := \
files/poketool/personal/personal.narc \
@@ -295,8 +298,9 @@ O2NARC_TARGETS := \
ALL_O2NARC_TARGETS := $(O2NARC_TARGETS) \
files/poketool/trainer/trpoke.narc
+O2NARCFLAGS := -i
files/poketool/personal/pms.narc: O2NARCFLAGS = -f
-files/itemtool/itemdata/item_data.narc: O2NARCFLAGS = -p 0xFF
+files/itemtool/itemdata/item_data.narc: O2NARCFLAGS += -p 0xFF
ifeq (,$(NODEP))
$(ALL_O2NARC_TARGETS): dep = $(shell $(SCANINC) -I include -I include-mw -I arm9/lib/include $(patsubst %.narc,%.json.txt,$@))
diff --git a/include/scrcmd.h b/include/scrcmd.h
index 13306ed1..53f40bda 100644
--- a/include/scrcmd.h
+++ b/include/scrcmd.h
@@ -67,7 +67,7 @@ BOOL ScrCmd_Unk01FC(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01FD(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01FE(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01FF(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk026D(struct ScriptContext* ctx);
+BOOL ScrCmd_MessageUnown(struct ScriptContext* ctx);
BOOL ScrCmd_Unk002C(struct ScriptContext* ctx);
BOOL ScrCmd_Unk002D(struct ScriptContext* ctx);
BOOL ScrCmd_Unk02C0(struct ScriptContext* ctx);
@@ -77,9 +77,9 @@ BOOL ScrCmd_Unk002F(struct ScriptContext* ctx);
BOOL ScrCmd_WaitButtonAB(struct ScriptContext* ctx);
BOOL ScrCmd_WaitButtonABTime(struct ScriptContext *ctx);
BOOL ScrCmd_WaitButton(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0032(struct ScriptContext *ctx);
+BOOL ScrCmd_WaitButtonABPad(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0033(struct ScriptContext *ctx);
-BOOL ScrCmd_Unk0034(struct ScriptContext* ctx);
+BOOL ScrCmd_CloseMessageBox(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0035(struct ScriptContext* ctx);
BOOL ScrCmd_ScrollBg(struct ScriptContext* ctx);
BOOL ScrCmd_CreateMessageBox(struct ScriptContext* ctx);
@@ -118,33 +118,33 @@ BOOL ScrCmd_AccessoriesShop(struct ScriptContext * ctx);
BOOL ScrCmd_GetPlayerName(struct ScriptContext* ctx);
BOOL ScrCmd_GetRivalName(struct ScriptContext* ctx);
BOOL ScrCmd_GetFriendName(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk00D0(struct ScriptContext* ctx);
+BOOL ScrCmd_GetPokemonName(struct ScriptContext* ctx);
BOOL ScrCmd_GetItemName(struct ScriptContext* ctx);
BOOL ScrCmd_GetPocketName(struct ScriptContext* ctx);
BOOL ScrCmd_GetTMHMMoveName(struct ScriptContext* ctx);
BOOL ScrCmd_GetMoveName(struct ScriptContext* ctx);
BOOL ScrCmd_Unk00D5(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0280(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk00D6(struct ScriptContext* ctx);
+BOOL ScrCmd_GetPokemonNickname(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0251(struct ScriptContext* ctx);
BOOL ScrCmd_GetPoketchAppName(struct ScriptContext* ctx);
BOOL ScrCmd_GetTrainerClassName(struct ScriptContext* ctx);
BOOL ScrCmd_Unk00D9(struct ScriptContext* ctx);
BOOL ScrCmd_Unk00DA(struct ScriptContext* ctx);
struct String* FUN_02040AE4(u32 msg_no, u32 heap_id);
-BOOL ScrCmd_Unk00DB(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk00DC(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk00DD(struct ScriptContext* ctx);
+BOOL ScrCmd_GetPlayerStarterName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetRivalStarterName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetCounterpartStarterName(struct ScriptContext* ctx);
BOOL ScrCmd_GetDecorationName(struct ScriptContext* ctx);
BOOL ScrCmd_GetUndergroundTrapName(struct ScriptContext* ctx);
BOOL ScrCmd_GetUndergroundItemName(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk00E2(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk017B(struct ScriptContext* ctx);
+BOOL ScrCmd_GetMapName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetBerryName(struct ScriptContext* ctx);
BOOL ScrCmd_GetNatureName(struct ScriptContext* ctx);
BOOL ScrCmd_GetFashionName(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0272(struct ScriptContext* ctx);
+BOOL ScrCmd_GetWhiteRockInscription(struct ScriptContext* ctx);
BOOL ScrCmd_GetPokemonMoveName(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0232(struct ScriptContext* ctx);
+BOOL ScrCmd_GetRibbonName(struct ScriptContext* ctx);
BOOL ScrCmd_GetSealName(struct ScriptContext* ctx);
BOOL ScrCmd_GetItemNameWithIndefArticle(struct ScriptContext* ctx);
BOOL ScrCmd_GetItemNamePlural(struct ScriptContext* ctx);
@@ -160,46 +160,46 @@ BOOL ScrCmd_CapitalizeFirstChar(struct ScriptContext* ctx);
//scrcmd_sound.c
BOOL ScrCmd_Unk02AE(struct ScriptContext *ctx);
-BOOL ScrCmd_Unk0050(struct ScriptContext *ctx);
-BOOL ScrCmd_Unk0051(struct ScriptContext *ctx);
-BOOL ScrCmd_Unk0052(struct ScriptContext *ctx);
+BOOL ScrCmd_PlayBgm(struct ScriptContext *ctx);
+BOOL ScrCmd_StopBgm(struct ScriptContext *ctx);
+BOOL ScrCmd_PlayDefaultBgm(struct ScriptContext *ctx);
BOOL ScrCmd_Unk0053(struct ScriptContext *ctx);
-BOOL ScrCmd_Unk0054(struct ScriptContext *ctx);
+BOOL ScrCmd_FadeOutBgm(struct ScriptContext *ctx);
BOOL FUN_02041464(struct ScriptContext *ctx);
-BOOL ScrCmd_Unk0055(struct ScriptContext* ctx);
+BOOL ScrCmd_FadeInBgm(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0056(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0057(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0058(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0049(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk004A(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk004B(struct ScriptContext* ctx);
+BOOL ScrCmd_PlayFanfare(struct ScriptContext* ctx);
+BOOL ScrCmd_StopFanfare(struct ScriptContext* ctx);
+BOOL ScrCmd_PlayFanfareWait(struct ScriptContext* ctx);
BOOL FUN_02041540(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk004C(struct ScriptContext* ctx);
+BOOL ScrCmd_PlayCry(struct ScriptContext* ctx);
BOOL ScrCmd_PlayCryWait(struct ScriptContext* ctx);
BOOL FUN_02041598(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk004F(struct ScriptContext* ctx);
+BOOL ScrCmd_PlaySoundWait(struct ScriptContext* ctx);
BOOL FUN_020415CC(struct ScriptContext* ctx);
-BOOL ScrCmd_PlayBgm(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0059(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk005A(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk005B(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk005C(struct ScriptContext* ctx);
+BOOL ScrCmd_PlaySound(struct ScriptContext* ctx);
+BOOL ScrCmd_CheckChatotCry(struct ScriptContext* ctx);
+BOOL ScrCmd_StartChatotRecord(struct ScriptContext* ctx);
+BOOL ScrCmd_StopChatotRecord(struct ScriptContext* ctx);
+BOOL ScrCmd_SaveChatotCry(struct ScriptContext* ctx);
BOOL ScrCmd_Unk005D(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0283(struct ScriptContext *ctx);
+BOOL ScrCmd_SetVolume(struct ScriptContext *ctx);
//scrcmd_8.c
BOOL ScrCmd_Unk021D(struct ScriptContext* ctx);
-//scrcmd_11.c
-BOOL ScrCmd_Unk017D(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk017E(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk017F(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0180(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0181(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0182(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0183(struct ScriptContext* ctx);
+//scrcmd_berry_trees.c
+BOOL ScrCmd_GetBerryTreeGrowth(struct ScriptContext* ctx);
+BOOL ScrCmd_GetBerryTreeType(struct ScriptContext* ctx);
+BOOL ScrCmd_GetBerryTreeMulch(struct ScriptContext* ctx);
+BOOL ScrCmd_GetBerryTreeWater(struct ScriptContext* ctx);
+BOOL ScrCmd_GetBerryTreeAmount(struct ScriptContext* ctx);
+BOOL ScrCmd_SetBerryTreeMulch(struct ScriptContext* ctx);
+BOOL ScrCmd_SetBerryTreeType(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0184(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0185(struct ScriptContext* ctx);
+BOOL ScrCmd_TakeBerryTreeBerries(struct ScriptContext* ctx);
//scrcmd_13.c
BOOL ScrCmd_Unk0253(struct ScriptContext* ctx);
@@ -208,9 +208,9 @@ BOOL ScrCmd_Unk0255(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0256(struct ScriptContext* ctx);
//scrcmd_coins.c
-BOOL ScrCmd_Unk0075(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0076(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0077(struct ScriptContext* ctx);
+BOOL ScrCmd_ShowCoinBox(struct ScriptContext* ctx);
+BOOL ScrCmd_HideCoinBox(struct ScriptContext* ctx);
+BOOL ScrCmd_UpdateCoinBox(struct ScriptContext* ctx);
BOOL ScrCmd_GetCoins(struct ScriptContext* ctx);
BOOL ScrCmd_GiveCoins(struct ScriptContext* ctx);
BOOL ScrCmd_TakeCoinsImmediate(struct ScriptContext* ctx);
@@ -225,18 +225,18 @@ BOOL ScrCmd_TakeMoneyImmediate(struct ScriptContext* ctx);
BOOL ScrCmd_TakeMoneyAddress(struct ScriptContext* ctx);
BOOL ScrCmd_HasEnoughMoneyImmediate(struct ScriptContext* ctx);
BOOL ScrCmd_HasEnoughMoneyAddress(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0072(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0073(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0074(struct ScriptContext* ctx);
+BOOL ScrCmd_ShowMoneyBox(struct ScriptContext* ctx);
+BOOL ScrCmd_HideMoneyBox(struct ScriptContext* ctx);
+BOOL ScrCmd_UpdateMoneyBox(struct ScriptContext* ctx);
//scrcmd_daycare.c
-BOOL ScrCmd_Unk016D(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk016E(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk01A8(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk01A9(struct ScriptContext* ctx);
+BOOL ScrCmd_GetDaycarePokemonNames(struct ScriptContext* ctx);
+BOOL ScrCmd_GetDaycareStatus(struct ScriptContext* ctx);
+BOOL ScrCmd_DeleteDaycareEgg(struct ScriptContext* ctx);
+BOOL ScrCmd_GiveDaycareEgg(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01A4(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk01AE(struct ScriptContext* ctx);
+BOOL ScrCmd_GetDaycareLevel(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01AF(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01B0(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01BC(struct ScriptContext* ctx);
@@ -250,10 +250,10 @@ BOOL ScrCmd_Unk01AD(struct ScriptContext* ctx);
//scrcmd_18.c
BOOL ScrCmd_GiveMon(struct ScriptContext* ctx);
-//scrcmd_19.c
-BOOL ScrCmd_Unk01F1(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk01F4(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk01F5(struct ScriptContext* ctx);
+//scrcmd_fossils.c
+BOOL ScrCmd_CountFossils(struct ScriptContext* ctx);
+BOOL ScrCmd_GetFossilPokemon(struct ScriptContext* ctx);
+BOOL ScrCmd_GetFossilMinimumAmount(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01F2(struct ScriptContext* ctx);
BOOL ScrCmd_Unk01F3(struct ScriptContext* ctx);
@@ -263,24 +263,24 @@ BOOL ScrCmd_Unk02A6(struct ScriptContext* ctx);
//scrcmd_flags.c
BOOL ScrCmd_HasSinnohDex(struct ScriptContext* ctx);
BOOL ScrCmd_GiveSinnohDex(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0159(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk015A(struct ScriptContext* ctx);
+BOOL ScrCmd_HasRunningShoes(struct ScriptContext* ctx);
+BOOL ScrCmd_GiveRunningShoes(struct ScriptContext* ctx);
BOOL ScrCmd_HasBadge(struct ScriptContext* ctx);
BOOL ScrCmd_GiveBadge(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk015E(struct ScriptContext* ctx);
+BOOL ScrCmd_GiveBag(struct ScriptContext* ctx);
BOOL ScrCmd_GetTotalEarnedBadges(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk015F(struct ScriptContext* ctx);
+BOOL ScrCmd_HasBag(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0160(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0161(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0162(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0163(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0164(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0165(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0166(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0167(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk01CF(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk01D0(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk01D1(struct ScriptContext* ctx);
+BOOL ScrCmd_CheckGameCompleted(struct ScriptContext* ctx);
+BOOL ScrCmd_SetGameCompleted(struct ScriptContext* ctx);
+BOOL ScrCmd_GetSetStrength(struct ScriptContext* ctx);
+BOOL ScrCmd_GetSetFlash(struct ScriptContext* ctx);
+BOOL ScrCmd_GetSetDefog(struct ScriptContext* ctx);
//scrcmd_items.c
BOOL ScrCmd_GiveItem(struct ScriptContext* ctx);
@@ -292,23 +292,23 @@ BOOL ScrCmd_GetItemPocketId(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0081(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0082(struct ScriptContext* ctx);
-//scrcmd_23.c
-BOOL ScrCmd_Unk0083(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0084(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0085(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0086(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0087(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0088(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0089(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk008A(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk008B(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk008C(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk008D(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk008E(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk008F(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0090(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0091(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk0092(struct ScriptContext* ctx);
+//scrcmd_underground.c
+BOOL ScrCmd_GiveSecretBaseDecoration(struct ScriptContext* ctx);
+BOOL ScrCmd_TakeSecretBaseDecoration(struct ScriptContext* ctx);
+BOOL ScrCmd_HasSpaceForDecoration(struct ScriptContext* ctx);
+BOOL ScrCmd_GetDecorationCount(struct ScriptContext* ctx);
+BOOL ScrCmd_GiveUndergroundTrap(struct ScriptContext* ctx);
+BOOL ScrCmd_TakeUndergroundTrap(struct ScriptContext* ctx);
+BOOL ScrCmd_HasSpaceForTrap(struct ScriptContext* ctx);
+BOOL ScrCmd_GetTrapCount(struct ScriptContext* ctx);
+BOOL ScrCmd_GiveTreasure(struct ScriptContext* ctx);
+BOOL ScrCmd_TakeTreasure(struct ScriptContext* ctx);
+BOOL ScrCmd_HasSpaceForTreasure(struct ScriptContext* ctx);
+BOOL ScrCmd_GetTreasureCount(struct ScriptContext* ctx);
+BOOL ScrCmd_GiveUndergroundSphere(struct ScriptContext* ctx);
+BOOL ScrCmd_TakeUndergroundSphere(struct ScriptContext* ctx);
+BOOL ScrCmd_HasSpaceForSphere(struct ScriptContext* ctx);
+BOOL ScrCmd_GetSphereCount(struct ScriptContext* ctx);
//scrcmd_24.c
BOOL ScrCmd_Unk01C6(struct ScriptContext* ctx);
diff --git a/tools/knarc/Narc.cpp b/tools/knarc/Narc.cpp
index 7e698571..cce7cdea 100644
--- a/tools/knarc/Narc.cpp
+++ b/tools/knarc/Narc.cpp
@@ -29,6 +29,7 @@ using namespace std;
extern bool debug;
extern bool pack_no_fnt;
+extern bool output_header;
void Narc::AlignDword(ofstream& ofs, uint8_t paddingChar)
{
@@ -145,6 +146,39 @@ bool Narc::Pack(const fs::path& fileName, const fs::path& directory)
if (!ofs.good()) { return Cleanup(ofs, NarcError::InvalidOutputFile); }
+ ofstream ofhs;
+ string stem;
+ string stem_upper;
+ // Pikalax 29 May 2021
+ // Output an includable header that enumerates the NARC contents
+ if (output_header)
+ {
+ fs::path naixfname = fileName;
+ naixfname.replace_extension(".naix");
+
+ ofhs.open(naixfname);
+ if (!ofhs.good())
+ {
+ ofhs.close();
+ return Cleanup(ofs, NarcError::InvalidOutputFile);
+ }
+
+ stem = fileName.stem().string();
+ stem_upper = stem;
+ for (char &c : stem_upper)
+ { c = toupper(c); }
+
+ ofhs << "/*\n"
+ " * THIS FILE WAS AUTOMATICALLY\n"
+ " * GENERATED BY tools/knarc\n"
+ " * DO NOT MODIFY!!!\n"
+ " */\n"
+ "\n"
+ "#ifndef NARC_" << stem_upper << "_NAIX_\n"
+ "#define NARC_" << stem_upper << "_NAIX_\n"
+ "\n"
+ "enum {\n";
+ }
vector<FileAllocationTableEntry> fatEntries;
uint16_t directoryCounter = 1;
@@ -153,6 +187,7 @@ bool Narc::Pack(const fs::path& fileName, const fs::path& directory)
ignore_patterns.push_back(".*keep");
WildcardVector keep_patterns(directory / ".knarckeep");
+ int memberNo = 0;
for (const auto& de : OrderedDirectoryIterator(directory, true))
{
if (is_directory(de))
@@ -164,6 +199,12 @@ bool Narc::Pack(const fs::path& fileName, const fs::path& directory)
if (debug) {
cerr << "DEBUG: adding file " << de.path() << endl;
}
+ if (output_header)
+ {
+ string de_stem = de.path().filename().string();
+ std::replace(de_stem.begin(), de_stem.end(), '.', '_');
+ ofhs << "\tNARC_" << stem << "_" << de_stem << " = " << (memberNo++) << ",\n";
+ }
fatEntries.push_back(FileAllocationTableEntry
{
.Start = 0x0,
@@ -183,6 +224,11 @@ bool Narc::Pack(const fs::path& fileName, const fs::path& directory)
fatEntries.back().End = fatEntries.back().Start + static_cast<uint32_t>(file_size(de));
}
}
+ if (output_header)
+ {
+ ofhs << "};\n\n#endif //NARC_" << stem_upper << "_NAIX_\n";
+ ofhs.close();
+ }
FileAllocationTable fat
{
diff --git a/tools/knarc/Source.cpp b/tools/knarc/Source.cpp
index d9a5cf83..587c8527 100644
--- a/tools/knarc/Source.cpp
+++ b/tools/knarc/Source.cpp
@@ -8,6 +8,7 @@ using namespace std;
bool debug = false;
bool pack_no_fnt = true;
+bool output_header = false;
void PrintError(NarcError error)
{
@@ -40,6 +41,7 @@ static inline void usage() {
cout << "\t-n\tBuild the filename table (default: discards filenames)" << endl;
cout << "\t-D/--debug\tPrint additional debug messages" << endl;
cout << "\t-h/--help\tPrint this message and exit" << endl;
+ cout << "\t-i\tOutput a .naix header" << endl;
}
int main(int argc, char* argv[])
@@ -104,6 +106,9 @@ int main(int argc, char* argv[])
else if (!strcmp(argv[i], "-n")) {
pack_no_fnt = false;
}
+ else if (!strcmp(argv[i], "-i")) {
+ output_header = true;
+ }
else {
usage();
cerr << "ERROR: Unrecognized argument: " << argv[i] << endl;
diff --git a/tools/o2narc/o2narc.cpp b/tools/o2narc/o2narc.cpp
index 1381788a..60e4e242 100644
--- a/tools/o2narc/o2narc.cpp
+++ b/tools/o2narc/o2narc.cpp
@@ -3,6 +3,7 @@
#include <getopt.h>
#include <cstring>
#include <vector>
+#include <iomanip>
#include "elf.h"
#include "Narc.h"
@@ -49,6 +50,7 @@ class Elf {
public:
ShdrTab shdr;
Symtab symtab;
+ Elf(string const& filename) : Elf(filename.c_str()) {}
Elf(const char * filename) {
// Read the ELF header
phdr = nullptr;
@@ -155,25 +157,29 @@ static inline void usage() {
cout << "\toutfile\tOutput NARC file" << endl;
cout << "Options:" << endl;
cout << "\t-f|--flatten\tDon't generate NARC headers" << endl;
+ cout << "\t-i|--output-header\tCreate a .naix file" << endl;
}
int main(int argc, char ** argv) {
// CLI arguments
- int flatten = 0;
+ int flatten = 0, output_header = 0;
char padding = '\xFF';
static option options [] {
{ "flatten", no_argument, &flatten, 1 },
{ "padding", required_argument, nullptr, 'p' },
+ { "output_header", no_argument, &output_header, 1 },
{nullptr, 0, nullptr, 0}
};
int opt_index;
int c;
- while ((c = getopt_long(argc, argv, "fp:", options, &opt_index)) != -1)
+ while ((c = getopt_long(argc, argv, "fp:i", options, &opt_index)) != -1)
{
if (c == 'f') {
flatten = 1;
} else if (c == 'p') {
padding = strtol(optarg, NULL, 0);
+ } else if (c == 'i') {
+ output_header = 1;
}
}
argv += optind;
@@ -188,8 +194,13 @@ int main(int argc, char ** argv) {
cerr << "Excess arguments: first unrecognized '" << argv[2] << "'" << endl;
return 1;
}
- char * infname = argv[0];
- char * outfname = argv[1];
+ if (output_header && flatten) {
+ usage();
+ cerr << "Incompatible flags: -i, -f" << endl;
+ return 1;
+ }
+ const char * infname = argv[0];
+ const char * outfname = argv[1];
// Read the ELF file
Elf elf(infname);
@@ -201,15 +212,45 @@ int main(int argc, char ** argv) {
exit(1);
}
- fstream ofile;
- ofile.open(outfname, ios_base::out | ios_base::binary);
+ ofstream ofile;
+ ofile.open(outfname, ios_base::binary);
if (!ofile.good()) {
cerr << "ERROR: Unable to open '" << outfname << "' for writing" << endl;
exit(1);
}
-
if (!flatten) // then build the NARC chunks
{
+ string stem, stem_upper;
+ ofstream ofheader;
+ if (output_header)
+ {
+ string outhname = outfname;
+ outhname.replace(outhname.find(".narc"), 5, ".naix");
+ ofheader.open(outhname);
+ if (!ofheader.good())
+ {
+ ofile.close();
+ cerr << "ERROR: Unable to open '" << outhname << "' for writing" << endl;
+ exit(1);
+ }
+ stem = outfname;
+ stem = stem.substr(0, stem.rfind("."));
+ stem = stem.substr(stem.rfind("/") + 1);
+ stem_upper = stem;
+ for (char &_c : stem_upper)
+ { _c = toupper(_c); }
+
+ ofheader << "/*\n"
+ " * THIS FILE WAS AUTOMATICALLY\n"
+ " * GENERATED BY tools/o2narc\n"
+ " * DO NOT MODIFY!!!\n"
+ " */\n"
+ "\n"
+ "#ifndef NARC_" << stem_upper << "_NAIX_\n"
+ "#define NARC_" << stem_upper << "_NAIX_\n"
+ "\n"
+ "enum {\n";
+ }
// .data contains the size table
Elf32_Shdr & data_sec = elf.shdr[".data"];
uint32_t * _data = (uint32_t *)elf.read(data_sec);
@@ -275,6 +316,15 @@ int main(int argc, char ** argv) {
{
_rodata[fat_entries[i].Start + j] = padding;
}
+ if (output_header)
+ {
+ ofheader << "\tNARC_" << stem << "_narc_" << setw(4) << setfill('0') << i << " = " << i << ",\n";
+ }
+ }
+ if (output_header)
+ {
+ ofheader << "};\n\n#endif //NARC_" << stem_upper << "_NAIX_\n";
+ ofheader.close();
}
// These NARCs have empty FNTs
FileNameTable fnt{