Skip to content

Commit 9e05bc9

Browse files
Finish labelling Bank 0D (#113)
* Labelling Bank 0D, part 1 * Untangled math HRAM variables * Bank 10's out of the bag, I guess * Label Bank 0D, part 2, decompiled related Bank 0E functions * Fix data outside section * Finished labeling Bank 0D and connected variables and functions --------- Co-authored-by: vulcandth <vulcandth@gmail.com>
1 parent ce247cc commit 9e05bc9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+8096
-7792
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
# build artifacts
1313
/build
14+
rgbdscheck.o
1415

1516
# build tools
1617
tools/scan_includes

constants.asm

+3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ INCLUDE "macros/scripts.asm"
1414
INCLUDE "macros/queue.asm"
1515
INCLUDE "macros/maps.asm"
1616

17+
INCLUDE "macros/battle_commands.asm"
18+
INCLUDE "macros/asserts.asm"
19+
1720
INCLUDE "constants/audio_constants.asm"
1821
INCLUDE "constants/gfx_constants.asm"
1922
INCLUDE "constants/hardware_constants.asm"

constants/battle_constants.asm

+14-13
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ DEF EFFECTIVE EQU 10
2727
DEF NOT_VERY_EFFECTIVE EQU 05
2828
DEF NO_EFFECT EQU 00
2929

30+
; wTypeModifier
31+
DEF EFFECTIVENESS_MASK EQU %01111111
32+
const_def 7
33+
shift_const STAB_DAMAGE
34+
3035
; wPlayerStatLevels and wEnemyStatLevels indexes (see wram.asm)
3136
; GetStatName arguments (see data/battle/stat_names.asm)
3237
const_def
@@ -63,7 +68,7 @@ DEF MOVE_LENGTH EQU const_value
6368
const STAT_SATK
6469
DEF NUM_EXP_STATS EQU const_value - 1
6570
const STAT_SDEF
66-
DEF NUM_STATS EQU const_value
71+
DEF NUM_STATS EQU const_value - 1
6772
DEF NUM_BATTLE_STATS EQU NUM_STATS - 1 ; don't count HP
6873
DEF STAT_SPC EQU STAT_SATK
6974

@@ -181,8 +186,8 @@ DEF ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
181186
const SUBSTATUS_IN_LOOP
182187
const SUBSTATUS_FLINCHED
183188
const SUBSTATUS_CHARGED
184-
const SUBSTATUS_UNDERGROUND
185-
const SUBSTATUS_FLYING
189+
const SUBSTATUS_USING_TRAPPING_MOVE
190+
const SUBSTATUS_INVULNERABLE
186191
const SUBSTATUS_CONFUSED
187192

188193
; wPlayerSubStatus4 or wEnemySubStatus4 bit flags
@@ -199,8 +204,8 @@ DEF ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
199204
; wPlayerSubStatus5 or wEnemySubStatus5 bit flags
200205
const_def
201206
const SUBSTATUS_TOXIC
202-
const_skip
203-
const_skip
207+
const SUBSTATUS_LIGHT_SCREEN
208+
const SUBSTATUS_REFLECT
204209
const SUBSTATUS_TRANSFORMED
205210
const SUBSTATUS_ENCORED
206211
const SUBSTATUS_LOCK_ON
@@ -210,7 +215,7 @@ DEF ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
210215
; wPlayerScreens or wEnemyScreens bit flags
211216
const_def
212217
const SCREENS_SPIKES
213-
const_skip
218+
const SCREENS_SANDSTORM
214219
const SCREENS_SAFEGUARD
215220
const SCREENS_LIGHT_SCREEN
216221
const SCREENS_REFLECT
@@ -220,10 +225,6 @@ DEF ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
220225
const WEATHER_NONE
221226
const WEATHER_RAIN
222227
const WEATHER_SUN
223-
const WEATHER_SANDSTORM
224-
const WEATHER_RAIN_END
225-
const WEATHER_SUN_END
226-
const WEATHER_SANDSTORM_END
227228

228229
; wBattleAction
229230
const_def
@@ -241,14 +242,14 @@ DEF ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
241242
const BATTLEACTION_B
242243
const BATTLEACTION_C
243244
const BATTLEACTION_D
244-
const BATTLEACTION_E
245+
const BATTLEACTION_STRUGGLE
245246
const BATTLEACTION_FORFEIT
246247

247248
; wBattleResult
248249
const_def
249-
const WIN
250-
const LOSE
251250
const DRAW
251+
const LOSE
252+
const WIN
252253

253254
DEF BATTLERESULT_BOX_FULL EQU 7
254255
DEF BATTLERESULT_BITMASK EQU (1 << BATTLERESULT_BOX_FULL)

constants/charmap.asm

+1-1
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@
299299

300300
charmap "<LV>", $6e
301301

302-
charmap "<DO>", $70 ; hiragana small do, unused
302+
charmap "<DO>", $70 ; hiragana small do
303303
charmap "◀", $71
304304

305305
charmap "<ID>", $73

constants/item_constants.asm

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
const ITEM_STIMULUS_ORB ; 74 *BLUE_CARD
121121
const ITEM_CALM_BERRY ; 75 *MIRACLE_SEED
122122
const ITEM_THICK_CLUB ; 76
123-
const ITEM_FOCUS_ORB ; 77 FOCUS_BAND
123+
const ITEM_FOCUS_ORB ; 77 FOCUS_ORB
124124
const ITEM_78 ; 78
125125
const ITEM_DETECT_ORB ; 79 *ENERGYPOWDER
126126
const ITEM_LONG_TONGUE ; 7a *ENERGY_ROOT

constants/item_data_constants.asm

+6-6
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,18 @@ DEF MAX_PC_ITEMS EQU 50
5050
const_def
5151
const HELD_NONE
5252
const HELD_BERRY
53-
const HELD_2
53+
const HELD_FULL_RESTORE
5454
const HELD_LEFTOVERS
5555
const HELD_4
56-
const HELD_5
56+
const HELD_REVIVE
5757
const HELD_RESTORE_PP
5858
const HELD_RESTORE_ALL_PP
5959
const HELD_CLEANSE_TAG
6060

6161
const_next 10
6262
const HELD_HEAL_POISON
63-
const HELD_HEAL_FREEZE
6463
const HELD_HEAL_BURN
64+
const HELD_HEAL_FREEZE
6565
const HELD_HEAL_SLEEP
6666
const HELD_HEAL_PARALYZE
6767
const HELD_HEAL_STATUS
@@ -114,7 +114,7 @@ DEF MAX_PC_ITEMS EQU 50
114114
const HELD_ICE_BOOST
115115
const HELD_DRAGON_BOOST
116116
const HELD_DARK_BOOST
117-
const HELD_STEEL_BOOST
117+
const HELD_METAL_BOOST
118118

119119
const_next 70
120120
const HELD_CATCH_CHANCE
@@ -124,6 +124,6 @@ DEF MAX_PC_ITEMS EQU 50
124124
const HELD_QUICK_CLAW
125125
const HELD_FLINCH
126126
const HELD_AMULET_COIN
127-
const HELD_BRIGHTPOWDER
127+
const HELD_STRANGE_THREAD
128128
const HELD_78
129-
const HELD_FOCUS_BAND
129+
const HELD_FOCUS_ORB

constants/misc_constants.asm

+15
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,21 @@
22
DEF FALSE EQU 0
33
DEF TRUE EQU 1
44

5+
; time of day boundaries
6+
DEF MORN_HOUR EQU 6 ; 6 AM
7+
DEF DAY_HOUR EQU 9 ; 9 AM
8+
DEF NITE_HOUR EQU 15 ; 3 PM
9+
DEF NOON_HOUR EQU 12 ; 12 PM
10+
DEF MAX_HOUR EQU 24 ; 12 AM
11+
12+
; wTimeOfDay::
13+
const_def
14+
shift_const DAY ; 0
15+
shift_const NITE ; 1
16+
shift_const DARKNESS ; 2
17+
shift_const MORN ; 3
18+
DEF NUM_DAYTIMES EQU const_value
19+
520
; RedrawRowOrColumn functions
621
DEF REDRAW_COL EQU 1
722
DEF REDRAW_ROW EQU 2

constants/move_effect_constants.asm

+19-19
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@
1212
const EFFECT_MIRROR_MOVE
1313
const EFFECT_ATTACK_UP
1414
const EFFECT_DEFENSE_UP
15-
const EFFECT_0C
15+
const EFFECT_SPEED_UP
1616
const EFFECT_SP_ATK_UP
17-
const EFFECT_0E
18-
const EFFECT_0F
17+
const EFFECT_SP_DEF_UP
18+
const EFFECT_ACCURACY_UP
1919
const EFFECT_EVASION_UP
2020
const EFFECT_SWIFT
2121
const EFFECT_ATTACK_DOWN
2222
const EFFECT_DEFENSE_DOWN
2323
const EFFECT_SPEED_DOWN
24-
const EFFECT_MEGAPHONE
25-
const EFFECT_16
24+
const EFFECT_SP_ATK_DOWN
25+
const EFFECT_SP_DEF_DOWN
2626
const EFFECT_ACCURACY_DOWN
27-
const EFFECT_TEMPT
27+
const EFFECT_EVASION_DOWN
2828
const EFFECT_RESET_STATS
2929
const EFFECT_BIDE
3030
const EFFECT_RAMPAGE
@@ -53,28 +53,28 @@
5353
const EFFECT_ATTACK_UP_2
5454
const EFFECT_DEFENSE_UP_2
5555
const EFFECT_SPEED_UP_2
56-
const EFFECT_35
56+
const EFFECT_SP_ATK_UP_2
5757
const EFFECT_SP_DEF_UP_2
58-
const EFFECT_37
59-
const EFFECT_38
58+
const EFFECT_ACCURACY_UP_2
59+
const EFFECT_EVASION_UP_2
6060
const EFFECT_TRANSFORM
6161
const EFFECT_ATTACK_DOWN_2
6262
const EFFECT_DEFENSE_DOWN_2
63-
const EFFECT_3C
64-
const EFFECT_3D
65-
const EFFECT_3E
66-
const EFFECT_3F
67-
const EFFECT_40
63+
const EFFECT_SPEED_DOWN_2
64+
const EFFECT_SP_ATK_DOWN_2
65+
const EFFECT_SP_DEF_DOWN_2
66+
const EFFECT_ACCURACY_DOWN_2
67+
const EFFECT_EVASION_DOWN_2
6868
const EFFECT_REFLECT
6969
const EFFECT_POISON
7070
const EFFECT_PARALYZE
7171
const EFFECT_ATTACK_DOWN_HIT
72-
const EFFECT_ACID
72+
const EFFECT_DEFENSE_DOWN_HIT
7373
const EFFECT_SPEED_DOWN_HIT
74-
const EFFECT_47
74+
const EFFECT_SP_ATK_DOWN_HIT
7575
const EFFECT_SP_DEF_DOWN_HIT
76-
const EFFECT_49
77-
const EFFECT_4A
76+
const EFFECT_ACCURACY_DOWN_HIT
77+
const EFFECT_EVASION_DOWN_HIT
7878
const EFFECT_4B
7979
const EFFECT_CONFUSE_HIT
8080
const EFFECT_POISON_MULTI_HIT
@@ -96,7 +96,7 @@
9696
const EFFECT_CONVERSION2
9797
const EFFECT_LOCK_ON
9898
const EFFECT_SKETCH
99-
const EFFECT_60
99+
const EFFECT_DEFROST_OPPONENT
100100
const EFFECT_SLEEP_TALK
101101
const EFFECT_DESTINY_BOND
102102
const EFFECT_REVERSAL

constants/script_constants.asm

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
DEF PLAYER EQU 0
33
DEF FOLLOWER EQU 1
44

5+
DEF STRING_BUFFER_LENGTH EQU 10
6+
57
; Script IDs
68
const_def
79
const SCRIPT_ID_00 ; 00

constants/wram_constants.asm

+36-7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
DEF TEXT_DELAY_MASK EQU %111
2+
const_def 3
3+
const SGB_BORDER ; 3
4+
const NO_TEXT_SCROLL ; 4
5+
const STEREO ; 5
6+
const BATTLE_SHIFT ; 6
7+
const BATTLE_SCENE ; 7
8+
9+
DEF TEXT_DELAY_FAST EQU %001 ; 1
10+
DEF TEXT_DELAY_MED EQU %011 ; 3
11+
DEF TEXT_DELAY_SLOW EQU %101 ; 5
12+
13+
; wTextboxFrame::
14+
const_def
15+
const FRAME_1 ; 0
16+
const FRAME_2 ; 1
17+
const FRAME_3 ; 2
18+
const FRAME_4 ; 3
19+
const FRAME_5 ; 4
20+
const FRAME_6 ; 5
21+
const FRAME_7 ; 6
22+
const FRAME_8 ; 7
23+
DEF NUM_FRAMES EQU const_value
24+
25+
; wMonType::
26+
const_def
27+
const PARTYMON ; 0
28+
const OTPARTYMON ; 1
29+
const BOXMON ; 2
30+
const TEMPMON ; 3
31+
const WILDMON ; 4
32+
133
; wWalkingDirection::
234
const_def -1
335
const STANDING ; -1
@@ -7,13 +39,10 @@
739
const RIGHT ; 3
840
DEF NUM_DIRECTIONS EQU const_value
941

10-
; wMonType::
11-
const_def
12-
const PARTYMON ; 0
13-
const OTPARTYMON ; 1
14-
const BOXMON ; 2
15-
const TEMPMON ; 3
16-
const WILDMON ; 4
42+
DEF DOWN_MASK EQU 1 << DOWN
43+
DEF UP_MASK EQU 1 << UP
44+
DEF LEFT_MASK EQU 1 << LEFT
45+
DEF RIGHT_MASK EQU 1 << RIGHT
1746

1847
; wJohtoBadges:: ; d163
1948
const_def

data/battle/held_consumables.inc

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
ConsumableEffects:
2+
db HELD_BERRY
3+
db HELD_FULL_RESTORE
4+
db HELD_REVIVE
5+
6+
db HELD_HEAL_POISON
7+
db HELD_HEAL_BURN
8+
db HELD_HEAL_FREEZE
9+
db HELD_HEAL_SLEEP
10+
db HELD_HEAL_PARALYZE
11+
db HELD_HEAL_STATUS
12+
13+
db HELD_30
14+
db HELD_ATTACK_UP
15+
db HELD_DEFENSE_UP
16+
db HELD_SPEED_UP
17+
db HELD_SP_ATTACK_UP
18+
db HELD_SP_DEFENSE_UP
19+
db HELD_ACCURACY_UP
20+
db HELD_EVASION_UP
21+
db HELD_38
22+
23+
db HELD_71
24+
db HELD_ESCAPE
25+
db HELD_CRITICAL_UP
26+
db -1

data/battle/stat_multipliers.inc

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
; Multiplier ratios for all stats from modifier -6 to +6
2+
3+
; This table is INCLUDEd thrice in different ROM banks.
4+
5+
db 25, 100 ; -6 = 25%
6+
db 28, 100 ; -5 = 28%
7+
db 33, 100 ; -4 = 33%
8+
db 40, 100 ; -3 = 40%
9+
db 50, 100 ; -2 = 50%
10+
db 66, 100 ; -1 = 66%
11+
db 1, 1 ; 0 = 100%
12+
db 15, 10 ; +1 = 150%
13+
db 2, 1 ; +2 = 200%
14+
db 25, 10 ; +3 = 250%
15+
db 3, 1 ; +4 = 300%
16+
db 35, 10 ; +5 = 350%
17+
db 4, 1 ; +6 = 400%
18+

data/battle/stat_names.inc

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
StatNames:
2+
; entries correspond to stat ids
3+
db "こうげきりょく@" ; ATTACK
4+
db "ぼうぎょりょく@" ; DEFENSE
5+
db "すばやさ@" ; SPEED
6+
db "とくしゅこうげき@" ; SP.ATK
7+
db "とくしゅぼうぎょ@" ; SP.DEF
8+
db "めいちゅうりつ@" ; ACCURACY
9+
db "かいひりつ@" ; EVASION

0 commit comments

Comments
 (0)