4539 lines
82 KiB
NASM
Executable File
4539 lines
82 KiB
NASM
Executable File
***************************************************************
|
||
*
|
||
* Software: JAKE SIMPSON
|
||
* Initiated: 10/17/94
|
||
*
|
||
* Modified:
|
||
*
|
||
* COPYRIGHT (C) 1994 WILLIAMS ELECTRONICS GAMES, INC.
|
||
*
|
||
*.Last mod -
|
||
****************************************************************
|
||
.file "progress.asm"
|
||
.title "progression screen"
|
||
.width 132
|
||
.option b,d,l,t
|
||
.mnolist
|
||
|
||
|
||
.include "mproc.equ"
|
||
.include "display.equ"
|
||
.include "sys.equ"
|
||
.include "gsp.equ"
|
||
.include "macros.h"
|
||
.include "game.equ"
|
||
.include "anim.equ"
|
||
.include "audit.equ"
|
||
.include "link.equ"
|
||
.include "imgtbl.glo"
|
||
.include "bgndtbl.glo"
|
||
.include "plyr.equ"
|
||
.include "ring.equ"
|
||
.include "ladder.tbl"
|
||
.include "crowdimg.glo"
|
||
.include "miscimg.glo"
|
||
.INCLUDE "LOGO.GLO"
|
||
|
||
.ref WHICH_SKIRT_PAL,RNDPER,start_credbox,triple_sound
|
||
.ref CLEAR_PROCESSES,SPECIAL_WIPEOUT
|
||
.ref DUMRETS,HRT3,RZR3,UND3,YOK3,SHN3,BAM3,DNK3,LEX3
|
||
.ref RNDRNG0,HALT,dtype,dpageflip,IRQSKYE,WORLDTLX,WORLDTLY
|
||
.ref BAKMODS,BGND_UD1,set_process_ptr,animate_wrestler
|
||
.ref animate_wrestler1,animate_wrestler2,wrestler_veladd
|
||
.ref ani_init,PSTATUS,pal_getf,PCNT,index1,index2,obj_look
|
||
.ref set_images,change_anim1a,change_anim2a,match_time
|
||
.ref process_ptrs,reduce_bog
|
||
.ref hrt_run2_anim,rzr_run2_anim,und_run2_anim,yok_run2_anim
|
||
.ref shn_run2_anim,bam_run2_anim,dnk_run2_anim,lex_run2_anim
|
||
.ref hrt_torso4_anim,rzr_torso4_anim,und_torso4_anim
|
||
.ref yok_torso4_anim,shn_torso4_anim,bam_torso4_anim
|
||
.ref dnk_torso4_anim,lex_torso4_anim,hrt_stand4_anim
|
||
.ref rzr_stand4_anim,und_stand4_anim,yok_stand4_anim
|
||
.ref shn_stand4_anim,bam_stand4_anim,dnk_stand4_anim
|
||
.ref lex_stand4_anim,hrt_dizzy_anim,rzr_dizzy_anim
|
||
.ref und_dizzy_anim,yok_dizzy_anim,shn_dizzy_anim
|
||
.ref bam_dizzy_anim,dnk_dizzy_anim,lex_dizzy_anim
|
||
.ref get_all_buttons_cur2,MAKE_UP_LOGO,GAMSTATE,animate_back
|
||
.ref dirqcnt,SNDSND,VINCE_START_GAME,WHICH_SCREEN,TOP_LEFT
|
||
.ref BOT_RIGHT,dma_it_out,SHAKER,OPEN_SCREEN_LINE,D2ST2B03
|
||
.REF LBAR_GENB
|
||
.ref win_ascii,MUSIC_HAP
|
||
.ref HRTPNK_P,UNDBLK_P
|
||
|
||
.ref message_palette
|
||
.ref dec_to_asc
|
||
.ref match_cnt
|
||
.ref mess_space_width
|
||
.ref print_string_R
|
||
.ref print_string
|
||
.ref print_string_C
|
||
.ref message_ascii
|
||
.ref mess_spacing
|
||
.ref mess_cursx
|
||
.ref mess_cursy
|
||
.ref copy_string
|
||
.ref p1winstreak
|
||
.ref p2winstreak
|
||
.ref mess_z
|
||
.ref print_string_with_z
|
||
.ref RC_BYTEI
|
||
.ref message_buffer
|
||
.REF wsf14_ascii
|
||
.ref show_progress_bicons
|
||
.ref del_progress_icon
|
||
.REF print_string_Z2
|
||
|
||
.ref print_string2
|
||
.ref setup_message
|
||
.ref mess_objid
|
||
.ref font9_ascii
|
||
.ref belt_ask,belt_type
|
||
.ref AUD1
|
||
.ref hscore_colcyc
|
||
.ref osgemd_ascii
|
||
.ref JUDDER_SHADOW
|
||
.ref shadow
|
||
.REF H4ST4A02
|
||
.ref powerup_check
|
||
.ref KIL1C
|
||
.ref _switch_addr
|
||
.ref WSF14_1,WSF14_2
|
||
.ref BEGINOBJ_TBL
|
||
.ref get_stick_val_cur
|
||
.ref get_but_val_cur
|
||
.ref pal_clean
|
||
|
||
.def tonites_matchup
|
||
.def tonites_str
|
||
.DEF DO_FLASH,DO_JASON_CROWD,DO_TONY_CROWD
|
||
.DEF DO_VOGEL_CROWD
|
||
.DEF OPEN_PROGRESS_SCREEN
|
||
.DEF SORT_OUT_WRESTLER_NUM
|
||
.DEF RESETUP_PROGRESS
|
||
.DEF CLOSE_PROGRESS_SCREEN
|
||
.DEF INIT_LADDER_TABLE
|
||
.DEF IGNORE_SPECIAL,IGNORE_THIS_PAL
|
||
.DEF START_FLASHES
|
||
|
||
.DEF ANIM_CROWD
|
||
.DEF setup_back_anim
|
||
|
||
NUM_LADDER_ENTRIES equ 15
|
||
|
||
.even
|
||
.bss TEMP_SPEED,32
|
||
BSSX CURRENT_LADDER,32
|
||
.bss a_big_useless_hole,32
|
||
BSSX LADDER,NUM_LADDER_ENTRIES*32
|
||
BSSX TEMP_LADDER,8*8
|
||
.bss TEMP_LADDER_END,0
|
||
|
||
BSSX FINAL_BATTLE_LINEUP,10*8
|
||
|
||
BSSX FLASH_FLAG,16
|
||
BSSX question_type,16
|
||
BSSX royal_rumble,16
|
||
|
||
BSSX FINAL_PTR,32
|
||
.bss SCREEN_SHAKE,32
|
||
BSSX NUM_OPPS,16
|
||
.bss NUM_OLD_OPPS,16
|
||
.bss TOP_LEFT_2,32
|
||
.bss BOT_RIGHT_2,32
|
||
.bss FUJI_OBJ,32
|
||
.bss WHICH_PAL,16*9
|
||
.bss IGNORE_SPECIAL,16
|
||
|
||
BSSX YES_ITS_FINAL,16
|
||
.bss pcurs_obj,4*32
|
||
.bss p1sel,16
|
||
.bss p2sel,16
|
||
|
||
INTER_DEFAULT .set 1
|
||
|
||
|
||
RUN_SPEED .EQU [4,0]
|
||
|
||
SCPTR .set 000 ;UHL script pointer (next instruction)
|
||
TIME .set 020h ;UHW time to hold
|
||
FRAME .set 030h ;UHL current obj
|
||
CHEER .set 050h ;UHL cheer jump point
|
||
UNUSED .set 070h ;UHW unused
|
||
|
||
CANI_GOTO equ 0 + 8000h
|
||
CANI_RNDWAIT equ 1 + 8000h
|
||
CANI_END equ 2 + 8000H
|
||
CANI_CODE EQU 3 + 8000H
|
||
|
||
;BLOC_STRUCTURE
|
||
B_CTRL .EQU 0
|
||
B_SAG .EQU 020H
|
||
B_DAG .EQU 040H
|
||
B_SIZE .EQU 060H
|
||
B_PAL .EQU 080H
|
||
B_REAL_SAG .EQU 0A0H
|
||
BLOC_SIZE .EQU 0C0H
|
||
|
||
BLOC_TOTAL .EQU 14
|
||
BITS_TOTAL .EQU 40
|
||
P_DELAY .EQU 20
|
||
|
||
.BSS PROG_BLOC_START,BLOC_SIZE*(BLOC_TOTAL+BITS_TOTAL)
|
||
BITS_START .EQU PROG_BLOC_START+(BLOC_SIZE*BLOC_TOTAL)
|
||
|
||
;PALETTE TYPE FOR BLOCKS TABLE
|
||
P_WHICH_PAL .EQU 0
|
||
P_DMA_PAL_VAL .EQU 020H
|
||
P_SIZE .EQU 040H
|
||
NUM_PAL_BLOC .EQU 26
|
||
|
||
.BSS PAL_BLOC_START,P_SIZE*NUM_PAL_BLOC
|
||
; .BSS PAL_PNTR,32
|
||
BSSX WHAT_SPEED,16
|
||
.BSS WHAT_DELAY,16
|
||
|
||
.TEXT
|
||
|
||
IGNORE_THIS_PAL
|
||
MMTM SP,A8,A10,A14
|
||
MOVI PAL_BLOC_START,A8
|
||
MOVK NUM_PAL_BLOC,A10
|
||
CHECK_NEXT_PAL
|
||
MOVE *A8(P_WHICH_PAL),A14,L
|
||
JRZ DO_NEXT_PAL
|
||
CMP A0,A14
|
||
JRNE DO_NEXT_PAL
|
||
MMFM SP,A8,A10,A14
|
||
SETC
|
||
RETS
|
||
DO_NEXT_PAL
|
||
ADDI P_SIZE,A8
|
||
DSJS A10,CHECK_NEXT_PAL
|
||
MMFM SP,A8,A10,A14
|
||
CLRC
|
||
RETS
|
||
|
||
GET_PAL_BLOC
|
||
MMTM SP,A1,A3,A4
|
||
MOVI NUM_PAL_BLOC,A3
|
||
MOVI PAL_BLOC_START,A4
|
||
CHECK_NEXT_PAL_BLOC
|
||
MOVE *A4(P_WHICH_PAL),A1,L
|
||
JRZ WE_HIT_THE_END
|
||
CMP A0,A1
|
||
JREQ NO_NEED_TO_RESTORE
|
||
ADDI P_SIZE,A4
|
||
DSJS A3,CHECK_NEXT_PAL_BLOC
|
||
JRUC EMERG_EXIT
|
||
WE_HIT_THE_END
|
||
MOVE A0,*A4(P_WHICH_PAL),L
|
||
calla pal_getf
|
||
MOVE A0,*A4(P_DMA_PAL_VAL)
|
||
NO_NEED_TO_RESTORE
|
||
MOVE A4,A0
|
||
EMERG_EXIT
|
||
MMFM SP,A1,A3,A4
|
||
RETS
|
||
|
||
RESETUP_PROGRESS
|
||
MOVI BLAST_OUT_PROGRESS_TRANS,A0
|
||
MOVE A0,@WHICH_SCREEN,L
|
||
RETS
|
||
|
||
OPEN_PROGRESS_SCREEN
|
||
|
||
movk 16,a0
|
||
calla triple_sound
|
||
|
||
MOVE @WHAT_SPEED,A9
|
||
MOVE @WHAT_DELAY,A8
|
||
|
||
; MOVI P_DELAY,A8
|
||
; MOVI 200/P_DELAY,A9
|
||
|
||
NEG A9
|
||
|
||
OPEN_ACROSS_MORE
|
||
MOVI BLOC_TOTAL,A10
|
||
MOVI PROG_BLOC_START,A2
|
||
CLR A0
|
||
MOVE A0,@BOT_RIGHT_2,L
|
||
MOVE A0,@TOP_LEFT_2,L
|
||
OPEN_NEXT_BLOC
|
||
CALLR MOVE_BLOC
|
||
ADDI BLOC_SIZE,A2
|
||
DSJS A10,OPEN_NEXT_BLOC
|
||
MOVE @BOT_RIGHT_2,@BOT_RIGHT,L
|
||
MOVE @TOP_LEFT_2,@TOP_LEFT,L
|
||
SLEEPK 1
|
||
DEC A8
|
||
JRNZ OPEN_ACROSS_MORE
|
||
SLEEPK 1
|
||
|
||
MOVI DUMRETS,A1
|
||
MOVE A1,@WHICH_SCREEN,L
|
||
CLR A0
|
||
MOVE A0,@TOP_LEFT,L
|
||
MOVE A0,@BOT_RIGHT,L
|
||
MOVE A0,@IGNORE_SPECIAL
|
||
RETP
|
||
|
||
CLOSE_PROGRESS_SCREEN
|
||
|
||
CREATE0 LOOK_FOR_PALS
|
||
CREATE PU_CHECK_PID,powerup_check
|
||
|
||
CLR A0
|
||
MOVE A0,@SCREEN_SHAKE,L
|
||
|
||
MOVI BLAST_OUT_PROGRESS_TRANS,A0
|
||
MOVE A0,@WHICH_SCREEN,L
|
||
|
||
MOVI PAL_BLOC_START,A0
|
||
MOVI NUM_PAL_BLOC,A4
|
||
CLR A1
|
||
CLEAR_OUT_PAL_BLOC
|
||
MOVE A1,*A0(P_WHICH_PAL),L
|
||
ADDI P_SIZE,A0
|
||
DSJS A4,CLEAR_OUT_PAL_BLOC
|
||
|
||
MOVK 1,A0
|
||
MOVE A0,@IGNORE_SPECIAL
|
||
|
||
CALLR INIT_BLOC
|
||
|
||
CALLR SETUP_LOGOS
|
||
|
||
; movk 16,a0
|
||
movi 35h,a0 ;special hi-priority version
|
||
calla triple_sound
|
||
|
||
MOVI P_DELAY,A8
|
||
MOVI 200/P_DELAY,A9
|
||
|
||
calla get_all_buttons_cur2
|
||
|
||
JRZ SPEED_POWER_SET
|
||
SWAP A8,A9
|
||
|
||
SPEED_POWER_SET
|
||
MOVE A8,@WHAT_DELAY
|
||
MOVE A9,@WHAT_SPEED
|
||
|
||
MOVE_ACROSS_MORE
|
||
MOVI BLOC_TOTAL,A10
|
||
MOVI PROG_BLOC_START,A2
|
||
MOVE @BOT_RIGHT,@BOT_RIGHT_2,L
|
||
MOVE @TOP_LEFT,@TOP_LEFT_2,L
|
||
MOVE_NEXT_BLOC
|
||
CALLR MOVE_BLOC
|
||
ADDI BLOC_SIZE,A2
|
||
DSJS A10,MOVE_NEXT_BLOC
|
||
MOVE @BOT_RIGHT_2,@BOT_RIGHT,L
|
||
MOVE @TOP_LEFT_2,@TOP_LEFT,L
|
||
SLEEPK 1
|
||
DEC A8
|
||
JRNZ MOVE_ACROSS_MORE
|
||
|
||
movi 0a5h,a0
|
||
calla triple_sound
|
||
|
||
MOVE @WHAT_DELAY,A0
|
||
CMPI 200/P_DELAY,A0
|
||
JREQ JUST_LOOK_FOR_POWERS
|
||
|
||
CALLR CREATE_BITS
|
||
CREATE0 SHAKE_MY_WORLD
|
||
|
||
SLEEP 35+24
|
||
|
||
JUST_LOOK_FOR_POWERS
|
||
SLEEPK 10
|
||
RETP
|
||
|
||
SHAKE_MY_WORLD
|
||
MOVI SHAKE_TABLE,A8
|
||
SHAKE_IT_BABY
|
||
MOVE *A8+,A1,L
|
||
JRZ END_SHAKE
|
||
MOVE A1,@SCREEN_SHAKE,L
|
||
MOVE *A8+,A0,L
|
||
CALLA PRCSLP
|
||
JRUC SHAKE_IT_BABY
|
||
END_SHAKE
|
||
CLR A1
|
||
MOVE A1,@SCREEN_SHAKE,L
|
||
DIE
|
||
|
||
SHAKE_TABLE
|
||
.LONG [-1,-1],2
|
||
.LONG [2,1],2
|
||
.LONG [-2,0],2
|
||
.LONG [-3,1],2
|
||
.LONG [2,3],2
|
||
.LONG [0,-2],2
|
||
.LONG [-1,-1],2
|
||
.LONG [2,1],2
|
||
.LONG [-2,0],2
|
||
.LONG [-3,1],2
|
||
.LONG [2,3],2
|
||
.LONG [0,-2],2
|
||
.LONG 0
|
||
|
||
BITS_ADDR .EQU PDATA+020H
|
||
BITS_ANIM .EQU PDATA+040H
|
||
BITS_DELAY .EQU PDATA+060H
|
||
BITS_D .EQU 2
|
||
|
||
CREATE_BITS
|
||
MOVI BITS_TOTAL,A10
|
||
MOVI BITS_START,A2
|
||
MOVI 080020000H,A3
|
||
MOVI 200,A5
|
||
MOVI 40,B3
|
||
CREATE_NEXT_BIT
|
||
MOVE A10,A1
|
||
ANDI 03,A1
|
||
JRNZ RE_USE_OLD_YPOS
|
||
MOVE B3,A0
|
||
ADDI 20,B3
|
||
CALLA RNDRNG0
|
||
SLL 16,A0
|
||
MOVE A0,A8
|
||
MOVY A8,A5
|
||
RE_USE_OLD_YPOS
|
||
PUSH A10
|
||
MOVI 058000H,A0
|
||
CALLA RNDRNG0
|
||
NEG A0
|
||
MOVE A0,A9 ;Y-VEL
|
||
MOVI [200,0],A10 ;XPOS (32 BIT)
|
||
MOVI 080000H,A0
|
||
CALLA RNDRNG0
|
||
SUBI 040000H,A0
|
||
MOVE A0,A11 ;X-VEL
|
||
CREATE0 MOVE_BITS
|
||
MOVE A2,*A0(BITS_ADDR),L
|
||
PUSH A0
|
||
|
||
MOVE A5,*A2(B_DAG),L
|
||
|
||
MOVI 13,A0
|
||
CALLA RNDRNG0
|
||
SLL 7,A0
|
||
ADDI RANDOM_SPARK_TAB,A0
|
||
MOVE *A0,A1,L
|
||
|
||
PUSH A0
|
||
MOVE *A0(040H),A0,L
|
||
CALLA GET_PAL_BLOC
|
||
MOVE A0,*A2(B_PAL),L
|
||
PULL A0
|
||
|
||
MOVE *A1(ISAG),*A2(B_SAG),L
|
||
MOVE *A1(ISIZEX),*A2(B_SIZE),L
|
||
MOVE *A1(ICTRL),A6
|
||
|
||
SLL 16,A6
|
||
OR A3,A6
|
||
MOVE A6,*A2(B_CTRL),L
|
||
|
||
PULL A1
|
||
MOVE *A0(020H),*A1(BITS_ANIM),L
|
||
MOVK BITS_D,A0
|
||
MOVE A0,*A1(BITS_DELAY)
|
||
|
||
ADDI BLOC_SIZE,A2
|
||
|
||
PULL A10
|
||
DEC A10
|
||
JRNZ CREATE_NEXT_BIT
|
||
RETS
|
||
|
||
MOVE_BITS
|
||
MOVE *A13(BITS_ADDR),A2,L
|
||
ADDI GRAVITY-3000H,A9
|
||
ADD A9,A8
|
||
CMPI [255,0],A8
|
||
JRGE KILL_BIT
|
||
ADD A11,A10
|
||
MOVE A10,A1
|
||
SRL 16,A1
|
||
MOVY A8,A1
|
||
MOVE A1,*A2(B_DAG),L
|
||
|
||
MOVE *A13(BITS_DELAY),A1
|
||
DEC A1
|
||
JRZ WE_ANIM_SPARK
|
||
MOVE A1,*A13(BITS_DELAY)
|
||
|
||
SLOOP 1,MOVE_BITS
|
||
|
||
WE_ANIM_SPARK
|
||
MOVE *A13(BITS_ANIM),A1,L
|
||
JUMP_BACK
|
||
MOVE *A1+,A14
|
||
JRN SPARK_ANIM_JUMP
|
||
MOVE A14,*A13(BITS_DELAY)
|
||
MOVE *A1+,A14,L
|
||
MOVE *A14(ISAG),*A2(B_SAG),L
|
||
MOVE A1,*A13(BITS_ANIM),L
|
||
SLOOP 1,MOVE_BITS
|
||
|
||
SPARK_ANIM_JUMP
|
||
MOVE *A1+,A1,L
|
||
JRUC JUMP_BACK
|
||
|
||
KILL_BIT
|
||
CLR A0
|
||
MOVE A0,*A2(B_SAG),L
|
||
DIE
|
||
|
||
RANDOM_SPARK_TAB
|
||
.LONG CHIP1_01,CHIP1_F,CHIP_B_P,0
|
||
.LONG CHIP1_01,CHIP1_B,CHIP_B_P,0
|
||
.LONG CHIP2_01,CHIP2_F,CHIP_B_P,0
|
||
.LONG CHIP2_01,CHIP2_B,CHIP_B_P,0
|
||
.LONG CHIP3_01,CHIP3_F,CHIP_B_P,0
|
||
.LONG CHIP3_01,CHIP3_B,CHIP_B_P,0
|
||
.LONG CHIP4_01,CHIP4_F,CHIP_B_P,0
|
||
.LONG CHIP4_01,CHIP4_B,CHIP_B_P,0
|
||
.LONG CHIP5_01,CHIP5_F,CHIP_B_P,0
|
||
.LONG CHIP5_01,CHIP5_B,CHIP_B_P,0
|
||
.LONG SPKD1_09,SPKD1_ANIM,SPKPRP_P,0
|
||
.LONG SPKD2_09,SPKD2_ANIM,SPKPRP_P,0
|
||
.LONG SPKD4_09,SPKD4_ANIM,SPKPRP_P,0
|
||
.LONG SPKR1_09,SPKR1_ANIM,SPKPRP_P,0
|
||
|
||
BIT_DELAY .EQU 1
|
||
|
||
CHIP1_F
|
||
WL BIT_DELAY,CHIP1_01
|
||
WL BIT_DELAY,CHIP1_03
|
||
WL BIT_DELAY,CHIP1_05
|
||
WL BIT_DELAY,CHIP1_07
|
||
WL BIT_DELAY,CHIP1_09
|
||
WL BIT_DELAY,CHIP1_11
|
||
WL BIT_DELAY,CHIP1_13
|
||
WL BIT_DELAY,CHIP1_15
|
||
WL BIT_DELAY,CHIP1_17
|
||
WL BIT_DELAY,CHIP1_19
|
||
WL -1,CHIP1_F
|
||
|
||
CHIP1_B
|
||
WL BIT_DELAY,CHIP1_19
|
||
WL BIT_DELAY,CHIP1_17
|
||
WL BIT_DELAY,CHIP1_15
|
||
WL BIT_DELAY,CHIP1_13
|
||
WL BIT_DELAY,CHIP1_11
|
||
WL BIT_DELAY,CHIP1_09
|
||
WL BIT_DELAY,CHIP1_07
|
||
WL BIT_DELAY,CHIP1_05
|
||
WL BIT_DELAY,CHIP1_03
|
||
WL BIT_DELAY,CHIP1_01
|
||
WL -1,CHIP1_B
|
||
|
||
CHIP2_F
|
||
WL BIT_DELAY,CHIP2_01
|
||
WL BIT_DELAY,CHIP2_03
|
||
WL BIT_DELAY,CHIP2_05
|
||
WL BIT_DELAY,CHIP2_07
|
||
WL BIT_DELAY,CHIP2_09
|
||
WL -1,CHIP2_F
|
||
|
||
CHIP2_B
|
||
WL BIT_DELAY,CHIP2_09
|
||
WL BIT_DELAY,CHIP2_07
|
||
WL BIT_DELAY,CHIP2_05
|
||
WL BIT_DELAY,CHIP2_03
|
||
WL BIT_DELAY,CHIP2_01
|
||
WL -1,CHIP2_B
|
||
|
||
CHIP3_F
|
||
WL BIT_DELAY,CHIP3_01
|
||
WL BIT_DELAY,CHIP3_03
|
||
WL BIT_DELAY,CHIP3_05
|
||
WL BIT_DELAY,CHIP3_07
|
||
WL BIT_DELAY,CHIP3_09
|
||
WL BIT_DELAY,CHIP3_11
|
||
WL BIT_DELAY,CHIP3_13
|
||
WL BIT_DELAY,CHIP3_15
|
||
WL BIT_DELAY,CHIP3_17
|
||
WL BIT_DELAY,CHIP3_19
|
||
WL -1,CHIP3_F
|
||
|
||
CHIP3_B
|
||
WL BIT_DELAY,CHIP3_19
|
||
WL BIT_DELAY,CHIP3_17
|
||
WL BIT_DELAY,CHIP3_15
|
||
WL BIT_DELAY,CHIP3_13
|
||
WL BIT_DELAY,CHIP3_11
|
||
WL BIT_DELAY,CHIP3_09
|
||
WL BIT_DELAY,CHIP3_07
|
||
WL BIT_DELAY,CHIP3_05
|
||
WL BIT_DELAY,CHIP3_03
|
||
WL BIT_DELAY,CHIP3_01
|
||
WL -1,CHIP3_B
|
||
|
||
CHIP4_F
|
||
WL BIT_DELAY,CHIP4_01
|
||
WL BIT_DELAY,CHIP4_03
|
||
WL BIT_DELAY,CHIP4_05
|
||
WL BIT_DELAY,CHIP4_07
|
||
WL BIT_DELAY,CHIP4_09
|
||
WL -1,CHIP4_F
|
||
|
||
CHIP4_B
|
||
WL BIT_DELAY,CHIP4_09
|
||
WL BIT_DELAY,CHIP4_07
|
||
WL BIT_DELAY,CHIP4_05
|
||
WL BIT_DELAY,CHIP4_03
|
||
WL BIT_DELAY,CHIP4_01
|
||
WL -1,CHIP4_B
|
||
|
||
CHIP5_F
|
||
WL BIT_DELAY,CHIP5_01
|
||
WL BIT_DELAY,CHIP5_03
|
||
WL BIT_DELAY,CHIP5_05
|
||
WL BIT_DELAY,CHIP5_07
|
||
WL BIT_DELAY,CHIP5_09
|
||
WL BIT_DELAY,CHIP5_11
|
||
WL BIT_DELAY,CHIP5_13
|
||
WL BIT_DELAY,CHIP5_15
|
||
WL BIT_DELAY,CHIP5_17
|
||
WL BIT_DELAY,CHIP5_19
|
||
WL -1,CHIP5_F
|
||
|
||
CHIP5_B
|
||
WL BIT_DELAY,CHIP5_19
|
||
WL BIT_DELAY,CHIP5_17
|
||
WL BIT_DELAY,CHIP5_15
|
||
WL BIT_DELAY,CHIP5_13
|
||
WL BIT_DELAY,CHIP5_11
|
||
WL BIT_DELAY,CHIP5_09
|
||
WL BIT_DELAY,CHIP5_07
|
||
WL BIT_DELAY,CHIP5_05
|
||
WL BIT_DELAY,CHIP5_03
|
||
WL BIT_DELAY,CHIP5_01
|
||
WL -1,CHIP5_B
|
||
SPKD1_ANIM
|
||
WL 100,SPKD1_09
|
||
WL -1,SPKD1_ANIM
|
||
SPKD2_ANIM
|
||
WL 100,SPKD2_09
|
||
WL -1,SPKD2_ANIM
|
||
SPKD4_ANIM
|
||
WL 100,SPKD4_09
|
||
WL -1,SPKD4_ANIM
|
||
SPKR1_ANIM
|
||
WL 100,SPKR1_09
|
||
WL -1,SPKR1_ANIM
|
||
|
||
SUBR NEXT_IN_LADDER
|
||
MMTM SP,A2,A3,A4,A14
|
||
ADDI 32,A10
|
||
|
||
;Whoa! If this is the first battle, arrange the table such that
|
||
; the human's wrestler is last.
|
||
cmpi LADDER,a10
|
||
jrne #lad_ok
|
||
; callr put_human_last
|
||
#lad_ok MOVE *A10,A1,L
|
||
MOVE A1,A2
|
||
SRL 24,A2
|
||
SLL 24,A2
|
||
CMPI 01000000H,A2
|
||
JREQ NO_SORT_OPPS
|
||
|
||
;it's a multiple-wrestler fight. Scramble the current entry.
|
||
callr scramble_table_entry
|
||
|
||
;sort so that shawn ends up in the third slot: >03040x0x
|
||
CLR A3
|
||
CLR A4
|
||
MOVX A1,A3
|
||
MOVY A1,A4
|
||
|
||
SLL 24,A1
|
||
SRL 24,A1
|
||
|
||
SRL 8,A3
|
||
|
||
SLL 8,A4
|
||
SRL 24,A4
|
||
|
||
CMPI 4,A1
|
||
JRNE NO_SWAP_SHAWN_A1
|
||
MOVE A1,A14
|
||
MOVE A3,A1
|
||
MOVE A14,A3
|
||
NO_SWAP_SHAWN_A1
|
||
CMPI 02000000H,A2
|
||
JREQ STUFF_SWAPPED
|
||
CMPI 4,A3
|
||
JRNE STUFF_SWAPPED
|
||
MOVE A3,A14
|
||
MOVE A4,A3
|
||
MOVE A14,A4
|
||
|
||
STUFF_SWAPPED
|
||
SLL 8,A3
|
||
SLL 16,A4
|
||
OR A3,A1
|
||
OR A4,A1
|
||
OR A2,A1
|
||
MOVE A1,*A10,L
|
||
NO_SORT_OPPS
|
||
MOVE A10,@CURRENT_LADDER,L
|
||
MMFM SP,A2,A3,A4,A14
|
||
RETS
|
||
|
||
|
||
SUBR NUM_OF_OPPS
|
||
MOVE A1,A3
|
||
SRL 24,A3
|
||
MOVE A3,@NUM_OPPS
|
||
RETS
|
||
|
||
WE_HAVE_COMPANY
|
||
CALLR FIND_LOGO_IMAGE
|
||
CALLR INIT_BLOC_STUFF
|
||
MOVE *A1(ISIZEY),A3
|
||
MOVI 255,A5
|
||
SUB A3,A5
|
||
SRL 1,A5
|
||
SLL 16,A5
|
||
MOVI 400,A6
|
||
CALLR SETUP_THIS_LOGO_DAG
|
||
RETS
|
||
|
||
|
||
#*****************************************************
|
||
*
|
||
SUBRP #do_rr_vs
|
||
move @index1,a1
|
||
movi -200,a6
|
||
callr FIND_LOGO_IMAGE
|
||
callr INIT_BLOC_STUFF
|
||
move *a1(ISIZEY),a3
|
||
movi 128,a5
|
||
sub a3,a5
|
||
srl 1,a5
|
||
sll 16,a5
|
||
callr SETUP_THIS_LOGO_DAG
|
||
|
||
move @index2,a1
|
||
movi -200,a6
|
||
callr FIND_LOGO_IMAGE
|
||
callr INIT_BLOC_STUFF
|
||
move *a1(ISIZEY),a3
|
||
movi 128,a5
|
||
sub a3,a5
|
||
srl 1,a5
|
||
addi 128,a5
|
||
sll 16,a5
|
||
callr SETUP_THIS_LOGO_DAG
|
||
|
||
movk 9,a1
|
||
movi 400,a6
|
||
callr FIND_LOGO_IMAGE
|
||
callr INIT_BLOC_STUFF
|
||
move *a1(ISIZEY),a3
|
||
movi 255,a5
|
||
sub a3,a5
|
||
srl 1,a5
|
||
sll 16,a5
|
||
callr SETUP_THIS_LOGO_DAG
|
||
|
||
rets
|
||
|
||
SETUP_LOGOS
|
||
move @royal_rumble,a1
|
||
jrz #head_to_head
|
||
move @PSTATUS,a1
|
||
cmpi 3,a1
|
||
jrz #do_rr_vs
|
||
#head_to_head
|
||
|
||
|
||
MOVE @index1,a1
|
||
MOVI -200,A6
|
||
MOVE @PSTATUS,A0
|
||
JRZ INDEX_SET_1
|
||
SRL 1,A0
|
||
JRC INDEX_SET_1
|
||
MOVE @index2,a1
|
||
MOVI 400,A6
|
||
INDEX_SET_1
|
||
CALLR FIND_LOGO_IMAGE
|
||
CALLR INIT_BLOC_STUFF
|
||
MOVE *A1(ISIZEY),A3
|
||
MOVI 255,A5
|
||
SUB A3,A5
|
||
SRL 1,A5
|
||
SLL 16,A5
|
||
CALLR SETUP_THIS_LOGO_DAG
|
||
|
||
MOVE @index2,a1
|
||
MOVE @PSTATUS,A0
|
||
; JRZ WE_HAVE_COMPANY
|
||
CMPI 3,A0
|
||
JREQ WE_HAVE_COMPANY
|
||
|
||
CMPI 400,A6
|
||
JREQ SET_A6_TO_MINUS_200
|
||
MOVI 400,A6
|
||
JRUC A6_SET
|
||
|
||
SET_A6_TO_MINUS_200
|
||
MOVI -200,A6
|
||
A6_SET
|
||
|
||
PUSHP A2
|
||
MOVE @NUM_OPPS,A7
|
||
MOVE @CURRENT_LADDER,A10,L
|
||
MOVE *A10,A10,L
|
||
CALLR is_8_on_1
|
||
PUSHST
|
||
JRNC SLAP_UP_NEXT_LOGO
|
||
MOVK 1,A7
|
||
MOVI 9,A10
|
||
|
||
SLAP_UP_NEXT_LOGO
|
||
MOVE A10,A1
|
||
SLL 24,A1
|
||
SRL 24,A1
|
||
CALLR FIND_LOGO_IMAGE
|
||
CALLR INIT_BLOC_STUFF
|
||
CLR A5
|
||
CALLR SETUP_THIS_LOGO_DAG
|
||
SRL 8,A10
|
||
DSJS A7,SLAP_UP_NEXT_LOGO
|
||
|
||
MOVI -15,A5
|
||
MOVE @NUM_OPPS,A7
|
||
MOVE @CURRENT_LADDER,A10,L
|
||
MOVE *A10,A10,L
|
||
POPST
|
||
PUSHST
|
||
JRNC SLAP_UP_NEXT_LOGO_DAG_Y
|
||
MOVK 1,A7
|
||
MOVI 9,A10
|
||
|
||
SLAP_UP_NEXT_LOGO_DAG_Y
|
||
MOVE A10,A1
|
||
SLL 24,A1
|
||
SRL 24,A1
|
||
CALLR FIND_LOGO_IMAGE
|
||
MOVE *A1(ISIZEY),A9
|
||
ADD A9,A5
|
||
ADDI 15,A5
|
||
SRL 8,A10
|
||
DSJS A7,SLAP_UP_NEXT_LOGO_DAG_Y
|
||
|
||
PULLP A2
|
||
|
||
MOVI 255,A11
|
||
SUB A5,A11
|
||
SRL 1,A11
|
||
|
||
MOVE @NUM_OPPS,A7
|
||
MOVE @CURRENT_LADDER,A10,L
|
||
MOVE *A10,A10,L
|
||
POPST
|
||
JRNC SLAP_UP_NEXT_LOGO_DAG
|
||
MOVK 1,A7
|
||
MOVI 9,A10
|
||
|
||
SLAP_UP_NEXT_LOGO_DAG
|
||
MOVE A11,*A2(B_DAG+010H)
|
||
MOVE A10,A1
|
||
SLL 24,A1
|
||
SRL 24,A1
|
||
CALLR FIND_LOGO_IMAGE
|
||
MOVE *A1(ISIZEY),A9
|
||
ADD A9,A11
|
||
ADDI 15,A11
|
||
SRL 8,A10
|
||
ADDI BLOC_SIZE,A2
|
||
DSJS A7,SLAP_UP_NEXT_LOGO_DAG
|
||
|
||
RETS
|
||
|
||
SETUP_THIS_LOGO_DAG
|
||
MOVE *A1(ISIZEX),A3
|
||
MOVI 200,A4
|
||
SUB A3,A4
|
||
SRL 1,A4
|
||
ADD A6,A4
|
||
MOVY A5,A4
|
||
MOVE A4,*A2(B_DAG),L
|
||
ADDI BLOC_SIZE,A2
|
||
RETS
|
||
|
||
FIND_LOGO_IMAGE
|
||
SLL 5,A1
|
||
ADDI LOGO_IMAGE_TABLE,A1
|
||
MOVE *A1,A1,L
|
||
RETS
|
||
|
||
LOGO_IMAGE_TABLE
|
||
.LONG HRT3
|
||
.long RZR3
|
||
.long UND3
|
||
.long YOK3
|
||
.long SHN3
|
||
.long BAM3
|
||
.long DNK3
|
||
.long LEX3
|
||
.long LEX3
|
||
.long WWFCHAL
|
||
MOVE_BLOC
|
||
MOVE *A2(B_SAG),A0,L
|
||
JRZ NO_BLOC_TO_MOVE
|
||
MOVE *A2(B_DAG),A0
|
||
CMPI 200,A0
|
||
JRLT BLOC_ON_LEFT
|
||
NEG A9
|
||
ADD A9,A0
|
||
NEG A9
|
||
MOVE A0,*A2(B_DAG)
|
||
MOVI 400,A3
|
||
SUB A0,A3
|
||
NEG A3
|
||
MOVE @BOT_RIGHT_2,A1
|
||
CMP A3,A1
|
||
JRLE NO_NEW_BOT_RIGHT
|
||
MOVE A3,@BOT_RIGHT_2
|
||
NO_NEW_BOT_RIGHT
|
||
CLR A1
|
||
MOVE *A2(B_SIZE),A3
|
||
ADD A0,A3
|
||
SUBI 400,A3
|
||
JRN NO_SPECIAL_BCTRL
|
||
MOVE A3,A1
|
||
NO_SPECIAL_BCTRL
|
||
MOVE A1,*A2(B_CTRL)
|
||
CMPI 399,A0
|
||
JRGT NOT_OF_LEFT_SCREEN
|
||
MOVE *A2(B_CTRL),A1,L
|
||
ORI 080000000H,A1
|
||
MOVE A1,*A2(B_CTRL),L
|
||
RETS
|
||
BLOC_ON_LEFT
|
||
MOVE *A2(B_CTRL),A1
|
||
SUB A1,A0
|
||
ADD A9,A0
|
||
MOVE A0,A11
|
||
MOVE *A2(B_SIZE),A1
|
||
ADD A0,A1
|
||
MOVE @TOP_LEFT_2,A3
|
||
CMP A1,A3
|
||
JRGE NO_NEW_TOP_LEFT
|
||
MOVE A1,@TOP_LEFT_2
|
||
NO_NEW_TOP_LEFT
|
||
MOVE *A2(B_REAL_SAG),A3,L
|
||
CLR A1
|
||
MOVE A0,A0
|
||
JRNN NO_SPECIAL_BCTRL2
|
||
NEG A0
|
||
MOVE A0,A1
|
||
MOVE *A2(B_CTRL+010H),A5
|
||
ANDI 7000H,A5
|
||
SRL 12,A5
|
||
MPYU A1,A5
|
||
ADD A5,A3
|
||
NO_SPECIAL_BCTRL2
|
||
ADD A1,A11
|
||
MOVE A11,*A2(B_DAG)
|
||
MOVE A1,*A2(B_CTRL)
|
||
MOVE *A2(B_SIZE),A4
|
||
CMP A4,A1
|
||
JRGE NOT_OF_LEFT_SCREEN
|
||
MOVE A3,*A2(B_SAG),L
|
||
MOVE *A2(B_CTRL),A1,L
|
||
ORI 080000000H,A1
|
||
MOVE A1,*A2(B_CTRL),L
|
||
RETS
|
||
NOT_OF_LEFT_SCREEN
|
||
MOVE *A2(B_CTRL),A1,L
|
||
SLL 1,A1
|
||
SRL 1,A1
|
||
MOVE A1,*A2(B_CTRL),L
|
||
NO_BLOC_TO_MOVE
|
||
RETS
|
||
|
||
INIT_BLOC
|
||
MOVI PROG_BLOC_START,A2
|
||
MOVI INIT_BLOC_TAB,A3
|
||
MOVK 10,A4
|
||
INIT_NEXT_BLOC
|
||
MOVE *A3+,A1,L
|
||
CALLR INIT_BLOC_STUFF
|
||
|
||
MOVE *A3+,A0,L
|
||
MOVE A0,*A2(B_DAG),L
|
||
ADDI BLOC_SIZE,A2
|
||
|
||
DSJS A4,INIT_NEXT_BLOC
|
||
|
||
MOVI 44,A4
|
||
CLR A0
|
||
INIT_NEXT_BLOC2
|
||
MOVE A0,*A2(B_SAG),L
|
||
MOVE A0,*A2(B_CTRL),L
|
||
ADDI BLOC_SIZE,A2
|
||
|
||
DSJS A4,INIT_NEXT_BLOC2
|
||
SUBI 44*BLOC_SIZE,A2
|
||
|
||
RETS
|
||
|
||
INIT_BLOC_STUFF
|
||
MOVE *A1(ISAG),*A2(B_SAG),L
|
||
MOVE *A1(ISAG),*A2(B_REAL_SAG),L
|
||
MOVE *A1(ISIZEX),*A2(B_SIZE),L
|
||
MOVE *A1(ICTRL),A0,L
|
||
SLL 16,A0
|
||
ORI 80020000H,A0
|
||
MOVE A0,*A2(B_CTRL),L
|
||
MOVE *A1(ICMAP),A0,L
|
||
PUSH A1
|
||
calla GET_PAL_BLOC
|
||
PULL A1
|
||
MOVE A0,*A2(B_PAL),L
|
||
RETS
|
||
|
||
INIT_BLOC_TAB
|
||
.LONG CSELBK_A,[0,-204]
|
||
.LONG CSELBK_C,[133,-204]
|
||
.LONG CSELBK_E,[252,-204]
|
||
.LONG CSELBK_B,[0,404]
|
||
.LONG CSELBK_D,[133,404]
|
||
.LONG CSELBK_F,[252,404]
|
||
.LONG CSELBV_A,[0,-4]
|
||
.LONG CSELBV_C,[133,-4]
|
||
.LONG CSELBV_B,[0,400]
|
||
.LONG CSELBV_D,[133,400]
|
||
|
||
BLAST_OUT_PROGRESS_TRANS
|
||
MOVI BLOC_TOTAL+BITS_TOTAL,A0
|
||
MOVI 01000100H,A5
|
||
MOVI PROG_BLOC_START,A2
|
||
BLAST_NEXT_BLOC
|
||
MMFM A2,A8,A9,A10,A11,A12
|
||
ADDI 020H,A2 ;AVOID REAL SAG
|
||
MOVE A11,A11
|
||
JRZ IGNORE_BLOCK
|
||
MOVE A12,A12
|
||
JRNN IGNORE_BLOCK
|
||
MOVE @SCREEN_SHAKE,A1,L
|
||
ADD A1,A10
|
||
MOVE *A8(P_DMA_PAL_VAL),A8
|
||
CALLA dma_it_out
|
||
IGNORE_BLOCK
|
||
DSJS A0,BLAST_NEXT_BLOC
|
||
RETS
|
||
|
||
**************************************
|
||
|
||
SET_IMAGE_AND_FLASH
|
||
calla set_images
|
||
MOVE @HCOUNT,A0
|
||
ANDI 3,A0
|
||
JRNZ NO_CREATE_RANDOM
|
||
CREATE0 RANDOM_FLASHES
|
||
NO_CREATE_RANDOM
|
||
RETS
|
||
|
||
START_FLASHES
|
||
MOVE @FLASH_FLAG,A0
|
||
JRNZ ALREADY_FLASHING
|
||
move @reduce_bog,a14
|
||
jrnz ALREADY_FLASHING
|
||
|
||
; MOVI FLASH_PID,A0
|
||
; movi -1,a1
|
||
; CALLA EXISTP
|
||
; JRNZ ALREADY_FLASHING
|
||
|
||
MOVE @WORLDTLY,A0,L
|
||
cmpi 19C000H,a0
|
||
jrgt ALREADY_FLASHING
|
||
|
||
MOVI 18,A8
|
||
MOVI 500,A9
|
||
CREATE FLASH_PID,SET_GAME_FLASHES
|
||
MOVK 1,A0
|
||
MOVE A0,@FLASH_FLAG
|
||
ALREADY_FLASHING
|
||
RETS
|
||
|
||
SUBR START_HI_FLASHES
|
||
MOVE @FLASH_FLAG,A0
|
||
JRNZ ALREADY_FLASHING
|
||
move @reduce_bog,a14
|
||
jrnz ALREADY_FLASHING
|
||
|
||
MOVI 40,A8
|
||
MOVI 1000,A9
|
||
CREATE FLASH_PID,SET_GAME_FLASHES
|
||
MOVK 1,A0
|
||
MOVE A0,@FLASH_FLAG
|
||
RETS
|
||
|
||
SET_GAME_FLASHES
|
||
MOVE @PSTATUS,A0
|
||
CMPI 3,A0
|
||
JREQ ALWAYS_DO_FLASH
|
||
MOVE @NUM_OPPS,A0
|
||
CMPI 2,A0
|
||
JRGE NO_CREATE_ANY_FLASH
|
||
ALWAYS_DO_FLASH
|
||
MOVE A9,A0
|
||
CALLA RNDPER
|
||
JRLS NO_CREATE_ANY_FLASH
|
||
SET_GAME_FLASHES2
|
||
CMPI 1000,A9
|
||
JREQ ALWAYS_FLASH
|
||
MOVE @HCOUNT,A0
|
||
SRL 1,A0
|
||
JRNC NO_CREATE_RANDOM_G
|
||
ALWAYS_FLASH
|
||
CREATE0 RANDOM_GAME_FLASHES
|
||
NO_CREATE_RANDOM_G
|
||
SLEEP 2
|
||
DSJS A8,SET_GAME_FLASHES2
|
||
NO_CREATE_ANY_FLASH
|
||
CLR A0
|
||
MOVE A0,@FLASH_FLAG
|
||
DIE
|
||
|
||
RANDOM_GAME_FLASHES
|
||
MOVE @WORLDTLY,A0,L
|
||
SRA 16,A0
|
||
NEG A0
|
||
ADDI 30,A0
|
||
CALLA RNDRNG0
|
||
PUSH A0
|
||
MOVI 400,A0
|
||
CALLA RNDRNG0
|
||
MOVE @WORLDTLX+010H,A1
|
||
ADD A0,A1
|
||
CMPI 3E8H,A1
|
||
JRLT RANDOM_2
|
||
CMPI 440H,A1
|
||
JRGT RANDOM_2
|
||
MOVI 58H,A1
|
||
MOVE @HCOUNT,A2
|
||
ORI 2,A2
|
||
JRZ NOW_SHIFT_FLASH
|
||
NEG A1
|
||
NOW_SHIFT_FLASH
|
||
ADD A1,A0
|
||
JRUC RANDOM_2
|
||
|
||
RANDOM_FLASHES
|
||
MOVI 200,A0
|
||
CALLA RNDRNG0
|
||
PUSH A0
|
||
MOVI 400,A0
|
||
CALLA RNDRNG0
|
||
RANDOM_2
|
||
PULL A1
|
||
move a1,a1
|
||
jrn dont_bother
|
||
SLL 16,A0
|
||
SLL 16,A1
|
||
MOVI flash1,A2
|
||
MOVI 89,A3
|
||
movi DMAWNZ,a4 ;DMA flags
|
||
CLR A5
|
||
CLR A6
|
||
CLR A7
|
||
CALLA BEGINOBJW
|
||
|
||
MOVE @GAMSTATE,A0
|
||
CMPI INGAME,A0
|
||
JREQ NO_SOUNDS
|
||
MOVI 500,A0
|
||
CALLA RNDPER
|
||
JRLS NO_SOUNDS
|
||
MOVI 2,A0
|
||
CALLA RNDRNG0
|
||
ADDI 4AH,A0
|
||
MOVE A0,A3
|
||
CALLA triple_sound
|
||
NO_SOUNDS
|
||
|
||
MOVI FLASH_TYPE_1,A1
|
||
move @HCOUNT,a0
|
||
btst 0,a0
|
||
jrz #1
|
||
MOVI FLASH_TYPE_2,A1
|
||
#1 callr setup_back_anim
|
||
JSRP ANIM_CROWD
|
||
CALLA DELOBJA8
|
||
dont_bother
|
||
DIE
|
||
|
||
FLASH_TYPE_1
|
||
WL 2,flash1
|
||
WL 2,flash2
|
||
WL 2,flash3
|
||
WL 2,flash3a
|
||
WL 2,flash3
|
||
WL 2,flash2
|
||
WL 2,flash1
|
||
|
||
.WORD CANI_END
|
||
|
||
FLASH_TYPE_2
|
||
WL 2,flash1
|
||
WL 2,flash4
|
||
WL 1,flash5
|
||
WL 1,flash6
|
||
WL 1,flash5
|
||
WL 2,flash4
|
||
|
||
.WORD CANI_END
|
||
|
||
setup_back_anim
|
||
MOVE A13,A4
|
||
ADDI PDATA,A4
|
||
MOVE A1,*A4(SCPTR),L
|
||
MOVK 1,A1
|
||
MOVE A1,*A4(TIME)
|
||
CALLA animate_back
|
||
MOVE *A4(FRAME),A0,L
|
||
JRUC ANIBOBJ_B
|
||
|
||
DO_FLASH
|
||
move @reduce_bog,a14
|
||
jrnz #rets
|
||
MMTM SP,A0,A1,A7,A8
|
||
MOVE @GAMSTATE,A8
|
||
CMPI INPREGAME2,A8
|
||
JRNE NO_DO_THIS
|
||
MOVE A0,A8
|
||
CREATE0 DO_CROWD_FLASH
|
||
NO_DO_THIS
|
||
MMFM SP,A0,A1,A7,A8
|
||
#rets RETS
|
||
|
||
**********************************
|
||
|
||
DO_CROWD_FLASH ;process
|
||
|
||
MOVE *A8(OYPOS),A0
|
||
SUBI 250,A0
|
||
MOVE A0,*A8(OYPOS)
|
||
MOVI 80,A0
|
||
CALLA RNDRNG0
|
||
INC A0
|
||
CALLA PRCSLP
|
||
|
||
MOVI CROWD_FLASH_ANIM,A1
|
||
callr setup_back_anim
|
||
|
||
MOVE *A8(OYPOS),A0
|
||
ADDI 250,A0
|
||
MOVE A0,*A8(OYPOS)
|
||
JSRP ANIM_CROWD
|
||
JAUC DO_CROWD_FLASH
|
||
|
||
**********************************
|
||
|
||
ANIM_CROWD
|
||
SLEEPK 1
|
||
MOVE A13,A4
|
||
ADDI PDATA,A4
|
||
CALLA animate_back
|
||
JRN EXIT_ANIM_CROWD
|
||
JRNZ ANIM_CROWD
|
||
MOVE *A4(FRAME),A0,L
|
||
MOVE A0,A10
|
||
CALLA ANIBOBJ_B
|
||
JRUC ANIM_CROWD
|
||
EXIT_ANIM_CROWD
|
||
RETP
|
||
|
||
ANIBOBJ_B
|
||
MOVE *A8(OFLAGS),A1
|
||
ANDI 0FFFFH-M_BOBJ,A1
|
||
MOVE A1,*A8(OFLAGS)
|
||
|
||
move *a8(OCTRL),a1,W
|
||
|
||
PUSH a2,a3,a4,a5
|
||
|
||
cmpi ROM,a0
|
||
jrlo #anierr
|
||
|
||
move *a0(IANIOFFX),a4,W
|
||
move A4,*a8(ODXOFF),W
|
||
|
||
move *a0(IANIOFFY),a4,W
|
||
move A4,*a8(ODYOFF),W
|
||
|
||
move a0,a2
|
||
move a1,a3
|
||
|
||
move a2,*a8(OIMG),L
|
||
move *a2(0),*a8(OSIZE),L
|
||
move *a2(ISAG),*a8(OSAG),L
|
||
|
||
movb *a2(ICTRL+7),*a8(OCTRL+7) ;Write z comp & bpp bits
|
||
|
||
setf 6,0,0
|
||
move a3,*a8(OCTRL) ;Write 6 low bits
|
||
setf 16,1,0
|
||
|
||
#x PULL a2,a3,a4,a5
|
||
rets
|
||
|
||
#anierr
|
||
.if DEBUG
|
||
LOCKUP
|
||
eint
|
||
.else
|
||
CALLERR 2,2
|
||
.endif
|
||
jruc #x
|
||
|
||
|
||
CROWD_FLASH_ANIM
|
||
WL 1,FLASH2
|
||
WL 2,FLASH1
|
||
WL 1,FLASH2
|
||
.WORD CANI_END
|
||
|
||
DO_JASON_CROWD
|
||
MMTM SP,A0,A1,A7,A8
|
||
MOVE @GAMSTATE,A8
|
||
CMPI INPREGAME2,A8
|
||
JRNE JASON_NO_DO_THIS
|
||
MOVE A0,A8
|
||
CREATE0 DO_JASON_CROWD_MOVE
|
||
JASON_NO_DO_THIS
|
||
MMFM SP,A0,A1,A7,A8
|
||
RETS
|
||
|
||
DO_JASON_CROWD_MOVE
|
||
MOVI 80,A0
|
||
CALLA RNDRNG0
|
||
INC A0
|
||
CALLA PRCSLP
|
||
|
||
MOVI JASON_CROWD_ANIM1,A1
|
||
MOVE @dirqcnt,A0
|
||
SRL 1,A0
|
||
JRNC JASON_CROWD_SET
|
||
MOVI JASON_CROWD_ANIM2,A1
|
||
|
||
JASON_CROWD_SET
|
||
callr setup_back_anim
|
||
|
||
JSRP ANIM_CROWD
|
||
JAUC DO_JASON_CROWD_MOVE
|
||
|
||
JASON_CROWD_ANIM1
|
||
WL 5,JASONCRD1
|
||
WL 5,JASONCRD2
|
||
WL 5,JASONCRD3
|
||
WL 6,JASONCRD4
|
||
WL 10,JASONCRD5
|
||
WL 5,JASONCRD1
|
||
.WORD CANI_END
|
||
|
||
JASON_CROWD_ANIM2
|
||
WL 5,JASONCRD1
|
||
WL 5,JASONCRD2
|
||
WL 5,JASONCRD3
|
||
WL 6,JASONCRD4
|
||
WL 10,JASONCRD5
|
||
WL 6,JASONCRD4
|
||
WL 6,JASONCRD3
|
||
WL 6,JASONCRD4
|
||
WL 10,JASONCRD5
|
||
WL 5,JASONCRD1
|
||
.WORD CANI_END
|
||
|
||
|
||
DO_TONY_CROWD
|
||
MMTM SP,A0,A1,A7,A8
|
||
MOVE @GAMSTATE,A8
|
||
CMPI INPREGAME2,A8
|
||
JRNE TONY_NO_DO_THIS
|
||
MOVE A0,A8
|
||
CREATE0 DO_TONY_CROWD_MOVE
|
||
TONY_NO_DO_THIS
|
||
MMFM SP,A0,A1,A7,A8
|
||
RETS
|
||
|
||
DO_TONY_CROWD_MOVE
|
||
MOVI 80,A0
|
||
CALLA RNDRNG0
|
||
INC A0
|
||
CALLA PRCSLP
|
||
|
||
MOVI TONY_CROWD_ANIM1,A1
|
||
MOVE @dirqcnt,A0
|
||
SRL 1,A0
|
||
JRNC TONY_CROWD_SET
|
||
MOVI TONY_CROWD_ANIM2,A1
|
||
|
||
TONY_CROWD_SET
|
||
callr setup_back_anim
|
||
|
||
JSRP ANIM_CROWD
|
||
JAUC DO_TONY_CROWD_MOVE
|
||
|
||
TONY_CROWD_ANIM1
|
||
WL 5,TONYCRD1
|
||
WL 5,TONYCRD2
|
||
WL 5,TONYCRD3
|
||
WL 6,TONYCRD4
|
||
WL 10,TONYCRD5
|
||
WL 6,TONYCRD2
|
||
WL 5,TONYCRD1
|
||
.WORD CANI_END
|
||
|
||
TONY_CROWD_ANIM2
|
||
WL 5,TONYCRD1
|
||
WL 5,TONYCRD2
|
||
WL 5,TONYCRD3
|
||
WL 6,TONYCRD4
|
||
WL 10,TONYCRD5
|
||
WL 6,TONYCRD4
|
||
WL 6,TONYCRD3
|
||
WL 6,TONYCRD4
|
||
WL 10,TONYCRD5
|
||
WL 6,TONYCRD2
|
||
WL 5,TONYCRD1
|
||
.WORD CANI_END
|
||
|
||
DO_VOGEL_CROWD
|
||
MMTM SP,A0,A1,A7,A8
|
||
MOVE @GAMSTATE,A8
|
||
CMPI INPREGAME2,A8
|
||
JRNE VOGEL_NO_DO_THIS
|
||
MOVE A0,A8
|
||
CREATE0 DO_VOGEL_CROWD_MOVE
|
||
VOGEL_NO_DO_THIS
|
||
MMFM SP,A0,A1,A7,A8
|
||
RETS
|
||
|
||
DO_VOGEL_CROWD_MOVE
|
||
MOVI 80,A0
|
||
CALLA RNDRNG0
|
||
INC A0
|
||
CALLA PRCSLP
|
||
|
||
MOVI VOGEL_CROWD_ANIM1,A1
|
||
MOVE @dirqcnt,A0
|
||
SRL 1,A0
|
||
JRNC VOGEL_CROWD_SET
|
||
MOVI VOGEL_CROWD_ANIM2,A1
|
||
|
||
VOGEL_CROWD_SET
|
||
callr setup_back_anim
|
||
|
||
JSRP ANIM_CROWD
|
||
JAUC DO_VOGEL_CROWD_MOVE
|
||
|
||
VOGEL_CROWD_ANIM1
|
||
WL 5,VOGEL1
|
||
WL 5,VOGEL2
|
||
WL 5,VOGEL3
|
||
WL 10,VOGEL4
|
||
WL 6,VOGEL2
|
||
WL 5,VOGEL1
|
||
.WORD CANI_END
|
||
|
||
VOGEL_CROWD_ANIM2
|
||
WL 5,VOGEL1
|
||
WL 5,VOGEL2
|
||
WL 6,VOGEL3
|
||
WL 10,VOGEL4
|
||
WL 6,VOGEL3
|
||
WL 6,VOGEL2
|
||
WL 6,VOGEL3
|
||
WL 10,VOGEL4
|
||
WL 6,VOGEL3
|
||
WL 5,VOGEL2
|
||
WL 5,VOGEL1
|
||
.WORD CANI_END
|
||
|
||
|
||
|
||
;**************************************************************************
|
||
;* *
|
||
;* This table is set up to determine where two or three player *
|
||
;* matches take place in the game. It is in the format of *
|
||
;* .word x,y *
|
||
;* where x=number of places in the table to put y(where y is *
|
||
;* the number of opponents to fight). For example *
|
||
;* .word 10,2 *
|
||
;* would set the next ten consecutive places in the table to *
|
||
;* have two opponents *
|
||
;* *
|
||
;**************************************************************************
|
||
LADDER_TABLE_ICONT ;intercontinental belt table
|
||
|
||
.word 4,1
|
||
.word 2,2
|
||
.word 1,3
|
||
.word -1
|
||
|
||
LADDER_TABLE_WCHAMP ;world championship belt table
|
||
.word 4,2
|
||
.word 2,3 ;final battle
|
||
.word 1,3
|
||
.word -1
|
||
|
||
FINAL_BATTLE equ 7 ;14th battle is last one. (keep up-to-date)
|
||
|
||
#*********
|
||
*
|
||
* returns carry set if the current battle is the last one on our ladder.
|
||
|
||
SUBR is_final_match
|
||
|
||
move @CURRENT_LADDER,a14,L
|
||
cmpi LADDER+((FINAL_BATTLE-1)*20h),a14
|
||
jrne #no
|
||
setc
|
||
rets
|
||
|
||
#no clrc
|
||
rets
|
||
|
||
#*********
|
||
*
|
||
* returns carry set if the current battle is an 8-on-1.
|
||
|
||
SUBR is_8_on_1
|
||
|
||
;no 8-on-1 in intercontinental belt table.
|
||
move @belt_type,a14
|
||
jrz #no
|
||
|
||
move @CURRENT_LADDER,a14,L
|
||
cmpi LADDER+((FINAL_BATTLE-1)*20h),a14
|
||
jrne #no
|
||
setc
|
||
rets
|
||
|
||
#no clrc
|
||
rets
|
||
|
||
#*********
|
||
*
|
||
* generates a lineup for a royal rumble match
|
||
|
||
SUBR get_royal_lineup
|
||
|
||
callr get_final_lineup
|
||
|
||
move @index1,a1
|
||
move @index2,a2
|
||
|
||
move @FINAL_BATTLE_LINEUP,a3,L
|
||
move @FINAL_BATTLE_LINEUP+20h,a4,L
|
||
|
||
;if either index matches either of the first two entries in a3,
|
||
; swap a3 and a4. Then look at a3 again, and if one still matches,
|
||
; rotate it 16 bits.
|
||
move a3,a5
|
||
andi >00FF,a5
|
||
move a3,a6
|
||
andi >FF00,a6
|
||
srl 8,a6
|
||
|
||
cmp a1,a5
|
||
jreq #swap
|
||
cmp a2,a5
|
||
jreq #swap
|
||
cmp a1,a6
|
||
jreq #swap
|
||
cmp a2,a6
|
||
jreq #swap
|
||
jruc #ok
|
||
|
||
#swap SWAP a3,a4
|
||
|
||
move a3,a5
|
||
andi >00FF,a5
|
||
move a3,a6
|
||
andi >FF00,a6
|
||
srl 8,a6
|
||
|
||
cmp a1,a5
|
||
jreq #rot
|
||
cmp a2,a5
|
||
jreq #rot
|
||
cmp a1,a6
|
||
jreq #rot
|
||
cmp a2,a6
|
||
jreq #rot
|
||
jruc #ok
|
||
|
||
#rot rl 16,a3
|
||
|
||
#ok move a3,@FINAL_BATTLE_LINEUP,L
|
||
move a4,@FINAL_BATTLE_LINEUP+20h,L
|
||
|
||
rets
|
||
|
||
#*********
|
||
*
|
||
* generates a new final battle lineup
|
||
|
||
SUBR get_final_lineup
|
||
|
||
callr INIT_TEMP_TABLE
|
||
callr RANDOMIZE_ORDER
|
||
|
||
;now just copy 8 bytes from TEMP_LADDER to FINAL_BATTLE_LINEUP
|
||
movi TEMP_LADDER,a0
|
||
movi FINAL_BATTLE_LINEUP,a1
|
||
move *a0+,*a1+,L ;first four
|
||
move *a0+,*a1+,L ;last four
|
||
|
||
;set the end-of-battle marker
|
||
movi -1,a14
|
||
move a14,*a1,W
|
||
rets
|
||
|
||
;**************************************************************************
|
||
;* *
|
||
;* Each entry in the ladder table is in the format of a long *
|
||
;* word, OP4|OP3|OP2|OP1. OP1 is the wrestler number for *
|
||
;* opponent 1, OP2 would be the second byte and would be *
|
||
;* the wrestler number for opponent 2. If zero, it will stop *
|
||
;* producing opponents. The table is generated randomly for *
|
||
;* each NEW game started from the ATTRACT MODE. When it is *
|
||
;* generated, it will randomly place the 8 wrestlers in order and then *
|
||
;* distribute them through the list. *
|
||
;* *
|
||
;**************************************************************************
|
||
|
||
INIT_LADDER_TABLE
|
||
|
||
MMTM SP,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
CALLR INIT_LADDER
|
||
MOVI LADDER-20h,A6 ;init to ladder-20 because the
|
||
MOVE A6,@CURRENT_LADDER,L ; it's pre-incremented later on.
|
||
addk 20h,a6
|
||
CALLR INIT_TEMP_TABLE
|
||
CALLR RANDOMIZE_ORDER
|
||
|
||
MOVI LADDER_TABLE_ICONT,A7
|
||
move @belt_type,a14
|
||
jrz #ldset
|
||
movi LADDER_TABLE_WCHAMP,a7
|
||
#ldset
|
||
|
||
NEXT_BIT_OF_TABLE
|
||
MOVE *A7+,A8
|
||
JRN WE_DONE_ALL_TABLE
|
||
MOVE *A7+,A9
|
||
DO_ALL_THESE_PARTS
|
||
MOVE A9,A10
|
||
MOVB A10,*A6(24)
|
||
|
||
CALLR FETCH_NEXT_OPPONENT
|
||
MOVB A11,*A6
|
||
DEC A10
|
||
JRZ DONE_THIS_ENTRY
|
||
|
||
CALLR FETCH_NEXT_OPPONENT
|
||
MOVB A11,*A6(8)
|
||
DEC A10
|
||
JRZ DONE_THIS_ENTRY
|
||
|
||
CALLR FETCH_NEXT_OPPONENT
|
||
MOVB A11,*A6(16)
|
||
|
||
DONE_THIS_ENTRY
|
||
|
||
ADDI 32,A6
|
||
DSJS A8,DO_ALL_THESE_PARTS
|
||
JRUC NEXT_BIT_OF_TABLE
|
||
|
||
WE_DONE_ALL_TABLE
|
||
MMFM SP,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
RETS
|
||
|
||
FETCH_NEXT_OPPONENT
|
||
MOVB *A2,A11
|
||
ADDI 8,A2
|
||
CMPI TEMP_LADDER_END,A2
|
||
JREQ RANDOMIZE_ORDER
|
||
RETS
|
||
|
||
INIT_LADDER
|
||
MOVI NUM_LADDER_ENTRIES,A1
|
||
MOVI LADDER,A6
|
||
CLR A2
|
||
CLEAR_ALL_TABLE
|
||
MOVE A2,*A6+,L
|
||
DSJS A1,CLEAR_ALL_TABLE
|
||
RETS
|
||
|
||
INIT_TEMP_TABLE
|
||
MOVK 8,A1
|
||
MOVI TEMP_LADDER,A2
|
||
INIT_NEXT_TEMP_TABLE
|
||
DEC A1
|
||
MOVB A1,*A2
|
||
INC A1
|
||
ADDI 8,A2
|
||
DSJS A1,INIT_NEXT_TEMP_TABLE
|
||
RETS
|
||
|
||
RANDOMIZE_ORDER
|
||
PUSH a10
|
||
MOVI TEMP_LADDER,A2
|
||
MOVK 7,A10
|
||
RANDOMIZE_NEXT_ENTRY
|
||
MOVE A10,A0
|
||
CALLA RNDRNG0
|
||
MOVE A0,A3
|
||
SLL 3,A3
|
||
ADD A2,A3
|
||
MOVB *A2,A14
|
||
MOVB *A3,*A2
|
||
MOVB A14,*A3
|
||
ADDI 8,A2
|
||
DEC A10
|
||
JRNN RANDOMIZE_NEXT_ENTRY
|
||
MOVI TEMP_LADDER,A2
|
||
PULL a10
|
||
RETS
|
||
|
||
|
||
|
||
SELBOX_HEIGHT .equ 80
|
||
SELBOX_WIDTH .equ 200
|
||
|
||
SELOUTLINE_H .equ 86
|
||
SELOUTLINE_W .equ 204
|
||
|
||
selbox
|
||
.word SELBOX_WIDTH,SELBOX_HEIGHT,0,0
|
||
.long 02000000h
|
||
.word 05000h
|
||
.even
|
||
|
||
selbox_outline
|
||
.word SELBOX_WIDTH+6,SELBOX_HEIGHT+4,3,2
|
||
.long 02000000h
|
||
.word 05000h
|
||
.even
|
||
|
||
.ref get_all_sticks_cur
|
||
.ref get_all_buttons_cur
|
||
.ref GENERIC_DISPLAY
|
||
.ref FLASHME
|
||
.ref print_message
|
||
.ref ogmd10_ascii
|
||
.ref SGMD8GLD
|
||
.ref print_string_C2
|
||
.ref COLCYC
|
||
.ref SNDSND
|
||
.ref mess_objid
|
||
.ref hstd_mod
|
||
.ref WIPEOUT
|
||
|
||
.bss sel_objects,32*12
|
||
|
||
sel_obj_tbl_t
|
||
.long CHOGLOT_A
|
||
.long CHOGLOT_B
|
||
.long CHSHDT_A
|
||
.long CHSHDT_B
|
||
sel_obj_tbl_b
|
||
.long CHOGLOB_A
|
||
.long CHOGLOB_B
|
||
.long CHSHDB_A
|
||
.long CHSHDB_B
|
||
sel_obj_tbl_t1
|
||
.long CHOICBK
|
||
.if INTER_DEFAULT
|
||
.long INTER
|
||
.else
|
||
.long WORLD
|
||
.endif
|
||
sel_obj_tbl_b1
|
||
.long CHOICBK
|
||
.if INTER_DEFAULT
|
||
.long WORLD
|
||
.else
|
||
.long INTER
|
||
.endif
|
||
|
||
sel_obj_tbl_t2
|
||
.long CHOICBK
|
||
.long HEAD
|
||
sel_obj_tbl_b2
|
||
.long CHOICBK
|
||
.long COOP
|
||
|
||
|
||
|
||
; SUBRP scrn_rel_off
|
||
SUBR scrn_rel_off
|
||
movi OBJLST,a14
|
||
#sro_loop
|
||
move *a14,a14,L
|
||
jrz #sro_exit
|
||
move *a14(OID),a3
|
||
cmpi CREDITID|CLSDEAD,a3
|
||
jrz #sro_loop
|
||
move *a14(OFLAGS),a3,W
|
||
andni M_SCRNREL,a3
|
||
move a3,*a14(OFLAGS),W
|
||
jruc #sro_loop
|
||
#sro_exit
|
||
rets
|
||
|
||
SUBRP hilight
|
||
PUSH a0,a9,a10,a11
|
||
movi sel_objects,a10
|
||
|
||
move *a10+,a11,L
|
||
move *a11(OCTRL),a14
|
||
move a9,a9
|
||
jrnz #tha_off
|
||
ori 2,a14
|
||
jruc #tha_set
|
||
#tha_off
|
||
andni 2,a14
|
||
#tha_set
|
||
move a14,*a11(OCTRL)
|
||
|
||
move *a10+,a11,L
|
||
move *a11(OCTRL),a14
|
||
move a9,a9
|
||
jrnz #thb_off
|
||
ori 2,a14
|
||
jruc #thb_set
|
||
#thb_off
|
||
andni 2,a14
|
||
#thb_set
|
||
move a14,*a11(OCTRL)
|
||
|
||
move *a10+,a11,L
|
||
move *a11(OCTRL),a14
|
||
move a9,a9
|
||
jrz #tsa_on
|
||
ori 2,a14
|
||
jruc #tsa_set
|
||
#tsa_on
|
||
andni 2,a14
|
||
#tsa_set
|
||
move a14,*a11(OCTRL)
|
||
|
||
move *a10+,a11,L
|
||
move *a11(OCTRL),a14
|
||
move a9,a9
|
||
jrz #tsb_on
|
||
ori 2,a14
|
||
jruc #tsb_set
|
||
#tsb_on
|
||
andni 2,a14
|
||
#tsb_set
|
||
move a14,*a11(OCTRL)
|
||
|
||
move *a10+,a11,L
|
||
move *a11(OCTRL),a14
|
||
move a9,a9
|
||
jrz #bha_off
|
||
ori 2,a14
|
||
jruc #bha_set
|
||
#bha_off
|
||
andni 2,a14
|
||
#bha_set
|
||
move a14,*a11(OCTRL)
|
||
|
||
move *a10+,a11,L
|
||
move *a11(OCTRL),a14
|
||
move a9,a9
|
||
jrz #bhb_off
|
||
ori 2,a14
|
||
jruc #bhb_set
|
||
#bhb_off
|
||
andni 2,a14
|
||
#bhb_set
|
||
move a14,*a11(OCTRL)
|
||
|
||
move *a10+,a11,L
|
||
move *a11(OCTRL),a14
|
||
move a9,a9
|
||
jrnz #bsa_on
|
||
ori 2,a14
|
||
jruc #bsa_set
|
||
#bsa_on
|
||
andni 2,a14
|
||
#bsa_set
|
||
move a14,*a11(OCTRL)
|
||
|
||
move *a10+,a11,L
|
||
move *a11(OCTRL),a14
|
||
move a9,a9
|
||
jrnz #bsb_on
|
||
ori 2,a14
|
||
jruc #bsb_set
|
||
#bsb_on
|
||
andni 2,a14
|
||
#bsb_set
|
||
move a14,*a11(OCTRL)
|
||
|
||
move a9,a9
|
||
jrz #tp_on
|
||
movi DPLT_W_P,a0
|
||
jruc #tp_set
|
||
#tp_on
|
||
movi DPLT_P2P,a0
|
||
#tp_set
|
||
calla pal_getf
|
||
move *a10+,a11,L
|
||
move a0,*a11(OPAL)
|
||
|
||
move a9,a9
|
||
jrz #tpt_on
|
||
movi WSF_W_P,a0
|
||
jruc #tpt_set
|
||
#tpt_on
|
||
movi WSF_Y_P,a0
|
||
#tpt_set
|
||
calla pal_getf
|
||
move *a10+,a11,L
|
||
move a0,*a11(OPAL)
|
||
|
||
|
||
move a9,a9
|
||
jrnz #bp_on
|
||
movi DPLT_W_P,a0
|
||
jruc #bp_set
|
||
#bp_on
|
||
movi DPLT_P2P,a0
|
||
#bp_set
|
||
calla pal_getf
|
||
move *a10+,a11,L
|
||
move a0,*a11(OPAL)
|
||
|
||
move a9,a9
|
||
jrnz #bpt_on
|
||
movi WSF_W_P,a0
|
||
jruc #bpt_set
|
||
#bpt_on
|
||
movi WSF_Y_P,a0
|
||
#bpt_set
|
||
calla pal_getf
|
||
move *a10+,a11,L
|
||
move a0,*a11(OPAL)
|
||
PULL a0,a9,a10,a11
|
||
rets
|
||
|
||
|
||
SUBRP flash_it
|
||
movi sel_objects,a10
|
||
move a9,a9
|
||
jrz #flash_p1
|
||
addi (10*32),a10
|
||
jruc #do_flash_it
|
||
#flash_p1
|
||
addi (8*32),a10
|
||
#do_flash_it
|
||
PUSHP a9
|
||
move *a10,a8,L
|
||
movi 1f1fh,a9
|
||
move a9,*a8(OCONST)
|
||
movk 3,a11
|
||
#flash_it_loop
|
||
move *a8(OCTRL),a9
|
||
ori 8,a9
|
||
andni 2,a9
|
||
move a9,*a8(OCTRL)
|
||
SLEEPK 3
|
||
move *a8(OCTRL),a9
|
||
andni 8,a9
|
||
ori 2,a9
|
||
move a9,*a8(OCTRL)
|
||
SLEEPK 3
|
||
dsjs a11,#flash_it_loop
|
||
PULLP a9
|
||
RETP
|
||
|
||
belt_prompt_setup
|
||
; JAM_STR osgemd_ascii,8,0,200,18+256,GOLD,0
|
||
JAM_STR osgemd_ascii,8,0,200,18+256,BLUE,0 ;TURQUSE:
|
||
belt_prompt_string
|
||
.string "SELECT YOUR TITLE:",0
|
||
.even
|
||
rr_prompt_string
|
||
.string "SELECT PLAY MODE:",0
|
||
.even
|
||
|
||
|
||
TopPalette
|
||
.long CHGLWT_P
|
||
.long CHGLWT1P
|
||
.long CHGLWT2P
|
||
.long CHGLWT3P
|
||
.long CHGLWT4P
|
||
.long CHGLWT5P
|
||
.long CHGLWT6P
|
||
.long CHGLWT7P
|
||
.long CHGLWT8P
|
||
.long CHGLWT9P
|
||
.long 0
|
||
BottomPalette
|
||
.long CHGLWB_P
|
||
.long CHGLWB1P
|
||
.long CHGLWB2P
|
||
.long CHGLWB3P
|
||
.long CHGLWB4P
|
||
.long CHGLWB5P
|
||
.long CHGLWB6P
|
||
.long CHGLWB7P
|
||
.long CHGLWB8P
|
||
.long CHGLWB9P
|
||
.long 0
|
||
|
||
|
||
;a8 = *palette table
|
||
;a9 = *object array
|
||
|
||
SUBRP palette_cycle
|
||
move a8,a10
|
||
move a9,a11
|
||
#pc_loop
|
||
move *a10+,a0,L
|
||
jrz palette_cycle
|
||
calla pal_getf
|
||
move *a11,a14,L
|
||
move a0,*a14(OPAL)
|
||
move *a11(32),a14,L
|
||
move a0,*a14(OPAL)
|
||
SLEEPK 4
|
||
jruc #pc_loop
|
||
DIE
|
||
|
||
|
||
SUBR ask_belt_question
|
||
PUSHP a2,a3
|
||
|
||
clr a9
|
||
movi belt_type,a2
|
||
move @question_type,a3
|
||
jrz #rst_type
|
||
movi royal_rumble,a2
|
||
#rst_type
|
||
move a9,*a2
|
||
|
||
movi [10,0],a0
|
||
movi [30+256,0],a1
|
||
movi MVEBAR_R,a2
|
||
movi 2000h,a3
|
||
movi DMAWNZ|M_3D,a4
|
||
clr a5
|
||
clr a6
|
||
clr a7
|
||
movi DPLT_P_P,b0
|
||
calla BEGINOBJP
|
||
|
||
|
||
MOVI [13,0],A0
|
||
MOVI [39+256,0],A1
|
||
movi SHADOW01,a2
|
||
movi 1fffH,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
calla BEGINOBJ
|
||
CREATE FLASH_PID,JUDDER_SHADOW
|
||
|
||
.ref hscore_colcyc
|
||
calla hscore_colcyc
|
||
|
||
movi belt_prompt_setup,a2
|
||
calla setup_message
|
||
movi TYPTEXT|SUBOVRHED,a0
|
||
move a0,@mess_objid
|
||
movi belt_prompt_string,a4
|
||
move @question_type,a0
|
||
jrz #bp1
|
||
movi rr_prompt_string,a4
|
||
#bp1
|
||
calla print_string_C2
|
||
|
||
movi sel_objects,a10
|
||
movi 8,a11
|
||
movi sel_obj_tbl_t,a9
|
||
movi 1800h,a3
|
||
#do_next_obj
|
||
PUSH a3
|
||
movi [93+256,0],a1
|
||
movi [200,0],a0
|
||
cmpi 5,a11
|
||
jrge #top
|
||
movi [184+256,0],a1
|
||
movi [201,0],a0
|
||
#top
|
||
move *a9+,a2,L
|
||
movi DMAWNZ|M_3D,a4
|
||
clr a5
|
||
clr a6
|
||
clr a7
|
||
calla BEGINOBJ
|
||
move a8,*a10+,L
|
||
PULL a3
|
||
addi 10h,a3
|
||
dsjs a11,#do_next_obj
|
||
|
||
movi sel_obj_tbl_t1,a9
|
||
move @question_type,a11
|
||
jrz #belt_obj
|
||
movi sel_obj_tbl_t2,a9
|
||
#belt_obj
|
||
movi 4,a11
|
||
#do_next_obj1
|
||
PUSH a3
|
||
movi [256+93,0],a1
|
||
movi [200,0],a0
|
||
cmpi 3,a11
|
||
jrge #top1
|
||
movi [184+256,0],a1
|
||
movi [201,0],a0
|
||
#top1
|
||
move *a9+,a2,L
|
||
movi DMAWNZ|M_3D,a4
|
||
clr a5
|
||
clr a6
|
||
clr a7
|
||
movi WSF_W_P,b0
|
||
calla BEGINOBJP
|
||
move a8,*a10+,L
|
||
PULL a3
|
||
addi 10h,a3
|
||
dsj a11,#do_next_obj1
|
||
|
||
movi sel_objects,a10
|
||
|
||
move *a10(64),a2,L
|
||
move *a2(OCTRL),a3
|
||
andni 2,a3
|
||
move a3,*a2(OCTRL)
|
||
|
||
move *a10(96),a2,L
|
||
move *a2(OCTRL),a3
|
||
andni 2,a3
|
||
move a3,*a2(OCTRL)
|
||
|
||
move *a10(128),a2,L
|
||
move *a2(OCTRL),a3
|
||
andni 2,a3
|
||
move a3,*a2(OCTRL)
|
||
|
||
move *a10(160),a2,L
|
||
move *a2(OCTRL),a3
|
||
andni 2,a3
|
||
move a3,*a2(OCTRL)
|
||
|
||
movi DPLT_P2P,a0
|
||
calla pal_getf
|
||
move *a10(256),a2,L
|
||
move a0,*a2(OPAL)
|
||
|
||
movi WSF_Y_P,a0
|
||
calla pal_getf
|
||
move *a10(288),a2,L
|
||
move a0,*a2(OPAL)
|
||
|
||
movi DPLT_W_P,a0
|
||
calla pal_getf
|
||
move *a10(320),a2,L
|
||
move a0,*a2(OPAL)
|
||
|
||
movi WSF_W_P,a0
|
||
calla pal_getf
|
||
move *a10(352),a2,L
|
||
move a0,*a2(OPAL)
|
||
|
||
movi TopPalette,a8
|
||
move a10,a9
|
||
CREATE PCYC_PID,palette_cycle
|
||
movi BottomPalette,a8
|
||
addi (4*32),a9
|
||
CREATE PCYC_PID,palette_cycle
|
||
SLEEPK 2
|
||
|
||
move @question_type,a9
|
||
jrz #no_pcurs
|
||
callr mk_pcurs
|
||
#no_pcurs
|
||
|
||
clr a9 ;cusor pos
|
||
move a9,a10
|
||
|
||
callr scrn_rel_off
|
||
|
||
movi 18,a0
|
||
calla triple_sound
|
||
|
||
; PUSHP a8,a9,a10,a11
|
||
#move_on_loop
|
||
move @WORLDTLY,a0,L
|
||
addi [18h,0],a0
|
||
move a0,@WORLDTLY,L
|
||
cmpi [252,0],a0
|
||
jrge #move_done
|
||
calla BGND_UD1
|
||
SLEEPK 1
|
||
jruc #move_on_loop
|
||
#move_done
|
||
movi [255,0],a0
|
||
move a0,@WORLDTLY,L
|
||
calla BGND_UD1
|
||
SLEEPK 1
|
||
|
||
move @question_type,a14
|
||
jrz #norm
|
||
JSRP ind_select
|
||
jruc #sel_done
|
||
#norm
|
||
|
||
movi TSEC*4,a11
|
||
#sel_box_wait
|
||
cmp a9,a10
|
||
jrz #no_change
|
||
movi 0c7h,a0
|
||
calla triple_sound
|
||
move a9,a10
|
||
callr hilight
|
||
#no_change
|
||
SLEEPK 1
|
||
calla get_all_buttons_cur
|
||
jrnz #sel_done
|
||
calla get_all_sticks_cur
|
||
jrnz #do_stick
|
||
dsj a11,#sel_box_wait
|
||
jruc #sel_done
|
||
#do_stick
|
||
btst 0,a0
|
||
jrz #no_sel_up
|
||
andni 1,a9
|
||
jruc #sel_box_wait
|
||
#no_sel_up
|
||
btst 1,a0
|
||
jrz #sel_box_wait
|
||
ori 1,a9
|
||
jruc #sel_box_wait
|
||
#sel_done
|
||
.if INTER_DEFAULT
|
||
.else
|
||
xori 1,a9
|
||
.endif
|
||
|
||
move @question_type,a0
|
||
jrz #set_belt
|
||
move a9,@royal_rumble
|
||
jruc #is_set
|
||
#set_belt
|
||
move a9,@belt_type
|
||
|
||
|
||
move a9,a9
|
||
jrnz #sel_medium
|
||
movi AUD_INTERCON,a0
|
||
calla AUD1
|
||
movi 0cbh,a0
|
||
calla triple_sound
|
||
jruc #sel_exit
|
||
#sel_medium
|
||
movi AUD_WWF,a0
|
||
calla AUD1
|
||
movi 0cbh,a0
|
||
calla triple_sound
|
||
#sel_exit
|
||
.if INTER_DEFAULT
|
||
.else
|
||
xori 1,a9
|
||
.endif
|
||
jruc #rr_aud_bypass
|
||
#is_set
|
||
move a9,a9
|
||
jrz #aud_hdhd
|
||
movi AUD_ROYALRUM,a0
|
||
calla AUD1
|
||
movi 0cbh,a0
|
||
calla triple_sound
|
||
jruc #rr_aud_bypass
|
||
#aud_hdhd
|
||
movi AUD_HEADTOHEAD,a0
|
||
calla AUD1
|
||
movi 0cbh,a0
|
||
calla triple_sound
|
||
#rr_aud_bypass
|
||
JSRP flash_it
|
||
|
||
movi sel_objects,a9
|
||
move *a9+,a0,L
|
||
calla DELOBJ
|
||
move *a9,a0,L
|
||
calla DELOBJ
|
||
addi 96,a9
|
||
move *a9+,a0,L
|
||
calla DELOBJ
|
||
move *a9,a0,L
|
||
calla DELOBJ
|
||
|
||
SLEEPK 15
|
||
|
||
clr a2
|
||
move a2,@mess_objid
|
||
|
||
movi CYCPID,a0
|
||
calla KIL1C
|
||
|
||
PULLP a2,a3
|
||
RETP
|
||
|
||
|
||
p1curs
|
||
.word 50-107,93+256,1800h
|
||
.long CHOICBK
|
||
.word DMAWNZ|M_3D
|
||
.word CLSNEUT
|
||
.long 0,0
|
||
|
||
p1curs_num
|
||
.word 15-(6/2),(93+256)-(16/2),1810h
|
||
.long WSF14_1
|
||
.word DMAWNZ|M_3D
|
||
.word CLSNEUT
|
||
.long 0,0
|
||
|
||
p2curs
|
||
.word 399+(107-50),93+256,1800h
|
||
.long CHOICBK
|
||
.word DMAWNZ|M_3D|M_FLIPH
|
||
.word CLSNEUT
|
||
.long 0,0
|
||
|
||
p2curs_num
|
||
.word (399-15)-(11/2),(93+256)-(16/2),1810h
|
||
.long WSF14_2
|
||
.word DMAWNZ|M_3D
|
||
.word CLSNEUT
|
||
.long 0,0
|
||
|
||
|
||
pcurs_tbl
|
||
.long p1curs
|
||
.long p1curs_num
|
||
.long p2curs
|
||
.long p2curs_num
|
||
.long 0
|
||
|
||
|
||
SUBR mk_pcurs
|
||
PUSH a8,a9,a10,a11
|
||
movi pcurs_obj,a9
|
||
movi pcurs_tbl,a10
|
||
#cpc_loop
|
||
move *a10+,a0,L
|
||
jrz #cpc_done
|
||
calla BEGINOBJ_TBL
|
||
move a8,*a9+,L
|
||
jruc #cpc_loop
|
||
#cpc_done
|
||
movi pcurs_obj,a9
|
||
|
||
movi DPLT_B_P,a0
|
||
calla pal_getf
|
||
move *a9+,a10,L
|
||
move a0,*a10(OPAL),L
|
||
|
||
movi WSF_W_P,a0
|
||
calla pal_getf
|
||
move *a9,a10,L
|
||
move a0,*a10(OPAL),L
|
||
move *a9(64),a10,L
|
||
move a0,*a10(OPAL),L
|
||
|
||
movi DPLT_R_P,a0
|
||
calla pal_getf
|
||
move *a9(32),a10,L
|
||
move a0,*a10(OPAL),L
|
||
|
||
PULL a8,a9,a10,a11
|
||
rets
|
||
|
||
#************************************************
|
||
*
|
||
|
||
SUBRP ind_select
|
||
PUSHP a8,a10
|
||
|
||
clr a9 ; Clear out player select flags
|
||
move a9,@p1sel
|
||
move a9,@p2sel
|
||
|
||
movi TSEC*5,a11 ; Max time before selection timeout
|
||
#sel_wait
|
||
|
||
; First check to see which players have made their selections
|
||
move @p1sel,a0 ; Get p1 select flag
|
||
move @p2sel,a1 ; Get p2 select flag
|
||
sll 1,a1 ; Combine them
|
||
or a1,a0
|
||
|
||
; If nobody has made a selection just set cursor positions
|
||
jrz #set_curs ; No selections - just set cursors
|
||
|
||
; If both have selected then we are done
|
||
cmpi 3,a0 ; Have both selected ?
|
||
jrz #both_selected ; br = yes
|
||
|
||
; If player 1 has selected "HEAD TO HEAD" then we are done
|
||
btst 0,a0 ; Has player 1 made a selection
|
||
jrz #no_p1_sel ; br = no
|
||
btst 0,a9 ; Has player 1 selected "HEAD TO HEAD" ?
|
||
jrz #both_selected ; br = yes
|
||
|
||
; If player 2 has selected "HEAD TO HEAD" then we are done
|
||
#no_p1_sel
|
||
btst 1,a0 ; Has player 2 made a selection
|
||
jrz #set_curs ; br = no
|
||
btst 1,a9 ; Has player 1 selected "HEAD TO HEAD" ?
|
||
jrz #both_selected ; br = yes
|
||
|
||
#set_curs
|
||
|
||
callr set_pcurs_pos ; set player cursor positions
|
||
move a9,a10 ; Save a9
|
||
cmpi 3,a9 ; Are both on "COOP" ?
|
||
jrz #coop ; br = yes
|
||
clr a9 ; Set "HEAD"
|
||
jruc #do_hi ; Go hilight "Head to Head"
|
||
#coop
|
||
movk 1,a9 ; Set "COOP"
|
||
#do_hi
|
||
callr hilight ; hilight the right one
|
||
move a10,a9 ; Restore a9
|
||
|
||
SLEEPK 1 ; Wait a bit
|
||
|
||
move @p1sel,a0 ; Has p1 selected ?
|
||
jrnz #ck_p2 ; br = yes
|
||
clr a0 ; get p1 buttons
|
||
calla get_but_val_cur
|
||
move a0,a0
|
||
jrz #no_p1
|
||
movk 1,a0
|
||
#no_p1
|
||
move a0,@p1sel ; save p1 buttons
|
||
PUSH a10,a11 ; Flash p1 cursor
|
||
clr a11
|
||
move a0,a10
|
||
CREATE0 flash_pcurs
|
||
PULL a10,a11
|
||
clr a0
|
||
calla get_stick_val_cur ; get p1 stick
|
||
move a0,a0 ; any on ?
|
||
jrnz #dop1_stick ; br = yes
|
||
#ck_p2
|
||
move @p2sel,a0 ; Has p2 selected ?
|
||
jrnz #p2_done ; br = yes
|
||
movk 1,a0 ; Get p2 buttons
|
||
calla get_but_val_cur
|
||
move a0,a0
|
||
jrz #no_p2
|
||
movk 1,a0
|
||
#no_p2
|
||
move a0,@p2sel ; Save p2 buttons
|
||
PUSH a10,a11 ; Flash p2 cursor
|
||
movk 1,a11
|
||
move a0,a10
|
||
CREATE0 flash_pcurs
|
||
PULL a10,a11
|
||
movk 1,a0 ; Get p2 stick
|
||
calla get_stick_val_cur
|
||
move a0,a0 ; Any Set ?
|
||
jrnz #dop2_stick ; br = yes
|
||
#p2_done
|
||
dsj a11,#sel_wait ; Timeout ?
|
||
jruc #both_selected ; br = yes
|
||
|
||
#dop1_stick
|
||
btst 0,a0 ; p1 up on?
|
||
jrz #no_p1_up ; br = no
|
||
andni 1,a9 ; set p1 curs pos top
|
||
jruc #ck_p2 ; go check on p2
|
||
#no_p1_up
|
||
btst 1,a0 ; p2 down on?
|
||
jrz #ck_p2 ; br = no
|
||
ori 1,a9 ; set p1 curs pos bottom
|
||
jruc #ck_p2 ; go check on p2
|
||
|
||
#dop2_stick
|
||
btst 0,a0 ; p2 up on?
|
||
jrz #no_p2_up ; br = no
|
||
andni 2,a9 ; set p2 curs pos top
|
||
jruc #sel_wait ; go update
|
||
#no_p2_up
|
||
btst 1,a0 ; p2 down on?
|
||
jrz #sel_wait ; br = no
|
||
ori 2,a9 ; set p2 curs pos bottom
|
||
jruc #sel_wait ; go update
|
||
|
||
#both_selected
|
||
cmpi 3,a9 ; have both selected "COOP" ?
|
||
jrnz #ret_hd ; br = no
|
||
movk 1,a9 ; set "COOP" mode
|
||
jruc #mode_selected
|
||
#ret_hd
|
||
clr a9 ; set "HEAD TO HEAD" mode
|
||
#mode_selected
|
||
PULLP a8,a10
|
||
RETP
|
||
|
||
|
||
;a10 - flag 0 = no flash
|
||
;a11 - pnum
|
||
SUBRP flash_pcurs
|
||
move a10,a10 ; Should I flash it ?
|
||
jrz #fp_exit ; br = no
|
||
movi pcurs_obj,a10 ; Object array
|
||
move a11,a11 ; Is this player 1 ?
|
||
jrz #not_p2 ; br = yes
|
||
addi 64,a10 ; Adjust pointer for p2 objects
|
||
#not_p2
|
||
movi 0cbh,a0 ; Make a sound
|
||
calla triple_sound
|
||
|
||
move *a10,a9,L ; Set const color to white
|
||
movi 0101h,a14
|
||
move a14,*a9(OCONST)
|
||
movk 3,a11 ; Number of times to flash it
|
||
#fp_loop
|
||
move *a9(OCTRL),a8 ; Turn it white
|
||
ori 8,a8 ; Turn on Write const on non-zero
|
||
andni 2,a8 ; Turn off write non-zeros bit
|
||
move a8,*a9(OCTRL) ; Write back to control
|
||
SLEEPK 3
|
||
andni 8,a8 ; Turn off write const on non-zero
|
||
ori 2,a8 ; Turn on non-zeros bit
|
||
move a8,*a9(OCTRL) ; Write back to control
|
||
SLEEPK 3
|
||
dsjs a11,#fp_loop ; Done ? - br = no
|
||
#fp_exit
|
||
DIE
|
||
|
||
|
||
SUBRP set_pcurs_pos
|
||
movi pcurs_obj,a8 ; Get pointer to player cursor object table
|
||
move *a8+,a0,L ; pointer to p1 cursor
|
||
|
||
|
||
movi 93+256,a1 ; Set top ypos
|
||
btst 0,a9 ; p1 curs position bottom ?
|
||
jrz #p1c_set ; br = no
|
||
movi 184+256,a1 ; bottom ypos
|
||
#p1c_set
|
||
move *a0(OYPOS),a2 ; Get current position
|
||
cmp a1,a2 ; Same as requested ?
|
||
jrz #no_p1_change ; br = yes
|
||
PUSH a0,a1 ; make a sound
|
||
movi 0c7h,a0
|
||
calla triple_sound
|
||
PULL a0,a1
|
||
#no_p1_change
|
||
move a1,*a0(OYPOS) ; Set p1 cursor ypos
|
||
move *a8+,a0,L ; Get p1 digit object pointer
|
||
subi 8,a1 ; adjust ypos
|
||
move a1,*a0(OYPOS) ; Set p1 cursor digit ypos
|
||
|
||
|
||
movi 93+256,a1 ; Set top ypos
|
||
btst 1,a9 ; p2 curs position bottom ?
|
||
jrz #p2c_set ; br = no
|
||
movi 184+256,a1 ; Set bottom ypos
|
||
#p2c_set
|
||
move *a8+,a0,L ; Get pointer to p2 cursor object
|
||
move *a0(OYPOS),a2 ; Get current position
|
||
cmp a1,a2 ; Same as requested position ?
|
||
jrz #no_p2_change ; br = yes
|
||
PUSH a0,a1 ; Make a sound
|
||
movi 0c7h,a0
|
||
calla triple_sound
|
||
PULL a0,a1
|
||
#no_p2_change
|
||
move a1,*a0(OYPOS) ; Set p2 cursor ypos
|
||
move *a8+,a0,L ; Get p2 digit object pointer
|
||
subi 8,a1 ; adjust ypos
|
||
move a1,*a0(OYPOS) ; Set p2 cursor digit ypos
|
||
rets
|
||
|
||
|
||
|
||
******************************************************************************
|
||
|
||
DO_SET_IMAGE_AND_FLASH
|
||
CALLA BGND_UD1
|
||
CALLA SET_IMAGE_AND_FLASH
|
||
SLOOP 1,DO_SET_IMAGE_AND_FLASH
|
||
|
||
******************************************************************************
|
||
|
||
SUBR PUT_UP_PROGRESS
|
||
calla SPECIAL_WIPEOUT
|
||
|
||
CALLA CLEAR_PROCESSES
|
||
|
||
movi 2056,a3
|
||
calla SNDSND
|
||
|
||
CREATE0 VINCE_START_GAME
|
||
|
||
clr a0
|
||
move a0,@HALT
|
||
|
||
move a0,@dtype ;2d mode
|
||
move a0,@IRQSKYE
|
||
move a0,@WORLDTLX,L
|
||
move a0,@WORLDTLY,L
|
||
move a0,@FLASH_FLAG
|
||
|
||
movk 1,a0 ;page flipping on
|
||
move a0,@dpageflip
|
||
|
||
movi SCRNEND,a0 ;[256,405]
|
||
move a0,@SCRNLR,L
|
||
|
||
movi #PROGRESS_BMOD,a0
|
||
move a0,@BAKMODS,L
|
||
calla BGND_UD1 ;create objects for background
|
||
|
||
calla show_progress_bicons
|
||
|
||
movi tonites_matchup,a2
|
||
calla setup_message
|
||
movi CLSNEUT|TYPTEXT|SUBOVRHED,a0
|
||
move a0,@mess_objid
|
||
movi tonites_str,a4
|
||
calla print_string2
|
||
|
||
calla start_credbox
|
||
|
||
movi tonites_matchup,a2
|
||
calla setup_message
|
||
movi CLSNEUT|TYPTEXT|SUBOVRHED,a0
|
||
move a0,@mess_objid
|
||
movi tonites_str,a4
|
||
calla print_string2
|
||
|
||
movi type_setup,a2
|
||
calla setup_message
|
||
movi CLSNEUT|TYPTEXT|SUBOVRHED,a0
|
||
move a0,@mess_objid
|
||
movi wwf_belt_str,a4
|
||
move @belt_type,a14
|
||
jrnz #wwf_belt
|
||
movi inter_belt_str,a4
|
||
#wwf_belt
|
||
calla print_string_C2
|
||
|
||
calla start_credbox
|
||
|
||
movi belt_setup,a2
|
||
calla setup_message
|
||
movi CLSNEUT|TYPTEXT|SUBOVRHED,a0
|
||
move a0,@mess_objid
|
||
movi belt_str,a4
|
||
calla print_string_C2
|
||
|
||
movk 10,a0
|
||
move a0,@match_time
|
||
|
||
MOVE @CURRENT_LADDER,A10,L
|
||
|
||
CMPI LADDER,A10
|
||
jrlt NO_DEAD_BODIES
|
||
|
||
MOVE *A10,A1,L
|
||
CALLR NUM_OF_OPPS
|
||
MOVE A3,@NUM_OLD_OPPS
|
||
|
||
MOVE *A10,A4,L
|
||
MOVK 4,A10
|
||
CREATE_NEXT_DEAD_GUY
|
||
CALLR SORT_OUT_WRESTLER_NUM
|
||
movi PTYPE_DRONE,a8 ;player type
|
||
movi PSIDE_PLYR1,a9 ;side on
|
||
SCREATE WMAINT_PID,CREATE_TEMP_WRESTLER
|
||
SRL 8,A4
|
||
INC A10
|
||
DEC A3
|
||
JRNZ CREATE_NEXT_DEAD_GUY
|
||
|
||
MOVE @CURRENT_LADDER,A10,L
|
||
|
||
NO_DEAD_BODIES
|
||
CALLR NEXT_IN_LADDER
|
||
|
||
movk INPREGAME2,a14 ;set GAMSTATE
|
||
move a14,@GAMSTATE
|
||
|
||
CALLR NUM_OF_OPPS
|
||
|
||
movi PTYPE_DRONE,a8 ;player type
|
||
movi PSIDE_PLYR1,a9 ;side on
|
||
clr a10
|
||
move @index1,a11 ;wrestler
|
||
MOVE @PSTATUS,A0
|
||
SRL 1,A0
|
||
JRC INDEX_SET
|
||
move @index2,a11 ;wrestler
|
||
INDEX_SET
|
||
PUSH A11
|
||
SCREATE WMAINT_PID,CREATE_TEMP_WRESTLER
|
||
PULL A11
|
||
|
||
MOVE @MUSIC_HAP,A0
|
||
JRNZ MUSIC_ALREADY_GOING
|
||
|
||
SLL 4,A11
|
||
ADDI WHICH_MUSIC,A11
|
||
MOVE *A11,A3
|
||
calla SNDSND
|
||
|
||
MUSIC_ALREADY_GOING
|
||
|
||
MOVE @NUM_OPPS,A3
|
||
MOVE @CURRENT_LADDER,A10,L
|
||
MOVE *A10,A4,L
|
||
MOVK 1,A10
|
||
CREATE_NEXT_NEW_GUY
|
||
CALLR SORT_OUT_WRESTLER_NUM
|
||
movi PTYPE_DRONE,a8 ;player type
|
||
movi PSIDE_PLYR1,a9 ;side on
|
||
SCREATE WMAINT_PID,CREATE_TEMP_WRESTLER
|
||
SRL 8,A4
|
||
INC A10
|
||
DEC A3
|
||
JRNZ CREATE_NEXT_NEW_GUY
|
||
|
||
*****************
|
||
CALLR is_8_on_1
|
||
JRNC NO_IT_IS_NOT_8_ON_1
|
||
CALLR INIT_TEMP_TABLE
|
||
MOVE @CURRENT_LADDER,A10,L
|
||
MOVE *A10,A4,L
|
||
MOVK 3,A1
|
||
MOVK 9,A2
|
||
CLEAR_NEXT_POSITION
|
||
MOVE A4,A0
|
||
SLL 24,A0
|
||
SRL 24,A0
|
||
MOVK 7,A14
|
||
SUB A0,A14
|
||
SLL 3,A14
|
||
ADDI TEMP_LADDER,A14
|
||
MOVB A2,*A14
|
||
SRL 8,A4
|
||
DSJS A1,CLEAR_NEXT_POSITION
|
||
|
||
MOVI TEMP_LADDER,A10
|
||
CLR A11
|
||
CREATE_NEXT_BODY
|
||
CMPI TEMP_LADDER+(8*8),A10
|
||
JREQ NO_IT_IS_NOT_8_ON_1
|
||
MOVB *A10,A2
|
||
ADDK 8,A10
|
||
CMPI 9,A2
|
||
JREQ CREATE_NEXT_BODY
|
||
CALLR CREATE_OTHER_BODIES
|
||
INC A11
|
||
JRUC CREATE_NEXT_BODY
|
||
|
||
NO_IT_IS_NOT_8_ON_1
|
||
*****************
|
||
|
||
CALLR SET_IMAGE_AND_FLASH
|
||
|
||
CALLR DO_LADDER_BITS
|
||
|
||
CREATE0 DO_SET_IMAGE_AND_FLASH
|
||
PUSHP A0
|
||
|
||
; movk 15,a8
|
||
; movk 4,a9
|
||
movk 10,a8
|
||
movk 2,a9
|
||
|
||
|
||
NEG A9
|
||
JSRP OPEN_SCREEN_LINE
|
||
PULLP A0
|
||
CALLA KILL
|
||
|
||
MOVI RUN_SPEED,A0
|
||
MOVE A0,@TEMP_SPEED,L
|
||
|
||
PUSH A13
|
||
MOVE @process_ptrs,a13,L
|
||
movi running_addr,a2
|
||
callr start_them_doing_stuff
|
||
PULL A13
|
||
|
||
MOVI RUN_SPEED,A9
|
||
MOVI 100,A8
|
||
MOVE_PROGRESS
|
||
calla BGND_UD1 ;create objects for background
|
||
pushp a8,A9
|
||
CALLR SET_IMAGE_AND_FLASH
|
||
pullp a8,A9
|
||
CALLA get_all_buttons_cur2
|
||
JRNZ EXIT_PROGRESS
|
||
CALLR SET_SCROLL_SPEED
|
||
SLEEPK 1
|
||
DEC A8
|
||
JRNN MOVE_PROGRESS
|
||
|
||
PUSH A13
|
||
|
||
MOVE @process_ptrs+020h,a13,L
|
||
movi clever_addr,a2
|
||
callr start_them_doing_stuff
|
||
|
||
MOVE @process_ptrs+040h,a13,L
|
||
jrz no_other_players
|
||
movi clever_addr,a2
|
||
callr start_them_doing_stuff
|
||
|
||
MOVE @process_ptrs+060h,a13,L
|
||
jrz no_other_players
|
||
movi clever_addr,a2
|
||
callr start_them_doing_stuff
|
||
no_other_players
|
||
|
||
PULL A13
|
||
|
||
MOVI 90,A8
|
||
STILL_PROGRESS
|
||
SLEEPK 1
|
||
pushp a8
|
||
CALLR SET_IMAGE_AND_FLASH
|
||
pullp a8
|
||
CALLA get_all_buttons_cur2
|
||
JRNZ EXIT_PROGRESS
|
||
CMPI 80,A8
|
||
JRNE NO_START_TAUNTS
|
||
PUSH A13
|
||
MOVE @process_ptrs,a13,L
|
||
movi taunting_addr,a2
|
||
callr start_them_doing_stuff
|
||
PULL A13
|
||
NO_START_TAUNTS
|
||
DEC A8
|
||
JRNN STILL_PROGRESS
|
||
|
||
EXIT_PROGRESS
|
||
|
||
;Get rid of flashes under wipe
|
||
; CREATE0 DO_SET_IMAGE_AND_FLASH
|
||
; PUSHP A0
|
||
JSRP CLOSE_PROGRESS_SCREEN
|
||
; PULLP A0
|
||
; CALLA KILL
|
||
|
||
calla del_progress_icon
|
||
|
||
RETP
|
||
|
||
WHICH_MUSIC
|
||
.word 5,2,1,7,6,4,8,0,3
|
||
|
||
****************
|
||
CREATE_OTHER_BODIES
|
||
MMTM SP,A0,A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
PUSH b0
|
||
|
||
|
||
MOVE A2,A3
|
||
cmpi 7,a3 ; Is this Lex ?
|
||
jrnz wnum_ok ; br = no
|
||
addk 1,a3 ; Yes - adjust for palette table
|
||
wnum_ok
|
||
SLL 5,A3
|
||
move a3,b0
|
||
addi #wrestler_pal,b0
|
||
move *b0,b0,L
|
||
ADDI WHICH_WRESTLER_IMAGE,A3
|
||
MOVE *A3+,A4,L
|
||
PUSH A4
|
||
PUSH b0
|
||
|
||
MOVE A11,A4
|
||
SLL 7,A4
|
||
ADDI WHERE_TEMP_WRESTLER,A4
|
||
|
||
MOVE *A4+,A0,L
|
||
PUSH A0
|
||
|
||
MOVE *A4+,A3,L
|
||
PUSH A3
|
||
ORI 1000H,A3
|
||
|
||
MOVE *A4,A1,L
|
||
PUSH A1
|
||
|
||
MOVI shadow,A2
|
||
MOVI DMAWNZ,A4
|
||
CLR A5
|
||
CLR A6
|
||
CLR A7
|
||
CALLA BEGINOBJ
|
||
|
||
PULL A1
|
||
PULL A3
|
||
DEC A3
|
||
ORI 1000H,A3
|
||
PULL A0
|
||
|
||
PULL b0
|
||
PULL A2
|
||
|
||
movi DMAWNZ|M_FLIPH,a4 ;DMA flags
|
||
CLR A5
|
||
CLR A6
|
||
CLR A7
|
||
; CALLA BEGINOBJ
|
||
calla BEGINOBJP
|
||
PULL b0
|
||
MMFM SP,A0,A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
RETS
|
||
|
||
WHICH_WRESTLER_IMAGE
|
||
.LONG H4ST4A02
|
||
.LONG RAZOR_STAND
|
||
.LONG TAKER_STAND
|
||
.LONG YOKO_STAND
|
||
.LONG SHAWN_STAND
|
||
.LONG BAM_STAND
|
||
.LONG DOINK_STAND
|
||
.LONG LEX_STAND
|
||
.LONG LEX_STAND
|
||
|
||
WHERE_TEMP_WRESTLER
|
||
.LONG [725,0],470H,[233,0],0
|
||
.LONG [760,0],420H,[223,0],0
|
||
.LONG [720,0],420H,[219,0],0
|
||
.LONG [690,0],420H,[219,0],0
|
||
.LONG [650,0],420H,[219,0],0
|
||
|
||
****************
|
||
|
||
*********************
|
||
*
|
||
* Low byte of a4 is a wrestler num between 0-7. 7, of course, is an unused
|
||
* slot so we promote a 7 to 8, then store the result in a11.
|
||
*
|
||
|
||
SORT_OUT_WRESTLER_NUM
|
||
MOVE A4,A11
|
||
SLL 24,A11
|
||
SRL 24,A11
|
||
CMPI 7,A11
|
||
JRNE NO_AVOID_UNUSED_WRESTLER
|
||
INC A11
|
||
NO_AVOID_UNUSED_WRESTLER
|
||
RETS
|
||
|
||
SET_SCROLL_SPEED
|
||
MOVE A8,A0
|
||
CMPI 16,A0
|
||
JRGT NO_CHANGE_SCROLL_SPEED
|
||
ABS A0
|
||
SUBI 16,A0
|
||
NEG A0
|
||
SRL 2,A0
|
||
SLL 15,A0
|
||
MOVI RUN_SPEED,A9
|
||
SUB A0,A9
|
||
clr a0
|
||
MOVE A0,@TEMP_SPEED,L
|
||
PUSH A13
|
||
MOVE @process_ptrs,a13,L
|
||
movi standing_addr,a2
|
||
callr start_them_doing_stuff
|
||
PULL A13
|
||
NO_CHANGE_SCROLL_SPEED
|
||
MOVE A9,A5
|
||
CALLA get_all_buttons_cur2
|
||
JRZ NO_BUTTONS2
|
||
SLL 1,A5
|
||
DEC A8
|
||
NO_BUTTONS2
|
||
MOVE @WORLDTLX,A4,L
|
||
ADD A5,A4
|
||
move a4,@WORLDTLX,L
|
||
RETS
|
||
|
||
#PROGRESS_BMOD
|
||
.long LADDERBMOD
|
||
.word -60,-45
|
||
.long 0
|
||
|
||
CREATE_TEMP_WRESTLER
|
||
|
||
move a8,*a13(PLYR_TYPE)
|
||
move a9,*a13(PLYR_SIDE)
|
||
move a10,*a13(PLYRNUM)
|
||
move a11,*a13(WRESTLERNUM)
|
||
|
||
movi 112,a0
|
||
move a0,*a13(OBJ_PRIORITY)
|
||
|
||
move a10,a1
|
||
calla set_process_ptr
|
||
|
||
move a10,a0
|
||
X32 a0
|
||
addi obj_look,a0
|
||
move *a0,a0,L ;* start of objects
|
||
move a0,*a13(OBJ_BASE),L
|
||
move a0,a10
|
||
addi 32*MAX_PIECES,a10 ;start at end to reverse priorities
|
||
|
||
clr a1 ;y pos
|
||
movi D2ST2B03,a2 ;* image
|
||
movi 1000h|110,a3 ;z pos
|
||
movi DMAWNZ|M_3D,a4 ;DMA flags
|
||
move a4,*a13(OBJ_CONTROL)
|
||
movi CLSPLYR | TYPPLYR,a5 ;object ID
|
||
clr a6 ;x vel
|
||
clr a7 ;y vel
|
||
|
||
move a13,b0
|
||
move *b0(WRESTLERNUM),b0
|
||
X32 b0
|
||
|
||
movk MAX_PIECES,a9
|
||
|
||
#nopal_chng
|
||
|
||
addi #wrestler_pal,b0
|
||
move *b0,b0,L ;* palette
|
||
|
||
#nxt_obj
|
||
PUSH b0
|
||
calla BEGINOBJP
|
||
PULL b0
|
||
move a8,-*a10,L
|
||
dsj a9,#nxt_obj
|
||
|
||
calla BEGINOBJP
|
||
move a8,*a13(ATTIMG_IMG),L
|
||
clr a0
|
||
move a0,*a13(ATTIMG_CUR_FRAME),L
|
||
move a0,*a13(ATTIMG_LAST_FRAME),L
|
||
|
||
move *a8(OPAL),a0
|
||
move a0,*a13(OBJ_PAL)
|
||
|
||
movi shadow_p,a0
|
||
|
||
calla pal_getf
|
||
move *a13(OBJ_BASE),a8,L
|
||
move *a8,a8,L ;1st object
|
||
move a0,*a8(OPAL) ;set palette for shadow
|
||
|
||
CLR A0
|
||
move a0,*a13(GROUND_Y)
|
||
|
||
clr a0
|
||
; move a0,*a13(BURNOUT_COUNT)
|
||
move a0,*a13(INRING)
|
||
|
||
move a0,*a13(OBJ_XVEL),L
|
||
move a0,*a13(OBJ_YVEL),L
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
|
||
move *a13(PLYRNUM),a0
|
||
JRZ RUNNING_MAN
|
||
CMPI 4,A0
|
||
JRGE DEAD_BODIES
|
||
|
||
MOVI 8,A0
|
||
MOVE A0,*A13(FACING_DIR)
|
||
MOVE A0,*A13(NEW_FACING_DIR)
|
||
|
||
MOVE @NUM_OPPS,A0
|
||
SLL 5,A0
|
||
ADDI WHICH_ZPOS_TABLE-020H,A0
|
||
MOVE *A0,A0,L
|
||
move *a13(PLYRNUM),A1
|
||
DEC A1
|
||
SLL 6,A1
|
||
ADD A0,A1
|
||
MOVE *A1,A0,L
|
||
MOVE A0,*A13(OBJ_ZPOS),L
|
||
MOVE *A1(020H),A0,L
|
||
ADDI [375,0],A0
|
||
MOVE A0,*A13(OBJ_XPOS),L
|
||
movi 100,a0
|
||
move a0,*A13(OBJ_YPOS),L
|
||
|
||
movi waiting_addr,a2
|
||
callr start_them_doing_stuff
|
||
|
||
move @PCNT,a14
|
||
move a14,*a13(FOOT_PCNT),W ;init foot timer
|
||
|
||
#loop1
|
||
calla wrestler_veladd
|
||
|
||
calla animate_wrestler
|
||
|
||
SLOOP 1,#loop1
|
||
|
||
WHICH_ZPOS_TABLE
|
||
.LONG ONLY_ONE_OPP
|
||
.LONG TWO_OPPS
|
||
.LONG THREE_OPPS
|
||
|
||
ONLY_ONE_OPP
|
||
.LONG [470H,0],[300,0]
|
||
TWO_OPPS
|
||
.LONG [490H,0],[330,0]
|
||
.LONG [450H,0],[280,0]
|
||
THREE_OPPS
|
||
.LONG [4A0H,0],[345,0]
|
||
.LONG [470H,0],[300,0]
|
||
.LONG [440H,0],[255,0]
|
||
|
||
WHICH_ZPOS_TABLE_D
|
||
.LONG ONLY_ONE_OPP_D
|
||
.LONG TWO_OPPS_D
|
||
.LONG THREE_OPPS_D
|
||
|
||
ONLY_ONE_OPP_D
|
||
.LONG [450H,0],[300,0]
|
||
TWO_OPPS_D
|
||
.LONG [490H,0],[330,0]
|
||
.LONG [450H,0],[280,0]
|
||
THREE_OPPS_D
|
||
.LONG [4B0H,0],[345,0]
|
||
.LONG [490H,0],[300,0]
|
||
.LONG [440H,0],[255,0]
|
||
|
||
DEAD_BODIES
|
||
MOVI 8,A0
|
||
MOVE A0,*A13(FACING_DIR)
|
||
MOVE A0,*A13(NEW_FACING_DIR)
|
||
|
||
CLR A0
|
||
MOVE A0,*A13(STARS_FLAG)
|
||
|
||
movi 100,a0
|
||
move a0,*A13(OBJ_YPOS),L
|
||
|
||
MOVE @NUM_OLD_OPPS,A0
|
||
SLL 5,A0
|
||
ADDI WHICH_ZPOS_TABLE_D-020H,A0
|
||
MOVE *A0,A0,L
|
||
move *a13(PLYRNUM),A1
|
||
SUBI 4,A1
|
||
SLL 6,A1
|
||
ADD A0,A1
|
||
MOVE *A1,A0,L
|
||
MOVE A0,*A13(OBJ_ZPOS),L
|
||
MOVE *A1(020H),A0,L
|
||
MOVE A0,*A13(OBJ_XPOS),L
|
||
|
||
movi dead_addr,a2
|
||
callr start_them_doing_stuff
|
||
|
||
move @PCNT,a14
|
||
move a14,*a13(FOOT_PCNT),W ;init foot timer
|
||
#loop2
|
||
calla animate_wrestler
|
||
|
||
SLOOP 1,#loop2
|
||
|
||
RUNNING_MAN
|
||
MOVI 4,A0
|
||
MOVE A0,*A13(FACING_DIR)
|
||
MOVE A0,*A13(NEW_FACING_DIR)
|
||
|
||
movi standing_addr,a2
|
||
callr start_them_doing_stuff
|
||
|
||
move @PCNT,a14
|
||
move a14,*a13(FOOT_PCNT),W ;init foot timer
|
||
|
||
movi 100,a0
|
||
move a0,*A13(OBJ_YPOS),L
|
||
MOVI [470h,0],A0
|
||
MOVE A0,*A13(OBJ_ZPOS),L
|
||
MOVI [140,0],A0
|
||
MOVE A0,*A13(OBJ_XPOS),L
|
||
CLR A0
|
||
MOVE A0,@TEMP_SPEED,L
|
||
|
||
#loop
|
||
MOVE @TEMP_SPEED,A3,L
|
||
CALLA get_all_buttons_cur2
|
||
JRZ #NO_BUTTONS
|
||
SLL 1,A3
|
||
#NO_BUTTONS
|
||
move a3,*a13(OBJ_XVEL),L
|
||
|
||
calla wrestler_veladd
|
||
|
||
calla animate_wrestler
|
||
|
||
SLOOP 1,#loop
|
||
|
||
#wrestler_pal
|
||
.long HRTPNK_P ;0 (Bret)
|
||
.long RZRGRN_P ;1 (Razor)
|
||
.long UNDBLK_P ;2 (Taker)
|
||
.long YOKRED_P ;3 (Yoko)
|
||
.long SHNRED_P ;4 (Shawn)
|
||
.long BAMBLU_P ;5 (Bam Bam)
|
||
.long DNKBLU_P ;6 (Doink)
|
||
.long DNKBLU_P ;7 (spare)
|
||
.long LEXWHT_P ;8 (Lex)
|
||
.long 0 ;9 (Referee)
|
||
|
||
start_them_doing_stuff
|
||
movi 100h,a0
|
||
move a0,*a13(ANI_SPEED) ;normal speed animations
|
||
|
||
move *a13(WRESTLERNUM),a1
|
||
SLL 6,a1
|
||
add a2,a1
|
||
move *a1+,a0,L
|
||
push a1
|
||
calla change_anim1a
|
||
pull a1
|
||
move *a1+,a0,L
|
||
calla change_anim2a
|
||
rets
|
||
|
||
taunting_addr
|
||
.long hrt_taunt4_anim
|
||
.long hrt_torso4_anim
|
||
.long rzr_taunt4_anim
|
||
.long rzr_torso4_anim
|
||
.long und_taunt4_anim
|
||
.long und_torso4_anim
|
||
.long yok_taunt4_anim
|
||
.long yok_torso4_anim
|
||
.long shn_taunt4_anim
|
||
.long shn_torso4_anim
|
||
.long bam_taunt4_anim
|
||
.long bam_torso4_anim
|
||
.long dnk_taunt4_anim
|
||
.long dnk_torso4_anim
|
||
.long 0,0 ;7 spare
|
||
.long lex_taunt4_anim
|
||
.long lex_torso4_anim
|
||
.long 0,0 ;9 Referee
|
||
|
||
standing_addr
|
||
.long hrt_stand4_anim
|
||
.long hrt_torso4_anim
|
||
.long rzr_stand4_anim
|
||
.long rzr_torso4_anim
|
||
.long und_stand4_anim
|
||
.long und_torso4_anim
|
||
.long yok_stand4_anim
|
||
.long yok_torso4_anim
|
||
.long shn_stand4_anim
|
||
.long shn_torso4_anim
|
||
.long bam_stand4_anim
|
||
.long bam_torso4_anim
|
||
.long dnk_stand4_anim
|
||
.long dnk_torso4_anim
|
||
.long 0,0 ;7 spare
|
||
.long lex_stand4_anim
|
||
.long lex_torso4_anim
|
||
.long 0,0 ;9 Referee
|
||
|
||
dead_addr
|
||
.long hrt_dizzy_anim
|
||
.long hrt_torso4_anim
|
||
.long rzr_dizzy_anim
|
||
.long rzr_torso4_anim
|
||
.long und_dizzy_anim
|
||
.long und_torso4_anim
|
||
.long yok_dizzy_anim
|
||
.long yok_torso4_anim
|
||
.long shn_dizzy_anim
|
||
.long shn_torso4_anim
|
||
.long bam_dizzy_anim
|
||
.long bam_torso4_anim
|
||
.long dnk_dizzy_anim
|
||
.long dnk_torso4_anim
|
||
.long 0,0 ;7 spare
|
||
.long lex_dizzy_anim
|
||
.long lex_torso4_anim
|
||
.long 0,0 ;9 Referee
|
||
|
||
running_addr
|
||
.long hrt_run2_anim ;0 Bret Hart
|
||
.long hrt_torso4_anim
|
||
.long rzr_run2_anim ;1 Razor Ramon
|
||
.long rzr_torso4_anim
|
||
.long und_run2_anim ;2 Undertaker
|
||
.long und_torso4_anim
|
||
.long yok_run2_anim ;3 Yokozuna
|
||
.long yok_torso4_anim
|
||
.long shn_run2_anim ;4 Shawn Michaels
|
||
.long shn_torso4_anim
|
||
.long bam_run2_anim ;5 Bam Bam
|
||
.long bam_torso4_anim
|
||
.long dnk_run2_anim ;6 Doink
|
||
.long dnk_torso4_anim
|
||
.long 0,0 ;7 spare
|
||
.long lex_run2_anim ;8 Lex Luger
|
||
.long lex_torso4_anim
|
||
.long 0,0 ;9 Referee
|
||
|
||
clever_addr
|
||
.long hrt_clever_anim ;0 Bret Hart
|
||
.long hrt_torso4_anim
|
||
.long rzr_clever_anim ;1 Razor Ramon
|
||
.long rzr_torso4_anim
|
||
.long und_clever_anim ;2 Undertaker
|
||
.long und_torso4_anim
|
||
.long yok_clever_anim ;3 Yokozuna
|
||
.long yok_torso4_anim
|
||
.long shn_clever_anim ;4 Shawn Michaels
|
||
.long shn_torso4_anim
|
||
.long bam_clever_anim ;5 Bam Bam
|
||
.long bam_torso4_anim
|
||
.long dnk_clever_anim ;6 Doink
|
||
.long dnk_torso4_anim
|
||
.long 0,0 ;7 spare
|
||
.long lex_clever_anim ;8 Lex Luger
|
||
.long lex_torso4_anim
|
||
.long 0,0 ;9 Referee
|
||
|
||
waiting_addr
|
||
.long hrt_wait_anim ;0 Bret Hart
|
||
.long hrt_torso4_anim
|
||
.long rzr_wait_anim ;1 Razor Ramon
|
||
.long rzr_torso4_anim
|
||
.long und_wait_anim ;2 Undertaker
|
||
.long und_torso4_anim
|
||
.long yok_wait_anim ;3 Yokozuna
|
||
.long yok_torso4_anim
|
||
.long shn_wait_anim ;4 Shawn Michaels
|
||
.long shn_torso4_anim
|
||
.long bam_wait_anim ;5 Bam Bam
|
||
.long bam_torso4_anim
|
||
.long dnk_wait_anim ;6 Doink
|
||
.long dnk_torso4_anim
|
||
.long 0,0 ;7 spare
|
||
.long lex_wait_anim ;8 Lex Luger
|
||
.long lex_torso4_anim
|
||
.long 0,0 ;9 Referee
|
||
|
||
.ref B4RS4A
|
||
.ref Y4CO4D,Y4ST4Y
|
||
.ref D4CO4A
|
||
.ref U4CO4B
|
||
.ref S4CO4A
|
||
.ref R4CO4A
|
||
.ref L4CO4Z
|
||
.ref H4SL4C
|
||
.ref B4SW4B
|
||
|
||
.ref H4LD4A,R4LD4A,U4LD4A,Y4LD4A,S4LD4A
|
||
.ref B4RS4A,D4SQ4A,L4SW5A
|
||
|
||
hrt_wait_anim
|
||
.WORD ANI_XFLIP
|
||
WL 100,H4LD4A+FR1
|
||
.word ANI_END
|
||
rzr_wait_anim
|
||
WL 100,R4LD4A+FR1
|
||
.word ANI_END
|
||
und_wait_anim
|
||
.WORD ANI_XFLIP
|
||
WL 100,U4LD4A+FR1
|
||
.word ANI_END
|
||
yok_wait_anim
|
||
WL ANI_CODE,CREATE_FUJI
|
||
.WORD ANI_XFLIP
|
||
WL 100,Y4ST4Y+FR2
|
||
.word ANI_END
|
||
shn_wait_anim
|
||
WL 100,S4LD4A+FR1
|
||
.word ANI_END
|
||
bam_wait_anim
|
||
.WORD ANI_OFFSET,-800,0,0
|
||
WL 100,B4RS4A+FR1
|
||
.word ANI_END
|
||
dnk_wait_anim
|
||
WL 100,D4SQ4A+FR1
|
||
.word ANI_END
|
||
lex_wait_anim
|
||
WL 100,L4SW5A+FR2
|
||
.word ANI_END
|
||
|
||
hrt_clever_anim
|
||
WL 6,H4LD4A+FR1
|
||
WL 6,H4LD4A+FR2
|
||
WL 6,H4LD4A+FR3
|
||
WL 6,H4LD4A+FR4
|
||
WL 6,H4LD4A+FR5
|
||
WL 6,H4LD4A+FR6
|
||
.word ANI_END
|
||
rzr_clever_anim
|
||
WL 6,R4LD4A+FR1
|
||
WL 6,R4LD4A+FR2
|
||
WL 6,R4LD4A+FR3
|
||
WL 6,R4LD4A+FR4
|
||
WL 6,R4LD4A+FR5
|
||
WL 6,R4LD4A+FR6
|
||
WL 6,R4LD4A+FR7
|
||
WL 6,R4LD4A+FR2
|
||
.word ANI_END
|
||
und_clever_anim
|
||
; .WORD ANI_XFLIP
|
||
WL 6,U4LD4A+FR1
|
||
WL 6,U4LD4A+FR2
|
||
WL 6,U4LD4A+FR3
|
||
WL 6,U4LD4A+FR4
|
||
WL 6,U4LD4A+FR5
|
||
WL 6,U4LD4A+FR6
|
||
WL 6,U4LD4A+FR7
|
||
WL 6,U4LD4A+FR8
|
||
WL ANI_CODE,CREATE_URN
|
||
.word ANI_END
|
||
yok_clever_anim
|
||
WL ANI_CODE,DO_FUJI
|
||
WL 20,Y4ST4Y+FR2
|
||
WL 5,Y4LD4A+FR1
|
||
WL 5,Y4LD4A+FR2
|
||
WL 5,Y4LD4A+FR3
|
||
WL 5,Y4LD4A+FR4
|
||
WL 5,Y4LD4A+FR5
|
||
WL 5,Y4LD4A+FR6
|
||
.word ANI_END
|
||
shn_clever_anim
|
||
WL 6,S4LD4A+FR1
|
||
WL 6,S4LD4A+FR2
|
||
WL 6,S4LD4A+FR3
|
||
WL 6,S4LD4A+FR4
|
||
WL 6,S4LD4A+FR5
|
||
WL 6,S4LD4A+FR6
|
||
WL 45,S4LD4A+FR7
|
||
WL 6,S4LD4A+FR10
|
||
.word ANI_END
|
||
|
||
bam_clever_anim
|
||
.WORD ANI_XFLIP
|
||
.WORD ANI_OFFSET,800,0,0
|
||
.word ANI_SETMODE,MODE_NOSHADOW
|
||
WL ANI_CODE,BAM_RISE_SOUND
|
||
WL 6,B4RS4A+FR1
|
||
WL 6,B4RS4A+FR2
|
||
WL 6,B4RS4A+FR3
|
||
WL 6,B4RS4A+FR4
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
WL 6,B4RS4A+FR5
|
||
WL 6,B4RS4A+FR6
|
||
|
||
;Send smoke puffs off from bam bam!
|
||
WL ANI_CODE,start_smoke
|
||
|
||
WL 4,B4SW4B+FR3
|
||
WL 4,B4SW4B+FR4
|
||
WL 4,B4SW4B+FR5
|
||
WL 4,B4SW4B+FR6
|
||
WL 4,B4SW4B+FR7
|
||
WL 4,B4SW4B+FR8
|
||
|
||
WL 4,B4SW4B+FR3
|
||
WL 4,B4SW4B+FR4
|
||
WL 4,B4SW4B+FR5
|
||
WL 4,B4SW4B+FR6
|
||
WL 4,B4SW4B+FR7
|
||
WL 4,B4SW4B+FR8
|
||
|
||
WL 4,B4SW4B+FR3
|
||
WL 4,B4SW4B+FR4
|
||
WL 4,B4SW4B+FR5
|
||
WL 4,B4SW4B+FR6
|
||
WL 4,B4SW4B+FR7
|
||
WL 4,B4SW4B+FR8
|
||
|
||
WL ANI_CHANGEANIM,bam_stand4_anim
|
||
|
||
BAM_RISE_SOUND
|
||
movi 41h,a0
|
||
CALLA triple_sound
|
||
RETS
|
||
|
||
start_smoke
|
||
;10% of time put smoke on bam bam
|
||
movi 100,a0
|
||
.ref RNDPER
|
||
calla RNDPER
|
||
jrls #out
|
||
move a13,a10
|
||
CREATE0 body_smoke
|
||
#out
|
||
rets
|
||
|
||
#*******************************
|
||
* Smoke trail (Process)
|
||
* A10=*wrestler proc
|
||
|
||
body_smoke
|
||
|
||
clr a11
|
||
movk 3,a11
|
||
#lp CREATE0 smokepuff
|
||
;Need an explosion sound
|
||
SLEEPK 3
|
||
inc a11
|
||
cmpi 17,a11
|
||
jrlt #lp
|
||
|
||
DIE
|
||
|
||
#*******************************
|
||
* Smoke trail puff (Process)
|
||
* A10=*wrestler proc
|
||
|
||
smokepuff
|
||
|
||
move *a10(OBJ_ZPOSINT),a3
|
||
movk 3,a0
|
||
calla RNDRNG0
|
||
; subk 2,a0
|
||
add a0,a3 ;-2 to 1
|
||
; addk 16,a3
|
||
ori 1000h,a3
|
||
|
||
movk 3,a0
|
||
calla RNDRNG0
|
||
sll 5,a0 ;*32
|
||
addi smoke_t,a0
|
||
move *a0,a9,L
|
||
|
||
movi 30000h,a0
|
||
calla RNDRNG0
|
||
subi 18000h,a0
|
||
move a0,a6
|
||
|
||
; movi [1,8000h],a6
|
||
|
||
movi 20000h,a0
|
||
calla RNDRNG0
|
||
addi 6000h,a0
|
||
neg a0
|
||
move a0,a7
|
||
; movi [-2,0],a7
|
||
|
||
move a11,a14
|
||
; sll 4,a14
|
||
; addi #x_tbl,a14
|
||
; move *a14,a1
|
||
|
||
|
||
movk 30,a0
|
||
calla RNDRNG0
|
||
subk 15,a0
|
||
move a0,a1
|
||
|
||
move *a10(OBJ_XPOSINT),a0
|
||
|
||
move *a10(OBJ_CONTROL),a14
|
||
btst B_FLIPH,a14
|
||
jrz #no_flip
|
||
; neg a6
|
||
neg a1
|
||
#no_flip
|
||
|
||
add a1,a0
|
||
sll 16,a0 ;X
|
||
|
||
move a11,a14
|
||
sll 4,a14
|
||
addi #y_tbl,a14
|
||
move *a14,a14
|
||
|
||
movi Y_SCALE_MULTIPLIER,a2
|
||
move *a10(OBJ_ZPOSINT),a1
|
||
mpyu a2,a1
|
||
move *a10(OBJ_YPOSINT),a2
|
||
sub a14,a2
|
||
sll 16,a2
|
||
sub a2,a1
|
||
|
||
movi CLDB1ORNG,a2
|
||
movi DMAWNZ|M_3D|M_NOCOLL,a4
|
||
movi CLSDEAD,a5
|
||
|
||
calla BEGINOBJ
|
||
|
||
SLEEPK 3
|
||
|
||
jauc FRQDELDIE
|
||
|
||
.ref smoke_t
|
||
|
||
;#x_tbl .word -14,-3,10,25,30,31,30,39,26,-3,17,32,53,54,41,32,45
|
||
#y_tbl .word -82,-85,-88,-91,-94,-97,-100,-83,-85,-87,-89,-91,-93,-95
|
||
.word -97,-99,-99
|
||
|
||
dnk_clever_anim
|
||
.WORD ANI_XFLIP
|
||
WL 6,D4SQ4A+FR1
|
||
WL 6,D4SQ4A+FR2
|
||
WL 6,D4SQ4A+FR3
|
||
WL ANI_CODE,CREATE_WATER
|
||
WL 5,D4SQ4A+FR3
|
||
WL 6,D4SQ4A+FR2
|
||
WL 6,D4SQ4A+FR1
|
||
.word ANI_END
|
||
|
||
lex_clever_anim
|
||
WL 6,L4SW5A+FR2
|
||
WL 6,L4SW5A+FR3
|
||
WL 6,L4SW5A+FR4
|
||
WL 6,L4SW5A+FR5
|
||
WL 6,L4SW5A+FR6
|
||
WL 6,L4SW5A+FR7
|
||
WL 6,L4SW5A+FR8
|
||
WL 6,L4SW5A+FR9
|
||
WL 6,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 2,L4SW5A+FR9
|
||
WL 2,L4SW5A+FR10
|
||
WL 6,L4SW5A+FR9
|
||
WL 6,L4SW5A+FR8
|
||
WL 6,L4SW5A+FR7
|
||
WL 6,L4SW5A+FR6
|
||
WL 6,L4SW5A+FR5
|
||
WL 6,L4SW5A+FR4
|
||
WL 6,L4SW5A+FR3
|
||
WL 6,L4SW5A+FR2
|
||
|
||
.word ANI_END
|
||
|
||
hrt_taunt4_anim
|
||
WL 5,H4SL4C+FR1
|
||
WL 5,H4SL4C+FR2
|
||
WL 5,H4SL4C+FR3
|
||
|
||
BRT_TAUNT_LOOP
|
||
WL 5,H4SL4C+FR4
|
||
WL 5,H4SL4C+FR5
|
||
WL 5,H4SL4C+FR6
|
||
WL 5,H4SL4C+FR5
|
||
WL 5,H4SL4C+FR4
|
||
WL 5,H4SL4C+FR7
|
||
WL 5,H4SL4C+FR8
|
||
WL 5,H4SL4C+FR9
|
||
WL 5,H4SL4C+FR8
|
||
WL 5,H4SL4C+FR7
|
||
|
||
WL ANI_GOTO,BRT_TAUNT_LOOP
|
||
|
||
rzr_taunt4_anim
|
||
WL 4,R4CO4A+FR1
|
||
WL 4,R4CO4A+FR2
|
||
WL 4,R4CO4A+FR3
|
||
WL 4,R4CO4A+FR4
|
||
RZR_TAUNT_LOOP
|
||
WL 15,R4CO4A+FR5
|
||
WL 4,R4CO4A+FR6
|
||
WL 4,R4CO4A+FR7
|
||
WL 4,R4CO4A+FR8
|
||
WL 4,R4CO4A+FR7
|
||
WL 4,R4CO4A+FR6
|
||
WL 4,R4CO4A+FR5
|
||
WL 4,R4CO4A+FR6
|
||
WL 4,R4CO4A+FR7
|
||
WL 4,R4CO4A+FR8
|
||
WL 4,R4CO4A+FR7
|
||
WL 4,R4CO4A+FR6
|
||
|
||
WL ANI_GOTO,RZR_TAUNT_LOOP
|
||
|
||
und_taunt4_anim
|
||
WL 6,U4CO4B+FR1
|
||
WL 6,U4CO4B+FR2
|
||
UND_TAUNT_LOOP
|
||
WL 15,U4CO4B+FR3
|
||
WL 6,U4CO4B+FR4
|
||
WL 6,U4CO4B+FR5
|
||
WL 6,U4CO4B+FR6
|
||
WL 6,U4CO4B+FR7
|
||
WL 6,U4CO4B+FR8
|
||
WL 6,U4CO4B+FR7
|
||
WL 6,U4CO4B+FR6
|
||
WL 6,U4CO4B+FR5
|
||
WL 6,U4CO4B+FR4
|
||
WL ANI_GOTO,UND_TAUNT_LOOP
|
||
|
||
yok_taunt4_anim
|
||
WL 4,Y4CO4D+FR1
|
||
WL 4,Y4CO4D+FR2
|
||
YOK_TAUNT_LOOP
|
||
WL 5,Y4CO4D+FR3
|
||
WL 5,Y4CO4D+FR4
|
||
WL 5,Y4CO4D+FR5
|
||
WL 5,Y4CO4D+FR6
|
||
WL 5,Y4CO4D+FR7
|
||
WL 5,Y4CO4D+FR8
|
||
WL ANI_GOTO,YOK_TAUNT_LOOP
|
||
|
||
shn_taunt4_anim
|
||
WL 4,S4CO4A+FR1
|
||
WL 4,S4CO4A+FR2
|
||
WL 4,S4CO4A+FR3
|
||
SHN_TAUNT_LOOP
|
||
WL 4,S4CO4A+FR4
|
||
WL 4,S4CO4A+FR5
|
||
WL 4,S4CO4A+FR6
|
||
WL 4,S4CO4A+FR7
|
||
WL 4,S4CO4A+FR8
|
||
WL 4,S4CO4A+FR7
|
||
WL 4,S4CO4A+FR6
|
||
WL 4,S4CO4A+FR5
|
||
WL 4,S4CO4A+FR4
|
||
WL 4,S4CO4A+FR3
|
||
WL 4,S4CO4A+FR2
|
||
WL 4,S4CO4A+FR3
|
||
WL ANI_GOTO,SHN_TAUNT_LOOP
|
||
|
||
bam_taunt4_anim
|
||
; WL ANI_CODE,BAM_TAUNT_SOUND
|
||
bam_taunt4_anim_no_fx
|
||
WL 4,B4SW4B+FR3
|
||
WL 4,B4SW4B+FR4
|
||
WL 4,B4SW4B+FR5
|
||
WL 4,B4SW4B+FR6
|
||
WL 4,B4SW4B+FR7
|
||
WL 4,B4SW4B+FR8
|
||
WL ANI_GOTO,bam_taunt4_anim_no_fx
|
||
|
||
;BAM_TAUNT_SOUND
|
||
; movi 42h,a0
|
||
; CALLA triple_sound
|
||
; RETS
|
||
|
||
dnk_taunt4_anim
|
||
WL 5,D4CO4A+FR1
|
||
WL 5,D4CO4A+FR2
|
||
WL 5,D4CO4A+FR3
|
||
WL 5,D4CO4A+FR4
|
||
WL 5,D4CO4A+FR5
|
||
WL 5,D4CO4A+FR6
|
||
DNK_TAUNT_LOOP
|
||
WL 5,D4CO4A+FR5
|
||
WL 5,D4CO4A+FR4
|
||
WL 5,D4CO4A+FR3
|
||
WL 5,D4CO4A+FR4
|
||
WL 5,D4CO4A+FR5
|
||
WL 5,D4CO4A+FR6
|
||
WL ANI_GOTO,DNK_TAUNT_LOOP
|
||
|
||
lex_taunt4_anim
|
||
LEX_TAUNT_LOOP
|
||
WL 5,L4CO4Z+FR1
|
||
WL 5,L4CO4Z+FR2
|
||
WL 5,L4CO4Z+FR3
|
||
WL 5,L4CO4Z+FR4
|
||
WL 5,L4CO4Z+FR5
|
||
WL 5,L4CO4Z+FR6
|
||
WL 5,L4CO4Z+FR7
|
||
WL 5,L4CO4Z+FR8
|
||
WL 5,L4CO4Z+FR9
|
||
|
||
WL 5,L4CO4Z+FR8
|
||
WL 5,L4CO4Z+FR7
|
||
WL 5,L4CO4Z+FR6
|
||
WL 5,L4CO4Z+FR5
|
||
WL 5,L4CO4Z+FR4
|
||
WL 5,L4CO4Z+FR3
|
||
WL 5,L4CO4Z+FR2
|
||
WL ANI_GOTO,LEX_TAUNT_LOOP
|
||
|
||
|
||
CREATE_FUJI
|
||
MMTM SP,A0,A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
CLR A8
|
||
MOVE @NUM_OPPS,A1
|
||
DEC A1
|
||
JRNZ NO_CREATE_FUJI
|
||
|
||
MOVE *A13(OBJ_XPOS),A0,L
|
||
ADDI [30,0],A0
|
||
MOVE A0,*A13(OBJ_XPOS),L
|
||
SUBI [80,0],A0
|
||
MOVI [240,0],A1
|
||
MOVE *A13(OBJ_ZPOS),A3,L
|
||
SRL 16,A3
|
||
DEC A3
|
||
ORI 1000H,A3
|
||
MOVI shadow,A2
|
||
MOVI DMAWNZ,A4
|
||
CLR A5
|
||
CLR A6
|
||
CLR A7
|
||
CALLA BEGINOBJ
|
||
|
||
MOVE *A13(OBJ_XPOS),A0,L
|
||
SUBI [80,0],A0
|
||
MOVI [240,0],A1
|
||
MOVE *A13(OBJ_ZPOS),A3,L
|
||
SRL 16,A3
|
||
ORI 1000H,A3
|
||
|
||
MOVI FUJI01,A2
|
||
|
||
movi DMAWNZ,a4 ;DMA flags
|
||
CLR A5
|
||
CLR A6
|
||
CLR A7
|
||
CALLA BEGINOBJ
|
||
NO_CREATE_FUJI
|
||
MOVE A8,@FUJI_OBJ,L
|
||
MMFM SP,A0,A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
RETS
|
||
|
||
DO_FUJI
|
||
MMTM SP,A1,A7,A8,A9
|
||
MOVE @FUJI_OBJ,A8,L
|
||
JRZ MORE_THAN_ONE_OPP
|
||
MOVI FUJI_ANIM,A9
|
||
CREATE0 ANIMATE_OBJ
|
||
MORE_THAN_ONE_OPP
|
||
MMFM SP,A1,A7,A8,A9
|
||
RETS
|
||
|
||
ANIMATE_OBJ
|
||
MOVE A9,A1
|
||
CALLA setup_back_anim
|
||
JSRP ANIM_CROWD
|
||
DIE
|
||
|
||
FUJI_ANIM
|
||
WL 7,FUJI01
|
||
WL 7,FUJI02
|
||
WL 7,FUJI03
|
||
WL 60,FUJI04
|
||
WL 7,FUJI03
|
||
WL 7,FUJI02
|
||
WL 7,FUJI01
|
||
.WORD CANI_END
|
||
|
||
SUBR CREATE_URN2
|
||
MMTM SP,A0,A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
MOVE *A13(OBJ_XPOS),A0,L
|
||
MOVI [026H,0],A1
|
||
MOVE *A13(OBJ_CONTROL),A3
|
||
ANDI M_FLIPH,A3
|
||
JRNZ NO_NEG_X_OFF
|
||
NEG A1
|
||
NO_NEG_X_OFF
|
||
ADD A1,A0
|
||
movi Y_SCALE_MULTIPLIER,a3
|
||
move *a13(OBJ_ZPOSINT),a1
|
||
mpyu a3,a1
|
||
SUBI [0C0H,0],A1
|
||
JRUC RE_ENTER_URN_CREATE
|
||
|
||
SUBRP CREATE_URN
|
||
MMTM SP,A0,A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
MOVE *A13(OBJ_XPOS),A0,L
|
||
movi Y_SCALE_MULTIPLIER,a3
|
||
move *a13(OBJ_ZPOSINT),a1
|
||
mpyu a3,a1
|
||
SUBI [5aH,0],A1
|
||
RE_ENTER_URN_CREATE
|
||
MOVE *A13(OBJ_ZPOS),A3,L
|
||
SRL 16,A3
|
||
INC A3
|
||
ORI 1000H,A3
|
||
MOVI BLUURN01,A2
|
||
MOVI DMAWNZ,A4
|
||
CLR A5
|
||
CLR A6
|
||
CLR A7
|
||
CALLA BEGINOBJ
|
||
MOVI URN_ANIM,A9
|
||
CREATE0 ANIMATE_OBJ
|
||
MMFM SP,A0,A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
RETS
|
||
|
||
URN_SOUND
|
||
movi 40h,a0
|
||
CALLA triple_sound
|
||
RETS
|
||
|
||
URN_ANIM
|
||
WL CANI_CODE,URN_SOUND
|
||
WL 6,BLUURN01
|
||
WL 6,BLUURN02
|
||
WL 6,BLUURN03
|
||
WL 6,BLUURN04
|
||
WL 6,BLUURN05
|
||
.WORD CANI_END
|
||
|
||
CREATE_WATER
|
||
MMTM SP,A0,A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
MOVE *A13(OBJ_XPOS),A0,L
|
||
SUBI [10,0],A0
|
||
movi Y_SCALE_MULTIPLIER,a3
|
||
move *a13(OBJ_ZPOSINT),a1
|
||
mpyu a3,a1
|
||
SUBI [58H,0],A1
|
||
|
||
MOVE *A13(OBJ_ZPOS),A3,L
|
||
SRL 16,A3
|
||
INC A3
|
||
ORI 1000H,A3
|
||
MOVI WATER01,A2
|
||
MOVI DMAWNZ,A4
|
||
CLR A5
|
||
CLR A6
|
||
CLR A7
|
||
CALLA BEGINOBJ
|
||
MOVI WATER_ANIM,A9
|
||
CREATE0 ANIMATE_OBJ
|
||
MOVE *A13(PLYRNUM),*A0(PDATA+UNUSED)
|
||
MMFM SP,A0,A1,A2,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||
RETS
|
||
|
||
WATER_ANIM
|
||
WL CANI_CODE,WATER_SOUND
|
||
WL 4,WATER01
|
||
WL 4,WATER02
|
||
WL CANI_CODE,START_WATER
|
||
WL 15,WATER03
|
||
WL CANI_CODE,STOP_WATER
|
||
WL 4,WATER04
|
||
WL 4,WATER05
|
||
WL 4,WATER06
|
||
WL 4,WATER07
|
||
WL CANI_CODE,KILL_WATER
|
||
.WORD CANI_END
|
||
|
||
KILL_WATER
|
||
movi -400,a1
|
||
MOVE A1,*A8(OXPOS)
|
||
rets
|
||
|
||
START_WATER
|
||
MOVI WATER_PID,A1
|
||
MOVE *A13(PDATA+UNUSED),A2
|
||
DEC A2
|
||
ADD A2,A1
|
||
MOVI MOVE_WATER,A7
|
||
MOVE *A8(OXVAL),A9,L
|
||
SUBI [240H,0],A9
|
||
MOVI 15,A5
|
||
DIVS A5,A9
|
||
JAUC GETPRC
|
||
|
||
MOVE_WATER
|
||
MOVE *A8(OXVAL),A1,L
|
||
SUB A9,A1
|
||
MOVE A1,*A8(OXVAL),L
|
||
SLOOP 1,MOVE_WATER
|
||
|
||
STOP_WATER
|
||
MOVI WATER_PID,A0
|
||
MOVE *A13(PDATA+UNUSED),A2
|
||
DEC A2
|
||
ADD A2,A0
|
||
MOVE A0,A1
|
||
CALLA KILALL
|
||
RETS
|
||
|
||
WATER_SOUND
|
||
movi 3fh,a0
|
||
CALLA triple_sound
|
||
RETS
|
||
|
||
.if 0
|
||
;JOY1 DOWN + PUNCH + BLOCK + SUPER PUNCH
|
||
GETUP_METER_POWER1 .EQU 0008DH
|
||
;JOY2 DOWN + PUNCH + BLOCK + SUPER PUNCH
|
||
GETUP_METER_POWER2 .EQU 08D00H
|
||
;JOY1 UP + PUNCH + BLOCK + SUPER PUNCH
|
||
NAMES_POWER1_B .EQU 0008EH
|
||
;JOY2 UP + PUNCH + BLOCK + SUPER PUNCH
|
||
NAMES_POWER2_B .EQU 08E00H
|
||
;JOY1 LEFT + PUNCH + BLOCK + JOY2 LEFT + PUNCH + BLOCK
|
||
BONUS_POWER_B .EQU 0CBCBH
|
||
|
||
LOOK_FOR_POWERUPS
|
||
CLR A2
|
||
MOVE A2,@NAMES_POWER1
|
||
MOVE A2,@NAMES_POWER2
|
||
|
||
.if DEBUG
|
||
movk 1,a2
|
||
.endif
|
||
MOVE A2,@GETUP_POWER
|
||
|
||
MOVK 16,A2
|
||
MOVE A2,@BONUS_POWER
|
||
|
||
MOVE @SWITCH,A0
|
||
MOVE A0,A1
|
||
ANDI 0FFH,A1
|
||
CMPI GETUP_METER_POWER1,A1
|
||
JRNE NO_GETUP_P1
|
||
MOVK 1,A2
|
||
MOVE A2,@GETUP_POWER
|
||
NO_GETUP_P1
|
||
MOVE A0,A1
|
||
ANDI 0FF00H,A1
|
||
CMPI GETUP_METER_POWER2,A1
|
||
JRNE NO_GETUP_P2
|
||
MOVK 1,A2
|
||
MOVE A2,@GETUP_POWER
|
||
NO_GETUP_P2
|
||
MOVE A0,A1
|
||
ANDI 0FFH,A1
|
||
CMPI NAMES_POWER1_B,A1
|
||
JRNE NO_NAMES_P1
|
||
MOVK 1,A2
|
||
MOVE A2,@NAMES_POWER1
|
||
NO_NAMES_P1
|
||
MOVE A0,A1
|
||
ANDI 0FF00H,A1
|
||
CMPI NAMES_POWER2_B,A1
|
||
JRNE NO_NAMES_P2
|
||
MOVK 1,A2
|
||
MOVE A2,@NAMES_POWER2
|
||
NO_NAMES_P2
|
||
MOVE @PSTATUS,A2
|
||
CMPI 3,A2
|
||
JRNE NO_ALLOW_BONUS_POWER
|
||
MOVE A0,A1
|
||
SLL 16,A1
|
||
SRL 16,A1
|
||
CMPI BONUS_POWER_B,A1
|
||
JRNE NO_ALLOW_BONUS_POWER
|
||
MOVK 1,A2
|
||
MOVE A2,@BONUS_POWER
|
||
NO_ALLOW_BONUS_POWER
|
||
RETS
|
||
|
||
.endif
|
||
|
||
|
||
BLOCK_BUTT .EQU 20H
|
||
|
||
LOOK_FOR_PALS
|
||
CLR A10
|
||
MOVE A10,@WHICH_SKIRT_PAL
|
||
MOVI P_DELAY+10,A8
|
||
move @_switch_addr,a0,L
|
||
move *a0,a0
|
||
ANDI BLOCK_BUTT,A0
|
||
JRZ CHECK_BUT_UP
|
||
|
||
CHECK_BUT_DOWN
|
||
SLEEPK 1
|
||
DEC A8
|
||
move @_switch_addr,a0,L
|
||
move *a0,a0
|
||
ANDI BLOCK_BUTT,A0
|
||
JRZ CHECK_BUT_UP_ADD
|
||
MOVE A8,A8
|
||
JRP CHECK_BUT_DOWN
|
||
JRUC EXIT_LOOK_FOR_PALS
|
||
|
||
CHECK_BUT_UP_ADD
|
||
INC A10
|
||
CHECK_BUT_UP
|
||
SLEEPK 1
|
||
DEC A8
|
||
move @_switch_addr,a0,L
|
||
move *a0,a0
|
||
ANDI BLOCK_BUTT,A0
|
||
JRNZ CHECK_BUT_DOWN
|
||
MOVE A8,A8
|
||
JRP CHECK_BUT_UP
|
||
EXIT_LOOK_FOR_PALS
|
||
ANDI 7,A10
|
||
SLL 4,A10
|
||
ADDI WHICH_SKIRT_PALLETE,A10
|
||
MOVE *A10,A0
|
||
MOVE A0,@WHICH_SKIRT_PAL
|
||
DIE
|
||
|
||
WHICH_SKIRT_PALLETE
|
||
.WORD 0,0,0
|
||
.WORD 5,7,2,5,1
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* a1 is a progression table entry. scramble it.
|
||
* a10 is the pointer to the current table entry, which should be held in a1.
|
||
*
|
||
* Rules:
|
||
* - On the first 1v2 match, don't choose a drone that matches player.
|
||
* - Ditto for first 1v3 match. (exception: the 1 in 32 doinks can
|
||
* happen even if the human is doink.)
|
||
* - On any 1v2+ match, don't choose any drone that was used as a drone in
|
||
* the previous fight.
|
||
* - On the final battle, generate a unique lineup, and put the first three
|
||
* guys in as starters. Then initialize all the special data for that match.
|
||
*
|
||
|
||
SUBR scramble_table_entry
|
||
|
||
PUSH a0,a2,a3,a4,a5,a6,a7,a8
|
||
|
||
;figure out who our human is, and put his wrestlernum in a6
|
||
;if we're in attract mode (PSTATUS==0), look in index1.
|
||
move @PSTATUS,a14
|
||
move @index2,a6
|
||
btst 1,a14
|
||
jrnz #pset
|
||
move @index1,a6
|
||
#pset
|
||
|
||
;put the count in a2
|
||
move a1,a2
|
||
srl 24,a2
|
||
cmpi 3,a2
|
||
jrne #begin
|
||
|
||
;it's three guys. is it the final match?
|
||
; (we can't use is_final_match because CURRENT_LADDER
|
||
; hasn't been incremented yet.)
|
||
move @belt_type,a14
|
||
jrz #notfin
|
||
|
||
move @CURRENT_LADDER,a14,L
|
||
cmpi LADDER+((FINAL_BATTLE-2)*20h),a14
|
||
jreq #final_match
|
||
|
||
#notfin ;no. one time in 32, make it three doinks.
|
||
move @PCNT,a14
|
||
sll 32-5,a14
|
||
srl 32-5,a14
|
||
jrnz #begin
|
||
|
||
movi 03060606h,a1
|
||
jruc #done
|
||
|
||
#begin ;first, figure out which wrestlers are excluded. Use the low byte
|
||
;of a7 for this. Set the bits corresponding to excluded wrestlers.
|
||
clr a7
|
||
|
||
;first, exclude the human if this is the first 1v2 or 1v3
|
||
movk 1,a14
|
||
sll a6,a14
|
||
or a14,a7
|
||
|
||
;now exclude the guys from the last match
|
||
; but not if this is the first match!
|
||
cmpi LADDER,a10
|
||
jreq #count
|
||
move *a10(-20h),a0,L ;previous lineup
|
||
move a0,a1
|
||
srl 24,a1 ;wrestler count
|
||
#lp0 movk 1,a14
|
||
rl a0,a14 ;note that rl only looks at low 5 bits...
|
||
or a14,a7
|
||
srl 8,a0
|
||
dsj a1,#lp0
|
||
|
||
;now count excluded wrestlers. We couldn't do this before because
|
||
; we weren't checking for redundant exclusions. now just count
|
||
; set bits in a7. Store the count in a8
|
||
#count move a7,a14
|
||
clr a8
|
||
movk 8,a0
|
||
#lp1 srl 1,a14
|
||
jrnc #nxt1
|
||
inc a8
|
||
#nxt1 dsj a0,#lp1
|
||
|
||
;commence scramble - begin by getting three random guys
|
||
; Since a8 wrestlers are excluded, we're choosing from a field of
|
||
; 8 - a8 wrestlers.
|
||
|
||
;to make repeats less likely, 'toss back' the first match on any
|
||
; previous wrestlers.
|
||
|
||
;first
|
||
callr get_rnd_wrestler
|
||
move a0,a3
|
||
|
||
;second
|
||
callr get_rnd_wrestler
|
||
move a0,a4
|
||
cmp a4,a3
|
||
jrne #ok2
|
||
callr get_rnd_wrestler
|
||
move a0,a4
|
||
|
||
#ok2 ;third
|
||
callr get_rnd_wrestler
|
||
move a0,a5
|
||
cmp a3,a5
|
||
jreq #repick
|
||
cmp a4,a5
|
||
jrne #ok3
|
||
#repick callr get_rnd_wrestler
|
||
move a0,a5
|
||
#ok3
|
||
|
||
;lump it all together
|
||
|
||
sll 24,a2
|
||
sll 16,a3
|
||
sll 8,a4
|
||
|
||
move a2,a1
|
||
or a3,a1
|
||
or a4,a1
|
||
or a5,a1
|
||
|
||
;leave the third guy in there even if there's only supposed to be
|
||
; two. It can't matter since 0 is a valid WRESTLERNUM anyway.
|
||
|
||
#done PULL a0,a2,a3,a4,a5,a6,a7,a8
|
||
rets
|
||
|
||
#final_match
|
||
;first, generate a new lineup
|
||
callr get_final_lineup
|
||
|
||
;now construct our starting lineupt from the first three guys.
|
||
movi FINAL_BATTLE_LINEUP,a0
|
||
move *a0,a1,L
|
||
andi 00FFFFFFh,a1 ;clear fourth guy
|
||
ori 03000000h,a1 ;set count
|
||
|
||
;set FINAL_PTR to the next guy to fight.
|
||
addi 3*8,a0
|
||
move a0,@FINAL_PTR,L
|
||
|
||
jruc #done
|
||
|
||
**********
|
||
* Get a random wrestler among those available.
|
||
* >a7 = excluded wrestler mask >a8 = excluded wrestler count
|
||
* <a0 = choice among those available
|
||
|
||
SUBR get_rnd_wrestler
|
||
|
||
;first, get a random number between 0 and 7-(num excluded)
|
||
movk 7,a0
|
||
sub a8,a0
|
||
calla RNDRNG0
|
||
|
||
;now translate. a value of '0' means 'first available wrestler.'
|
||
;'3' means 'fourth available wrestler,' and so forth.
|
||
inc a0
|
||
movi -1,a14
|
||
#lp2 inc a14
|
||
btst a14,a7
|
||
jrnz #lp2 ;not available. keep looking
|
||
dsj a0,#lp2
|
||
|
||
;found the n'th open spot, and a14 is the correct wrestlernum.
|
||
move a14,a0
|
||
rets
|
||
|
||
|
||
#*****************
|
||
STATY .EQU 30
|
||
STATX .EQU 5
|
||
|
||
DO_LADDER_BITS
|
||
MOVI CHAMP_BITS_LIST,A9
|
||
MOVE @belt_type,A1
|
||
JRNZ CORRECT_BITS_TABLE
|
||
MOVI INTER_BITS_LIST,A9
|
||
CORRECT_BITS_TABLE
|
||
|
||
CALLR MAKE_NEXT_BIT
|
||
|
||
MOVI CHAMP_FLASH_BITS,A9
|
||
MOVE @belt_type,A1
|
||
JRNZ CORRECT_FLASH_BITS_TABLE
|
||
MOVI INTER_FLASH_BITS,A9
|
||
CORRECT_FLASH_BITS_TABLE
|
||
|
||
MOVE @CURRENT_LADDER,A10,L
|
||
SUBI LADDER-20h,A10
|
||
SRL 5,A10
|
||
NEXT_FLASH_BIT
|
||
MOVE *A9+,A2,L
|
||
CALLR CREATE_PART
|
||
DSJS A10,NEXT_FLASH_BIT
|
||
CREATE ZSHIFT_PID,FLASH_THIS_BIT
|
||
|
||
move @match_cnt,a0
|
||
cmpi 999,a0
|
||
jrls #maxok
|
||
movi 999,a0
|
||
#maxok
|
||
movi 9999999,a1
|
||
calla dec_to_asc ;convert to ASCII
|
||
movk 2,a0
|
||
move a0,@mess_spacing
|
||
CALLA copy_string
|
||
|
||
movi win_ascii,a0
|
||
move a0,@message_ascii,L
|
||
movi 3,a0
|
||
move a0,@mess_space_width
|
||
MOVI STATX+76,A0
|
||
move a0,@mess_cursx
|
||
MOVI STATY+19+3+2,A0
|
||
move a0,@mess_cursy
|
||
MOVI WINFONT,A11
|
||
move a11,@message_palette,L
|
||
calla print_string
|
||
|
||
move @p1winstreak,a0
|
||
jrnz win_streak_set
|
||
move @p2winstreak,a0
|
||
win_streak_set
|
||
movi 9999999,a1
|
||
calla dec_to_asc ;convert to ASCII
|
||
movk 2,a0
|
||
move a0,@mess_spacing
|
||
CALLA copy_string
|
||
MOVI STATX+7+50,A0
|
||
move a0,@mess_cursx
|
||
MOVI STATY+19+4+12+3,A0
|
||
move a0,@mess_cursy
|
||
calla print_string
|
||
|
||
movi BEATEN_TAB_ORIGIN+HS_SIZE,a7
|
||
MOVE @belt_type,A1
|
||
JRNZ CORRECT_TABLE
|
||
movi INTER_TAB_ORIGIN+HS_SIZE,a7
|
||
CORRECT_TABLE
|
||
|
||
movi message_buffer,a1
|
||
addi HS_INITS,a7
|
||
movi 5,a2
|
||
#initloop
|
||
calla RC_BYTEI
|
||
movb a0,*a1
|
||
addk 8,a1
|
||
dsj a2,#initloop
|
||
clr a0 ;null-terminate it
|
||
movb a0,*a1
|
||
|
||
movi wsf14_ascii,a0
|
||
move a0,@message_ascii,L
|
||
MOVI 15fh,A0
|
||
move a0,@mess_cursx
|
||
MOVI STATY+19+12+3,A0
|
||
move a0,@mess_cursy
|
||
movi 1901h,a0
|
||
move a0,@mess_z,L
|
||
MOVI WSF_Y_P,A11
|
||
move a11,@message_palette,L
|
||
calla print_string_Z2
|
||
|
||
RETS
|
||
|
||
FLASH_THIS_BIT
|
||
MOVI FLASH_BIT_ANIM,A1
|
||
callr setup_back_anim
|
||
JSRP ANIM_CROWD
|
||
JRUC FLASH_THIS_BIT
|
||
|
||
MAKE_NEXT_BIT
|
||
MOVE *A9+,A2,L
|
||
JRZ LAST_BIT
|
||
CALLR CREATE_PART
|
||
JRUC MAKE_NEXT_BIT
|
||
LAST_BIT
|
||
RETS
|
||
|
||
CREATE_PART
|
||
MOVE *A9+,A0,L
|
||
MOVE *A9+,A1,L
|
||
MOVE *A9+,A3,L
|
||
MOVE *A9+,A4,L
|
||
MOVE A4,B0
|
||
movi DMAWNZ|M_SCRNREL,a4
|
||
CMPI LBAR_GENB,A2
|
||
JRNE DMA_SET_OKAY
|
||
movi M_FLIPH|DMAWNZ|M_SCRNREL,a4
|
||
DMA_SET_OKAY
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
CALLA BEGINOBJP
|
||
RETS
|
||
|
||
FLASH_BIT_ANIM
|
||
WL 2,FLASH01
|
||
WL 2,FLASH02
|
||
WL 2,FLASH03
|
||
WL 2,FLASH04
|
||
WL 2,FLASH05
|
||
WL 2,FLASH04
|
||
WL 2,FLASH03
|
||
WL 2,FLASH02
|
||
WL CANI_GOTO,FLASH_BIT_ANIM
|
||
|
||
|
||
INTER_BITS_LIST
|
||
.LONG STATBAR,[STATX,0],[STATY,0],1900H,DPLT_R_P
|
||
.LONG BLUESH,[STATX+50,0],[STATY+19,0],1900H,BARB_P
|
||
.LONG TXTBAR1,[STATX+60,0],[STATY+19+2+5,0],1900H,DPLT_R_P
|
||
.LONG WINS_IMG,[STATX+20,0],[STATY+19+4+12+3,0],1901H,WINFONT
|
||
.LONG BLUESH,[STATX+36,0],[STATY+19+2+12,0],1900H,BARB_P
|
||
.LONG TXTBAR1,[STATX+46,0],[STATY+19+4+12+5,0],1900H,DPLT_R_P
|
||
.LONG MATCH_IMG,[STATX+29,0],[STATY+19+2+3,0],1901H,WINFONT
|
||
.LONG BLUESH,[STATX+23,0],[STATY+19+4+24,0],1900H,BARB_P
|
||
|
||
.LONG TXTBAR1,[STATX+230,0],[STATY+19+4+12+5,0],18FFH,DPLT_R_P
|
||
.LONG TXTBAR1,[STATX+297,0],[STATY+19+4+12+5,0],18FFH,DPLT_R_P
|
||
.LONG TXTBAR1,[STATX+360,0],[STATY+19+4+12+5,0],18FFH,DPLT_R_P
|
||
.LONG TXTPCE, [STATX+260,0],[STATY+19+4+12+5,0],1900H,DPLT_R_P
|
||
.LONG TXTPCE, [STATX+335,0],[STATY+19+4+12+5,0],1900H,DPLT_R_P
|
||
|
||
.LONG RCHAMP,[STATX+235-36,0],[STATY+19+2+12+5,0],1901H,WINFONT
|
||
|
||
.LONG SWWFBLT,[STATX+345,0],[STATY+9,0],1901H,SWWFBW_P
|
||
.LONG LBAR_GENB,[STATX+111,0],[STATY,0],1900H,BARB_P
|
||
.LONG LBAR_GENB,[STATX+64,0],[STATY+19+24+8,0],18ffH,BARB_P
|
||
.LONG 0
|
||
|
||
|
||
CHAMP_BITS_LIST
|
||
.LONG STATBAR,[STATX,0],[STATY,0],1900H,DPLT_P_P
|
||
.LONG BLUESH,[STATX+50,0],[STATY+19,0],1900H,BARB_P
|
||
.LONG TXTBAR1,[STATX+60,0],[STATY+19+2+5,0],1900H,DPLT_P_P
|
||
.LONG WINS_IMG,[STATX+20,0],[STATY+19+4+12+3,0],1901H,WINFONT
|
||
.LONG BLUESH,[STATX+36,0],[STATY+19+2+12,0],1900H,BARB_P
|
||
.LONG TXTBAR1,[STATX+46,0],[STATY+19+4+12+5,0],1900H,DPLT_P_P
|
||
.LONG MATCH_IMG,[STATX+29,0],[STATY+19+2+3,0],1901H,WINFONT
|
||
.LONG BLUESH,[STATX+23,0],[STATY+19+4+24,0],1900H,BARB_P
|
||
|
||
.LONG TXTBAR1,[STATX+230,0],[STATY+19+4+12+5,0],18FFH,DPLT_P_P
|
||
.LONG TXTBAR1,[STATX+297,0],[STATY+19+4+12+5,0],18FFH,DPLT_P_P
|
||
.LONG TXTBAR1,[STATX+360,0],[STATY+19+4+12+5,0],18FFH,DPLT_P_P
|
||
.LONG TXTPCE, [STATX+260,0],[STATY+19+4+12+5,0],1900H,DPLT_P_P
|
||
.LONG TXTPCE, [STATX+335,0],[STATY+19+4+12+5,0],1900H,DPLT_P_P
|
||
|
||
.LONG RCHAMP,[STATX+235-36,0],[STATY+19+2+12+5,0],1901H,WINFONT
|
||
|
||
.LONG SWWFBLT,[STATX+345,0],[STATY+9,0],1901H,SWWFBB_P
|
||
.LONG LBAR_GENB,[STATX+111,0],[STATY,0],1900H,BARB_P
|
||
.LONG LBAR_GENB,[STATX+64,0],[STATY+19+24+8,0],18ffH,BARB_P
|
||
.LONG 0
|
||
|
||
CHAMP_FLASH_BITS
|
||
.LONG FLASH05,[STATX-5+31,0],[STATY+5+4,0],1901H,FLASHP_P
|
||
.LONG FLASH05,[STATX-5+47,0],[STATY+5+4,0],1901H,FLASHP_P
|
||
.LONG FLASH05,[STATX-5+63,0],[STATY+5+4,0],1901H,FLASHP_P
|
||
.LONG FLASH05,[STATX-5+79,0],[STATY+5+4,0],1901H,FLASHP_P
|
||
|
||
.LONG FLASH05,[STATX-5+95+13H,0],[STATY+5+4,0],1901H,FLASHP_P
|
||
.LONG FLASH05,[STATX-5+111+13H,0],[STATY+5+4,0],1901H,FLASHP_P
|
||
.LONG FLASH05,[STATX-5+127+26H,0],[STATY+5+4,0],1901H,FLASHP_P
|
||
|
||
INTER_FLASH_BITS
|
||
.LONG FLASH05,[STATX-5+31,0],[STATY+5+4,0],1901H,FLASHR_P
|
||
.LONG FLASH05,[STATX-5+47,0],[STATY+5+4,0],1901H,FLASHR_P
|
||
.LONG FLASH05,[STATX-5+63,0],[STATY+5+4,0],1901H,FLASHR_P
|
||
.LONG FLASH05,[STATX-5+79,0],[STATY+5+4,0],1901H,FLASHR_P
|
||
.LONG FLASH05,[STATX-5+95+13H,0],[STATY+5+4,0],1901H,FLASHR_P
|
||
.LONG FLASH05,[STATX-5+111+13H,0],[STATY+5+4,0],1901H,FLASHR_P
|
||
.LONG FLASH05,[STATX-5+127+26H,0],[STATY+5+4,0],1901H,FLASHR_P
|
||
|
||
SWWFBW_P
|
||
.word 32
|
||
.word 00000h,07b8ah,07b73h,07b2fh,07ae9h,06eefh,062aeh,06e8bh
|
||
.word 06e65h,05e4ah,06226h,059e4h,041e8h,05961h,04d21h,04164h
|
||
.word 03947h,03944h,04101h,02905h,030c2h,020a1h,05ef7h,05294h
|
||
.word 04a52h,04210h,035adh,02d6bh,02529h,018c6h,01084h,002c2h
|
||
|
||
|
||
DPLT_P_P
|
||
.word 31
|
||
.word 00000h,06f7ch,06f3ch,06efch,06ebch,06e7ch,06e3ch,06dfch
|
||
.word 06dbch,06d7ch,06d5ch,06d1ch,06cbch,06c9ch,06c3ch,06c1ch
|
||
.word 06c1ch,0681bh,06019h,05c18h,05416h,04c14h,04412h,03c10h
|
||
.word 0380fh,0300dh,0280bh,0240ah,01807h,01406h,01005h
|
||
|
||
tonites_matchup
|
||
JAM_STR font9_ascii,8,0,22,13,FNT9YEL_P,0
|
||
|
||
tonites_str
|
||
.string "TONIGHT'S PROGRAM",0
|
||
|
||
type_setup
|
||
JAM_STR font9_ascii,8,0,241,28,FNT9YEL_P,0
|
||
.even
|
||
belt_setup
|
||
JAM_STR font9_ascii,8,0,241,41,FNT9YEL_P,0
|
||
.even
|
||
wwf_belt_str
|
||
.string "WWF CHAMPIONSHIP",0
|
||
.even
|
||
inter_belt_str
|
||
.string "INTERCONTINENTAL",0
|
||
.even
|
||
belt_str
|
||
.string "TITLE",0
|
||
.even
|
||
******************************************************************************
|
||
|
||
.end
|
||
|