Pikawalk Glitch Information?
Posted by: baconpants
Date: 2017-04-11 14:48:48
Is the game just so confused by Pikachu it messes itself up, or does keeping track of Pikachu need a lot of work?
Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.
You can join Glitch City Research Institute to ask questions or discuss current developments.
You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.
wExpressionNumber:: ; d447
ds 1
wPikaPicAnimNumber:: ; d448
ds 1
wPikachuMovementScriptBank:: ds 1 ; d449
wPikachuMovementScriptAddress:: dw ; d44a
wPikachuMovementFlags:: ; d44c
; bit 6 - spawn shadow
; bit 7 - signal end of command
ds 1
wCurPikaMovementData:: ; d44d
wCurPikaMovementParam1:: ds 1 ; d44d
wCurPikaMovementFunc1:: ds 1 ; d44e
wCurPikaMovementParam2:: ds 1 ; d44f
wCurPikaMovementFunc2:: ds 1 ; d450
wd451:: ds 1 ; d451
wCurPikaMovementSpriteImageIdx:: ds 1 ; d452
wPikaSpriteX:: ds 1 ; d453
wPikaSpriteY:: ds 1 ; d454
wPikachuMovementXOffset:: ds 1 ; d455
wPikachuMovementYOffset:: ds 1 ; d456
wPikachuStepTimer:: ds 1 ; d457
wPikachuStepSubtimer:: ds 1 ; d458
ds 5
wCurPikaMovementDataEnd:: ; d45e
ds wCurPikaMovementData - @
wPikaPicAnimPointer:: dw ; d44d
wPikaPicAnimPointerSetupFinished:: ds 1 ; d44f
wPikaPicAnimCurGraphicID:: ds 1 ; d450
wPikaPicAnimTimer:: ds 2 ; d451
wPikaPicAnimDelay:: ds 1 ; d453
wPikaPicPikaDrawStartX:: ds 1 ; d454
wPikaPicPikaDrawStartY:: ds 1 ; d455
wCurPikaPicAnimObject:: ; d456
wCurPikaPicAnimObjectVTileOffset:: db ; d456
wCurPikaPicAnimObjectXOffset:: db ; d457
wCurPikaPicAnimObjectYOffset:: db ; d458
wCurPikaPicAnimObjectScriptIdx:: db ; d459
wCurPikaPicAnimObjectFrameIdx:: db ; d45a
wCurPikaPicAnimObjectFrameTimer:: db ; d45b
ds 1
wCurPikaPicAnimObjectEnd:: ; d45d
ds 18
wPikachuHappiness:: ds 1 ; d46f
wPikachuMood:: ds 1 ; d470
wd472:: ds 1 ; d471
wd473:: ds 1 ; d472
ds 1
wd475:: ds 1 ; d474
ds 4
wd47a:: ds 1 ; d479
ds 24
wd492:: ds 1 ; d492
ds 1
wSurfingMinigameHiScore:: ds 2 ; 4-digit BCD little-endian
ds 1
wPrinterSettings:: ds 1
wUnknownSerialFlag_d499:: ds 1 ; d498
wPrinterConnectionOpen:: ds 1 ; d499
wPrinterOpcode:: ds 1 ; d49a
wd49c:: ds 1 ; d49b
ds 19
wNumSigns:: ; d4af
; number of signs in the current map (up to 16)
ds 1
wSignCoords:: ; d4b0
; 2 bytes each
; Y, X
ds 32
wSignTextIDs:: ; d4d0
ds 16
wNumSprites:: ; d4e0
; number of sprites on the current map
ds 1
; these two variables track the X and Y offset in blocks from the last special warp used
; they don't seem to be used for anything
wYOffsetSinceLastSpecialWarp:: ; d4e1
ds 1
wXOffsetSinceLastSpecialWarp:: ; d4e2
ds 1
wMapSpriteData:: ; d4e3
; two bytes per sprite (movement byte 2, text ID)
ds 32
wMapSpriteExtraData:: ; d503
; two bytes per sprite (trainer class/item ID, trainer set ID)
ds 32
wCurrentMapHeight2:: ; d523
; map height in 2x2 meta-tiles
ds 1
wCurrentMapWidth2:: ; d524
; map width in 2x2 meta-tiles
ds 1
wMapViewVRAMPointer:: ; d525
; the address of the upper left corner of the visible portion of the BG tile map in VRAM
ds 2
; In the comments for the player direction variables below, "moving" refers to
; both walking and changing facing direction without taking a step.
wPlayerMovingDirection:: ; d527
; if the player is moving, the current direction
; if the player is not moving, zero
; map scripts write to this in order to change the player's facing direction
ds 1
wPlayerLastStopDirection:: ; d528
; the direction in which the player was moving before the player last stopped
ds 1
wPlayerDirection:: ; d529
; if the player is moving, the current direction
; if the player is not moving, the last the direction in which the player moved
ds 1
wTilesetBank:: ; d52a
ds 1
wTilesetBlocksPtr:: ; d52b
; maps blocks (4x4 tiles) to tiles
ds 2
wTilesetGfxPtr:: ; d52d
ds 2
wTilesetCollisionPtr:: ; d52f
; list of all walkable tiles
ds 2
wTilesetTalkingOverTiles:: ; d531
ds 3
wGrassTile:: ; d534
ds 1
ds 4