1962 lines
41 KiB
NASM
1962 lines
41 KiB
NASM
.MLIB "TROGMACS.LIB"
|
||
.FILE 'TROGATT.ASM'
|
||
.TITLE " <<< T R O G -- ATTRACT MODE ROUTINES >>>"
|
||
.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 "BGNDTBL.GLO" ;Background equates
|
||
.INCLUDE "TROGAEQU.ASM" ; TROG ANIMATION STUFF
|
||
.INCLUDE "STRING.H"
|
||
.INCLUDE "TROGSEQU.ASM"
|
||
.INCLUDE "TROGAUDN.ASM"
|
||
|
||
|
||
.DEF ATTRACT_MODE, ATT_MODE_HSTD, BSPIKEFALL
|
||
.DEF DRAW_P_BORDER, ATT_MODE_GAME_OVER, CREDITS_TEXT
|
||
.DEF OCTO_PAGE, HSTD_ENTRY_POINT, CRED_ENTRY_POINT
|
||
.DEF STORY_MODE, ON_CRED
|
||
|
||
.REF WIPEOUT, CLRBGND, BGND_UD1, BGND_UD2, BAKMODS, BAK2MODS
|
||
.REF GWENATAB, REXATAB, BLOOPATAB, SPIKEATAB, TROGATAB
|
||
.REF TROG_ATT_APPEAR, DUMCOLL
|
||
.REF DINOLOAD, TROG_PIT, TROG_START, TROG_NEW_PNT, TROGINIT
|
||
.REF TRSTP0, FADEIN, FADE_ONLY, FadeIn, FadeOut
|
||
.REF RECLAIM_LAND, GPLAYNUM, CREDIT_SCREEN, MARQUEE
|
||
.REF WAVEEGGS, PLAYER, EGG_DIVISOR, EGGS_AT_ONCE
|
||
.REF WAVE_START, WAVE, SCORPROC, GAME_INTRO, GRAMINIT
|
||
.REF GAME_DIFFICULTY, EGG_START, PLAYER, DINO_START
|
||
.REF PDRAW, DINO_VEL, DINO_FRANIM, DINO_ADD_VEL
|
||
.REF OWINDOW, OBJEXP32, SKYCOLOR, GPLAYD, SPSTP0, APLAYDONE
|
||
.REF GET_CSTR, G_CRED, ISLAND_NUM, FADEIN, FADEOUT
|
||
.REF FLOWERINIT, SHROOMINIT, PINEAPPLEINIT
|
||
.REF FIREINIT, PITINIT, TARINIT, SKYCOLOR, WATER_CYCLE, SKYUP
|
||
.REF FLAMESM2, FIRE_ANIMII, PINEAPPLESPIN, TAR1a, TAR_ANIM1, OGPIT11
|
||
.REF WARMSET, ROM_NAME, BAKLST, OBJLST
|
||
.REF SLEEP_SWITCHX, CREDITBGND, LOGOINIT,COPYRIGHTINIT
|
||
.REF OCTO_PRINT_AUDS, OCTO_PRINT_AUDS_2, GAMEUNITS, BUYWIN_Z
|
||
.REF OCTO_PRINT_AUDS_3, OCTO_PRINT_AUDS_4
|
||
.REF ATT_HSTD, GET_CSTR
|
||
.REF P1W1DINO, P2W1DINO, P3W1DINO, P4W1DINO
|
||
.REF BAKMODS, BGND_UD1, BACKGROUND1
|
||
|
||
.BSS STORY_MODE,16 ; 1 IF IN STORY MODE
|
||
.BSS STORYOBJ,32 ; STORY BOX OBJECT
|
||
.BSS WINOBJ,32 ; BLACK WINDOW OBJECT
|
||
.BSS DINO_OBJECTS,(4*32)
|
||
.BSS TEMPNUM,16
|
||
.BSS TROG_OBJ,32
|
||
.BSS ON_CRED,16
|
||
.BSS STORY_DINO,32 ; WHICH STORY DINO WE ARE WORKING ON
|
||
.BSS AMODE_PAGE,16 ;PAGE OF WHICH WE SHALL DISPLAY
|
||
|
||
.TEXT
|
||
.EVEN
|
||
|
||
ATT_ZPOS .EQU 300H ;BIG OLD Z POSITION FOR THESE GUYS
|
||
|
||
**************************************************************************
|
||
* *
|
||
* ATTRACT_MODE - PROCESS TO CYCLE THROUGH THE ATTRACT MODE ROUTINES *
|
||
* DURING GAME OVER. *
|
||
* *
|
||
**************************************************************************
|
||
|
||
ATTRACT_MODE:
|
||
CLR A0
|
||
MOVE A0,@GAMEUNITS,W ; CLEAR OUT ANY POTENTIAL GAME UNITS
|
||
MOVIM 1,@AMODE_PAGE,W
|
||
ATTRACT_MODE_LP
|
||
SOUNDOFF
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP TITLE_PAGE
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
ATT_MODE_CREDIT:
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP CREDIT_SCREEN
|
||
ATT_MODE_HSTD:
|
||
SOUNDOFF
|
||
ADJUST ADJHSON
|
||
JREQ ATT_MODE_STORY
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP ATT_HSTD
|
||
ATT_MODE_STORY:
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP STORY
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP CREDIT_SCREEN ; STICK YE OLD CREDIT SCREEN IN
|
||
ATT_MODE_ENEMIES:
|
||
ADJUST ADJHSON
|
||
JREQ ATT_MODE_HOWTO
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP ATT_HSTD
|
||
|
||
ATT_MODE_HOWTO
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP HOW_TO_PAGE
|
||
|
||
JRUC ATTRACT_MODE_LP
|
||
|
||
HSTD_ENTRY_POINT
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP ATT_HSTD
|
||
JRUC ATT_MODE_STORY
|
||
|
||
CRED_ENTRY_POINT
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP CREDITS_PAGE
|
||
JRUC ATT_MODE_CREDIT
|
||
|
||
|
||
**************************************************************************
|
||
* *
|
||
* ATT_MODE_GAME_OVER - ATTRACT MODE ENTRY POINT FROM GAME OVER *
|
||
* *
|
||
**************************************************************************
|
||
|
||
ATT_MODE_GAME_OVER:
|
||
SOUNDOFF
|
||
ADJUST ADJHSON
|
||
JREQ ATT_MODE_GO_TITLE
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP ATT_HSTD
|
||
ATT_MODE_GO_TITLE
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP TITLE_PAGE
|
||
JRUC ATT_MODE_STORY
|
||
|
||
**************************************************************************
|
||
* *
|
||
* TITLE_PAGE - OUTPUT THE TROG TITLE PAGE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
TITLE_PAGE:
|
||
CALLA WIPEOUT
|
||
CLR A0
|
||
MOVE A0,@SCRNTL,L ;RE-ADJUST TOP LEFT CORNER OF SCREEN
|
||
MOVI 0F0F0F0FH,A0
|
||
CALLA FILL_SCRN ;LET'S MAKE IT HAPPEN
|
||
MOVK 17,A0 ;LEVEL OF BLUE
|
||
MOVE A0,@IRQSKYE,W
|
||
|
||
MOVK 3,A0
|
||
MOVE A0,@GAMERASE,W ;AUTO ERASE ON
|
||
|
||
DISPON
|
||
MOVI BALLYINIT,A14
|
||
CALLA MAKE_OBJ
|
||
MOVE A0,A8
|
||
MOVI PRESENTSINIT,A14
|
||
CALLA MAKE_OBJ
|
||
|
||
SLEEP 40
|
||
|
||
SLEEPK 2
|
||
CLR A0
|
||
MOVE A0,@GAMERASE,W ;STOP AUTO-ERASE
|
||
CALLA AUTOEOFF
|
||
DISPOFF
|
||
MOVI TITLE_MODS,A1
|
||
MOVE A1,@BAK2MODS,L
|
||
CALLA BGND_UD2 ;UPDATE THE CURRENT SECONDARY BGND
|
||
MOVI SCRNMID,A0
|
||
MOVE A0,@SCRNTL,W
|
||
MOVE A0,@SCRNLR,W
|
||
DISPON
|
||
CLR A10
|
||
MOVI SCRNEND,A11
|
||
MOVI 30,A0
|
||
JSRP SCREXP32 ;EXPAND OUT THE WORDS
|
||
SLEEPK 30
|
||
MOVK 3,A0
|
||
MOVE A0,@GAMERASE,W
|
||
MOVI PLAYMATEINIT,A14
|
||
CALLA MAKE_OBJ
|
||
MOVI TITLE2_MODS,A1
|
||
MOVE A1,@BAKMODS,L
|
||
CALLA BGND_UD1 ;UPDATE THE CURRENT PRIMARY BGND
|
||
SLEEP 230
|
||
RETP
|
||
|
||
**************************************************************************
|
||
* *
|
||
* STORY *
|
||
* *
|
||
* STARTING POINT FOR SHOWING THE WONDERFUL STORIES ABOUT 4 *
|
||
* LITTLE DINOS WHO DECIDED TO MAKE IT BIG IN THE WORLD BY *
|
||
* STRUTTING THEIR STUFF FOR QUARTERS *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* MONEY -- LOTS OF MONEY *
|
||
* *
|
||
**************************************************************************
|
||
|
||
STORY:
|
||
MOVK 1,A0
|
||
MOVE A0,@STORY_MODE,W
|
||
|
||
MOVE @STORY_DINO,A2,L ; CHANGING OF THE DINOS
|
||
CALLA GPLAYNUM
|
||
INC A0
|
||
MOVE @NPLAYERS,A14,W ;GET NUMBER OF DINOS ALLOWED!
|
||
CMP A14,A0 ;BR = HAVE WE SURPASSED THIS?
|
||
JRLS STORY_DINO_OK ;BR = NO
|
||
CLR A0 ;RESET TO REXINATOR
|
||
STORY_DINO_OK
|
||
SLL 30,A0
|
||
SRL 30,A0
|
||
CALLA GPLAYD ; TURN BACK INTO A POINTER
|
||
MOVE A2,@STORY_DINO,L
|
||
; MOVI P1DATA,A2 ; START WITH REX
|
||
CLR A0
|
||
MOVE A0,*A2(PBONEHIT),W ; FIX THE LEVEL 1 PLAY STUFF
|
||
JSRP ATTGAMESTART ; SETUP THE GAME
|
||
SOUNDOFF ; NO ATTRACT MODE SOUNDS
|
||
MOVI TROG_STORY1,A8
|
||
CALLA LM_SETUP
|
||
JSRP PRINTF
|
||
CALLR TEXT_CHANGE
|
||
SLEEP 40
|
||
; MOVI P1DATA,A2
|
||
MOVE @STORY_DINO,A2,L
|
||
MOVK 1,A0
|
||
MOVE A0,@WAVE
|
||
JSRP WAVE_START ;DO THE WAVE INITIALIZATION
|
||
|
||
SLEEP 50
|
||
CALLR TEXT_DELETE
|
||
MOVI TROG_STORY2,A8
|
||
CALLA LM_SETUP
|
||
JSRP PRINTF
|
||
CALLR TEXT_CHANGE
|
||
SLEEPK 30
|
||
CREATE INDPIDW,THE_BIG_GUY ; POP TROG
|
||
SLEEP 250
|
||
|
||
MOVI TROGINIT,A14 ;NOW MAKE THE LITTLE TROG
|
||
CALLA GPALOBJSTF ;GET AN OBJECT AND STUFF
|
||
JRZ STORY_SKIP_LITTLE ;BR = WE FAILED TO GET AN OBJECT
|
||
|
||
MOVE A0,A8
|
||
MOVE A0,@TROG_OBJ,L ; KEEP THE TROGSTER AROUND
|
||
MOVI [98H,0C2H],A1
|
||
CALLA TROG_NEW_PNT ;CENTER TROG ON THIS NEW POINT
|
||
MOVE A1,A9
|
||
CREATE INDPID,TROG_PIT ;START THE PIT FROM WHICH HE WILL EMERGE
|
||
SLEEP 61
|
||
MOVI TROG_ATT_APPEAR,A9
|
||
MOVK 4,A1
|
||
JSRP FRANIM ;LOAD THE NEW FRAME
|
||
CALLA INSERT_OBJ ;INSERT THIS 'TING
|
||
SLEEPR A0 ;SLEEP THE FRAME TIME
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
STORY_SKIP_LITTLE:
|
||
CALLR TEXT_DELETE
|
||
MOVI TROG_STORY3,A8
|
||
CALLA LM_SETUP
|
||
JSRP PRINTF
|
||
CALLR TEXT_CHANGE
|
||
JSRP PARADE ; I LOVE A PARADE
|
||
CALLR TEXT_DELETE
|
||
|
||
STORY_DIE
|
||
MOVI DINO_OBJECTS,A1
|
||
MOVE *A1+,A8,L
|
||
JRZ STORY_DIE1
|
||
CALLA DELETE_OBJ
|
||
; CALLA DELOBJ
|
||
STORY_DIE1
|
||
MOVE *A1+,A8,L
|
||
JRZ STORY_DIE2
|
||
CALLA DELETE_OBJ
|
||
; CALLA DELOBJ
|
||
STORY_DIE2
|
||
MOVE *A1+,A8,L
|
||
JRZ STORY_DIE3
|
||
CALLA DELETE_OBJ
|
||
; CALLA DELOBJ
|
||
STORY_DIE3
|
||
MOVE *A1+,A8,L
|
||
JRZ STORY_DIE4
|
||
CALLA DELETE_OBJ
|
||
; CALLA DELOBJ
|
||
STORY_DIE4
|
||
MOVE @TROG_OBJ,A8,L
|
||
JRZ STORY_DIE5
|
||
CALLA DELETE_OBJ ; LATER, TROG
|
||
STORY_DIE5
|
||
CLR A0
|
||
MOVE A0,@STORY_MODE,W
|
||
RETP
|
||
|
||
**************************************************************************
|
||
* *
|
||
* HOW_TO_PAGE - CREATE THE HOW TO PAGE *
|
||
* *
|
||
**************************************************************************
|
||
HOW_TO_PAGE
|
||
MOVI INDPIDW,A0
|
||
MOVE A0,*A13(PROCID),W ; MAKE SURE i&M WORKING
|
||
|
||
MOVK 1,A0
|
||
MOVE A0,@STORY_MODE,W
|
||
|
||
; MOVI P1DATA,A2
|
||
MOVE @STORY_DINO,A2,L
|
||
CLR A0
|
||
MOVE A0,*A2(PBONEHIT),W ; FIX THE LEVEL 1 PLAY STUFF
|
||
MOVE A0,*A2(PBARS),W
|
||
MOVE A0,*A2(PEGGOUT),W ;CLEAR THE EGG FLAGS
|
||
MOVE A0,*A2(PEGGINIT),W
|
||
JSRP ATTGAMESTART ; SETUP THE GAME
|
||
SOUNDOFF ; NO ATTRACT MODE SOUNDS
|
||
|
||
; MOVI P1DATA,A2
|
||
MOVE @STORY_DINO,A2,L
|
||
|
||
MOVE @AMODE_PAGE,@WAVE,W
|
||
JSRP WAVE_START ;DO THE WAVE INITIALIZATION
|
||
MOVE @AMODE_PAGE,A0,W
|
||
CMPI 1,A0
|
||
JRNE HTN_CHECK4
|
||
MOVK 4,A0
|
||
JRUC HOW_TO_NXT
|
||
HTN_CHECK4
|
||
CMPI 4,A0
|
||
JRNE HTN_NEXT1
|
||
MOVK 12,A0
|
||
JRUC HOW_TO_NXT
|
||
HTN_NEXT1
|
||
MOVK 1,A0
|
||
HOW_TO_NXT
|
||
MOVE A0,@AMODE_PAGE
|
||
|
||
MOVIM 6,@WAVEEGGS,W ;LIMIT THE NUMBER OF EGGS
|
||
MOVIM 6,@EGGS_AT_ONCE,W ;LET THEM ALL OUT AT ONE TIME
|
||
MOVIM 1,@EGG_DIVISOR,W ;ONLY ONE PLAYER THIS WAVE
|
||
|
||
MOVI TROG_GAME_OVER,A8
|
||
JSRP LM_PRINTF
|
||
MOVI TEXTOID,A0
|
||
MOVI GAMEOVEROID,A1
|
||
CALLA CHANGOID ; SOMETHING THAT WON'T GET HURT
|
||
|
||
MOVE @STORY_DINO,A2,L
|
||
CALLA PLAYER
|
||
SLEEPK 5
|
||
MOVE @STORY_DINO,A2,L
|
||
MOVE *A2(POBJ),A8,L
|
||
MOVE *A8(OPLINK),A0,L
|
||
MOVIB 1,*A0(DSMART)
|
||
|
||
CLR A8
|
||
CLR A9
|
||
MOVI 360,A11
|
||
STORY_WAIT
|
||
SLEEPK 5
|
||
INC A8
|
||
CMPI 6,A8
|
||
JRLT STORY_WAIT_GO
|
||
CLR A8
|
||
MOVE A9,A9
|
||
JRZ STORY_OFF_TEXT
|
||
MOVI GAMEOVEROID,A0
|
||
CLR A1
|
||
NOT A1
|
||
MOVI DMACNZ,A4
|
||
CALLA OBJECTS_ON
|
||
CLR A8
|
||
CLR A9
|
||
JRUC STORY_WAIT_GO
|
||
STORY_OFF_TEXT
|
||
MOVI GAMEOVEROID,A0
|
||
CLR A1
|
||
NOT A1
|
||
CALLA OBJECTS_OFF
|
||
MOVK 1,A9
|
||
CLR A8
|
||
STORY_WAIT_GO
|
||
DEC A11
|
||
JRLE STORY_XXX
|
||
MOVE @APLAYDONE,A0
|
||
JRZ STORY_WAIT
|
||
|
||
CLR A0
|
||
MOVE A0,@APLAYDONE,W ; SIMPLE HANDSHAKING FOR LOCKUP
|
||
|
||
SLEEPK 3 ; GIVE OBJECT SYSTEM A SECOND TO WORK
|
||
|
||
MOVI GAMEOVEROID,A0 ; KILL OFF THE "GAME OVER"
|
||
CALLA KILOBJ_ALL ; LATER, DUDES!
|
||
|
||
SLEEP 60
|
||
STORY_XXX
|
||
CLR A0
|
||
MOVE A0,@STORY_MODE,W
|
||
RETP
|
||
|
||
**************************************************************************
|
||
* *
|
||
* PARADE *
|
||
* *
|
||
* START ALL THE BIG DINOS WALKING IN *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
**************************************************************************
|
||
|
||
PARADE:
|
||
CLR A8
|
||
CREATE PARADE_PID,BIG_DINO_WALK
|
||
SLEEP 200
|
||
MOVK 1,A8
|
||
CREATE PARADE_PID,BIG_DINO_WALK
|
||
SLEEP 250
|
||
MOVK 2,A8
|
||
CREATE PARADE_PID,BIG_DINO_WALK
|
||
SLEEP 200
|
||
MOVK 3,A8
|
||
CREATE PARADE_PID,BIG_DINO_WALK
|
||
SLEEP 300
|
||
RETP
|
||
|
||
TEXT_CHANGE:
|
||
MMTM SP,A0,A1
|
||
MOVI TEXTOID,A0
|
||
MOVI GAMEOVEROID,A1
|
||
CALLA CHANGOID ; CLEAN OUT ALL THE TEXT THINGS
|
||
MMFM SP,A0,A1
|
||
RETS
|
||
|
||
TEXT_DELETE:
|
||
MMTM SP,A0,A1
|
||
MOVI GAMEOVEROID,A0 ; TIME IS IN THIS OID
|
||
CLR A1
|
||
NOT A1
|
||
CALLA KILOBJ ; LATER, DUDES!
|
||
MMFM SP,A0,A1
|
||
RETS
|
||
|
||
**************************************************************************
|
||
* *
|
||
* THE_BIG_GUY *
|
||
* *
|
||
* BRING OUT THE BIG MAN *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
**************************************************************************
|
||
|
||
ASCENDTIME EQU 30
|
||
DESCENDTIME EQU 30
|
||
TROGHEIGHT EQU 190
|
||
|
||
PTBODY EQU PDATA ; TROG BODY
|
||
PTHAND EQU PTBODY+32 ; HAND/ARM
|
||
PTBROW EQU PTHAND+32 ; BROW
|
||
PTBLINK EQU PTBROW+32 ; BLINKERS
|
||
|
||
THE_BIG_GUY:
|
||
CALLA CLRPDATA
|
||
*GNP CHANGES 5/23/90
|
||
MOVI TROGPARTS,A5 ; BASE BODY
|
||
CALLA MULTI_MAKE
|
||
JRZ BIG_GUY_DIE
|
||
MOVE A8,*A13(PTBODY),L
|
||
*END GNP CHANGES
|
||
CALLR BUILD_PARTS ; BUILD UP THE REST OF HIM
|
||
JRZ BIG_GUY_DIE
|
||
CALLR TROG_INS ; GET HIM ON THE OBJECT LIST
|
||
MOVI [TROGHEIGHT,0],A2 ; DISTANCE TO TRAVEL
|
||
CLR A3
|
||
MOVI ASCENDTIME,A4 ; 20 TICKS TO GET UP
|
||
CALLA SLINEVEL
|
||
CALLR SET_VELS ; GET ALL THOSE PARTS MOVING
|
||
MOVE *A13(PTBLINK),A8,L
|
||
CREATE INDPIDW,TROG_BLINK ; FIRE OFF THE BLINKER
|
||
MOVE *A13(PTBODY),A8,L
|
||
SLEEP ASCENDTIME
|
||
CLR A1
|
||
CLR A2
|
||
CALLR SET_VELS
|
||
;
|
||
; HERE WE ARE AT THE TOP
|
||
;
|
||
SLEEPK 30 ; BLINK A COUPLE OF TIMES
|
||
MOVE *A13(PTBROW),A8,L
|
||
MOVI BTROGBROWRISE,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
SLEEPK 20
|
||
MOVE *A13(PTHAND),A8,L ; HAND OBJECT
|
||
CREATE INDPIDW,TROG_WAVE
|
||
SLEEP 120 ; GIVE HAND TIME TO WAVE AND GET DOWN
|
||
;
|
||
; DROP BACK DOWN
|
||
;
|
||
CLR A2
|
||
MOVI [TROGHEIGHT,0],A3 ; DISTANCE TO TRAVEL
|
||
MOVI DESCENDTIME,A4 ; 20 TICKS TO GET UP
|
||
CALLA SLINEVEL
|
||
CALLR SET_VELS ; GET ALL THOSE PARTS MOVING
|
||
SLEEP DESCENDTIME
|
||
CLR A1
|
||
CLR A2
|
||
CALLR SET_VELS
|
||
CALLR TROG_DELETE
|
||
|
||
BIG_GUY_DIE
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* TROG_BLINK *
|
||
* *
|
||
* START HIS MAJESTY'S EYE BLINKING *
|
||
* *
|
||
* ENTRY *
|
||
* A8 POINTER TO BLINKER OBJECT ( NOT ON OBJECT LIST ) *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
**************************************************************************
|
||
|
||
TROG_BLINK:
|
||
MOVI BLINKSLEEP,A10
|
||
CALLA OBJ_OFF ; MAKE SURE IT IS TURNED OFF
|
||
; MOVE A8,A0
|
||
; CALLA INSOBJ
|
||
TROG_BLINK_LOOP
|
||
CALLA OBJ_ON
|
||
MOVI BTROGBLINK,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
CALLA OBJ_OFF
|
||
MOVE *A10+,A0,W
|
||
JRZ TROG_BLINK_DIE
|
||
SLEEPR A0
|
||
JRUC TROG_BLINK_LOOP
|
||
TROG_BLINK_DIE
|
||
DIE
|
||
|
||
BLINKSLEEP
|
||
.WORD 5,15,115,5,5,0
|
||
|
||
**************************************************************************
|
||
* *
|
||
* TROG_WAVE *
|
||
* *
|
||
* START THE OLD TROGSTER WAVING *
|
||
* *
|
||
* ENTRY *
|
||
* A8 POINTER TO HAND OBJECT *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
**************************************************************************
|
||
|
||
TROG_WAVE:
|
||
MOVI BTROGWAVE,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
DIE
|
||
|
||
**************************************************************************
|
||
* *
|
||
* BUILD_PARTS *
|
||
* *
|
||
* CREATE OBJECTS FOR ALL OF TROGS PARTS *
|
||
* *
|
||
* ENTRY *
|
||
* A8 BASE OBJECT *
|
||
* *
|
||
* EXIT *
|
||
* A8 ZERO IF SOMETHING WENT WRONG *
|
||
* *
|
||
**************************************************************************
|
||
*GNP CHANGES 5/23/90
|
||
BUILD_PARTS:
|
||
MMTM SP,A0,A1,A2,A3
|
||
MOVI [256,200],A3
|
||
CALLA OBJ_TO_PNT
|
||
MOVI 7FFF000CH,A1
|
||
CALLA STORE_ZVAL
|
||
|
||
BUILD_LOOP_DONE
|
||
MOVI TROGHAND,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ BUILD_FAIL
|
||
MOVI 7FFF000DH,A14
|
||
MOVE A14,*A0(OZVAL),L
|
||
MOVE A0,*A13(PTHAND),L
|
||
MOVI TROGBROW,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ BUILD_FAIL
|
||
MOVI 7FFF000FH,A14
|
||
MOVE A14,*A0(OZVAL),L
|
||
MOVE A0,*A13(PTBROW),L
|
||
MOVI TROGBLINK,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ BUILD_FAIL
|
||
MOVI 7FFF000EH,A14
|
||
MOVE A14,*A0(OZVAL),L
|
||
MOVE A0,*A13(PTBLINK),L
|
||
JRUC BUILD_DONE
|
||
|
||
BUILD_FAIL
|
||
CALLR TROG_DELETE
|
||
CLR A8
|
||
|
||
BUILD_DONE
|
||
MOVE A8,A8 ; MAKE SURE FLAGS ARE SET
|
||
MMFM SP,A0,A1,A2,A3
|
||
RETS
|
||
|
||
**************************************************************************
|
||
* *
|
||
* TROG_INS *
|
||
* *
|
||
* INSERT ALL THE REGULAR TROG PARTS ON THE OBJECT LIST *
|
||
* *
|
||
* ENTRY *
|
||
* A8 HEAD OF OBJECT *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
**************************************************************************
|
||
TROG_INS:
|
||
MMTM SP,A0,A8
|
||
CALLA INSERT_OBJ
|
||
|
||
MOVE *A13(PTHAND),A0,L
|
||
JRZ TROG_INS_2
|
||
CALLA INSOBJ
|
||
TROG_INS_2
|
||
MOVE *A13(PTBROW),A0,L
|
||
JRZ TROG_INS_3
|
||
CALLA INSOBJ
|
||
TROG_INS_3
|
||
MOVE *A13(PTBLINK),A0,L
|
||
JRZ TROG_INS_DONE
|
||
MOVE A0,A8
|
||
CALLA OBJ_OFF ; INSURE IT IS TURNED OFF!
|
||
CALLA INSOBJ
|
||
TROG_INS_DONE
|
||
MMFM SP,A0,A8
|
||
RETS
|
||
|
||
**************************************************************************
|
||
* *
|
||
* TROG_DELETE *
|
||
* *
|
||
* DELETE ALL POSSIBLE TROG PARTS *
|
||
* *
|
||
* ENTRY *
|
||
* NOTHING *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
**************************************************************************
|
||
|
||
TROG_DELETE:
|
||
MMTM SP,A0,A8
|
||
MOVE *A13(PTBODY),A8,L
|
||
JRZ TROG_DELETE_PARTS
|
||
CALLA DELETE_OBJ
|
||
TROG_DELETE_PARTS
|
||
MOVE *A13(PTHAND),A8,L
|
||
JRZ TROG_DELETE_PARTS_2
|
||
CALLA DELETE_OBJ
|
||
TROG_DELETE_PARTS_2
|
||
MOVE *A13(PTBROW),A8,L
|
||
JRZ TROG_DELETE_PARTS_3
|
||
CALLA DELETE_OBJ
|
||
TROG_DELETE_PARTS_3
|
||
MOVE *A13(PTBLINK),A8,L
|
||
JRZ TROG_DELETE_DONE
|
||
CALLA DELETE_OBJ
|
||
TROG_DELETE_DONE
|
||
MMFM SP,A0,A8
|
||
RETS
|
||
|
||
**************************************************************************
|
||
* *
|
||
* SET_VELS *
|
||
* *
|
||
* SETUP ALL THE VELOCITIES FOR SOME OBJECTS *
|
||
* *
|
||
* ENTRY *
|
||
* A1 X VEL *
|
||
* A2 Y VEL *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
**************************************************************************
|
||
|
||
SET_VELS:
|
||
MMTM SP,A8
|
||
MOVE *A13(PTBODY),A8,L
|
||
JRZ SET_VEL_LOOP_DONE
|
||
***SET_VEL_LOOP
|
||
MOVE A1,*A8(OXVEL),L
|
||
MOVE A2,*A8(OYVEL),L
|
||
*** MOVE *A8(OMLINK),A8,L
|
||
*** JRNZ SET_VEL_LOOP
|
||
SET_VEL_LOOP_DONE
|
||
MOVE *A13(PTHAND),A8,L
|
||
JRZ SET_VEL_2
|
||
MOVE A1,*A8(OXVEL),L
|
||
MOVE A2,*A8(OYVEL),L
|
||
SET_VEL_2
|
||
MOVE *A13(PTBROW),A8,L
|
||
JRZ SET_VEL_3
|
||
MOVE A1,*A8(OXVEL),L
|
||
MOVE A2,*A8(OYVEL),L
|
||
SET_VEL_3
|
||
MOVE *A13(PTBLINK),A8,L
|
||
JRZ SET_VEL_DONE
|
||
MOVE A1,*A8(OXVEL),L
|
||
MOVE A2,*A8(OYVEL),L
|
||
SET_VEL_DONE
|
||
MMFM SP,A8
|
||
RETS
|
||
|
||
TROGPARTS:
|
||
.LONG DUMCOLL,0
|
||
.WORD DMAWNZ,ATTOID
|
||
.LONG BTRHED
|
||
.LONG DUMCOLL,0
|
||
.WORD DMAWNZ,ATTOID
|
||
.LONG BTRBEARD
|
||
.LONG DUMCOLL,0
|
||
.WORD DMAWNZ,ATTOID
|
||
.LONG BTRHAIR
|
||
.LONG DUMCOLL,0
|
||
.WORD DMAWNZ,ATTOID
|
||
.LONG BTREYE
|
||
.LONG DUMCOLL,0
|
||
.WORD DMAWNZ,ATTOID
|
||
.LONG BTRTEETH
|
||
.LONG 0
|
||
|
||
TROGBROW:
|
||
.LONG [200,0],[264,0] ; START EYEBROW DOWN
|
||
.WORD 0,ATT_ZPOS+30
|
||
.LONG BTRBROW,[5,10],DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
TROGHAND:
|
||
.LONG [200,0],[256,0]
|
||
.WORD 0,ATT_ZPOS+10
|
||
.LONG BTRHAND5,[5,10],DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
TROGBLINK:
|
||
.LONG [200,0],[256,0]
|
||
.WORD 0,ATT_ZPOS+20
|
||
.LONG BTRBLINK1,[5,10],DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
*END GNP CHANGES
|
||
|
||
**************************************************************************
|
||
* *
|
||
* BIG_DINO_WALK *
|
||
* *
|
||
* ANIMATE A BIG DINO ONTO THE SCREEN AND THEN INTO HIS CORNER *
|
||
* (WITH PROPER INTRODUCTIONS) *
|
||
* *
|
||
* ENTRY *
|
||
* A8 NUMBER OF DINO *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
**************************************************************************
|
||
|
||
PBASEOBJ EQU DFURTHEST ; BASE OBJECT
|
||
PHEADOBJ EQU PBASEOBJ+32 ; HEAD OBJECT
|
||
PTUNGOBJ EQU PHEADOBJ+32 ; TONGUE ( FOR BLOOP )
|
||
PFALLDIR EQU PTUNGOBJ+32 ; DIRECTION TO FALL IN
|
||
|
||
DINOLEFTWALK EQU 180
|
||
DINORIGHTWALK EQU 180
|
||
|
||
BIG_DINO_WALK:
|
||
CALLA CLRPDATA
|
||
MOVE A8,*A13(PFALLDIR),W
|
||
SLL 5,A8
|
||
MOVE A8,A9
|
||
MOVE A8,A14
|
||
ADDI DINOHEADOBJ,A14
|
||
MOVE *A14,A14,L
|
||
CALLA GPALOBJSTF
|
||
MOVE A0,*A13(PHEADOBJ),L ; SAVE IT AWAY
|
||
;
|
||
MOVE A9,A14
|
||
CLR A0
|
||
ADDI DINOTUNGOBJ,A14
|
||
MOVE *A14,A14,L
|
||
JRZ NO_TUNG_CREATE
|
||
CALLA GPALOBJSTF
|
||
NO_TUNG_CREATE
|
||
MOVE A0,*A13(PTUNGOBJ),L
|
||
;
|
||
MOVE A9,A14
|
||
ADDI DINOBASEOBJ,A14
|
||
MOVE *A14,A14,L
|
||
CALLA GPALOBJSTF
|
||
MOVE A0,*A13(PBASEOBJ),L
|
||
MOVE A0,A8
|
||
MOVE A9,A0
|
||
ADDI DINOPALTAB,A0
|
||
MOVE *A0,A0,L
|
||
CALLA GETFPAL
|
||
MOVE A0,*A8(OPAL),W ; SET A GOOD PALETTE
|
||
MOVE A8,A0 ; RESTORE OBJECT
|
||
CALLA INSOBJ ; INSERT BASE DINO ON LIST
|
||
MOVE A0,A8
|
||
|
||
MOVE *A13(PFALLDIR),A0,W
|
||
ANDI 1,A0
|
||
JRZ BIG_STAGE_LEFT
|
||
MOVI [0,440],A2
|
||
MOVI [0,200],A3
|
||
MOVI DINORIGHTWALK,A4
|
||
CALLA SLINEVEL
|
||
MOVE A1,*A8(OXVEL),L
|
||
MOVE A2,*A8(OYVEL),L
|
||
MOVI BSPIKELF,A9
|
||
MOVI [0,(256*45)+2],A1 ; THIS MANY FRAMES
|
||
JRUC BIG_DINO_GO
|
||
BIG_STAGE_LEFT
|
||
CLR A2
|
||
MOVI [0,200],A3
|
||
MOVI DINOLEFTWALK,A4
|
||
CALLA SLINEVEL
|
||
MOVE A1,*A8(OXVEL),L
|
||
MOVE A2,*A8(OYVEL),L
|
||
MOVI [0,(256*45)+2],A1 ; THIS MANY FRAMES
|
||
MOVI BSPIKERT,A9
|
||
BIG_DINO_GO
|
||
JSRP FRANIM ; WALK TO CENTER STAGE
|
||
|
||
CLR A1
|
||
MOVE A1,*A8(OXVEL),L ; STOPPING THEM MIGHT BE NICE
|
||
MOVE A1,*A8(OYVEL),L
|
||
;
|
||
; SO HERE WE ARE, STANDING AT CENTER STAGE
|
||
;
|
||
CALLR TEXT_DELETE
|
||
MOVE *A13(PFALLDIR),A8,W
|
||
; CMPI 3,A8 ; GWEN CHECK
|
||
; JRNZ BIG_DINO_TX1
|
||
; MOVI TROG_AND,A8
|
||
; JSRP SHADOWTEXT
|
||
; CALLA LM_SETUP
|
||
; JSRP PRINTF
|
||
; CALLR TEXT_CHANGE
|
||
; SLEEP 30
|
||
; CALLR TEXT_DELETE
|
||
; MOVE *A13(PFALLDIR),A8,W
|
||
;BIG_DINO_TX1
|
||
SLL 5,A8
|
||
ADDI TROG_STORY_TAB,A8
|
||
MOVE *A8,A8,L
|
||
BIG_DINO_TEXT
|
||
CALLA LM_SETUP
|
||
JSRP PRINTF
|
||
CALLR TEXT_CHANGE
|
||
MOVE *A13(PBASEOBJ),A8,L ; RESTORE BASE
|
||
MOVI BSPSTP3,A1 ; START TURN
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
SLEEPK 4
|
||
CALLA GETANIXY ; LOCATION OF BODY INTO A2/A3
|
||
MOVE *A13(PHEADOBJ),A8,L ; GET THE HEAD
|
||
MOVE *A13(PFALLDIR),A0,W
|
||
ANDI 1,A0
|
||
JRZ NO_HEAD_FLIP
|
||
MOVE *A8(OIMG),A1,L ; OLD IMAGE
|
||
MOVE *A8(OFLAGS),A4,W
|
||
ORI M_FLIPH,A4 ; WANT IT FLIPPED, DUDE!
|
||
CALLA ANI
|
||
NO_HEAD_FLIP
|
||
SRL 16,A3
|
||
MOVY A2,A3
|
||
CALLA OBJ_TO_PNT
|
||
MOVE A8,A0
|
||
CALLA INSOBJ
|
||
MOVE *A13(PTUNGOBJ),A8,L
|
||
JRZ NO_TUNG
|
||
MOVE *A13(PFALLDIR),A0,W
|
||
ANDI 1,A0
|
||
JRZ NO_TUNG_FLIP
|
||
MOVE *A8(OIMG),A1,L
|
||
MOVE *A8(OFLAGS),A4,W
|
||
ORI M_FLIPH,A4 ; WANT IT FLIPPED, DUDE!
|
||
CALLA ANI
|
||
NO_TUNG_FLIP
|
||
CALLA OBJ_TO_PNT
|
||
MOVE A8,A0
|
||
CALLA INSOBJ
|
||
NO_TUNG
|
||
MOVE *A13(PBASEOBJ),A8,L
|
||
MOVI BSPTORP2,A1
|
||
MOVE *A8(OFLAGS),A4,W
|
||
CALLA ANI
|
||
SLEEP 60
|
||
MOVE *A13(PHEADOBJ),A8,L
|
||
; CALLA OBJ_OFF
|
||
; MOVE A8,A0
|
||
; CALLA DELOBJ
|
||
CALLA DELETE_OBJ
|
||
MOVE *A13(PTUNGOBJ),A8,L
|
||
JRZ NO_TUNG_DELETE
|
||
; CALLA OBJ_OFF
|
||
; MOVE A8,A0
|
||
; CALLA DELOBJ
|
||
CALLA DELETE_OBJ
|
||
NO_TUNG_DELETE
|
||
;
|
||
; NOW MAKE THE GUY FALL DOWN
|
||
;
|
||
CALLR TEXT_DELETE
|
||
MOVE *A13(PBASEOBJ),A8,L ; GET THE BASE OBJECT BACK
|
||
MOVI ATT_ZPOS-10,A0
|
||
MOVE A0,*A8(OZPOS),W ; MAKE HIM FALL BEHIND DINOS
|
||
CALLA GETANIXY
|
||
SRL 16,A3
|
||
MOVX A3,A2 ; STARTING POINT
|
||
MOVE *A13(PFALLDIR),A0,W
|
||
SLL 5,A0
|
||
ADDI DINOSTARTTAB,A0
|
||
MOVE *A0,A3,L
|
||
MOVI 10*4,A4 ; 10 FRAMES
|
||
CALLA SLINEVEL
|
||
MOVE A1,*A8(OXVEL),L
|
||
MOVE A2,*A8(OYVEL),L
|
||
MOVI BSPIKEFALL,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM ;LOAD THE NEW FRAME
|
||
CLR A1
|
||
MOVE A1,*A8(OXVEL),L ; STOPPING THEM MIGHT BE NICE
|
||
MOVE A1,*A8(OYVEL),L
|
||
MOVE *A13(PFALLDIR),A0,W
|
||
SLL 5,A0
|
||
ADDI DINO_OBJECTS,A0
|
||
MOVE A8,*A0,L
|
||
SLEEP 60
|
||
DIE
|
||
|
||
DINOBASEOBJ
|
||
.LONG REXINIT, BLOOPINIT, SPIKEINIT, GWENINIT
|
||
|
||
DINOHEADOBJ
|
||
.LONG REXHEADINIT, BLOOPHEADINIT, SPIKEHEADINIT, GWENHEADINIT
|
||
|
||
DINOTUNGOBJ
|
||
.LONG 0,BLOOPTUNGINIT, 0, 0
|
||
|
||
DINOPALTAB
|
||
.LONG RED16, BLUE16, YELLOW16, PINK16
|
||
|
||
DINOSTARTTAB:
|
||
.LONG [65,77]
|
||
.LONG [184,77]
|
||
.LONG [65,310]
|
||
.LONG [184,310]
|
||
|
||
DINO_POS_Y EQU 145
|
||
|
||
REXINIT:
|
||
.LONG [0,0],[DINO_POS_Y,0]
|
||
.WORD 0,ATT_ZPOS
|
||
.LONG BSPWP4F1,[5,10],DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
|
||
BLOOPINIT:
|
||
.LONG [440,0],[DINO_POS_Y,0]
|
||
.WORD 0,ATT_ZPOS
|
||
.LONG BSPWP4F1,0,DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
|
||
SPIKEINIT:
|
||
; .LONG [440,0],[DINO_POS_Y,0]
|
||
.LONG [0,0],[DINO_POS_Y,0]
|
||
.WORD 0,ATT_ZPOS
|
||
.LONG BSPWP4F1,0,DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
|
||
GWENINIT:
|
||
.LONG [440,0],[DINO_POS_Y,0]
|
||
.WORD 0,ATT_ZPOS
|
||
.LONG BSPWP4F1,0,DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
|
||
REXHEADINIT:
|
||
.LONG [100,0],[DINO_POS_Y,0]
|
||
.WORD 0,ATT_ZPOS+20
|
||
.LONG REXHED,0,DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
|
||
BLOOPHEADINIT:
|
||
.LONG [100,0],[DINO_POS_Y,0]
|
||
.WORD 0,ATT_ZPOS+20
|
||
.LONG BLOOPHED,0,DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
|
||
SPIKEHEADINIT:
|
||
.LONG [100,0],[DINO_POS_Y,0]
|
||
.WORD 0,ATT_ZPOS+20
|
||
.LONG SPIKEHED,0,DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
|
||
GWENHEADINIT:
|
||
.LONG [100,0],[DINO_POS_Y,0]
|
||
.WORD 0,ATT_ZPOS+20
|
||
.LONG GWENHED,0,DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
|
||
BLOOPTUNGINIT:
|
||
.LONG [100,0],[DINO_POS_Y,0]
|
||
.WORD 0,ATT_ZPOS+40
|
||
.LONG blooptung,0,DUMCOLL
|
||
.WORD DMAWNZ,ATTOID
|
||
|
||
TOP_TEXT_Y EQU 68
|
||
|
||
TROG_STORY1:
|
||
MESS_MAC RD15FONT,1,196,TOP_TEXT_Y,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "\f\dL\f\dong, long ago"
|
||
.STRING "\nin a land named OG -",0
|
||
.LONG [-6,-1]
|
||
.LONG RD20FONT
|
||
.LONG [6,1]
|
||
.LONG RD15FONT
|
||
.EVEN
|
||
|
||
|
||
TROG_STORY2:
|
||
MESS_MAC RD15FONT,1,196,TOP_TEXT_Y,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "\f\dT\f\dhere lived a one-eyed caveman"
|
||
.STRING "\nby the name of \bTROG !",0
|
||
.LONG [-6,-1]
|
||
.LONG RD20FONT
|
||
.LONG [6,1]
|
||
.LONG RD15FONT
|
||
.WORD TROG_RED
|
||
.EVEN
|
||
|
||
TROG_STORY3:
|
||
MESS_MAC RD15FONT,1,196,TOP_TEXT_Y,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "\f\dA\f\dnd in that land"
|
||
.STRING "\nthere lived four friends -",0
|
||
.LONG [-6,-1]
|
||
.LONG RD20FONT
|
||
.LONG [6,1]
|
||
.LONG RD15FONT
|
||
.EVEN
|
||
|
||
.IF 0
|
||
TROG_STORY41:
|
||
MESS_MAC RD15FONT,1,196,TOP_TEXT_Y,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "When they've picked up their \beggs,\b",0
|
||
.WORD TROG_BLUE
|
||
.WORD TROG_WHITE
|
||
.EVEN
|
||
|
||
TROG_STORY42:
|
||
MESS_MAC RD15FONT,1,196,TOP_TEXT_Y,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "\nYou'll see them smile and shout -",0
|
||
.EVEN
|
||
|
||
TROG_STORY51:
|
||
MESS_MAC RD15FONT,1,196,TOP_TEXT_Y,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "'cause leading Dinos \bhome\b",0
|
||
.WORD TROG_BLUE
|
||
.WORD TROG_WHITE
|
||
.EVEN
|
||
|
||
TROG_STORY52:
|
||
MESS_MAC RD15FONT,1,196,TOP_TEXT_Y,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "\nis what the game's about !!",0
|
||
.EVEN
|
||
.ENDIF
|
||
|
||
TROG_GAME_OVER:
|
||
MESS_MAC RD7FONT,1,198,244,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "GAME OVER",0
|
||
.EVEN
|
||
|
||
TROG_STORY_TAB:
|
||
.LONG TROG_STORY_REX, TROG_STORY_BLOOP, TROG_STORY_SPIKE
|
||
.LONG TROG_STORY_GWEN
|
||
|
||
TROG_STORY_REX:
|
||
MESS_MAC RD20FONT,1,200,TOP_TEXT_Y+9,TROG_PRED,STRCNRMOS,0
|
||
.STRING "REX",0
|
||
.EVEN
|
||
|
||
TROG_STORY_BLOOP:
|
||
MESS_MAC RD20FONT,1,200,TOP_TEXT_Y+9,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "\f\dand\f\d \bBLOoP",0
|
||
.LONG [3,0]
|
||
.LONG RD15FONT
|
||
.LONG [-3,0]
|
||
.LONG RD20FONT
|
||
.WORD TROG_BLUE
|
||
.EVEN
|
||
|
||
TROG_STORY_SPIKE:
|
||
MESS_MAC RD20FONT,1,200,TOP_TEXT_Y+9,TROG_PYELLOW,STRCNRMOS,0
|
||
.STRING "SPIKE",0
|
||
.EVEN
|
||
|
||
TROG_STORY_GWEN:
|
||
MESS_MAC RD20FONT,1,200,TOP_TEXT_Y+9,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "\f\dand\f\d \bGWEN",0
|
||
.LONG [3,0]
|
||
.LONG RD15FONT
|
||
.LONG [-3,0]
|
||
.LONG RD20FONT
|
||
.WORD TROG_PURPLE
|
||
.EVEN
|
||
|
||
**************************************************************************
|
||
* *
|
||
* UTILITY ROUTINES *
|
||
* *
|
||
**************************************************************************
|
||
|
||
**************************************************************************
|
||
* *
|
||
* ATTGAMESTART *
|
||
* *
|
||
* START UP AN ATTRACT MODE GAME *
|
||
* *
|
||
* ENTRY *
|
||
* A2 PLAYER DATA AREA *
|
||
* *
|
||
* EXIT *
|
||
* NOTHING *
|
||
* *
|
||
**************************************************************************
|
||
|
||
ATTGAMESTART:
|
||
MMTM A12,A8,A9,A10,A11
|
||
CALLA WIPEOUT
|
||
MOVK 1,A0
|
||
MOVE A0,@STORY_MODE,W ; WIPEOUT WIPES ME
|
||
CALLA GRAMINIT ;INITIALIZE GAME RAM
|
||
CALLA GAME_DIFFICULTY ;INITIALIZE GAME DIFFICULTY PARAMS
|
||
MOVK 1,A0 ;THESE 2 INSTRUCTIONS AFTER CLRALLPD
|
||
MOVE A0,*A2(PENTER),W ;YEAH! DUDE IS READY TO PLAY!
|
||
MOVK 1,A0
|
||
MOVE A0,*A2(PLIVES),W
|
||
|
||
CREATE INDPIDW,SCORPROC ;START UP THE PUSH PLAYER START PROCESS
|
||
|
||
DISPON ;DISPLAY SYSTEM BACKON
|
||
JSRP GAME_INTRO
|
||
|
||
; MOVK 1,A0
|
||
; MOVE A0,@WAVE
|
||
|
||
; JSRP WAVE_START ;DO THE WAVE INITIALIZATION
|
||
|
||
MMFM A12,A8,A9,A10,A11
|
||
RETP
|
||
|
||
.IF 0
|
||
**************************************************************************
|
||
* *
|
||
* ENEMIES PAGE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
BASELINE1 EQU 75
|
||
BASELINE2 EQU 152
|
||
|
||
TITLE1 EQU BASELINE1-24
|
||
TITLE2 EQU BASELINE2-24
|
||
TEXT1 EQU BASELINE1+20
|
||
TEXT2 EQU BASELINE2+24
|
||
|
||
BASE_X EQU 18
|
||
BASE_Y EQU 13
|
||
|
||
ATT_ENEMY:
|
||
CALLA WIPEOUT
|
||
DISPOFF ; INSURE DISPLAY IS REALLY OFF
|
||
CLR A0
|
||
MOVE A0,@SCRNTL,L ;RE-ADJUST TOP LEFT CORNER OF SCREEN
|
||
MOVI 0F0F0F0FH,A0
|
||
CALLA FILL_SCRN ;LET'S MAKE IT HAPPEN
|
||
CLR A0
|
||
MOVE A0,@IRQSKYE,W
|
||
MOVK 21,A0
|
||
MOVE A0,@SKYCOLOR,W
|
||
MOVK 3,A0
|
||
MOVE A0,@GAMERASE,W ;AUTO ERASE ON
|
||
MOVI TROGBLACKBOARD,A14
|
||
MOVE A14,@BAKMODS,L ; SETUP THE BACKGROUND
|
||
CALLA BGND_UD1
|
||
MOVE @BAKLST,A14,L
|
||
MOVE A14,@OBJLST,L ; COPY BACKGROUND OBJECTS TO FOREGND
|
||
CLR A14
|
||
MOVE A14,@BAKLST,L ; LATER ON THE BACKGND OBJECTS
|
||
;
|
||
; SETUP ALL THE WINDOWS
|
||
;
|
||
MOVK 1,A0 ; TICKS TO OPEN IN
|
||
MOVI 55,A1 ; ZPOS
|
||
MOVI [213,318],A8 ; W,H
|
||
MOVI [108+BASE_Y,172+BASE_X],A10 ; CENTER
|
||
JSRP OWINDOW
|
||
JRZ SHOW_DIE
|
||
MOVI NOYLAND1,A0
|
||
|
||
CALLA GETFPAL
|
||
MOVE A0,*A8(OPAL),W ; SET A GOOD PALETTE
|
||
MOVI 0303H,A0
|
||
MOVE A0,*A8(OCONST),W
|
||
;
|
||
MOVK 1,A0 ; TICKS TO OPEN IN
|
||
MOVI 50,A1 ; ZPOS
|
||
MOVI [220,333],A8 ; W,H
|
||
MOVI [104+BASE_Y,173+BASE_X],A10 ; CENTER
|
||
JSRP OWINDOW
|
||
JRZ SHOW_DIE
|
||
MOVI trogcol,A0
|
||
CALLA GETFPAL
|
||
MOVE A0,*A8(OPAL),W ; SET A GOOD PALETTE
|
||
MOVE A0,@TEMPNUM,W
|
||
MOVI 0A0AH,A0
|
||
MOVE A0,*A8(OCONST),W
|
||
;
|
||
MOVK 1,A0 ; TICKS TO OPEN IN
|
||
MOVI 60,A1 ; ZPOS
|
||
MOVI [8,345],A8 ; W,H
|
||
MOVI [217+BASE_Y,173+BASE_X],A10 ; CENTER
|
||
JSRP OWINDOW
|
||
JRZ SHOW_DIE
|
||
MOVE @TEMPNUM,A9,W
|
||
MOVE A9,*A8(OPAL),W ; SET A GOOD PALETTE
|
||
MOVI 0808H,A0
|
||
MOVE A0,*A8(OCONST),W
|
||
;
|
||
MOVK 1,A0 ; TICKS TO OPEN IN
|
||
MOVI 60,A1 ; ZPOS
|
||
MOVI [8,345],A8 ; W,H
|
||
MOVI [224+BASE_Y,173+BASE_X],A10 ; CENTER
|
||
JSRP OWINDOW
|
||
JRZ SHOW_DIE
|
||
MOVE @TEMPNUM,A9,W
|
||
MOVE A9,*A8(OPAL),W ; SET A GOOD PALETTE
|
||
MOVI 0B0BH,A0
|
||
MOVE A0,*A8(OCONST),W
|
||
;
|
||
MOVI STUFF_MESS,A8
|
||
JSRP LM_PRINTF
|
||
|
||
MOVI CREDIT_TEXT,A8
|
||
CALLA LM_SETUP
|
||
CALLA GET_CSTR ; GET THE CREDIT STRING
|
||
JSRP PRINTF ; PRINT THE SCORE THING
|
||
;
|
||
; FADE UP THE WORLD
|
||
;
|
||
MOVI 600H,A9
|
||
CREATE SKYPID,SKYUP ; FADE UP THE SKY
|
||
CLR A0
|
||
CALLA FADEIN
|
||
SLEEPK 3
|
||
DISPON
|
||
SLEEP 60
|
||
|
||
MOVI TEXTOID,A0
|
||
MOVI ATTOID,A1
|
||
CALLA CHANGOID ; CLEAN OUT ALL THE TEXT THINGS
|
||
;
|
||
; NOW INSTRUCT THE GUY ON ENEMY ETIQUETTE
|
||
;
|
||
MOVI TEXT_TABLE,A2
|
||
TELOOP:
|
||
MOVE *A2+,A7,L ; OBJECT PROCESS
|
||
JRZ TEDONE
|
||
MOVI INDPID,A1
|
||
CALLA GETPRC ; FORK IT OFF
|
||
;
|
||
MOVI TEXT_BASE_TEXT,A8
|
||
CALLA LM_SETUP
|
||
MOVI TROG_PWHITE,A5
|
||
MOVE *A2+,A9,L
|
||
JRZ TEDONE
|
||
MOVE *A2+,A8,L
|
||
JSRP PRINTF
|
||
;
|
||
MOVI TITLE_BASE_TEXT,A8
|
||
CALLA LM_SETUP
|
||
MOVI TROG_PWHITE,A5
|
||
MOVE *A2+,A9,L
|
||
MOVE *A2+,A8,L
|
||
JSRP PRINTF
|
||
PUSHP A2
|
||
SLEEP 120
|
||
PULLP A2
|
||
;
|
||
MOVI TEXTOID,A0 ; TIME IS IN THIS OID
|
||
CLR A1
|
||
NOT A1
|
||
CALLA KILOBJ ; LATER, DUDES!
|
||
;
|
||
; NOW PLOT IN REAL COLORS
|
||
;
|
||
SUBI (4*32),A2 ; BACKUP A FEW
|
||
MOVI TEXT_BASE_TEXT,A8
|
||
CALLA LM_SETUP
|
||
MOVE *A2+,A9,L
|
||
MOVE *A2+,A8,L
|
||
JSRP PRINTF
|
||
;
|
||
MOVI TITLE_BASE_TEXT,A8
|
||
CALLA LM_SETUP
|
||
MOVE *A2+,A9,L
|
||
MOVE *A2+,A8,L
|
||
JSRP PRINTF
|
||
;
|
||
CALLR TEXT_CHANGE
|
||
JRUC TELOOP
|
||
TEDONE:
|
||
SLEEP 120
|
||
|
||
SHOW_DIE
|
||
RETP
|
||
|
||
SETANDSHOW
|
||
MOVE A0,A8
|
||
MOVE *A8(OFLAGS),A4
|
||
CALLA ANI
|
||
CALLA OBJ_TO_PNT
|
||
CALLA INSOBJ
|
||
RETS
|
||
|
||
ENEMY_FLOWER:
|
||
MOVI FLOWERINIT,A14
|
||
MOVI SPEED4,A1
|
||
MOVI [BASELINE1,100],A3
|
||
JRUC ENEMY_GOFORIT
|
||
|
||
ENEMY_MUSHROOM:
|
||
MOVI SHROOMINIT,A14
|
||
MOVI SHROOM4,A1
|
||
MOVI [BASELINE1,185],A3
|
||
JRUC ENEMY_GOFORIT
|
||
|
||
ENEMY_PIT:
|
||
MOVI PITINIT,A14
|
||
MOVI OGPIT11,A1
|
||
MOVI [BASELINE2,185],A3
|
||
|
||
ENEMY_GOFORIT:
|
||
CALLA GPALOBJSTF
|
||
JRZ SHOW_DIE
|
||
MOVI 12C0000H,A14
|
||
MOVE A14,*A0(OZVAL),L
|
||
CALLR SETANDSHOW
|
||
DIE
|
||
|
||
ENEMY_PINEAPPLE:
|
||
MOVI PINEAPPLEINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ ENEMY_DIE
|
||
MOVE A0,*A9,L
|
||
MOVI 12C0000H,A14
|
||
MOVE A14,*A0(OZVAL),L
|
||
MOVI PAPPLE6a,A1
|
||
MOVI [BASELINE1,268],A3
|
||
CALLR SETANDSHOW
|
||
MOVE A0,A8
|
||
MOVI PINEAPPLESPIN,A9
|
||
MOVI [80H,3],A1
|
||
JSRP FRANIM ; SIT AND SPIN FOREEVER
|
||
|
||
ENEMY_FIRE:
|
||
MOVI FIREINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ ENEMY_DIE
|
||
MOVI 12C0000H,A14
|
||
MOVE A14,*A0(OZVAL),L
|
||
ADDI 32,A9
|
||
MOVE A0,*A9,L
|
||
MOVI FLAMESM2,A1
|
||
MOVI [BASELINE2+1,98],A3
|
||
CALLR SETANDSHOW
|
||
MOVE A0,A8
|
||
MOVI FIRE_ANIMII,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
|
||
ENEMY_TAR
|
||
MOVI TARINIT,A14
|
||
CALLA GPALOBJSTF
|
||
JRZ ENEMY_DIE
|
||
MOVI 12C0000H,A14
|
||
MOVE A14,*A0(OZVAL),L
|
||
ADDI 64,A9
|
||
MOVE A0,*A9,L
|
||
MOVI TAR1a,A1
|
||
MOVI [BASELINE2+2,268],A3
|
||
CALLR SETANDSHOW
|
||
MOVE A0,A8
|
||
MOVI TAR_ANIM1,A9
|
||
MOVK 1,A1
|
||
JSRP FRANIM
|
||
|
||
ENEMY_DIE
|
||
DIE
|
||
|
||
STUFF_MESS:
|
||
MESS_MAC RD15FONT,2,191,23,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "STUFF YOU SHOULD KNOW :",0
|
||
.EVEN
|
||
|
||
.IF 0
|
||
TROG_TEXT:
|
||
MESS_MAC RD7FONT,1,196,SKYTOPOF+140,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "HE'S HUNGRY \a!"
|
||
.STRING "\n\a\fAND ",0
|
||
.WORD 60
|
||
.WORD 0
|
||
.LONG [5,0]
|
||
.EVEN
|
||
|
||
TROG_TEXT2:
|
||
MESS_MAC RD7FONT,1,196,SKYTOPOF+175,TROG_PWHITE,STRCNRMOS,0
|
||
.STRING "HE EATS DINOS ! ! !",0
|
||
.EVEN
|
||
|
||
TROG_TITLE:
|
||
MESS_MAC RD20FONT,1,195,SKYTOPOF+70,TROG_PRED,STRCNRMOS,0
|
||
.STRING "TROG!",0
|
||
.EVEN
|
||
.ENDIF
|
||
|
||
CREDIT_TEXT:
|
||
MESS_MAC RD7FONT,1,198,244,TROG_PRED,STRCNRMOS,0
|
||
|
||
TITLE_BASE_TEXT:
|
||
MESS_MAC RD7FONT,1,198,244,TROG_PRED,STRCNRMOS,0
|
||
|
||
TEXT_BASE_TEXT:
|
||
MESS_MAC RD5FONT,1,198,244,TROG_PGREY,STRCNRMO,0
|
||
|
||
TEXT_TABLE:
|
||
.LONG ENEMY_FLOWER
|
||
.LONG [TEXT1,98],SP_TEXT
|
||
.LONG [TITLE1,98],SP_TITLE
|
||
.LONG ENEMY_MUSHROOM
|
||
.LONG [TEXT1,185],MU_TEXT
|
||
.LONG [TITLE1,187],MU_TITLE
|
||
.LONG ENEMY_PINEAPPLE
|
||
.LONG [TEXT1+5,264],PA_TEXT
|
||
.LONG [TITLE1,270],PA_TITLE
|
||
.LONG ENEMY_FIRE
|
||
.LONG [TEXT2,98],FI_TEXT
|
||
.LONG [TITLE2,98],FI_TITLE
|
||
.LONG ENEMY_PIT
|
||
.LONG [TEXT2,186],PI_TEXT
|
||
.LONG [TITLE2,186],PI_TITLE
|
||
.LONG ENEMY_TAR
|
||
.LONG [TEXT2,269],TP_TEXT
|
||
.LONG [TITLE2,269],TP_TITLE
|
||
.LONG 0
|
||
SP_TITLE
|
||
.STRING "SPEED PLANT",0
|
||
.EVEN
|
||
MU_TITLE
|
||
.STRING "MUSHROOM",0
|
||
.EVEN
|
||
PA_TITLE
|
||
.STRING "PINEAPPLE",0
|
||
.EVEN
|
||
FI_TITLE
|
||
.STRING "FIRE",0
|
||
.EVEN
|
||
PI_TITLE
|
||
.STRING "PIT",0
|
||
.EVEN
|
||
TP_TITLE
|
||
.STRING "TAR POOL",0
|
||
.EVEN
|
||
SP_TEXT
|
||
.STRING "SPEEDS"
|
||
.STRING "\nDINOS"
|
||
.STRING "\nUP!",0
|
||
.EVEN
|
||
MU_TEXT
|
||
.STRING "SLOWS"
|
||
.STRING "\nDINOS"
|
||
.STRING "\nDOWN!",0
|
||
.EVEN
|
||
PA_TEXT
|
||
.STRING "\d? ? ?",0
|
||
.LONG RD7FONT
|
||
.EVEN
|
||
FI_TEXT
|
||
.STRING "BURNS"
|
||
.STRING "\nDINOS"
|
||
.STRING "\nUP!",0
|
||
.EVEN
|
||
PI_TEXT
|
||
.STRING "DON'T"
|
||
.STRING "\nFALL"
|
||
.STRING "\nIN!",0
|
||
.EVEN
|
||
TP_TEXT
|
||
.STRING "DON'T"
|
||
.STRING "\nGET"
|
||
.STRING "\nSTUCK!",0
|
||
.EVEN
|
||
|
||
.ENDIF
|
||
|
||
**************************************************************************
|
||
* *
|
||
* OCTOPUS PAGE *
|
||
* *
|
||
**************************************************************************
|
||
|
||
OCTO_PAGE:
|
||
JSRP CREDITS_PAGE
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
JSRP OCTO_PRINT_AUDS
|
||
SLEEPK 30 ; GET OFF THE STICKS, DUDE!
|
||
JSRP OCTO_SUBBER
|
||
JSRP OCTO_PRINT_AUDS_2
|
||
JSRP OCTO_SUBBER
|
||
JSRP OCTO_PRINT_AUDS_3
|
||
JSRP OCTO_SUBBER
|
||
JSRP OCTO_PRINT_AUDS_4
|
||
JSRP OCTO_SUBBER
|
||
JAUC WARMSET
|
||
|
||
OCTO_SUBBER
|
||
MOVI 2000,A0
|
||
JSRP SLEEP_SWITCHX
|
||
CALLA WIPEOUT
|
||
DISPON
|
||
RETP
|
||
|
||
CREDITS_PAGE:
|
||
CALLA WIPEOUT
|
||
MOVK 1,A0
|
||
MOVE A0,@ON_CRED,W
|
||
DISPON
|
||
CALLA CLR_SCRN
|
||
CLR A0
|
||
MOVE A0,@SCRNTL,L ; RE-ADJUST TOP LEFT CORNER OF SCREEN
|
||
MOVE A0,@GAMERASE,W ; AUTO ERASE OFF
|
||
CALLA AUTOEOFF
|
||
|
||
MOVI LOGOINIT,A14
|
||
CALLA MAKE_OBJ
|
||
|
||
JSRP CREDITS_TEXT
|
||
|
||
SLEEPK 30 ; WAIT FOR GUY TO GET OFF STICKS
|
||
MOVI 500,A0
|
||
JSRP SLEEP_SWITCHX
|
||
CLR A0
|
||
MOVE A0,@ON_CRED,W
|
||
RETP
|
||
|
||
**************************************************************************
|
||
* *
|
||
* CREDITS_TEXT - ROUTINE TO OUTPUT THE NAMES OF THE GAME! *
|
||
* WITH A BACKGROUND! *
|
||
* NOTE: CALL WITH JSRP *
|
||
* DESTROYS A0-A14 *
|
||
* *
|
||
**************************************************************************
|
||
CREDITS_TEXT
|
||
MOVI CREDITBGND,A14
|
||
MOVE A14,@BAKMODS,L ; SETUP THE BACKGROUND
|
||
CALLA BGND_UD1
|
||
SLEEPK 4
|
||
CLR A1
|
||
CALLA KILBOBJ ;STATIC BACKGROUND PLEASE
|
||
|
||
MOVI COPYRIGHTINIT,A14
|
||
CALLA MAKE_OBJ
|
||
|
||
MOVI OCTO_TEXT2,A8
|
||
JSRP LM_PRINTF
|
||
|
||
MOVI OCTO_TEXT3,A8
|
||
JSRP LM_PRINTF
|
||
MOVI OCTO_TEXT4,A8
|
||
JSRP LM_PRINTF
|
||
MOVI OCTO_TEXT5,A8
|
||
JSRP LM_PRINTF
|
||
MOVI OCTO_TEXT6,A8
|
||
JSRP LM_PRINTF
|
||
MOVI OCTO_TEXT7,A8
|
||
JSRP LM_PRINTF
|
||
MOVI OCTO_TEXT8,A8
|
||
JSRP LM_PRINTF
|
||
|
||
MOVI OCTO_TEXT8A,A8
|
||
JSRP LM_PRINTF
|
||
|
||
MOVI OCTO_TEXT9,A8
|
||
JSRP LM_PRINTF
|
||
MOVI OCTO_TEXT1,A8
|
||
JSRP LM_PRINTF
|
||
RETP
|
||
|
||
OCTO_TEXT1:
|
||
MESS_MAC RD7FONT,1,196,SKYTOPOF+185,DINO_PWHITE,STRCNRMS,0
|
||
.STRING "SPECIAL THANKS TO:"
|
||
.STRING "\nEUGENE JARVIS, TODD ALLEN AND LARRY DEMAR",0
|
||
.EVEN
|
||
|
||
OCTO_TEXT2:
|
||
MESS_MAC RD7FONT,1,196,SKYTOPOF+22,DINO_PGREY,STRCNRM,0
|
||
.STRING "\uGame Design\v"
|
||
.STRING "\b\nGeorge Petro"
|
||
.STRING "\nJack Haeger",0
|
||
.WORD DINO_WHITE
|
||
.EVEN
|
||
|
||
OCTO_TEXT3:
|
||
MESS_MAC RD7FONT,1,140,SKYTOPOF+66,DINO_PGREY,STRCNRM,0
|
||
.STRING "\uSOFTWARE\v"
|
||
.STRING "\b\nGEORGE PETRO"
|
||
.STRING "\nKURT MAHAN",0
|
||
.WORD DINO_WHITE
|
||
.EVEN
|
||
|
||
OCTO_TEXT4:
|
||
MESS_MAC RD7FONT,1,105,SKYTOPOF+29,DINO_PGREY,STRCNRM,0
|
||
.STRING "\uARTWORK &"
|
||
.STRING "\nPLAYMATION\v"
|
||
.STRING "\b\nJack Haeger",0
|
||
.WORD DINO_WHITE
|
||
.EVEN
|
||
|
||
OCTO_TEXT5:
|
||
MESS_MAC RD7FONT,1,285,SKYTOPOF+29,DINO_PGREY,STRCNRM,0
|
||
.STRING "\uMUSIC &"
|
||
.STRING "\nSOUNDS\v"
|
||
.STRING "\b\nCHRIS GRANNER",0
|
||
.WORD DINO_WHITE
|
||
.EVEN
|
||
|
||
OCTO_TEXT6:
|
||
MESS_MAC RD7FONT,1,140,SKYTOPOF+102,DINO_PGREY,STRCNRMS,0
|
||
.STRING "\uHardware\v"
|
||
.STRING "\b\nMark Loffredo"
|
||
.STRING "\nGlenn Shipp"
|
||
.STRING "\nCary Mednick"
|
||
.STRING "\nAl Lasko"
|
||
.STRING "\nRaymond Gay"
|
||
.STRING "\nSheridan Oursler",0
|
||
.WORD DINO_WHITE
|
||
.EVEN
|
||
|
||
OCTO_TEXT7:
|
||
MESS_MAC RD7FONT,1,260,SKYTOPOF+128,DINO_PGREY,STRCNRMS,0
|
||
.STRING "\uMarketing\v"
|
||
.STRING "\b\nLaura Rezek",0
|
||
.WORD DINO_WHITE
|
||
.EVEN
|
||
|
||
OCTO_TEXT8:
|
||
MESS_MAC RD7FONT,1,260,SKYTOPOF+66,DINO_PGREY,STRCNRM,0
|
||
.STRING "\uCABINET DESIGN\v"
|
||
.STRING "\b\nRAY CZAJKA",0
|
||
.WORD DINO_WHITE
|
||
|
||
OCTO_TEXT8A:
|
||
MESS_MAC RD7FONT,1,260,SKYTOPOF+91,DINO_PGREY,STRCNRM,0
|
||
.STRING "\uCABINET ARTWORK\v"
|
||
.STRING "\b\nLINDA DEAL"
|
||
.STRING "\nJACK HAEGER",0
|
||
.WORD DINO_WHITE
|
||
.EVEN
|
||
|
||
OCTO_TEXT9:
|
||
MESS_MAC RD7FONT,1,260,SKYTOPOF+153,DINO_PGREY,STRCNRMS,0
|
||
.STRING "\uPUBLICATIONS\v"
|
||
.STRING "\b\nKAREN TRYBULA",0
|
||
.WORD DINO_WHITE
|
||
.EVEN
|
||
|
||
**************************************************************************
|
||
* *
|
||
* DRAW_P_BORDER - DRAW A GIVEN PLAYERS BONUS BORDER. *
|
||
* A1 = [Y,X] OFFSET OF UPPER LEFT CORNER *
|
||
* A2 = PTR TO PLAYER DATA AREA. *
|
||
* NOTE: TRASHES A14 *
|
||
* *
|
||
**************************************************************************
|
||
DRAW_P_BORDER:
|
||
MMTM SP,A0,A3,A5
|
||
MOVI P1_BONUS_BORDER,A5
|
||
DPB_LP
|
||
CALLA CREATE_OBJ
|
||
JRZ DPB_X
|
||
MOVE *A0(OCVECT),A3,L
|
||
ADDXY A1,A3
|
||
CALLA OBJTOPNT
|
||
CALLA INSOBJ
|
||
MOVE *A5,A0,L
|
||
JRNZ DPB_LP
|
||
DPB_X
|
||
MMFM SP,A0,A3,A5
|
||
RETS
|
||
|
||
.DATA
|
||
|
||
**************************************************************************
|
||
* *
|
||
* BORDER MAPS *
|
||
* *
|
||
**************************************************************************
|
||
|
||
**************************************************************************
|
||
* *
|
||
* A BORDER MAP CONSISTS OF X CONTIGUOUS ELEMENTS, *
|
||
* EACH ELEMENT IS A CREATE_OBJ INIT TABLE. HOWEVER, THE OCVECT *
|
||
* IS USED AS A [Y,X] POSITION. NEVER LET OCVECT BE 0. *
|
||
* *
|
||
**************************************************************************
|
||
BBY .EQU 1
|
||
BBX .EQU 1
|
||
P1_BONUS_BORDER:
|
||
.LONG [BBY,BBX],0
|
||
.WORD DMAWNZ,BORDEROID
|
||
.LONG BART2
|
||
|
||
.LONG [BBY,BBX+224],0
|
||
.WORD DMAWNZ|M_FLIPH,BORDEROID
|
||
.LONG BART2
|
||
|
||
.LONG [BBY+98,BBX],0
|
||
.WORD DMAWNZ|M_FLIPV,BORDEROID
|
||
.LONG BART2
|
||
|
||
.LONG [BBY+98,BBX+224],0
|
||
.WORD DMAWNZ|M_FLIPH|M_FLIPV,BORDEROID
|
||
.LONG BART2
|
||
|
||
.LONG [BBY,BBX],0
|
||
.WORD DMAWNZ,BORDEROID
|
||
.LONG BARL2
|
||
|
||
.LONG [BBY,BBX+224],0
|
||
.WORD DMAWNZ|M_FLIPH,BORDEROID
|
||
.LONG BARL2
|
||
|
||
.LONG 0
|
||
|
||
TITLE_MODS:
|
||
.LONG TITLEBMOD
|
||
.WORD 67,-20+SKYTOPOF ;x = 0
|
||
.LONG 0FFFFFFFFH
|
||
|
||
TITLE2_MODS:
|
||
.LONG TITLE2BMOD
|
||
.WORD 0,49+SKYTOPOF ;x = 0
|
||
.LONG 0FFFFFFFFH
|
||
|
||
BALLYINIT:
|
||
.LONG [14,0],[11,0]
|
||
.WORD 0,0
|
||
.LONG BALLYMID,0,DUMCOLL
|
||
.WORD DMAWNZ,JUNKOID
|
||
|
||
PRESENTSINIT:
|
||
.LONG [48,0],[37,0]
|
||
.WORD 0,0
|
||
.LONG PRESENTS,0,DUMCOLL
|
||
.WORD DMAWNZ,JUNKOID
|
||
|
||
PLAYMATEINIT:
|
||
.LONG [143,0],[174,0]
|
||
.WORD 0,0
|
||
.LONG PLAYMATION,0,DUMCOLL
|
||
.WORD DMAWNZ,JUNKOID
|
||
|
||
**************************************************************************
|
||
* *
|
||
* ANIMATION STUFF FOR THE BIG DINOS *
|
||
* *
|
||
**************************************************************************
|
||
|
||
BSPIKELF:
|
||
.LONG BSPWP4F1
|
||
.WORD 4|FLIPBITS|SCRIPT,M_FLIPH
|
||
.LONG BSPIKELFRT
|
||
|
||
*
|
||
*WALK RIGHT
|
||
BSPIKERT:
|
||
.LONG BSPWP4F1
|
||
.WORD 4|FLIPBITS,0
|
||
BSPIKELFRT:
|
||
.LONG BSPWP4F2
|
||
.WORD 4
|
||
.LONG BSPWP4F3
|
||
.WORD 4
|
||
.LONG BSPWP4F4
|
||
.WORD 4
|
||
.LONG BSPWP4F5
|
||
.WORD 4
|
||
.LONG BSPWP4F6
|
||
.WORD 4
|
||
.LONG BSPWP4F7
|
||
.WORD 4
|
||
.LONG BSPWP4F1
|
||
.WORD 4|SCRIPT
|
||
.LONG BSPIKELFRT
|
||
|
||
BTROGWAVE:
|
||
.LONG BTRHAND5
|
||
.WORD 4
|
||
.LONG BTRHAND2
|
||
.WORD 4
|
||
.LONG BTRHAND1
|
||
.WORD 5
|
||
.LONG BTRHAND2
|
||
.WORD 5
|
||
.LONG BTRHAND1
|
||
.WORD 5
|
||
.LONG BTRHAND2
|
||
.WORD 5
|
||
.LONG BTRHAND1
|
||
.WORD 5
|
||
.LONG BTRHAND2
|
||
.WORD 5
|
||
.LONG BTRHAND1
|
||
.WORD 5
|
||
.LONG BTRHAND2
|
||
.WORD 5
|
||
.LONG BTRHAND1
|
||
.WORD 5
|
||
.LONG BTRHAND2
|
||
.WORD 5
|
||
.LONG BTRHAND1
|
||
.WORD 5
|
||
.LONG BTRHAND2
|
||
.WORD 5
|
||
.LONG BTRHAND1
|
||
.WORD 5
|
||
.LONG BTRHAND2
|
||
.WORD 5
|
||
.LONG BTRHAND1
|
||
.WORD 5
|
||
.LONG BTRHAND2
|
||
.WORD 5
|
||
.LONG BTRHAND1
|
||
.WORD 4
|
||
.LONG BTRHAND2
|
||
.WORD 4
|
||
.LONG BTRHAND5
|
||
.WORD 4
|
||
.LONG 0
|
||
|
||
BSPIKEFALL:
|
||
.LONG BSPSHP0F3
|
||
.WORD 4
|
||
.LONG BSPSHP0F4
|
||
.WORD 4
|
||
.LONG BSPSHP0F6
|
||
.WORD 4
|
||
.LONG BSPSHP0F7
|
||
.WORD 4
|
||
.LONG BSPSHP0F8
|
||
.WORD 4
|
||
.LONG BSPSHP0F9
|
||
.WORD 4
|
||
.LONG BSPSHP0F10
|
||
.WORD 4
|
||
.LONG BSPSHP0F11
|
||
.WORD 4
|
||
.LONG BSPSHP0F12
|
||
.WORD 4
|
||
.LONG BSPSHP0F13
|
||
.WORD 4
|
||
.LONG SPSTP0
|
||
.WORD 4
|
||
.LONG 0
|
||
BTROGBROWRISE:
|
||
.LONG BTRBROW
|
||
.WORD 2|DELTAY,-2
|
||
.LONG BTRBROW
|
||
.WORD 2|DELTAY,-2
|
||
.LONG BTRBROW
|
||
.WORD 2|DELTAY,-2
|
||
.LONG BTRBROW
|
||
.WORD 2|DELTAY,-3
|
||
.LONG BTRBROW
|
||
.WORD 2|DELTAY,-3
|
||
.LONG 0
|
||
|
||
BTROGBLINK
|
||
.LONG BTRBLINK1
|
||
.WORD 4
|
||
.LONG BTRBLINK2
|
||
.WORD 4
|
||
.LONG BTRBLINK1
|
||
.WORD 4
|
||
.LONG 0
|
||
|
||
|