Skip to content

Commit ce247cc

Browse files
Adding bank14, good chunk of text transcribed and labelled in bank0d, renaming farcall to callab, and much more (#112)
* Sporadic constantifying and function naming * Added bank 14 * Delete .DS_Store files * Delete EOL whitespace * Use Tab indents instead of four spaces * Identify some routines * Identify more stuff * Identified party and box structs * Identified wBattleMon and wEnemyMon structs * Macro'd landmarks, cleaned up comments --------- Co-authored-by: vulcandth <vulcandth@gmail.com>
1 parent daff281 commit ce247cc

File tree

101 files changed

+5401
-3336
lines changed

Some content is hidden

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

101 files changed

+5401
-3336
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ __pycache__
2222

2323
# utility output
2424
/coverage.png
25+
26+
# macos files
27+
.DS_STORE

Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ $(BUILD)/%.tilemap: %.png | $$(dir $$@)
128128
$(RGBGFX) -t $@ $<
129129

130130
.PRECIOUS: $(BUILD)/%.sgb.tilemap
131+
export LC_ALL=C
131132
$(BUILD)/%.sgb.tilemap: %.bin | $$(dir $$@)
132133
tr < $< -d '\000' > $@
133134

audio/songs/bicycle.asm

+1-1
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,7 @@ Music_Bicycle_branch_ed7c9::
654654
sound_loop 0, Music_Bicycle_branch_ed7c9
655655

656656
Music_Bicycle_Ch4::
657-
toggle_noise 1
657+
toggle_noise 1
658658
drum_speed 12
659659
rest 2
660660

audio/songs/nidorinointro.asm

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ Music_NidorinoIntro_Ch3::
241241

242242

243243
Music_NidorinoIntro_Ch4::
244-
toggle_noise 2
244+
toggle_noise 2
245245
drum_speed 6
246246
drum_note 4, 1
247247
drum_note 4, 1

audio/songs/oakintro.asm

+1-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ Music_OakIntro_branch_ec77c::
337337
sound_ret
338338

339339
Music_OakIntro_Ch4::
340-
toggle_noise 0
340+
toggle_noise 0
341341

342342
Music_OakIntro_branch_ec7e9::
343343
drum_speed 12

audio/songs/viridiancity.asm

+1-1
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ Music_ViridianCity_branch_ec441::
590590
sound_ret
591591

592592
Music_ViridianCity_Ch4::
593-
toggle_noise 0
593+
toggle_noise 0
594594

595595
Music_ViridianCity_branch_ec464::
596596
drum_speed 12

constants.asm

+3
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,6 @@ INCLUDE "constants/sgb_constants.asm"
5858
INCLUDE "constants/map_object_constants.asm"
5959
INCLUDE "constants/start_menu_constants.asm"
6060
INCLUDE "constants/movement_constants.asm"
61+
62+
INCLUDE "constants/flypoint_constants.asm"
63+
INCLUDE "constants/spawnpoint_constants.asm"

constants/charmap.asm

+10
Original file line numberDiff line numberDiff line change
@@ -294,3 +294,13 @@
294294
charmap "7", $fd
295295
charmap "8", $fe
296296
charmap "9", $ff
297+
298+
; Actual characters (from gfx/font/font_battle_extra.png)
299+
300+
charmap "<LV>", $6e
301+
302+
charmap "<DO>", $70 ; hiragana small do, unused
303+
charmap "◀", $71
304+
305+
charmap "<ID>", $73
306+
charmap "№", $74

constants/flypoint_constants.asm

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
; Fly point indexes (see data/flypoint)
2+
const_def
3+
4+
const FLY_POINT_SILENT_HILL ; 0
5+
const FLY_POINT_OLD ; 1
6+
const FLY_POINT_WEST ; 2
7+
const FLY_POINT_HAITEKU ; 3
8+
const FLY_POINT_FONTO ; 4
9+
const FLY_POINT_BAADON ; 5
10+
const FLY_POINT_NEWTYPE ; 6
11+
const FLY_POINT_SUGAR ; 7
12+
const FLY_POINT_BULL_FOREST ; 8
13+
const FLY_POINT_STAND ; 9
14+
const FLY_POINT_KANTO ; 10
15+
const FLY_POINT_PRINCE ; 11
16+
const FLY_POINT_MT_FUJI ; 12
17+
const FLY_POINT_SOUTH ; 13
18+
const FLY_POINT_NORTH ; 14
19+
20+
; Unused?
21+
22+
const FLY_POINT_ROUTE_15 ; 15
23+
const FLY_POINT_ROUTE_18 ; 16
24+
25+
DEF FLY_POINT_N_A EQU $FF

constants/gfx_constants.asm

+2
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,5 @@ DEF DOUBLESPRITEBUFFERSIZE EQU 2 * SPRITEBUFFERSIZE
4343
const SPRITEOAMSTRUCT_ATTRIBUTES ; 3
4444
DEF SPRITEOAMSTRUCT_LENGTH EQU const_value
4545
DEF NUM_SPRITE_OAM_STRUCTS EQU 40 ; see wShadowOAM
46+
47+
DEF OAM_YCOORD_HIDDEN EQU 160 ; hides an OAM offscreen

constants/map_data_constants.asm

+1-8
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,7 @@ DEF NUM_MAP_PALETTES EQU const_value
5151
const FISHGROUP_REMORAID
5252
const FISHGROUP_QWILFISH_NO_SWARM
5353

54-
; connection directions (see data/maps/data.asm)
55-
const_def
56-
const EAST_F
57-
const WEST_F
58-
const SOUTH_F
59-
const NORTH_F
60-
61-
; wMapConnections
54+
; wMapConnections / connection directions (see data/maps/data.asm)
6255
const_def
6356
shift_const EAST
6457
shift_const WEST

constants/map_object_constants.asm

+14-14
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ DEF OBJECT_SPRITE_TILE rb ; 02
55
DEF OBJECT_MOVEMENT_TYPE rb ; 03
66
DEF OBJECT_FLAGS1 rb ; 04
77
DEF OBJECT_FLAGS2 rb ; 05
8-
DEF OBJECT_PALETTE rb ; 06
9-
DEF OBJECT_WALKING rb ; 07
10-
DEF OBJECT_DIRECTION rb ; 08
11-
DEF OBJECT_STEP_TYPE rb ; 09
12-
DEF OBJECT_STEP_DURATION rb ; 0a
13-
DEF OBJECT_ACTION rb ; 0b
14-
DEF OBJECT_STEP_FRAME rb ; 0c
8+
DEF OBJECT_WALKING rb ; 06
9+
DEF OBJECT_DIRECTION rb ; 07
10+
DEF OBJECT_STEP_TYPE rb ; 08
11+
DEF OBJECT_STEP_DURATION rb ; 09
12+
DEF OBJECT_ACTION rb ; 0a
13+
DEF OBJECT_STEP_FRAME rb ; 0b
14+
DEF OBJECT_0C rb ; 0c
1515
DEF OBJECT_FACING rb ; 0d
1616
DEF OBJECT_TILE rb ; 0e
1717
DEF OBJECT_LAST_TILE rb ; 0f
@@ -21,13 +21,13 @@ DEF OBJECT_LAST_MAP_X rb ; 12
2121
DEF OBJECT_LAST_MAP_Y rb ; 13
2222
DEF OBJECT_INIT_X rb ; 14
2323
DEF OBJECT_INIT_Y rb ; 15
24-
DEF OBJECT_RADIUS rb ; 16
25-
DEF OBJECT_SPRITE_X rb ; 17
26-
DEF OBJECT_SPRITE_Y rb ; 18
27-
DEF OBJECT_SPRITE_X_OFFSET rb ; 19
28-
DEF OBJECT_SPRITE_Y_OFFSET rb ; 1a
29-
DEF OBJECT_MOVEMENT_INDEX rb ; 1b
30-
DEF OBJECT_1C rb ; 1c
24+
DEF OBJECT_RADIUS_X rb ; 16
25+
DEF OBJECT_RADIUS_Y rb ; 17
26+
DEF OBJECT_SPRITE_X rb ; 18
27+
DEF OBJECT_SPRITE_Y rb ; 19
28+
DEF OBJECT_SPRITE_X_OFFSET rb ; 1a
29+
DEF OBJECT_SPRITE_Y_OFFSET rb ; 1b
30+
DEF OBJECT_MOVEMENT_INDEX rb ; 1c
3131
DEF OBJECT_1D rb ; 1d
3232
DEF OBJECT_1E rb ; 1e
3333
DEF OBJECT_1F rb ; 1f

constants/menu_constants.asm

+37-26
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
; MenuHeader flags
22
const_def
33
shift_const MENU_RESTORE_TILES ; Will be set if MENU_BACKUP_TILES(_2) is set.
4-
shift_const MENU_UNUSED_1
5-
shift_const MENU_UNUSED_2
4+
const_skip 2
65
shift_const MENU_NO_CLICK_SFX
76
shift_const MENU_SPRITE_ANIMS
8-
shift_const MENU_UNUSED_3
7+
shift_const MENU_UNUSED
98
shift_const MENU_BACKUP_TILES
109
shift_const MENU_BACKUP_TILES_2
1110

@@ -32,37 +31,49 @@
3231
shift_const SCROLLINGMENU_ENABLE_START
3332
shift_const SCROLLINGMENU_ENABLE_SELECT
3433

34+
; _2DMenu more flags
35+
const_def
36+
shift_const _2DMENU_EXIT_RIGHT ; 0
37+
shift_const _2DMENU_EXIT_LEFT ; 1
38+
shift_const _2DMENU_EXIT_UP ; 2
39+
shift_const _2DMENU_EXIT_DOWN ; 3
40+
shift_const _2DMENU_WRAP_LEFT_RIGHT ; 4
41+
shift_const _2DMENU_WRAP_UP_DOWN ; 5
42+
shift_const _2DMENU_ENABLE_SPRITE_ANIMS ; 6
43+
shift_const _2DMENU_DISABLE_JOYPAD_FILTER ; 7
44+
45+
; _2DMenu more flags 2
46+
const_def
47+
const_skip 7
48+
shift_const _2DMENU_EXITING ; 7
49+
3550

3651
; MonMenuOptions indexes (see data/mon_menu.asm)
3752
; used by PokemonActionSubmenu (see engine/menus/start_menu.asm)
3853
const_def 1
3954
; moves
40-
const MONMENUITEM_CUT ; 1
41-
const MONMENUITEM_FLY ; 2
42-
const MONMENUITEM_SURF ; 3
43-
const MONMENUITEM_STRENGTH ; 4
44-
const MONMENUITEM_WATERFALL ; 5
45-
const MONMENUITEM_FLASH ; 6
46-
const MONMENUITEM_WHIRLPOOL ; 7
47-
const MONMENUITEM_DIG ; 8
48-
const MONMENUITEM_TELEPORT ; 9
49-
const MONMENUITEM_SOFTBOILED ; 10
50-
const MONMENUITEM_HEADBUTT ; 11
51-
const MONMENUITEM_ROCKSMASH ; 12
52-
const MONMENUITEM_MILKDRINK ; 13
53-
const MONMENUITEM_SWEETSCENT ; 14
55+
const MONMENUITEM_CUT ; 1
56+
const MONMENUITEM_FLY ; 2
57+
const MONMENUITEM_SURF ; 3
58+
const MONMENUITEM_STRENGTH ; 4
59+
const MONMENUITEM_FLASH ; 5
60+
const MONMENUITEM_WHIRLPOOL ; 6
61+
const MONMENUITEM_BOUNCE ; 7
62+
const MONMENUITEM_DIG ; 8
63+
const MONMENUITEM_TELEPORT ; 9
64+
const MONMENUITEM_SOFTBOILED ; 10
5465
; options
55-
const MONMENUITEM_STATS ; 15
56-
const MONMENUITEM_SWITCH ; 16
57-
const MONMENUITEM_ITEM ; 17
58-
const MONMENUITEM_CANCEL ; 18
59-
const MONMENUITEM_MOVE ; 19
60-
const MONMENUITEM_MAIL ; 20
61-
const MONMENUITEM_ERROR ; 21
66+
const MONMENUITEM_STATS ; 11
67+
const MONMENUITEM_SWITCH ; 12
68+
const MONMENUITEM_ITEM ; 13
69+
const MONMENUITEM_CANCEL ; 14
70+
const MONMENUITEM_MOVE ; 15
71+
const MONMENUITEM_MAIL ; 16
72+
const MONMENUITEM_ERROR ; 17
6273

6374
; MonMenuOptions categories
64-
DEF MONMENU_FIELD_MOVE EQU 0
65-
DEF MONMENU_MENUOPTION EQU 1
75+
DEF MONMENU_MENUOPTION EQU 0
76+
DEF MONMENU_FIELD_MOVE EQU 1
6677

6778
DEF NUM_MONMENU_ITEMS EQU 8
6879

constants/pokemon_constants.asm

+30
Original file line numberDiff line numberDiff line change
@@ -192,3 +192,33 @@
192192
const MON_BELLSPROUT ; bc
193193
const MON_WEEPINBELL ; bd
194194
const MON_VICTREEBEL ; be
195+
196+
; Unown forms
197+
const_def 1
198+
const UNOWN_A ; 1
199+
const UNOWN_B ; 2
200+
const UNOWN_C ; 3
201+
const UNOWN_D ; 4
202+
const UNOWN_E ; 5
203+
const UNOWN_F ; 6
204+
const UNOWN_G ; 7
205+
const UNOWN_H ; 8
206+
const UNOWN_I ; 9
207+
const UNOWN_J ; 10
208+
const UNOWN_K ; 11
209+
const UNOWN_L ; 12
210+
const UNOWN_M ; 13
211+
const UNOWN_N ; 14
212+
const UNOWN_O ; 15
213+
const UNOWN_P ; 16
214+
const UNOWN_Q ; 17
215+
const UNOWN_R ; 18
216+
const UNOWN_S ; 19
217+
const UNOWN_T ; 20
218+
const UNOWN_U ; 21
219+
const UNOWN_V ; 22
220+
const UNOWN_W ; 23
221+
const UNOWN_X ; 24
222+
const UNOWN_Y ; 25
223+
const UNOWN_Z ; 26
224+
DEF NUM_UNOWN EQU const_value - 1 ; 26

constants/pokemon_data_constants.asm

+3-2
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,9 @@ DEF CAUGHT_EGG_LEVEL EQU 1
100100
DEF PARTY_LENGTH EQU 6
101101

102102
; boxes
103-
DEF MONS_PER_BOX EQU 20
104-
DEF NUM_BOXES EQU 14
103+
; The Japanese version fits more Pokémon into the boxes, but has less boxes total
104+
DEF MONS_PER_BOX EQU 30
105+
DEF NUM_BOXES EQU 10
105106

106107
; hall of fame
107108
DEF HOF_MON_LENGTH EQUS "(wHallOfFamePokemonListMon1End - wHallOfFamePokemonListMon1)"

constants/spawnpoint_constants.asm

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
; Spawn point indexes (see data/maps/landmarks.asm)
2+
const_def
3+
4+
const SPAWN_POINT_NONE
5+
const SPAWN_POINT_SILENT
6+
const SPAWN_POINT_OLD
7+
const SPAWN_POINT_WEST
8+
const SPAWN_POINT_HIGH_TECH
9+
const SPAWN_POINT_FOUNT
10+
const SPAWN_POINT_BIRDON
11+
const SPAWN_POINT_NEW_TYPE
12+
const SPAWN_POINT_SUGAR
13+
const SPAWN_POINT_BLUE_FOREST
14+
const SPAWN_POINT_STAND
15+
const SPAWN_POINT_KANTO
16+
const SPAWN_POINT_PRINCE
17+
const SPAWN_POINT_MT_FUJI
18+
const SPAWN_POINT_SOUTH
19+
const SPAWN_POINT_NORTH
20+
const SPAWN_POINT_ROUTE_15
21+
const SPAWN_POINT_ROUTE_18
22+
const SPAWN_POINT_POWER_PLANT_1
23+
const SPAWN_POINT_POWER_PLANT_2
24+
const SPAWN_POINT_POWER_PLANT_3
25+
const SPAWN_POINT_POWER_PLANT_4
26+
const SPAWN_POINT_RUINS_1
27+
const SPAWN_POINT_RUINS_2
28+
const SPAWN_POINT_MINES_1
29+
const SPAWN_POINT_MINES_2
30+
const SPAWN_POINT_MINES_3
31+
const SPAWN_POINT_MINES_4
32+
const SPAWN_POINT_MINES_5
33+
const SPAWN_POINT_MINES_6
34+
const SPAWN_POINT_MINES_7
35+
const SPAWN_POINT_HIDEOUT_1
36+
const SPAWN_POINT_HIDEOUT_2
37+
const SPAWN_POINT_HIDEOUT_3
38+
const SPAWN_POINT_SLOWPOKE_WELL_1
39+
const SPAWN_POINT_SLOWPOKE_WELL_2
40+
const SPAWN_POINT_POKEMON_LEAGUE_1
41+
const SPAWN_POINT_POKEMON_LEAGUE_1_2
42+
const SPAWN_POINT_POKEMON_LEAGUE_2
43+
const SPAWN_POINT_POKEMON_LEAGUE_3
44+
const SPAWN_POINT_POKEMON_LEAGUE_4
45+
const SPAWN_POINT_POKEMON_LEAGUE_5
46+
const SPAWN_POINT_POKEMON_LEAGUE_6
47+
const SPAWN_POINT_POKEMON_LEAGUE_7
48+
const SPAWN_POINT_POKEMON_LEAGUE_7_2
49+
const SPAWN_POINT_SILENT_HILL

constants/text_constants.asm

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ DEF NAME_LENGTH EQU 11 ; English
33
DEF PLAYER_NAME_LENGTH EQU 6 ; Japanese
44
DEF BOX_NAME_LENGTH EQU 9 ; English
55
DEF MON_NAME_LENGTH EQU 6
6-
DEF MOVE_NAME_LENGTH EQU 13 ; English
6+
DEF MOVE_NAME_LENGTH EQU 5
77
DEF ITEM_NAME_LENGTH EQU 11
88
DEF TRAINER_CLASS_NAME_LENGTH EQU 13 ; English
99

data/maps/flypoints.asm

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
INCLUDE "constants.asm"
2+
3+
SECTION "data/maps/flypoints.asm", ROMX
4+
5+
;
6+
; Table that the game reads for determining which Fly point to move to depending on D-Pad input.
7+
; Each row corresponds to the index of a Fly point.
8+
;
9+
; db UP, DOWN, LEFT, RIGHT
10+
;
11+
FlyPointPaths:
12+
13+
db FLY_POINT_PRINCE, FLY_POINT_N_A, FLY_POINT_OLD, FLY_POINT_KANTO ; FLY_POINT_SILENT_HILL
14+
db FLY_POINT_HAITEKU, FLY_POINT_SILENT_HILL, FLY_POINT_WEST, FLY_POINT_SILENT_HILL ; FLY_POINT_OLD
15+
db FLY_POINT_BAADON, FLY_POINT_OLD, FLY_POINT_HAITEKU, FLY_POINT_OLD ; FLY_POINT_WEST
16+
db FLY_POINT_FONTO, FLY_POINT_WEST, FLY_POINT_SOUTH, FLY_POINT_WEST ; FLY_POINT_HAITEKU
17+
db FLY_POINT_SOUTH, FLY_POINT_HAITEKU, FLY_POINT_SOUTH, FLY_POINT_BAADON ; FLY_POINT_FONTO
18+
db FLY_POINT_FONTO, FLY_POINT_WEST, FLY_POINT_FONTO, FLY_POINT_NEWTYPE ; FLY_POINT_BAADON
19+
db FLY_POINT_SUGAR, FLY_POINT_N_A, FLY_POINT_BAADON, FLY_POINT_BULL_FOREST ; FLY_POINT_NEWTYPE
20+
db FLY_POINT_N_A, FLY_POINT_NEWTYPE, FLY_POINT_N_A, FLY_POINT_N_A ; FLY_POINT_SUGAR
21+
db FLY_POINT_NORTH, FLY_POINT_STAND, FLY_POINT_NEWTYPE, FLY_POINT_NORTH ; FLY_POINT_BULL_FOREST
22+
db FLY_POINT_BULL_FOREST, FLY_POINT_KANTO, FLY_POINT_KANTO, FLY_POINT_BULL_FOREST ; FLY_POINT_STAND
23+
db FLY_POINT_STAND, FLY_POINT_SILENT_HILL, FLY_POINT_SILENT_HILL, FLY_POINT_STAND ; FLY_POINT_KANTO
24+
db FLY_POINT_MT_FUJI, FLY_POINT_SILENT_HILL, FLY_POINT_N_A, FLY_POINT_N_A ; FLY_POINT_PRINCE
25+
db FLY_POINT_N_A, FLY_POINT_PRINCE, FLY_POINT_N_A, FLY_POINT_N_A ; FLY_POINT_MT_FUJI
26+
db FLY_POINT_FONTO, FLY_POINT_HAITEKU, FLY_POINT_N_A, FLY_POINT_FONTO ; FLY_POINT_SOUTH
27+
db FLY_POINT_N_A, FLY_POINT_BULL_FOREST, FLY_POINT_BULL_FOREST, FLY_POINT_N_A ; FLY_POINT_NORTH

0 commit comments

Comments
 (0)