diff options
-rw-r--r-- | battle/core.asm | 2 | ||||
-rw-r--r-- | battle/effect_commands.asm | 5 | ||||
-rwxr-xr-x | engine/map_object_action.asm | 4 | ||||
-rwxr-xr-x | engine/overworld.asm | 8 | ||||
-rw-r--r-- | engine/specials.asm | 2 | ||||
-rwxr-xr-x | engine/sprites.asm | 6 | ||||
-rw-r--r-- | event/unown.asm | 149 | ||||
-rw-r--r-- | hram.asm | 2 | ||||
-rwxr-xr-x | macros/wram.asm | 126 | ||||
-rw-r--r-- | main.asm | 2 | ||||
-rw-r--r-- | maps/CopycatsHouse2F.asm | 182 | ||||
-rw-r--r-- | maps/FuchsiaGym.asm | 10 | ||||
-rw-r--r-- | maps/FuchsiaPokeCenter1F.asm | 4 | ||||
-rw-r--r-- | maps/OlivineCity.asm | 4 | ||||
-rw-r--r-- | maps/Route36.asm | 2 | ||||
-rw-r--r-- | wram.asm | 124 |
16 files changed, 328 insertions, 304 deletions
diff --git a/battle/core.asm b/battle/core.asm index eb73f77a2..f41bc2a15 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -6048,7 +6048,7 @@ CheckPlayerHasUsableMoves: ; 3e786 jr .loop .done - and a + and a ; This is probably a bug, and will result in a move with PP Up confusing the game. ret nz .force_struggle diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index 5c1214cb7..32d247e8c 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -1541,11 +1541,6 @@ BattleCheckTypeMatchup: ; 347c8 and a jr z, CheckTypeMatchup ld hl, BattleMonType1 - - ; fallthrough -; 347d3 - - CheckTypeMatchup: ; 347d3 push hl push de diff --git a/engine/map_object_action.asm b/engine/map_object_action.asm index 63748ce6a..59e0ef7de 100755 --- a/engine/map_object_action.asm +++ b/engine/map_object_action.asm @@ -274,12 +274,12 @@ Function45be: ; 45be Function45c5: ; 45c5 ld a, [VariableSprites + SPRITE_BIG_DOLL - SPRITE_VARS] - ld d, FACING_17 + ld d, FACING_17 ; symmetric cp SPRITE_BIG_SNORLAX jr z, .ok cp SPRITE_BIG_LAPRAS jr z, .ok - ld d, FACING_16 + ld d, FACING_16 ; asymmetric .ok ld hl, OBJECT_FACING_STEP diff --git a/engine/overworld.asm b/engine/overworld.asm index 5e12b09a2..12c7f56c6 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -23,7 +23,7 @@ Function14146: ; mobile push af res 7, [hl] set 6, [hl] - call RunCallback_04 + call MapCallbackSprites_LoadUsedSpritesGFX pop af ld [wSpriteFlags], a ret @@ -35,7 +35,7 @@ Function14157: ; mobile push af set 7, [hl] res 6, [hl] - call RunCallback_04 + call MapCallbackSprites_LoadUsedSpritesGFX pop af ld [wSpriteFlags], a ret @@ -43,7 +43,7 @@ Function14157: ; mobile RefreshSprites:: ; 14168 call .Refresh - call RunCallback_04 + call MapCallbackSprites_LoadUsedSpritesGFX ret ; 1416f @@ -165,7 +165,7 @@ endr ; 14209 -RunCallback_04: ; 14209 +MapCallbackSprites_LoadUsedSpritesGFX: ; 14209 ld a, MAPCALLBACK_SPRITES call RunMapCallback call GetUsedSprites diff --git a/engine/specials.asm b/engine/specials.asm index c15422750..06d3d2edd 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -114,7 +114,7 @@ SpecialsPointers:: ; c029 add_special RandomPhoneRareWildMon add_special RandomPhoneWildMon add_special RandomPhoneMon - add_special RunCallback_04 + add_special MapCallbackSprites_LoadUsedSpritesGFX add_special PlaySlowCry add_special SpecialSnorlaxAwake add_special Special_YoungerHaircutBrother diff --git a/engine/sprites.asm b/engine/sprites.asm index 5755c6d8f..4335d45c5 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -341,7 +341,7 @@ AddOrSubtractX: ; 8d0ce push hl ld a, [hl] ld hl, wCurrSpriteAddSubFlags - bit 5, [hl] + bit 5, [hl] ; x flip jr z, .ok ; 8 - a add $8 @@ -573,7 +573,7 @@ SpriteAnimSeqData: ; 8d1c4 db SPRITE_ANIM_FRAMESET_18, SPRITE_ANIM_SEQ_12, $00 ; 12 db SPRITE_ANIM_FRAMESET_19, SPRITE_ANIM_SEQ_13, $00 ; 13 db SPRITE_ANIM_FRAMESET_1A, SPRITE_ANIM_SEQ_14, $00 ; 14 radio tuning knob - db SPRITE_ANIM_FRAMESET_1B, SPRITE_ANIM_SEQ_NULL, $00 ; 15 + db SPRITE_ANIM_FRAMESET_1B, SPRITE_ANIM_SEQ_NULL, $00 ; 15 chris on magnet train db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_15, $00 ; 16 leaves when cutting down a tree db SPRITE_ANIM_FRAMESET_1E, SPRITE_ANIM_SEQ_NULL, $00 ; 17 db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; 18 flying leaves @@ -583,7 +583,7 @@ SpriteAnimSeqData: ; 8d1c4 db SPRITE_ANIM_FRAMESET_20, SPRITE_ANIM_SEQ_13, $00 ; 1c db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; 1d db SPRITE_ANIM_FRAMESET_2D, SPRITE_ANIM_SEQ_NULL, $00 ; 1e - db SPRITE_ANIM_FRAMESET_2E, SPRITE_ANIM_SEQ_NULL, $00 ; 1f + db SPRITE_ANIM_FRAMESET_2E, SPRITE_ANIM_SEQ_NULL, $00 ; 1f kris on magnet train db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00 ; 20 db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00 ; 21 db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00 ; 22 diff --git a/event/unown.asm b/event/unown.asm index b37df3b3a..6b65877f9 100644 --- a/event/unown.asm +++ b/event/unown.asm @@ -107,18 +107,18 @@ SpecialKabutoChamber: ; 8ae4e Special_DisplayUnownWords: ; 8ae68 ld a, [ScriptVar] - ld hl, MenuDataHeader_0x8aed5 + ld hl, .MenuDataHeader_Escape and a - jr z, .asm_8ae79 + jr z, .load ld d, $0 ld e, $5 -.asm_8ae75 +.loop add hl, de dec a - jr nz, .asm_8ae75 + jr nz, .loop -.asm_8ae79 +.load call LoadMenuDataHeader xor a ld [hBGMapMode], a @@ -127,29 +127,27 @@ Special_DisplayUnownWords: ; 8ae68 call ApplyTilemap call MenuBoxCoord2Tile inc hl - ld d, $0 - ld e, $14 -rept 2 + ld d, 0 + ld e, SCREEN_WIDTH + add hl, de add hl, de -endr ld a, [ScriptVar] ld c, a - ld de, Unknown_8aebc + ld de, .UnownText and a - jr z, .asm_8aea5 -.asm_8ae9c + jr z, .copy +.loop2 ld a, [de] inc de cp $ff - jr nz, .asm_8ae9c + jr nz, .loop2 dec c - jr nz, .asm_8ae9c - -.asm_8aea5 - call Function8af09 + jr nz, .loop2 +.copy + call .CopyWord ld bc, AttrMap - TileMap add hl, bc - call Function8aee9 + call .FillAttr call WaitBGMap2 call JoyWaitAorB call PlayClickSFX @@ -157,59 +155,91 @@ endr ret ; 8aebc -Unknown_8aebc: ; 8aebc - db $08, $44, $04, $00, $2e, $08, $ff - db $26, $20, $0c, $0e, $46, $ff - db $4c, $00, $46, $08, $42, $ff - db $0e, $2c, $64, $2c, $0e, $ff +.UnownText: ; 8aebc + +unownwall: MACRO +rept _NARG +if \1 == "-" +x = $64 +else +if \1 >= "Y" +x = 2 * (\1 - "Y") + $60 +else +if \1 >= "Q" +x = 2 * (\1 - "Q") + $40 +else +if \1 >= "I" +x = 2 * (\1 - "I") + $20 +else +x = 2 * (\1 - "A") +endc +endc +endc +endc + db x +shift +endr + db $ff +endm + +.UnownText_Escape: + ; db $08, $44, $04, $00, $2e, $08, $ff + unownwall "E", "S", "C", "A", "P", "E" +.UnownText_Light: + ; db $26, $20, $0c, $0e, $46, $ff + unownwall "L", "I", "G", "H", "T" +.UnownText_Water: + ; db $4c, $00, $46, $08, $42, $ff + unownwall "W", "A", "T", "E", "R" +.UnownText_Ho_Oh: + ; db $0e, $2c, $64, $2c, $0e, $ff + unownwall "H", "O", "-", "O", "H" ; 8aed5 -MenuDataHeader_0x8aed5: ; 0x8aed5 +.MenuDataHeader_Escape: ; 0x8aed5 db $40 ; flags db 04, 03 ; start coords db 09, 16 ; end coords -MenuDataHeader_0x8aeda: ; 0x8aeda +.MenuDataHeader_Light: ; 0x8aeda db $40 ; flags db 04, 04 ; start coords db 09, 15 ; end coords -MenuDataHeader_0x8aedf: ; 0x8aedf +.MenuDataHeader_Water: ; 0x8aedf db $40 ; flags db 04, 04 ; start coords db 09, 15 ; end coords -MenuDataHeader_0x8aee4: ; 0x8aee4 +.MenuDataHeader_Ho_Oh: ; 0x8aee4 db $40 ; flags db 04, 04 ; start coords db 09, 15 ; end coords ; 8aee9 -Function8aee9: ; 8aee9 -.asm_8aee9 +.FillAttr: ; 8aee9 ld a, [de] cp $ff ret z cp $60 - ld a, $d - jr c, .asm_8aef5 - ld a, $5 + ld a, (1 << 3) | PAL_BG_BROWN + jr c, .got_pal + ld a, PAL_BG_BROWN -.asm_8aef5 - call Function8aefd -rept 2 +.got_pal + call .PlaceSquare + inc hl inc hl -endr inc de - jr .asm_8aee9 + jr .FillAttr ; 8aefd -Function8aefd: ; 8aefd +.PlaceSquare: ; 8aefd push hl ld [hli], a ld [hld], a - ld b, $0 - ld c, $14 + ld b, 0 + ld c, SCREEN_WIDTH add hl, bc ld [hli], a ld [hl], a @@ -217,42 +247,41 @@ Function8aefd: ; 8aefd ret ; 8af09 -Function8af09: ; 8af09 +.CopyWord: ; 8af09 push hl push de -.asm_8af0b +.word_loop ld a, [de] cp $ff - jr z, .asm_8af19 + jr z, .word_done ld c, a - call Function8af1c -rept 2 + call .ConvertChar + inc hl inc hl -endr inc de - jr .asm_8af0b + jr .word_loop -.asm_8af19 +.word_done pop de pop hl ret ; 8af1c -Function8af1c: ; 8af1c +.ConvertChar: ; 8af1c push hl ld a, c cp $60 - jr z, .asm_8af3b + jr z, .Tile60 cp $62 - jr z, .asm_8af4b + jr z, .Tile62 cp $64 - jr z, .asm_8af5b + jr z, .Tile64 ld [hli], a inc a ld [hld], a dec a - ld b, $0 - ld c, $14 + ld b, 0 + ld c, SCREEN_WIDTH add hl, bc ld c, $10 add c @@ -262,11 +291,11 @@ Function8af1c: ; 8af1c pop hl ret -.asm_8af3b +.Tile60: ld [hl], $5b inc hl ld [hl], $5c - ld bc, $0013 + ld bc, SCREEN_WIDTH - 1 add hl, bc ld [hl], $4d inc hl @@ -274,11 +303,11 @@ Function8af1c: ; 8af1c pop hl ret -.asm_8af4b +.Tile62: ld [hl], $4e inc hl ld [hl], $4f - ld bc, $0013 + ld bc, SCREEN_WIDTH - 1 add hl, bc ld [hl], $5e inc hl @@ -286,11 +315,11 @@ Function8af1c: ; 8af1c pop hl ret -.asm_8af5b +.Tile64: ld [hl], $2 inc hl ld [hl], $3 - ld bc, $0013 + ld bc, SCREEN_WIDTH - 1 add hl, bc ld [hl], $3 inc hl @@ -1,5 +1,5 @@ HRAM_START EQU $ff80 -hPushOAM EQU $ff80 +hPushOAM EQU $ff80 ; 10 bytes hROMBankBackup EQU $ff8a hBuffer EQU $ff8b diff --git a/macros/wram.asm b/macros/wram.asm index 1b296bb04..e5311eebc 100755 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -199,6 +199,21 @@ hof_mon: MACRO \1End:: endm +roam_struct: MACRO +\1Species:: db +\1Level:: db +\1MapGroup:: db +\1MapNumber:: db +\1HP:: ds 1 +\1DVs:: ds 2 +ENDM + +bugcontestwinner: macro +\1PersonID:: ds 1 +\1Mon:: ds 1 +\1Score:: ds 2 +endm + hall_of_fame: MACRO \1:: \1WinCount:: ds 1 @@ -248,4 +263,113 @@ slot_reel: MACRO \1Slot0d:: ds 1 \1Slot0e:: ds 1 \1Slot0f:: ds 1 -endm
\ No newline at end of file +endm + +object_struct: MACRO +\1Struct:: +\1Sprite:: ds 1 +\1MapObjectIndex:: ds 1 +\1SpriteTile:: ds 1 +\1MovementType:: ds 1 +\1Flags:: ds 2 +\1Palette:: ds 1 +\1Walking:: ds 1 +\1Direction:: ds 1 +\1StepType:: ds 1 +\1StepDuration:: ds 1 +\1Action:: ds 1 +\1ObjectStepFrame:: ds 1 +\1Facing:: ds 1 +\1StandingTile:: ds 1 ; collision +\1LastTile:: ds 1 ; collision +\1StandingMapX:: ds 1 +\1StandingMapY:: ds 1 +\1LastMapX:: ds 1 +\1LastMapY:: ds 1 +\1ObjectInitX:: ds 1 +\1ObjectInitY:: ds 1 +\1Radius:: ds 1 +\1SpriteX:: ds 1 +\1SpriteY:: ds 1 +\1SpriteXOffset:: ds 1 +\1SpriteYOffset:: ds 1 +\1MovementByteIndex:: ds 1 +\1Object28:: ds 1 +\1Object29:: ds 1 +\1Object30:: ds 1 +\1Object31:: ds 1 +\1Range:: ds 1 + ds 7 +\1StructEnd:: +ENDM + +map_object: MACRO +\1Object:: +\1ObjectStructID:: ds 1 +\1ObjectSprite:: ds 1 +\1ObjectYCoord:: ds 1 +\1ObjectXCoord:: ds 1 +\1ObjectMovement:: ds 1 +\1ObjectRadius:: ds 1 +\1ObjectHour:: ds 1 +\1ObjectTimeOfDay:: ds 1 +\1ObjectColor:: ds 1 +\1ObjectRange:: ds 1 +\1ObjectScript:: ds 2 +\1ObjectEventFlag:: ds 2 + ds 2 +endm + +sprite_anim_struct: MACRO +\1Index:: ds 1 ; 0 +\1FramesetID:: ds 1 ; 1 +\1AnimSeqID:: ds 1 ; 2 +\1TileID:: ds 1 ; 3 +\1XCoord:: ds 1 ; 4 +\1YCoord:: ds 1 ; 5 +\1XOffset:: ds 1 ; 6 +\1YOffset:: ds 1 ; 7 +\1Duration:: ds 1 ; 8 +\1DurationOffset:: ds 1 ; 9 +\1FrameIndex:: ds 1 ; a +\1Sprite0b:: ds 1 +\1Sprite0c:: ds 1 +\1Sprite0d:: ds 1 +\1Sprite0e:: ds 1 +\1Sprite0f:: ds 1 +ENDM + +battle_anim_struct: MACRO +; Placeholder until we can figure out what it all means +\1_Index:: ds 1 +\1_Anim01:: ds 1 +\1_Anim02:: ds 1 +\1_FramesetIndex:: ds 1 +\1_FunctionIndex:: ds 1 +\1_Anim05:: ds 1 +\1_TileID:: ds 1 +\1_XCoord:: ds 1 +\1_YCoord:: ds 1 +\1_XOffset:: ds 1 +\1_YOffset:: ds 1 +\1_Anim0b:: ds 1 +\1_Anim0c:: ds 1 +\1_Anim0d:: ds 1 +\1_AnonJumptableIndex:: ds 1 +\1_Anim0f:: ds 1 +\1_Anim10:: ds 1 +\1_Anim11:: ds 1 +\1_Anim12:: ds 1 +\1_Anim13:: ds 1 +\1_Anim14:: ds 1 +\1_Anim15:: ds 1 +\1_Anim16:: ds 1 +\1_Anim17:: ds 1 +endm + +battle_bg_effect: MACRO +\1_Function:: ds 1 +\1_01:: ds 1 +\1_02:: ds 1 +\1_03:: ds 1 +endm @@ -42,7 +42,7 @@ LoadPushOAM:: ; 4031 PushOAM: ; 403f ld a, Sprites / $100 ld [rDMA], a - ld a, 40 + ld a, (SpritesEnd - Sprites) / 4 ; 40 .loop dec a jr nz, .loop diff --git a/maps/CopycatsHouse2F.asm b/maps/CopycatsHouse2F.asm index b307126c8..9d3b979a9 100644 --- a/maps/CopycatsHouse2F.asm +++ b/maps/CopycatsHouse2F.asm @@ -1,10 +1,10 @@ const_value set 2 - const COPYCATSHOUSE2F_COPYCAT1 + const COPYCATSHOUSE2F_COPYCAT1 ; if player is male const COPYCATSHOUSE2F_DODRIO - const COPYCATSHOUSE2F_FAIRYDOLL + const COPYCATSHOUSE2F_FAIRYDOLL ; lost item const COPYCATSHOUSE2F_MONSTERDOLL const COPYCATSHOUSE2F_BIRDDOLL - const COPYCATSHOUSE2F_COPYCAT2 + const COPYCATSHOUSE2F_COPYCAT2 ; if player is female CopycatsHouse2F_MapScriptHeader: .MapTriggers: @@ -15,15 +15,15 @@ CopycatsHouse2F_MapScriptHeader: ; callbacks - dbw MAPCALLBACK_OBJECTS, CopycatsHouse2FCallback + dbw MAPCALLBACK_OBJECTS, .Callback -CopycatsHouse2FCallback: +.Callback: checkflag ENGINE_PLAYER_IS_FEMALE - iftrue .Part1 + iftrue .Female disappear COPYCATSHOUSE2F_COPYCAT2 appear COPYCATSHOUSE2F_COPYCAT1 jump .Done -.Part1: +.Female: disappear COPYCATSHOUSE2F_COPYCAT1 appear COPYCATSHOUSE2F_COPYCAT2 .Done: @@ -32,146 +32,146 @@ CopycatsHouse2FCallback: Copycat: faceplayer checkevent EVENT_GOT_PASS_FROM_COPYCAT - iftrue .Part15 + iftrue .GotPass checkevent EVENT_RETURNED_LOST_ITEM_TO_COPYCAT - iftrue .Part13 + iftrue .TryGivePassAgain checkitem LOST_ITEM - iftrue .Part12 + iftrue .ReturnLostItem checkflag ENGINE_PLAYER_IS_FEMALE - iftrue .Part1 - applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0 + iftrue .Default_Female_1 + applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData faceplayer variablesprite SPRITE_COPYCAT, SPRITE_CHRIS - jump .Part2 + jump .Default_Merge_1 -.Part1: - applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0 +.Default_Female_1: + applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData faceplayer variablesprite SPRITE_COPYCAT, SPRITE_KRIS -.Part2: - special RunCallback_04 +.Default_Merge_1: + special MapCallbackSprites_LoadUsedSpritesGFX checkevent EVENT_RETURNED_MACHINE_PART - iftrue .Part7 + iftrue .TalkAboutLostItem opentext checkflag ENGINE_PLAYER_IS_FEMALE - iftrue .Part3 - writetext UnknownText_0x18afda - jump .Part4 + iftrue .Default_Female_2a + writetext CopycatText_Male_1 + jump .Default_Merge_2a -.Part3: - writetext UnknownText_0x18b316 -.Part4: +.Default_Female_2a: + writetext CopycatText_Female_1 +.Default_Merge_2a: waitbutton closetext checkflag ENGINE_PLAYER_IS_FEMALE - iftrue .Part5 - applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0 - jump .Part6 + iftrue .Default_Female_3a + applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData + jump .Default_Merge_3a -.Part5: - applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0 -.Part6: +.Default_Female_3a: + applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData +.Default_Merge_3a: faceplayer variablesprite SPRITE_COPYCAT, SPRITE_LASS - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX opentext - writetext UnknownText_0x18b028 + writetext CopycatText_QuickMimicking waitbutton closetext end -.Part7: +.TalkAboutLostItem: opentext checkflag ENGINE_PLAYER_IS_FEMALE - iftrue .Part8 - writetext UnknownText_0x18b064 - jump .Part9 + iftrue .Default_Female_2b + writetext CopycatText_Male_2 + jump .Default_Merge_2b -.Part8: - writetext UnknownText_0x18b366 -.Part9: +.Default_Female_2b: + writetext CopycatText_Female_2 +.Default_Merge_2b: waitbutton closetext checkflag ENGINE_PLAYER_IS_FEMALE - iftrue .Part10 - applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0 - jump .Part11 + iftrue .Default_Female_3b + applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData + jump .Default_Merge_3b -.Part10: - applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0 -.Part11: +.Default_Female_3b: + applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData +.Default_Merge_3b: faceplayer variablesprite SPRITE_COPYCAT, SPRITE_LASS - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX opentext - writetext UnknownText_0x18b116 + writetext CopycatText_Worried waitbutton closetext setevent EVENT_MET_COPYCAT_FOUND_OUT_ABOUT_LOST_ITEM end -.Part12: +.ReturnLostItem: opentext - writetext UnknownText_0x18b17f + writetext CopycatText_GiveDoll buttonsound takeitem LOST_ITEM setevent EVENT_RETURNED_LOST_ITEM_TO_COPYCAT clearevent EVENT_COPYCATS_HOUSE_2F_DOLL - jump .Part14 + jump .GivePass -.Part13: +.TryGivePassAgain: opentext -.Part14: - writetext UnknownText_0x18b1e2 +.GivePass: + writetext CopycatText_GivePass buttonsound verbosegiveitem PASS - iffalse .Part22 + iffalse .Cancel setevent EVENT_GOT_PASS_FROM_COPYCAT - writetext UnknownText_0x18b214 + writetext CopycatText_ExplainPass waitbutton closetext end -.Part15: +.GotPass: checkflag ENGINE_PLAYER_IS_FEMALE - iftrue .Part16 - applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0 + iftrue .GotPass_Female_1 + applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData faceplayer variablesprite SPRITE_COPYCAT, SPRITE_CHRIS - jump .Part17 + jump .GotPass_Merge_1 -.Part16: - applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0 +.GotPass_Female_1: + applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData faceplayer variablesprite SPRITE_COPYCAT, SPRITE_KRIS -.Part17: - special RunCallback_04 +.GotPass_Merge_1: + special MapCallbackSprites_LoadUsedSpritesGFX opentext checkflag ENGINE_PLAYER_IS_FEMALE - iftrue .Part18 - writetext UnknownText_0x18b298 - jump .Part19 + iftrue .GotPass_Female_2 + writetext CopycatText_Male_3 + jump .GotPass_Merge_2 -.Part18: - writetext UnknownText_0x18b415 -.Part19: +.GotPass_Female_2: + writetext CopycatText_Female_3 +.GotPass_Merge_2: waitbutton closetext checkflag ENGINE_PLAYER_IS_FEMALE - iftrue .Part20 - applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0 - jump .Part21 + iftrue .GotPass_Female_3 + applymovement COPYCATSHOUSE2F_COPYCAT1, CopycatSpinAroundMovementData + jump .GotPass_Merge_3 -.Part20: - applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0 -.Part21: +.GotPass_Female_3: + applymovement COPYCATSHOUSE2F_COPYCAT2, CopycatSpinAroundMovementData +.GotPass_Merge_3: faceplayer variablesprite SPRITE_COPYCAT, SPRITE_LASS - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX opentext - writetext UnknownText_0x18b2f5 + writetext CopycatText_ItsAScream waitbutton -.Part22: +.Cancel: closetext end @@ -191,7 +191,7 @@ CopycatsHouse2FDoll: CopycatsHouse2FBookshelf: jumpstd picturebookshelf -MovementData_0x18afd0: +CopycatSpinAroundMovementData: turn_head_down turn_head_left turn_head_up @@ -203,7 +203,7 @@ MovementData_0x18afd0: turn_head_down step_end -UnknownText_0x18afda: +CopycatText_Male_1: text "<PLAYER>: Hi! Do" line "you like #MON?" @@ -214,7 +214,7 @@ UnknownText_0x18afda: line "You're strange!" done -UnknownText_0x18b028: +CopycatText_QuickMimicking: text "COPYCAT: Hmm?" line "Quit mimicking?" @@ -222,7 +222,7 @@ UnknownText_0x18b028: line "favorite hobby!" done -UnknownText_0x18b064: +CopycatText_Male_2: text "<PLAYER>: Hi!" line "I heard that you" @@ -241,7 +241,7 @@ UnknownText_0x18b064: cont "to VERMILION CITY?" done -UnknownText_0x18b116: +CopycatText_Worried: text "COPYCAT: Pardon?" para "I shouldn't decide" @@ -253,7 +253,7 @@ UnknownText_0x18b116: cont "someone finds it?" done -UnknownText_0x18b17f: +CopycatText_GiveDoll: text "COPYCAT: Yay!" line "That's my CLEFAIRY" cont "# DOLL!" @@ -265,13 +265,13 @@ UnknownText_0x18b17f: line "proof!" done -UnknownText_0x18b1e2: +CopycatText_GivePass: text "OK. Here's the" line "MAGNET TRAIN PASS" cont "like I promised!" done -UnknownText_0x18b214: +CopycatText_ExplainPass: text "COPYCAT: That's" line "the PASS for the" cont "MAGNET TRAIN." @@ -284,7 +284,7 @@ UnknownText_0x18b214: cont "for the STATION." done -UnknownText_0x18b298: +CopycatText_Male_3: text "<PLAYER>: Hi!" line "Thanks a lot for" cont "the rail PASS!" @@ -296,12 +296,12 @@ UnknownText_0x18b298: cont "my every move?" done -UnknownText_0x18b2f5: +CopycatText_ItsAScream: text "COPYCAT: You bet!" line "It's a scream!" done -UnknownText_0x18b316: +CopycatText_Female_1: text "<PLAYER>: Hi. You" line "must like #MON." @@ -312,7 +312,7 @@ UnknownText_0x18b316: line "You're weird!" done -UnknownText_0x18b366: +CopycatText_Female_2: text "<PLAYER>: Hi. Did" line "you really lose" cont "your # DOLL?" @@ -331,7 +331,7 @@ UnknownText_0x18b366: cont "in VERMILION?" done -UnknownText_0x18b415: +CopycatText_Female_3: text "<PLAYER>: Thank you" line "for the rail PASS!" diff --git a/maps/FuchsiaGym.asm b/maps/FuchsiaGym.asm index 2f91b85f0..d3ede6404 100644 --- a/maps/FuchsiaGym.asm +++ b/maps/FuchsiaGym.asm @@ -35,7 +35,7 @@ JanineScript_0x195db9: variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_LASS variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_LASS variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_YOUNGSTER - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX opentext writetext UnknownText_0x195feb playsound SFX_GET_BADGE @@ -65,7 +65,7 @@ FuschiaGym1Script_0x195e1b: applymovement FUCHSIAGYM_FUCHSIA_GYM_1, MovementData_0x195f27 faceplayer variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_LASS - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX UnknownScript_0x195e2c: faceplayer opentext @@ -99,7 +99,7 @@ FuschiaGym2Script_0x195e55: applymovement FUCHSIAGYM_FUCHSIA_GYM_2, MovementData_0x195f27 faceplayer variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_LASS - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX UnknownScript_0x195e66: faceplayer opentext @@ -133,7 +133,7 @@ FuschiaGym3Script_0x195e8f: applymovement FUCHSIAGYM_FUCHSIA_GYM_3, MovementData_0x195f27 faceplayer variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_LASS - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX UnknownScript_0x195ea0: faceplayer opentext @@ -167,7 +167,7 @@ FuschiaGym4Script_0x195ec9: applymovement FUCHSIAGYM_FUCHSIA_GYM_4, MovementData_0x195f27 faceplayer variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_YOUNGSTER - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX UnknownScript_0x195eda: faceplayer opentext diff --git a/maps/FuchsiaPokeCenter1F.asm b/maps/FuchsiaPokeCenter1F.asm index 36557c0ae..7b6f9384a 100644 --- a/maps/FuchsiaPokeCenter1F.asm +++ b/maps/FuchsiaPokeCenter1F.asm @@ -35,7 +35,7 @@ JanineImpersonatorScript_0x196462: applymovement FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR, MovementData_0x196486 faceplayer variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_JANINE - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX opentext writetext UnknownText_0x19654e waitbutton @@ -43,7 +43,7 @@ JanineImpersonatorScript_0x196462: applymovement FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR, MovementData_0x196486 faceplayer variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_LASS - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX end MovementData_0x196486: diff --git a/maps/OlivineCity.asm b/maps/OlivineCity.asm index 6a05af16c..03ec49ff9 100644 --- a/maps/OlivineCity.asm +++ b/maps/OlivineCity.asm @@ -49,7 +49,7 @@ UnknownScript_0x1a8833: disappear OLIVINECITY_OLIVINE_RIVAL special RestartMapMusic variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX end UnknownScript_0x1a886b: @@ -73,7 +73,7 @@ UnknownScript_0x1a886b: dotrigger $1 special RestartMapMusic variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX end SailorScript_0x1a88a3: diff --git a/maps/Route36.asm b/maps/Route36.asm index 6b25577b7..449322a78 100644 --- a/maps/Route36.asm +++ b/maps/Route36.asm @@ -99,7 +99,7 @@ DidntCatchSudowoodo: applymovement ROUTE36_WEIRD_TREE, WeirdTreeMovement_Flee disappear ROUTE36_WEIRD_TREE variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN - special RunCallback_04 + special MapCallbackSprites_LoadUsedSpritesGFX special RefreshSprites end @@ -242,26 +242,6 @@ wc311:: ds 1 wc312:: ds 1 wc313:: ds 1 wSpriteAnimationStructs:: - -sprite_anim_struct: MACRO -\1Index:: ds 1 ; 0 -\1FramesetID:: ds 1 ; 1 -\1AnimSeqID:: ds 1 ; 2 -\1TileID:: ds 1 ; 3 -\1XCoord:: ds 1 ; 4 -\1YCoord:: ds 1 ; 5 -\1XOffset:: ds 1 ; 6 -\1YOffset:: ds 1 ; 7 -\1Duration:: ds 1 ; 8 -\1DurationOffset:: ds 1 ; 9 -\1FrameIndex:: ds 1 ; a -\1Sprite0b:: ds 1 -\1Sprite0c:: ds 1 -\1Sprite0d:: ds 1 -\1Sprite0e:: ds 1 -\1Sprite0f:: ds 1 -ENDM - ; Field 0: Index ; Fields 1-3: Loaded from SpriteAnimSeqData wc314:: @@ -1531,11 +1511,6 @@ wBufferMon:: party_struct wBufferMon wMonOrItemNameBuffer:: ds wBufferMonNick - @ -bugcontestwinner: macro -\1PersonID:: ds 1 -\1Mon:: ds 1 -\1Score:: ds 2 -endm wBugContestResults:: bugcontestwinner wBugContestFirstPlace bugcontestwinner wBugContestSecondPlace @@ -2351,44 +2326,6 @@ wFollowerMovementQueueLength:: ds 1 wFollowMovementQueue:: ds 5 ObjectStructs:: ; d4d6 -object_struct: MACRO -\1Struct:: -\1Sprite:: ds 1 -\1MapObjectIndex:: ds 1 -\1SpriteTile:: ds 1 -\1MovementType:: ds 1 -\1Flags:: ds 2 -\1Palette:: ds 1 -\1Walking:: ds 1 -\1Direction:: ds 1 -\1StepType:: ds 1 -\1StepDuration:: ds 1 -\1Action:: ds 1 -\1ObjectStepFrame:: ds 1 -\1Facing:: ds 1 -\1StandingTile:: ds 1 ; collision -\1LastTile:: ds 1 ; collision -\1StandingMapX:: ds 1 -\1StandingMapY:: ds 1 -\1LastMapX:: ds 1 -\1LastMapY:: ds 1 -\1ObjectInitX:: ds 1 -\1ObjectInitY:: ds 1 -\1Radius:: ds 1 -\1SpriteX:: ds 1 -\1SpriteY:: ds 1 -\1SpriteXOffset:: ds 1 -\1SpriteYOffset:: ds 1 -\1MovementByteIndex:: ds 1 -\1Object28:: ds 1 -\1Object29:: ds 1 -\1Object30:: ds 1 -\1Object31:: ds 1 -\1Range:: ds 1 - ds 7 -\1StructEnd:: -ENDM - object_struct Player object_struct Object1 object_struct Object2 @@ -2408,23 +2345,6 @@ wCmdQueue:: ds CMDQUEUE_CAPACITY * CMDQUEUE_ENTRY_SIZE ds $28 MapObjects:: ; d71e -map_object: MACRO -\1Object:: -\1ObjectStructID:: ds 1 -\1ObjectSprite:: ds 1 -\1ObjectYCoord:: ds 1 -\1ObjectXCoord:: ds 1 -\1ObjectMovement:: ds 1 -\1ObjectRadius:: ds 1 -\1ObjectHour:: ds 1 -\1ObjectTimeOfDay:: ds 1 -\1ObjectColor:: ds 1 -\1ObjectRange:: ds 1 -\1ObjectScript:: ds 2 -\1ObjectEventFlag:: ds 2 - ds 2 -endm - map_object Player map_object Map1 map_object Map2 @@ -2921,15 +2841,6 @@ wDunsparceMapGroup:: ds 1 wDunsparceMapNumber:: ds 1 wFishingSwarmFlag:: ds 1 -roam_struct: MACRO -\1Species:: db -\1Level:: db -\1MapGroup:: db -\1MapNumber:: db -\1HP:: ds 1 -\1DVs:: ds 2 -ENDM - wRoamMon1:: roam_struct wRoamMon1 ; dfcf wRoamMon2:: roam_struct wRoamMon2 ; dfd6 wRoamMon3:: roam_struct wRoamMon3 ; dfdd @@ -3064,34 +2975,6 @@ SECTION "Battle Animations", WRAMX [$d300], BANK [5] wBattleAnimTileDict:: ds 10 -battle_anim_struct: MACRO -; Placeholder until we can figure out what it all means -\1_Index:: ds 1 -\1_Anim01:: ds 1 -\1_Anim02:: ds 1 -\1_FramesetIndex:: ds 1 -\1_FunctionIndex:: ds 1 -\1_Anim05:: ds 1 -\1_TileID:: ds 1 -\1_XCoord:: ds 1 -\1_YCoord:: ds 1 -\1_XOffset:: ds 1 -\1_YOffset:: ds 1 -\1_Anim0b:: ds 1 -\1_Anim0c:: ds 1 -\1_Anim0d:: ds 1 -\1_AnonJumptableIndex:: ds 1 -\1_Anim0f:: ds 1 -\1_Anim10:: ds 1 -\1_Anim11:: ds 1 -\1_Anim12:: ds 1 -\1_Anim13:: ds 1 -\1_Anim14:: ds 1 -\1_Anim15:: ds 1 -\1_Anim16:: ds 1 -\1_Anim17:: ds 1 -endm - ActiveAnimObjects:: ; d30a AnimObject01:: battle_anim_struct AnimObject01 AnimObject02:: battle_anim_struct AnimObject02 @@ -3105,13 +2988,6 @@ AnimObject09:: battle_anim_struct AnimObject09 AnimObject10:: battle_anim_struct AnimObject10 ActiveAnimObjectsEnd:: ; d3aa -battle_bg_effect: MACRO -\1_Function:: ds 1 -\1_01:: ds 1 -\1_02:: ds 1 -\1_03:: ds 1 -endm - ActiveBGEffects:: ; d3fa BGEffect1:: battle_bg_effect BGEffect1 BGEffect2:: battle_bg_effect BGEffect2 |