trog/TROGWHL.ASM

2831 lines
62 KiB
NASM
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

.MLIB "TROGMACS.LIB"
.FILE 'TROGWHL.ASM'
.TITLE " <<< T R O G -- THE WHEEL >>>"
.WIDTH 132
.OPTION B,D,L,T
.MNOLIST
**************************************************************************
* *
* COPYRIGHT (C) 1990 MIDWAY MANUFACTURING COMPANY, *
* MANUFACTURERS OF BALLY/MIDWAY AMUSEMENT GAMES. *
* ALL RIGHTS RESERVED. *
* *
**************************************************************************
* GET THE SYSTEM STUFF
.INCLUDE "MPROCEQU.ASM" ;MPROC equates
.INCLUDE "DISPEQU.ASM" ;Display processor equates
.INCLUDE "GSPINC.ASM" ;GSP assembler equates
.INCLUDE "SYSINC.ASM" ;Zunit system equates
.INCLUDE "IMGTBL.GLO"
.INCLUDE "TROGEQU.ASM"
.INCLUDE "STRING.H"
.INCLUDE "TROGAEQU.ASM" ;GET THE ANIMATION EQUATES
.INCLUDE "TROGWHL.TBL" ;INCLUDE THE IMAGE HEADERS
.DEF WHEEL_START, WHEEL_PROCESS, WHL_OOF, WHL_KO_HITS
.DEF WHLATAB, WHEEL410, WHLFIRE_EXT
.DEF WHLXFER, WHL_CENTER, WHLINIT, WHEEL_STOP
.REF ENEMY_START, WHEEL_CNT, BONED_IN_GREY
.REF DINOLOAD, IS_DINO_DEAD_A8, MARK_DINO_DEAD
.REF FINDMOVE, DINOTURN, GET_DINO_MPNT, DINO_MUNCH
.REF BOUNDRY_CHECK, ANIMATE_DIR, NOTDIR
.REF PIT_CLOSE, DINO_VEL, DIR_VELOCITY, DINO_PUNCHED
.REF TROGSPEED, FIND_CLOSE_MPNT
.REF ONE_MOVE, BONE_BETWEEN, BUMP, DINOLOOK_TURN
.REF DINO_FRANIM, DINOREV, LOAD_DIR
.REF DINOS_NEAR_PNT, FREE_MOVE_EGG, DINO_ADD_VEL, TAROUT
.REF TROG_BUMP
.REF TROG_SQUASH
.REF FRANIMATE_DIR, FIRE_DOWN, DINO_SQUASH
.REF FIND_CLOSE_EPNT
.REF BONED_IN_4, CLIP_INTO, TROGSMACK2_SND
.REF TARBUBBLE_SND, BONE_OBLITERATE, FREEZE_TIME
.REF BGND_TYPE, LAVA_SPLASH, WATER_SPLASH, BTYPE_CK
.BSS WHLLAST_DIR,16
WHL_KO_HITS .EQU 6
.TEXT
**************************************************************************
* *
* WHEEL_START - START TROG(S) *
* A5 = [RANDOM # TO ADD, # TO START] *
* A6 = OID *
* *
**************************************************************************
WHEEL_START:
MMTM SP,A1,A7,A10
MOVI RIGHT,A1
MOVE A1,@WHLLAST_DIR,W
MOVI WHEELPID,A1
MOVI WHEEL_PROCESS,A7
MOVE A6,A10
CALLA ENEMY_START
MMFM SP,A1,A7,A10
RETS
**************************************************************************
* *
* WHEEL_PROCESS - CREATE AND CONTROL THE WHEEL *
* A8 = PTR TO THE TROG THAT IS THROWING THIS WHEEL *
* *
**************************************************************************
WHEEL_PROCESS:
CALLA CLRPDATA ;CLEAR OUR DATA AREA
MOVI WHLATAB,A0
MOVE A0,*A13(DATABLE),L ;STORE ANIMATION TABLE
MOVK DOWN,A0
MOVE A0,*A13(DINITDIR),W ;STORE INITIAL DIRECTION
MOVE @TROGSPEED,A1,W ;GET THIS WAVES INITIAL VELOCITY
ZEXT A1
MOVE A1,*A13(DSPEED),W ;KEEP THE INITIAL SPEED
SLL 4,A1
CALLA DINO_VEL ;SETUP THE INITIAL VELOCITY
MOVE *A8(OPLINK),A0,L
JRZ WHL_PROC_DIE
MOVE *A0(DDIR),A11,W ;GET TROG'S DIRECTION
MOVE A11,*A13(DDIR),W ;STORE IT
CALLA GETANIXY ;AND HIS ANIMATION POINT
SRL 16,A3
MOVY A2,A3
MOVI WHLINIT,A14,L ;INIT TABLE IN THE CORRECT SPOT
CALLA GPALOBJSTF ;GET AN OBJECT AND STUFF
JRZ WHL_PROC_DIE ;BR = WE FAILED TO GET AN OBJECT
MOVE *A8(OZVAL),A1,L
CMPI DOWN,A11 ;ARE WE PUSHING DOWN?
JRNE WHL_SAME_Z ;BR = NO, Z STAYS THE SAME
INC A1 ;GIVE WHEEL GUARANTEED PRIORITY
WHL_SAME_Z:
MOVE A1,*A0(OZVAL),L ;SET AS TROG
MOVE A0,A8
MOVE A13,*A8(OPLINK),L ;LINK THE PROC TO THE OBJ
MOVE *A13(DATABLE),A10,L ;RELOAD THE ANIMATION TABLE
MOVI WHEELU,A0
CALLA LOAD_DIR
MOVE A3,A11
MOVK 4,A1
JSRP FRANIM ;LOAD THE NEW FRAME
MOVE A0,A5
MOVE A11,A3
CALLA OBJ_TO_PNT ;SET THIS WHEEL ON THE POINT
CALLR GET_WHL_MPNT
MOVE A0,*A13(PTEMP2),L ;STORE THIS POINT FOR THE BONE CRUSH
MOVI TROGS,A1
CALLA INSERT_OBJ_SUPP ;INSERT THIS 'TING
INCM @WHEEL_CNT,W ;INCREMENT THE WHEEL COUNT
SLEEPR A5 ;SLEEP THE FRAME TIME
MOVK 1,A1
JSRP DINO_FRANIM ;ANIMATE THE CARRY
MOVE @TROGSPEED,A1,W ;GET THIS WAVES INITIAL VELOCITY
ZEXT A1
ADDI 200H,A1
MOVE A1,*A13(DSPEED),W ;KEEP THE INITIAL SPEED
ADDI 800H,A1
SLL 4,A1
CALLA DINO_VEL ;INITIAL VELOCITY FASTER FOR TOSS
MOVE *A13(PTEMP2),A0,L
MOVE *A13(DDIR),A1,W
CALLA ONE_MOVE
JRZ WHL_NOADJ
MOVE A1,A0 ;KEEP US COMPATIBLE
MOVB *A0(MOVEPLYR),A1 ;IS THERE A BONE WHERE WE TURNED
CMPI PXPLAYER,A1
JREQ WHL_AVOID_GREY
CALLA BONE_OBLITERATE ;SMASH BONE THAT IS DIRECTLY IN FRONT
WHL_NOADJ:
*
*PROCESS TRANSFER POINT FOR THE WHEEL
* A8 = PTR TO WHEEL OBJECT
* *A13(DATABLE),L = PTR TO WHEEL ANIMATION TABLE
* *A13(DDIR),W = CURRENT WHEEL DIRECTION
* *A13(DOID) = OBJECT I.D. OF WHEEL
WHLXFER
MOVE A13,A12
ADDI PRCSIZ,A12 ;RESET PROCESS STACK POINTER
ANDNIM M_NOCOLL,*A8(OFLAGS),W ;MAKE SURE COLLISIONS ARE ON
CLR A0
MOVB A0,*A13(DPUNCHFLG) ;CLEAR FLAGS
MOVB A0,*A13(DDIZZYFLG)
MOVB A0,*A13(THITS)
MOVB A0,*A13(TFREEZE)
MOVE *A13(DDIR),A11,W ;GET THE NEW DIRECTION
MOVE A11,A0
MOVE *A13(DATABLE),A10,L ;RESTORE THE ANIMATION TABLE
CALLA DINOLOAD
CALLR GET_WHL_MPNT
MOVE A3,*A13(TCURMPOS),L ;AND STORE IT AS HIS CURRENT MOVE POS
MOVE A3,A1
CALLR WHL_NEW_PNT ;SET THE WHEEL UP
CALLA BONED_IN_4
JREQ WHL_BONED
*
*A11 = CURRENT WHEEL DIRECTION HERE
WHLLP
MOVE @GAME_STATE,A1,W
CMPI INGAME,A1 ;ARE WE BONUSING?
JRNE WHL_CONTINUE
MOVI STANDU,A0
JSRP FRANIMATE_DIR
MOVE A11,A0
CALLA DINOLOAD ;RESET FOR NEXT
JRUC WHLLP
WHL_CONTINUE:
CLR A1
JSRP DINO_FRANIM
MOVE A11,A1 ;AND PUT IT IN THE CORRECT PLACE
CALLA WHL_VEL_NORMAL ;RETURN WHEELS VELOCITY TO NORMAL
CALLA BOUNDRY_CHECK
JRNE WHL_OUT_OF_BOUNDS
CALLR GET_WHL_MPNT
MOVE *A13(TCURMPOS),A2,L ;GET THE CURRENT CENTER POINT
CMP A2,A3 ;SAME MOVE AS LAST TIME?
JREQ WHLLP ;BR = YES, THEN KEEP ON TRUCKIN'
MOVI [4,4],A2 ;TROG MUST BE WITHIN THIS RANGE
CALLA PNT_IN_RANGE ;IS HE?
JRNC WHLLP ;BR = NO
MOVE A3,*A13(TCURMPOS),L ;STORE THIS NEW [Y,X] OF THE MOVE PNT
MOVE *A0(MOVECPTR),A5,L ;ARE WE ON A CENTER POINT?
JRN WHL_DO_BONE ;BR = NO
CLR A1
MOVE A0,A6
CALLA DINOS_NEAR_PNT
JRZ WHL_CK_BOX
MOVE A6,A0
JRUC WHLLP
WHL_CK_BOX:
MOVE A6,A0
CALLA BONED_IN_4
JREQ WHL_BONED
*THIS PIECE WILL MAKE THE WHEEL AVOID A BONE IF ONE IS AHEAD
MOVE A11,A1
CALLA ONE_MOVE
JRZ WHLLP
MOVB *A1(MOVEPLYR),A1 ;IS THERE A BONE AHEAD
JRNN WHL_AVOID ;BR = YES
JRUC WHLLP
WHL_DO_BONE:
MOVB *A0(MOVEPLYR),A4 ;IS THERE A BONE ON THIS SPOT?
JRN WHLLP ;BR = NO
CMPI PXPLAYER,A4
JREQ WHL_AVOID_GREY
CALLA BONE_OBLITERATE
ORIM M_NOCOLL,*A8(OFLAGS),W
MOVE *A8(OYPOS),A0,W
SUBK 3,A0
MOVE A0,*A8(OYPOS),W
MOVI 0202H,A1
JSRP DINO_FRANIM
MOVE *A8(OYPOS),A0,W
ADDK 3,A0
MOVE A0,*A8(OYPOS),W
ANDNIM M_NOCOLL,*A8(OFLAGS),W
MOVI -1000H,A0
CALLA DINO_ADD_VEL ;DECREASE THE WHEEL VELOCITY FOR BONE
JRUC WHLLP
*
*A0 = MOVE THAT IS THE CENTER OF THE BONE TRAP
WHL_BONED:
CALLA PSTOP ;STOP THE WHEEL
CALLR WHL_CENTER ;CENTER UP DAT WHEEL
CMPI RIGHT,A11
JREQ WHL_BONED_R
CMPI LEFT,A11
JREQ WHL_BONED_L
CMPI DOWN,A11
JREQ WHL_BONED_D
*WHEEL IS BONED IN THE UP DIRECTION
WHL_BONED_U:
PUSHP A0
MOVI WHLWOBBLE_U,A9
MOVK 1,A1
JSRP DINO_FRANIM
MOVI RIGHT,A11
MOVE A11,*A13(DDIR),W
PULLP A0
MOVE A11,A1
CALLA ONE_MOVE
JRZ WHL_BONED_R
MOVB *A1(MOVEPLYR),A4
JRN WHLXFER
CALLR INC_MOMENTUM
WHL_BONED_R:
PUSHP A0
MOVI WHLWOBBLE_R,A9
MOVK 1,A1
JSRP DINO_FRANIM
MOVI DOWN,A11
MOVE A11,*A13(DDIR),W
PULLP A0
MOVE A11,A1
CALLA ONE_MOVE
JRZ WHL_BONED_D
MOVB *A1(MOVEPLYR),A4
JRN WHLXFER
CALLR INC_MOMENTUM
WHL_BONED_D:
PUSHP A0
MOVI WHLWOBBLE_D,A9
MOVK 1,A1
JSRP DINO_FRANIM
MOVI LEFT,A11
MOVE A11,*A13(DDIR),W
PULLP A0
MOVE A11,A1
CALLA ONE_MOVE
JRZ WHL_BONED_L
MOVB *A1(MOVEPLYR),A4
JRN WHLXFER
CALLR INC_MOMENTUM
WHL_BONED_L:
PUSHP A0
MOVI WHLWOBBLE_L,A9
MOVK 1,A1
JSRP DINO_FRANIM
MOVI UP,A11
MOVE A11,*A13(DDIR),W
CLR A1
MOVE *A13(TCURMPOS),A3,L
CALLA DINOS_NEAR_PNT ;IS THERE A DINO IN HERE
JRZ WHL_BONE_CYCLE ;BR = NOBODY BUT US IN HERE
PULLP A0
MOVE A11,A0
CALLA DINOLOAD
JRUC WHLLP ;AND ANIMATE OUT
WHL_BONE_CYCLE:
PULLP A0
MOVE A11,A1
CALLA ONE_MOVE
JRZ WHL_BONED_U
MOVB *A1(MOVEPLYR),A4
JRN WHLXFER
CALLR INC_MOMENTUM
JRUC WHL_BONED_U
*
*JUMP HERE IF YOU WISH TO AVOID AN INDESTRUCTIBLE BONE
*A0 = PTR TO MOVE THAT THE BONE IS RESTING UPON
WHL_AVOID_GREY
MOVE *A13(DDIR),A11,W
CALLA NOTDIR
MOVE A11,A1
CALLA ONE_MOVE
JRZ WHL_AVOID
MOVE A1,A0
CALLA BONED_IN_GREY
JRNZ WHL_AVOID
JRUC WHLXFER
*
*WHEEL IS OUT OF BOUNDS
*A10 = ANIMATION TABLE
*A11 =CURRENT DIRECTION
WHL_OUT_OF_BOUNDS:
CALLA NOTDIR ;APPEAR IN THE REVERSE DIRECTION
CALLA GET_WHL_CPNT ;GET THE CENTER POINT OF TROGGY
CALLA FIND_CLOSE_EPNT ;FIND OUT WHERE HE FELL OFF
MOVE *A0(EMOVEOBJ),A4,L ;IS THERE A PLAYER HOUSE HERE?
JRZ WHL_WAY_OUT ;BR = NO
JSRP DINOTURN
JRUC WHLXFER ;AND GO
WHL_WAY_OUT:
MOVE A11,*A13(DINITDIR),W ;MAKE THIS THE NEW DIRECTION
CMPI TYPE_PIT,A5 ;DID WE DIE IN A PIT?
JREQ WHL_PIT_DEATH ;BR = YES SIR
CMPI TYPE_VOLCANO,A5 ;DID HE BUMP THE CANE
JREQ WHL_VOLCANO ;BR =YES
WHL_CLIFF_DEATH:
CALLA BTYPE_CK
JRNZ WDEATHLAVA
MOVI DEATH_UP,A0 ;DEFAULT ON NORMAL DEATH
JRUC WDEATHLAN
WDEATHLAVA:
MOVI LAVADIEU,A0
JRUC WDEATHLAN
WDEATHLAN:
MOVIM DEADWHLOID,*A8(OID),W
JSRP FRANIMATE_DIR
JRUC WHL_DEATH_DONE
*
*ANIMATE PIT DEATH ANIMATION WITH CENTER POINT DRIFT
*A6 = PIT [Y,X] CENTER POINT
WHL_PIT_DEATH:
PUSHP A6
MOVIM DEADWHLOID,*A8(OID),W
MOVI PIT_DEATH_UP,A0
JSRP FRANIMATE_DIR ;ANIMATE THE FLAIL
CALLA GETCPNT ;GET THE WHEELS CENTER POINT
MOVE A1,A2
PULLP A3
MOVI 16*4,A4 ;AVERAGE SPIN DURATION
CALLA SLINEVEL ;VELOCITY TO THE CENTER
MOVE A1,*A8(OXVEL),L
MOVE A2,*A8(OYVEL),L
MOVK 1,A1
JSRP FRANIM ;NOW ANIMATE THE REST
CALLA PSTOP
JRUC WHL_DEATH_DONE
*
*WHEEL HIT THE BIG VOLCANO
WHL_VOLCANO:
MOVI STANDU,A0
JSRP ANIMATE_DIR ;STAND
SLEEP 5 ;PAUSE
CALLA NOTDIR
JSRP DINOLOOK_TURN ;ABOUTFACE
MOVE A11,A0
CALLA DINOLOAD ;LOAD THE ROLLING FRAME
MOVI 0802H,A1 ;ANIMATE A LITTLE WAY BEFORE RESUMING
JSRP DINO_FRANIM
JRUC WHLLP ;START TO ROLLIN'
WHL_DEATH_DONE:
MOVE *A13(DOID),A10,W ;RESTORE ITS I.D.
MOVI TROGS,A1
CALLA DELETE_OBJ_SUPP ;OFF THE LISTS
DECM @WHEEL_CNT,W ;-1 WHEEL
WHL_PROC_DIE:
DIE
**************************************************************************
* *
* INC_MOMENTUM - INCREASE THE WHEEL'S VELOCITY BECAUSE HE'S TRAPPED *
* A8 = WHEEL OBJ *
* A13 = WHEEL PROC *
* *
**************************************************************************
INC_MOMENTUM:
MMTM SP,A0,A1
MOVE *A13(DSPEED),A1,W
ZEXT A1
SLL 4,A1 ;GET THE BASE DINO SPEED
ADDI 4000H,A1 ;THIS IS THE MAX OVER WE CAN GO
MOVE *A13(DVEL),A0,L
CMP A1,A0 ;IS THE CURRENT VELOCITY MAXED
JRGE INC_MOMENTUM_X ;BR = YES, THEN DON'T INCREASE
MOVI 0100H,A0
CALLA DINO_ADD_VEL ;MOMENTUM MAN, MOMENTUM
INC_MOMENTUM_X:
MMFM SP,A0,A1
RETS
**************************************************************************
* *
* GET_WHL_CPNT - GET THE CENTER POINT OF THE INTIAL WHEEL FRAME, *
* WITH RESPECT TO ITS CURRENT ANIMATION POINT. *
* A8 = PTR TO WHEEL OBJECT *
* RETURNS: *
* A1 = [Y,X] CENTER POINT *
* *
**************************************************************************
GET_WHL_CPNT:
PUSH A4
MOVI WHLINIT,A4
CALLA GET_INIT_CPNT ;GET TROG'S INTIAL CENTER POINT
PULL A4
RETS
**************************************************************************
* *
* GET_WHL_MPNT - GET THE CLOSEST MOVE POINT TO THE WHEEL. *
* A8 = PTR TO THE WHEEL OBJECT *
* RETURNS: *
* A0 = CLOSEST MOVE POINT DATA *
* A1 = [Y,X] CENTER POINT OF WHEEL *
* A3 = [Y,X] MOVE POINT OF WHEEL *
* *
**************************************************************************
GET_WHL_MPNT
CALLR GET_WHL_CPNT ;THIS IS HIS NEW CENTER
ADDI [3,0],A1
JAUC FIND_CLOSE_MPNT ;FIND THE CLOSEST MOVE POINT
**************************************************************************
* *
* WHL_CENTER - ALIGN THE CENTER OF THE WHEEL ON THE CENTER *
* OF THE BOX IT IS IN, WITH ANIMATION. *
* A0 = PTR TO MOVE THAT IS IN THE CENTER OF THE BOX *
* A8 = PTR TO WHEEL *
* *
**************************************************************************
WHL_CENTER:
PUSH A1
MOVE *A0(MOVEPOS),A1,L
CALLR WHL_NEW_PNT
PULL A1
RETS
**************************************************************************
* *
* WHL_NEW_PNT - ALIGN THE CENTER OF THE WHEEL ON A NEW PNT. *
* A1 = [Y,X] PNT TO ALIGN THE WHEEL ON *
* A8 = PTR TO WHEEL *
* *
**************************************************************************
WHL_NEW_PNT:
MMTM SP,A0,A1,A7
SUBI [3,0],A1 ;MOVE HIM UP
MOVE A1,A7 ;STORE ALIGNMENT POINT
CALLR GET_WHL_CPNT
MOVE A7,A0
CALLA ALIGNOBJ
MOVE A8,A0
CALLA SET_ZPOS
MMFM SP,A0,A1,A7
RETS
**************************************************************************
* *
* CK_WHL_CENT - CHECK IF THE WHEEL'S CENTER PNT IS IN RANGE OF *
* THE CENT. OF ANOTHER OBJECT. *
* A0 = WHEEL OBJECT *
* A8 = THE OTHER OBJECT *
* RETURNS: *
* NC = NOT EVEN CLOSE *
* C = CLOSE *
* *
**************************************************************************
CK_WHL_CENT:
MMTM SP,A1,A2,A3,A8
CALLA GETCPNT ;GET CENTER POINT OF OTHER OBJECT
MOVE A1,A3
MOVE A0,A8
CALLR GET_WHL_CPNT
ADDI [5,0],A1 ;ADD A FUDGE FACTOR
MOVI [10,10],A2 ;FIX THE RANGE
CALLA PNT_IN_RANGE
MMFM SP,A1,A2,A3,A8
RETS
**************************************************************************
* *
* WHL_VEL_NORMAL - ADVANCE THE CURRENT WHEEL SPEED TOWARD *
* THE VALUE IN DSPEED. *
* A13 = PTR TO WHEEL DATA STRUCTURE. *
* A8 = PTR TO WHEEL *
* *A13(DVNFLAG),B = IF<>0 THEN DO NOTHING *
* *
**************************************************************************
WHL_VEL_NORMAL:
MMTM SP,A0,A1,A2
MOVB *A13(DVNFLAG),A1 ;ARE WE ALLOWED TO DO THIS
JRNE WHL_VNX ;BR = NO
MOVE *A13(DSPEED),A1,W
ZEXT A1
SLL 4,A1 ;GET THE BASE TROG SPEED
MOVE *A13(DVEL),A0,L
SUB A0,A1
JRZ WHL_VNX ;BR = THEY ARE EQUAL, NO CHANGE NECES.
JRN WHL_VNN ;BR = MUST ADD NEGATIVE
MOVI 100H,A0
JRUC WHL_VN
WHL_VNN:
MOVI -100H,A0
WHL_VN:
CALLA DINO_ADD_VEL
WHL_VNX:
MMFM SP,A0,A1,A2
RETS
**************************************************************************
* *
* WHLDINO - WHEEL HIT A DINOSAUR *
* A0 = PTR TO WHL *
* A8 = PTR TO DINOSAUR *
* *
**************************************************************************
WHLDINO:
PUSH A1
CALLA IS_DINO_DEAD_A8
JRZ WHLDINO_X
CALLA TROG_BUMP ;BASHES A1
JRZ WHLDINO_DINO ;BR = WHEEL DID NOT ROLL ON DINO
MOVE *A0(OID),A1,W
CMPI DEADWHLOID,A1 ;IS THE WHEEL "DEAD"
JREQ WHLDINO_X ;BR = YES, DO NOTHING
MOVE @FREEZE_TIME,A1,W
JRNZ WHLDINO_X
MMTM SP,A0,A4,A5,A6,A7,A8,A9,A10,A11,A14
MOVE *A0(OPLINK),A4,L ;GET THE WHEEL CONTROL PROCESS
JRZ WHLDINO_BAIL ;BR = NO CONTROLLING PROCESS, BAIL
MOVE *A8(OPLINK),A5,L ;GET THE DINOS CONTROL PROCESS
JRZ WHLDINO_BAIL ;BR = NO CONTROL
MOVB *A5(DDIZZYFLG),A1 ;IS THIS DINOSAUR DIZZY?
JRNE WHLDINO_AVOID ;BR = YES
MOVB *A5(DINVIN),A1 ;IS THIS DINO INVINCIBLE?
JRNZ WHLDINO_AVOID ;BR = YES
CALLA CK_WHL_CENT
**** JRNC WHLDINO_BAIL ;BR = IT'S NOT CRUSHING
JRNC WHLDINO_NO_REX ;BR = IT'S NOT CRUSHING
*
*ROLL OVER THE DINO HERE
*
MOVE A0,A6 ;STORE THE WHEEL OBJECT HERE
MOVE A5,A0 ;LET'S XFER TO THE SQUASH PROCESS
CALLA PSTOP ;FIRST WE MUST STOP
MOVE A6,A9 ;PASS THE WHEEL OBJECT
MOVE A4,A10 ;PASS THE WHEEL PROCESS TO THE SQUASH
CALLA MARK_DINO_DEAD ;DINO IS NOW DEAD
ORIM M_NOCOLL,*A8(OFLAGS),W ;MAKE SURE DINO COLLISIONS ARE OFF
MOVI DINO_SQUASH,A7
JRUC WHLDINO_XFER ;AND FINISH
*
*CHECK TO SEE IF THE DINO HIT THE WHEEL
*
WHLDINO_DINO:
MMTM SP,A0,A4,A5,A6,A7,A8,A9,A10,A11,A14
MOVE *A0(OPLINK),A4,L ;GET THE WHEEL'S CONTROL PROCESS
JRZ WHLDINO_BAIL ;BR = NO CONTROLLING PROCESS, BAIL
MOVE *A8(OPLINK),A5,L ;GET THE DINOS CONTROL PROCESS
JRZ WHLDINO_BAIL ;BR = NO CONTROL
MOVB *A5(DTREXFLG),A1 ;IS THIS DUDE IN REX MODE?
JREQ WHLDINO_NO_REX ;BR = NO
SWAP A0,A8
CALLA BUMP ;DID THE DINO BUMP THE WHEEL
JRZ WHLDINO_BAIL ;BR = NO, THEN BAIL DUDE
SWAP A0,A8
MOVB *A5(DPUNCHFLG),A1
JRNZ WHLDINO_BAIL ;TY IS ALREADY MUNCHING
*INITIATE THE FEAST (IT IS LIKE I HAVE ALWAYS SAID, "EAT OR BE EATEN.")
MOVE A0,A6
MOVE A5,A0 ;LET'S XFER TO THE DINO MUNCHER
CALLA PSTOP ;FIRST WE MUST STOP
MOVK 1,A1
MOVB A1,*A0(DPUNCHFLG) ;YES, HE IS MUNCHING
CLR A1
MOVB A1,*A0(DDIZZYFLG) ;NO, HE IS NOT GETTING PUNCHED
MOVE A1,*A0(PCOMM),W ;CLEAR THE COMMUNICATION LINE
MOVI DINO_MUNCH,A7
MOVE A4,A9 ;PASS THE WHEEL PROCESS
MOVE A6,A11 ;SEND THE WHEEL OBJECT
CALLA XFERPROC_ID ;WAKE UP IN A DAZE
MOVE A6,A8 ;TRANSFER TO WHEEL DISAPPEAR
CALLA PSTOP ;STOP FIRST
MOVE A4,A0 ;GET THE PROCESS LINK
MOVI DEADWHLOID,A1 ;IT'S FREAKIN' DEAD
MOVE A1,*A8(OID),W
ORIM M_NOCOLL,*A8(OFLAGS),W ;MAKE SURE COLLISIONS ARE OFF
MOVI WHEEL_EATEN,A7
MOVE A5,A9 ;PASS THE PTR TO THE DINOSAUR PROCESS
JRUC WHLDINO_XFER
*TRY TO ROLL OVER DINO HERE
WHLDINO_NO_REX
SWAP A0,A8
MOVE A5,A1
MOVI GET_DINO_MPNT,A6
MOVI GET_WHL_MPNT,A7
CALLA DINO_PUNCHED
JRNZ WHLDINO_BAIL
*
*THE DINO HAS SUCCESSFULLY LANDED ONE ON THE WHEEL
*
WD_PUNCH
SWAP A0,A8
MOVE A0,A1
SOUND1 TROGSMACK2_SND
MOVE A1,A0
MOVB *A4(THITS),A1
CMPI WHL_KO_HITS,A1
JRHS WD_FLYIN
INC A1
MOVB A1,*A4(THITS)
MOVE @FREEZE_TIME,A1,W
JRZ WHLDINO_AVOID
*SEND WHEEL A FLYIN' WHEN FROZEN
WD_FLYIN
MOVE A0,A8 ;SEND WHEEL
CALLA PSTOP
ORIM M_NOCOLL,*A8(OFLAGS),W
MOVE A5,A9 ;SEND DINO PROCESS
MOVE A4,A0
MOVI WHL_OOF,A7
JRUC WHLDINO_XFER
*
*MAKE THE WHEEL AVOID MOVING AHEAD
*A0 = PTR TO WHEEL
*A4 = PTR TO WHEEL PROCESS
WHLDINO_AVOID:
MOVE A0,A8 ;PASS WHEEL
CALLA PSTOP ;AND STOP IT
MOVE A4,A0 ;GET THE PROCESS LINK
MOVI WHL_AVOID,A7
JRUC WHLDINO_XFER
WHLDINO_XFER:
CALLA XFERPROC_ID ;TRANSFER CONTROL OF THE PROCESS
WHLDINO_BAIL: ;BAIL-OUT POINT FOR ERRORS
MMFM SP,A0,A4,A5,A6,A7,A8,A9,A10,A11,A14
WHLDINO_X:
PULL A1
JAUC DUMCRETS
**************************************************************************
* *
* WHEEL_EATEN - PROCESS TO MAKE THE WHEEL GET EATEN. *
* A8 = PTR TO WHEEL *
* A13 = PTR TO WHEEL PROC. *
* *
**************************************************************************
WHEEL_EATEN
SLEEP 30
JRUC WHL_DEATH_DONE
**************************************************************************
* *
* WHL_OOF - PROCESS TO SEND THE WHEEL FLYING OFF THE SCREEN *
* A8 = PTR TO WHEEL *
* A9 = PTR TO PROCESS OF DINOSAUR SENDING THIS WHEEL *
* A13 = PTR WHEEL PROCESS *
* *
**************************************************************************
WHL_OOF:
MOVE *A9(DPLAYER),A2,L
MOVI 500H,A1
CALLA SCORE
MOVE A9,*A13(PTEMP1),L
MOVI ABOUTUL,A0
CALLA LOAD_DIR
CALLA SKIP_ANIMATION
MOVI [10H,3],A11
CREATE INDPID,ANIMATOR
MOVE A0,*A13(PTEMP2),L
MOVE A2,A11
MOVE *A13(PTEMP1),A9,L
MOVE *A9(DDIR),A0,W
MOVI [8,0],A1
CALLA DIR_VELOCITY
MOVIM PIZPOS,*A8(OZPOS),W
WOH_WAIT
MOVE A11,A2
MOVK 5,A1
CALLA SCORE
SLEEP 5
CALLA SCRTST
JREQ WOH_WAIT
MOVE *A13(PTEMP2),A0,L
JRZ WHL_DEATH_DONE
CALLA KILL
JRUC WHL_DEATH_DONE
**************************************************************************
* *
* WHEEL_STOP - STOP THE WHEEL FOR A SEC. THEN LET IT GO. *
* A8 = PTR TO WHEEL *
* A13 = PTR TO WHEEL PROCESS *
* *
**************************************************************************
WHEEL_STOP
CALLA PSTOP
SLEEP 10
JRUC WHLXFER
**************************************************************************
* *
* TREX_CLOSE_WHL - DETERMINE IF TREX AND WHEEL ARE ON THE SAME SPOT. *
* A0 = PTR TO WHEEL *
* A8 = PTR TO DINO *
* RETURNS: *
* Z = THEY ARE CLOSE TO THE SAME SPOT *
* NZ = NOT IN THE SAME VICINITY *
* *
**************************************************************************
TREX_CLOSE_WHL:
MMTM SP,A0,A1,A2,A3
MOVE A8,A2
MOVE A0,A8
CALLR GET_WHL_MPNT
MOVE A2,A8
MOVE A3,A2
CALLA GET_DINO_MPNT
CMP A2,A3
MMFM SP,A0,A1,A2,A3
RETS
**************************************************************************
* *
* WHLWHL - WHEEL HIT A WHEEL *
* A0 = PTR TO WHEEL *
* A8 = PTR TO OTHER WHEEL *
* *
**************************************************************************
WHLWHL:
PUSH A1
CALLA TROG_BUMP ;BASHES A1
JRZ WHLWHL_X ;BR = WHEEL DID NOT ROLL INTO OTHER
MMTM SP,A0,A4,A5,A6,A7,A8,A9,A10,A11,A14
MOVE *A0(OPLINK),A4,L ;GET THE WHEEL CONTROL PROCESS
JRZ WHLWHL_BAIL ;BR = NO CONTROLLING PROCESS, BAIL
MOVE *A8(OPLINK),A5,L ;GET THE DINOS CONTROL PROCESS
JRZ WHLWHL_BAIL ;BR = NO CONTROL
CALLA BONE_BETWEEN ;IS THERE SOMETHING BETWEEN THEM?
JRNZ WHLWHL_BAIL ;BR = YES
MOVE A0,A8 ;PASS WHEEL
CALLA PSTOP ;AND STOP IT
MOVE A4,A0 ;GET THE PROCESS LINK
**** MOVI INDPID,A1
MOVI WHL_AVOID,A7
CALLA XFERPROC_ID ;TRANSFER CONTROL OF THE PROCESS
WHLWHL_BAIL: ;BAIL-OUT POINT FOR ERRORS
MMFM SP,A0,A4,A5,A6,A7,A8,A9,A10,A11,A14
WHLWHL_X:
PULL A1
JAUC DUMCRETS
**************************************************************************
* *
* WHLTROG - WHEEL COLLIDES WITH TROG *
* A0 = PTR TO WHL *
* A8 = PTR TO TROG *
* *
**************************************************************************
WHLTROG:
PUSH A1
CALLA TROG_BUMP ;BASHES A1
JRZ WHLTROG_X ;BR = WHEEL DID NOT ROLL ON TROG
MMTM SP,A0,A4,A5,A6,A7,A8,A9,A10,A11,A14
MOVE *A0(OPLINK),A4,L ;GET THE WHEEL CONTROL PROCESS
JRZ WHLTROG_BAIL ;BR = NO CONTROLLING PROCESS, BAIL
MOVE *A8(OPLINK),A5,L ;GET THE TROGS CONTROL PROCESS
JRZ WHLTROG_BAIL ;BR = NO CONTROL
MOVE *A0(OID),A1,W
CMPI DEADWHLOID,A1 ;IS THE WHEEL "DEAD"
JREQ WHLTROG_BAIL ;BR = YES, REVERSE
MOVB *A5(DDIZZYFLG),A1 ;IS TROG DIZZY?
JRNE WHLTROG_AVOID ;BR = YES
MOVB *A5(TTYPE),A1
CMPI TTYPE_SPRING,A1
JREQ WHLTROG_AVOID
CALLA CK_WHL_CENT
JRNC WHLTROG_BAIL ;BR = IT'S NOT CRUSHING
*
*ROLL OVER TROG HERE
*
MOVE A0,A6 ;STORE THE WHEEL OBJECT HERE
MOVE A5,A0 ;LET'S XFER TO THE SQUASH PROCESS
CALLA PSTOP ;FIRST WE MUST STOP
MOVE A6,A9 ;PASS THE WHEEL OBJECT
MOVE A4,A10 ;PASS THE WHEEL PROCESS TO THE SQUASH
MOVI DEADTROGOID,A1 ;MAKE TROG A DEAD MAN
MOVE A1,*A8(OID),W
ORIM M_NOCOLL,*A8(OFLAGS),W ;TURN OFF THE COLLISION FOR TROG
CALLA GETA11
MOVI TROG_SQUASH,A7
CALLA XFERPROC_ID ;TRANSFER CONTROL OF THE PROCESS
SETZ ;END THE SCAN TO RESET
MMFM SP,A0,A4,A5,A6,A7,A8,A9,A10,A11,A14
PULL A1
RETS
*
*MAKE THE WHEEL AVOID MOVING AHEAD
*A0 = PTR TO WHEEL
*A4 = PTR TO WHEEL PROCESS
WHLTROG_AVOID:
MOVE A0,A8 ;PASS WHEEL
CALLA PSTOP ;AND STOP IT
MOVE A4,A0 ;GET THE PROCESS LINK
**** MOVI INDPID,A1
MOVI WHL_AVOID,A7
CALLA XFERPROC_ID ;TRANSFER CONTROL OF THE PROCESS
WHLTROG_BAIL: ;BAIL-OUT POINT FOR ERRORS
MMFM SP,A0,A4,A5,A6,A7,A8,A9,A10,A11,A14
WHLTROG_X:
PULL A1
JAUC DUMCRETS
**************************************************************************
* *
* WHLTAR - WHEEL ROLLED INTO A TAR PIT *
* A0 = PTR TO WHL *
* A8 = PTR TO TAR PIT *
* *
**************************************************************************
WHLTAR:
PUSH A1
MOVE *A0(OID),A1,W
CMPI DEADWHLOID,A1 ;IS HE DYING?
JREQ WHLTARX ;BR = HE'S ALREADY DEAD, NO MORE
CALLR CK_WHL_CENT
JRNC WHLTARX ;BR = HE'S NOT STUCK
MOVE *A0(OPLINK),A1,L
JRZ WHLTARX ;BR = NO CONTROLLING PROCESS
MMTM SP,A0,A7,A8,A9
MOVE A8,A9 ;PASS TAR OBJECT FOR YUKS
MOVE A0,A8 ;PASS THE WHEEL
MOVE A1,A0 ;FOR XFERPROC
**** MOVI INDPID,A1
MOVI WHLTAR_SINK,A7
CALLA XFERPROC_ID ;TRANSFER CONTROL OF THE PROCESS
MOVI DEADWHLOID,A1 ;MARK HIM AS DEAD, RIGHT THIS INSTANT
MOVE A1,*A8(OID),W
MMFM SP,A0,A7,A8,A9
WHLTARX:
PULL A1
MOVE A0,A0 ;WITH Z BIT SET TO CONTINUE COLLISION
RETS
**************************************************************************
* *
* WHLFIRE - ROLLED OVER A FIRE *
* A0 = PTR TO WHL *
* A8 = PTR TO FIRE *
* *
**************************************************************************
WHLFIRE:
PUSH A1
CALLA CK_WHL_CENT
JRNC WHLFIREX ;BR = IT'S SAFE
MOVE *A0(OPLINK),A1,L
JRZ WHLFIREX ;BR = NO CONTROLLING PROCESS
MMTM SP,A0,A7,A8,A9
MOVE A8,A9 ;PASS FIRE OBJECT
MOVE A0,A8 ;PASS THE WHEEL
CREATE INDPID,WHLFIRE_EXT
MMFM SP,A0,A7,A8,A9
WHLFIREX:
PULL A1
MOVE A0,A0 ;WITH Z BIT SET TO CONTINUE COLLISION
RETS
**************************************************************************
* *
* WHLPIT - WHEEL ROLLED INTO A LOCAL PIT. *
* A0 = PTR TO WHEEL *
* A8 = PTR TO PIT *
* *
**************************************************************************
WHLPIT:
PUSH A1
MOVE *A8(OID),A1,W
CMPI TROGPITOID,A1
JREQ WHLPITX
MOVE *A0(OID),A1,W
CMPI DEADWHLOID,A1 ;IS HE DYING?
JREQ WHLPITX ;BR = HE'S ALREADY DEAD, NO MORE
CALLR CK_WHL_CENT ;CHECK IF WE'RE NEAR THE PIT CENTER
JRNC WHLPITX ;BR = IT'S SAFE
MOVE *A0(OPLINK),A1,L
JRZ WHLPITX ;BR = NO CONTROLLING PROCESS
MMTM SP,A0,A7,A8,A9
MOVE A8,A9 ;PASS PIT OBJECT
MOVE A0,A8 ;PASS THE WHEEL
MOVE A1,A0 ;FOR XFERPROC
**** MOVI INDPID,A1
MOVI WHLPIT_FALL,A7
CALLA XFERPROC_ID ;TRANSFER CONTROL OF THE PROCESS
MOVI DEADWHLOID,A1 ;MARK HIM AS DEAD, RIGHT THIS INSTANT
MOVE A1,*A8(OID),W
MMFM SP,A0,A7,A8,A9
WHLPITX:
PULL A1
MOVE A0,A0 ;WITH Z BIT SET TO CONTINUE COLLISION
RETS
**************************************************************************
* *
* WHL_AVOID - MAKE THE WHEEL AVOID MOVING FORWARD, THAT MEANS TURNING *
* IF IT CAN, OR ABOUT FACING. *
* A8 = PTR TO WHEEL *
* A13 = PTR TO WHEEL PROCESS *
* NOTE: ULTIMATELY TRANSFERS TO WHLXFER *
* *
**************************************************************************
WHL_AVOID:
MOVE *A13(DDIR),A11,W
CALLR GET_WHL_MPNT
MOVE *A0(MOVECPTR),A4,L
JRN WHL_AVOID_REVERSE
CALLR WHL_CENTER ;CENTER UP THAT WHEEL
CMPI UP,A11
JREQ WHL_AVOID_UD
CMPI DOWN,A11
JREQ WHL_AVOID_UD
MOVI UP,A5
MOVI DOWN,A6
JRUC WHL_AVOID_CHOOSE
WHL_AVOID_UD:
MOVI LEFT,A5
MOVI RIGHT,A6
WHL_AVOID_CHOOSE:
CALLA RANDOM
SRL A6,A0
JRC WHL_AVOID_A6
MOVE A5,A11
JRUC WHL_AVOID_TURN
WHL_AVOID_A6:
MOVE A6,A11
WHL_AVOID_TURN:
MOVI 250,A0
CALLA RANDPER
JRNC WA_SKIP_SND
SOUND1 TIRESCREECH_SND
WA_SKIP_SND
MOVE *A13(DATABLE),A10,L
JSRP DINOTURN
JRUC WHLXFER
WHL_AVOID_REVERSE:
CALLA NOTDIR
JRUC WHL_AVOID_TURN
**************************************************************************
* *
* WHLTAR_SINK - PROCESS TO MAKE THE WHEEL SINK INTO THE TAR. *
* A8 = PTR TO WHEEL OBJECT *
* A9 = PTR TO TAR OBJECT *
* A13 = PTR TO WHEEL PROCESS *
* NOTE: THIS PROCESS ULTIMATELY TRANSFERS TO WHL_DEATH_DONE *
* *
**************************************************************************
WHLTAR_SINK:
MOVE A9,A0
MOVE A9,A4 ;STORE HERE DURING LOAD
MOVI ENEMIES,A1
CALLA ISSUPP
JRZ TARNSUPP ;BR = TAR NOT ON SUPP LIST
CALLA DELSUPP ;TAKE IT OFF FOR COLLISIONS
JRUC TARNPUSH
TARNSUPP:
CLR A9
TARNPUSH:
PUSHP A9
MOVE A8,A5
MOVE A4,A8
MOVE *A8(OPLINK),A0,L
JRZ TAR_POS
CALLA GETA9
MOVK 1,A11
MOVI INDPID,A1
MOVI ANIMATOR,A7
CALLA XFERPROC ;TRANSFER TO A LESSER GOD
TAR_POS:
MOVE *A13(DDIR),A0,W
CMPI UP,A0
JREQ TAR_FROM_DOWN
PUSHP A8
MOVE A5,A8
MOVE *A13(DATABLE),A10,L
CALLA DINOLOAD
MOVI [0,0402H],A1
JSRP DINO_FRANIM
MOVE A8,A5
PULLP A8
TAR_FROM_DOWN:
CALLA GETANIXY ;LET'S GET A RETURN POINT
MOVE A5,A8
SRL 16,A3
MOVY A2,A3
MOVE A3,*A13(DINITPOS),L
CALLA FINDMOVE
JRNC WHLTAR_SKC ;BR = SKIP THE CENTERING, NOT A MOVE
MOVE A1,A0
MOVE *A0(MOVEPOS),A1,L
CALLR WHL_NEW_PNT
WHLTAR_SKC:
MOVI TARU,A0
CALLA LOAD_DIR
WHLTAR_ANIM
MOVK 4,A1
JSRP FRANIM
JRC WHLTAR_STICK_DONE
MOVK 2,A2
SLL 16,A2 ;CLIP OFF THE BOTTOM
CLR A3
CALLA CLIPOBJ
SLOOPR A0,WHLTAR_ANIM ;SLEEP THE FRAME
WHLTAR_STICK_DONE:
SOUND1 TARBUBBLE_SND ;BUBBLE THE TAR
MOVI 04000H,A2
JSRP CLIP_INTO
MOVE A8,A5
PULLP A8 ;GET TAR POINTER
MOVE A8,A8 ;IS THERE SOMETHING THERE?
JRZ SINK_NOTAR ;BR = ALREADY TAKEN CARE OF
PUSHP A5
CALLA OBJPROC_KILL ;KILL THE TAR CONTROL
MOVI TAROUT,A9
MOVK 1,A1
JSRP FRANIM ;FADE THE TAR FROM EXISTANCE
PULLP A5
CALLA FREE_MOVE_EGG
CALLA DELETE_OBJ
SINK_NOTAR:
MOVE A5,A8
JRUC WHL_DEATH_DONE
**************************************************************************
* *
* WHLFIRE_EXT - PROCESS TO MAKE THE WHEEL EXTINGUISH A FIRE *
* A8 = PTR TO WHEEL OBJECT *
* A9 = PTR TO FIRE OBJECT *
* *
**************************************************************************
WHLFIRE_EXT:
MOVE A9,A0
MOVE A9,A4 ;STORE HERE DURING LOAD
MOVI ENEMIES,A1
CALLA ISSUPP
JRZ WHLFIRE_X ;BR = FIRE NOT ON THEN LEAVE IT ALONE
CALLA DELSUPP ;TAKE IT OFF FOR COLLISIONS
MOVE A9,A8
CALLA OBJPROC_KILL ;KILL HIS CONTROL
MOVE A13,*A8(OPLINK),L ;YOU BELONG TO ME NOW!
MOVI FIRE_DOWN,A9
MOVK 1,A1
JSRP FRANIM ;YOU'RE NOTHING BUT A BURN OUT.
CALLA FREE_MOVE_EGG
CALLA DELETE_OBJ
WHLFIRE_X:
DIE
**************************************************************************
* *
* WHLPIT_FALL - PROCESS TO MAKE THE WHEEL FALL DOWN A SMALL PIT *
* A8 = PTR TO WHEEL OBJECT *
* A9 = PTR TO PIT OBJECT *
* A13 = PTR TO WHEEL PROCESS *
* NOTE: THIS PROCESS ULTIMATELY TRANSFERS TO WHL_DEATH_DONE. *
* *
**************************************************************************
WHLPIT_FALL:
MOVE *A9(OID),A0,W
CMPI TUNNELOID,A0
JREQ WHLTUNNEL_FALL
PUSHP A9
MOVE A8,A5
MOVE A9,A8
CALLA OBJPROC_KILL ;KILL THE CONTROL
CALLA GETANIXY ;LET'S GET A RETURN POINT
SRL 16,A3
MOVY A2,A3
MOVE A3,*A13(DINITPOS),L
MOVE A5,A8
CALLA GETCPNT ;GET THE CENTER POINT OF THE WHEEL
MOVE A1,A2
MOVI 38H,A4
CALLA SLINEVEL
MMTM A12,A1,A2
CALLA PSTOP
MOVI OGPITU,A0
JSRP ANIMATE_DIR
MMFM A12,A1,A2
MOVE A1,*A8(OXVEL),L
MOVE A2,*A8(OYVEL),L
MOVK 1,A1
JSRP FRANIM ;ANIMATE THE REST OF THE FALL
CALLA PSTOP
CALLA OBJ_OFF ;TURN WHEEL OFF
MOVE A8,A5
PULLP A8 ;GET PIT POINTER
MOVE A8,A0
MOVI ENEMIES,A1
CALLA ISSUPP
JRZ FALL_NOPIT ;BR = PIT IS GONE, DON'T WORRY HERE
CALLA DELSUPP ;TAKE IT OFF FOR COLLISIONS
PITNSUPP:
CALLA FREE_MOVE_EGG
PUSHP A5
MOVI PIT_CLOSE,A9
MOVK 1,A1
JSRP FRANIM
PULLP A5
CALLA DELETE_OBJ
FALL_NOPIT:
MOVE A5,A8
SLEEP 1
JRUC WHL_DEATH_DONE
*
*SIMPLE WHEEL FALL W/NO PIT CLOSE
*A8 = WHEEL
*A9 = PIT
*A13 = WHEEL PROCESS
WHLTUNNEL_FALL:
MOVE A8,A5
MOVE A9,A8
CALLA GETANIXY ;LET'S GET A RETURN POINT
SRL 16,A3
MOVY A2,A3
MOVE A3,*A13(DINITPOS),L
MOVE A5,A8
CALLA GETCPNT ;GET THE CENTER POINT OF THE WHEEL
MOVE A1,A2
MOVI 38H,A4
CALLA SLINEVEL
MMTM A12,A1,A2
CALLA PSTOP
MOVI OGPITU,A0
JSRP ANIMATE_DIR
MMFM A12,A1,A2
MOVE A1,*A8(OXVEL),L
MOVE A2,*A8(OYVEL),L
MOVK 1,A1
JSRP FRANIM ;ANIMATE THE REST OF THE FALL
CALLA PSTOP
CALLA OBJ_OFF ;TURN THE WHEEL OFF
SLEEP 1
JRUC WHL_DEATH_DONE
.DATA
**************************************************************************
* *
* WHEEL COLLISIONS *
* *
**************************************************************************
WHLCOLL:
.WORD DINOOID,0FFF0H
.LONG WHLDINO
.WORD WHEELOID,0FFF0H
.LONG WHLWHL
.WORD TROGOID,0FFF0H
.LONG WHLTROG
.WORD TAROID,0FFF0H
.LONG WHLTAR
.WORD FIREOID,0FFF0H
.LONG WHLFIRE
.WORD PITOID,0FFF0H
.LONG WHLPIT
.WORD 0
.LONG DUMCRETS ;DO NOTHING
**************************************************************************
* *
* WHEEL ANIMATION DATA *
* *
**************************************************************************
WHLINIT
.LONG 0,0
.WORD 0,0
.LONG WHEEL01,[5,5],WHLCOLL
.WORD DMAWNZ|M_PIXSCAN,WHEELOID
WHLATAB:
*ROLLING SEQUENCES
.LONG WHLUP,0,-8000H,WHLDN,0,8000H
.LONG WHLLF,-8000H,0,WHLRT,8000H,0
*TURNING SEQUENCES
.LONG WHLUL,0,0,WHLRU,0,0,WHLDR,0,0,WHLLD,0,0
.LONG WHLLU,0,0,WHLDR,0,0,WHLRD,0,0,WHLUR,0,0
*NORMAL DEATH
.LONG WHLDIE_U,0,0,WHLDIE_D,0,0
.LONG WHLDIE_L,0,0,WHLDIE_R,0,0
*ABOUT FACE SEQUENCES
.LONG WHLABOUT_UL,0,0,WHLABOUT_UR,0,0
.LONG WHLABOUT_DL,0,0,WHLABOUT_DR,0,0
.LONG WHLABOUT_LU,0,0,WHLABOUT_LD,0,0
.LONG WHLABOUT_RU,0,0,WHLABOUT_RD,0,0
*STANDING IN PLACE SEQUENCES
.LONG WHLSTAND_UD,0,0,WHLSTAND_UD,0,0
.LONG WHLSTAND_LR,0,0,WHLSTAND_LR,0,0
*CHEER SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*MAD SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*MAD W/SOUND
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*QUESTION SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*BUMP SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*PUNCH SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*OOF SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*PIT DEATH SEQUENCES
.LONG WHLPIT_U,0,0,WHLPIT_D,0,0
.LONG WHLPIT_L,0,0,WHLPIT_R,0,0
*TROG INTRO
.LONG DUMSCRIPT,0,0
*WONDERMENT SEQUENCES
.LONG DUMSCRIPT,0,0
*TAR DEATH SEQUENCES
.LONG WHLTAR_U,0,0,WHLTAR_D,0,0
.LONG WHLTAR_L,0,0,WHLTAR_R,0,0
*FIRE DEATH SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*HEAD SHAKE SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*TURN INTO A SKELETON SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*KNOCK SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*LITTLE PIT DEATH SEQUENCES
.LONG WHLOGPIT_U,0,0,WHLOGPIT_D,0,0
.LONG WHLOGPIT_L,0,0,WHLOGPIT_R,0,0
*CLUB OUT SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*SQUISH SEQUENCES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*SQUASHED BY THE SPRING SHOE
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*LOOK BOTH WAYS BEFORE CROSSING
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*EATING FRAMES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*DIGGING INTO GROUND FRAMES
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*DEATH BY FALLING INTO THE LAVA
.LONG WHLLAVA_U,0,0,WHLLAVA_D,0,0
.LONG WHLLAVA_L,0,0,WHLLAVA_R,0,0
*TROG FALLS INTO WATER AFTER BEING PUNCHED FROM BEHIND
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*HIT GROUND WITH CLUB
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*HIT GROUND TO CREATE A HOLE
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*START A FIRE WITH THE CLUB
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
.LONG DUMSCRIPT,0,0,DUMSCRIPT,0,0
*ROLL A WHEEL
.LONG WHLLIFT_U,0,0,WHLLIFT_D,0,0
.LONG WHLLIFT_L,0,0,WHLLIFT_R,0,0
**************************************************************************
* *
* SPINNIN' WHEEL GOT TO GO 'ROUND *
* *
**************************************************************************
WHLUP:
.LONG WHEEL010
.WORD 5
.LONG WHEEL09
.WORD 5|MAKESOUND
.LONG WHEELROLL_SND
.LONG WHEEL08
.WORD 5
.LONG WHEEL07
.WORD 5
.LONG WHEEL06
.WORD 5
.LONG WHEEL05
.WORD 5
.LONG WHEEL04
.WORD 5
.LONG WHEEL03
.WORD 5
.LONG WHEEL02
.WORD 5
.LONG WHEEL01
.WORD 5|SCRIPT
.LONG WHLUP
WHLDN:
.LONG WHEEL01
.WORD 5
.LONG WHEEL02
.WORD 5|MAKESOUND
.LONG WHEELROLL_SND
.LONG WHEEL03
.WORD 5
.LONG WHEEL04
.WORD 5
.LONG WHEEL05
.WORD 5
.LONG WHEEL06
.WORD 5
.LONG WHEEL07
.WORD 5
.LONG WHEEL08
.WORD 5
.LONG WHEEL09
.WORD 5
.LONG WHEEL010
.WORD 5|SCRIPT
.LONG WHLDN
WHLLF:
.LONG WHEEL410
.WORD 5
.LONG WHEEL49
.WORD 5|MAKESOUND
.LONG WHEELROLL_SND
.LONG WHEEL48
.WORD 5
.LONG WHEEL47
.WORD 5
.LONG WHEEL46
.WORD 5
.LONG WHEEL45
.WORD 5
.LONG WHEEL44
.WORD 5
.LONG WHEEL43
.WORD 5
.LONG WHEEL42
.WORD 5
.LONG WHEEL41
.WORD 5|SCRIPT
.LONG WHLLF
WHLRT:
.LONG WHEEL41
.WORD 5
.LONG WHEEL42
.WORD 5|MAKESOUND
.LONG WHEELROLL_SND
.LONG WHEEL43
.WORD 5
.LONG WHEEL44
.WORD 5
.LONG WHEEL45
.WORD 5
.LONG WHEEL46
.WORD 5
.LONG WHEEL47
.WORD 5
.LONG WHEEL48
.WORD 5
.LONG WHEEL49
.WORD 5
.LONG WHEEL410
.WORD 5|SCRIPT
.LONG WHLRT
**************************************************************************
* *
* TURNING SEQUENCES *
* *
**************************************************************************
*
*TURN UP FROM RIGHT
WHLUR
WHLDL
.LONG WHEEL5
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL7
.WORD 8
.LONG WHEEL6
.WORD 4
.LONG WHEEL5
.WORD 4
.LONG 0 ;HEAD TURN SPLIT
.LONG WHEEL41
.WORD 5
.LONG WHEEL5
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL7
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG 0
*
*TURN UP FROM LEFT
WHLUL
WHLDR
.LONG WHEEL3
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL1
.WORD 8
.LONG WHEEL2
.WORD 4
.LONG WHEEL3
.WORD 4
.LONG 0 ;HEAD TURN SPLIT
.LONG WHEEL41
.WORD 5
.LONG WHEEL3
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL1
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG 0
*
*TURN RIGHT FROM UP
WHLRU
WHLLD
.LONG WHEEL7
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL5
.WORD 8
.LONG WHEEL2
.WORD 4
.LONG WHEEL7
.WORD 4
.LONG 0 ;HEAD TURN SPLIT
.LONG WHEEL8
.WORD 5
.LONG WHEEL7
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL5
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG 0
*
*TURN LEFT FROM UP
WHLLU
WHLRD
.LONG WHEEL1
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL3
.WORD 8
.LONG WHEEL2
.WORD 4
.LONG WHEEL1
.WORD 4
.LONG 0 ;HEAD TURN SPLIT
.LONG WHEEL01
.WORD 5
.LONG WHEEL1
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL3
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG 0
**************************************************************************
* *
* ABOUT FACE SEQUENCES *
* *
**************************************************************************
WHLABOUT_UL:
WHLABOUT_DR:
.LONG WHEEL1
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL3
.WORD 8
.LONG WHEEL2
.WORD 4
.LONG WHEEL1
.WORD 4
.LONG 0 ;HEAD TURN SPLIT
.LONG WHEEL8
.WORD 4
.LONG WHEEL1
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL3
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG WHEEL5
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL7
.WORD 4
.LONG WHEEL01
.WORD 4
.LONG 0
WHLABOUT_UR:
WHLABOUT_DL:
.LONG WHEEL7
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL5
.WORD 8
.LONG WHEEL2
.WORD 4
.LONG WHEEL7
.WORD 4
.LONG 0 ;HEAD TURN SPLIT
.LONG WHEEL8
.WORD 4
.LONG WHEEL7
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL5
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG WHEEL3
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL01
.WORD 4
.LONG 0
WHLABOUT_LU:
WHLABOUT_RD:
.LONG WHEEL3
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL1
.WORD 8
.LONG WHEEL2
.WORD 4
.LONG WHEEL3
.WORD 4
.LONG 0 ;HEAD TURN SPLIT
.LONG WHEEL41
.WORD 4
.LONG WHEEL3
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL1
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG WHEEL7
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL5
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG 0
WHLABOUT_LD:
WHLABOUT_RU:
.LONG WHEEL5
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL7
.WORD 8
.LONG WHEEL6
.WORD 4
.LONG WHEEL5
.WORD 4
.LONG 0 ;HEAD TURN SPLIT
.LONG WHEEL41
.WORD 5
.LONG WHEEL5
.WORD 4
.LONG WHEEL6
.WORD 4
.LONG WHEEL7
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG WHEEL1
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL3
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG 0
**************************************************************************
* *
* WHEEL OFF ISLAND SEQUENCES *
* *
**************************************************************************
WHLDIE_U:
.LONG WHEEL010
.WORD 2|DELTAY,-4
.LONG WHEEL09
.WORD 2|DELTAY,-2
.LONG WHEEL08
.WORD 2|DELTAY,-1
.LONG WHEEL07
.WORD 2|DELTAY,-1
.LONG WHEEL06
.WORD 2|DELTAY,-1
.LONG WHEEL05
.WORD 2|DELTAY,-1
.LONG WHEEL04
.WORD 2|DELTAY,-1
.LONG WHEEL03
.WORD 2|DELTAY,-1
.LONG WHEEL02
.WORD 2|DELTAY,1
.LONG WEFALL01
.WORD 2|DELTAY,1
.LONG WEFALL02
.WORD 4|DELTAY,2
.LONG WEFALL03
.WORD 4|DELTAY|MAKESOUND,2
.LONG SPLASH_SND
.LONG WSPLASH1
.WORD 2|NEWPALET|DELTAXZ|DELTAY|SCRIPT
.LONG BLUE16
.WORD 5,35
.LONG WATER_SPLASH
WHLDIE_D:
.LONG WHEEL01
.WORD 2|DELTAY,4
.LONG WHEEL02
.WORD 2|DELTAY,2
.LONG WHEEL03
.WORD 2|DELTAY,2
.LONG WHEEL04
.WORD 2|DELTAY,1
.LONG WHEEL05
.WORD 2|DELTAY,2
.LONG WHEEL06
.WORD 2|DELTAY,1
.LONG WHEEL07
.WORD 2|DELTAY,1
.LONG WHEEL08
.WORD 2|DELTAY,1
.LONG WHEEL09
.WORD 2|DELTAY,1
.LONG WHEEL010
.WORD 2|DELTAY,1
.LONG WHEEL01
.WORD 2|DELTAY,1
.LONG WHEEL02
.WORD 2|DELTAY,1
.LONG WHEEL03
.WORD 2|DELTAY,1
.LONG WHEEL04
.WORD 2|DELTAY,1
.LONG WHEEL05
.WORD 2|DELTAY,1
.LONG WHEEL06
.WORD 2|DELTAY,1
.LONG WHEEL07
.WORD 2|DELTAY,1
.LONG WHEEL08
.WORD 2|DELTAY,1
.LONG WHEEL09
.WORD 2|DELTAY,1
.LONG WHEEL010
.WORD 2|DELTAY,1
.LONG WEFALL01
.WORD 4|DELTAY,1
.LONG WEFALL02
.WORD 4|DELTAY,1
.LONG WEFALL03
.WORD 4|DELTAY|MAKESOUND,1
.LONG SPLASH_SND
.LONG WSPLASH1
.WORD 2|NEWPALET|DELTAXZ|DELTAY|SCRIPT
.LONG BLUE16
.WORD 5,35
.LONG WATER_SPLASH
WHLDIE_L:
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,-1,-2
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL410
.WORD 2|DELTAXZ,-1
.LONG WHEEL49
.WORD 2|DELTAXZ,-1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,-1,2
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL46
.WORD 2|DELTAY,1
.LONG WHEEL45
.WORD 2|DELTAY,1
.LONG WEFALL41
.WORD 4|DELTAY|MAKESOUND,3
.LONG SPLASH_SND
.LONG WSPLASH1
.WORD 2|NEWPALET|DELTAXZ|DELTAY|SCRIPT
.LONG BLUE16
.WORD 5,35
.LONG WATER_SPLASH
WHLDIE_R:
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,1,-2
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL41
.WORD 2|DELTAXZ,1
.LONG WHEEL42
.WORD 2|DELTAXZ,1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,1,2
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL45
.WORD 2|DELTAY,1
.LONG WHEEL46
.WORD 2|DELTAY,1
.LONG WEFALL41
.WORD 4|DELTAY|MAKESOUND,3
.LONG SPLASH_SND
.LONG WSPLASH1
.WORD 2|NEWPALET|DELTAXZ|DELTAY|SCRIPT
.LONG BLUE16
.WORD 5,35
.LONG WATER_SPLASH
*
*WHEEL FALLS INTO LAVA
WHLLAVA_U:
.LONG WHEEL010
.WORD 2|DELTAY,-4
.LONG WHEEL09
.WORD 2|DELTAY,-2
.LONG WHEEL08
.WORD 2|DELTAY,-1
.LONG WHEEL07
.WORD 2|DELTAY,-1
.LONG WHEEL06
.WORD 2|DELTAY,-1
.LONG WHEEL05
.WORD 2|DELTAY,-1
.LONG WHEEL04
.WORD 2|DELTAY,-1
.LONG WHEEL03
.WORD 2|DELTAY,-1
.LONG WHEEL02
.WORD 2|DELTAY,1
.LONG WEFALL01
.WORD 2|DELTAY,1
.LONG WEFALL02
.WORD 4|DELTAY,2
.LONG WEFALL03
.WORD 4|DELTAY|MAKESOUND,2
.LONG SPLASH_SND
.LONG LSPLASH1
.WORD 2|NEWPALET|DELTAXZ|DELTAY|SCRIPT
.LONG RED16
.WORD 5,35
.LONG LAVA_SPLASH
WHLLAVA_D:
.LONG WHEEL01
.WORD 2|DELTAY,4
.LONG WHEEL02
.WORD 2|DELTAY,2
.LONG WHEEL03
.WORD 2|DELTAY,2
.LONG WHEEL04
.WORD 2|DELTAY,1
.LONG WHEEL05
.WORD 2|DELTAY,2
.LONG WHEEL06
.WORD 2|DELTAY,1
.LONG WHEEL07
.WORD 2|DELTAY,1
.LONG WHEEL08
.WORD 2|DELTAY,1
.LONG WHEEL09
.WORD 2|DELTAY,1
.LONG WHEEL010
.WORD 2|DELTAY,1
.LONG WHEEL01
.WORD 2|DELTAY,1
.LONG WHEEL02
.WORD 2|DELTAY,1
.LONG WHEEL03
.WORD 2|DELTAY,1
.LONG WHEEL04
.WORD 2|DELTAY,1
.LONG WHEEL05
.WORD 2|DELTAY,1
.LONG WHEEL06
.WORD 2|DELTAY,1
.LONG WHEEL07
.WORD 2|DELTAY,1
.LONG WHEEL08
.WORD 2|DELTAY,1
.LONG WHEEL09
.WORD 2|DELTAY,1
.LONG WHEEL010
.WORD 2|DELTAY,1
.LONG WEFALL01
.WORD 4|DELTAY,1
.LONG WEFALL02
.WORD 4|DELTAY,1
.LONG WEFALL03
.WORD 4|DELTAY|MAKESOUND,1
.LONG SPLASH_SND
.LONG LSPLASH1
.WORD 2|NEWPALET|DELTAXZ|DELTAY|SCRIPT
.LONG RED16
.WORD 5,35
.LONG LAVA_SPLASH
WHLLAVA_L:
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,-1,-2
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL410
.WORD 2|DELTAXZ,-1
.LONG WHEEL49
.WORD 2|DELTAXZ,-1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,-1,2
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,-1,1
.LONG WHEEL46
.WORD 2|DELTAY,1
.LONG WHEEL45
.WORD 2|DELTAY,1
.LONG WEFALL41
.WORD 4|DELTAY|MAKESOUND,3
.LONG SPLASH_SND
.LONG LSPLASH1
.WORD 2|NEWPALET|DELTAXZ|DELTAY|SCRIPT
.LONG RED16
.WORD 5,35
.LONG LAVA_SPLASH
WHLLAVA_R:
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,1,-2
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL41
.WORD 2|DELTAXZ,1
.LONG WHEEL42
.WORD 2|DELTAXZ,1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,1,2
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,1,1
.LONG WHEEL45
.WORD 2|DELTAY,1
.LONG WHEEL46
.WORD 2|DELTAY,1
.LONG WEFALL41
.WORD 4|DELTAY|MAKESOUND,3
.LONG SPLASH_SND
.LONG LSPLASH1
.WORD 2|NEWPALET|DELTAXZ|DELTAY|SCRIPT
.LONG RED16
.WORD 5,35
.LONG LAVA_SPLASH
**************************************************************************
* *
* STANDING IN PLACE *
* *
**************************************************************************
WHLSTAND_UD:
.LONG WHEEL01
.WORD 1
DUMSCRIPT:
.LONG 0
WHLSTAND_LR:
.LONG WHEEL41
.WORD 1
.LONG 0
**************************************************************************
* *
* WHEEL INTO BIG PIT *
* *
**************************************************************************
WHLPIT_U:
.LONG WHEEL010
.WORD 2|DELTAY,-4
.LONG WHEEL09
.WORD 2|DELTAY,-2
.LONG WHEEL08
.WORD 2|DELTAY,-1
.LONG WHEEL07
.WORD 2|DELTAY,-1
.LONG WHEEL06
.WORD 2|DELTAY,-1
.LONG WHEEL05
.WORD 2|DELTAY,-1
.LONG WHEEL04
.WORD 2|DELTAY,-1
.LONG WHEEL03
.WORD 2|DELTAY,-1
.LONG WHEEL02
.WORD 2
WHLOGPIT_U:
.LONG WHEEL01
.WORD 2
.LONG WHEEL010
.WORD 2
.LONG WHEEL09
.WORD 2
.LONG WHEEL08
.WORD 2
.LONG WHEEL07
.WORD 2
.LONG WHEEL06
.WORD 2
.LONG WHEEL05
.WORD 2
.LONG WHEEL04
.WORD 2
.LONG WHEEL03
.WORD 2
.LONG WHEEL02
.WORD 2
.LONG 0
.LONG WEFALL01
.WORD 4
WHLPIT_FALL_UD
.LONG WEFALL02
.WORD 4
.LONG WEFALL03
.WORD 4
.LONG WEFALL04
.WORD 4
.LONG WEFALL05
.WORD 4
.LONG WEFALL06
.WORD 4
.LONG WEFALL07
.WORD 4
.LONG WEFALL08
.WORD 4
.LONG WEFALL09
.WORD 4
.LONG WEFALL010
.WORD 4
.LONG WEFALL011
.WORD 4
.LONG WEFALL012
.WORD 4
.LONG WEFALL013
.WORD 4
.LONG WEFALL014
.WORD 4
.LONG WEFALL015
.WORD 4
.LONG WEFALL016
.WORD 4
.LONG 0
WHLPIT_D:
.LONG WHEEL01
.WORD 2|DELTAY,4
.LONG WHEEL02
.WORD 2|DELTAY,2
.LONG WHEEL03
.WORD 2|DELTAY,2
.LONG WHEEL04
.WORD 2|DELTAY,1
.LONG WHEEL05
.WORD 2|DELTAY,2
.LONG WHEEL06
.WORD 2|DELTAY,1
.LONG WHEEL07
.WORD 2|DELTAY,1
.LONG WHEEL08
.WORD 2|DELTAY,1
.LONG WHEEL09
.WORD 2|DELTAY,1
.LONG WHEEL010
.WORD 2
WHLOGPIT_D:
.LONG WHEEL01
.WORD 2
.LONG WHEEL02
.WORD 2
.LONG WHEEL03
.WORD 2
.LONG WHEEL04
.WORD 2
.LONG WHEEL05
.WORD 2
.LONG WHEEL06
.WORD 2
.LONG WHEEL07
.WORD 2
.LONG WHEEL08
.WORD 2
.LONG WHEEL09
.WORD 2
.LONG WHEEL010
.WORD 2
.LONG 0
.LONG WEFALL01
.WORD 4|SCRIPT
.LONG WHLPIT_FALL_UD
WHLPIT_L:
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,-1,-2
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,-1,-1
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,-1,-1
WHLOGPIT_L:
.LONG WHEEL410
.WORD 2
.LONG WHEEL49
.WORD 2
.LONG WHEEL48
.WORD 2
.LONG WHEEL47
.WORD 2
.LONG WHEEL46
.WORD 2
.LONG WHEEL45
.WORD 2
.LONG WHEEL44
.WORD 2
.LONG WHEEL43
.WORD 2
.LONG WHEEL42
.WORD 2
.LONG 0
.LONG WEFALL41
.WORD 4
WHLPIT_FALL_LR
.LONG WEFALL42
.WORD 4
.LONG WEFALL43
.WORD 4
.LONG WEFALL44
.WORD 4
.LONG WEFALL45
.WORD 4
.LONG WEFALL46
.WORD 4
.LONG WEFALL47
.WORD 4
.LONG WEFALL48
.WORD 4
.LONG WEFALL49
.WORD 4
.LONG WEFALL410
.WORD 4
.LONG WEFALL411
.WORD 4
.LONG WEFALL412
.WORD 4
.LONG WEFALL413
.WORD 4
.LONG WEFALL414
.WORD 4
.LONG WEFALL415
.WORD 4
.LONG WEFALL416
.WORD 4
.LONG 0
WHLPIT_R:
.LONG WHEEL41
.WORD 2|DELTAXZ|DELTAY,1,-2
.LONG WHEEL42
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL43
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL44
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL45
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL46
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL47
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL48
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL49
.WORD 2|DELTAXZ|DELTAY,1,-1
.LONG WHEEL410
.WORD 2|DELTAXZ|DELTAY,1,-1
WHLOGPIT_R:
.LONG WHEEL41
.WORD 2
.LONG WHEEL42
.WORD 2
.LONG WHEEL43
.WORD 2
.LONG WHEEL44
.WORD 2
.LONG WHEEL45
.WORD 2
.LONG WHEEL46
.WORD 2
.LONG WHEEL47
.WORD 2
.LONG WHEEL48
.WORD 2
.LONG WHEEL49
.WORD 2
.LONG WHEEL410
.WORD 2
.LONG 0
.LONG WEFALL41
.WORD 4|SCRIPT
.LONG WHLPIT_FALL_LR
**************************************************************************
* *
* WHEEL STUCK IN TAR *
* *
**************************************************************************
WHLTAR_U:
.LONG WHEEL01
.WORD 5|DELTAY,-2
.LONG WHEEL010
.WORD 5|DELTAY|MAKESOUND,-2
.LONG STUCKWHL_SND
.LONG WHEEL09
.WORD 10|DELTAY,-2
.LONG WHEEL010
.WORD 5|DELTAY,2
.LONG WHEEL01
.WORD 5|DELTAY,2
.LONG WHEEL02
.WORD 5|DELTAY|MAKESOUND,2
.LONG STUCKWHL_SND
.LONG WHEEL03
.WORD 10|DELTAY,2
.LONG WHEEL02
.WORD 5|DELTAY,-2
.LONG WHEEL01
.WORD 5|DELTAY|MAKESOUND,-2
.LONG STUCKWHL_SND
.LONG WHEEL010
.WORD 5|DELTAY,-2
.LONG WHEEL01
.WORD 5|DELTAY,2
.LONG WHEEL02
.WORD 5|DELTAY|MAKESOUND,2
.LONG STUCKWHL_SND
.LONG WHEEL01
.WORD 15|SCRIPT
.LONG WHLTAR_UD
WHLTAR_D:
.LONG WHEEL01
.WORD 5|DELTAY,2
.LONG WHEEL02
.WORD 5|DELTAY|MAKESOUND,2
.LONG STUCKWHL_SND
.LONG WHEEL03
.WORD 10|DELTAY,2
.LONG WHEEL02
.WORD 5|DELTAY,-2
.LONG WHEEL01
.WORD 5|DELTAY,-2
.LONG WHEEL010
.WORD 5|DELTAY|MAKESOUND,-2
.LONG STUCKWHL_SND
.LONG WHEEL09
.WORD 10|DELTAY,-2
.LONG WHEEL010
.WORD 5|DELTAY,2
.LONG WHEEL01
.WORD 5|DELTAY|MAKESOUND,2
.LONG STUCKWHL_SND
.LONG WHEEL02
.WORD 5|DELTAY,2
.LONG WHEEL01
.WORD 5|DELTAY|MAKESOUND,-2
.LONG STUCKWHL_SND
.LONG WHEEL010
.WORD 5|DELTAY,-2
.LONG WHEEL01
.WORD 15
WHLTAR_UD:
.LONG WHEEL7
.WORD 4
.LONG WHEEL6
.WORD 4|MAKESOUND
.LONG STUCKWHL_SND
.LONG WHEEL5
.WORD 20
.LONG WHEEL6
.WORD 4
.LONG WHEEL7
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG WHEEL1
.WORD 4
.LONG WHEEL2
.WORD 4|MAKESOUND
.LONG STUCKWHL_SND
.LONG WHEEL3
.WORD 20
.LONG WHEEL2
.WORD 4
.LONG WHEEL1
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG WHEEL7
.WORD 4|MAKESOUND
.LONG STUCKWHL_SND
.LONG WHEEL6
.WORD 8
.LONG WHEEL7
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG WHEEL1
.WORD 4|MAKESOUND
.LONG STUCKWHL_SND
.LONG WHEEL2
.WORD 8
.LONG WHEEL1
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG WHEEL7
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG WHEEL2
.WORD 4
.LONG WHEEL8
.WORD 4
.LONG 0
.LONG WHEEL7
.WORD 3
.LONG WHEEL8
.WORD 3
.LONG WHEEL2
.WORD 3
.LONG WHEEL8
.WORD 3
WHLTAR_UD_LP:
.LONG WHEEL7
.WORD 2
.LONG WHEEL8
.WORD 2
.LONG WHEEL2
.WORD 2
.LONG WHEEL8
.WORD 2|SCRIPT
.LONG WHLTAR_UD_LP
WHLTAR_L:
.LONG WHEEL41
.WORD 5|DELTAXZ,-2
.LONG WHEEL410
.WORD 5|DELTAXZ|MAKESOUND,-2
.LONG STUCKWHL_SND
.LONG WHEEL49
.WORD 10|DELTAXZ,-2
.LONG WHEEL410
.WORD 5|DELTAXZ,2
.LONG WHEEL41
.WORD 5|DELTAXZ|MAKESOUND,2
.LONG STUCKWHL_SND
.LONG WHEEL42
.WORD 5|DELTAXZ,2
.LONG WHEEL43
.WORD 10|DELTAXZ,2
.LONG WHEEL42
.WORD 5|DELTAXZ,-2
.LONG WHEEL41
.WORD 5|DELTAXZ|MAKESOUND,-2
.LONG STUCKWHL_SND
.LONG WHEEL410
.WORD 5|DELTAXZ,-2
.LONG WHEEL41
.WORD 5|DELTAXZ|MAKESOUND,2
.LONG STUCKWHL_SND
.LONG WHEEL42
.WORD 5|DELTAXZ,2
.LONG WHEEL41
.WORD 15|SCRIPT
.LONG WHLTAR_LR
WHLTAR_R:
.LONG WHEEL41
.WORD 5|DELTAXZ,2
.LONG WHEEL42
.WORD 5|DELTAXZ|MAKESOUND,2
.LONG STUCKWHL_SND
.LONG WHEEL43
.WORD 10|DELTAXZ,2
.LONG WHEEL42
.WORD 5|DELTAXZ,-2
.LONG WHEEL41
.WORD 5|DELTAXZ,-2
.LONG WHEEL410
.WORD 5|DELTAXZ|MAKESOUND,-2
.LONG STUCKWHL_SND
.LONG WHEEL49
.WORD 10|DELTAXZ,-2
.LONG WHEEL410
.WORD 5|DELTAXZ,2
.LONG WHEEL41
.WORD 5|DELTAXZ|MAKESOUND,2
.LONG STUCKWHL_SND
.LONG WHEEL42
.WORD 5|DELTAXZ,2
.LONG WHEEL41
.WORD 5|DELTAXZ|MAKESOUND,-2
.LONG STUCKWHL_SND
.LONG WHEEL410
.WORD 5|DELTAXZ,-2
.LONG WHEEL41
.WORD 15
WHLTAR_LR:
.LONG WHEEL3
.WORD 4
.LONG WHEEL2
.WORD 4|MAKESOUND
.LONG STUCKWHL_SND
.LONG WHEEL1
.WORD 20
.LONG WHEEL2
.WORD 4
.LONG WHEEL3
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG WHEEL5
.WORD 4
.LONG WHEEL6
.WORD 4|MAKESOUND
.LONG STUCKWHL_SND
.LONG WHEEL7
.WORD 20
.LONG WHEEL6
.WORD 4
.LONG WHEEL5
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG WHEEL3
.WORD 4|MAKESOUND
.LONG STUCKWHL_SND
.LONG WHEEL2
.WORD 8
.LONG WHEEL3
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG WHEEL5
.WORD 4|MAKESOUND
.LONG STUCKWHL_SND
.LONG WHEEL6
.WORD 8
.LONG WHEEL5
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG WHEEL3
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG WHEEL5
.WORD 4
.LONG WHEEL41
.WORD 4
.LONG 0
.LONG WHEEL3
.WORD 3
.LONG WHEEL41
.WORD 3
.LONG WHEEL5
.WORD 3
.LONG WHEEL41
.WORD 3
WHLTAR_LR_LP:
.LONG WHEEL3
.WORD 2
.LONG WHEEL41
.WORD 2
.LONG WHEEL5
.WORD 2
.LONG WHEEL41
.WORD 2|SCRIPT
.LONG WHLTAR_LR_LP
**************************************************************************
* *
* WHEELS WOBBLE BUT THEY DON'T FALL DOWN *
* *
**************************************************************************
WHLWOBBLE_D:
.LONG WHEELWOB1
.WORD 5
.LONG WHEELWOB2
.WORD 5|MAKESOUND
.LONG WHEELROLL_SND
.LONG WHEELWOB3
.WORD 5
.LONG 0
WHLWOBBLE_L:
.LONG WHEELWOB4
.WORD 5
.LONG WHEELWOB5
.WORD 5
.LONG 0
WHLWOBBLE_U:
.LONG WHEELWOB6
.WORD 5
.LONG WHEELWOB7
.WORD 5
.LONG 0
WHLWOBBLE_R:
.LONG WHEELWOB8
.WORD 5
.LONG WHEELWOB9
.WORD 5
.LONG WHEELWOB10
.WORD 5
.LONG 0
**************************************************************************
* *
* TROG LIFT FRAMES *
* HEAVILY TIMED WITH THE TROGROLL FRAMES *
* *
**************************************************************************
WHLLIFT_U:
.LONG WEELUP81
.WORD 11
.LONG WEELUP82
.WORD 11
.LONG WEELUP83
.WORD 11
.LONG WEELUP84
.WORD 11
.LONG WEELUP85
.WORD 11
.LONG WEELUP86
.WORD 16
.LONG WEELUP87
.WORD 30
.LONG WEELUP87
.WORD 1|DELTAY,-17
.LONG 0
WHLLIFT_D:
.LONG WEELUP01
.WORD 11
.LONG WEELUP02
.WORD 11
.LONG WEELUP03
.WORD 11
.LONG WEELUP04
.WORD 16
.LONG WEELUP05
.WORD 30
.LONG WEELUP06
.WORD 1|DELTAY,10
.LONG 0
WHLLIFT_L:
.LONG WEELUP41
.WORD 11
.LONG WEELUP42
.WORD 11
.LONG WHEEL4L3
.WORD 11
.LONG WHEEL4L4
.WORD 11
.LONG WHEEL4L5
.WORD 16
.LONG WHEEL4L6
.WORD 30
.LONG WHEEL4L6
.WORD 1|DELTAXZ,-28
.LONG 0
WHLLIFT_R:
.LONG WEELUP41
.WORD 11
.LONG WEELUP42
.WORD 11
.LONG WEELUP43
.WORD 11
.LONG WEELUP44
.WORD 11
.LONG WEELUP45
.WORD 16
.LONG WEELUP46
.WORD 30
.LONG WEELUP46
.WORD 1|DELTAXZ,24
.LONG 0
**************************************************************************
* *
* SOUNDS FOR THIS MODULE *
* *
**************************************************************************
SPLASH_SND:
.WORD >F010,>38,>8047,0 ;WATER SPLASH
STUCKWHL_SND:
.WORD >F302,>1,>80A4,0 ;WHEEL STUCK IN TAR
WHEELROLL_SND:
.WORD >F000,>1,>807D,0 ;WHEEL ROLLING SOUND
TIRESCREECH_SND:
.WORD >F005,>1E,>805D,0 ;WHEEL SCREECHING TO A HALT
.END