2468 lines
52 KiB
NASM
2468 lines
52 KiB
NASM
.MLIB "TROGMACS.LIB"
|
||
.FILE 'TROGCAVE.ASM'
|
||
.TITLE " <<< T R O G -- A TROG'S HOME IS HIS CAVE >>>"
|
||
.WIDTH 132
|
||
.OPTION B,D,L,T
|
||
.MNOLIST
|
||
|
||
**************************************************************************
|
||
* *
|
||
* COPYRIGHT (C) 1990 MIDWAY MANUFACTURING COMPANY, *
|
||
* MANUFACTURERS OF BALLY/MIDWAY AMUSEMENT GAMES. *
|
||
* ALL RIGHTS RESERVED. *
|
||
* *
|
||
**************************************************************************
|
||
|
||
.INCLUDE "MPROCEQU.ASM" ; MPROC equates
|
||
.INCLUDE "DISPEQU.ASM" ; Display processor equates
|
||
.INCLUDE "GSPINC.ASM" ; GSP assembler equates
|
||
.INCLUDE "SYSINC.ASM" ; Zunit system equates
|
||
.INCLUDE "TROGEQU.ASM" ; PALETTE HANDLER STUFF
|
||
.INCLUDE "IMGTBL.GLO"
|
||
.INCLUDE "BGNDTBL.GLO" ;Background equates
|
||
.INCLUDE "STRING.H"
|
||
.INCLUDE "TROGSEQU.ASM"
|
||
.INCLUDE "TROGAEQU.ASM"
|
||
.INCLUDE "TROGCAVE.TBL" ;NOW WE HAVE IMAGES
|
||
|
||
**************************************************************************
|
||
* *
|
||
* DEFS AND REFS *
|
||
* *
|
||
**************************************************************************
|
||
|
||
.DEF CAVESHOW1,CAVESHOW2,CAVESHOW3,CAVESHOW4,CAVESHOW5
|
||
.DEF SIGNINIT, AHA_SND
|
||
|
||
.REF TROGCAVE1
|
||
.REF BAKMODS, BGND_UD1
|
||
.REF CYCLE16
|
||
.REF FADEIN, FADE_ONLY, FadeIn, FadeOut, WIPEOUT
|
||
.REF DINOLOAD, REXATAB, RESTP0, TRSTP0,SPWAP4F1
|
||
.REF TROG_CLUB_ATAB, VOBLIT1, SEE_STARS, START_FIRE_LR
|
||
.REF SMOKESTAR41, FIRE_ANIMII, TREATP4F8, TREATP0F8
|
||
.REF WHLATAB, WHEEL410
|
||
.REF FADEOUT, SCORPROC, COLOR_START
|
||
.REF TRBOP0F1,TRBOP0F2,TRBOP0F3,TRBOP0F4,TRBOP0F5
|
||
.REF SPSQP4FF1,SPSQP4FF2,SPSQP4FF3
|
||
.REF SLEEP_SWITCHX, CSHOW6_FLAG
|
||
|
||
.REF TROGWOBBLE_D
|
||
.REF SPLAYER_NUM
|
||
|
||
**************************************************************************
|
||
* *
|
||
* USEFUL VARIABLES *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CAVE_ZPOS EQU 300H
|
||
|
||
.BSS CHALKOBJ,32
|
||
.BSS DRAWOBJ,32
|
||
.BSS FADEUPOBJ,32
|
||
.BSS DRAWLIST,32
|
||
.BSS DRAWSEQ,32
|
||
.BSS WHEELOBJ,32
|
||
.BSS LILOUT,16 ; COUNTER OF LITTLES OUT
|
||
.BSS LILFOOD,16
|
||
.BSS ANIMDONE,16 ; FOR FLAGGING WHEN DONE WITH ANIM
|
||
.BSS TROGBASELOC,32
|
||
.BSS FOODOBJ,32
|
||
.TEXT
|
||
.EVEN
|
||
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CODE START *
|
||
* *
|
||
**************************************************************************
|
||
|
||
PSKIN EQU PDATA ; SKIN OBJECT
|
||
PFUR EQU PSKIN+32 ; FUR OBJECT
|
||
PWHITE EQU PFUR+32 ; WHITE OBJECT
|
||
PARM EQU PWHITE+32 ; ARM OBJECT
|
||
PEYE EQU PARM+32 ; EYE OBJECT
|
||
PBROW EQU PEYE+32 ; BROW OBJECT
|
||
PBLINK EQU PBROW+32 ; BLINK OBJECT
|
||
PCHALK EQU PBLINK+32 ; CHALK OBJECT
|
||
PTHOUGHT EQU PCHALK+32 ; WHICH ROUTINE TO USE FOR ANIMATION
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVESHOW1 - TROG CAVE SHOW DRAWING FOOD. *
|
||
* NOTE: CALL WITH JSRP *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CAVESHOW1:
|
||
CALLA RANDOM
|
||
ANDI 3,A0
|
||
JRZ CAVESHOW1
|
||
DEC A0
|
||
MOVE A0,@LILFOOD,W
|
||
SLL 5,A0
|
||
ADDI FOOD_LIST,A0
|
||
MOVE *A0,A8,L ; MATCHING SCRIPT FOR FOOD
|
||
MOVK 1,A14
|
||
MOVE A14,@LILOUT,W
|
||
JRUC DO_CAVESHOW
|
||
|
||
FOOD_LIST
|
||
.LONG BURG_LIST,PIZZA_LIST,CHICK_LIST
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVESHOW2 - TROG INVENTS THE SPRING SHOES. *
|
||
* NOTE: CALL WITH JSRP *
|
||
* *
|
||
**************************************************************************
|
||
CAVESHOW2:
|
||
MOVK 2,A14
|
||
MOVE A14,@LILOUT,W
|
||
MOVI SPRING_LIST,A8
|
||
JRUC DO_CAVESHOW
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVESHOW3 - TROG INVENTS THE CLUB. *
|
||
* NOTE: CALL WITH JSRP *
|
||
* *
|
||
**************************************************************************
|
||
CAVESHOW3:
|
||
MOVK 3,A14
|
||
MOVE A14,@LILOUT,W
|
||
MOVI CLUB_LIST,A8
|
||
JRUC DO_CAVESHOW
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVESHOW4 - TROG DISCOVERS FIRE. *
|
||
* NOTE: CALL WITH JSRP *
|
||
* *
|
||
**************************************************************************
|
||
CAVESHOW4:
|
||
MOVK 4,A14
|
||
MOVE A14,@LILOUT,W
|
||
MOVI FIRE_LIST,A8
|
||
JRUC DO_CAVESHOW
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVESHOW5 - TROG INVENTS THE WHEEL. *
|
||
* NOTE: CALL WITH JSRP *
|
||
* *
|
||
**************************************************************************
|
||
CAVESHOW5:
|
||
MOVK 5,A14
|
||
MOVE A14,@LILOUT,W
|
||
MOVI EMC2_LIST,A8
|
||
JRUC DO_CAVESHOW
|
||
|
||
|
||
*
|
||
*ENTRYPOINT - DO A CAVE SHOW ACCORDING TO THE SCRIPT
|
||
*A8 = SCRIPT
|
||
DO_CAVESHOW:
|
||
SOUNDON
|
||
**** SOUND1 TUNE_SND
|
||
CLR A0
|
||
MOVE A0,@IRQSKYE,W
|
||
MOVE A0,@ANIMDONE,W
|
||
MOVE A0,@GAMERASE,W ; AUTO ERASE ON
|
||
CALLA AUTOEOFF
|
||
DISPOFF
|
||
JSRP DPYSHIDE
|
||
MOVI SCRNEND+[SKYTOPOF,0],A0 ;RE-ADJUST BOTTOM
|
||
MOVE A0,@SCRNLR,L
|
||
|
||
MOVI 08000h,A1
|
||
CLR A0
|
||
CALLA KILALL ;KILL ALL PROCS, EXCEPT FOR COINS
|
||
|
||
CALLA COLOR_START ;RE-START THE COLOR CYCLER
|
||
|
||
SOUND1 TUNE_SND
|
||
|
||
PUSHP A8
|
||
DISPON
|
||
MOVK 1,A0
|
||
MOVE A0,@GAMERASE,W
|
||
CREATE INDPID,CAVESIGN
|
||
SLEEP 40
|
||
CLR A0
|
||
MOVE A0,@GAMERASE,W
|
||
CALLA AUTOEOFF
|
||
DISPOFF ; MIGHT HAVE TO WASTE AUTOERASE HERE
|
||
|
||
JSRP CAVE_BACKGND
|
||
PULLP A8
|
||
MOVE *A8,A14,L
|
||
JRZ NO_LIL_PROCESS
|
||
CALLR LIL_PROCESS
|
||
NO_LIL_PROCESS
|
||
JSRP CAVE_ACTION
|
||
MOVI 08000h,A1
|
||
CLR A0
|
||
CALLA KILALL ;KILL ALL PROCS, EXCEPT FOR COINS
|
||
DISPOFF
|
||
CALLA CLRPLAY ;CLEAR THE CAVE SHIT
|
||
SLEEP 2 ; GNP SUGGESTION
|
||
CALLA MYOINIT ;AND RE-INIT
|
||
DISPON ;RETURN TO YOUR HOMES
|
||
CREATE INDPIDW,SCORPROC ;START UP THE PUSH PLAYER START PROCESS
|
||
CALLA COLOR_START ;RE-START THE COLOR CYCLER
|
||
JSRP DPYSNORM
|
||
RETP
|
||
|
||
**************************************************************************
|
||
* *
|
||
* DPYSNORM - INCREMENTS DPYSTRT FROM ITS CURRENT VALUE TO FFFCH *
|
||
* *
|
||
**************************************************************************
|
||
DPYSNORM
|
||
MOVK 16,A11
|
||
DPYSNL
|
||
MOVE @DPYSTRT,A0,W
|
||
ADD A11,A0
|
||
JRNN DPYNFIX ;WE'RE DEFINITELY DONE
|
||
ZEXT A0
|
||
CMPI NORMDPYS,A0
|
||
JRHS DPYNFIX
|
||
MOVE A0,@DPYSTRT,W
|
||
SLOOP 1,DPYSNL
|
||
DPYNFIX
|
||
MOVI NORMDPYS,A0
|
||
MOVE A0,@DPYSTRT,W ;MAKE SURE IT HOLDS CORRECTLY
|
||
RETP
|
||
|
||
**************************************************************************
|
||
* *
|
||
* DPYSHIDE - DECREMENTS DPYSTRT FROM ITS CURRENT VALUE TO SCORDPYS *
|
||
* *
|
||
**************************************************************************
|
||
DPYSHIDE
|
||
MOVK 16,A11
|
||
DPYSHL
|
||
MOVE @DPYSTRT,A0,W
|
||
SUB A11,A0
|
||
JRNN DPYHFIX ;WE'RE DEFINITELY DONE
|
||
CMPI SCORDPYS,A0
|
||
JRLS DPYHFIX
|
||
MOVE A0,@DPYSTRT,W
|
||
SLOOP 1,DPYSHL
|
||
DPYHFIX
|
||
MOVI SCORDPYS,A0
|
||
MOVE A0,@DPYSTRT,W ;MAKE SURE IT HOLDS CORRECTLY
|
||
RETP
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_TEST *
|
||
* *
|
||
* CAVE_TEST *
|
||
* *
|
||
* CAVE_TEST *
|
||
* *
|
||
**************************************************************************
|
||
****CAVE_TEST:
|
||
**** MOVK 2,A0
|
||
**** MOVE A0,@SPLAYER_NUM,W
|
||
**** JSRP CAVESHOW6
|
||
**** CALLA WIPEOUT
|
||
**** DISPON
|
||
**** JRUC CAVE_TEST
|
||
**** JSRP CAVESHOW1
|
||
**** CALLA WIPEOUT
|
||
**** DISPON
|
||
**** JSRP CAVESHOW2
|
||
**** CALLA WIPEOUT
|
||
**** DISPON
|
||
**** JSRP CAVESHOW3
|
||
**** CALLA WIPEOUT
|
||
**** DISPON
|
||
**** JSRP CAVESHOW4
|
||
**** CALLA WIPEOUT
|
||
**** DISPON
|
||
**** JSRP CAVESHOW5
|
||
**** CALLA WIPEOUT
|
||
**** DISPON
|
||
**** RETP
|
||
|
||
.IF 0
|
||
CHICK_LIST
|
||
.LONG FOOD_ANIM, DRCHICK1, DRCHICK2, DRCHICK3, DRCHICK4, 0
|
||
BURG_LIST
|
||
.LONG FOOD_ANIM, DRBURG1, DRBURG2, DRBURG3, DRBURG4, 0
|
||
PIZZA_LIST
|
||
.LONG FOOD_ANIM, DRPIZZA1, DRPIZZA2, DRPIZZA3, DRPIZZA4, 0
|
||
CLUB_LIST
|
||
.LONG CLUB_ANIM, DRCLUB1, DRCLUB2, DRCLUB3, DRCLUB4, 0
|
||
FIRE_LIST
|
||
.LONG FIRE_ANIM, DRFIRE1, DRFIRE2, DRFIRE3, DRFIRE4, 0
|
||
WHEEL_LIST
|
||
.LONG DRWHEEL1, DRWHEEL2, DRWHEEL3, DRWHEEL4, 0
|
||
SPRING_LIST
|
||
.LONG SPRING_ANIM, DRSPRING1, DRSPRING2, DRSPRING3, DRSPRING4, 0
|
||
EMC2_LIST
|
||
.LONG WHEEL_ANIM, EMC21, EMC22, EMC23, EMC24, 0
|
||
.ENDIF
|
||
|
||
CHICK_LIST
|
||
.LONG FOOD_ANIM, DRCHICK2, DRCHICK4,0
|
||
BURG_LIST
|
||
.LONG FOOD_ANIM, DRBURG2, DRBURG4, 0
|
||
PIZZA_LIST
|
||
.LONG FOOD_ANIM, DRPIZZA2, DRPIZZA4, 0
|
||
CLUB_LIST
|
||
.LONG CLUB_ANIM, DRCLUB2, DRCLUB4, 0
|
||
FIRE_LIST
|
||
.LONG FIRE_ANIM, DRFIRE2, DRFIRE4, 0
|
||
WHEEL_LIST
|
||
.LONG DRWHEEL2, DRWHEEL4, 0
|
||
SPRING_LIST
|
||
.LONG SPRING_ANIM, DRSPRING2, DRSPRING4, 0
|
||
EMC2_LIST
|
||
.LONG WHEEL_ANIM, EMC22, EMC24, 0
|
||
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_ACTION_GO *
|
||
* *
|
||
* START A CAVE ACTION SCENE AND GET GOING *
|
||
* *
|
||
* ENTRY *
|
||
* A8 POINTER TO PICTURE LIST FOR WALL *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* JSRP *
|
||
* *
|
||
**************************************************************************
|
||
|
||
HEADSCRATCH EQU 5
|
||
|
||
CAVE_ACTION_GO:
|
||
MOVE *A8+,A14,L
|
||
MOVE A14,*A13(PTHOUGHT),L ; WHICH THOUGHT ANIMATION TO USE
|
||
MOVE A8,@DRAWLIST,L ; DRAWING LIST
|
||
MOVI TROGSKINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
MOVE A0,*A13(PSKIN),L ; SKIN
|
||
MOVE A0,A8
|
||
MOVI TROGFRINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
MOVE A0,*A13(PFUR),L ; FUR
|
||
MOVE A0,*A8(OMLINK),L
|
||
MOVE A0,A8
|
||
MOVI TROGARMINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
PUSH A8
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF
|
||
CALLA INSOBJ
|
||
MOVE A0,*A13(PARM),L ; ARM
|
||
MOVI TROGEYEINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
MOVE A0,*A13(PEYE),L ; EYE
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF
|
||
CALLA INSOBJ
|
||
MOVI TROGBROWINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
MOVE A0,*A13(PBROW),L ; BROW
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF
|
||
CALLA INSOBJ
|
||
PULL A8
|
||
MOVI TROGDRAWINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
PUSH A8
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF
|
||
CALLA INSOBJ
|
||
MOVE A0,@DRAWOBJ,L ; PICTURE ON THE WALL
|
||
MOVI TROGDRAWINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF
|
||
CALLA INSOBJ
|
||
MOVI FADEGRAY15,A0,L
|
||
CALLA GETFPAL
|
||
JRZ CAVE_ACTION_DIE
|
||
MOVE A0,*A8(OPAL),W ; SET A GOOD FADER PALETTE
|
||
MOVE *A8(OZPOS),A0,W
|
||
DEC A0
|
||
MOVE A0,*A8(OZPOS),W
|
||
MOVE A8,@FADEUPOBJ,L ; THE PICTURE WE ARE GOING TO FADE UP
|
||
PULL A8
|
||
MOVI TROGBLKINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
MOVE A0,*A13(PBLINK),L ; BLINK ME, BABY
|
||
MOVI TROGCHALKINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
PUSH A8
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF
|
||
CALLA INSOBJ ; SETIT UP FOR CHALKER
|
||
MOVE A0,@CHALKOBJ,L
|
||
PULL A8
|
||
MOVI TROGWHINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_ACTION_DIE
|
||
MOVE A0,*A13(PWHITE),L ; WHITE
|
||
PUSH A8
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF
|
||
PULL A8
|
||
MOVE A0,*A8(OMLINK),L
|
||
CLR A8
|
||
MOVE A8,*A0(OMLINK),L
|
||
CALLA INSOBJ
|
||
MOVE *A13(PSKIN),A0,L
|
||
CALLA INSOBJ
|
||
MOVE *A13(PFUR),A0,L
|
||
CALLA INSOBJ
|
||
;
|
||
; ALL OBJECTS CREATED AND READY TO ROCK AND ROLL HERE -- DISP IS F2
|
||
;
|
||
; ARM WRITING ON THE WALL
|
||
;
|
||
MOVI FADENOSIGN,A0
|
||
CALLA FADEIN
|
||
DISPON
|
||
SLEEP 5 ; GET THINGS OUT THERE
|
||
MOVE @SCRNTL,A0,W
|
||
ADDI 75,A0 ;RE-ADJUST FOR OVERLOAD PROTECT
|
||
MOVE A0,@SCRNTL,W
|
||
;
|
||
; WRITE ON THE WALL
|
||
;
|
||
REWRITE:
|
||
JSRP CAVE_WRITE_ARM
|
||
SLEEP 4
|
||
MOVE *A13(PARM),A8,L
|
||
CALLA OBJ_OFF ; GET RID OF HIS ARM
|
||
;
|
||
; OK, DONE WRITING ON THE WALL, TIME TO TURN AND SHOW SOMEONE
|
||
; WHAT ELSE WE HAVE DONE
|
||
;
|
||
MOVE *A13(PSKIN),A8,L
|
||
CALLA GETANIXY ; LOCATION OF BODY INTO A2/A3
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
MOVE A3,@TROGBASELOC,L ; SAVE AWAY HIS OLD POSITION
|
||
MOVE *A13(PWHITE),A8,L
|
||
CALLA OBJ_ON ; TURN ON THE WHITE AGAIN
|
||
MOVI TROGTURNTAB,A11
|
||
TROG_TURN_LOOP
|
||
MOVE *A11+,A1,L
|
||
JRZ TROG_TURN_LOOP_GO
|
||
MOVI 40000H,A1
|
||
MOVI 6000H,A2
|
||
CALLR CAVE_VELS
|
||
TROG_TURN_LOOP_GO
|
||
MOVE *A11+,A1,L
|
||
JRZ TROG_TURN_DONE
|
||
MOVE *A13(PSKIN),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A1,L
|
||
MOVE *A13(PFUR),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A1,L
|
||
JRZ TROG_TURN_DONE ; GROSS, BUT EFFECTIVE
|
||
MOVE *A13(PWHITE),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A0,L
|
||
SLEEPR A0
|
||
JRUC TROG_TURN_LOOP
|
||
TROG_TURN_DONE:
|
||
CLR A1
|
||
CLR A2
|
||
CALLR CAVE_VELS
|
||
;
|
||
; START THE HEAD SCRATCH -- FRAMES F9 LOADED INTO SKIN/FUR ALREADY
|
||
; FINAL ARM SCRATCH IS CTROARM1F9 ( FINGER RAISED TOWARDS PERSON )
|
||
;
|
||
MOVE *A13(PWHITE),A8,L
|
||
CALLA OBJ_OFF ; TURN OFF THE WHITE EYE
|
||
CALLA GETANIXY ; LOCATION OF BODY INTO A2/A3
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
MOVE *A13(PEYE),A8,L ; START HIS EYE MOVING
|
||
CALLA OBJ_TO_PNT
|
||
; MOVE A8,A0
|
||
; CALLA INSOBJ ; GET IT ON THE OBJECT LIST
|
||
CALLA OBJ_ON
|
||
CREATE INDPID,CAVE_EYE
|
||
MOVE *A13(PBROW),A8,L ; MOVE HIS BROW AROUND
|
||
PUSH A3
|
||
SUBI 40000H,A3 ; MOVE BROW UP A LITTLE
|
||
CALLA OBJ_TO_PNT
|
||
PULL A3
|
||
; MOVE A8,A0
|
||
; CALLA INSOBJ
|
||
CALLA OBJ_ON
|
||
CREATE INDPID,CAVE_BROW
|
||
MOVE *A13(PARM),A8,L
|
||
MOVI CAVE_ZPOS,A14
|
||
MOVE A14,*A8(OZPOS),W
|
||
CALLA OBJ_TO_PNT
|
||
CALLA OBJ_ON ; MAKE SURE ARM IS TURNED ON
|
||
SOUND1 HMMM_SND
|
||
MOVI HEADSCRATCH,A11
|
||
TROG_SCRATCH_HEAD
|
||
MOVK 1,A1
|
||
MOVI TROGSCRATCHARM,A9
|
||
JSRP FRANIM
|
||
DSJS A11,TROG_SCRATCH_HEAD
|
||
;
|
||
; IF WE ARE IN THE EMC2 THING, WE GOTS TO TURN BACK AND DRAW AGAIN
|
||
;
|
||
MOVE @LILOUT,A0,W
|
||
CMPI 5,A0
|
||
JRNZ TROGFINISH
|
||
MOVK 6,A0
|
||
MOVE A0,@LILOUT,W
|
||
CALLA LIL_PROCESS ; POP UP THE EMC2 ON THE WALL
|
||
MOVI WHEEL_LIST,A0
|
||
MOVE A0,@DRAWLIST,L ; SETUP THE NEW ANIMATION
|
||
MOVE *A13(PEYE),A8,L
|
||
CALLA OBJ_OFF
|
||
MOVE *A13(PBROW),A8,L
|
||
CALLA OBJ_OFF
|
||
MOVE *A13(PARM),A8,L
|
||
CALLA OBJ_OFF
|
||
MOVE *A13(PWHITE),A8,L
|
||
CALLA OBJ_ON ; TURN ON THE WHITE AGAIN
|
||
MOVI TROGRETURNTAB,A11
|
||
TROG_RETURN_LOOP
|
||
MOVE *A11+,A1,L
|
||
JRZ TROG_RETURN_LOOP_GO
|
||
CALLA GETANIXY ; LOCATION OF BODY INTO A2/A3
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
MOVE A3,A2
|
||
MOVE @TROGBASELOC,A3,L
|
||
MOVI 21,A4
|
||
CALLA SLINEVEL
|
||
CALLR CAVE_VELS
|
||
TROG_RETURN_LOOP_GO
|
||
MOVE *A11+,A1,L
|
||
JRZ TROG_RETURN_DONE
|
||
MOVE *A13(PSKIN),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A1,L
|
||
MOVE *A13(PFUR),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A1,L
|
||
JRZ TROG_RETURN_DONE ; GROSS, BUT EFFECTIVE
|
||
MOVE *A13(PWHITE),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A0,L
|
||
SLEEPR A0
|
||
JRUC TROG_RETURN_LOOP
|
||
TROG_RETURN_DONE:
|
||
CLR A1
|
||
CLR A2
|
||
CALLR CAVE_VELS
|
||
MOVE *A13(PSKIN),A8,L
|
||
CALLA GETANIXY ; LOCATION OF BODY INTO A2/A3
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
MOVE *A13(PARM),A8,L
|
||
CALLA OBJ_TO_PNT
|
||
MOVI CAVE_ZPOS+8,A0
|
||
MOVE A0,*A8(OZPOS),W
|
||
MOVE *A13(PWHITE),A8,L
|
||
CALLA OBJ_ON
|
||
JRUC REWRITE
|
||
;
|
||
; ALL DONE WITH THE WRITE ON THE WALL SHIT
|
||
;
|
||
TROGFINISH:
|
||
MOVE @FADEUPOBJ,A8,L
|
||
CALLA DELETE_PAL
|
||
MOVE *A13(PARM),A8,L
|
||
MOVI CTROARM1F9,A1 ; FINAL ARM EXPRESSION "THOUGHT"
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
SLEEP 5
|
||
;
|
||
; GOING INTO THE HOMESTRETCH HERE, FOLKS!
|
||
;
|
||
CALLA OBJ_OFF ; TURN OFF THE ARM
|
||
MOVE *A13(PEYE),A8,L
|
||
CALLA OBJ_OFF
|
||
MOVE *A13(PBROW),A8,L
|
||
CALLA OBJ_OFF ; LATER ON HIS EYEBROW
|
||
MOVE *A13(PWHITE),A8,L
|
||
CALLA OBJ_ON ; TURN WHITE BACK ON
|
||
MOVI TROGFINALTAB,A11
|
||
TROG_FINAL_LOOP
|
||
MOVE *A11+,A1,L
|
||
JRZ TROG_FINAL_DONE
|
||
CMPI CTROSKF11,A1
|
||
JRNZ TROG_FINAL_LOOP_GO
|
||
MMTM SP,A1,A8
|
||
MOVE *A13(PTHOUGHT),A8,L ; WHICH BUBBLE ANIMATION TO USE
|
||
CREATE INDPID,CAVE_THOUGHT_BUBBLE
|
||
MMFM SP,A1,A8
|
||
TROG_FINAL_LOOP_GO
|
||
MOVE *A13(PSKIN),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A1,L
|
||
MOVE *A13(PFUR),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A1,L
|
||
MOVE *A13(PWHITE),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A0,L
|
||
SLEEPR A0
|
||
JRUC TROG_FINAL_LOOP
|
||
TROG_FINAL_DONE:
|
||
;
|
||
; BLINK HIS EYE A COUPLE OF TIMES FOR PEOPLE
|
||
;
|
||
SOUND1 AHA_SND
|
||
CALLA GETANIXY
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
MOVE A3,A8
|
||
CREATE INDPID,DINGDING
|
||
MOVE *A13(PBLINK),A8,L
|
||
CALLA OBJ_TO_PNT
|
||
MOVE A8,A0
|
||
CALLA INSOBJ
|
||
CREATE INDPID,RAND_BLINK
|
||
SLEEP 1000
|
||
DIE
|
||
|
||
CAVE_ACTION:
|
||
CREATE INDPID,CAVE_ACTION_GO
|
||
CLR A0
|
||
MOVE A0,@ANIMDONE,W
|
||
ANIM_DONE_WAIT:
|
||
MOVK 2,A0
|
||
JSRP SLEEP_SWITCHX
|
||
JRNZ CAVE_ACTION_LATER
|
||
MOVE @ANIMDONE,A14,W
|
||
JRZ ANIM_DONE_WAIT
|
||
CAVE_ACTION_LATER
|
||
CLR A0
|
||
MOVI 0A000h,A1
|
||
CALLA KILALL ;KILL ALL BUT THE INDESTRUCTIBLES
|
||
MOVI PFADEPID,A0
|
||
CLR A1
|
||
NOT A1
|
||
CALLA KILALL
|
||
MOVI CAVESIGNPID,A0
|
||
CALLA KILALL ;KILL CAVE SIGN FLASHER
|
||
|
||
|
||
MOVK 2,A11
|
||
CREATE FADEPID,FADE_DOWN ;FADE ALL MUSIC DOWN
|
||
|
||
**** SOUND1 TRANSITION_SND
|
||
|
||
CLR A0
|
||
CALLA FADEOUT
|
||
SLEEP 20 ;ALLOW FADE TO DO THE TRICK
|
||
CAVE_ACTION_DIE
|
||
RETP
|
||
|
||
TROGTURNTAB
|
||
.LONG 0,CTROSKF4, CTROFRF4, CTROWHF4,25
|
||
.LONG 1,CTROSKF4, CTROFRF4, CTROWHF4,5
|
||
.LONG 0,CTROSKF8, CTRPFRF8, CTROWHF8,10
|
||
.LONG 0,CTROSKF9, CTROFRF9, 0 ; FINAL TURN IS FOR WIMPS
|
||
.LONG 0,0
|
||
|
||
TROGRETURNTAB
|
||
.LONG 1,CTROSKF8, CTRPFRF8, CTROWHF8,6
|
||
.LONG 0,CTROSKF4, CTROFRF4, CTROWHF4,15
|
||
.LONG 0,CTROSKF3, CTROFRF3, 0
|
||
.LONG 0,0
|
||
|
||
|
||
TROGFINALTAB
|
||
.LONG CTROSKF10, CTROFRF10, CTROWHF10,8
|
||
.LONG CTROSKF11, CTROFRF11, CTROWHF11,6
|
||
.LONG CTROSKF12, CTROFRF12, CTROWHF12,4
|
||
.LONG 0
|
||
|
||
**************************************************************************
|
||
* *
|
||
* RAND_BLINK *
|
||
* *
|
||
* BLINK AT RANDOM INTERVALS *
|
||
* *
|
||
* ENTRY *
|
||
* A8 POINTER TO OBJECT *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
RAND_BLINK:
|
||
CALLA OBJ_ON
|
||
MOVK 1,A1
|
||
MOVI TROGEYEBLINK,A9
|
||
JSRP FRANIM
|
||
CALLA OBJ_OFF
|
||
MOVI 15,B0
|
||
MOVI 60,B1
|
||
CALLA RANGRAND
|
||
SLEEPR A0
|
||
JRUC RAND_BLINK
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CHALK_PLOT *
|
||
* *
|
||
* PLOT OUT THE PIECE OF CHALK SPECIFIED IN A10 *
|
||
* *
|
||
* ENTRY *
|
||
* A10 CHALK PIECE TO PLOT *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CHALK_PLOT:
|
||
MOVE @CHALKOBJ,A8,L ; CHALK OBJECT
|
||
MOVE A10,A1 ; IMAGE TO BECOME
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
CALLA OBJ_ON
|
||
SLEEP 3
|
||
CALLA OBJ_OFF
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* DINGDING *
|
||
* *
|
||
* START UP A DINGER AROUND TROG'S HEAD FOR THE SILLINESS *
|
||
* *
|
||
* ENTRY *
|
||
* A8 POSITION OF TROG *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
DINGDING:
|
||
SOUND1 DING_SND
|
||
SLEEP 3
|
||
MOVI TROGDINGINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ DING_DIE
|
||
MOVE A0,*A13(PDATA),L
|
||
MOVE A8,A3
|
||
MOVE A0,A8
|
||
CALLA OBJ_TO_PNT
|
||
CALLA INSOBJ
|
||
DING_LOOP
|
||
CALLA OBJ_ON
|
||
SLEEP 20
|
||
CALLA OBJ_OFF
|
||
SLEEP 7
|
||
JRUC DING_LOOP
|
||
DING_DIE
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* OBJECT_OFF *
|
||
* *
|
||
* TURN AN OBJECT OFF IN AN ANIMATION SCRIPT *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
OBJECT_OFF:
|
||
CALLA OBJ_OFF
|
||
SLEEP WRITESLEEP
|
||
CALLA OBJ_ON
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_EYE *
|
||
* *
|
||
* MOVE TROG'S EYE AROUND FOR FRAME 9 *
|
||
* *
|
||
* ENTRY *
|
||
* A8 POINTER TO AN EYE OBJECT *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CAVE_EYE:
|
||
CALLA OBJ_ON
|
||
MOVK 1,A1
|
||
MOVI TROGSCRATCHEYE,A9
|
||
JSRP FRANIM
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_BROW *
|
||
* *
|
||
* MOVE THE POOR LITTLE GUY'S EYEBROW UP AND DOWN AND ALL AROUND *
|
||
* *
|
||
* ENTRY *
|
||
* A8 OBJECT OF THE BROW *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CAVE_BROW
|
||
CALLA OBJ_ON
|
||
MOVK 1,A1
|
||
MOVI TROGBROW,A9
|
||
JSRP FRANIM
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_WRITE_ARM *
|
||
* *
|
||
* THE ARM END OF THE WRITING PROCESS -- THIS SHOULD CORRESPOND *
|
||
* WITH CAVE_WRITE_WHITE, SINCE THEY TIME FOR EACH OTHER *
|
||
* *
|
||
* ENTRY *
|
||
* A8 POINTER TO ARM OBJECT *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* JSRP *
|
||
* *
|
||
**************************************************************************
|
||
|
||
WRITESLEEP EQU 3
|
||
|
||
CAVE_WRITE_ARM:
|
||
MOVE *A13(PARM),A8,L
|
||
JRZ CAVE_WRITE_ARM_DIE ; LATER, DUDE!
|
||
CALLA OBJ_ON
|
||
CAVE_WRITE_ARM_LOOP
|
||
MOVE *A13(PWHITE),A8,L ; WHITE PROCESS THING
|
||
CREATE INDPID,CAVE_WRITE_WHITE ; ARM WHITE PROCESS
|
||
MOVE *A13(PARM),A8,L
|
||
MOVK 1,A1
|
||
MOVI TROGWRITEARM,A9
|
||
JSRP FRANIM
|
||
;
|
||
; STEP BACK HERE
|
||
;
|
||
JRUC CAVE_WRITE_ARM_DIE
|
||
.IF 0
|
||
JRUC NOSTEPBACK
|
||
MOVE @LILOUT,A0,W
|
||
CMPI 4,A0
|
||
JRZ NOSTEPBACK
|
||
CALLA OBJ_OFF ; TURN OFF THE ARM
|
||
PUSHP A8 ; SAVE ARM ON STACK
|
||
MOVE *A13(PWHITE),A8,L
|
||
CALLA OBJ_ON ; TURN ON THE WHITE PART OF TROG
|
||
MOVI TROGSTEPBACK,A11
|
||
TROG_STEP_BACK
|
||
MOVE *A11+,A1,L
|
||
JRZ TROG_STEP_DONE
|
||
MOVE *A13(PSKIN),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A1,L
|
||
MOVE *A13(PFUR),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A1,L
|
||
MOVE *A13(PWHITE),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A0,L
|
||
JRZ TROG_STEP_DONE
|
||
SLEEPR A0
|
||
JRUC TROG_STEP_BACK
|
||
TROG_STEP_DONE
|
||
PULLP A8 ; GET BACK THE ARM
|
||
CALLA OBJ_ON ; TURN IT BACK ON
|
||
NOSTEPBACK
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
.ENDIF
|
||
CAVE_WRITE_ARM_DIE:
|
||
RETP
|
||
|
||
.IF 0
|
||
TROGSTEPBACK
|
||
.LONG CTROSKF4,CTROFRF4,CTROWHF4,40
|
||
.LONG CTROSKF3,CTROFRF3,CTROWHF4,0
|
||
.ENDIF
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_WRITE_WHITE *
|
||
* *
|
||
* THE WHITE END OF THE WRITING PROCESS -- MAKE SURE IT LOOKS *
|
||
* LIKE CAVE_WRITE_ARM, SINCE THAT IS WHEN IT HAS TO BE FINISHED *
|
||
* *
|
||
* ENTRY *
|
||
* A8 OBJECT WE ARE ABUSING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CAVE_WRITE_WHITE:
|
||
MOVE A8,A8
|
||
JRZ CAVE_WRITE_WHITE_DIE ; LATER, DUDE!
|
||
CALLA OBJ_ON
|
||
MOVK 1,A1
|
||
MOVI TROGWRITEWHITE,A9
|
||
JSRP FRANIM
|
||
JRUC CAVE_WRITE_WHITE_DIE
|
||
.IF 0
|
||
JRUC NOSLEEPWHITE
|
||
MOVE @LILOUT,A0,W
|
||
CMPI 4,A0
|
||
JRZ NOSLEEPWHITE
|
||
SLEEP 40
|
||
NOSLEEPWHITE
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
.ENDIF
|
||
CAVE_WRITE_WHITE_DIE:
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_UPDATE_DRAWING *
|
||
* *
|
||
* UPDATE THE DRAWING ON THE WALL WITH THE LIST *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CAVE_UPDATE_DRAWING:
|
||
MOVE @DRAWLIST,A0,L
|
||
MOVE *A0+,A1,L ; NEXT ITEM IN LIST
|
||
JRZ CAVE_UPDATE_NOMORE
|
||
MOVE A0,@DRAWLIST,L
|
||
CMPI DRWHEEL2,A1
|
||
JRNZ CUDGO
|
||
CUDGO
|
||
MOVE @FADEUPOBJ,A8,L
|
||
CALLA OBJ_OFF ; FORCE THE OBJECT OFF
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
;
|
||
MOVI FADEGRAY15,A0
|
||
MOVI FADETAB,A11
|
||
CALLA FADE_ONLY
|
||
SLEEP 5
|
||
CALLA OBJ_ON
|
||
;
|
||
SLEEP 20 ; TIME TO BRING THE OBJECT UP
|
||
;
|
||
MOVE *A8(OIMG),A1,L ; SHIFT TO THE REAL DRAWING OBJECT
|
||
MOVE @DRAWOBJ,A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
CALLA OBJ_ON
|
||
CAVE_UPDATE_NOMORE
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_THOUGHT_BUBBLE *
|
||
* *
|
||
* PLOT OUT THE THOUGHT BUBBLE STUFF *
|
||
* *
|
||
* ENTRY *
|
||
* A8 WHICH BUBBLE ANIMATION TO USE *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
PBUBBLE1 EQU PDATA
|
||
PBUBBLE2 EQU PBUBBLE1+32
|
||
PBUBBLE3 EQU PBUBBLE2+32
|
||
PSEQ EQU PBUBBLE3+32
|
||
PSEQ2 EQU PSEQ+32
|
||
|
||
THINKSEQ EQU 100
|
||
|
||
CAVE_THOUGHT_BUBBLE:
|
||
SLEEP 20 ; DELAY FOR SOUND FINISH
|
||
MOVI BUBBLE_1_TAB,A10
|
||
CMPI SPRING_ANIM,A8
|
||
JRNZ CAVE_THOUGHT_GO
|
||
MOVI BUBBLE_2_TAB,A10
|
||
CAVE_THOUGHT_GO
|
||
MOVE A10,*A13(PSEQ),L
|
||
CREATE INDPID,BUBBLE_ANIM
|
||
MOVI TROGBUBBLEINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_THOUGHT_DIE
|
||
MOVE A0,*A13(PBUBBLE1),L ; OBJECT 1
|
||
CALLA INSOBJ
|
||
|
||
MOVI TROGBUBBLEINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_THOUGHT_DIE
|
||
MOVE A0,*A13(PBUBBLE2),L
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF
|
||
CALLA INSOBJ
|
||
;
|
||
MOVI TROGBUBBLEINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_THOUGHT_DIE
|
||
MOVE A0,*A13(PBUBBLE3),L
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF
|
||
CALLA INSOBJ
|
||
;
|
||
SLEEP 4 ; FIRST PART
|
||
MOVE *A13(PBUBBLE1),A8,L
|
||
MOVI BUBSTAR2,A1
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
SLEEP 4
|
||
;
|
||
CLR A0
|
||
MOVE A0,*A13(PSEQ2),W
|
||
BUBBLE_RESET
|
||
CLR A0
|
||
MOVE *A13(PSEQ),A11,L
|
||
CMPI BUBBLE_1_TAB,A11
|
||
JRZ BUBBLE_BUBBLE ; PHASE 1 ANIMATION THINGIE
|
||
MOVE *A13(PSEQ2),A0,W ; CHECK WHERE WE ARE
|
||
JRZ BUBBLE_BUBBLE ; HAHA, WE'LL TIME IT SOME YEAR
|
||
**** CMPI 1,A0
|
||
**** JRZ BUBBLE_JUMP
|
||
**** CMPI 2,A0
|
||
**** JRZ BUBBLE_JUMP
|
||
**** CMPI 3,A0
|
||
**** JRZ BUBBLE_JUMP
|
||
**** CMPI 4,A0
|
||
**** JRZ BUBBLE_JUMP
|
||
**** CMPI 5,A0
|
||
**** JRZ BUBBLE_JUMP
|
||
**** CMPI 6,A0
|
||
**** JRZ BUBBLE_JUMP
|
||
**** CMPI 7,A0
|
||
**** JRLO BUBBLE_BUBBLE
|
||
****BUBBLE_JUMP
|
||
MOVI BUBBLE_2_REENTER,A11
|
||
BUBBLE_BUBBLE
|
||
INC A0
|
||
MOVE A0,*A13(PSEQ2),W
|
||
BUBBLE_RELOOP
|
||
MOVE *A11+,A1,L
|
||
JRZ BUBBLE_RESET
|
||
MOVE *A13(PBUBBLE1),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A11+,A1,L
|
||
MOVE *A13(PBUBBLE2),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
CALLA OBJ_ON
|
||
MOVE *A11+,A1,L
|
||
MOVE *A13(PBUBBLE3),A8,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
CALLA OBJ_ON
|
||
MOVE *A11+,A0,L
|
||
SLEEPR A0
|
||
JRUC BUBBLE_RELOOP
|
||
CAVE_THOUGHT_DIE:
|
||
DIE
|
||
|
||
BUBBLE_1_TAB:
|
||
.LONG BUBBLE1a, BUBBLE1b, BUBBLE1c, 4
|
||
.LONG BUBBLE2a, BUBBLE2b, BUBBLE3c, 4
|
||
.LONG BUBBLE3a, BUBBLE3b, BUBBLE3c, 4
|
||
.LONG 0
|
||
|
||
BUBBLE_2_TAB:
|
||
.LONG BUBBLE1a, BUBBLE1b, BUBBLE1c, 6
|
||
.LONG BUBBLE2a, BUBBLE2b, BUBBLE3c, 6
|
||
.LONG BUBBLE3a, BUBBLE3b, BUBBLE3c, 6
|
||
BUBBLE_2_WOBBLE:
|
||
.LONG BUBBLE1a, BUBBLE1b, BUBBLE1c, 6
|
||
.LONG BUBBLE2a, BUBBLE2b, BUBBLE3c, 6
|
||
.LONG BUBBLE3a, BUBBLE3b, BUBBLE3c, 6
|
||
BUBBLE_2_REENTER:
|
||
.LONG BUBBLE1a, BUBBLE1b, BUBBLE1c, 8
|
||
.LONG BUBBLE2aa, BUBBLE2b, BUBBLE3c, 8
|
||
.LONG BUBBLE3a, BUBBLE3b, BUBBLE3c, 8
|
||
.LONG 0
|
||
|
||
**************************************************************************
|
||
* *
|
||
* BUBBLE_ANIM *
|
||
* *
|
||
* START A BUBBLE ANIMATION ROLLING *
|
||
* *
|
||
* ENTRY *
|
||
* A8 WHICH BUBBLE ANIMATION TO USE *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
BUBBLE_ANIM:
|
||
SLEEP 8 ; GIVE THE BUBBLE TIME TO GET UP
|
||
JSRPR A8
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* FOOD_ANIM *
|
||
* *
|
||
* ANIMATE A FOOD DISPLAY *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* JSRP *
|
||
* *
|
||
**************************************************************************
|
||
|
||
PFOOD EQU PDATA
|
||
|
||
FOOD_ANIM:
|
||
MOVI FOODREXINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ FOOD_DIE
|
||
CALLA OBJ_PAL_SET
|
||
MOVE A0,*A13(PFOOD),L
|
||
MOVE A0,A8
|
||
CALLA INSOBJ
|
||
CREATE CAVESIGNPID,FOOD_OVERWRITE ; FLASHING FOOD STUFF
|
||
CLR A0
|
||
MOVE A0,*A13(DVEL),L ; ZERO OUT HIS VELOCITY
|
||
MOVI RIGHT,A0
|
||
MOVI REXATAB,A10
|
||
CALLA DINOLOAD
|
||
MOVI [80H,(25*256)+2],A1
|
||
JSRP FRANIM
|
||
MOVE @FOODOBJ,A8,L
|
||
JRZ FOOD_DIE
|
||
CALLA OBJ_OFF ; TURN OFF THAT STUPID FOOD
|
||
FOOD_DIE
|
||
MOVK 1,A1
|
||
MOVE A1,@ANIMDONE,W
|
||
DIE
|
||
|
||
FOOD_OVERWRITE:
|
||
MOVE A8,A10 ; DINO IN A10
|
||
MOVI FOODPICINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ FOOD_OVER_DIE
|
||
MOVE A0,A8
|
||
MOVE A0,A9
|
||
MOVI FADEGRAY15,A0,L
|
||
CALLA GETFPAL
|
||
JRZ FOOD_OVER_DIE
|
||
MOVE A0,*A8(OPAL),W ; SET A GOOD FADER PALETTE
|
||
MOVE @LILFOOD,A1,W
|
||
SLL 5,A1
|
||
ADDI LIL_FOODTAB,A1
|
||
MOVE *A1,A1,L ; WHICH OBJECT
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
CMPI LILPIZZA,A1
|
||
JRNZ FACK2
|
||
CALLA GETANIXY
|
||
ADDI 40000H,A2
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
CALLA OBJ_TO_PNT
|
||
JRUC FAGO
|
||
FACK2
|
||
CMPI LILBURG,A1
|
||
JRNZ FAGO
|
||
CALLA GETANIXY
|
||
SRL 16,A3
|
||
ADDI 20000H,A2
|
||
MOVY A2,A3
|
||
CALLA OBJ_TO_PNT
|
||
FAGO
|
||
MOVE A8,A0
|
||
CALLA OBJ_OFF
|
||
CALLA INSOBJ
|
||
MOVE A8,@FOODOBJ,L
|
||
FOOD_LOOP
|
||
CALLR GETDPAL
|
||
; MOVI RED16,A0
|
||
MOVI FASTFADEUP,A11
|
||
CALLA FADE_ONLY
|
||
MOVI FADEGRAY15,A0
|
||
MOVI FASTFADEDOWN,A11
|
||
CALLA FADE_ONLY
|
||
SLEEP 5
|
||
MOVI CAVE_ZPOS+11,A0
|
||
MOVE A0,*A10(OZPOS),W
|
||
MOVI CAVE_ZPOS+10,A0
|
||
MOVE A0,*A9(OZPOS),W
|
||
SLEEP 25
|
||
MOVE A9,A8
|
||
CALLA OBJ_ON ; MAKE SURE FOOD IS ON
|
||
CALLR GETDPAL
|
||
; MOVI RED16,A0
|
||
MOVI FASTFADEDOWN,A11
|
||
CALLA FADE_ONLY
|
||
MOVI FADEGRAY15,A0
|
||
MOVI FASTFADEUP,A11
|
||
CALLA FADE_ONLY
|
||
SLEEP 5
|
||
MOVI CAVE_ZPOS+11,A0
|
||
MOVE A0,*A9(OZPOS),W
|
||
MOVI CAVE_ZPOS+10,A0
|
||
MOVE A0,*A10(OZPOS),W
|
||
SLEEP 25
|
||
JRUC FOOD_LOOP
|
||
FOOD_OVER_DIE
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CLUB_ANIM *
|
||
* *
|
||
* HANDLE THE ANIMATION FOR TROG CLUBBING A BONE/DINO *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* JSRP *
|
||
* *
|
||
**************************************************************************
|
||
|
||
PDINOA EQU PDATA+60H ; GET BY A FEW THINGS
|
||
PBONEA EQU PDINOA+32
|
||
PTROGA EQU PBONEA+32
|
||
PFIREA EQU PBONEA
|
||
|
||
CLUBHITS EQU 3
|
||
|
||
CLUB_ANIM:
|
||
MOVI CLUBDINOINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CLUB_ANIM_DIE
|
||
CALLR OBJ_PAL_SET
|
||
CALLA INSOBJ
|
||
MOVE A0,*A13(PDINOA),L
|
||
|
||
**** MOVI CLUBBONEINIT,A14
|
||
**** CALLA GPALOBJSTF
|
||
**** JRZ CLUB_ANIM_DIE
|
||
**** CALLR OBJ_PAL_SET
|
||
**** CALLA INSOBJ
|
||
**** MOVE A0,*A13(PBONEA),L
|
||
|
||
MOVI CLUBTROGINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CLUB_ANIM_DIE
|
||
CALLA INSOBJ
|
||
MOVE A0,*A13(PTROGA),L
|
||
MOVE A0,A8
|
||
;
|
||
SLEEP 20 ; GIVE AHA! TIME TO FINISH
|
||
|
||
**** MOVI CLUBHITS,A11
|
||
****CLUB_BONE_LOOP
|
||
**** MOVI CLUBU+LEFT,A0
|
||
**** MOVI TROG_CLUB_ATAB,A10
|
||
**** CALLA DINOLOAD
|
||
**** MOVK 1,A1
|
||
**** JSRP FRANIM
|
||
**** PUSHP A8
|
||
**** MOVE *A13(PBONEA),A8,L
|
||
**** CREATE INDPID,CLUB_PROC_TOO
|
||
**** PULLP A8
|
||
**** MOVK 1,A1
|
||
**** JSRP FRANIM
|
||
**** SLEEP 4
|
||
**** DSJ A11,CLUB_BONE_LOOP
|
||
;
|
||
**** PUSHP A8
|
||
**** MOVE *A13(PBONEA),A8,L
|
||
**** CALLA OBJ_OFF
|
||
**** PULLP A8
|
||
;
|
||
MOVI TROG_CLUB_ATAB,A10
|
||
|
||
MOVI 8000H,A14
|
||
MOVE A14,*A13(DVEL),L
|
||
MOVK LEFT,A0
|
||
CALLA DINOLOAD
|
||
MOVI [0A0H,(7*256)+2],A1
|
||
JSRP FRANIM
|
||
CLR A1
|
||
MOVE A1,*A13(DVEL),L
|
||
MOVI PUNCHU+LEFT,A0
|
||
CALLA DINOLOAD
|
||
MOVK [0AH,1],A1
|
||
JSRP FRANIM
|
||
PUSHP A8
|
||
MOVE *A13(PDINOA),A8,L
|
||
CREATE INDPID,CLUB_PROC_TRES
|
||
PULLP A8
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
MOVI TREATP4F8,A1 ; CHOW TIME
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A8(OXPOS),A1,W
|
||
ADDK 8,A1
|
||
MOVE A1,*A8(OXPOS),W ; SHIFT HIM OVER A LITTLE
|
||
SLEEP 1000
|
||
CLUB_ANIM_DIE:
|
||
RETP
|
||
|
||
CLUB_PROC_TOO:
|
||
MOVK 1,A1
|
||
MOVI VOBLIT1,A9
|
||
JSRP FRANIM
|
||
DIE
|
||
|
||
CLUB_PROC_TRES:
|
||
CLR A0
|
||
MOVE A0,*A13(DVEL),L
|
||
MOVI REXATAB,A10
|
||
MOVI CLUBOUTU+DOWN,A0
|
||
CALLA DINOLOAD
|
||
MOVE *A8(OXPOS),A14,W
|
||
ADDK 5,A14
|
||
MOVE A14,*A8(OXPOS),W
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
CALLA SEE_STARS
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
SLEEP 10
|
||
MOVK 1,A1
|
||
MOVE A1,@ANIMDONE,W
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* FIRE_ANIM *
|
||
* *
|
||
* FIRE ANIMATION THINGS *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* JSRP *
|
||
* *
|
||
**************************************************************************
|
||
|
||
FIRE_ANIM:
|
||
MOVI CLUBTROGINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ FIRE_ANIM_DIE
|
||
CALLA INSOBJ
|
||
MOVE A0,*A13(PTROGA),L
|
||
MOVE A0,A8
|
||
MOVI TROG_CLUB_ATAB,A10
|
||
MOVI 8000H,A14
|
||
MOVE A14,*A13(DVEL),L
|
||
MOVK LEFT,A0
|
||
CALLA DINOLOAD
|
||
MOVI [0A0H,(4*256)+2],A1
|
||
JSRP FRANIM
|
||
CLR A1
|
||
MOVE A1,*A8(OXVEL),L
|
||
MOVE A1,*A8(OYVEL),L
|
||
MOVE A1,*A13(DVEL),L
|
||
CREATE INDPID,FIRE_FIRE
|
||
MOVI STOKEFIREU+LEFT,A0
|
||
CALLA DINOLOAD
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
;
|
||
; ASSUME THE FIRE IS BURNING -- GET CHEF TROG AND REX READY FOR A
|
||
; BACKYARD BARBECUE
|
||
;
|
||
MOVI TREATP4F8,A1 ; CHOW TIME
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE *A8(OXPOS),A1,W
|
||
ADDK 8,A1
|
||
MOVE A1,*A8(OXPOS),W ; SHIFT HIM OVER A LITTLE
|
||
;
|
||
**** SLEEP 60 ; GIVE HIM TIME TO ABSORB FIRE
|
||
MOVI FIREDINOINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ FIRE_ANIM_DIE
|
||
CALLR OBJ_PAL_SET
|
||
MOVE A0,A8
|
||
CALLA INSOBJ
|
||
MOVI 8000H,A0
|
||
MOVE A0,*A13(DVEL),L
|
||
MOVI RIGHT,A0
|
||
MOVI REXATAB,A10
|
||
CALLA DINOLOAD
|
||
MOVI [0A0H,(10*256)+2],A1
|
||
JSRP FRANIM
|
||
CLR A0
|
||
MOVE A0,*A13(DVEL),L
|
||
MOVI FIREU+RIGHT,A0
|
||
CALLA DINOLOAD
|
||
MOVK 1,A1
|
||
CALLA GETANIXY
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
ADDI [-8,0],A3
|
||
CALLA OBJ_TO_PNT
|
||
JSRP FRANIM
|
||
FIRE_ANIM_DIE
|
||
MOVK 1,A1
|
||
MOVE A1,@ANIMDONE,W
|
||
RETP
|
||
|
||
FIRE_FIRE:
|
||
MOVI FIRE_INIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ FIRE_FIRE_DIE
|
||
MOVE A0,A8
|
||
CALLA INSOBJ
|
||
MOVE A0,*A13(PFIREA),L
|
||
MOVI START_FIRE_LR,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
CALLA GETANIXY
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
ADDI [35,-12],A3
|
||
CALLA OBJ_TO_PNT
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
MOVI FIRE_ANIMII,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
FIRE_FIRE_DIE
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* WHEEL_ANIM *
|
||
* *
|
||
* ANIMATE THE LITTLE WHEEL DUDE THROUGH A DINO *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* JSRP *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CRUSHBONES EQU 2
|
||
CRUSHDINOS EQU 1
|
||
|
||
WHEEL_ANIM:
|
||
CREATE INDPID,WHEEL_ROLL ; START THE WHELL ROLLING
|
||
SLEEP 30
|
||
|
||
MOVI CRUSHDINOS,A11 ; DINOS WE ARE GOING TO CRUSH
|
||
DINO_CRUSHER_LOOP
|
||
MOVI WHEELDINOINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ WHEEL_ANIM_DIE
|
||
CALLR OBJ_PAL_SET
|
||
CALLA INSOBJ
|
||
MOVE A0,A8
|
||
MOVI 8000H,A0
|
||
MOVE A0,*A13(DVEL),L ; MOVE IT ACROSS
|
||
MOVI RIGHT,A0
|
||
MOVI REXATAB,A10
|
||
CALLA DINOLOAD
|
||
MOVI [0A0H,(9*256)+2],A1
|
||
JSRP FRANIM
|
||
MOVI DINOSPLAT,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM ; ROAD PIZZA, BABY
|
||
MOVI CAVE_ZPOS+9,A1
|
||
MOVE A1,*A8(OZPOS),W
|
||
SLEEP 45 ; ANIMATE LAST FRAME OFF
|
||
MOVE A8,A0
|
||
CALLA DELOBJ ; DELETE BONE IN A0
|
||
SLEEP 10
|
||
DSJ A11,DINO_CRUSHER_LOOP
|
||
SLEEP 20
|
||
WHEEL_ANIM_DIE
|
||
MOVK 1,A1
|
||
MOVE A1,@ANIMDONE,W
|
||
RETP
|
||
|
||
WHEEL_ROLL:
|
||
CLR A0
|
||
MOVE A0,*A13(DVEL),L ; SPINNING IN THE CENTER
|
||
MOVI WHEELINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ WHEEL_ROLL_DIE
|
||
CALLA INSOBJ
|
||
MOVE A0,A8
|
||
MOVE A0,@WHEELOBJ,L
|
||
MOVI WHLATAB,A10
|
||
MOVI LEFT,A0
|
||
CALLA DINOLOAD
|
||
MOVK 1,A1
|
||
JSRP FRANIM ; SPINNING WHEELS, DUDE
|
||
WHEEL_ROLL_DIE
|
||
DIE
|
||
|
||
WHEEL_BOUNCE:
|
||
MOVE @WHEELOBJ,A8,L
|
||
CALLA GETANIXY
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
MOVE A3,A9
|
||
ADDI [-3,0],A3
|
||
CALLA OBJ_TO_PNT
|
||
SLEEP 8
|
||
MOVE A9,A3
|
||
CALLA OBJ_TO_PNT
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* SPRING_ANIM *
|
||
* *
|
||
* SPRING SHOE ANIMATION *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
SPRING_ANIM:
|
||
CREATE INDPID,SPRING_TIMER
|
||
MOVI SPRINGINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ SPRING_ANIM_DIE
|
||
CALLA INSOBJ
|
||
MOVE A0,A8
|
||
|
||
MOVI TROGWOBBLE_D,A9
|
||
MOVI 0602H,A1
|
||
JSRP FRANIM
|
||
|
||
MOVI SPRINGTABLE,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
|
||
SPRING_ANIM_DIE
|
||
DIE
|
||
|
||
SPRING_TIMER:
|
||
SLEEP 160
|
||
MOVK 1,A1
|
||
MOVE A1,@ANIMDONE,W
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* LIL_PROCESS *
|
||
* *
|
||
* PUT UP ANY OF THE LITTLES THAT ARE NEEDED *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CALL *
|
||
* *
|
||
**************************************************************************
|
||
|
||
LIL_PROCESS:
|
||
MMTM SP,A8,A9,A10,A11
|
||
MOVE @LILOUT,A11,W
|
||
DEC A11
|
||
JRZ LIL_RET
|
||
CLR A10
|
||
LIL_LOOP
|
||
MOVI LILINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ LIL_RET
|
||
MOVE A0,A8
|
||
MOVE A10,A10
|
||
JRNZ LIL_REGOBJ
|
||
MOVE @LILFOOD,A1,W
|
||
CMPI 2,A1
|
||
JRLS LIL_FOOD_OK
|
||
LIL_CHECK
|
||
CALLA RANDOM
|
||
ANDI 3,A0
|
||
JRZ LIL_CHECK
|
||
DEC A0
|
||
MOVE A0,@LILFOOD,W
|
||
MOVE A0,A1 ; OOOPS!
|
||
MOVE A8,A0
|
||
LIL_FOOD_OK
|
||
SLL 5,A1
|
||
ADDI LIL_FOODTAB,A1
|
||
JRUC LIL_GETOBJ
|
||
LIL_REGOBJ
|
||
MOVE A10,A1
|
||
DEC A1
|
||
SLL 5,A1
|
||
ADDI LIL_REGTAB,A1
|
||
LIL_GETOBJ
|
||
MOVE *A1,A1,L ; WHICH OBJECT
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
MOVE A10,A3
|
||
SLL 5,A3
|
||
ADDI LIL_LOCS,A3
|
||
MOVE *A3,A3,L ; LOCATION ON SCREEN
|
||
CALLA OBJ_TO_PNT ; MOVE THE OBJECT
|
||
CALLA INSOBJ
|
||
INC A10
|
||
DSJ A11,LIL_LOOP
|
||
LIL_RET
|
||
MMFM SP,A8,A9,A10,A11
|
||
RETS
|
||
|
||
LIL_LOCS
|
||
.LONG [105+SKYTOPOF,95] ; FOOD
|
||
.LONG [80+SKYTOPOF,120] ; SPRING
|
||
.LONG [68+SKYTOPOF,157] ; CLUB
|
||
.LONG [65+SKYTOPOF,200] ; FIRE
|
||
.LONG [82+SKYTOPOF,239] ; EMC2
|
||
.LONG [102+SKYTOPOF,262] ; WHEEL
|
||
|
||
LIL_FOODTAB
|
||
.LONG LILBURG, LILPIZZA, LILCHICK
|
||
|
||
LIL_REGTAB
|
||
.LONG LILSPRING,LILCLUB,LILFIRE,LILEMC2,LILWHEEL
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_BACKGND *
|
||
* *
|
||
* FIRE UP THE CAVE BACKGROUND AND ASSORTED CYCLERS *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* JSRP *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CAVE_BACKGND:
|
||
MOVI TROGCAVE1,A14
|
||
MOVE A14,@BAKMODS,L ; SETUP THE BACKGROUND
|
||
CALLA BGND_UD1
|
||
RETP
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVESIGN *
|
||
* *
|
||
* DROP THE CAVE SIGN DOWN IN ON PEOPLE *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CREATE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CAVESIGN:
|
||
MOVI SIGNINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ CAVE_NO_SIGN ; BUMMER, IT BROKE
|
||
CALLA INSOBJ
|
||
PUSHP A0
|
||
MOVI CAVSIN,A8 ; PALETTE TO CYCLE
|
||
MOVK 1,A9
|
||
MOVK 2,A10
|
||
MOVK 20,A11 ; TICKS
|
||
CREATE CAVESIGNPID,CYCLE16 ; LIGHTS 1
|
||
MOVK 3,A9
|
||
MOVK 4,A10
|
||
CREATE CAVESIGNPID,CYCLE16 ; LIGHTS 2
|
||
PULLP A8
|
||
MOVK 1,A1
|
||
MOVI SIGNDOWN,A9
|
||
JSRP FRANIM
|
||
CAVE_NO_SIGN
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CAVE_VELS *
|
||
* *
|
||
* SET THE VELOCITIES ON SOME OBJECTS *
|
||
* *
|
||
* ENTRY *
|
||
* A1 XVEL *
|
||
* A2 YVEL *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CALLR *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CAVE_VELS:
|
||
MMTM SP,A8
|
||
MOVE *A13(PSKIN),A8,L
|
||
CAVE_VEL_LOOP
|
||
MOVE A8,A8
|
||
JRZ CAVE_VEL_LOOP_DONE
|
||
MOVE A1,*A8(OXVEL),L
|
||
MOVE A2,*A8(OYVEL),L
|
||
MOVE *A8(OMLINK),A8,L
|
||
JRUC CAVE_VEL_LOOP
|
||
CAVE_VEL_LOOP_DONE
|
||
MMFM SP,A8
|
||
RETS
|
||
|
||
**************************************************************************
|
||
* *
|
||
* OBJ_PAL_SET *
|
||
* *
|
||
* SET THE OBJECT PALETTE TO THE STARTING PLAYER'S PALETTE *
|
||
* *
|
||
* ENTRY *
|
||
* A0 OBJECT POINTER *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
* CALL *
|
||
* CALL *
|
||
* *
|
||
**************************************************************************
|
||
|
||
OBJ_PAL_SET:
|
||
MMTM SP,A0,A8
|
||
MOVE A0,A8
|
||
CALLR GETDPAL
|
||
CALLA GETFPAL
|
||
JRZ OBJ_PAL_FAIL
|
||
MOVE A0,*A8(OPAL),W ; RESET TO PLAYER'S COLORS
|
||
OBJ_PAL_FAIL
|
||
MMFM SP,A0,A8
|
||
RETS
|
||
|
||
GETDPAL:
|
||
MOVE @SPLAYER_NUM,A0,W
|
||
SLL 5,A0
|
||
ADDI OBJ_PAL_TAB,A0
|
||
MOVE *A0,A0,L ; GET THE PALETTE
|
||
RETS
|
||
|
||
OBJ_PAL_TAB
|
||
.LONG RED16,BLUE16,YELLOW16,PINK16
|
||
**************************************************************************
|
||
* *
|
||
* OBJECT INITIALIZATIONS *
|
||
* *
|
||
**************************************************************************
|
||
|
||
TROGX EQU 235
|
||
TROGY EQU 108+SKYTOPOF
|
||
TROGDRAWX EQU 190
|
||
TROGDRAWY EQU 80+SKYTOPOF
|
||
DINOX EQU 165
|
||
DINOY EQU 42+SKYTOPOF
|
||
|
||
TROGSKINIT:
|
||
.LONG [TROGX,0],[TROGY,0]
|
||
.WORD 0,CAVE_ZPOS+6
|
||
.LONG CTROSKF3,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGFRINIT:
|
||
.LONG [TROGX,0],[TROGY,0]
|
||
.WORD 0,CAVE_ZPOS+13
|
||
.LONG CTROFRF3,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGWHINIT:
|
||
.LONG [TROGX,0],[TROGY,0]
|
||
.WORD 0,CAVE_ZPOS+9
|
||
.LONG CTROWHF4,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGARMINIT:
|
||
.LONG [TROGX,0],[TROGY,0]
|
||
.WORD 0,CAVE_ZPOS+8
|
||
.LONG CTROARM1F3,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGEYEINIT:
|
||
.LONG [TROGX,0],[TROGY,0]
|
||
.WORD 0,CAVE_ZPOS+8
|
||
.LONG CTROEY1F9,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGBROWINIT:
|
||
.LONG [TROGX,0],[TROGY,0]
|
||
.WORD 0,CAVE_ZPOS+9
|
||
.LONG CTROBRW1F9,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGBLKINIT:
|
||
.LONG [TROGX,0],[TROGY,0]
|
||
.WORD 0,CAVE_ZPOS+10
|
||
.LONG CTROBLK1F12,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGCHALKINIT:
|
||
.LONG [TROGX,0],[TROGY,0]
|
||
.WORD 0,CAVE_ZPOS+3
|
||
.LONG CHALK41,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGDRAWINIT:
|
||
.LONG [TROGDRAWX,0],[TROGDRAWY,0]
|
||
.WORD 0,CAVE_ZPOS+2
|
||
.LONG DRCLUB2,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGBUBBLEINIT:
|
||
.LONG [TROGX-47,0],[TROGY-77,0]
|
||
.WORD 0,CAVE_ZPOS+5
|
||
.LONG BUBSTAR1,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
TROGDINGINIT:
|
||
.LONG 0,0
|
||
.WORD 0,CAVE_ZPOS+7
|
||
.LONG CTRODINGF12,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
FOODREXINIT:
|
||
.LONG [DINOX,0],[DINOY,0]
|
||
.WORD 0,CAVE_ZPOS+10
|
||
.LONG RESTP0,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
FOODPICINIT:
|
||
.LONG [DINOX-12,0],[DINOY+11,0]
|
||
.WORD 0,CAVE_ZPOS+11
|
||
.LONG LILBURG,0,DUMCOLL
|
||
.WORD DMAWAL,CAVEOID
|
||
|
||
CLUBDINOINIT:
|
||
.LONG [DINOX-15,0],[DINOY,0]
|
||
.WORD 0,CAVE_ZPOS+10
|
||
.LONG RESTP0,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
FIREDINOINIT:
|
||
.LONG [DINOX-30,0],[DINOY,0]
|
||
.WORD 0,CAVE_ZPOS+11
|
||
.LONG SPWAP4F1,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
****CLUBBONEINIT:
|
||
**** .LONG [DINOX+4,0],[DINOY+36,0]
|
||
**** .WORD 0,CAVE_ZPOS+9
|
||
**** .LONG P1VBON,0,DUMCOLL
|
||
**** .WORD DMAWNZ,CAVEOID
|
||
|
||
CLUBTROGINIT:
|
||
.LONG [DINOX+20,0],[DINOY,0]
|
||
.WORD 0,CAVE_ZPOS+10
|
||
.LONG TRSTP0,0,DUMCOLL
|
||
.WORD DMAWNZ|M_FLIPH,CAVEOID
|
||
|
||
FIRE_INIT:
|
||
.LONG [DINOX+13,0],[DINOY,0]
|
||
.WORD 0,CAVE_ZPOS+10
|
||
.LONG SMOKESTAR41,0,DUMCOLL
|
||
.WORD DMAWNZ|M_FLIPH,CAVEOID
|
||
|
||
WHEELINIT:
|
||
.LONG [DINOX,0],[DINOY-6,0]
|
||
.WORD 0,CAVE_ZPOS+10
|
||
.LONG WHEEL410,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
WHEELDINOINIT:
|
||
.LONG [DINOX-30,0],[DINOY,0]
|
||
.WORD 0,CAVE_ZPOS+11
|
||
.LONG RESTP0,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
SPRINGINIT:
|
||
.LONG [DINOX+2,0],[DINOY+8,0]
|
||
.WORD 0,CAVE_ZPOS+10
|
||
.LONG TRBOP0F1,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
LILINIT:
|
||
.LONG 0,0
|
||
.WORD 0,CAVE_ZPOS+1
|
||
.LONG LILBURG,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
SIGNINIT:
|
||
.LONG [80,0],[2+SKYTOPOF-20,0]
|
||
.WORD 0,CAVE_ZPOS
|
||
.LONG TROGCAVSIN,0,DUMCOLL
|
||
.WORD DMAWNZ,CAVEOID
|
||
|
||
**************************************************************************
|
||
* *
|
||
* ANIMATION SCRIPTS *
|
||
* *
|
||
**************************************************************************
|
||
|
||
CHALK $MACRO CNAME
|
||
.LONG :CNAME:
|
||
.WORD INDPID
|
||
.LONG CHALK_PLOT
|
||
$END
|
||
|
||
OBJOFF $MACRO
|
||
.LONG 0
|
||
.WORD INDPID
|
||
.LONG OBJECT_OFF
|
||
$END
|
||
|
||
NEWPICT $MACRO
|
||
.LONG 0
|
||
.WORD INDPID
|
||
.LONG CAVE_UPDATE_DRAWING
|
||
$END
|
||
|
||
ARM $MACRO NUM,TIME
|
||
.LONG CTROARM:NUM:F3
|
||
.WORD :TIME:
|
||
$END
|
||
|
||
CHALKARM $MACRO NUM,CHALKNUM,TIME
|
||
.LONG CTROARM:NUM:F3
|
||
.WORD WRITESLEEP|SPAWNP|MAKESOUND
|
||
.LONG CHALK:CHALKNUM:
|
||
.WORD INDPID
|
||
.LONG CHALK_PLOT
|
||
.LONG SCRATCH_SND
|
||
$END
|
||
|
||
PICTARM $MACRO NUM,TIME
|
||
.LONG CTROARM:NUM:F3
|
||
.WORD 1|SPAWNP
|
||
.LONG 0
|
||
.WORD INDPID
|
||
.LONG CAVE_UPDATE_DRAWING
|
||
$END
|
||
|
||
|
||
DRAW2 $MACRO
|
||
ARM 1,WRITESLEEP
|
||
ARM 3,WRITESLEEP
|
||
ARM 2,WRITESLEEP
|
||
CHALKARM 4,41,WRITESLEEP
|
||
CHALKARM 7,72,WRITESLEEP
|
||
CHALKARM 8,83,WRITESLEEP
|
||
CHALKARM 6,64,WRITESLEEP
|
||
ARM 9,WRITESLEEP
|
||
CHALKARM 10,105,WRITESLEEP
|
||
CHALKARM 9,96,WRITESLEEP
|
||
CHALKARM 6,67,WRITESLEEP
|
||
CHALKARM 8,88,WRITESLEEP
|
||
CHALKARM 5,59,WRITESLEEP
|
||
ARM 3,WRITESLEEP
|
||
ARM 1,WRITESLEEP
|
||
ARM 7,WRITESLEEP
|
||
$END
|
||
|
||
DRAW3 $MACRO
|
||
ARM 9,WRITESLEEP
|
||
CHALKARM 6,67,WRITESLEEP
|
||
ARM 9,WRITESLEEP
|
||
CHALKARM 8,813,WRITESLEEP
|
||
CHALKARM 5,59,WRITESLEEP
|
||
ARM 7,WRITESLEEP
|
||
CHALKARM 9,914,WRITESLEEP
|
||
CHALKARM 6,67,WRITESLEEP
|
||
CHALKARM 8,88,WRITESLEEP
|
||
ARM 2,WRITESLEEP
|
||
CHALKARM 4,41,WRITESLEEP
|
||
CHALKARM 2,215,WRITESLEEP
|
||
CHALKARM 4,41,WRITESLEEP
|
||
CHALKARM 7,72,WRITESLEEP
|
||
$END
|
||
|
||
DRAW4 $MACRO
|
||
ARM 8,WRITESLEEP
|
||
CHALKARM 9,916,WRITESLEEP
|
||
CHALKARM 10,105,WRITESLEEP
|
||
CHALKARM 9,96,WRITESLEEP
|
||
CHALKARM 8,917,WRITESLEEP
|
||
CHALKARM 5,59,WRITESLEEP
|
||
ARM 7,WRITESLEEP
|
||
ARM 4,WRITESLEEP
|
||
CHALKARM 1,118,WRITESLEEP
|
||
CHALKARM 4,419,WRITESLEEP
|
||
CHALKARM 1,118,WRITESLEEP
|
||
CHALKARM 4,419,WRITESLEEP
|
||
$END
|
||
|
||
DRAW5 $MACRO
|
||
ARM 1,WRITESLEEP
|
||
ARM 2,WRITESLEEP
|
||
CHALKARM 4,41,WRITESLEEP
|
||
ARM 3,WRITESLEEP
|
||
CHALKARM 4,419,WRITESLEEP
|
||
CHALKARM 10,1020,WRITESLEEP
|
||
CHALKARM 7,721,WRITESLEEP
|
||
CHALKARM 8,83,WRITESLEEP
|
||
ARM 9,WRITESLEEP
|
||
CHALKARM 2,222,WRITESLEEP
|
||
$END
|
||
|
||
DRAW6 $MACRO
|
||
ARM 5,WRITESLEEP
|
||
ARM 8,WRITESLEEP
|
||
CHALKARM 6,64,WRITESLEEP
|
||
CHALKARM 8,88,WRITESLEEP
|
||
$END
|
||
|
||
TROGWRITEARM
|
||
DRAW2
|
||
PICTARM 7,1
|
||
DRAW3
|
||
DRAW6
|
||
DRAW6
|
||
PICTARM 8,1
|
||
DRAW6
|
||
DRAW6
|
||
.LONG 0
|
||
.IF 0
|
||
DRAW4
|
||
PICTARM 8,1
|
||
DRAW5
|
||
DRAW5
|
||
PICTARM 2,1
|
||
DRAW5
|
||
.LONG 0
|
||
.WORD 0
|
||
.ENDIF
|
||
|
||
|
||
|
||
WHITE $MACRO NUM,TIME
|
||
.LONG CTROWH:NUM:F3
|
||
.WORD :TIME:
|
||
$END
|
||
|
||
WHITENO $MACRO NUM,TIME
|
||
.LONG CTROWH9F3 ; ARM ANYTHING
|
||
.WORD WRITESLEEP|SPAWNP
|
||
OBJOFF
|
||
$END
|
||
|
||
WHITE2 $MACRO
|
||
WHITE 1,WRITESLEEP
|
||
WHITE 3,WRITESLEEP
|
||
WHITE 2,WRITESLEEP
|
||
WHITE 4,WRITESLEEP
|
||
WHITE 7,WRITESLEEP
|
||
WHITE 8,WRITESLEEP
|
||
WHITENO 6,WRITESLEEP
|
||
WHITE 9,WRITESLEEP
|
||
WHITE 10,WRITESLEEP
|
||
WHITE 9,WRITESLEEP
|
||
WHITENO 6,WRITESLEEP
|
||
WHITE 8,WRITESLEEP
|
||
WHITE 5,WRITESLEEP
|
||
WHITE 3,WRITESLEEP
|
||
WHITE 1,WRITESLEEP
|
||
WHITE 7,WRITESLEEP
|
||
$END
|
||
|
||
WHITE3 $MACRO
|
||
WHITE 9,WRITESLEEP
|
||
WHITENO 6,WRITESLEEP
|
||
WHITE 9,WRITESLEEP
|
||
WHITE 8,WRITESLEEP
|
||
WHITE 5,WRITESLEEP
|
||
WHITE 7,WRITESLEEP
|
||
WHITE 9,WRITESLEEP
|
||
WHITENO 6,WRITESLEEP
|
||
WHITE 8,WRITESLEEP
|
||
WHITE 2,WRITESLEEP
|
||
WHITE 4,WRITESLEEP
|
||
WHITE 2,WRITESLEEP
|
||
WHITE 4,WRITESLEEP
|
||
WHITE 7,WRITESLEEP
|
||
$END
|
||
|
||
WHITE4 $MACRO
|
||
WHITE 8,WRITESLEEP
|
||
WHITE 9,WRITESLEEP
|
||
WHITE 10,WRITESLEEP
|
||
WHITE 9,WRITESLEEP
|
||
WHITE 8,WRITESLEEP
|
||
WHITE 5,WRITESLEEP
|
||
WHITE 7,WRITESLEEP
|
||
WHITE 4,WRITESLEEP
|
||
WHITE 1,WRITESLEEP
|
||
WHITE 4,WRITESLEEP
|
||
WHITE 1,WRITESLEEP
|
||
WHITE 4,WRITESLEEP
|
||
$END
|
||
|
||
WHITE5 $MACRO
|
||
WHITE 1,WRITESLEEP
|
||
WHITE 2,WRITESLEEP
|
||
WHITE 4,WRITESLEEP
|
||
WHITE 3,WRITESLEEP
|
||
WHITE 4,WRITESLEEP
|
||
WHITE 10,WRITESLEEP
|
||
WHITE 7,WRITESLEEP
|
||
WHITE 8,WRITESLEEP
|
||
WHITE 9,WRITESLEEP
|
||
WHITE 2,WRITESLEEP
|
||
$END
|
||
|
||
WHITE6 $MACRO
|
||
WHITE 5,WRITESLEEP
|
||
WHITE 8,WRITESLEEP
|
||
WHITENO 6,WRITESLEEP
|
||
WHITE 8,WRITESLEEP
|
||
$END
|
||
|
||
TROGWRITEWHITE
|
||
WHITE2
|
||
WHITE 7,1
|
||
WHITE3
|
||
WHITE6
|
||
WHITE6
|
||
WHITE 8,1
|
||
WHITE6
|
||
WHITE6
|
||
.LONG 0
|
||
.IF 0
|
||
WHITE4
|
||
WHITE 8,1
|
||
WHITE5
|
||
WHITE5
|
||
WHITE 2,1
|
||
WHITE5
|
||
.LONG 0
|
||
.WORD 0
|
||
.ENDIF
|
||
|
||
TROGSCRATCHARM:
|
||
.LONG CTROARM3F9
|
||
.WORD 3|MAKESOUND
|
||
.LONG HEADSCRATCH_SND
|
||
.LONG CTROARM4F9
|
||
.WORD 3
|
||
.LONG CTROARM3F9
|
||
.WORD 3
|
||
.LONG CTROARM4F9
|
||
.WORD 3
|
||
.LONG CTROARM3F9
|
||
.WORD 3
|
||
.LONG 0
|
||
.WORD 0
|
||
|
||
TROGSCRATCHEYE:
|
||
.LONG CTROEY1F9
|
||
.WORD 16
|
||
.LONG CTROEY2F9
|
||
.WORD 4
|
||
.LONG CTROEY3F9
|
||
.WORD 4
|
||
.LONG CTROEY4F9
|
||
.WORD 16
|
||
.LONG CTROEY3F9
|
||
.WORD 4
|
||
.LONG CTROEY2F9
|
||
.WORD 4
|
||
.LONG CTROEY1F9
|
||
.WORD 16
|
||
.LONG 0
|
||
.WORD 0
|
||
|
||
TROGEYEBLINK:
|
||
.LONG CTROBLK1F12
|
||
.WORD 4
|
||
.LONG CTROBLK2F12
|
||
.WORD 4
|
||
.LONG CTROBLK1F12
|
||
.WORD 4
|
||
.LONG 0
|
||
.WORD 0
|
||
|
||
TROGBROW:
|
||
.LONG CTROBRW1F9
|
||
.WORD 4|DELTAY,1
|
||
.LONG CTROBRW1F9
|
||
.WORD 4|DELTAY,1
|
||
.LONG CTROBRW1F9
|
||
.WORD 4|DELTAY,1
|
||
.LONG CTROBRW1F9
|
||
.WORD 4|DELTAY,1
|
||
.LONG CTROBRW1F9
|
||
.WORD 4|DELTAY,1
|
||
.LONG CTROBRW2F9
|
||
.WORD 45
|
||
.LONG CTROBRW1F9 ; BRING IT BACK UP
|
||
.WORD 2|DELTAY,-1
|
||
.LONG CTROBRW1F9
|
||
.WORD 2|DELTAY,-1
|
||
.LONG 0
|
||
.WORD 0
|
||
|
||
DINOSPLAT:
|
||
.LONG SPSQP4FF1
|
||
.WORD 4
|
||
.LONG SPSQP4FF2
|
||
.WORD 4|MAKESOUND|SPAWNP
|
||
.LONG 0
|
||
.WORD INDPID
|
||
.LONG WHEEL_BOUNCE
|
||
.LONG DINOSQUASH_SND
|
||
.LONG SPSQP4FF3
|
||
.WORD 4
|
||
.LONG 0
|
||
|
||
SIGNDOWN:
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,2
|
||
.LONG TROGCAVSIN
|
||
.WORD 1
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,-3
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,-3
|
||
.LONG TROGCAVSIN
|
||
.WORD 1
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,3
|
||
.LONG TROGCAVSIN
|
||
.WORD 1|DELTAY,3
|
||
.LONG 0
|
||
|
||
SPRINGTABLE1:
|
||
.LONG TRBOP0F1
|
||
.WORD 4
|
||
SPRINGTABLE:
|
||
.LONG TRBOP0F2
|
||
.WORD 4|MAKESOUND
|
||
.LONG SHORTSPRING_SND
|
||
.LONG TRBOP0F3
|
||
.WORD 4
|
||
.LONG TRBOP0F4
|
||
.WORD 8|DELTAY,-3
|
||
.LONG TRBOP0F5
|
||
.WORD 4|SCRIPT|DELTAY,3
|
||
.LONG SPRINGTABLE1
|
||
|
||
**************************************************************************
|
||
* *
|
||
* PALETTE TO FADE DRAWINGS UP WITH *
|
||
* *
|
||
**************************************************************************
|
||
|
||
FADENOSIGN: .LONG CAVSIN,0
|
||
|
||
FADEGRAY15:
|
||
.word 16
|
||
.word >0,>0,>421,>1083,>14A4,>18C5,>1CE6,>2107
|
||
.word >2528,>2949,>318B,>39CD,>420F,>4A51,>5293,>62F7
|
||
|
||
FADETAB .WORD 80,80,80,80,88,88,88,88,96,96,96,96,104,104,104,104
|
||
.WORD 112,112,112,112,120,120,120,120,128,128,128,128,>FFFF
|
||
|
||
FASTFADEUP:
|
||
.WORD 0,16,32,48,64,80,96,112,128,>FFFF
|
||
; .WORD 80,88,96,104,112,120,128,>FFFF
|
||
|
||
FASTFADEDOWN:
|
||
.WORD 128,112,96,80,64,48,32,16,0,>FFFF
|
||
; .WORD 128,120,112,104,96,88,80,>FFFF
|
||
|
||
**************************************************************************
|
||
* *
|
||
* NIFTY SOUNDS *
|
||
* *
|
||
**************************************************************************
|
||
|
||
SCRATCH_SND:
|
||
.WORD >F302,3,>80AC,0 ; TROG DRAWING
|
||
|
||
DING_SND:
|
||
.WORD >F302,30,>80BA,0 ; TROG IDEA DING
|
||
|
||
HMMM_SND:
|
||
.WORD >F002,30,>80BE,0 ; TROG THINKING
|
||
|
||
AHA_SND:
|
||
.WORD >F00A,30,>804A,0 ; AHA!
|
||
|
||
HEADSCRATCH_SND:
|
||
.WORD >F302,3,>80A7,0 ; FINGER IN HEAD
|
||
|
||
****TUNE_SND
|
||
**** .WORD >F2FD,3,>8000,>802F,>100,>8005,>4024,0
|
||
TUNE_SND
|
||
.WORD >F2FD,>1,>8009,0 ;CAVE TUNE
|
||
|
||
TRANSITION_SND
|
||
.WORD >F2FD,3,>8017,0
|
||
|
||
DINOSQUASH_SND:
|
||
.WORD >F011,>20,>807C,0 ;DINO GETS SQUASHED BY WHEEL
|
||
|
||
SHORTSPRING_SND:
|
||
.WORD >F300,>5,>80A0,0 ;SHORT SPRING SOUND
|
||
|
||
|