diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-03-23 14:55:24 -0700 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2017-03-23 14:55:24 -0700 |
commit | 20ccf43a43543cd1f1474b0143b3cdb096d47978 (patch) | |
tree | 2645e4e22bf4f010680f9b605a45bb41c589a76d | |
parent | 7a27837af3f9c74b8a409a6c8f07fd8c8e51e0b2 (diff) |
Label and dump Gengar and Diglett stages' game object collision data/routines
-rwxr-xr-x | data/collision/circle_collision_angles.bin | 8 | ||||
-rwxr-xr-x | data/collision/gengar_collision_angles.bin | 19 | ||||
-rwxr-xr-x | data/collision/haunter_collision_angles.bin | 7 | ||||
-rwxr-xr-x | main.asm | 214 | ||||
-rwxr-xr-x | wram.asm | 78 |
5 files changed, 182 insertions, 144 deletions
diff --git a/data/collision/circle_collision_angles.bin b/data/collision/circle_collision_angles.bin new file mode 100755 index 0000000..7783c2f --- /dev/null +++ b/data/collision/circle_collision_angles.bin @@ -0,0 +1,8 @@ +ÿÿÿÿÿÿÿÿÿÿxz{|}~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿtvwxyz|}~ ÿÿÿÿÿÿÿÿÿÿÿÿÿstuvwyz{}~ +ÿÿÿÿÿÿÿÿÿÿÿqrsuvwxz{|~
ÿÿÿÿÿÿÿÿÿpqrstuvxy{|~ +
ÿÿÿÿÿÿÿnopqrstvwyz|~ +
ÿÿÿÿÿmmnopqrsuvxz|} +
ÿÿÿÿllmnopqrtuwy{} +
ÿÿÿjkklmnopqstvx{} ÿÿiijkllmopqsuwz} +ÿghhiijklmnprtvy|
ffgghiijkmnprux| +
eeeffghhiklnpsv{ cdddeeffghikmptybbccccddeefhilpv aaaaaabbbbcdefip```_``````````_`1^^^^^^]]]]\[ZYVO?/(%$#""!!!!! ]]\\\\[[ZZYWVSOI?6/+(&%$$##"""""\[[[ZZYYXWVTROKF?93/,*('&%%$$###ZZZYYXWWVTSQOLID?:62/-+)('&&%%$$YYXXWVVTTRQOMJGC?;741/-+*)(''&&&ÿWWVVUTSRQOMKIFC?<9631/-,+*)(''ÿÿVVUTTSRPONLJHEB?<:7520/-,++))(ÿÿÿTTSRQPONLKIGDB?=:86420/.-,+*ÿÿÿÿSSRQPONMKJHFDB?=;975310/.-,+ÿÿÿÿÿRQPONMLJIGECB?=;9764310/.-ÿÿÿÿÿÿÿPONMLKJHFECA?><:8653210/ÿÿÿÿÿÿÿÿÿNMLKJIGFDCA?><:9764321ÿÿÿÿÿÿÿÿÿÿÿLLKIHGFDCA?><;986543ÿÿÿÿÿÿÿÿÿÿÿÿÿKJIHFEDBA?><;:8764ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGFECBA?>=;:9ÿÿÿÿÿÿÿÿÿÿ
\ No newline at end of file diff --git a/data/collision/gengar_collision_angles.bin b/data/collision/gengar_collision_angles.bin new file mode 100755 index 0000000..1e622b0 --- /dev/null +++ b/data/collision/gengar_collision_angles.bin @@ -0,0 +1,19 @@ +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxyz{|}~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿvwxyz{|}~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿtuvwxyz{|}~ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿrrstuvwyz{|}~ +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿpqrstuvwxz{|}~ +
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿnopqrtuvwxy{|}~ +
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿmnopqrstuwxyz|}~ +
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿklmnopqstuvxyz{}~ +ÿÿÿÿÿÿÿÿÿÿÿÿÿjklmnopqrsuvwyz{}~ +
ÿÿÿÿÿÿÿÿÿÿÿÿjjklmnoprstvwxz{}~ +
ÿÿÿÿÿÿÿÿÿÿÿijjkklmopqrtuvxy{|~ +
ÿÿÿÿÿÿÿÿÿjiijjklmnoqrsuvxy{|~ +
ÿÿÿÿÿÿÿÿhiiijjklmopqstvwyz|~ ÿÿÿÿÿÿÿfhhiiijjkmnoqrtuwxz|~ +
ÿÿÿÿÿÿghhhiiijklmnpqsuvxz|~ +ÿÿÿÿÿÿgghhhiiijklnoqrtvxz|}
ÿÿÿÿÿgggghhhiiijkmnprsuwy{} +ÿÿÿÿfgggghhhiijklmoqsuwy{} +ÿÿÿÿfffggghhhiijklnprtvx{}
ÿÿÿfffffgggghhiijkmoqsuxz} +ÿÿeeeffffggghhiijlnpruwz} +
ÿÿeeeeefffggghhiikloqtvy| ÿÿdddeeeefffgghhijkmpsvy| ÿcddddeeeefffgghhijlnqux| +cccdddddeeeffgghhijmpsw{ccccccddddeeeffghhiknrv{
bbccccccddddeeffgghilpuz +bbbbbbcccccdddeeffghjmsyaabbbbbbbcccccddeefghjpwaaaaaaaabbbbbcccddefghlu +`aaaaaaaaaaaabbbbccdefhp`````````````aaaaaabbceh__```_```_`__``````__`__)______________^^^^^]]\ZW?($#"!!! _^^^^^^^^^^^^]]]]\\[ZYWO?.(&$##"""!!!!!!! ^^^^^^^^]]]]]\\\[[ZYXWSJ?3*(&%$$##""""!!!!!!!!!!^^]]]]]]]]\\\\[[ZZYXWUOH?6.)('&%$$###""""""!!!!!]]]]]]]\\\\[[[ZZYYXWURLF?81+)('&%%$$####"""""""!]]\\\\\\[[[[ZZYYXXWVSOJE?93.*)('&&%%$$$####"""""\\\\\[[[[[ZZZYYXWWVTQMID?:50,*)('&&%%%$$$######"\\\[[[[[ZZZYYXXWWVUROLHD?;62.+)((''&&%%$$$$$####ÿ[[[[[ZZZYYYXXWWVUSQNJGC?;730,*)((''&&%%%$$$$$#ÿÿ[[[ZZZZYYYXXWWVUTROLIFC?<851.+*)((''&&&%%%$$$$ÿÿZZZZZYYYXXXWWVVTSPNKIFC?<952/-+))((''&&&%%%%$$ÿÿZZZYYYYXXXWWVVUSQOMJHEB?<9631.,*))(('''&&&%%%%ÿÿÿZYYYXXXWWWVVUTRPNLJGEB?=:742/-+*))(('''&&&%%ÿÿÿÿYYYXXXWWWVVUTSQOMKIGDB?=:8530.,+*))(('''&&&&ÿÿÿÿYYXXXWWWVVUTSRPNLJHFDB?=:8631/-+*))((('''&&&ÿÿÿÿÿXXXWWWVVVUTRQONLJHFDB?=;96420.,+*))(((''''ÿÿÿÿÿÿXXWWWVVVUTSQPNMKIGEDB?=;97531/-,+*))((('''ÿÿÿÿÿÿYWWWVVVUTSRQONLJIGECA?=;975320.,+**))((((&ÿÿÿÿÿÿÿWWVVVUTTSQPOMKJHGECA?=<:86421/-,+*)))(((ÿÿÿÿÿÿÿÿUVVVUUTSRQONLKIHFECA?><:865310.-++*)))(*ÿÿÿÿÿÿÿÿÿVVVUTSRQPOMLJIGFDCA?><:875320/-,+**))(ÿÿÿÿÿÿÿÿÿÿÿUUTTSRPONMKJIGFDCA?><:976421/.-,+*))ÿÿÿÿÿÿÿÿÿÿÿÿUTTSRQPOMLKJHGEDBA?><;9764320/-,+**)ÿÿÿÿÿÿÿÿÿÿÿÿÿTSRQPONMLJIHGEDBA?><;9865321/.-,+*ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿSRQPONLKJIHFEDBA?>=;:8754310/.,+ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿQPONMLKJIGFECBA?>=;:8764321/.-ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿPONMLJIHGFECBA?>=;:97653210/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNMLKJIHGFDCBA?>=;:98654310ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLKJIHFEDCBA?>=<:987543ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿIHGFEDCBA?>=<;9876ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGFEDCBA?>=<;98ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
\ No newline at end of file diff --git a/data/collision/haunter_collision_angles.bin b/data/collision/haunter_collision_angles.bin new file mode 100755 index 0000000..5f98355 --- /dev/null +++ b/data/collision/haunter_collision_angles.bin @@ -0,0 +1,7 @@ +ÿÿÿÿÿÿÿÿÿÿqknsy~k
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿrksxyz|}~ +ÿÿÿÿÿÿÿÿÿÿÿÿÿmruvwyz{}~
ÿÿÿÿÿÿÿÿÿÿÿ?rstvwxz{|~ ?ÿÿÿÿÿÿÿÿÿjqrstuvxy{|~ +
ÿÿÿÿÿÿÿkopqrstvwyz|~
ÿÿÿÿÿlmnopqrsuvxz|~ +
ÿÿÿÿjlmnopqrtuwy{} +
ÿÿÿjkklmnopqstvx{} ÿÿjjjkklmopqsuwz} +ÿghiijjklmnprtvy|
ighhhijjkmnprux| +
?gggghhijklnpsv{ ?iffffggghijkmptyfeeeeefffgghjlpv ddddddddeeeffgjpcccccccccccccccc(cbbbaaaaaa``_^\W?'# eaaa````__^]\ZWO?.'$"!! f``___^^]]\[YWSJ?3*'%$#"!! i__^^^]]\[ZYWUOH?6.)'%$##"!! @^^]]\\[[ZYWVRLF?81+)'&%$##"!!!?g]]\\[[ZYXWVSOJE?93.*('&%$$##""b\\[[ZZYXWVTQMID?:50,)('&%%$###ÿ^[[ZYYXWVUROLHD?;62.+)('&%%$$!ÿÿfZZYYXWVUSQNJGC?;730,*)('&&%$ÿÿjZYYXWVVTROLIFC?<851.+))('&&%ÿÿ_YXXWWVTSPNKIFC?<952/-+)(('&&!ÿÿÿ`XWWVUSQOMJHEB?<9631.,*)(('ÿÿÿÿiWWVUTRPNLJGEB?=:742/-+*)((ÿÿÿÿZYVUTSQOMKIGDB?=:8530.,+))#&ÿÿÿÿÿ@VTSRPNLJHFDB?=:8631/-+*)ÿÿÿÿÿÿPXTRQONLJHFDB?=;96420.,+'.ÿÿÿÿÿÿÿASQPNMKIGEDB?=;97531/-,>ÿÿÿÿÿÿÿÿÿEQONLJIGECB?=;975320.:ÿÿÿÿÿÿÿÿÿÿNJOMLJHGECA?=<:8642151ÿÿÿÿÿÿÿÿÿÿÿLHLKIHFECA?><:865373ÿÿÿÿÿÿÿÿÿÿÿÿÿMCJIGFDCA?><:875<2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿAFGFDCA?><:9:>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD?BAA?>>?<ÿÿÿÿÿÿÿÿÿÿÿ
\ No newline at end of file @@ -18623,44 +18623,44 @@ Func_1818b: ; 0x1818b ret CheckGengarBonusStageGameObjectCollisions: ; 0x181b1 - call Func_181be - call Func_18259 - call Func_182e4 - call Func_18350 + call CheckGengarBonusStageGastlyCollision + call CheckGengarBonusStageHaunterCollision + call CheckGengarBonusStageGengarCollision + call GengarBonusStageGravestonesCollision ret -Func_181be: ; 0x181be +CheckGengarBonusStageGastlyCollision: ; 0x181be ld a, [wd659] and a ret z - ld a, [wd65f] + ld a, [wGastly1XPos + 1] ld b, a - ld a, [wd661] + ld a, [wGastly1YPos + 1] add $10 ld c, a - ld a, [wd65b] - call Func_1820d + ld a, [wGastly1AnimationState] + call CheckSingleGastlyCollision ld a, $1 - jr c, .asm_181fe - ld a, [wd668] + jr c, .hitGastly + ld a, [wGastly2XPos + 1] ld b, a - ld a, [wd66a] + ld a, [wGastly2YPos + 1] add $10 ld c, a - ld a, [wd664] - call Func_1820d + ld a, [wGastly2AnimationState] + call CheckSingleGastlyCollision ld a, $2 - jr c, .asm_181fe - ld a, [wd671] + jr c, .hitGastly + ld a, [wGastly3XPos + 1] ld b, a - ld a, [wd673] + ld a, [wGastly3YPos + 1] add $10 ld c, a - ld a, [wd66d] - call Func_1820d + ld a, [wGastly3AnimationState] + call CheckSingleGastlyCollision ld a, $3 ret nc -.asm_181fe +.hitGastly ld [wTriggeredGameObjectIndex], a ld [wd657], a add $4 @@ -18668,18 +18668,18 @@ Func_181be: ; 0x181be ld [wd658], a ret -Func_1820d: ; 0x1820d +CheckSingleGastlyCollision: ; 0x1820d cp $4 - jr z, .asm_18257 + jr z, .noCollision ld a, [wBallXPos + 1] sub b cp $20 - jr nc, .asm_18257 + jr nc, .noCollision ld b, a ld a, [wBallYPos + 1] sub c cp $20 - jr nc, .asm_18257 + jr nc, .noCollision ld c, a ld e, c ld d, $0 @@ -18696,12 +18696,12 @@ Func_1820d: ; 0x1820d ld l, b ld h, $0 add hl, de - ld de, Data_e9100 + ld de, CircularCollisionAngles add hl, de - ld a, BANK(Data_e9100) + ld a, BANK(CircularCollisionAngles) call ReadByteFromBank bit 7, a - jr nz, .asm_18257 + jr nz, .noCollision sla a ld [wd7ea], a ld a, $1 @@ -18709,35 +18709,35 @@ Func_1820d: ; 0x1820d scf ret -.asm_18257 +.noCollision and a ret -Func_18259: ; 0x18259 +CheckGengarBonusStageHaunterCollision: ; 0x18259 ld a, [wd67e] and a ret z - ld a, [wd684] + ld a, [wHaunter1XPos + 1] add $fe ld b, a - ld a, [wd686] + ld a, [wHaunter1YPos + 1] add $c ld c, a - ld a, [wd680] - call Func_18298 + ld a, [wHaunter1AnimationState] + call CheckSingleHaunterCollision ld a, $1 - jr c, .asm_18289 - ld a, [wd68d] + jr c, .hitHaunter + ld a, [wHaunter2XPos + 1] add $fe ld b, a - ld a, [wd68f] + ld a, [wHaunter2YPos + 1] add $c ld c, a - ld a, [wd689] - call Func_18298 + ld a, [wHaunter2AnimationState] + call CheckSingleHaunterCollision ld a, $2 ret nc -.asm_18289 +.hitHaunter ld [wTriggeredGameObjectIndex], a ld [wd67c], a add $7 @@ -18745,18 +18745,18 @@ Func_18259: ; 0x18259 ld [wd67d], a ret -Func_18298: ; 0x18298 +CheckSingleHaunterCollision: ; 0x18298 cp $5 - jr z, .asm_182e2 + jr z, .noCollision ld a, [wBallXPos + 1] sub b cp $20 - jr nc, .asm_182e2 + jr nc, .noCollision ld b, a ld a, [wBallYPos + 1] sub c cp $28 - jr nc, .asm_182e2 + jr nc, .noCollision ld c, a ld e, c ld d, $0 @@ -18773,12 +18773,12 @@ Func_18298: ; 0x18298 ld l, b ld h, $0 add hl, de - ld de, Data_e8c00 + ld de, HaunterCollisionAngles add hl, de - ld a, BANK(Data_e8c00) + ld a, BANK(HaunterCollisionAngles) call ReadByteFromBank bit 7, a - jr nz, .asm_182e2 + jr nz, .noCollision sla a ld [wd7ea], a ld a, $1 @@ -18786,20 +18786,20 @@ Func_18298: ; 0x18298 scf ret -.asm_182e2 +.noCollision and a ret -Func_182e4: ; 0x182e4 +CheckGengarBonusStageGengarCollision: ; 0x182e4 ld a, [wd698] and a ret z - ld a, [wd69e] + ld a, [wGengarXPos + 1] ld b, a - ld a, [wd6a0] + ld a, [wGengarYPos + 1] add $c ld c, a - call Func_18308 + call CheckGiantGengarCollision ld a, $1 ret nc ld [wTriggeredGameObjectIndex], a @@ -18809,16 +18809,16 @@ Func_182e4: ; 0x182e4 ld [wd697], a ret -Func_18308: ; 0x18308 +CheckGiantGengarCollision: ; 0x18308 ld a, [wBallXPos + 1] sub b cp $30 - jr nc, .asm_1834e + jr nc, .noCollision ld b, a ld a, [wBallYPos + 1] sub c cp $40 - jr nc, .asm_1834e + jr nc, .noCollision ld c, a ld a, c sla a @@ -18836,12 +18836,12 @@ Func_18308: ; 0x18308 ld l, b ld h, $0 add hl, de - ld de, Data_e8000 + ld de, GengarCollisionAngles add hl, de - ld a, BANK(Data_e8000) + ld a, BANK(GengarCollisionAngles) call ReadByteFromBank bit 7, a - jr nz, .asm_1834e + jr nz, .noCollision sla a ld [wd7ea], a ld a, $1 @@ -18849,22 +18849,29 @@ Func_18308: ; 0x18308 scf ret -.asm_1834e +.noCollision and a ret -Func_18350: ; 0x18350 - ld de, Data_18368 - ld hl, Data_1835d - ld bc, wd654 +GengarBonusStageGravestonesCollision: ; 0x18350 + ld de, GengarBonusStageGravestonesCollisionData + ld hl, GengarBonusStageGravestonesCollisionAttributes + ld bc, wWhichGravestone and a jp HandleGameObjectCollision -Data_1835d: - dr $1835d, $18368 +GengarBonusStageGravestonesCollisionAttributes: + db $00 ; flat list + db $19, $1A, $1B, $1C, $27, $1D, $1E, $1F, $20 + db $FF ; terminator -Data_18368: - dr $18368, $18377 +GengarBonusStageGravestonesCollisionData: + db $11, $11 + db $01, $24, $52 + db $02, $44, $3A + db $03, $74, $5A + db $04, $7C, $32 + db $FF ; terminator Func_18377: ; 0x18377 call Func_18464 @@ -19440,12 +19447,12 @@ Func_187b1: ; 0x187b1 ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a - ld a, [wd69f] + ld a, [wGengarYPos] add $0 - ld [wd69f], a - ld a, [wd6a0] + ld [wGengarYPos], a + ld a, [wGengarYPos + 1] adc $ff - ld [wd6a0], a + ld [wGengarYPos + 1], a .asm_1885d ld a, [wd69c] cp $2 @@ -19487,28 +19494,28 @@ Func_18876: ; 0x18876 ld a, [wd69c] and a jr nz, .asm_188da - ld a, [wd6a0] + ld a, [wGengarYPos + 1] add $80 cp $a0 jr nc, .asm_188da ld a, [wd69a] and a jr z, .asm_188ca - ld a, [wd69f] + ld a, [wGengarYPos] add $0 - ld [wd69f], a - ld a, [wd6a0] + ld [wGengarYPos], a + ld a, [wGengarYPos + 1] adc $3 - ld [wd6a0], a + ld [wGengarYPos + 1], a jr .asm_188da .asm_188ca - ld a, [wd69f] + ld a, [wGengarYPos] add $0 - ld [wd69f], a - ld a, [wd6a0] + ld [wGengarYPos], a + ld a, [wGengarYPos + 1] adc $1 - ld [wd6a0], a + ld [wGengarYPos + 1], a .asm_188da ld a, [wd69a] ld [wd6a3], a @@ -19548,21 +19555,21 @@ Func_188e1: ; 0x188e1 ld a, [wd69a] and a jr z, .asm_18935 - ld a, [wd69f] + ld a, [wGengarYPos] add $0 - ld [wd69f], a - ld a, [wd6a0] + ld [wGengarYPos], a + ld a, [wGengarYPos + 1] adc $fd - ld [wd6a0], a + ld [wGengarYPos + 1], a jr .asm_18945 .asm_18935 - ld a, [wd69f] + ld a, [wGengarYPos] add $0 - ld [wd69f], a - ld a, [wd6a0] + ld [wGengarYPos], a + ld a, [wGengarYPos + 1] adc $ff - ld [wd6a0], a + ld [wGengarYPos + 1], a .asm_18945 ld a, [wd69a] ld [wd6a3], a @@ -19750,11 +19757,11 @@ Data_18b32: dr $18b32, $18d34 Func_18d34: ; 0x18d34 - ld a, [wd654] + ld a, [wWhichGravestone] and a jr z, .asm_18d71 xor a - ld [wd654], a + ld [wWhichGravestone], a ld a, [wd7be] and a jr nz, .asm_18d71 @@ -21142,11 +21149,11 @@ Func_19a96: ; 0x19a96 ret CheckDiglettBonusStageGameObjectCollisions: ; 0x19ab3 - call Func_19aba - call Func_19b4b + call CheckDiglettBonusStageDiglettHeadsCollision + call CheckDiglettBonusStageDugtrioCollision ret -Func_19aba: ; 0x19aba +CheckDiglettBonusStageDiglettHeadsCollision: ; 0x19aba ld a, [wTriggeredGameObject] inc a jr nz, .asm_19b16 @@ -21155,10 +21162,10 @@ Func_19aba: ; 0x19aba jr nz, .asm_19b16 ld a, [wd7e9] and a - ret z + ret z ; is a collision happening? ld a, [wCurCollisionAttribute] sub $19 - ret c + ret c ; is the pinball colliding with a Diglett head? cp $33 ret nc ld c, a @@ -21206,7 +21213,7 @@ Func_19aba: ; 0x19aba Data_19b18: dr $19b18, $19b4b -Func_19b4b: ; 0x19b4b +CheckDiglettBonusStageDugtrioCollision: ; 0x19b4b ld a, [wTriggeredGameObject] inc a jr nz, .asm_19b86 @@ -31270,9 +31277,9 @@ Func_25c12: ; 0x25c12 ld l, b ld h, $0 add hl, de - ld de, Data_e9100 + ld de, CircularCollisionAngles add hl, de - ld a, BANK(Data_e9100) + ld a, BANK(CircularCollisionAngles) call ReadByteFromBank bit 7, a jr nz, .asm_25c58 @@ -44604,14 +44611,15 @@ Data_e4000: dr $e4000, $e8000 ; 0xe4000 SECTION "bank3a", ROMX, BANK[$3a] -Data_e8000: - dr $e8000, $e8c00 ; 0xe8000 -Data_e8c00: - dr $e8c00, $e9100 ; 0xe8000 +GengarCollisionAngles: + INCBIN "data/collision/gengar_collision_angles.bin" + +HaunterCollisionAngles: + INCBIN "data/collision/haunter_collision_angles.bin" -Data_e9100: - dr $e9100, $e9500 ; 0xe8000 +CircularCollisionAngles: ; 0xe9100 + INCBIN "data/collision/circle_collision_angles.bin" Data_e9500: dr $e9500, $e9c80 ; 0xe8000 @@ -1067,7 +1067,8 @@ wd652:: ; 0xd652 wd653:: ; 0xd653 ds $1 -wd654:: ; 0xd654 +wWhichGravestone:: ; 0xd654 +; second byte is unused ds $2 wd656:: ; 0xd656 @@ -1082,47 +1083,44 @@ wd658:: ; 0xd658 wd659:: ; 0xd659 ds $2 -wd65b:: ; 0xd65b +wGastly1AnimationState:: ; 0xd65b ds $2 wd65d:: ; 0xd65d - ds $2 + ds $1 -wd65f:: ; 0xd65f +wGastly1XPos:: ; 0xd65e + ds $2 +wGastly1YPos:: ; 0xd660 ds $2 - -wd661:: ; 0xd661 - ds $1 wd662:: ; 0xd662 ds $2 -wd664:: ; 0xd664 +wGastly2AnimationState:: ; 0xd664 ds $2 wd666:: ; 0xd666 - ds $2 + ds $1 -wd668:: ; 0xd668 +wGastly2XPos:: ; 0xd668 + ds $2 +wGastly2YPos:: ; 0xd66a ds $2 - -wd66a:: ; 0xd66a - ds $1 wd66b:: ; 0xd66b ds $2 -wd66d:: ; 0xd66d +wGastly3AnimationState:: ; 0xd66d ds $2 wd66f:: ; 0xd66f - ds $2 + ds $1 -wd671:: ; 0xd671 +wGastly3XPos:: ; 0xd671 + ds $2 +wGastly3YPos:: ; 0xd673 ds $2 - -wd673:: ; 0xd673 - ds $1 wd674:: ; 0xd674 ds $1 @@ -1148,32 +1146,34 @@ wd67d:: ; 0xd67d wd67e:: ; 0xd67e ds $2 -wd680:: ; 0xd680 - ds $2 +wHaunter1AnimationState:: ; 0xd680 + ds $1 + + ds $1 wd682:: ; 0xd682 - ds $2 + ds $1 -wd684:: ; 0xd684 +wHaunter1XPos:: ; 0xd683 + ds $2 +wHaunter1YPos:: ; 0xd685 ds $2 - -wd686:: ; 0xd686 - ds $1 wd687:: ; 0xd687 ds $2 -wd689:: ; 0xd689 - ds $2 +wHaunter2AnimationState:: ; 0xd689 + ds $1 + + ds $1 wd68b:: ; 0xd68b - ds $2 + ds $1 -wd68d:: ; 0xd68d +wHaunter2XPos:: ; 0xd68c + ds $2 +wHaunter2YPos:: ; 0xd68e ds $2 - -wd68f:: ; 0xd68f - ds $1 wd690:: ; 0xd690 ds $1 @@ -1203,16 +1203,12 @@ wd69b:: ; 0xd69b ds $1 wd69c:: ; 0xd69c - ds $2 - -wd69e:: ; 0xd69e ds $1 -wd69f:: ; 0xd69f - ds $1 - -wd6a0:: ; 0xd6a0 - ds $1 +wGengarXPos:: ; 0xd69d + ds $2 +wGengarYPos:: ; 0xd69f + ds 2 wd6a1:: ; 0xd6a1 ds $1 |