summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluckytyphlosion <10688458+luckytyphlosion@users.noreply.github.com>2018-07-03 20:03:39 -0400
committerluckytyphlosion <10688458+luckytyphlosion@users.noreply.github.com>2018-07-03 20:03:39 -0400
commited7c6365c98db4ca87d3003d2c84696d768b8e66 (patch)
treef95049354ce88e12f3bd06fe9abb53e6533073f9
parentf4ce13c0ffff06199c55c6ba025ddb1fa387fa6b (diff)
Disassemble remainder of ROM0.
-rw-r--r--data/predef_pointers.inc2
-rw-r--r--home/misc_3c43.asm91
-rw-r--r--home/names.asm4
-rw-r--r--home/tileset.asm24
-rw-r--r--pokegold-spaceworld.link6
-rw-r--r--shim.sym9
-rw-r--r--wram.asm4
7 files changed, 130 insertions, 10 deletions
diff --git a/data/predef_pointers.inc b/data/predef_pointers.inc
index f10af54..edb6a77 100644
--- a/data/predef_pointers.inc
+++ b/data/predef_pointers.inc
@@ -93,7 +93,7 @@ GiveItemPredef::
add_predef Function8c4be
add_predef Function8c9c6
add_predef Function8c940 ; 50
- add_predef Functioncc001
+ add_predef PlayBattleAnim
add_predef Functioncc000
add_predef Functioncc000_2
add_predef Functionfdb66
diff --git a/home/misc_3c43.asm b/home/misc_3c43.asm
new file mode 100644
index 0000000..0abbd79
--- /dev/null
+++ b/home/misc_3c43.asm
@@ -0,0 +1,91 @@
+INCLUDE "constants.asm"
+
+SECTION "home/misc_3c43.asm", ROM0
+
+GetPartyParamLocation:: ; 3c43 (00:3c43)
+; Get the location of parameter a from wCurPartyMon in hl
+ push bc
+ ld hl, wPartyMons
+ ld c, a
+ ld b, 0
+ add hl, bc
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld a, [wWhichPokemon]
+ call AddNTimes
+ pop bc
+ ret
+
+UseItem:: ; 3c56 (00:3c56)
+ jpba _UseItem
+
+CheckTossableItem:: ; 3c5e (00:3c5e)
+ push hl
+ push de
+ push bc
+ callab _CheckTossableItem
+ pop bc
+ pop de
+ pop hl
+ ret
+
+GetBattleAnimPointer:: ; 3c6d (00:3c6d)
+ ld a, BANK(BattleAnimationsBankRef)
+ ld [MBC3RomBank], a
+ ldh [hROMBank], a
+
+ ld a, [hli]
+ ld [wBattleAnimAddress], a
+ ld a, [hl]
+ ld [wBattleAnimAddress + 1], a
+
+ ld a, BANK(PlayBattleAnim)
+ ld [MBC3RomBank], a
+ ldh [hROMBank], a
+
+ ret
+
+GetBattleAnimByte:: ; 3c84 (00:3c84)
+ push hl
+ push de
+
+ ld hl, wBattleAnimAddress
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+
+ ld a, BANK(BattleAnimationsBankRef)
+ ld [MBC3RomBank], a
+ ldh [hROMBank], a
+
+ ld a, [de]
+ ld [wBattleAnimByte], a
+ inc de
+
+ ld a, BANK(PlayBattleAnim)
+ ld [MBC3RomBank], a
+ ldh [hROMBank], a
+
+ ld [hl], d
+ dec hl
+ ld [hl], e
+
+ pop de
+ pop hl
+
+ ld a, [wBattleAnimByte]
+ ret
+
+InitSpriteAnimStruct:: ; 3ca8 (00:3ca8)
+ ld [wSpriteAnimIDBuffer], a
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(_InitSpriteAnimStruct)
+ call Bankswitch
+ ld a, [wSpriteAnimIDBuffer]
+ call _InitSpriteAnimStruct
+ pop af
+ call Bankswitch
+ ret
+
+EmptyFunction3cbe:: ; 3cbe (00:3cbe)
+ ret \ No newline at end of file
diff --git a/home/names.asm b/home/names.asm
index d8739e5..7b5b995 100644
--- a/home/names.asm
+++ b/home/names.asm
@@ -246,6 +246,10 @@ Unreferenced_GetMoveName:: ; 00:37fc
SECTION "home/names.asm@GetNick", ROM0
+GetCurNick:: ; 3a91 (00:3a91)
+ ld a, [wWhichPokemon]
+ ld hl, wPartyMonNicknames
+
GetNick: ; 00:3a97
; Get nickname a from list hl.
push hl
diff --git a/home/tileset.asm b/home/tileset.asm
index 8a6ef44..4bf6a98 100644
--- a/home/tileset.asm
+++ b/home/tileset.asm
@@ -416,4 +416,28 @@ LoadTileset:: ; 2f48
pop bc
pop hl
+ ret
+
+ReloadFontAndTileset:: ; 2f6b (00:2f6b)
+ call DisableLCD
+ ldh a, [hROMBank]
+ push af
+ ld a, [wMapGroup]
+ ld b, a
+ ld a, [wMapId]
+ ld c, a
+ call SwitchToAnyMapBank
+ call LoadFontExtra
+ call LoadMapPart
+ call LoadTilesetGFX
+ pop af
+ call Bankswitch
+
+ call EnableLCD
+ ret
+
+LoadTilesetGFX_LCDOff:: ; 2f8d (00:2f8d)
+ call DisableLCD
+ call LoadTilesetGFX
+ call EnableLCD
ret \ No newline at end of file
diff --git a/pokegold-spaceworld.link b/pokegold-spaceworld.link
index 8b0d1bc..cd029be 100644
--- a/pokegold-spaceworld.link
+++ b/pokegold-spaceworld.link
@@ -59,8 +59,6 @@ ROM0
"home/map.asm"
"home/overworld.asm@Startmenu and Select Button Check"
"home/tileset.asm"
- ; $2f6b
- org $2f97
"home/unknown.asm@Empty function"
"home/farcall.asm"
"home/predef.asm"
@@ -89,12 +87,10 @@ ROM0
"home/mon_stats.asm"
"home/cry.asm"
"home/pokemon.asm@3A4B"
- ; $3a91
- org $3a97
"home/names.asm@GetNick"
"home/print_bcd.asm"
"home/pokemon.asm@3AED"
- org $3cbf
+ "home/misc_3c43.asm"
"home/audio.asm"
ROMX $01
org $4000
diff --git a/shim.sym b/shim.sym
index f972019..69afddf 100644
--- a/shim.sym
+++ b/shim.sym
@@ -1,6 +1,4 @@
-; ROM0
-00:3C43 GetPartyParamLocation
-00:3CA8 InitSpriteAnimStruct
+; ROMX
01:40FD Function40fd
01:5007 Function5007
@@ -57,6 +55,7 @@
03:5F91 Functiondf91
03:60A0 Function60a0
03:6734 Function6734
+03:677F _UseItem
04:4743 ShrinkPic1
04:479D ShrinkPic2
@@ -174,6 +173,7 @@
23:4CFD InitEffectObject
23:4D0C PlaySpriteAnimationsAndDelayFrame
23:4d13 EffectObjectJumpNoDelay
+23:4d52 _InitSpriteAnimStruct
23:60cc MenuMonIconGfx
23:71CB Function_8f1cb
@@ -183,10 +183,11 @@
32:76FF Functioncb6ff
32:7710 Functioncb710
32:7733 Functioncb733
+32:7FFF BattleAnimationsBankRef
33:4000 Functioncc000
33:4000 Functioncc000_2
-33:4001 Functioncc001
+33:4001 PlayBattleAnim
33:467B QueueBattleAnimation
33:625D BattleAnim_Sine_e
33:6263 BattleAnim_Cosine_e
diff --git a/wram.asm b/wram.asm
index 7570201..08b0b02 100644
--- a/wram.asm
+++ b/wram.asm
@@ -97,6 +97,10 @@ NEXTU
; Monster or Trainer test?
wWhichPicTest:: ; c40b
db
+; c40c
+ ds 180
+
+wSpriteAnimIDBuffer:: db ; c4c0
ENDU