12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070 |
- XDEF INIT_MOVING_DEMO,MOVING_DEMO
- XDEF INIT_OVER_DEMO,OVER_DEMO
- XDEF ALL_COLOR_COM2,END_IN
- XREF ?A5
- ;by PHASE
- XREF ACTIVE_TRIGER
- ;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_CENTOR
- ;by GAME_SUB
- XREF LWORK_DEAD
- ;by DEMO_CML
- XREF DEMO_OBJ_MAP
- ;by EASY
- XREF BASE_MONO_SET
- SECT GAME,,C
- INCLUDE SYS.INC
- INCLUDE NEO_GEO.INC
- INCLUDE LABEL.INC
- INCLUDE ACT_No.INC
- INCLUDE MACRO.INC
- INCLUDE EASY_MAC.INC
- INCLUDE SMACRO.INC
- INCLUDE SCODE.INC
- INCLUDE HFLAG.INC
- INIT_OVER_DEMO:
- ADDQ.W #1,STORY_STAGE(A5)
- SOUND #S_FADE_STOP
- MOVE.L WIN_PLAYER(A5),A0
- BTST.B #BPS_COM_FLAG,PLAYER_STATE(A0)
- BNE.S IOD_000
- TST.B MAKE_DEMO_CUT(A5)
- BNE OVER_DEMO_TO_CONT
- MOVE.B #1,MAKE_DEMO_CUT(A5)
- BRA.S IOD_001
- IOD_000:
- CLR.B MAKE_DEMO_CUT(A5)
- CLR.B ST_DEMO_ON(A5)
- IOD_001:
- JSR.S PWORK_INIT
- JSR.S LWORK_DEAD
- JSR BACK2_CENTOR(PC)
- MESS_ON
- MOVE.L #M_FIX_CLEAR,(A0)+
- MESS_OFF
- MOVE.W #25H,D0
- JSR.S MESS_SET
- MOVE.W LSPC_MODE_STORE(A5),D0
- BSET.L #3,D0 auto action on
- MOVE.W D0,LSPC_MODE_STORE(A5)
- MOVE.W D0,LSPC_MODE
- LEA.L MLWORK1(A5),A6
- MOVE.W #20H,BYTE_FLAG+80H(A5)
- MOVE.W #60H,BYTE_FLAG+82H(A5)
- MOVE.W #16H,REG_D0(A5)
- MOVE.W #16H,REG_D0+2(A5)
- MOVE.W #16H,REG_D0+4(A5)
- MOVE.W #08H,REG_D0+6(A5)
- MOVE.W #08H,REG_D0+8(A5)
- MOVE.W #08H,REG_D0+10(A5)
- JSR.S BASE_MONO_SET
- MOVE.W #FADE_IN+CC_SPEED3,D0
- JSR ALL_COLOR_COM(PC)
- PCHILD WORK_N1,P_EASY,C_KAKUSI,0,0,1,0
- PCHILD WORK_N0,P_EASY,C_OVER_DEMO,160,50H,0,0
- MOVE.W STORY_STAGE(A5),D0
- SUBQ.W #1,D0 BAKADANAA!
- ADD.W KING_MUNE(A5),D0
- ADD.W D0,D0
- MOVE.W D0,D1
- SUBQ.W #3,D0
- SUBQ.W #2,D1
- MOVE.L WIN_PLAYER(A5),A1
- BTST.B #BPS_COM_FLAG,PLAYER_STATE(A1)
- BEQ.S INIT_OVER_DEMO_2
- ADDQ.W #1,D0
- ADDQ.W #1,D1
- INIT_OVER_DEMO_2:
- CMP.W #21,D1 to ending
- BEQ TO_ENDING
- MOVE.B D0,ACT_COUNT(A0)
- ADD.W D1,D1
- ADD.W D1,D1
- MOVE.W D1,LW_D1(A6)
- SEC_TIMER_SET 6,WORD_TIMER
- BSR OVER_MESS_SET
- MOVE.W STORY_STAGE(A5),D0
- ADD.W D0,D0
- MOVE.W OVER_SOUND-4(PC,D0.W),D0
- JSR.S SET_BGM
- STEP_SAVE 1,OVER_DEMO_1
- RTS
- OVER_SOUND:
- DC.W S_1STDEMO
- DC.W S_2STDEMO
- DC.W S_2STDEMO ; bonus
- DC.W S_3STDEMO
- DC.W S_4STDEMO
- DC.W S_4STDEMO ; bonus
- DC.W S_5STDEMO
- DC.W S_6STDEMO
- DC.W S_6STDEMO ; bonus
- DC.W S_7STDEMO
- DC.W S_8STDEMO
- OVER_MESS_SET:
- MOVE.W LW_D1(A6),D0
- MOVE.B OVER_MESS_D(PC,D0.W),D0
- BNE.S OVER_MESS_SET_1
- RTS
- OVER_MESS_SET_1:
- CMP.B #-1,D0
- BEQ.S OVER_MESS_SET_2
- MOVE.W #2,FLAME_COUNT(A5)
- MOVE.W #0,FLAME_TYPE(A5)
- MOVE.W #7000H+20H*3+24,FLAME_POS(A5)
- JSR.S FLAME_WRITED
- MOVE.W LW_D1(A6),D0
- MOVE.B OVER_MESS_D(PC,D0.W),D0
- JSR.S LANG_SET
- OVER_MESS_SET_2:
- SEC_TIMER_SET 2,WORD_TIMER
- ADDQ.W #1,LW_D1(A6)
- RTS
- OVER_MESS_D:
- DC.B 35*3,00*3,00*3,00*3,36*3,37*3,00*3,00*3 1
- DC.B 38*3,00*3,00*3,00*3,39*3,40*3,00*3,00*3 2
- DC.B 00*3,00*3,00*3,00*3,00*3,00*3,00*3,00*3 B
- DC.B 41*3,00*3,00*3,00*3,42*3,00*3,00*3,00*3 3
- DC.B 43*3,00*3,00*3,00*3,45*3,46*3,47*3,00*3 4
- DC.B 44*3,00*3,00*3,00*3,48*3,49*3,50*3,00*3 4M
- DC.B 51*3,00*3,00*3,00*3,52*3,00*3,00*3,00*3 5
- DC.B 53*3,00*3,00*3,00*3,54*3,00*3,00*3,00*3 6
- DC.B 00*3,00*3,00*3,00*3,57*3,00*3,00*3,00*3 B
- DC.B 55*3,56*3,00*3,00*3,57*3,00*3,00*3,00*3 7
- DC.B 58*3,-001,00*3,00*3,58*3,-001,00*3,00*3 8
- OVER_DEMO:
- MOVE.L WIN_PLAYER(A5),A1
- BTST.B #BPS_COM_FLAG,PLAYER_STATE(A1)
- BEQ OVER_DEMO_LOS
- AND.B #11011111B,START_FLAG2(A5)
- OVER_DEMO_LOS:
- EASY_START
- OVER_DEMO_1:
- PAL_WAIT 0DFH
- END_NEXT 2,OVER_DEMO_2
- OVER_DEMO_2:
- BSR OVER_CUT
- SEC_TIMER WORD_TIMER
- BCC.S OVER_DEMO_2_1
- BSR OVER_MESS_SET
- BEQ OVER_DEMO_OUT
- OVER_DEMO_2_1:
- RTS
- OVER_DEMO_OUT:
- MOVE.W #S_FADESPEED_5,D0
- JSR.S SET_BGM
- MOVE.W #FADE_OUT+CC_SPEED3,D0
- JSR ALL_COLOR_COM(PC)
- END_NEXT 3,OVER_DEMO_3
- OVER_DEMO_3:
- PAL_WAIT 0DFH
- SOUND #S_E_DI
- SOUND #S_WAIT2
- SOUND #S_E_EI
- MOVE.L WIN_PLAYER(A5),A1
- BTST.B #BPS_COM_FLAG,PLAYER_STATE(A1)
- BEQ OVER_DEMO_TO_CONT
- OVER_DEMO_OVER:
- MOVE.W #0,ROUND_No(A5)
- MOVE.W #0,SUB_STEP(A5)
- MOVE.B #01110000B,D0
- AND.B PHASE+1(A5),D0
- OR.B #10000111B,D0
- MOVE.B D0,PHASE+1(A5)
- RTS
- TO_ENDING:
- OR.B #10000000B,START_FLAG2(A5)
- MOVE.W #S_BGM_STOP,D0
- JSR.S SET_BGM
- COLOR_COMMAND
- PALETTE 0C0H,24H,PG_SET+FADE_COLOR
- PALETTE_END
- MOVE.B #01110000B,D0
- AND.B PHASE+1(A5),D0
- OR.B #10000000B,D0 in game
- MOVE.B D0,PHASE+1(A5)
- MOVE.W #0,SUB_STEP(A5)
- CLR.B ST_DEMO_ON(A5)
- RTS
- OVER_CUT:
- JSR.S ACTIVE_TRIGER
- AND.B #11110000B,D2
- BNE.S OVER_CUT_1
- RTS
- OVER_CUT_1:
- ADDQ.L #4,SP
- JMP OVER_DEMO_OUT(PC)
- OVER_DEMO_TO_CONT:
- SUBQ.W #1,STORY_STAGE(A5)
- MOVE.W #0,ROUND_No(A5)
- MOVE.W #0,SUB_STEP(A5)
- MOVE.B #01110000B,D0
- AND.B PHASE+1(A5),D0
- OR.B #10000011B,D0
- MOVE.B D0,PHASE+1(A5)
- RTS
- INIT_MOVING_DEMO:
- JSR.S PWORK_INIT
- LEA.L MLWORK1(A5),A6
- CLR.L WINDOW_X(A5)
- CLR.L WINDOW_Y(A5)
- AND.B #01111111B,PHASE+1(A5)
- MOVE.W STORY_STAGE(A5),D0
- ADD.W D0,D0
- LEA.L HERO1(A5),A0
- TST.W STORY_PLAYER(A5)
- BEQ.S IMD_1
- LEA.L HERO2(A5),A0
- IMD_1:
- ADD.W HERO_TYPE(A0),D0
- ADD.W D0,D0
- ADD.W D0,D0
- MOVE.L MOVE_START(PC,D0.W),ADRS1(A6)
- BPL IMD_3
- CLR.B ADRS1(A6)
- RTS
- IMD_3:
- COLOR_COMMAND
- PALETTE 000H,00H,PG_SET+BASE_COLOR
- PALETTE 0F0H,27H,PG_SET+BASE_COLOR
- PALETTE_END
- MESS_ON
- MOVE.L #M_FIX_CLEAR,(A0)+
- MESS_OFF
- OBJ_MAP DEMO_OBJ_MAP
- RTS
- MOVE_START:
- DC.L MOVE_NON,MOVE_NON 0
- DC.L MOVE_NON,MOVE_NON 1
- DC.L MOVE1P_0,MOVE2P_0 2
- DC.L MOVE1P_0,MOVE2P_0 3
- DC.L MAP_0,MAP_0 B1
- DC.L MOVE1P_0,MOVE2P_0 4
- DC.L MOVE1P_0,MOVE2P_0 5
- DC.L MAP_0,MAP_0 B2
- DC.L MOVE1P_0,MOVE2P_0 6
- DC.L MOVE1P_0,MOVE2P_0 7
- DC.L MAP_0,MAP_0 B3
- DC.L MOVE1P_0,MOVE2P_0 8
- DC.L END_0+80000000H,END2_0+80000000H 9
- END_IN:
- JSR BACK2_CENTOR(PC)
- LEA.L MLWORK1(A5),A6
- CLR.L WINDOW_X(A5)
- CLR.L WINDOW_Y(A5)
- MOVE.W #BASE_COLOR,D0
- JSR ALL_COLOR_COM(PC)
- LEA.L HERO1(A5),A0
- TST.W STORY_PLAYER(A5)
- BEQ.S END_IN_1
- LEA.L HERO2(A5),A0
- END_IN_1:
- TST.W HERO_TYPE(A0)
- BNE END2_0
- END_0:
- PCHILD WORK_N1,P_EASY,C_KAKUSI,0,0,1,0
- PCHILD WORK_N0,P_EASY,C_ENDING,0,8,0,0
- MOVE.W #27*3,D0
- MOVE.B #-1,D1
- JMP END_0_1(PC)
- END2_0:
- PCHILD WORK_N1,P_EASY,C_KAKUSI,0,0,1,0
- PCHILD WORK_N0,P_EASY,C_ENDING,0,8,0,0
- MOVE.W #28*3,D0 imo
- MOVE.B #-1,D1
- END_0_1:
- MOVE.W #0,FLAME_TYPE(A5)
- MOVE.W #3,FLAME_END(A5)
- MOVE.W #7000H+20H*3+24,FLAME_POS(A5)
- LEA.L END_DATA(PC),A1
- MOVE.L A1,ADRS2(A6)
- BSR END_SERIF
- BRA END_0_21
- END_0_2:
- MOVE.L A1,ADRS2(A6)
- BSR END_SERIF
- BSR ALL_FADE_IN
- END_0_21:
- SEC_TIMER_SET 1,WORD_TIMER
- END_0_3:
- END_NEXT 1,END_1
- END_1:
- SEC_TIMER WORD_TIMER
- NEXT_CHECK BCS,2,END_2
- MOVE.L ADRS2(A6),A1
- MOVE.B 3(A1),D0
- CMP.B -1(A1),D0
- BNE END_1_1
- MOVE.W (A1)+,D0
- MOVE.W (A1)+,D1
- MOVE.L A1,ADRS2(A6)
- BSR END_SERIF
- SEC_TIMER_SET 2,WORD_TIMER
- BRA END_0_3
- END_1_1:
- BSR ALL_FADE_OUT
- RTS
- END_2:
- PAL_WAIT 0DFH
- MOVE.L ADRS2(A6),A1
- MOVE.W (A1)+,D0
- BEQ INIT_STAFF
- MOVE.W (A1)+,D1
- JMP END_0_2(PC)
- INIT_STAFF:
- SUB_WORK WORK_N0,A0,0
- CLR.W TYPE(A0)
- SUB_WORK WORK_N1,A0,0
- CLR.W TYPE(A0)
- ; MOVE.W #S_ENDING,D0
- ; JSR.S SET_BGM
- ;
- MOVE.L ADRS2(A6),A1
- ADDQ.L #2,A1
- MOVE.W (A1)+,D0
- END_STAFF_1:
- MOVE.L A1,ADRS2(A6)
- BSR STAF_SET
- BSR FIX_FADE_IN
- SEC_TIMER_SET 3,WORD_TIMER
- END_NEXT 2,END_STAFF_2
- END_STAFF_2:
- SEC_TIMER WORD_TIMER
- NEXT_CHECK BCS,3,END_STAFF_3
- BSR FIX_FADE_OUT
- RTS
- END_STAFF_3:
- PAL_WAIT 00FH
- MOVE.L ADRS2(A6),A1
- MOVE.W (A1)+,D0
- BNE END_STAFF_1
- END_STAFF_END:
- MOVE.W #21H,D0
- BSR STAF_SET
- BSR FIX_FADE_IN
- SEC_TIMER_SET 6,WORD_TIMER
- END_NEXT 5,END_STAFF_5
- END_STAFF_5:
- SEC_TIMER WORD_TIMER
- NEXT_CHECK BCS,6,END_STAFF_6
- BSR FIX_FADE_OUT
- RTS
- END_STAFF_6:
- PAL_WAIT 00FH
- MOVEQ.L #01110000B,D0
- AND.B PHASE+1(A5),D0
- OR.B #43H,D0
- MOVE.B D0,PHASE+1(A5)
- RTS
- END_DATA:
- DC.W 29*3,0
- DC.W 30*3,1
- DC.W 31*3,-1
- DC.W 32*3,-1,0
- ; DC.W 33*3,1
- ; DC.W 34*3,0,0
- DC.W 22H
- DC.W 18H
- DC.W 19H
- DC.W 1AH
- DC.W 1BH
- DC.W 1CH
- DC.W 1DH
- DC.W 1EH
- DC.W 1FH
- DC.W 20H
- DC.W 0
- STAF_SET:
- MESS_ON
- MOVE.L #M_FIX_CLEAR,(A0)+
- JSR.S MESS_SET_INNER
- MESS_OFF
- RTS
- END_SERIF:
- MOVE.W D0,REG_D0(A5)
- SUB_WORK WORK_N0,A0,0
- MOVE.B D1,ACT_COUNT(A0)
- MOVE.B #-1,ACT_TIMER(A0)
- MOVE.B #1,ACT_DEC(A0)
- BCLR.B #ACTAT_KEEP,ACT_ATTR(A0)
- MOVE.W #2,FLAME_COUNT(A5)
- JSR.S FLAME_WRITED
- MOVE.W REG_D0(A5),D0
- JSR.S LANG_SET
- RTS
- ALL_COLOR_COM2:
- MOVE.L A1,-(SP)
- LEA.L AC_PAL2(PC),A1
- MOVEQ.L #8-1,D7
- BRA.S ACC_1
- ALL_FADE_IN:
- MOVE.W #FADE_IN+CC_SPEED3,D0
- BRA ALL_COLOR_COM
- ALL_FADE_OUT:
- MOVE.W #FADE_OUT+CC_SPEED3,D0
- ALL_COLOR_COM:
- MOVE.L A1,-(SP)
- LEA.L AC_PAL(PC),A1
- MOVEQ.L #8-1,D7
- ACC_1:
- MOVEQ.L #16-1,D6
- MOVE.L (A1)+,A0
- ACC_2:
- MOVE.W D0,(A0)
- LEA.L 20H(A0),A0
- DBRA D6,ACC_2
- DBRA D7,ACC_1
- MOVE.B #1,COLOR_STATE(A5)
- MOVE.L (SP)+,A1
- RTS
- AC_PAL2:
- DC.L COLOR_BUFFER+20H*000H
- DC.L COLOR_BUFFER+20H*020H
- DC.L COLOR_BUFFER+20H*030H
- DC.L COLOR_BUFFER+20H*040H
- DC.L COLOR_BUFFER+20H*080H
- DC.L COLOR_BUFFER+20H*090H
- DC.L COLOR_BUFFER+20H*0C0H
- DC.L COLOR_BUFFER+20H*0D0H
- AC_PAL:
- DC.L COLOR_BUFFER+20H*000H
- DC.L COLOR_BUFFER+20H*020H
- DC.L COLOR_BUFFER+20H*030H
- DC.L COLOR_BUFFER+20H*040H
- DC.L COLOR_BUFFER+20H*050H
- DC.L COLOR_BUFFER+20H*080H
- DC.L COLOR_BUFFER+20H*090H
- DC.L COLOR_BUFFER+20H*0D0H
- FIX_FADE_OUT:
- COLOR_COMMAND
- PALETTE 000H,00H,PG_SET+FADE_OUT+CC_SPEED1
- PALETTE_END
- RTS
- FIX_FADE_IN:
- COLOR_COMMAND
- PALETTE 000H,00H,PG_SET+FADE_IN+CC_SPEED1
- PALETTE_END
- RTS
- MOVING_DEMO:
- AND.B #11011111B,START_FLAG2(A5)
- LEA.L MLWORK1(A5),A6
- EASY_START
- MOVE1P_0:
- JSR IDOU_SOUND(PC)
- SOUND #S_HARREY
- BSR MOVE_BACK_SET
- END_NEXT 1,MOVE1P_1
- MOVE1P_1:
- BSR MOVE_CUT
- BSR MOVE_BACK_BIG
- NEXT_CHECK BEQ,101,MOVE1P_101
- MOVE.W #60,WORD_TIMER(A6)
- RTS
- MOVE1P_101:
- BSR MOVE_CUT
- SUBQ.W #1,WORD_TIMER(A6)
- NEXT_CHECK BEQ,2,MOVE1P_2
- PCHILD WORK_N2,P_EASY,C_MOVE_BIKE,320,77,2,0
- BSET.B #ACTAT_CUT,ACT_ATTR(A0)
- RTS
- MOVE1P_2:
- BSR MOVE_CUT
- SUB_WORK WORK_N2,A0,0
- SUB.W #8,X_POSITION(A0)
- CMP.W #10H,X_POSITION(A0)
- NEXT_CHECK BEQ,21,MOVE1P_21
- SOUND #S_ENJIN8
- RTS
- MOVE1P_21:
- BSR MOVE_CUT
- SUB_WORK WORK_N2,A0,0
- ADD.W #2,X_POSITION(A0)
- CMP.W #50H,X_POSITION(A0)
- NEXT_CHECK BEQ,3,MOVE1P_3
- ; SOUND #S_ENJIN8
- PCHILD WORK_N3,P_EASY,C_MOVE_1P,248,0B8H,3,0
- MOVEQ.L #0,D1
- BSR MOVE_FACE
- MOVE.W #0,FLAME_COUNT(A5)
- MOVE.W #1,FLAME_TYPE(A5)
- MOVE.W #7000H+20H*3+8,FLAME_POS(A5)
- MOVE.W #3,FLAME_END(A5)
- RTS
- MOVE1P_3:
- BSR MOVE_CUT
- JSR.S FLAME_WRITE
- NEXT_CHECK BEQ,4,MOVE1P_4
- MOVEQ.L #0,D1
- BSR MOVE_MESS_GET
- JSR.S LANG_SET
- SEC_TIMER_SET 3,WORD_TIMER
- MOVEQ.L #1,D1
- BSR MOVE_MESS_GET
- BEQ.S MOVE1P_3_1
- MOVE.B #1,WORD_TIMER(A6)
- MOVE1P_3_1:
- RTS
- MOVE1P_4:
- BSR MOVE_CUT
- SEC_TIMER WORD_TIMER
- NEXT_CHECK BCS,5,MOVE1P_5
- MOVE.W #0,FLAME_END(A5)
- RTS
- MOVE1P_5:
- BSR MOVE_CUT
- JSR.S FLAME_CLR
- NEXT_CHECK BEQ,6,MOVE1P_6
- MOVEQ.L #1,D1
- BSR MOVE_MESS_GET
- BEQ SET_MOVE1P_9
- MOVE.W #0,FLAME_COUNT(A5)
- MOVE.W #1,FLAME_TYPE(A5)
- MOVE.W #7000H+20H*3+8,FLAME_POS(A5)
- MOVE.W #3,FLAME_END(A5)
- RTS
- MOVE1P_6:
- BSR MOVE_CUT
- JSR.S FLAME_WRITE
- NEXT_CHECK BEQ,7,MOVE1P_7
- MOVEQ.L #1,D1
- BSR MOVE_MESS_GET
- JSR.S LANG_SET
- SEC_TIMER_SET 1,WORD_TIMER
- RTS
- MOVE1P_7:
- BSR MOVE_CUT
- SEC_TIMER WORD_TIMER
- NEXT_CHECK BCS,8,MOVE1P_8
- MOVE.W #0,FLAME_END(A5)
- RTS
- MOVE1P_8:
- BSR MOVE_CUT
- JSR.S FLAME_CLR
- NEXT_CHECK BEQ,9,MOVE1P_9
- ;SET_MOVE1P_9:
- SOUND #S_HARREY
- MOVE.W #76,WORD_TIMER(A6)
- RTS
- MOVE1P_9:
- BSR MOVE_CUT
- SUBQ.W #1,WORD_TIMER(A6)
- NEXT_CHECK BEQ,102,MOVE1P_102
- RTS
- MOVE1P_102:
- BSR MOVE_CUT
- BSR PAKU_CLOSE
- SUB_WORK WORK_N2,A0,0
- SUB.W #8,X_POSITION(A0)
- CMP.W #-90H,X_POSITION(A0)
- NEXT_CHECK BLE,11,MOVE1P_11
- CLR.W TYPE(A0)
- RTS
- MOVE1P_11:
- BSR MOVE_CUT
- BSR MOVE_BACK_SMALL
- NEXT_CHECK BCS,0,MAP_0
- ;SET_MAP_0:
- JSR.S PWORK_INIT
- MESS_ON
- MOVE.L #M_FIX_CLEAR,(A0)+
- MESS_OFF
- LEA.L MLWORK1(A5),A6
- RTS
- MOVE2P_0:
- JSR IDOU_SOUND(PC)
- SOUND #S_FERA
- BSR MOVE_BACK_SET
- END_NEXT 1,MOVE2P_1
- MOVE2P_1:
- BSR MOVE_CUT
- BSR MOVE_BACK_BIG
- NEXT_CHECK BEQ,101,MOVE2P_101
- MOVE.W #80,WORD_TIMER(A6)
- RTS
- MOVE2P_101:
- BSR MOVE_CUT
- SUBQ.W #1,WORD_TIMER(A6)
- NEXT_CHECK BEQ,2,MOVE2P_2
- PCHILD WORK_N2,P_EASY,C_MOVE_CAR,320,77,2,0
- BSET.B #ACTAT_CUT,ACT_ATTR(A0)
- RTS
- MOVE2P_2:
- BSR MOVE_CUT
- SUB_WORK WORK_N2,A0,0
- SUB.W #8,X_POSITION(A0)
- CMP.W #10H,X_POSITION(A0)
- NEXT_CHECK BEQ,21,MOVE2P_21
- SOUND #S_ENJIN
- RTS
- MOVE2P_21:
- BSR MOVE_CUT
- SUB_WORK WORK_N2,A0,0
- ADD.W #1,X_POSITION(A0)
- CMP.W #30H,X_POSITION(A0)
- NEXT_CHECK BEQ,3,MOVE2P_3
- ; SOUND #S_ENJIN
- PCHILD WORK_N3,P_EASY,C_MOVE_2P,248,0B8H,3,0
- MOVEQ.L #1,D1
- BSR MOVE_FACE
- MOVE.W #0,FLAME_COUNT(A5)
- MOVE.W #1,FLAME_TYPE(A5)
- MOVE.W #7000H+20H*3+8,FLAME_POS(A5)
- MOVE.W #3,FLAME_END(A5)
- RTS
- MOVE2P_3:
- BSR MOVE_CUT
- JSR.S FLAME_WRITE
- NEXT_CHECK BEQ,4,MOVE2P_4
- MOVEQ.L #2,D1
- BSR MOVE_MESS_GET
- JSR.S LANG_SET
- SEC_TIMER_SET 3,WORD_TIMER
- MOVEQ.L #3,D1
- BSR MOVE_MESS_GET
- BEQ.S MOVE2P_3_1
- MOVE.B #1,WORD_TIMER(A6)
- MOVE2P_3_1:
- RTS
- MOVE2P_4:
- BSR MOVE_CUT
- SEC_TIMER WORD_TIMER
- NEXT_CHECK BCS,5,MOVE2P_5
- MOVE.W #0,FLAME_END(A5)
- RTS
- MOVE2P_5:
- BSR MOVE_CUT
- JSR.S FLAME_CLR
- NEXT_CHECK BEQ,6,MOVE2P_6
- MOVEQ.L #3,D1
- BSR MOVE_MESS_GET
- BEQ SET_MOVE2P_9
- MOVE.W #0,FLAME_COUNT(A5)
- MOVE.W #1,FLAME_TYPE(A5)
- MOVE.W #7000H+20H*3+8,FLAME_POS(A5)
- MOVE.W #3,FLAME_END(A5)
- RTS
- MOVE2P_6:
- BSR MOVE_CUT
- JSR.S FLAME_WRITE
- NEXT_CHECK BEQ,7,MOVE2P_7
- MOVEQ.L #3,D1
- BSR MOVE_MESS_GET
- JSR.S LANG_SET
- SEC_TIMER_SET 1,WORD_TIMER
- RTS
- MOVE2P_7:
- BSR MOVE_CUT
- SEC_TIMER WORD_TIMER
- NEXT_CHECK BCS,8,MOVE2P_8
- MOVE.W #0,FLAME_END(A5)
- RTS
- MOVE2P_8:
- BSR MOVE_CUT
- JSR.S FLAME_CLR
- NEXT_CHECK BEQ,9,MOVE2P_9
- ;SET_MOVE2P_9:
- SOUND #S_FERA
- MOVE.W #106,WORD_TIMER(A6)
- RTS
- MOVE2P_9:
- BSR MOVE_CUT
- SUBQ.W #1,WORD_TIMER(A6)
- NEXT_CHECK BEQ,102,MOVE2P_102
- RTS
- MOVE2P_102:
- BSR MOVE_CUT
- BSR PAKU_CLOSE
- SUB_WORK WORK_N2,A0,0
- SUB.W #8,X_POSITION(A0)
- CMP.W #-0E0H,X_POSITION(A0)
- NEXT_CHECK BLE,11,MOVE2P_11
- CLR.W TYPE(A0)
- RTS
- MOVE2P_11:
- BSR MOVE_CUT
- BSR MOVE_BACK_SMALL
- BCS SET_MAP_0
- RTS
- MAP_0:
- JSR IDOU_SOUND(PC)
- PCHILD WORK_N0,P_EASY,C_MAP,20H,098H,0,0
- MOVE.B #0FH,BIG_Y(A0)
- BSET.B #ACTAT_ERACE,ACT_ATTR(A0)
- END_NEXT 1,MAP_1
- MAP_1:
- ; BSR MAP_CUT
- ;
- SUB_WORK WORK_N0,A0,0
- ADD.B #10H,BIG_Y(A0)
- CMP.B #0FFH,BIG_Y(A0)
- NEXT_CHECK BEQ,2,MAP_2
- BSR MAP_CALL
- PCHILD WORK_N1,P_EASY,C_MAP,0,0,1,0
- LEA.L MAP_CH(PC),A1
- MOVE.W STORY_STAGE(A5),D0
- MOVE.B 0(A1,D0.W),ACT_COUNT(A0)
- SEC_TIMER_SET 2,WORD_TIMER
- RTS
- MAP_2:
- BSR MAP_CUT
- BSR MAP_SOUND
- SEC_TIMER WORD_TIMER
- NEXT_CHECK BCS,3,MAP_3
- ;SET_MAP_3:
- COLOR_COMMAND
- PALETTE 0F0H,27H,PG_SET+FADE_OUT+CC_SPEED1
- PALETTE_END
- RTS
- MAP_3:
- BSR MAP_SOUND
- PAL_WAIT 0FFH
- SOUND #S_E_DI
- SOUND #S_WAIT2
- SOUND #S_E_EI
- JSR.S PWORK_INIT
- MOVE_NON:
- MOVE.B #01110000B,D0
- AND.B PHASE+1(A5),D0
- OR.B #10000000B,D0 in game
- MOVE.B D0,PHASE+1(A5)
- MOVE.W #0,SUB_STEP(A5)
- RTS
- ;
- ; 移動デモのBGMをならす
- ;
- IDOU_SOUND:
- MOVE.W #S_IDOU,D0
- CMP.W #0BH,STORY_STAGE(A5) ; 最終面の手前なら
- BNE.S IDOU_SOUND_1
- MOVE.W #S_IDOU_END,D0 ; S_IDOU_END
- IDOU_SOUND_1:
- JSR.S SET_BGM
- RTS
- MAP_SOUND:
- MOVE.W MAIN_COUNT+2(A5),D0
- AND.W #1FH,D0
- BNE.S MAP_SOUND_1
- SOUND #S_MAP
- MAP_SOUND_1:
- RTS
- MAP_CALL:
- MOVE.W STORY_STAGE(A5),D0
- ADD.W D0,D0
- MOVE.W MAP_CALL_D(PC,D0.W),D0
- JSR.S SET_SOUND
- RTS
- MAP_CALL_D:
- DC.W S_SEAN_1 0
- DC.W S_SEAN_1 1
- DC.W S_SEAN_2 2
- DC.W S_WAIT1 3
- DC.W S_SEAN_3 B
- DC.W S_SEAN_4 4
- DC.W S_WAIT1 5
- DC.W S_SEAN_5 B
- DC.W S_SEAN_6 6
- DC.W S_WAIT1 7
- DC.W S_SEAN_7 B
- DC.W S_SEAN_8 8
- DC.W S_SEAN_8 8
- MAP_CUT:
- JSR.S ACTIVE_TRIGER
- AND.B #11110000B,D2
- BEQ.S MAP_CUT_1
- ADDQ.L #4,SP
- JMP SET_MAP_3
- MAP_CUT_1:
- RTS
- MAP_CH:
- DC.B 0,0,2,16
- DC.B 4,6,16
- DC.B 8,10,16
- DC.B 12,14,16,0
- EVEN
- MOVE_FACE:
- MOVE.W STORY_STAGE(A5),D0
- ADD.W D0,D0
- ADD.W D0,D1
- MOVE.B FACE_DATA(PC,D0.W),ACT_COUNT(A0)
- BSET.B #ACTAT_ERACE,ACT_ATTR(A0)
- RTS
- FACE_DATA:
- DC.B -1,-1 0
- DC.B -1,-1 1
- DC.B -1,-1 2
- DC.B 00,-1 3
- DC.B 00,00 B
- DC.B 00,00 4
- DC.B -1,-1 5
- DC.B 00,-1 B
- DC.B 00,-1 6
- DC.B 00,00 7
- DC.B -1,-1 B
- DC.B -1,-1 8
- DC.B -1,-1 9
- PAKU_CLOSE:
- SUB_WORK WORK_N3,A0,0
- TST.W TYPE(A0)
- BEQ.S PAKU_CLOSE_1
- SUB.W #4,X_POSITION(A0)
- SUB.W #2,Y_POSITION(A0)
- SUB.B #10H,BIG_X(A0)
- SUB.B #10H,BIG_Y(A0)
- CMP.B #0FH,BIG_X(A0)
- BNE.S PAKU_CLOSE_1
- CLR.W TYPE(A0)
- PAKU_CLOSE_1:
- RTS
- MOVE_CUT:
- JSR.S ACTIVE_TRIGER
- AND.B #11110000B,D2
- BEQ.S MOVE_BACK_MOVE
- ADDQ.L #4,SP
- SOUND #S_E_DI
- SOUND #S_WAIT2
- SOUND #S_WAIT2
- SOUND #S_E_EI
- JMP SET_MAP_0(PC)
- MOVE_BACK_MOVE:
- SUB_WORK WORK_N0,A0,0
- SUB_WORK WORK_N1,A1,0
- ADD.W #5,X_POSITION(A0)
- ADD.W #13,X_POSITION(A1)
- RTS
- MOVE_BACK_BIG:
- ADD.B #10H,BIG_Y(A0)
- ADD.B #10H,BIG_Y(A1)
- CMP.B #0FFH,BIG_Y(A1)
- RTS
- MOVE_BACK_SMALL:
- SUB.B #10H,BIG_Y(A0)
- SUB.B #10H,BIG_Y(A1)
- RTS
- MOVE_BACK_SET:
- PCHILD WORK_N0,P_EASY,C_MOVE_BACK,0,128,0,0
- MOVE.B #0FH,BIG_Y(A0)
- BSET.B #ACTAT_ERACE,ACT_ATTR(A0)
- PCHILD WORK_N1,P_EASY,C_MOVE_BACK,0,128,1,0
- MOVE.B #0FH,BIG_Y(A0)
- BSET.B #ACTAT_ERACE,ACT_ATTR(A0)
- MOVE.B #0,ACT_COUNT(A0)
- RTS
- MOVE_MESS_GET:
- MOVE.W STORY_STAGE(A5),D0
- ADD.W D0,D0
- ADD.W D0,D0
- ADD.W D1,D0
- MOVE.B MOVE_MESS(PC,D0.W),D0
- RTS
- MOVE_MESS:
- DC.B 00*3,00*3 0
- DC.B 00*3,00*3
- DC.B 00*3,00*3 1
- DC.B 00*3,00*3
- DC.B 05*3,00*3 1-2
- DC.B 16*3,00*3
- DC.B 06*3,07*3 2-B1
- DC.B 17*3,18*3
- DC.B 00*3,00*3 B1-3
- DC.B 00*3,00*3
- DC.B 08*3,09*3 3-4
- DC.B 19*3,20*3
- DC.B 10*3,00*3 4-B2
- DC.B 21*3,00*3
- DC.B 00*3,00*3 B2-5
- DC.B 00*3,00*3
- DC.B 11*3,12*3 5-6
- DC.B 22*3,23*3
- DC.B 13*3,14*3 6-B3
- DC.B 24*3,25*3
- DC.B 00*3,00*3 B3-7
- DC.B 00*3,00*3
- DC.B 15*3,00*3 7-8
- DC.B 26*3,00*3
- DC.B 00*3,00*3 8-
- DC.B 00*3,00*3
- INCLUDE WORK.INC
|