move miscellaneous asm into engine/

This commit is contained in:
yenatch
2013-06-17 21:26:33 -04:00
parent 41dbd3b4a6
commit fb931fe616
7 changed files with 6 additions and 6 deletions

198
engine/bittable2.asm Normal file
View File

@@ -0,0 +1,198 @@
; All locations are in WRAM bank 1.
; location, bit
; pokegear
dwb $d957, %00000010 ; radio card
dwb $d957, %00000001 ; map card
dwb $d957, %00000100 ; phone card
dwb $d957, %00001000 ; expn card
dwb $d957, %10000000 ; on/off
; DaycareMan, %10000000 ; daycare 1 on
dwb DaycareMan, %01000000 ; monster 1 and 2 are compatible
; DaycareMan, %00100000 ; egg is ready
dwb DaycareMan, %00000001 ; monster 1 in daycare
; DaycareLady, %10000000 = daycare 2 on
dwb DaycareLady, %00000001 ; monster 2 in daycare
dwb $d854, %00000001 ; mom saving money
dwb $d854, %10000000 ; dst
dwb $dc39, %00000001
dwb $d84c, %00000001 ; pokedex
dwb $d84c, %00000010 ; unown dex
dwb $d84c, %00001000 ; pokerus
dwb $d84c, %00010000 ; rocket signal on ch20
dwb $d84c, %01000000 ; credits skip
dwb $d84c, %10000000 ; bug contest on
dwb $d84d, %00000100 ; bug contest timer
dwb $d84d, %00000010 ; rockets in radio tower
dwb $d84d, %00000001 ; bike shop call enabled (1024 bike steps reqd)
dwb $d84d, %00010000
dwb $d84d, %00100000 ; give pokerus; berry -> berry juice when trading?
dwb $d84d, %01000000
dwb $d84d, %10000000 ; rockets in mahogany
dwb $dbf5, %00000001 ; strength active
dwb $dbf5, %00000010 ; always on bike (cant surf)
dwb $dbf5, %00000100 ; downhill (cycling road)
dwb JohtoBadges, %00000001 ; zephyrbadge
dwb JohtoBadges, %00000010 ; hivebadge
dwb JohtoBadges, %00000100 ; plainbadge
dwb JohtoBadges, %00001000 ; fogbadge
dwb JohtoBadges, %00010000 ; mineralbadge
dwb JohtoBadges, %00100000 ; stormbadge
dwb JohtoBadges, %01000000 ; glacierbadge
dwb JohtoBadges, %10000000 ; risingbadge
dwb KantoBadges, %00000001 ; boulderbadge
dwb KantoBadges, %00000010 ; cascadebadge
dwb KantoBadges, %00000100 ; thunderbadge
dwb KantoBadges, %00001000 ; rainbowbadge
dwb KantoBadges, %00010000 ; soulbadge
dwb KantoBadges, %00100000 ; marshbadge
dwb KantoBadges, %01000000 ; volcanobadge
dwb KantoBadges, %10000000 ; earthbadge
; unown sets
dwb UnlockedUnowns, %00000001 ; 1
dwb UnlockedUnowns, %00000010 ; 2
dwb UnlockedUnowns, %00000100 ; 3
dwb UnlockedUnowns, %00001000 ; 4
dwb UnlockedUnowns, %00010000 ; 5
dwb UnlockedUnowns, %00100000 ; 6
dwb UnlockedUnowns, %01000000 ; 7
dwb UnlockedUnowns, %10000000 ; 8
; fly
dwb FlypointPerms, %00000001 ; your house
dwb FlypointPerms, %00000010 ; viridian pokecenter
dwb FlypointPerms, %00000100 ; pallet
dwb FlypointPerms, %00001000 ; viridian
dwb FlypointPerms, %00010000 ; pewter
dwb FlypointPerms, %00100000 ; cerulean
dwb FlypointPerms, %01000000 ; rock tunnel
dwb FlypointPerms, %10000000 ; vermilion
dwb FlypointPerms + 1, %00000001 ; lavender
dwb FlypointPerms + 1, %00000010 ; saffron
dwb FlypointPerms + 1, %00000100 ; celadon
dwb FlypointPerms + 1, %00001000 ; fuchsia
dwb FlypointPerms + 1, %00010000 ; cinnabar
dwb FlypointPerms + 1, %00100000 ; indigo plateau
dwb FlypointPerms + 1, %01000000 ; new bark
dwb FlypointPerms + 1, %10000000 ; cherrygrove
dwb FlypointPerms + 2, %00000001 ; violet
dwb FlypointPerms + 2, %00000100 ; azalea
dwb FlypointPerms + 2, %00001000 ; cianwood
dwb FlypointPerms + 2, %00010000 ; goldenrod
dwb FlypointPerms + 2, %00100000 ; olivine
dwb FlypointPerms + 2, %01000000 ; ecruteak
dwb FlypointPerms + 2, %10000000 ; mahogany
dwb FlypointPerms + 3, %00000001 ; lake of rage
dwb FlypointPerms + 3, %00000010 ; blackthorn
dwb FlypointPerms + 3, %00000100 ; silver cave
dwb FlypointPerms + 3, %00010000 ; unused
dwb $dc9d, %00000001 ; lucky number show
dwb $d84d, %00001000
dwb $dc1e, %00000001 ; kurt making balls
dwb $dc1e, %00000010
dwb $dc1e, %00000100 ; special wilddata?
dwb $dc1e, %00001000 ; time capsule (24h wait)
dwb $dc1e, %00010000 ; all fruit trees
dwb $dc1e, %00100000 ; shuckle given
dwb $dc1e, %01000000 ; goldenrod underground merchant closed
dwb $dc1e, %10000000 ; fought in trainer hall today
dwb $dc1f, %00000001 ; mt moon square clefairy
dwb $dc1f, %00000010 ; union cave lapras
dwb $dc1f, %00000100 ; goldenrod underground haircut used
dwb $dc1f, %00001000 ; goldenrod mall happiness event floor05 person07
dwb $dc1f, %00010000 ; tea in blues house
dwb $dc1f, %00100000 ; indigo plateau rival fight
dwb $dc1f, %01000000
dwb $dc1f, %10000000
dwb $dc20, %00000001 ; $60
dwb $dc20, %00000010 ; goldenrod dept store sale is on
dwb $cfbc, %10000000 ; $62
dwb PlayerGender, %00000001 ; player is female
dwb $dbf3, %00000100 ; have gs ball after kurt examined it
; rematches
dwb $dc4c, %00000001 ; jack
dwb $dc4c, %00000010 ; huey
dwb $dc4c, %00000100 ; gaven
dwb $dc4c, %00001000 ; beth
dwb $dc4c, %00010000 ; jose
dwb $dc4c, %00100000 ; reena
dwb $dc4c, %01000000 ; joey
dwb $dc4c, %10000000 ; wade
dwb $dc4d, %00000001 ; ralph
dwb $dc4d, %00000010 ; liz
dwb $dc4d, %00000100 ; anthony
dwb $dc4d, %00001000 ; todd
dwb $dc4d, %00010000 ; gina
dwb $dc4d, %00100000 ; arnie
dwb $dc4d, %01000000 ; alan
dwb $dc4d, %10000000 ; dana
dwb $dc4e, %00000001 ; chad
dwb $dc4e, %00000010 ; tully
dwb $dc4e, %00000100 ; brent
dwb $dc4e, %00001000 ; tiffany
dwb $dc4e, %00010000 ; vance
dwb $dc4e, %00100000 ; wilton
dwb $dc4e, %01000000 ; parry
dwb $dc4e, %10000000 ; erin
dwb $dc50, %00000001 ; beverly has nugget
dwb $dc50, %00000010 ; jose has star piece
dwb $dc50, %00000100 ; wade has item (see bittable1 $032b-e)
dwb $dc50, %00001000 ; gina has leaf stone
dwb $dc50, %00010000 ; alan has fire stone
dwb $dc50, %00100000 ; liz has thunderstone
dwb $dc50, %01000000 ; derek has nugget
dwb $dc50, %10000000 ; tully has water stone
dwb $dc51, %00000001 ; tiffany has pink bow
dwb $dc51, %00000010 ; wilton has item (see bittable1 $032f-31)
dwb $dc54, %00000001
dwb $dc54, %00000010
dwb $dc54, %00000100
dwb $dc54, %00001000
dwb $dc54, %00010000
dwb $dc54, %00100000
dwb $dc54, %01000000
dwb $dc54, %10000000
dwb $dc55, %00000001
dwb $dc55, %00000010
dwb $dc55, %00000100
dwb $dc55, %00001000
dwb $dc55, %00010000
dwb $dc55, %00100000
dwb $dc55, %01000000
dwb $dc55, %10000000
dwb $dc56, %00000001
dwb $dc56, %00000010
dwb $dc56, %00000100
dwb $dc56, %00001000
dwb $dc56, %00010000
dwb $dc56, %00100000
dwb $dc56, %01000000
dwb $dc56, %10000000
dwb $d45b, %00000100 ; female player has been transformed into male
dwb $dc20, %00000100 ; dunsparce swarm
dwb $dc20, %00001000 ; yanma swarm

824
engine/credits.asm Normal file

File diff suppressed because it is too large Load Diff

275
engine/joypad.asm Normal file
View File

@@ -0,0 +1,275 @@
JoypadInt: ; 92e
; Replaced by Joypad, called from VBlank instead of the useless
; joypad interrupt.
; This is a placeholder in case the interrupt is somehow enabled.
reti
; 92f
ClearJoypadPublic: ; 92f
xor a
; Pressed this frame (delta)
ld [hJoyPressed], a
; Currently pressed
ld [hJoyDown], a
ret
; 935
Joypad: ; 935
; Read the joypad register and translate it to something more
; workable for use in-game. There are 8 buttons, so we can use
; one byte to contain all player input.
; Updates:
; hJoypadReleased: released this frame (delta)
; hJoypadPressed: pressed this frame (delta)
; hJoypadDown: currently pressed
; hJoypadSum: pressed so far
; Any of these three bits can be used to disable input.
ld a, [$cfbe]
and %11010000
ret nz
; If we're saving, input is disabled.
ld a, [$c2cd]
and a
ret nz
; We can only get four inputs at a time.
; We take d-pad first for no particular reason.
ld a, D_PAD
ld [rJOYP], a
; Read twice to give the request time to take.
ld a, [rJOYP]
ld a, [rJOYP]
; The Joypad register output is in the lo nybble (inversed).
; We make the hi nybble of our new container d-pad input.
cpl
and $f
swap a
; We'll keep this in b for now.
ld b, a
; Buttons make 8 total inputs (A, B, Select, Start).
; We can fit this into one byte.
ld a, BUTTONS
ld [rJOYP], a
; Wait for input to stabilize.
ld a, [rJOYP]
ld a, [rJOYP]
ld a, [rJOYP]
ld a, [rJOYP]
ld a, [rJOYP]
ld a, [rJOYP]
; Buttons take the lo nybble.
cpl
and $f
or b
ld b, a
; Reset the joypad register since we're done with it.
ld a, $30
ld [rJOYP], a
; To get the delta we xor the last frame's input with the new one.
ld a, [hJoypadDown] ; last frame
ld e, a
xor b
ld d, a
; Released this frame:
and e
ld [hJoypadReleased], a
; Pressed this frame:
ld a, d
and b
ld [hJoypadPressed], a
; Add any new presses to the list of collective presses:
ld c, a
ld a, [hJoypadSum]
or c
ld [hJoypadSum], a
; Currently pressed:
ld a, b
ld [hJoypadDown], a
; Now that we have the input, we can do stuff with it.
; For example, soft reset:
and BUTTON_A | BUTTON_B | SELECT | START
cp BUTTON_A | BUTTON_B | SELECT | START
jp z, $0150 ; reset
ret
; 984
GetJoypadPublic: ; 984
; Update mirror joypad input from hJoypadDown (real input)
; hJoyReleased: released this frame (delta)
; hJoyPressed: pressed this frame (delta)
; hJoyDown: currently pressed
; bit 0 A
; 1 B
; 2 SELECT
; 3 START
; 4 RIGHT
; 5 LEFT
; 6 UP
; 7 DOWN
push af
push hl
push de
push bc
; The player input can be automated using an input stream.
; See more below.
ld a, [InputType]
cp a, AUTO_INPUT
jr z, .auto
; To get deltas, take this and last frame's input.
ld a, [hJoypadDown] ; real input
ld b, a
ld a, [hJoyDown] ; last frame mirror
ld e, a
; Released this frame:
xor b
ld d, a
and e
ld [hJoyReleased], a
; Pressed this frame:
ld a, d
and b
ld [hJoyPressed], a
; It looks like the collective presses got commented out here.
ld c, a
; Currently pressed:
ld a, b
ld [hJoyDown], a ; frame input
.quit
pop bc
pop de
pop hl
pop af
ret
.auto
; Use a predetermined input stream (used in the catching tutorial).
; Stream format: [input][duration]
; A value of $ff will immediately end the stream.
; Read from the input stream.
ld a, [hROMBank]
push af
ld a, [AutoInputBank]
rst Bankswitch
ld hl, AutoInputAddress
ld a, [hli]
ld h, [hl]
ld l, a
; We only update when the input duration has expired.
ld a, [AutoInputLength]
and a
jr z, .updateauto
; Until then, don't change anything.
dec a
ld [AutoInputLength], a
pop af
rst Bankswitch
jr .quit
.updateauto
; An input of $ff will end the stream.
ld a, [hli]
cp a, $ff
jr z, .stopauto
ld b, a
; A duration of $ff will end the stream indefinitely.
ld a, [hli]
ld [AutoInputLength], a
cp a, $ff
jr nz, .next
; The current input is overwritten.
dec hl
dec hl
ld b, NO_INPUT
jr .finishauto
.next
; On to the next input...
ld a, l
ld [AutoInputAddress], a
ld a, h
ld [AutoInputAddress+1], a
jr .finishauto
.stopauto
call StopAutoInput
ld b, NO_INPUT
.finishauto
pop af
rst Bankswitch
ld a, b
ld [hJoyPressed], a ; pressed
ld [hJoyDown], a ; input
jr .quit
; 9ee
StartAutoInput: ; 9ee
; Start reading automated input stream at a:hl.
ld [AutoInputBank], a
ld a, l
ld [AutoInputAddress], a
ld a, h
ld [AutoInputAddress+1], a
; Start reading the stream immediately.
xor a
ld [AutoInputLength], a
; Reset input mirrors.
xor a
ld [hJoyPressed], a ; pressed this frame
ld [hJoyReleased], a ; released this frame
ld [hJoyDown], a ; currently pressed
ld a, AUTO_INPUT
ld [InputType], a
ret
; a0a
StopAutoInput: ; a0a
; Clear variables related to automated input.
xor a
ld [AutoInputBank], a
ld [AutoInputAddress], a
ld [AutoInputAddress+1], a
ld [AutoInputLength], a
; Back to normal input.
ld [InputType], a
ret
; a1b

539
engine/landmarks.asm Normal file

File diff suppressed because it is too large Load Diff

3127
engine/scripting.asm Normal file

File diff suppressed because it is too large Load Diff

539
engine/vblank.asm Normal file

File diff suppressed because it is too large Load Diff