diff options
| author | Pokeglitch <pokeglitchx@gmail.com> | 2018-07-31 21:06:42 -0400 |
|---|---|---|
| committer | Pokeglitch <pokeglitchx@gmail.com> | 2018-07-31 21:06:42 -0400 |
| commit | 9d93ab21de065203859bc174e42520ec07efa816 (patch) | |
| tree | d6e43184c583b3142ef93ca189f6d2bd1dc0a79e | |
| parent | 998fea6e430f278a2d03a6ebab9fbc36dc91edfa (diff) | |
Finished dumping bank 1
| -rw-r--r-- | Makefile | 1 | ||||
| -rw-r--r-- | data/items/attributes.asm | 4 | ||||
| -rw-r--r-- | data/items/names.asm | 2 | ||||
| -rwxr-xr-x | engine/dumps/bank01.asm | 1164 | ||||
| -rw-r--r-- | gfx.asm | 1 | ||||
| -rwxr-xr-x | gfx/trainer_card/border.png | bin | 0 -> 204 bytes | |||
| -rwxr-xr-x[-rw-r--r--] | gfx/trainer_card/trainer_card.png | bin | 369 -> 668 bytes | |||
| -rw-r--r-- | macros/text.asm | 44 | ||||
| -rw-r--r-- | pokegold-spaceworld.link | 19 | ||||
| -rwxr-xr-x | shim.sym | 34 | ||||
| -rw-r--r-- | wram.asm | 85 |
11 files changed, 1249 insertions, 105 deletions
@@ -90,7 +90,6 @@ $(BUILD)/gfx/sgb/sgb_border_alt.2bpp: tools/gfx += --trim-whitespace $(BUILD)/gfx/sgb/sgb_border_gold.2bpp: tools/gfx += --trim-whitespace $(BUILD)/gfx/sgb/sgb_border_silver.2bpp: tools/gfx += --trim-whitespace $(BUILD)/gfx/trainer_card/leaders.2bpp: tools/gfx += --trim-whitespace -$(BUILD)/gfx/trainer_card/trainer_card.2bpp: tools/gfx += --trim-whitespace $(BUILD)/gfx/pokegear/town_map.2bpp: tools/gfx += --trim-trailing $(BUILD)/gfx/minigames/slots.2bpp: tools/gfx += --trim-whitespace $(BUILD)/gfx/minigames/poker.2bpp: tools/gfx += --trim-whitespace diff --git a/data/items/attributes.asm b/data/items/attributes.asm index 1e54451..9975dc2 100644 --- a/data/items/attributes.asm +++ b/data/items/attributes.asm @@ -517,4 +517,6 @@ ItemAttributes:: ; 68f3 ; ITEM_HM06 item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_PARTY ; ITEM_HM07 - item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_PARTY
\ No newline at end of file + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ITEM_FF + item_attribute 0, HELD_NONE, 0, NO_LIMITS, 0, ITEMMENU_NOUSE, ITEMMENU_NOUSE diff --git a/data/items/names.asm b/data/items/names.asm index 0036cd6..3ae826d 100644 --- a/data/items/names.asm +++ b/data/items/names.asm @@ -261,4 +261,4 @@ ItemNames:: db "ひでんマシン05@" ; HM05 db "ひでんマシン06@" ; HM06 db "ひでんマシン07@" ; HM07 - db "しようきんし@" ; FF
\ No newline at end of file + db "しようきんし@" ; FF diff --git a/engine/dumps/bank01.asm b/engine/dumps/bank01.asm index 575afed..4425842 100755 --- a/engine/dumps/bank01.asm +++ b/engine/dumps/bank01.asm @@ -107,8 +107,112 @@ Table416b: dw Unknown41eb dw Unknown4203 -SECTION "engine/dumps/bank01.asm@Function42db", ROMX - +Unknown41eb: ; 01:41eb + db $00, $01, $02, $03 + +Unknown41ef: ; 01:41ef + db $80, $81, $82, $83 + +Unknown41f3: ; 01:41f3 + db $04, $05, $06, $07 + +Unknown41f7: ; 01:41f7 + db $84, $85, $86, $87 + +Unknown41fb: ; 01:41fb + db $08, $09, $0a, $0b + +Unknown41ff: ; 01:41ff + db $88, $89, $8a, $8b + +Unknown4203: ; 01:4203 + db $00, $00, $00, $00 + db $08, $00, $08, $00 + db $02, $08, $08, $03 + +Unknown420f: ; 01:420f + db $00, $08, $20, $00 + db $00, $20, $08, $08 + db $22, $08, $00, $23 + +Table421b: ; 01:421b + dw Unknown423b + dw Unknown424b + dw Unknown423b + dw Unknown425b + dw Unknown426b + dw Unknown427b + dw Unknown426b + dw Unknown428b + dw Unknown429b + dw Unknown42bb + dw Unknown429b + dw Unknown42bb + dw Unknown42ab + dw Unknown42cb + dw Unknown42ab + dw Unknown42cb + +Unknown423b: ; 01:423b + db $00, $00, $00, $00 + db $00, $08, $01, $00 + db $08, $00, $02, $02 + db $08, $08, $03, $03 + +Unknown424b: ; 01:424b + db $00, $00, $80, $00 + db $00, $08, $81, $00 + db $08, $00, $82, $02 + db $08, $08, $83, $03 + +Unknown425b: ; 01:425b + db $00, $08, $80, $20 + db $00, $00, $81, $20 + db $08, $08, $82, $22 + db $08, $00, $83, $23 + +Unknown426b: ; 01:426b + db $00, $00, $04, $00 + db $00, $08, $05, $00 + db $08, $00, $06, $02 + db $08, $08, $07, $03 + +Unknown427b: ; 01:427b + db $00, $00, $84, $00 + db $00, $08, $85, $00 + db $08, $00, $86, $02 + db $08, $08, $87, $03 + +Unknown428b: ; 01:428b + db $00, $08, $84, $20 + db $00, $00, $85, $20 + db $08, $08, $86, $22 + db $08, $00, $87, $23 + +Unknown429b: ; 01:429b + db $00, $00, $08, $00 + db $00, $08, $09, $00 + db $08, $00, $0a, $02 + db $08, $08, $0b, $03 + +Unknown42ab: ; 01:42ab + db $00, $08, $08, $20 + db $00, $00, $09, $20 + db $08, $08, $0a, $22 + db $08, $00, $0b, $23 + +Unknown42bb: ; 01:42bb + db $00, $00, $88, $00 + db $00, $08, $89, $00 + db $08, $00, $8a, $02 + db $08, $08, $8b, $03 + +Unknown42cb: ; 01:42cb + db $00, $08, $88, $20 + db $00, $00, $89, $20 + db $08, $08, $8a, $22 + db $08, $00, $8b, $23 + Function42db: ; 01:42db ld bc, wCmdQueue ld a, $01 @@ -765,15 +869,16 @@ Function468a: ; 01:468a ld hl, $0004 add hl, bc bit 2, [hl] - jr nz, .sub_46a2 + jr nz, Function46a2 ld hl, $0007 add hl, bc add a add a and $0c ld [hl], a -.sub_46a2 - call Function46d3.sub_46e5 + +Function46a2: ; 01:46a2 + call Function46e5 ld hl, $0009 add hl, bc ld [hl], a @@ -804,7 +909,7 @@ Function468a: ; 01:468a ret Function46d3: ; 01:46d3 - call .sub_46e5 + call Function46e5 ld hl, $0018 add hl, bc ld a, [hl] @@ -816,7 +921,8 @@ Function46d3: ; 01:46d3 add e ld [hl], a ret -.sub_46e5 + +Function46e5: ; 01:46e5 ld hl, $0006 add hl, bc ld l, [hl] @@ -848,7 +954,28 @@ Function46f9: ; 01:46f9 Table4708: ; 01:4708 db $00, $01, $10 -SECTION "engine/dumps/bank01.asm@Function4748", ROMX +Table470b: ; 01:470b + db $01, $00, $ff + db $10, $01, $ff + db $00, $10, $01 + db $01, $00, $10 + db $01, $00, $02 + db $08, $02, $00 + db $fe, $08, $02 + db $fe, $00, $08 + db $02, $02, $00 + db $08, $02, $00 + db $04, $04, $04 + db $00, $fc, $04 + db $04, $fc, $00 + db $04, $04, $04 + db $00, $04, $04 + db $00, $08, $02 + db $08, $00, $f8 + db $02, $08, $f8 + db $00, $02, $08 + db $08, $00, $02 + db $08 Function4748: ; 01:4748 add a @@ -864,7 +991,7 @@ Function4750: ; 01:4750 ld a, [hl] and $03 ld [wPlayerStepDirection], a - call Function46d3.sub_46e5 + call Function46e5 ld a, d ld [wcb6c], a ld a, e @@ -1254,7 +1381,7 @@ Function499c: ; 01:499c add e ld [hl], a ld d, $00 - ld hl, $49dc + ld hl, Unknown49dc add hl, de ld a, [hl] ld hl, $001b @@ -1635,7 +1762,7 @@ Function4c0c: ; 01:4c0c ld e, [hl] inc [hl] ld d, $00 - ld hl, $cb7c + ld hl, wcb7c ld a, [hli] ld h, [hl] ld l, a @@ -2121,7 +2248,7 @@ Function4edf: ; 01:4edf ret nz call Function4799 call Function45d4 - call Function468a.sub_46a2 + call Function46a2 ld hl, $0005 add hl, bc res 3, [hl] @@ -2168,7 +2295,7 @@ Function4f20: ; 01:4f20 ret Function4f40: ; 01:4f40 - call Function468a.sub_46a2 + call Function46a2 ld hl, wcb6e set 7, [hl] call Function4799 @@ -2613,7 +2740,7 @@ _UpdateSprites: ; 01:5190 ld l, a ld h, $00 add hl, hl - ld bc, $421b + ld bc, Table421b add hl, bc ld a, [hli] ld h, [hl] @@ -2790,7 +2917,7 @@ Function52dc: ; 01:52dc call PrintPlayTime ret -SECTION "engine/dumps/bank01.asmFunction5388", ROMX +SECTION "engine/dumps/bank01.asm@Function5388", ROMX Function5388: ; 01:5388 ld a, $00 @@ -2829,6 +2956,538 @@ Function53b0: ; 01:53b0 call CloseSRAM ret +SECTION "engine/dumps/bank01.asm@ReanchorBGMap_NoOAMUpdate", ROMX + +ReanchorBGMap_NoOAMUpdate: ; 01:63d8 + xor a + ldh [hLCDCPointer], a + ld hl, wMapObjectsEnd + set 7, [hl] + res 2, [hl] + ld a, $90 + ldh [hWY], a + xor a + ldh [hBGMapMode], a + xor a + ldh [hBGMapAddress], a + ld a, $9c + ldh [hBGMapAddress+1], a + call LoadMapPart + call WaitBGMap + xor a + ldh [hBGMapMode], a + ldh [hWY], a + call .sub_6412 + xor a + ld [wBGMapAnchor], a + ld a, $98 + ldh [hBGMapAddress+1], a + ld [wBGMapAnchor+1], a + xor a + ldh [hSCX], a + ldh [hSCY], a + call WaitBGMap + ret +.sub_6412 + ld a, $60 + ld hl, wTileMapBackup + ld bc, $0080 + call ByteFill + ld hl, vBGMap0 + ld c, $08 +.sub_6422 + push bc + push hl + ld de, wTileMapBackup + ld bc, $0008 + call Request2bpp + pop hl + ld bc, $0080 + add hl, bc + pop bc + dec c + jr nz, .sub_6422 + ret + +LoadFonts_NoOAMUpdate: ; 01:6437 + call UpdateSprites + call LoadFont + call LoadFontExtra + ld a, $90 + ldh [hWY], a + ret + + +Function6445: ; 01:6445 + call BackUpTilesToBuffer + ld a, [wWhichPokemon] + ld hl, wPartyMonNicknames + call GetNick + ld hl, wStringBuffer1 + ld de, wcd11 + ld bc, $0006 + call CopyBytes +.sub_645d + ld hl, wPartyMon1Moves + ld bc, $0030 + ld a, [wWhichPokemon] + call AddNTimes + ld d, h + ld e, l + ld b, $04 +.sub_646d + ld a, [hl] + and a + jr z, .sub_648d + inc hl + dec b + jr nz, .sub_646d + push de + call .sub_64f4 + pop de + jp c, .sub_64d6 + push hl + push de + ld [wce37], a + call Unreferenced_GetMoveName + ld hl, Text664b + call PrintText + pop de + pop hl +.sub_648d + ld a, [wce32] + ld [hl], a + ld bc, $0015 + add hl, bc + push hl + push de + dec a + ld hl, Moves + ld bc, $0007 + call AddNTimes + ld a, BANK(Moves) + call GetFarByte + pop de + pop hl + ld [hl], a + ld a, [wBattleMode] + and a + jp z, .sub_64eb + ld a, [wWhichPokemon] + ld b, a + ld a, [wcd41] + cp b + jp nz, .sub_64eb + ld h, d + ld l, e + ld de, wca04 + ld bc, $0004 + call CopyBytes + ld bc, $0011 + add hl, bc + ld de, wca0a + ld bc, $0004 + call CopyBytes + jp .sub_64eb +.sub_64d6 + ld hl, Text65b9 + call PrintText + call YesNoBox + jp c, .sub_645d + ld hl, Text65d7 + call PrintText + ld b, $00 + ret +.sub_64eb + ld hl, Text658c + call PrintText + ld b, $01 + ret +.sub_64f4 + push hl + ld hl, Text65f0 + call PrintText + call YesNoBox + pop hl + ret c + ld bc, $fffc + add hl, bc + push hl + ld de, wce2e + ld bc, $0004 + call CopyBytes + pop hl +.sub_650f + push hl + ld hl, Text65a8 + call PrintText + coord hl, 10, 8 + ld b, $08 + ld c, $08 + call DrawTextBox + coord hl, 12, 10 + ld a, $28 + ld [wFieldMoveScriptID], a + ld a, $32 + call Predef + ld a, $0a + ld [w2DMenuCursorInitY], a + ld a, $0b + ld [w2DMenuCursorInitX], a + ld a, [wcd57] + inc a + ld [w2DMenuNumRows], a + ld a, $01 + ld [w2DMenuNumCols], a + ld [w2DMenuDataEnd], a + ld [wMenuCursorX], a + ld a, $03 + ld [wMenuJoypadFilter], a + ld a, $20 + ld [w2DMenuFlags], a + xor a + ld [w2DMenuFlags+1], a + ld a, $20 + ld [w2DMenuCursorOffsets], a + call Get2DMenuJoypad + push af + call ReloadTilesFromBuffer + pop af + pop hl + bit 1, a + jr nz, .sub_658a + push hl + ld a, [w2DMenuDataEnd] + dec a + ld c, a + ld b, $00 + add hl, bc + ld a, [hl] + push af + push bc + call IsHMMove + pop bc + pop de + ld a, d + jr c, .sub_6581 + pop hl + add hl, bc + and a + ret +.sub_6581 + ld hl, Text6691 + call PrintText + pop hl + jr .sub_650f +.sub_658a + scf + ret + +Text658c: ; 01:658c + text_from_ram wcd11 + text "は あたらしく" + line "" + text_end + +Text6599: ; 01:6599 + text_from_ram wStringBuffer2 + text "を おぼえた!" + text_end + +Text65a5: ; 01:65a5 + sound_dex_fanfare_50_79 + text_waitbutton + text_end + +Text65a8: ; 01:65a8 + text "どの わざを" + next "わすれさせたい?" + done + +Text65b9: ; 01:65b9 + text "それでは<⋯⋯> " + text_end + +Text65c1: ; 01:65c1 + text_from_ram wStringBuffer2 + text "を" + line "おぼえるのを あきらめますか?" + done + +Text65d7: ; 01:65d7 + text_from_ram wcd11 + text "は " + text_end + +Text65de: ; 01:65de + text_from_ram wStringBuffer2 + text "を" + line "おぼえずに おわった!" + prompt + +Text65f0: ; 01:65f0 + text_from_ram wcd11 + text "は あたらしく" + line "" + text_end + +Text65fd: ; 01:65fd + text_from_ram wStringBuffer2 + text "を おぼえたい<⋯⋯>!" + para "しかし " + text_end + +Text6610: ; 01:6610 + text_from_ram wcd11 + text "は わざを 4つ" + line "おぼえるので せいいっぱいだ!" + para "" + text_end + +Text662e: ; 01:662e + text_from_ram wStringBuffer2 + text "の かわりに" + line "ほかの わざを わすれさせますか?" + done + +Text664b: ; 01:664b + text "1 2の <⋯⋯>" + text_end + +Text6653: ; 01:6653 + text_exit + start_asm + push de + ld de, $001b + call PlaySFX + pop de + ld hl, Text6661 + ret + +Text6661: ; 01:6661 + text " ポカン!" + text_end + +Text6668: ; 01:6668 + text_exit + text "" + para "" + text_end + +Text666c: ; 01:666c + text_from_ram wcd11 + text "は " + text_end + +Text6673: ; 01:6673 + text_from_ram wStringBuffer1 + text "の" + line "つかいかたを きれいに わすれた!" + para "そして<⋯⋯>!" + prompt + +Text6691: ; 01:6691 + text "それは たいせつなわざです" + line "わすれさせることは できません!" + prompt + +Function66b1: ; 01:66b1 + ld hl, wcd74 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wCurItem] + cp $c4 + jr nc, .sub_66d2 + dec a + ld c, a + ld b, $00 + add hl, bc + add hl, bc + add hl, bc + add hl, bc + inc hl + ld a, [hld] + ldh [hSpriteOffset], a + ld a, [hld] + ldh [hConnectedMapWidth], a + ld a, [hl] + ldh [hConnectionStripLength], a + jr .sub_66d5 +.sub_66d2 + call .sub_66d9 +.sub_66d5 + ld de, hConnectionStripLength + ret +.sub_66d9 + ld a, [wCurItem] + sub $c9 + ret c + ld d, a + ld hl, Table66fa + srl a + ld c, a + ld b, $00 + add hl, bc + ld a, [hl] + srl d + jr nc, .sub_66f0 + swap a +.sub_66f0 + and $f0 + ldh [hConnectedMapWidth], a + xor a + ldh [hConnectionStripLength], a + ldh [hSpriteOffset], a + ret + +Table66fa: ; 01:66fa + db $32, $21, $34, $24 + db $34, $21, $45, $55 + db $32, $32, $55, $52 + db $54, $52, $41, $21 + db $12, $42, $25, $24 + db $22, $52, $24, $34 + db $42 + +Function6713: ; 01:6713 + push hl + call LoadStandardMenuHeader + ld a, [wBattleMode] + dec a + coord hl, 1, 0 + ld b, $04 + ld c, $0a + call z, ClearBox + ld a, [wMonDexIndex] + ld [wce37], a + call GetPokemonName + ld a, [wDebugFlags] + bit 1, a + pop hl + push hl + ld hl, Text6788 + call PrintText + call YesNoBox + pop hl + jr c, .sub_6779 + push hl + ld e, l + ld d, h + ld a, BANK(Function113f4) + ld b, $00 + ld hl, Function113f4 + call FarCall_hl + call ClearBGPalettes + call ClearTileMap + call ClearSprites + call GetMemSGBLayout + call SetPalettes + ld a, [wBattleMode] + and a + jr nz, .sub_676b + call LoadFontExtra + call Function3657 + jr .sub_6773 +.sub_676b + ld hl, Function3e3a7 + ld a, BANK(Function3e3a7) + call FarCall_hl +.sub_6773 + pop hl + ld a, [hl] + cp $50 + jr nz, .sub_6784 +.sub_6779 + ld d, h + ld e, l + ld hl, wStringBuffer1 + ld bc, $0006 + call CopyBytes +.sub_6784 + call CloseWindow + ret + +Text6788: ; 01:6788 + text_from_ram wStringBuffer1 + text "に" + line "ニックネームを つけますか?" + done + +Function679d: ; 01:679d + ld de, wFieldMoveScriptID + push de + ld hl, Function113f4 + ld b, $00 + ld a, BANK(Function113f4) + call FarCall_hl + call ClearBGPalettes + call Function360b + call UpdateTimePals + pop de + ld a, [de] + cp $50 + jr z, .sub_67d3 + ld hl, wPartyMonNicknames + ld bc, $0006 + ld a, [wWhichPokemon] + call AddNTimes + ld e, l + ld d, h + ld hl, wFieldMoveScriptID + ld bc, $0006 + call CopyBytes + and a + ret +.sub_67d3 + scf + ret + +CorrectNickErrors: ; 01:67d5 + push bc + push de + ld b, $06 +.sub_67d9 + ld a, [de] + cp $50 + jr z, .sub_6802 + ld hl, Table6805 + dec hl +.sub_67e2 + inc hl + ld a, [hl] + cp $ff + jr z, .sub_67f5 + ld a, [de] + cp [hl] + inc hl + jr c, .sub_67e2 + cp [hl] + jr nc, .sub_67e2 + ld a, $e6 + ld [de], a + jr .sub_67e2 +.sub_67f5 + inc de + dec b + jr nz, .sub_67d9 + pop de + push de + ld a, $e6 + ld [de], a + inc de + ld a, $50 + ld [de], a +.sub_6802 + pop de + pop bc + ret + +Table6805:: ; 01:6805 + db $00, $05, $14, $19, $1d + db $26, $35, $3a, $49, $7f + db $ff + SECTION "engine/dumps/bank01.asm@Function771e", ROMX Function771e: ; 01:771e @@ -2864,7 +3523,43 @@ Function771e: ; 01:771e and a ret -SECTION "engine/dumps/bank01.asm@Function77a1", ROMX +SECTION "engine/dumps/bank01.asm@Function776e", ROMX + +Function776e: ; 01:776e + call GetFacingTileCoord + cp $90 + jr z, .sub_7779 + cp $98 + jr nz, .sub_7789 +.sub_7779 + ld a, [wPlayerNextMapX] + sub d + cpl + inc a + add d + ld d, a + ld a, [wPlayerNextMapY] + sub e + cpl + inc a + add e + ld e, a +.sub_7789 + ld bc, wPlayerSprite + ld a, $01 + ldh [hConnectionStripLength], a + call _CheckObjectCollision + ret nc + ld hl, $0006 + add hl, bc + ld a, [hl] + cp $ff + jr z, .sub_779f + xor a + ret +.sub_779f + scf + ret Function77a1: ; 01:77a1 ld hl, $0010 @@ -2874,6 +3569,41 @@ Function77a1: ; 01:77a1 add hl, bc ld e, [hl] jr _CheckObjectCollision + +Function77ad: ; 01:77ad + ldh a, [hConnectionStripLength] + call GetObjectStruct + call .sub_77b9 + call _CheckObjectCollision + ret +.sub_77b9 + ld hl, $0010 + add hl, bc + ld d, [hl] + ld hl, $0011 + add hl, bc + ld e, [hl] + ld hl, $0007 + add hl, bc + ld a, [hl] + and $0c + and a + jr z, .sub_77d7 + cp $04 + jr z, .sub_77d9 + cp $08 + jr z, .sub_77db + inc d + ret +.sub_77d7 + inc e + ret +.sub_77d9 + dec e + ret +.sub_77db + dec d + ret SECTION "engine/dumps/bank01.asm@Function782c", ROMX @@ -2956,3 +3686,405 @@ Function786e: ; 01:786e .sub_7892 scf ret + +SECTION "engine/dumps/bank01.asm@SettingsScreen", ROMX + +SettingsScreen: ; 01:78e5 + ld a, [wVramState] + push af + xor a + ld [wVramState], a + +Function78ed: ; 01:78ed + call Function7a93 + +Function78f0: ; 01:78f0 + call Function7a41 + ld [hl], $ed + call Function7a55 + call WaitBGMap +.sub_78fb + call DelayFrame + call GetJoypadDebounced + ldh a, [hJoySum] + ld b, a + and a + jr z, .sub_78fb + ld a, b + and $0a + jr nz, .sub_7924 + ld a, b + and $04 + jr nz, .sub_7939 + ld a, b + and $01 + jr z, Function7977 + ld a, [wc409] + cp $10 + jr nz, Function78f0 + ld a, [wTileMapBackup] + cp $07 + jr z, .sub_7956 +.sub_7924 + push de + ld de, $0005 + call PlaySFX + pop de + pop af + ld [wVramState], a + ld hl, wd4a9 + bit 0, [hl] + jp z, TitleSequenceStart + ret +.sub_7939 + ld hl, wce5f + ld a, [hl] + xor $08 + ld [hl], a + ld hl, Function96eb + ld a, BANK(Function96eb) + call FarCall_hl + call LoadFont + call LoadFontExtra + ld c, $70 + call DelayFrames + jp Function78ed +.sub_7956 + ld a, [wActiveFrame] + inc a + and $07 + ld [wActiveFrame], a + coord hl, 17, 16 + add $f7 + ld [hl], a + call LoadFontExtra + jr Function78f0 + +Function796a: ; 01:796a + push af + call Function7a41 + ld [hl], $7f + pop af + ld [wTileMapBackup], a + jp Function78f0 + +Function7977: ; 01:7977 + ld a, [wc409] + bit 7, b + jr nz, .sub_799e + bit 6, b + jr nz, .sub_79c1 + cp $07 + jp z, .sub_7a10 + cp $0b + jp z, .sub_7a1b + cp $0d + jp z, .sub_7a26 + cp $10 + jp z, .sub_7a31 + bit 5, b + jp nz, .sub_79f6 + jp .sub_7a01 +.sub_799e + cp $10 + ld b, $f3 + ld hl, wc40a + jr z, .sub_79e2 + cp $03 + ld b, $04 + inc hl + jr z, .sub_79e2 + cp $07 + ld b, $04 + inc hl + jr z, .sub_79e2 + cp $0b + ld b, $02 + inc hl + jr z, .sub_79e2 + ld b, $03 + inc hl + jr .sub_79e2 +.sub_79c1 + cp $07 + ld b, $fc + ld hl, wc40a + jr z, .sub_79e2 + cp $0b + ld b, $fc + inc hl + jr z, .sub_79e2 + cp $0d + ld b, $fe + inc hl + jr z, .sub_79e2 + cp $10 + ld b, $fd + inc hl + jr z, .sub_79e2 + ld b, $0d + inc hl +.sub_79e2 + add b + push af + ld a, [hl] + push af + call Function7a41 + ld [hl], $ec + pop af + ld [wTileMapBackup], a + pop af + ld [wc409], a + jp Function78f0 +.sub_79f6 + ld a, [wc40a] + cp $01 + jr z, .sub_7a0a + sub $07 + jr .sub_7a0a +.sub_7a01 + ld a, [wc40a] + cp $0f + jr z, .sub_7a0a + add $07 +.sub_7a0a + ld [wc40a], a + jp Function796a +.sub_7a10 + ld a, [wWhichPicTest] + xor $0b + ld [wWhichPicTest], a + jp Function796a +.sub_7a1b + ld a, [wc40c] + xor $0b + ld [wc40c], a + jp Function796a +.sub_7a26 + ld a, [wc40d] + xor $0b + ld [wc40d], a + jp Function796a +.sub_7a31 + call Function7a41 + ld [hl], $ec + ld a, [wTileMapBackup] + xor $06 + ld [wTileMapBackup], a + jp Function78f0 + +Function7a41: ; 01:7a41 + ld a, [wc409] + ld hl, wTileMap + ld bc, $0014 + call AddNTimes + ld a, [wTileMapBackup] + ld b, $00 + ld c, a + add hl, bc + ret + +Function7a55: ; 01:7a55 + ld hl, Table7c22 + ld a, [wc40a] + ld c, a +.sub_7a5c + ld a, [hli] + cp c + jr z, .sub_7a63 + inc hl + jr .sub_7a5c +.sub_7a63 + ld a, [hl] + ld d, a + ld a, [wWhichPicTest] + dec a + jr z, .sub_7a6f + set 7, d + jr .sub_7a71 +.sub_7a6f + res 7, d +.sub_7a71 + ld a, [wc40c] + dec a + jr z, .sub_7a7b + set 6, d + jr .sub_7a7d +.sub_7a7b + res 6, d +.sub_7a7d + ld a, [wc40d] + dec a + jr z, .sub_7a87 + set 5, d + jr .sub_7a89 +.sub_7a87 + res 5, d +.sub_7a89 + ld a, [wce5f] + and $08 + or d + ld [wce5f], a + ret + +Function7a93: ; 01:7a93 + call ClearBGPalettes + call DisableLCD + xor a + ldh [hBGMapMode], a + call .sub_7b26 + xor a + ld hl, wc40a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + inc a + ld [wTextBoxFlags], a + ld hl, Table7c23 + ld a, [wce5f] + ld c, a + and $07 + push bc + ld de, $0002 + call FindItemInTable + pop bc + dec hl + ld a, [hl] + ld [wc40a], a + coord hl, 0, 3 + call .sub_7b1f + sla c + ld a, $01 + jr nc, .sub_7ad0 + ld a, $0a +.sub_7ad0 + ld [wWhichPicTest], a + coord hl, 0, 7 + call .sub_7b1f + sla c + ld a, $01 + jr nc, .sub_7ae1 + ld a, $0a +.sub_7ae1 + ld [wc40c], a + coord hl, 0, 11 + call .sub_7b1f + sla c + ld a, $01 + jr nc, .sub_7af2 + ld a, $0a +.sub_7af2 + ld [wc40d], a + coord hl, 0, 13 + call .sub_7b1f + ld a, $01 + ld [wc40e], a + coord hl, 1, 16 + ld [hl], $ec + coord hl, 7, 16 + ld [hl], $ec + ld a, [wc40a] + ld [wTileMapBackup], a + ld a, $03 + ld [wc409], a + call EnableLCD + call WaitBGMap + call SetPalettes + ret +.sub_7b1f + ld e, a + ld d, $00 + add hl, de + ld [hl], $ec + ret +.sub_7b26 + ld de, vChars1 + $0700 + ld hl, TrainerCardGFX + ld bc, $0010 + ld a, BANK(TrainerCardGFX) + call FarCopyData + ld hl, wTileMap + ld bc, $0168 + ld a, $f0 + call ByteFill + coord hl, 1, 1 + lb bc, 3, 18 + call ClearBox + coord hl, 1, 5 + lb bc, 3, 18 + call ClearBox + coord hl, 1, 9 + lb bc, 3, 18 + call ClearBox + coord hl, 1, 13 + lb bc, 1, 18 + call ClearBox + coord hl, 1, 1 + ld de, Text7bad + call PlaceString + coord hl, 1, 5 + ld de, Text7bc9 + call PlaceString + coord hl, 1, 9 + ld de, Text7be8 + call PlaceString + coord hl, 1, 13 + ld de, Text7c03 + call PlaceString + coord hl, 1, 16 + ld de, Text7c12 + call PlaceString + coord hl, 6, 15 + ld b, $01 + ld c, $0b + call DrawTextBox + coord hl, 7, 16 + ld de, Text7c17 + call PlaceString + ld a, [wActiveFrame] + coord hl, 17, 16 + add $f7 + ld [hl], a + ret + +Text7bad: ; 01:7bad + db "はなしの はやさ" + next " はやい ふつう おそい" + text_end + +Text7bc9: ; 01:7bc9 + db "せんとう アニメーション" + next " じっくり みる とばして みる" + text_end + +Text7be8: ; 01:7be8 + db "しあいの ルール" + next " いれかえタイプ かちぬきタイプ" + text_end + +Text7c03: ; 01:7c03 + db " モノラル ステレオ" + text_end + +Text7c12: ; 01:7c12 + db " おわり" + text_end + +Text7c17: ; 01:7c17 + db " わく を かえる " + text_end + +Table7c22: ; 01:7c22 + db $0F + +Table7c23: ; 01:7c23 + db $05, $08, $03 + db $01, $01, $08 + db $FF + +Unknown7c2a: ; 01:7c2a +rept 491 + db $39, $00 +endr
\ No newline at end of file @@ -59,6 +59,7 @@ MailIconGFX:: INCBIN "gfx/icons/mail.2bpp" SECTION "gfx.asm@Trainer Card GFX", ROMX +TrainerCardBorderGFX:: INCBIN "gfx/trainer_card/border.2bpp" TrainerCardGFX:: INCBIN "gfx/trainer_card/trainer_card.2bpp" ; 0x013171--0x013381 TrainerCardColonGFX:: INCBIN "gfx/trainer_card/colon.2bpp" ; 0x013381--0x013391 TrainerCardIDNoGFX:: INCBIN "gfx/trainer_card/id_no.2bpp" ; 0x013391--0x0133B1 diff --git a/gfx/trainer_card/border.png b/gfx/trainer_card/border.png Binary files differnew file mode 100755 index 0000000..dcc22be --- /dev/null +++ b/gfx/trainer_card/border.png diff --git a/gfx/trainer_card/trainer_card.png b/gfx/trainer_card/trainer_card.png Binary files differindex ecce895..902a533 100644..100755 --- a/gfx/trainer_card/trainer_card.png +++ b/gfx/trainer_card/trainer_card.png diff --git a/macros/text.asm b/macros/text.asm index f95c300..4c88458 100644 --- a/macros/text.asm +++ b/macros/text.asm @@ -15,121 +15,121 @@ page EQUS "db $50," ; Start a new Pokedex page. dex EQUS "db $e8, $50" ; End a Pokedex entry. enum_start 1 - enum TX_RAM + enum TX_RAM ; $01 text_from_ram: MACRO db TX_RAM dw \1 ; address ENDM - enum TX_BCD + enum TX_BCD ; $02 text_bcd: macro db TX_BCD dw \1 ; address db \2 ; flags + digits, see PrintBCDNumber ENDM - enum TX_MOVE + enum TX_MOVE ; $03 text_move: macro db TX_MOVE dw \1 ; address ENDM - enum TX_BOX + enum TX_BOX ; $04 text_box: macro db TX_BOX dw \1 ; address db \2, \3 ; width, height ENDM - enum TX_LOW + enum TX_LOW ; $05 text_low: macro db TX_LOW endm - enum WAIT_BUTTON + enum WAIT_BUTTON ; $06 text_waitbutton: macro db WAIT_BUTTON endm - enum TX_SCROLL + enum TX_SCROLL ; $07 text_scroll: macro db TX_SCROLL endm - enum START_ASM + enum START_ASM ; $08 start_asm: macro db START_ASM endm - enum TX_NUM + enum TX_NUM ; $09 deciram: macro db TX_NUM dw \1 ; address dn \2, \3 ; bytes, flags + digits endm - enum TX_EXIT + enum TX_EXIT ; $0a text_exit: macro db TX_EXIT endm - enum TX_SOUND_0B + enum TX_SOUND_0B ; $0b sound_dex_fanfare_50_79: macro db TX_SOUND_0B endm - enum TX_DOTS + enum TX_DOTS ; $0c text_dots: macro db TX_DOTS db \1 endm - enum TX_LINK_WAIT_BUTTON + enum TX_LINK_WAIT_BUTTON ; $0d link_wait_button: macro db TX_LINK_WAIT_BUTTON endm - enum TX_SOUND_0E + enum TX_SOUND_0E ; $0e sound_dex_fanfare_20_49: macro db TX_SOUND_0E endm - enum TX_SOUND_0F + enum TX_SOUND_0F ; $0f sound_item: macro db TX_SOUND_0F endm - enum TX_SOUND_10 + enum TX_SOUND_10 ; $10 sound_caught_mon: macro db TX_SOUND_10 endm - enum TX_SOUND_11 + enum TX_SOUND_11 ; $11 sound_dex_fanfare_80_109: macro db TX_SOUND_11 endm - enum TX_SOUND_12 + enum TX_SOUND_12 ; $12 sound_fanfare: macro db TX_SOUND_12 endm - enum TX_SOUND_13 + enum TX_SOUND_13 ; $13 sound_slot_machine_start: macro db TX_SOUND_13 endm - enum TX_CRY_14 + enum TX_CRY_14 ; $14 cry_nidorina: macro db TX_CRY_14 endm - enum TX_CRY_15 + enum TX_CRY_15 ; $15 cry_pigeot: macro db TX_CRY_15 endm - enum TX_CRY_16 + enum TX_CRY_16 ; $16 cry_jugon: macro db TX_CRY_16 endm diff --git a/pokegold-spaceworld.link b/pokegold-spaceworld.link index e819c84..8a8514b 100644 --- a/pokegold-spaceworld.link +++ b/pokegold-spaceworld.link @@ -110,35 +110,24 @@ ROMX $01 "engine/dumps/bank01.asm@Function40fd" "home/oam_dma.asm" "engine/dumps/bank01.asm@Table416b" - org $42db - "engine/dumps/bank01.asm@Function42db" - org $4748 - "engine/dumps/bank01.asm@Function4748" - org $52f9 "engine/menu/main_menu.asm@Initialize new game WRAM" - "engine/dumps/bank01.asmFunction5388" + "engine/dumps/bank01.asm@Function5388" "engine/menu/main_menu.asm@MainMenu" "engine/intro.asm" "engine/title.asm@Title screen" "engine/title.asm@Title screen TEMPORARY" "engine/predef.asm" - org $6810 + "engine/dumps/bank01.asm@ReanchorBGMap_NoOAMUpdate" "engine/math/math.asm" "data/items/attributes.asm" - ; $6fe5 - org $6fec "data/items/names.asm" - org $771e "engine/dumps/bank01.asm@Function771e" - org $774a "engine/overworld/object_collision.asm@GetSpritesNextTile" - org $77a1 - "engine/dumps/bank01.asm@Function77a1" - org $77dd + "engine/dumps/bank01.asm@Function776e" "engine/overworld/object_collision.asm@_CheckObjectCollision" "engine/dumps/bank01.asm@Function782c" - org $7894 "engine/overworld/object_collision.asm@_CheckPlayerObjectCollision" + "engine/dumps/bank01.asm@SettingsScreen" ROMX $02 org $4000 org $44bf @@ -1,35 +1,3 @@ -; WRAM0 - -00:CB6F wPlayerStepDirection - -01:D19E wItems -; The starting house's map script number is stored at d29a. Others are probably nearby. -01:D1EA wUnknownListLengthd1ea -01:D1EB wUnknownListd1eb -01:D35F wOptions -01:D513 wWarpNumber -01:DA3B wOTPartyMonOT -01:DA83 wUnknownListLengthda83 -01:DA84 wUnknownListda84 - -01:41eb Unknown41eb -01:41ef Unknown41ef -01:41f3 Unknown41f3 -01:41f7 Unknown41f7 -01:41fb Unknown41fb -01:41ff Unknown41ff -01:4203 Unknown4203 -01:420f Unknown420f -01:470b Table470b -01:63D8 ReanchorBGMap_NoOAMUpdate -01:6437 LoadFonts_NoOAMUpdate -01:6445 Function6445 -01:66B1 Function66b1 -01:6713 Function6713 -01:67d5 CorrectNickErrors -01:776E Function776e -01:78E5 SettingsScreen - 02:4000 Function8000 02:4098 _InitializeVisibleSprites 02:4125 Function8125 @@ -50,6 +18,7 @@ 02:51D2 SetTitleBGDecorationBorder 02:528B Function928b 02:5695 CheckSGB +02:56eb Function96eb 03:47D5 SpawnPoints 03:488D Tilesets @@ -135,6 +104,7 @@ 0F:567C Function3d67c 0F:6043 AddPokemonToBox 0F:61A4 Function3e1a4 +0F:63a7 Function3e3a7 0F:6874 Function3e874 0F:691E Function3e91e 0F:6963 Function3e963 @@ -92,13 +92,21 @@ wTileMapBackup:: ; c408 NEXTU - ds 3 + ds 1 + +wc409:: ds 1 ; c409 +wc40a:: ds 1 ; c40a ; Monster or Trainer test? wWhichPicTest:: ; c40b db -; c40c - ds 180 + + +wc40c:: ds 1 ; c40c +wc40d:: ds 1 ; c40d +wc40e:: ds 1 ; c40e + + ds 177 wSpriteAnimIDBuffer:: db ; c4c0 @@ -181,8 +189,16 @@ wBattleAnimEnd:: wBattleMonNickname:: ds 6 ; c9f6 wEnemyMonNickname:: ds 6 ; c9fc -; ca02 - ds $3b ; TODO + + ds 2 + +wca04:: ds 1 ; ca04 + + ds 5 + +wca0a:: ds 1 ; ca0a + + ds $32 ; TODO wPlayerSubStatus3:: db ; ca3d ds $4 @@ -251,6 +267,7 @@ wVBCopyDoubleDst:: ds 2 ; cb6a wcb6c:: db ; cb6c wcb6d:: db ; cb6d wcb6e:: db ; cb6e +wPlayerStepDirection:: db ; cb6f SECTION "CB71", WRAM0[$CB70] @@ -263,6 +280,8 @@ wVBCopyFarSrcBank:: ds 1 ; cb76 wPlayerMovement:: db ; cb77 wMovementObject:: db ; cb78 ptrba wMovementData ; cb79 + +wcb7c:: ds 1 ; cb7c SECTION "Collision buffer", WRAM0[$CB90] @@ -394,7 +413,11 @@ SECTION "CCCE", WRAM0[$CCCE] wDisableVBlankWYUpdate:: db ; ccce wSGB:: db -SECTION "CD26", WRAM0[$CD26] +SECTION "CD11", WRAM0[$CD11] + +wcd11:: ds 1 ; cd11 + + ds 20 wStringBuffer1:: ds 1 ; How long is this? ; cd26 @@ -419,7 +442,10 @@ SECTION "CD3E", WRAM0[$CD3D] wRegularItemsCursor:: db ; cd3d wBackpackAndKeyItemsCursor:: db ;cd3e wStartmenuCursor:: db ; cd3f - ds 4 ; TODO +wcd40:: db ; cd40 +wcd41:: db ; cd41 +wcd42:: db ; cd42 +wcd43:: db ; cd43 wRegularItemsScrollPosition:: db ; cd44 wBackpackAndKeyItemsScrollPosition:: db ; cd45 ds 3 ; TODO @@ -442,8 +468,8 @@ wPredefBC:: ; cd54 wFarCallBCBuffer:: ; cd54 dw - ds 2 ; TODO - +wcd56:: ds 1 ; cd56 +wcd57:: ds 1 ; cd57 wFieldMoveSucceeded:: db ; cd58 wVramState:: db ; cd59 @@ -454,8 +480,8 @@ wChosenStarter:: db ; cd5f SECTION "CD72", WRAM0[$CD72] wcd72:: dw ; cd72 - - ds 2 ; TODO +wcd74:: db ; cd74 +wcd75:: db ; cd75 wCurItem:: db ; cd76 wItemIndex:: db ;cd77 @@ -464,7 +490,7 @@ wWhichPokemon: db ; cd79 SECTION "CD7B", WRAM0[$CD7B] -wHPBarType:: db ; cd76 +wHPBarType:: db ; cd7b ds 1 @@ -599,10 +625,15 @@ wMonHLearnset:: ; ce1e ds 1 SECTION "CE2E", WRAM0[$CE2E] -wce2e:: ; ce2e - ds 9 - -SECTION "CE37", WRAM0[$CE37] +wce2e:: db ; ce2e +wce2f:: db ; ce2f +wce30:: db ; ce30 +wce31:: db ; ce31 +wce32:: db ; ce32 +wce33:: db ; ce33 +wce34:: db ; ce34 +wce35:: db ; ce35 +wce36:: db ; ce36 wNamedObjectIndexBuffer:: wCountSetBitsResult:: @@ -763,6 +794,7 @@ wTMsHMs:: db ; d165 SECTION "D19E", WRAM0[$D19E] +wItems:: wNumBagItems:: db ; d19e SECTION "D1C8", WRAM0[$D1C8] @@ -775,6 +807,11 @@ SECTION "D1DE", WRAM0[$D1DE] wNumBallItems:: db ; d1de wBallQuantities:: db ; d1df + ds 10 + +wUnknownListLengthd1ea:: db ; d1ea +wUnknownListd1eb:: db ; d1eb + SECTION "Rival's Name", WRAM0[$D258] wRivalName:: ds 6 ; d258 ds 6 @@ -788,6 +825,7 @@ wPlayerState:: db ; d264 wd265:: db ; d265 wd266:: db ; d266 +;The starting house's map script number is stored at d29a. Others are probably nearby. SECTION "D29A", WRAM0[$D29A] wd29a:: db ; d29a wd29b:: db ; d29b @@ -797,6 +835,9 @@ wd29e:: db ; d29e db wd2a0:: db ; d2a0 +SECTION "D35F", WRAM0[$D35F] +wOptions:: db ; d35f + SECTION "D39D", WRAM0[$D39D] wd39d:: db @@ -825,7 +866,9 @@ SECTION "wDigWarpNumber", WRAM0[$D4B2] wDigWarpNumber:: db ; d4b2 -SECTION "Warp data", WRAM0[$D514] +SECTION "Warp data", WRAM0[$D513] + +wWarpNumber:: db ; d513 wCurrMapWarpCount:: ; d514 db @@ -969,6 +1012,14 @@ SECTION "Wild mon buffer", WRAM0[$D91B] wWildMons:: ; d91b ds 41 +SECTION "DA3B", WRAM0[$DA3B] + +wOTPartyMonOT:: db ; da3b + +SECTION "DA83", WRAM0[$DA83] + +wUnknownListLengthda83:: db ; da83 +wUnknownListda84:: db ; da84 SECTION "Stack Bottom", WRAM0 |
