Housekeeping
This commit is contained in:
@@ -27,7 +27,7 @@
|
|||||||
; When $xy < $80
|
; When $xy < $80
|
||||||
; $x = Duration Rate (0-7)
|
; $x = Duration Rate (0-7)
|
||||||
; $y = Velocity Rate (0-15)
|
; $y = Velocity Rate (0-15)
|
||||||
; VByte itself means the length of the following note
|
; VByte itself means the length of the following note
|
||||||
; (48 = quarter note, usually).
|
; (48 = quarter note, usually).
|
||||||
|
|
||||||
macro SetDuration(v)
|
macro SetDuration(v)
|
||||||
@@ -156,10 +156,10 @@ dw <addr>
|
|||||||
db <repeat>
|
db <repeat>
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Set the left and right position of the sound.
|
; Set the left and right position of the sound.
|
||||||
; The range of values is as narrow as 0 to 20
|
; The range of values is as narrow as 0 to 20
|
||||||
; (the actual setting ratio is defined in the internal table).
|
; (the actual setting ratio is defined in the internal table).
|
||||||
; Depending on the version, it depends on whether the large value is left or right.
|
; Depending on the version, it depends on whether the large value is left or right.
|
||||||
; The upper 2 bits are used for phase inversion.
|
; The upper 2 bits are used for phase inversion.
|
||||||
; Lower-5bit for pan value (0-20), higher-2bit is used for phase reverse switch.
|
; Lower-5bit for pan value (0-20), higher-2bit is used for phase reverse switch.
|
||||||
macro SetPan(v)
|
macro SetPan(v)
|
||||||
@@ -171,7 +171,7 @@ macro PanFade(length, dest)
|
|||||||
db $E2, <length>, <dest>
|
db $E2, <length>, <dest>
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Enables vibrato (pitch fluctuation / pitch swing).
|
; Enables vibrato (pitch fluctuation / pitch swing).
|
||||||
; Set zz-sized vibrato at yy speed after xx time.
|
; Set zz-sized vibrato at yy speed after xx time.
|
||||||
macro VibratoOn(delay, rate, depth)
|
macro VibratoOn(delay, rate, depth)
|
||||||
db $E3, <delay>, <rate>, <depth>
|
db $E3, <delay>, <rate>, <depth>
|
||||||
@@ -187,24 +187,24 @@ db $E6, <length>, <dest>
|
|||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Specifies the playing speed of the song.
|
; Specifies the playing speed of the song.
|
||||||
; Value of about 24/60 is written.
|
; Value of about 24/60 is written.
|
||||||
macro TempoFade(length, dest)
|
macro TempoFade(length, dest)
|
||||||
db $E8, <length>, <dest>
|
db $E8, <length>, <dest>
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Raises the playing pitch of all channels by xx
|
; Raises the playing pitch of all channels by xx
|
||||||
; (negative numbers can be specified).
|
; (negative numbers can be specified).
|
||||||
macro GlobalTranspose(tone)
|
macro GlobalTranspose(tone)
|
||||||
db $E9, <tone>
|
db $E9, <tone>
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Raises the playing pitch of a single channel by xx
|
; Raises the playing pitch of a single channel by xx
|
||||||
; (negative numbers can also be specified).
|
; (negative numbers can also be specified).
|
||||||
macro ChannelTranspose(tone)
|
macro ChannelTranspose(tone)
|
||||||
db $EA, <tone>
|
db $EA, <tone>
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Enable tremolo (volume fluctuation).
|
; Enable tremolo (volume fluctuation).
|
||||||
; Set the tremolo of the size of zz to be applied at the speed of yy after xx time.
|
; Set the tremolo of the size of zz to be applied at the speed of yy after xx time.
|
||||||
macro TremoloOn(delay, rate, depth)
|
macro TremoloOn(delay, rate, depth)
|
||||||
db $EB, <delay>, <rate>, <depth>
|
db $EB, <delay>, <rate>, <depth>
|
||||||
@@ -218,22 +218,22 @@ macro ChannelVolumeFade(length, dest)
|
|||||||
db $EE, <length>, <dest>
|
db $EE, <length>, <dest>
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; After temporarily setting the vibrato depth to 0,
|
; After temporarily setting the vibrato depth to 0,
|
||||||
; it will smoothly return to the original value over xx time.
|
; it will smoothly return to the original value over xx time.
|
||||||
macro VibratoFade(length)
|
macro VibratoFade(length)
|
||||||
db $F0, <length>
|
db $F0, <length>
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Specifies that subsequent sounds will be
|
; Specifies that subsequent sounds will be
|
||||||
; "higher by zz over yy time after xx time."
|
; "higher by zz over yy time after xx time."
|
||||||
; zz is a semitone unit, and you can specify a negative number.
|
; zz is a semitone unit, and you can specify a negative number.
|
||||||
macro PitchEnvelopeTo(delay, length, key)
|
macro PitchEnvelopeTo(delay, length, key)
|
||||||
db $F1, <delay>, <length>, <key>
|
db $F1, <delay>, <length>, <key>
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Specifies that subsequent notes will be
|
; Specifies that subsequent notes will be
|
||||||
; "played at a pitch that is zz higher than normal,
|
; "played at a pitch that is zz higher than normal,
|
||||||
; and will return to normal pitch over yy time after xx time."
|
; and will return to normal pitch over yy time after xx time."
|
||||||
; zz is a semitone unit, and you can specify a negative number.
|
; zz is a semitone unit, and you can specify a negative number.
|
||||||
macro PitchEnvelopeFrom(delay, length, key)
|
macro PitchEnvelopeFrom(delay, length, key)
|
||||||
db $F2, <delay>, <length>, <key>
|
db $F2, <delay>, <length>, <key>
|
||||||
@@ -243,14 +243,14 @@ macro PitchEnvelopeOff()
|
|||||||
db $F3
|
db $F3
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Change the pitch slightly.
|
; Change the pitch slightly.
|
||||||
; Only positive numbers can be specified, so the pitch cannot be lowered.
|
; Only positive numbers can be specified, so the pitch cannot be lowered.
|
||||||
; xx = Unsigned. Make the pitch xx/256 semitones higher.
|
; xx = Unsigned. Make the pitch xx/256 semitones higher.
|
||||||
macro Tuning(v)
|
macro Tuning(v)
|
||||||
db $F4, <v>
|
db $F4, <v>
|
||||||
endmacro
|
endmacro
|
||||||
|
|
||||||
; Specifies the channel and volume at which echo is enabled.
|
; Specifies the channel and volume at which echo is enabled.
|
||||||
; The value set in the register remains the same.
|
; The value set in the register remains the same.
|
||||||
; xx = Echo Switch (EON)
|
; xx = Echo Switch (EON)
|
||||||
; yy = Echo Left Volume (EVOL (L))
|
; yy = Echo Left Volume (EVOL (L))
|
||||||
@@ -284,15 +284,15 @@ endmacro
|
|||||||
; (pitch slide vcmd appears but note $90 has been end), utter note $92.
|
; (pitch slide vcmd appears but note $90 has been end), utter note $92.
|
||||||
; $90, $e0 01, $f9 $00 $01 $91, $92
|
; $90, $e0 01, $f9 $00 $01 $91, $92
|
||||||
|
|
||||||
; Smoothly changes the pitch of the sound being pronounced.
|
; Smoothly changes the pitch of the sound being pronounced.
|
||||||
; After xx time from play, it will be changed to the zz pitch
|
; After xx time from play, it will be changed to the zz pitch
|
||||||
; (absolute designation) over yy time.
|
; (absolute designation) over yy time.
|
||||||
; If you want to raise or lower the sound in the middle of one note,
|
; If you want to raise or lower the sound in the middle of one note,
|
||||||
; write this command continuously.
|
; write this command continuously.
|
||||||
; If the pronunciation time is long, you can write it with Thai.
|
; If the pronunciation time is long, you can write it with Thai.
|
||||||
|
|
||||||
; Normally, after one Note, it waits for the length of the note
|
; Normally, after one Note, it waits for the length of the note
|
||||||
; and then processes the next byte, but only this command
|
; and then processes the next byte, but only this command
|
||||||
; is read and processed immediately.
|
; is read and processed immediately.
|
||||||
macro PitchSlide(delay, length, note)
|
macro PitchSlide(delay, length, note)
|
||||||
db $F9, <delay>, <length>, <note>
|
db $F9, <delay>, <length>, <note>
|
||||||
@@ -343,23 +343,23 @@ Tie = $C8
|
|||||||
Rest = $C9
|
Rest = $C9
|
||||||
|
|
||||||
; Percussion Note ($CA-DF)
|
; Percussion Note ($CA-DF)
|
||||||
; VByte itself means percussion note (#).
|
; VByte itself means percussion note (#).
|
||||||
; Relations between percussion note and SRCN depends on $FA.
|
; Relations between percussion note and SRCN depends on $FA.
|
||||||
; By default, percussion uses the same instrument set as the song,
|
; By default, percussion uses the same instrument set as the song,
|
||||||
; and all percussion is keyed on with a note of $A4.
|
; and all percussion is keyed on with a note of $A4.
|
||||||
; The starting ID to use for all channels can be redefined by VCMD $FA.
|
; The starting ID to use for all channels can be redefined by VCMD $FA.
|
||||||
|
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
; Tone Map
|
; Tone Map
|
||||||
;
|
;
|
||||||
; C C+ D D+ E F F+ G G+ A A+ B
|
; C C+ D D+ E F F+ G G+ A A+ B
|
||||||
; Oc1 80 81 82 83 84 85 86 87 88 89 8A 8B
|
; Oc1 80 81 82 83 84 85 86 87 88 89 8A 8B
|
||||||
; Oc2 8C 8D 8E 8F 90 91 92 93 94 95 96 97
|
; Oc2 8C 8D 8E 8F 90 91 92 93 94 95 96 97
|
||||||
; Oc3 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3
|
; Oc3 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3
|
||||||
; Oc4 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
|
; Oc4 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
|
||||||
; Oc5 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB
|
; Oc5 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB
|
||||||
; Oc6 BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7
|
; Oc6 BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7
|
||||||
|
|
||||||
C1 = $80
|
C1 = $80
|
||||||
C1s = $81
|
C1s = $81
|
||||||
@@ -437,4 +437,4 @@ G6 = $C3
|
|||||||
G6s = $C4
|
G6s = $C4
|
||||||
A6 = $C5
|
A6 = $C5
|
||||||
A6s = $C6
|
A6s = $C6
|
||||||
B6 = $C7
|
B6 = $C7
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ Module09_Overworld:
|
|||||||
Module09_MirrorWarp ; 0x2C
|
Module09_MirrorWarp ; 0x2C
|
||||||
Module09_2D_WaitForBird ; 0x2D
|
Module09_2D_WaitForBird ; 0x2D
|
||||||
Module09_2E_Whirlpool ; 0x2E
|
Module09_2E_Whirlpool ; 0x2E
|
||||||
Module09_2F
|
Module09_2F
|
||||||
|
|
||||||
|
|
||||||
Module07_Underworld:
|
Module07_Underworld:
|
||||||
@@ -249,23 +249,23 @@ STA.w $0AAE ; PALSPR2
|
|||||||
|
|
||||||
; PALBG
|
; PALBG
|
||||||
; 0x00 - Kalyxo Castle
|
; 0x00 - Kalyxo Castle
|
||||||
; 0x01 - Blue
|
; 0x01 - Blue
|
||||||
; 0x02 - House
|
; 0x02 - House
|
||||||
; 0x03 - Green
|
; 0x03 - Green
|
||||||
; 0x04 - Glacia Estate Ice
|
; 0x04 - Glacia Estate Ice
|
||||||
; 0x05 - Zora Temple
|
; 0x05 - Zora Temple
|
||||||
; 0x06 - Tail Palace Pink
|
; 0x06 - Tail Palace Pink
|
||||||
; 0x07 - Goron Mines Cave Red
|
; 0x07 - Goron Mines Cave Red
|
||||||
; 0x08 - Mushroom Grotto Gray
|
; 0x08 - Mushroom Grotto Gray
|
||||||
; 0x09
|
; 0x09
|
||||||
; 0x0A (10) - Ranch Pink
|
; 0x0A (10) - Ranch Pink
|
||||||
; 0x0B (11) - Another green
|
; 0x0B (11) - Another green
|
||||||
; 0x0C - Goron Mines Cave Red
|
; 0x0C - Goron Mines Cave Red
|
||||||
; 0x0D
|
; 0x0D
|
||||||
; 0x0E
|
; 0x0E
|
||||||
; 0x0F
|
; 0x0F
|
||||||
; 0x10 -
|
; 0x10 -
|
||||||
; 0x (19) -
|
; 0x (19) -
|
||||||
|
|
||||||
UnderworldPaletteSets:
|
UnderworldPaletteSets:
|
||||||
db $00, $00, $03, $01 ; 0x00
|
db $00, $00, $03, $01 ; 0x00
|
||||||
@@ -277,7 +277,7 @@ db $04, $04, $03, $0A ; 0x05 House
|
|||||||
db $0C, $05, $08, $14 ; 0x06 Tail Palace
|
db $0C, $05, $08, $14 ; 0x06 Tail Palace
|
||||||
db $0E, $00, $03, $0A ; 0x07 Goron Mines/Caves
|
db $0E, $00, $03, $0A ; 0x07 Goron Mines/Caves
|
||||||
db $02, $00, $0F, $14 ; 0x08 Castle Basement
|
db $02, $00, $0F, $14 ; 0x08 Castle Basement
|
||||||
db $0A, $02, $00, $07 ; 0x09
|
db $0A, $02, $00, $07 ; 0x09
|
||||||
db $02, $00, $0F, $0C ; 0x0A
|
db $02, $00, $0F, $0C ; 0x0A
|
||||||
db $06, $00, $06, $07 ; 0x0B
|
db $06, $00, $06, $07 ; 0x0B
|
||||||
db $00, $00, $0E, $12 ; 0x0C Kalyxo Castle
|
db $00, $00, $0E, $12 ; 0x0C Kalyxo Castle
|
||||||
@@ -291,7 +291,7 @@ db $08, $00, $04, $0C ; 0x13 Glacia Estate
|
|||||||
db $08, $00, $04, $09 ; 0x14
|
db $08, $00, $04, $09 ; 0x14
|
||||||
db $04, $00, $03, $01 ; 0x15 House
|
db $04, $00, $03, $01 ; 0x15 House
|
||||||
db $14, $00, $04, $04 ; 0x16
|
db $14, $00, $04, $04 ; 0x16
|
||||||
db $14, $00, $14, $0C ; 0x17
|
db $14, $00, $14, $0C ; 0x17
|
||||||
db $18, $05, $07, $0B ; 0x18 Lava Lands Cave/Turtle Rock
|
db $18, $05, $07, $0B ; 0x18 Lava Lands Cave/Turtle Rock
|
||||||
db $18, $06, $10, $0C ; 0x19
|
db $18, $06, $10, $0C ; 0x19
|
||||||
db $1A, $05, $08, $14 ; 0x1A Dragon Ship
|
db $1A, $05, $08, $14 ; 0x1A Dragon Ship
|
||||||
@@ -300,7 +300,7 @@ db $06, $00, $03, $0A ; 0x1C
|
|||||||
db $1C, $00, $03, $01 ; 0x1D
|
db $1C, $00, $03, $01 ; 0x1D
|
||||||
db $1E, $00, $0B, $11 ; 0x1E Swordsmith
|
db $1E, $00, $0B, $11 ; 0x1E Swordsmith
|
||||||
db $04, $00, $0B, $11 ; 0x1F
|
db $04, $00, $0B, $11 ; 0x1F
|
||||||
db $0E, $00, $00, $02 ; 0x20
|
db $0E, $00, $00, $02 ; 0x20
|
||||||
db $20, $08, $13, $0D ; 0x21 Ganondorf Boss
|
db $20, $08, $13, $0D ; 0x21 Ganondorf Boss
|
||||||
db $0A, $00, $03, $0A ; 0x22 Zora Temple
|
db $0A, $00, $03, $0A ; 0x22 Zora Temple
|
||||||
db $14, $00, $04, $04 ; 0x23
|
db $14, $00, $04, $04 ; 0x23
|
||||||
@@ -309,4 +309,3 @@ db $1A, $0A, $00, $00 ; 0x25 Dragon Ship
|
|||||||
db $00, $00, $03, $02 ; 0x26
|
db $00, $00, $03, $02 ; 0x26
|
||||||
db $0E, $00, $03, $07 ; 0x27
|
db $0E, $00, $03, $07 ; 0x27
|
||||||
db $1A, $05, $05, $0B ; 0x28 Dragon Ship
|
db $1A, $05, $05, $0B ; 0x28 Dragon Ship
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
!DeathAnimation = 00 ; 00 = normal death, 01 = no death animation
|
!DeathAnimation = 00 ; 00 = normal death, 01 = no death animation
|
||||||
!ImperviousAll = 00 ; 00 = Can be attack, 01 = attack will clink on it
|
!ImperviousAll = 00 ; 00 = Can be attack, 01 = attack will clink on it
|
||||||
!SmallShadow = 01 ; 01 = small shadow, 00 = no shadow
|
!SmallShadow = 01 ; 01 = small shadow, 00 = no shadow
|
||||||
!Shadow = 01 ; 00 = don't draw shadow, 01 = draw a shadow
|
!Shadow = 01 ; 00 = don't draw shadow, 01 = draw a shadow
|
||||||
!Palette = 0 ; Unused in this template (can be 0 to 7)
|
!Palette = 0 ; Unused in this template (can be 0 to 7)
|
||||||
!Hitbox = 0 ; 00 to 31, can be viewed in sprite draw tool
|
!Hitbox = 0 ; 00 to 31, can be viewed in sprite draw tool
|
||||||
!Persist = 00 ; 01 = your sprite continue to live offscreen
|
!Persist = 00 ; 01 = your sprite continue to live offscreen
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
%Set_Sprite_Properties(Sprite_Farore_Prep, Sprite_Farore_Long)
|
%Set_Sprite_Properties(Sprite_Farore_Prep, Sprite_Farore_Long)
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
@@ -56,13 +56,11 @@ Sprite_Farore_Long:
|
|||||||
Sprite_Farore_Prep:
|
Sprite_Farore_Prep:
|
||||||
{
|
{
|
||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
|
|
||||||
LDA.b #$80 : STA $0CAA, X ; Don't kill Farore when she goes off screen
|
|
||||||
|
|
||||||
LDA.l $7EF300
|
LDA.b #$80 : STA $0CAA, X ; Don't kill Farore when she goes off screen
|
||||||
BEQ .PlayIntro
|
LDA.l $7EF300 : BEQ .PlayIntro
|
||||||
STZ.w $0DD0, X ; Kill the sprite
|
STZ.w $0DD0, X ; Kill the sprite
|
||||||
.PlayIntro
|
.PlayIntro
|
||||||
|
|
||||||
PLB
|
PLB
|
||||||
RTL
|
RTL
|
||||||
@@ -75,7 +73,6 @@ Sprite_Farore_Prep:
|
|||||||
WALKSPEED = 14
|
WALKSPEED = 14
|
||||||
STORY_STATE = $B6
|
STORY_STATE = $B6
|
||||||
|
|
||||||
|
|
||||||
Sprite_Farore_Main:
|
Sprite_Farore_Main:
|
||||||
{
|
{
|
||||||
LDA.w SprAction, X; Load the SprAction
|
LDA.w SprAction, X; Load the SprAction
|
||||||
@@ -90,22 +87,19 @@ Sprite_Farore_Main:
|
|||||||
dw MakuArea_FaroreFollowPlayer
|
dw MakuArea_FaroreFollowPlayer
|
||||||
dw MakuArea_FaroreWaitForKydrog
|
dw MakuArea_FaroreWaitForKydrog
|
||||||
|
|
||||||
|
|
||||||
; 00
|
; 00
|
||||||
IntroStart:
|
IntroStart:
|
||||||
{
|
{
|
||||||
LDA #$01 : STA InCutScene
|
LDA #$01 : STA InCutScene
|
||||||
LDA $B6 : CMP.b #$01 : BEQ .maku_area
|
LDA $B6 : CMP.b #$01 : BEQ .maku_area
|
||||||
CMP.b #$02 : BEQ .waiting
|
CMP.b #$02 : BEQ .waiting
|
||||||
|
%GotoAction(1)
|
||||||
%GotoAction(1)
|
RTS
|
||||||
RTS
|
.maku_area
|
||||||
|
%GotoAction(6)
|
||||||
|
RTS
|
||||||
|
|
||||||
.maku_area
|
.waiting
|
||||||
%GotoAction(6)
|
|
||||||
RTS
|
|
||||||
|
|
||||||
.waiting
|
|
||||||
%GotoAction(7)
|
%GotoAction(7)
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
@@ -115,13 +109,11 @@ Sprite_Farore_Main:
|
|||||||
{
|
{
|
||||||
LDA.w WALKSPEED : STA.b $57 ; Slow Link down for the cutscene
|
LDA.w WALKSPEED : STA.b $57 ; Slow Link down for the cutscene
|
||||||
LDA.b #$08 : STA.b $49 ; Auto-movement north
|
LDA.b #$08 : STA.b $49 ; Auto-movement north
|
||||||
|
|
||||||
LDA.b $20 ; Link's Y Position
|
|
||||||
CMP.b #$9C ; Y = 6C
|
|
||||||
BCC .linkistoofar
|
|
||||||
%GotoAction(2)
|
|
||||||
|
|
||||||
.linkistoofar
|
; Link's Y Position - Y = 6C
|
||||||
|
LDA.b $20 : CMP.b #$9C : BCC .linkistoofar
|
||||||
|
%GotoAction(2)
|
||||||
|
.linkistoofar
|
||||||
%PlayAnimation(6, 6, 8) ; Farore look towards Link
|
%PlayAnimation(6, 6, 8) ; Farore look towards Link
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
@@ -129,27 +121,24 @@ Sprite_Farore_Main:
|
|||||||
; 02
|
; 02
|
||||||
MoveLeftTowardsFarore:
|
MoveLeftTowardsFarore:
|
||||||
{
|
{
|
||||||
; Move Link Left
|
; Move Link Left
|
||||||
LDA.w WALKSPEED : STA.b $57 ; Slow Link down for the cutscene
|
LDA.w WALKSPEED : STA.b $57 ; Slow Link down for the cutscene
|
||||||
LDA.b #$02 : STA.b $49
|
LDA.b #$02 : STA.b $49
|
||||||
|
|
||||||
LDA.b $22 ; Link's X position
|
; Link's X position
|
||||||
CMP.b #$1A
|
LDA.b $22 : CMP.b #$1A : BCS .linkistoofar
|
||||||
BCS .linkistoofar
|
STZ.b $49 ; kill automove
|
||||||
|
LDA.b #$20
|
||||||
STZ.b $49 ; kill automove
|
STA.w SprTimerA, X ; set timer A to 0x10
|
||||||
LDA.b #$20
|
%PlayAnimation(0, 0, 8)
|
||||||
STA.w SprTimerA, X ; set timer A to 0x10
|
%GotoAction(3)
|
||||||
%PlayAnimation(0, 0, 8)
|
.linkistoofar
|
||||||
%GotoAction(3)
|
|
||||||
|
|
||||||
.linkistoofar
|
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
; 03
|
; 03
|
||||||
WaitAndMessage:
|
WaitAndMessage:
|
||||||
{
|
{
|
||||||
%PlayAnimation(1, 2, 8)
|
%PlayAnimation(1, 2, 8)
|
||||||
LDA.b #$15
|
LDA.b #$15
|
||||||
JSL Sprite_ApplySpeedTowardsPlayer
|
JSL Sprite_ApplySpeedTowardsPlayer
|
||||||
@@ -159,7 +148,7 @@ Sprite_Farore_Main:
|
|||||||
STZ $2F
|
STZ $2F
|
||||||
LDA #$00 : STA InCutScene
|
LDA #$00 : STA InCutScene
|
||||||
%ShowUnconditionalMessage($0E) ; "I am Farore, the Oracle of Secrets."
|
%ShowUnconditionalMessage($0E) ; "I am Farore, the Oracle of Secrets."
|
||||||
|
|
||||||
%GotoAction(4)
|
%GotoAction(4)
|
||||||
+
|
+
|
||||||
RTS
|
RTS
|
||||||
@@ -189,7 +178,7 @@ Sprite_Farore_Main:
|
|||||||
|
|
||||||
LDA #$02 : STA $7EF3C5 ; (0 - intro, 1 - pendants, 2 - crystals)
|
LDA #$02 : STA $7EF3C5 ; (0 - intro, 1 - pendants, 2 - crystals)
|
||||||
LDA #$05 : STA $012D ; turn off rain sound
|
LDA #$05 : STA $012D ; turn off rain sound
|
||||||
LDA #$01 : STA $B6 ; Set Story State
|
LDA #$01 : STA $B6 ; Set Story State
|
||||||
JSL Sprite_LoadGfxProperties
|
JSL Sprite_LoadGfxProperties
|
||||||
|
|
||||||
%GotoAction(6)
|
%GotoAction(6)
|
||||||
@@ -213,7 +202,7 @@ Sprite_Farore_Main:
|
|||||||
}
|
}
|
||||||
|
|
||||||
; 07
|
; 07
|
||||||
; Look at the RAM SprY to $0D60, the first few are the actual positions of the sprite
|
; Look at the RAM SprY to $0D60, the first few are the actual positions of the sprite
|
||||||
; that you can just set manually or $0D40 and $0D50 are the "speeds" of the sprites irrc
|
; that you can just set manually or $0D40 and $0D50 are the "speeds" of the sprites irrc
|
||||||
; You can set one of the speeds and then call the function called Sprite_Move
|
; You can set one of the speeds and then call the function called Sprite_Move
|
||||||
; And then that will handle it applying the speed for you
|
; And then that will handle it applying the speed for you
|
||||||
@@ -242,17 +231,17 @@ Sprite_Farore_Draw:
|
|||||||
.nextTile
|
.nextTile
|
||||||
|
|
||||||
PHX ; Save current Tile Index?
|
PHX ; Save current Tile Index?
|
||||||
|
|
||||||
TXA : CLC : ADC $06 ; Add Animation Index Offset
|
TXA : CLC : ADC $06 ; Add Animation Index Offset
|
||||||
|
|
||||||
PHA ; Keep the value with animation index offset?
|
PHA ; Keep the value with animation index offset?
|
||||||
|
|
||||||
ASL A : TAX
|
ASL A : TAX
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
|
|
||||||
LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y
|
LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y
|
||||||
AND.w #$0100 : STA $0E
|
AND.w #$0100 : STA $0E
|
||||||
INY
|
INY
|
||||||
LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y
|
LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y
|
||||||
CLC : ADC #$0010 : CMP.w #$0100
|
CLC : ADC #$0010 : CMP.w #$0100
|
||||||
@@ -269,14 +258,14 @@ Sprite_Farore_Draw:
|
|||||||
INY
|
INY
|
||||||
LDA .properties, X : STA ($90), Y
|
LDA .properties, X : STA ($90), Y
|
||||||
|
|
||||||
PHY
|
PHY
|
||||||
|
|
||||||
TYA : LSR #2 : TAY
|
TYA : LSR #2 : TAY
|
||||||
|
|
||||||
LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer
|
LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer
|
||||||
|
|
||||||
PLY : INY
|
PLY : INY
|
||||||
|
|
||||||
PLX : DEX : BPL .nextTile
|
PLX : DEX : BPL .nextTile
|
||||||
|
|
||||||
PLX
|
PLX
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
!DeathAnimation = 00 ; 00 = normal death, 01 = no death animation
|
!DeathAnimation = 00 ; 00 = normal death, 01 = no death animation
|
||||||
!ImperviousAll = 00 ; 00 = Can be attack, 01 = attack will clink on it
|
!ImperviousAll = 00 ; 00 = Can be attack, 01 = attack will clink on it
|
||||||
!SmallShadow = 00 ; 01 = small shadow, 00 = no shadow
|
!SmallShadow = 00 ; 01 = small shadow, 00 = no shadow
|
||||||
!Shadow = 00 ; 00 = don't draw shadow, 01 = draw a shadow
|
!Shadow = 00 ; 00 = don't draw shadow, 01 = draw a shadow
|
||||||
!Palette = 00 ; Unused in this template (can be 0 to 7)
|
!Palette = 00 ; Unused in this template (can be 0 to 7)
|
||||||
!Hitbox = 02 ; 00 to 31, can be viewed in sprite draw tool
|
!Hitbox = 02 ; 00 to 31, can be viewed in sprite draw tool
|
||||||
!Persist = 00 ; 01 = your sprite continue to live offscreen
|
!Persist = 00 ; 01 = your sprite continue to live offscreen
|
||||||
@@ -57,7 +57,7 @@ Sprite_Goron_Prep:
|
|||||||
LDA.b #$03 : STA.w SprAction, X
|
LDA.b #$03 : STA.w SprAction, X
|
||||||
JMP ++
|
JMP ++
|
||||||
+
|
+
|
||||||
PHX
|
PHX
|
||||||
LDX $8A
|
LDX $8A
|
||||||
LDA.l $7EF280,X : CMP.b #$20 : BEQ +++
|
LDA.l $7EF280,X : CMP.b #$20 : BEQ +++
|
||||||
PLX
|
PLX
|
||||||
@@ -150,17 +150,17 @@ Sprite_KalyxoGoron_Draw:
|
|||||||
.nextTile
|
.nextTile
|
||||||
|
|
||||||
PHX ; Save current Tile Index?
|
PHX ; Save current Tile Index?
|
||||||
|
|
||||||
TXA : CLC : ADC $06 ; Add Animation Index Offset
|
TXA : CLC : ADC $06 ; Add Animation Index Offset
|
||||||
|
|
||||||
PHA ; Keep the value with animation index offset?
|
PHA ; Keep the value with animation index offset?
|
||||||
|
|
||||||
ASL A : TAX
|
ASL A : TAX
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
|
|
||||||
LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y
|
LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y
|
||||||
AND.w #$0100 : STA $0E
|
AND.w #$0100 : STA $0E
|
||||||
INY
|
INY
|
||||||
LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y
|
LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y
|
||||||
CLC : ADC #$0010 : CMP.w #$0100
|
CLC : ADC #$0010 : CMP.w #$0100
|
||||||
@@ -177,14 +177,14 @@ Sprite_KalyxoGoron_Draw:
|
|||||||
INY
|
INY
|
||||||
LDA .properties, X : STA ($90), Y
|
LDA .properties, X : STA ($90), Y
|
||||||
|
|
||||||
PHY
|
PHY
|
||||||
|
|
||||||
TYA : LSR #2 : TAY
|
TYA : LSR #2 : TAY
|
||||||
|
|
||||||
LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer
|
LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer
|
||||||
|
|
||||||
PLY : INY
|
PLY : INY
|
||||||
|
|
||||||
PLX : DEX : BPL .nextTile
|
PLX : DEX : BPL .nextTile
|
||||||
|
|
||||||
PLX
|
PLX
|
||||||
@@ -228,17 +228,17 @@ Sprite_EonGoron_Draw:
|
|||||||
.nextTile
|
.nextTile
|
||||||
|
|
||||||
PHX ; Save current Tile Index?
|
PHX ; Save current Tile Index?
|
||||||
|
|
||||||
TXA : CLC : ADC $06 ; Add Animation Index Offset
|
TXA : CLC : ADC $06 ; Add Animation Index Offset
|
||||||
|
|
||||||
PHA ; Keep the value with animation index offset?
|
PHA ; Keep the value with animation index offset?
|
||||||
|
|
||||||
ASL A : TAX
|
ASL A : TAX
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
|
|
||||||
LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y
|
LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y
|
||||||
AND.w #$0100 : STA $0E
|
AND.w #$0100 : STA $0E
|
||||||
INY
|
INY
|
||||||
LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y
|
LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y
|
||||||
CLC : ADC #$0010 : CMP.w #$0100
|
CLC : ADC #$0010 : CMP.w #$0100
|
||||||
@@ -255,14 +255,14 @@ Sprite_EonGoron_Draw:
|
|||||||
INY
|
INY
|
||||||
LDA .properties, X : STA ($90), Y
|
LDA .properties, X : STA ($90), Y
|
||||||
|
|
||||||
PHY
|
PHY
|
||||||
|
|
||||||
TYA : LSR #2 : TAY
|
TYA : LSR #2 : TAY
|
||||||
|
|
||||||
LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer
|
LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer
|
||||||
|
|
||||||
PLY : INY
|
PLY : INY
|
||||||
|
|
||||||
PLX : DEX : BPL .nextTile
|
PLX : DEX : BPL .nextTile
|
||||||
|
|
||||||
PLX
|
PLX
|
||||||
|
|||||||
@@ -71,8 +71,7 @@ DontTeleportWithoutFlippers:
|
|||||||
LDA.l $7EF356 : BNE +
|
LDA.l $7EF356 : BNE +
|
||||||
RTL
|
RTL
|
||||||
+
|
+
|
||||||
#_1EEEE4: LDA.b #$2E
|
LDA.b #$2E : STA.b $11
|
||||||
#_1EEEE6: STA.b $11
|
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,8 +89,7 @@ Graphics_Transfer:
|
|||||||
JSR ApplyManhandlaGraphics
|
JSR ApplyManhandlaGraphics
|
||||||
JSR ApplyManhandlaPalette
|
JSR ApplyManhandlaPalette
|
||||||
+
|
+
|
||||||
#_02BE5E: LDA.b $11
|
LDA.b $11 : CMP.b #$02
|
||||||
#_02BE60: CMP.b #$02
|
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user