summaryrefslogtreecommitdiff
path: root/macros.asm
diff options
context:
space:
mode:
authordannye <corrnondacqb@yahoo.com>2016-07-27 22:08:13 -0500
committerdannye <corrnondacqb@yahoo.com>2016-07-27 22:08:13 -0500
commit5207a14af34f9b84a9e40cc1d4988a0858a4a4e6 (patch)
tree1178fa1ba93fa2734141abb854a58126dabd9899 /macros.asm
parentdbe2a3b1683caeab446ece53dce8d5e8b0fd0e07 (diff)
Redo audio header macro
Diffstat (limited to 'macros.asm')
-rw-r--r--macros.asm77
1 files changed, 21 insertions, 56 deletions
diff --git a/macros.asm b/macros.asm
index ca123d97..eec166f0 100644
--- a/macros.asm
+++ b/macros.asm
@@ -392,64 +392,29 @@ StopAllMusic: macro
call PlaySound
endm
-;1_channel EQU $00
-;2_channels EQU $40
-;3_channels EQU $80
-;4_channels EQU $C0
-
-CH0 EQU 0
-CH1 EQU 1
-CH2 EQU 2
-CH3 EQU 3
-CH4 EQU 4
-CH5 EQU 5
-CH6 EQU 6
-CH7 EQU 7
-
-CH0_ EQU 1 << CH0
-CH1_ EQU 1 << CH1
-CH2_ EQU 1 << CH2
-CH3_ EQU 1 << CH3
-CH4_ EQU 1 << CH4
-CH5_ EQU 1 << CH5
-CH6_ EQU 1 << CH6
-CH7_ EQU 1 << CH7
-
-; channel 0 is not optional
-music: MACRO
- db ((((\2 & CH0_) >> CH0) + ((\2 & CH1_) >> CH1) + ((\2 & CH2_) >> CH2) + ((\2 & CH3_) >> CH3)) - 1) << 6 | CH0
- dw \1_Ch0
- IF \2 & CH1_
- db CH1
- dw \1_Ch1
+Ch0 EQU 0
+Ch1 EQU 1
+Ch2 EQU 2
+Ch3 EQU 3
+Ch4 EQU 4
+Ch5 EQU 5
+Ch6 EQU 6
+Ch7 EQU 7
+
+audio: MACRO
+ db (_NARG - 2) << 6 | \2
+ dw \1_\2
+ IF _NARG > 2
+ db \3
+ dw \1_\3
ENDC
- IF \2 & CH2_
- db CH2
- dw \1_Ch2
+ IF _NARG > 3
+ db \4
+ dw \1_\4
ENDC
- IF \2 & CH3_
- db CH3
- dw \1_Ch3
- ENDC
-ENDM
-
-; do not start a sound effect with channel 5 or 6, only channel 4 or 7
-sfx: MACRO
- IF \2 & CH4_
- db ((((\2 & CH4_) >> CH4) + ((\2 & CH5_) >> CH5) + ((\2 & CH6_) >> CH6) + ((\2 & CH7_) >> CH7)) - 1) << 6 | CH4
- dw \1_Ch4
- ENDC
- IF \2 & CH5_
- db CH5
- dw \1_Ch5
- ENDC
- IF \2 & CH6_
- db CH6
- dw \1_Ch6
- ENDC
- IF \2 & CH7_
- db CH7
- dw \1_Ch7
+ IF _NARG > 4
+ db \5
+ dw \1_\5
ENDC
ENDM