summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rwxr-xr-xmain.asm168
1 files changed, 126 insertions, 42 deletions
diff --git a/main.asm b/main.asm
index 07cd0c41..863c7892 100755
--- a/main.asm
+++ b/main.asm
@@ -231,27 +231,58 @@ INCLUDE "engine/battle/moveEffects/substitute_effect.asm"
INCLUDE "engine/menu/pc.asm"
SECTION "bank06",ROMX,BANK[$06]
- dr $18000,$1a4ea
-PlayerStepOutFromDoor: ; 1a4ea (6:64ea)
- dr $1a4ea,$1a527
-_EndNPCMovementScript: ; 1a527 (6:6527)
- dr $1a527,$1a54c
-ProfOakMovementScriptPointerTable: ; 1a54c (6:654c)
- dr $1a54c,$1a622
-PewterMuseumGuyMovementScriptPointerTable: ; 1a622 (6:6622)
- dr $1a622,$1a685
-PewterGymGuyMovementScriptPointerTable: ; 1a685 (6:6685)
- dr $1a685,$1a785
-IsPlayerStandingOnDoorTile: ; 1a785 (6:6785)
- dr $1a785,$1a7f4
-HandleLedges: ; 1a7f4 (6:67f4)
- dr $1a7f4,$1c000
+
+ dr $18000,$18dee ; headers, objects, blocks
+; INCLUDE "data/mapHeaders/celadoncity.asm"
+; INCLUDE "data/mapObjects/celadoncity.asm"
+; CeladonCityBlocks: INCBIN "maps/celadoncity.blk"
+
+; INCLUDE "data/mapHeaders/pallettown.asm"
+; INCLUDE "data/mapObjects/pallettown.asm"
+; PalletTownBlocks: INCBIN "maps/pallettown.blk"
+
+; INCLUDE "data/mapHeaders/viridiancity.asm"
+; INCLUDE "data/mapObjects/viridiancity.asm"
+; ViridianCityBlocks: INCBIN "maps/viridiancity.blk"
+
+; INCLUDE "data/mapHeaders/pewtercity.asm"
+; INCLUDE "data/mapObjects/pewtercity.asm"
+; PewterCityBlocks: INCBIN "maps/pewtercity.blk"
+
+; INCLUDE "data/mapHeaders/ceruleancity.asm"
+; INCLUDE "data/mapObjects/ceruleancity.asm"
+; CeruleanCityBlocks: INCBIN "maps/ceruleancity.blk"
+
+; INCLUDE "data/mapHeaders/vermilioncity.asm"
+; INCLUDE "data/mapObjects/vermilioncity.asm"
+; VermilionCityBlocks: INCBIN "maps/vermilioncity.blk"
+
+; INCLUDE "data/mapHeaders/fuchsiacity.asm"
+; INCLUDE "data/mapObjects/fuchsiacity.asm"
+; FuchsiaCityBlocks: INCBIN "maps/fuchsiacity.blk"
+
+ dr $18dee,$1a4ea ; map scripts
+
+; INCLUDE "scripts/pallettown.asm"
+; INCLUDE "scripts/viridiancity.asm"
+; INCLUDE "scripts/pewtercity.asm"
+; INCLUDE "scripts/ceruleancity.asm"
+; INCLUDE "scripts/vermilioncity.asm"
+; INCLUDE "scripts/celadoncity.asm"
+; INCLUDE "scripts/fuchsiacity.asm"
+
+INCLUDE "engine/overworld/npc_movement.asm"
+INCLUDE "engine/overworld/doors.asm"
+INCLUDE "engine/overworld/ledges.asm"
SECTION "bank07",ROMX,BANK[$07]
- dr $1c000,$1c21e
-DoClearSaveDialogue: ; 1c21e (7:421e)
- dr $1c21e,$1e2ae
+ dr $1c000,$1c21e ; headers, objects, blocks
+
+INCLUDE "engine/clear_save.asm"
+INCLUDE "engine/predefs7.asm"
+
+ dr $1c2c2,$1e2ae ; map scripts
OpenOaksPC: ; 1e2ae (7:62ae)
dr $1e2ae,$1e321
SafariZoneCheck: ; 1e321 (7:6e21)
@@ -657,7 +688,7 @@ INCLUDE "engine/overworld/dungeon_warps.asm"
SECTION "bank12",ROMX,BANK[$12]
- dr $48000,$4c000
+ dr $48000,$4a540
SECTION "bank13",ROMX,BANK[$13]
@@ -711,20 +742,18 @@ AgathaPic: INCBIN "pic/trainer/agatha.pic"
LancePic: INCBIN "pic/trainer/lance.pic"
JessieJamesPic: INCBIN "pic/ytrainer/jessiejames.pic"
- dr $4fe79,$50000
+ dr $4fe79,$4ff1a
SECTION "bank14",ROMX,BANK[$14]
dr $50000,$525d8
-
INCLUDE "engine/overworld/card_key.asm"
INCLUDE "engine/menu/prize_menu.asm"
INCLUDE "engine/hidden_object_functions14.asm"
-
SECTION "bank15",ROMX,BANK[$15]
dr $54000,$5525f
@@ -739,7 +768,7 @@ _SetSpritePosition1: ; 56789 (15:6789)
_SetSpritePosition2: ; 567a9 (15:67a9)
dr $567a9,$567cd
TrainerWalkUpToPlayer: ; 567cd (15:67cd)
- dr $567cd,$58000
+ dr $567cd,$56997
SECTION "bank16",ROMX,BANK[$16]
dr $58000,$58d99
@@ -748,19 +777,19 @@ CalcLevelFromExperience: ; 58d99 (16:4d99)
CalcExperience: ; 58dc0 (16:4dc0)
dr $58dc0,$58e8b
PrintStatusAilment: ; 58e8b (16:4e8b)
- dr $58e8b,$5c000
+ dr $58e8b,$5a555
SECTION "bank17",ROMX,BANK[$17]
dr $5c000,$5da70
EvolveMon: ; 5da70 (17:5a70)
- dr $5da70,$60000
+ dr $5da70,$5df60
SECTION "bank18",ROMX,BANK[$18]
- dr $60000,$64000
+ dr $60000,$62702
SECTION "bank19",ROMX,BANK[$19]
@@ -770,7 +799,7 @@ Overworld_GFX:
SECTION "bank1A",ROMX,BANK[$1A]
- dr $68000,$6c000
+ dr $68000,$6bff1
SECTION "bank1B",ROMX,BANK[$1B]
@@ -813,7 +842,7 @@ HiddenItemNear: ; 7405c (1d:405c)
VendingMachineMenu: ; 74726 (1d:4726)
dr $74726,$75dfe
PKMNLeaguePC: ; 75dfe (1d:5dfe)
- dr $75dfe,$78000
+ dr $75dfe,$76177
SECTION "bank1E",ROMX,BANK[$1E]
@@ -848,30 +877,85 @@ SECTION "bank30",ROMX,BANK[$30]
SECTION "bank39",ROMX,BANK[$39]
- dr $e4000,$e8000
+ dr $e4000,$e7ea3
SECTION "bank3A",ROMX,BANK[$3A]
-MonsterNames: ; e8000 (3a:4000)
- dr $e8000,$e876c
+INCLUDE "text/monster_names.asm"
IsPlayerJustOutsideMap: ; e876c (3a:476c)
- dr $e876c,$e8a5e
-Func_e8a5e: ; e8a5e (3a:4a5e)
- dr $e8a5e,$e8b74
-Func_e8b74: ; e8b74 (3a:4b74)
- dr $e8b74,$e8d35
-Func_e8d35:: ; e8d35 (3a:4d35)
- dr $e8d35,$e8e79
+ ld a, [wYCoord]
+ ld b, a
+ ld a, [wCurMapHeight]
+ call Func_e877e
+ ret z
+ ld a, [wXCoord]
+ ld b, a
+ ld a, [wCurMapWidth]
+Func_e877e:
+ add a
+ cp b
+ ret z
+ inc b
+ ret
+
+INCLUDE "engine/printer.asm"
+
Func_e8e79: ; e8e79 (3a:4e79)
- dr $e8e79,$e928a
+ dr $e8e79,$e8eca
+Func_e8eca: ; e8eca (3a:4eca)
+ dr $e8eca,$e8efc
+Func_e8efc: ; e8efc (3a:4efc)
+ dr $e8efc,$e8f09
+Func_e8f09: ; e8f09 (3a:4f09)
+ dr $e8f09,$e8f16
+Func_e8f16: ; e8f16 (3a:4f16)
+ dr $e8f16,$e8f24
+Func_e8f24: ; e8f24 (3a:4f24)
+ dr $e8f24,$e8f3b
+Func_e8f3b: ; e8f3b (3a:4f3b)
+ dr $e8f3b,$e8f51
+Func_e8f51: ; e8f51 (3a:4f51)
+ dr $e8f51,$e8f82
+Func_e8f82: ; e8f82 (3a:4f82)
+ dr $e8f82,$e928a
SurfingPikachu2Graphics: INCBIN "gfx/surfing_pikachu_2.2bpp"
- dr $e988a,$e9bfa
+Func_e988a: ; e988a (3a:588a)
+ dr $e988a,$e98ec
+Func_e98ec: ; e98ec (3a:58ec)
+ dr $e98ec,$e9907
+Func_e9907: ; e9907 (3a:5907)
+ dr $e9907,$e9922
+Func_e9922: ; e9922 (3a:5922)
+ dr $e9922,$e9bfa
SurfingPikachu3Graphics: INCBIN "gfx/surfing_pikachu_3.t1.2bpp"
- dr $ea3ea,$eaa02
+INCLUDE "engine/unknown_ea3ea.asm"
+
FreezeEnemyTrainerSprite: ; eaa02 (3a:6a02)
- dr $eaa02,$ec000
+ ld a, [wCurMap]
+ cp POKEMONTOWER_7
+ ret z ; the Rockets on Pokemon Tower 7F leave after battling, so don't freeze them
+ ld hl, RivalIDs
+ ld a, [wEngagedTrainerClass]
+ ld b, a
+.loop
+ ld a, [hli]
+ cp $ff
+ jr z, .notRival
+ cp b
+ ret z ; the rival leaves after battling, so don't freeze him
+ jr .loop
+.notRival
+ ld a, [wSpriteIndex]
+ ld [H_SPRITEINDEX], a
+ jp SetSpriteMovementBytesToFF
+
+RivalIDs: ; eaa20 (3a:6a20)
+ db OPP_SONY1
+ db OPP_SONY2
+ db OPP_SONY3
+ db $ff
SECTION "bank3C",ROMX,BANK[$3C]