mirror of
https://github.com/Pecusx/Young-lumberjack.git
synced 2026-05-20 22:33:54 +02:00
New option in RMT player
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
SFX_PRIOR equ 0
|
||||||
STEREOMODE equ 0
|
STEREOMODE equ 0
|
||||||
PSEUDOSTEREO equ 1
|
PSEUDOSTEREO equ 1
|
||||||
;* --------BEGIN--------
|
;* --------BEGIN--------
|
||||||
|
|||||||
+44
-1
@@ -30,6 +30,14 @@
|
|||||||
;
|
;
|
||||||
; PSEUDOSTEREO equ 0/1
|
; PSEUDOSTEREO equ 0/1
|
||||||
;
|
;
|
||||||
|
; And second new feature :)
|
||||||
|
; It only works if FEAT_SFX is set to 1 (SFX enabled)
|
||||||
|
; If this option is enabled, SFX take priority over music.
|
||||||
|
; Music instruments on the SFX channel starts playing after the effect sounds
|
||||||
|
; (never interrupts SFX)
|
||||||
|
;
|
||||||
|
; SFX_PRIOR equ 0/1
|
||||||
|
;
|
||||||
;*
|
;*
|
||||||
;* RMT FEATures definitions file
|
;* RMT FEATures definitions file
|
||||||
;* For optimizations of RMT player routine to concrete RMT modul only!
|
;* For optimizations of RMT player routine to concrete RMT modul only!
|
||||||
@@ -42,6 +50,9 @@
|
|||||||
.IFNDEF PSEUDOSTEREO
|
.IFNDEF PSEUDOSTEREO
|
||||||
PSEUDOSTEREO equ 0 ; no pseudo stereo
|
PSEUDOSTEREO equ 0 ; no pseudo stereo
|
||||||
.ENDIF
|
.ENDIF
|
||||||
|
.IFNDEF SFX_PRIOR
|
||||||
|
SFX_PRIOR equ 0 ; no SFX priority
|
||||||
|
.ENDIF
|
||||||
|
|
||||||
|
|
||||||
.IF STEREOMODE==1
|
.IF STEREOMODE==1
|
||||||
@@ -92,6 +103,9 @@ p_tis = p_instrstable
|
|||||||
.IF FEAT_SFX
|
.IF FEAT_SFX
|
||||||
.zpvar RMTSFXVOLUME .byte
|
.zpvar RMTSFXVOLUME .byte
|
||||||
.ENDIF
|
.ENDIF
|
||||||
|
.IF FEAT_SFX&&SFX_PRIOR
|
||||||
|
.zpvar sfx_flag .byte
|
||||||
|
.ENDIF
|
||||||
; end of de-self-modification vars
|
; end of de-self-modification vars
|
||||||
.IF TRACKS>4
|
.IF TRACKS>4
|
||||||
org PLAYER-$400+$40
|
org PLAYER-$400+$40
|
||||||
@@ -360,6 +374,12 @@ si1 sta $d200,y
|
|||||||
.ELSE
|
.ELSE
|
||||||
lda #FEAT_INSTRSPEED
|
lda #FEAT_INSTRSPEED
|
||||||
.ENDIF
|
.ENDIF
|
||||||
|
; sfx priority (Pecus)
|
||||||
|
.IF FEAT_SFX&&SFX_PRIOR
|
||||||
|
lda #$80
|
||||||
|
sta sfx_flag
|
||||||
|
.ENDIF
|
||||||
|
; --------
|
||||||
rts
|
rts
|
||||||
GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3
|
GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3
|
||||||
GetSongLine
|
GetSongLine
|
||||||
@@ -518,9 +538,24 @@ InitOfNewSetInstrumentsOnly
|
|||||||
p2x1 ldy trackn_instrx2,x
|
p2x1 ldy trackn_instrx2,x
|
||||||
bmi p2x0
|
bmi p2x0
|
||||||
.IF FEAT_SFX
|
.IF FEAT_SFX
|
||||||
|
.IF SFX_PRIOR
|
||||||
jsr SetUpInstrumentY2
|
jsr SetUpInstrumentY2
|
||||||
|
.ELSE
|
||||||
|
jsr SetUpInstrumentY2_continue
|
||||||
|
.ENDIF
|
||||||
jmp p2x0
|
jmp p2x0
|
||||||
|
SetUpInstrumentY2
|
||||||
|
; sfx priority (Pecus)
|
||||||
|
.IF SFX_PRIOR
|
||||||
|
cpx sfx_flag
|
||||||
|
bne SetUpInstrumentY2_continue
|
||||||
|
rts
|
||||||
|
.ENDIF
|
||||||
|
; -------
|
||||||
rmt_sfx
|
rmt_sfx
|
||||||
|
.IF SFX_PRIOR
|
||||||
|
stx sfx_flag ; sfx priority (Pecus)
|
||||||
|
.ENDIF
|
||||||
sta trackn_note,x
|
sta trackn_note,x
|
||||||
.IF FEAT_BASS16
|
.IF FEAT_BASS16
|
||||||
sta trackn_outnote,x
|
sta trackn_outnote,x
|
||||||
@@ -528,7 +563,7 @@ rmt_sfx
|
|||||||
lda RMTSFXVOLUME ;* sfx note volume*16
|
lda RMTSFXVOLUME ;* sfx note volume*16
|
||||||
sta trackn_volume,x
|
sta trackn_volume,x
|
||||||
.ENDIF
|
.ENDIF
|
||||||
SetUpInstrumentY2
|
SetUpInstrumentY2_continue
|
||||||
lda (p_instrstable),y
|
lda (p_instrstable),y
|
||||||
sta trackn_instrdb,x
|
sta trackn_instrdb,x
|
||||||
sta nt
|
sta nt
|
||||||
@@ -683,6 +718,14 @@ pp1
|
|||||||
beq pp2
|
beq pp2
|
||||||
lda #$80
|
lda #$80
|
||||||
sta trackn_instrreachend,x
|
sta trackn_instrreachend,x
|
||||||
|
; sfx priority (Pecus)
|
||||||
|
.IF FEAT_SFX&&SFX_PRIOR
|
||||||
|
cpx sfx_flag
|
||||||
|
bne no_this_channel
|
||||||
|
sta sfx_flag ; $80
|
||||||
|
no_this_channel
|
||||||
|
.ENDIF
|
||||||
|
; --------
|
||||||
pp1b
|
pp1b
|
||||||
lda trackn_instrlop,x
|
lda trackn_instrlop,x
|
||||||
pp2 sta trackn_instridx,x
|
pp2 sta trackn_instridx,x
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user