123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- ;
- ;
- ; *** 044 HOW TO PLAY ***
- ;
- ;
- XDEF INIT_HOW_TO_STORY,HOW_TO_STORY
- XDEF INIT_HOW_TO_VS,HOW_TO_VS
- XREF ?A5
- ;by MAIN
- XREF LP_MAIN
- ;by PHASE
- XREF ACTIVE_TRIGER
- ;by STORY
- XREF DEMO_LEVER_SET,GAME_OBJ_MAP,LEVER_SET_GAME
- XREF DIST_SET
- ;by GAME_SUB
- XREF LWORK_DEAD
- ;by MESSAGE
- XREF MESS_SET,MESS_SET_INNER,FLAME_WRITE,FLAME_CLR
- XREF FLAME_WRITED,FLAME_CLRD
- ;by LANG
- XREF LANG_SET,LANG_SET_INNER
- ;by BACK
- XREF BACK2_INIT,BACK2_SCROLL_SET
- XREF BEFOR_SCROLL
- ;by HIT
- XREF HERO1_HIT_JUDGE
- XREF HERO2_HIT_JUDGE
- SECT GAME,,C
- INCLUDE SYS.INC
- INCLUDE LABEL.INC
- INCLUDE NEO_GEO.INC
- INCLUDE HERO_TBL.INC
- INCLUDE EASY_MAC.INC
- INIT_HOW_TO_VS:
- INIT_HOW_TO_STORY:
- MOVE.W #6*2,D0 ALL EI
- JSR.S SET_SOUND
- MOVE.W #130H*2,D0 S_PLAYER
- JSR.S SET_BGM
- JSR.S PWORK_INIT
- JSR.S LWORK_DEAD
- MOVE.W #31H,D0
- JSR.S MESS_SET
- TST.B GAME_DIP+SD_HOW_TO_PLAY(A5)
- BNE HOW_TO_END
- CLR.B BACK2+FLAG(A5)
- LEA.L GAME_OBJ_MAP,A0
- JSR.S OBJ_MAP_SET
- LEA.L MLWORK2(A5),A6
- STEP_SAVE 0,HOW_TO_0
- AND.B #01111111B,PHASE+1(A5)
- RTS
- HOW_TO_VS:
- HOW_TO_STORY:
- LEA.L MLWORK2(A5),A6
- MOVEQ.L #DEMO_IN,D0
- AND.B DEBUG_DIP1(A5),D0
- BNE.S HW_000
- JSR.S ACTIVE_TRIGER
- BTST.L #B_A_BUTTON,D2
- BNE HOW_TO_END
- HW_000:
- EASY_START
- HOW_TO_0:
- END_NEXT 0,HOW_TO_01
- HOW_TO_01:
- END_NEXT 1,HOW_TO_1
- HOW_TO_1:
- COLOR_COMMAND
- PALETTE 000H,00H,PG_SET+BASE_COLOR
- PALETTE 020H,02H,PG_SET+BASE_COLOR
- PALETTE 030H,03H,PG_SET+BASE_COLOR
- PALETTE 040H,31H,PG_SET+BASE_COLOR
- PALETTE 080H,20H,PG_SET+BASE_COLOR
- PALETTE 090H,21H,PG_SET+BASE_COLOR
- PALETTE 0A0H,22H,PG_SET+BASE_COLOR
- PALETTE 0B0H,23H,PG_SET+BASE_COLOR
- PALETTE 0C0H,24H,PG_SET+BASE_COLOR
- PALETTE 0D0H,25H,PG_SET+BASE_COLOR
- PALETTE 0E0H,26H,PG_SET+BASE_COLOR
- PALETTE 0F0H,27H,PG_SET+BASE_COLOR
- PALETTE_END
- END_NEXT 2,HOW_TO_2
- HOW_TO_2:
- PAL_WAIT 0FFH
- MOVE.B #1,HOW_TO_FLAG(A5)
- MOVE.W #1,STORY_STAGE(A5)
- MOVE.W STORY_STAGE(A5),AREA_No(A5)
- MOVE.W #180H,REG_D0(A5)
- MOVE.W #100H,REG_D1(A5)
- JSR BACK2_INIT
- MOVE.W #2,LEVEL_TEMP(A5)
- MOVE.W #0,ATTACK_MUL(A5)
- LEA.L HERO1(A5),A6
- MOVE.W #180H-2CH,X_POSITION(A6)
- MOVE.W #0,HERO_TYPE(A6)
- JSR HERO_1st
- MOVE.B #14,STEP1(A6) HERO_STOP_STEP
- CLR.B HERO_STATE(A6)
- LEA.L HERO2(A5),A6
- MOVE.W #180H+2CH,X_POSITION(A6)
- MOVE.W #2,HERO_TYPE(A6)
- JSR HERO_1st
- MOVE.B #14,STEP1(A6) HERO_STOP_STEP
- CLR.B HERO_STATE(A6)
- LEA.L MLWORK2(A5),A6
- MOVE.L #25800H,HERO1+DEMO_LEVER(A5)
- MOVE.L #25C00H,HERO2+DEMO_LEVER(A5)
- MOVE.W #400H,HERO1+DEMO_LEV_COUNT(A5)
- MOVE.W #400H,HERO2+DEMO_LEV_COUNT(A5)
- MOVEQ.L #DEMO_IN,D0
- AND.B DEBUG_DIP1(A5),D0
- BEQ.S DGS_2
- ADD.L #200000H,HERO1+DEMO_LEVER(A5)
- ADD.L #200000H,HERO2+DEMO_LEVER(A5)
- DGS_2:
- MOVE.W #2,FLAME_COUNT(A5)
- MOVE.W #0,FLAME_TYPE(A5)
- MOVE.W #7000H+20H*3+5,FLAME_POS(A5)
- MOVE.W #2,FLAME_END(A5)
- JSR.S FLAME_WRITED
- STEP_SAVE 3,HOW_TO_3
- MOVE.L #HOW_TO_SEQ,LW_D0(A6)
- JMP HOW_TO_NEXT
- HOW_TO_3:
- JSR DIST_SET
- JSR LEVER_SET_GAME
- JSR DEMO_LEVER_SET
- MOVE.W PLAYER1+PLAY_LEVER(A5),PLAY_LEVER+HERO1(A5)
- MOVE.B PLAYER1+PLAY_LEVER+2(A5),PLAY_LEVER+2+HERO1(A5)
- MOVE.W PLAYER2+PLAY_LEVER(A5),PLAY_LEVER+HERO2(A5)
- MOVE.B PLAYER2+PLAY_LEVER+2(A5),PLAY_LEVER+2+HERO2(A5)
- LEA.L HERO1(A5),A6
- JSR PWORK_HIT
- LEA.L HERO2(A5),A6
- JSR PWORK_HIT
- LEA.L HERO1(A5),A6
- JSR LM_HERO
- LEA.L HERO2(A5),A6
- JSR LM_HERO
- JSR BEFOR_SCROLL
- JSR BACK2_SCROLL_SET
- JSR LP_MAIN
- JSR HERO1_HIT_JUDGE
- JSR HERO2_HIT_JUDGE
- LEA.L MLWORK2(A5),A6
- SUBQ.W #1,WORD_TIMER(A6)
- BEQ.S HOW_TO_NEXT
- RTS
- HOW_TO_NEXT:
- MOVE.L LW_D0(A6),A4
- HOW_TO_NEXT_1:
- MOVE.W (A4)+,D0
- PEA.L HOW_TO_NEXT_1(PC)
- JMP HOW_TO_COMMAND(PC,D0.W)
- HOW_TO_COMMAND:
- JMP HCOMMAND_NEXT(PC) 0
- JMP HCOMMAND_MESS(PC) 4
- JMP HCOMMAND_LANG(PC) 8
- JMP HCOMMAND_OVER(PC) 12
- HCOMMAND_NEXT:
- MOVE.W (A4)+,WORD_TIMER(A6)
- MOVE.L A4,LW_D0(A6)
- ADDQ.L #4,SP
- RTS
- HCOMMAND_MESS:
- MOVE.W (A4)+,D0
- JSR.S MESS_SET
- CMP.W #13,(A4)
- BCC.S HCOMMAND_MESS
- RTS
- HCOMMAND_LANG:
- MOVE.W #2,FLAME_COUNT(A5)
- JSR.S FLAME_WRITED
- MOVE.W (A4)+,D0
- JSR.S LANG_SET
- RTS
- HCOMMAND_OVER:
- ADDQ.L #4,SP
- HOW_TO_END:
- CLR.B HOW_TO_FLAG(A5)
- CLR.B BACK2+FLAG(A5)
- MOVE.W #0,HERO1+HERO_TYPE(A5)
- MOVE.W #1,HERO2+HERO_TYPE(A5)
- BTST.B #4,PHASE+1(A5)
- BNE.S HOW_VS_END
- HOW_STORY_END:
- MOVE.B #00100000B,D0
- AND.B PHASE+1(A5),D0
- OR.B #10000010B,D0 story player select
- MOVE.B D0,PHASE+1(A5)
- RTS
- HOW_VS_END:
- MOVE.B #00110000B,D0
- AND.B PHASE+1(A5),D0
- OR.B #10000010B,D0 vs player select
- MOVE.B D0,PHASE+1(A5)
- RTS
- HOW_TO_SEQ:
- DC.W 4,0BCH,0C1H,0C3H,0C5H,0C6H
- DC.W 0,15 wait
- DC.W 8,97*3 lang
- DC.W 4,0C2H BUTTON AP
- DC.W 0,140
- DC.W 8,98*3
- DC.W 4,0C1H,0C4H
- DC.W 0,140
- DC.W 8,101*3
- DC.W 4,0C3H,0BDH
- DC.W 0,140
- DC.W 8,102*3
- DC.W 4,0BEH,0BFH
- DC.W 0,140
- DC.W 8,103*3
- DC.W 4,0C0H,0D4H
- DC.W 0,180
- DC.W 12
- INCLUDE WORK.INC
|