4539 lines
82 KiB
NASM
4539 lines
82 KiB
NASM
|
***************************************************************
|
|||
|
*
|
|||
|
* 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
|
|||
|
|