shithub: pokecrystal

Download patch

ref: b23f0b2bdaa993f17d8312bcde5f2b8a59ef9c90
parent: d9b44d4423f16aa238f0c5bccd65f8710afdd072
author: Rangi <[email protected]>
date: Mon Jul 16 11:58:07 EDT 2018

Fewer uses of 'Thing2 - Thing1' for sizeof(Thing)

--- a/data/events/odd_eggs.asm
+++ b/data/events/odd_eggs.asm
@@ -55,8 +55,8 @@
 	bigdw 8 ; SAtk
 	bigdw 8 ; SDef
 	db "EGG@@@@@@@@"
+OddEgg1End:
 
-OddEgg2:
 	db PICHU
 	db NO_ITEM
 	db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -3619,10 +3619,10 @@
 	ld e, a
 	xor a
 	ld hl, wPartyMon1HP
-	ld bc, wPartyMon2 - (wPartyMon1 + 1)
+	ld bc, PARTYMON_STRUCT_LENGTH - 1
 .loop
 	or [hl]
-	inc hl
+	inc hl ; + 1
 	or [hl]
 	add hl, bc
 	dec e
--- a/engine/events/battle_tower/load_trainer.asm
+++ b/engine/events/battle_tower/load_trainer.asm
@@ -104,7 +104,7 @@
 	ld a, [wBTChoiceOfLvlGroup]
 	dec a
 	ld hl, BattleTowerMons
-	ld bc, BattleTowerMons2 - BattleTowerMons1
+	ld bc, BattleTowerMons2 - BattleTowerMons1 ; size of one level group
 	call AddNTimes
 
 	ld a, [hRandomAdd]
--- a/engine/events/odd_egg.asm
+++ b/engine/events/odd_egg.asm
@@ -39,7 +39,7 @@
 .done
 
 	ld hl, OddEggs
-	ld a, OddEgg2 - OddEgg1
+	ld a, OddEgg1End - OddEgg1
 	call AddNTimes
 
 	ld de, wOddEggSpecies
--- a/engine/link/link.asm
+++ b/engine/link/link.asm
@@ -2039,7 +2039,7 @@
 	jr nc, .move_too_new
 	dec c
 	jr nz, .move_next
-	ld de, wPartyMon2 - (wPartyMon1 + NUM_MOVES)
+	ld de, PARTYMON_STRUCT_LENGTH - NUM_MOVES
 	add hl, de
 	dec b
 	jr nz, .move_loop
--- a/engine/overworld/player_movement.asm
+++ b/engine/overworld/player_movement.asm
@@ -562,8 +562,8 @@
 .GetAction:
 ; Poll player input and update movement info.
 
-	ld hl, .table
-	ld de, .table2 - .table1
+	ld hl, .action_table
+	ld de, .action_table_1_end - .action_table_1
 	ld a, [wCurInput]
 	bit D_DOWN_F, a
 	jr nz, .d_down
@@ -597,25 +597,20 @@
 	ld [wWalkingTile], a
 	ret
 
-.table
-; struct:
-;	walk direction
-;	facing
-;	x movement
-;	y movement
-;	tile collision pointer
-.table1
-	db STANDING, FACE_CURRENT, 0, 0
-	dw wPlayerStandingTile
-.table2
-	db RIGHT, FACE_RIGHT,  1,  0
-	dw wTileRight
-	db LEFT,  FACE_LEFT,  -1,  0
-	dw wTileLeft
-	db UP,    FACE_UP,     0, -1
-	dw wTileUp
-	db DOWN,  FACE_DOWN,   0,  1
-	dw wTileDown
+player_action: MACRO
+; walk direction, facing, x movement, y movement, tile collision pointer
+	db \1, \2, \3, \4
+	dw \5
+ENDM
+
+.action_table:
+.action_table_1
+	player_action STANDING, FACE_CURRENT, 0,  0, wPlayerStandingTile
+.action_table_1_end
+	player_action RIGHT,    FACE_RIGHT,   1,  0, wTileRight
+	player_action LEFT,     FACE_LEFT,   -1,  0, wTileLeft
+	player_action UP,       FACE_UP,      0, -1, wTileUp
+	player_action DOWN,     FACE_DOWN,    0,  1, wTileDown
 
 .CheckNPC:
 ; Returns 0 if there is an NPC in front that you can't move