Copycat labels; macro for the Crystal-only Unown chamber unlock words

This commit is contained in:
pikalaxalt 2016-04-30 21:20:12 -04:00
parent 7aef598414
commit 82f1534925
16 changed files with 328 additions and 304 deletions

View File

@ -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

View File

@ -1541,11 +1541,6 @@ BattleCheckTypeMatchup: ; 347c8
and a
jr z, CheckTypeMatchup
ld hl, BattleMonType1
; fallthrough
; 347d3
CheckTypeMatchup: ; 347d3
push hl
push de

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,5 +1,5 @@
HRAM_START EQU $ff80
hPushOAM EQU $ff80
hPushOAM EQU $ff80 ; 10 bytes
hROMBankBackup EQU $ff8a
hBuffer EQU $ff8b

View File

@ -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
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

View File

@ -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

View File

@ -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!"

View File

@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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

124
wram.asm
View File

@ -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