home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC/CD Gamer UK 13
/
PCGAMER13.bin
/
druiddem
/
control.inc
next >
Wrap
Text File
|
1995-06-30
|
16KB
|
598 lines
;******************************************************************************
;Stop control list processing.
;******************************************************************************
sleep macro
db 0
endm
;******************************************************************************
;Make a sprite visible
;******************************************************************************
visible macro
db 1
endm
;******************************************************************************
;Wait specified number of cycles before continueing with control string.
;******************************************************************************
wait macro
db 2
db \1
endm
;******************************************************************************
;Set flag to make co-ords refer to bottom center of sprite.
;******************************************************************************
feet macro
db 3
endm
;******************************************************************************
;Set flag to make use of sprite frame offsets.
;******************************************************************************
offsets macro
db 4
endm
;******************************************************************************
;Set flag to make animation ping pong.
;******************************************************************************
pingpong macro
db 5
endm
;******************************************************************************
;Set new control string address.
;******************************************************************************
goto macro
db 6
dl \1-$
endm
;******************************************************************************
;Clear flag to stop animation ping pong.
;******************************************************************************
un_pingpong macro
db 7
endm
;******************************************************************************
;Clear control string to let main code take control.
;******************************************************************************
clearcon macro
db 8
endm
;******************************************************************************
;Signal reached specific point for any code that's looking on :-)
;******************************************************************************
signal macro
db 9
db \1
endm
;******************************************************************************
;Set new control string address.
;******************************************************************************
death macro
db 10
dl \1-$
endm
;******************************************************************************
;Kill current sprite.
;******************************************************************************
kill macro
db 11
endm
;******************************************************************************
;Stop movement in X,Y,Z,Priority,Light & Angle
;******************************************************************************
stop macro
db 12
endm
;******************************************************************************
;Start a repeat block
;******************************************************************************
repeat macro
db 13
dw \1
endm
;******************************************************************************
;close a repeat block.
;******************************************************************************
endrep macro
db 14
endm
;******************************************************************************
;branch to new control code.
;******************************************************************************
gosub macro
db 15
dl \1-$
endm
;******************************************************************************
;Set display X co-ordinate
;******************************************************************************
xcoord macro
db 16
dw \1
endm
;******************************************************************************
;Set display Y co-ordinate
;******************************************************************************
ycoord macro
db 17
dw \1
endm
;******************************************************************************
;Set sprites z co-ordinate.
;******************************************************************************
zcoord macro
db 19
db \1
endm
;******************************************************************************
;Set sprites lighting.
;******************************************************************************
light macro
db 20
db \1
endm
;******************************************************************************
;Set sprites priority.
;******************************************************************************
priority macro
db 21
db \1
endm
;******************************************************************************
;Set sprite angle.
;******************************************************************************
angle macro
db 24
db \1
endm
;******************************************************************************
;Set sprite file number to use.
;******************************************************************************
sprite macro
db 18
db \1
endm
;******************************************************************************
;Set sprite frame number to use.
;******************************************************************************
frame macro
db 22
db \1
endm
;******************************************************************************
;Set sprite animation.
;******************************************************************************
anim macro
db 23
db \1,\2,\3
endm
;******************************************************************************
;set target X
;******************************************************************************
movex macro
db 26
dw \1
endm
;******************************************************************************
;set target Y
;******************************************************************************
movey macro
db 27
dw \1
endm
;******************************************************************************
;set target Z
;******************************************************************************
movez macro
db 28
db \1
endm
;******************************************************************************
;set target Priority
;******************************************************************************
movep macro
db 29
db \1
endm
;******************************************************************************
;set target angle
;******************************************************************************
movea macro
db 30
db \1
endm
;******************************************************************************
;set target lighting
;******************************************************************************
movel macro
db 31
db \1
endm
;******************************************************************************
;Move to target.
;******************************************************************************
move macro
db 25
endm
;******************************************************************************
;branch if moveing
;******************************************************************************
if_moveing macro
db 32
dl \1-$
endm
;******************************************************************************
;branch if sprite type ?
;******************************************************************************
if_sprite macro
db 33
db \1
dl \2-$
endm
;******************************************************************************
;branch if man in absolute rectangle
;******************************************************************************
if_manrect macro
db 34
dw \1,\2,\3,\4
dl \5-$
endm
;******************************************************************************
;Set a variable
;******************************************************************************
set macro
db 35
dw \1
endm
;******************************************************************************
;Clear a variable
;******************************************************************************
clear macro
db 36
dw \1
endm
;******************************************************************************
;INC a variable
;******************************************************************************
inc macro
db 37
dw \1
endm
;******************************************************************************
;DEC a variable
;******************************************************************************
dec macro
db 38
dw \1
endm
;******************************************************************************
;check if variable is none zero (set)
;******************************************************************************
if_set macro
db 39
dw \1
dl \2-$
endm
;******************************************************************************
;check if variable is zero (clear)
;******************************************************************************
if_clear macro
db 40
dw \1
dl \2-$
endm
;******************************************************************************
;check variable for value.
;******************************************************************************
if_value macro
db 41
dw \1
dl \2
dl \3-$
endm
;******************************************************************************
;check if variable is less than value
;******************************************************************************
if_less macro
db 42
dw \1
dl \2
dl \3-$
endm
;******************************************************************************
;check if variable is more than value
;******************************************************************************
if_more macro
db 43
dw \1
dl \2
dl \3-$
endm
;******************************************************************************
;store current position in variable.
;******************************************************************************
save_pos macro
db 44
dw \1
endm
;******************************************************************************
;restore position from variable.
;******************************************************************************
load_pos macro
db 45
dw \1
endm
;******************************************************************************
;return from a gusub.
;******************************************************************************
return macro
db 46
endm
;******************************************************************************
;Conditional branch on man's node ID
;******************************************************************************
if_manid macro
db 47
db \1
dl \2-$
endm
;******************************************************************************
;Use a node ID to set target values for a MOVE
;******************************************************************************
moven macro
db 48
db \1
endm
;******************************************************************************
;Use a node ID to set position.
;******************************************************************************
posid macro
db 49
db \1
endm
;******************************************************************************
;Switch to death controller.
;******************************************************************************
die macro
db 50
endm
;******************************************************************************
;generate another sprite.
;******************************************************************************
generate macro
db 51
dl \1-$
endm
;******************************************************************************
;Set attack high controller
;******************************************************************************
AttackHigh macro
db 52
dl \1-$
endm
;******************************************************************************
;Set attack low controller
;******************************************************************************
AttackLow macro
db 53
dl \1-$
endm
;******************************************************************************
;Attack high blocked.
;******************************************************************************
BlockedHigh macro
db 54
dl \1-$
endm
;******************************************************************************
;Attack low blocked.
;******************************************************************************
BlockedLow macro
db 55
dl \1-$
endm
;******************************************************************************
;Set block controller
;******************************************************************************
BlockBlow macro
db 56
dl \1-$
endm
;******************************************************************************
;Set hit high controller
;******************************************************************************
HitHigh macro
db 57
dl \1-$
endm
;******************************************************************************
;Set hit low controller
;******************************************************************************
HitLow macro
db 58
dl \1-$
endm
;******************************************************************************
;Signal attack required
;******************************************************************************
Attack macro
db 59
endm
;******************************************************************************
;Set base combat controller
;******************************************************************************
Combat macro
db 60
dl \1-$
endm
;******************************************************************************
;Set sprites strength.
;******************************************************************************
Strength macro
db 61
dw \1
endm
;******************************************************************************
;Trigger a sound effect.
;******************************************************************************
Fx macro
db 62
db \1
endm
;******************************************************************************
;Trigger a global sound effect.
;******************************************************************************
GFx macro
db 62
db \1+128
endm
;******************************************************************************
;Declare a variable.
;******************************************************************************
variable_base = 0
var macro
\1 equ variable_base
variable_base = variable_base+1
if variable_base >= 1024
error Too many variables. Contact your local programmer
endif
endm
;******************************************************************************
;Declare a position variable.
;******************************************************************************
pos_var macro
\1 equ variable_base
variable_base = variable_base+2
if variable_base >= 1024
error Too many variables. Contact your local programmer
endif
endm