I recently put the Tails flight on Sonic 2 thanks to this guide:http://sonicresearch.org/community/...ut-sonic-3-flight-in-sonic-2.5429/#post-79729 But now I want to make the Tails load Sonic, as in Sonic 3, I tried to port following this topic of Hitaxas:http://forums.sonicretro.org/index.php?showtopic=14066 I have 3 problems. 1.Tails and Sonic do not display their animations. 2. The game hangs at the moment the Tails loads Sonic 3.Tails instead of loading the Sonic, it only lasts for 2 seconds and then releases. Here is the code. Code: Tails_Carry_Sonic: tst.b (a2) beq.w loc_14534 cmpi.b #4,routine(a1) bcc.w loc_14466 btst #1,Status(a1) beq.w loc_1445A move.w ($FFFFF300).w,d1 cmp.w x_vel(a1),d1 bne.s loc_1445A move.w ($FFFFF400).w,d1 cmp.w y_vel(a1),d1 bne.s loc_14460 tst.b obj_control(a1) bmi.s loc_1446A andi.b #$70,d0 beq.w loc_14474 clr.b obj_control(a1) clr.b (a2) move.b #$12,1(a2) andi.w #$F00,d0 beq.w loc_14410 move.b #$3C,1(a2) loc_14410: ; CODE XREF: Tails_Carry_Sonic+4Cj btst #$A,d0 beq.s loc_1441C move.w #-$200,x_vel(a1) loc_1441C: ; CODE XREF: Tails_Carry_Sonic+5Aj btst #$B,d0 beq.s loc_14428 move.w #$200,x_vel(a1) loc_14428: ; CODE XREF: Tails_Carry_Sonic+66j move.w #-$380,y_vel(a1) bset #1,Status(a1) move.b #1,jumping(a1) move.b #$E,y_radius(a1) move.b #7,x_radius(a1) move.b #2,anim(a1) bset #2,Status(a1) bclr #4,Status(a1) rts ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_1445A: ; CODE XREF: Tails_Carry_Sonic+16j ; Tails_Carry_Sonic+22j move.w #-$100,y_vel(a1) loc_14460: ; CODE XREF: Tails_Carry_Sonic+2Cj move.b #0,jumping(a1) loc_14466: ; CODE XREF: Tails_Carry_Sonic+Cj clr.b obj_control(a1) loc_1446A: ; CODE XREF: Tails_Carry_Sonic+32j clr.b (a2) move.b #$3C,1(a2) rts ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_14474: ; CODE XREF: Tails_Carry_Sonic+38j move.w x_pos(a0),x_pos(a1) move.w y_pos(a0),y_pos(a1) addi.w #$1C,y_pos(a1) loc_14492: ; CODE XREF: Tails_Carry_Sonic+D0j andi.b #-4,render_flags(a1) andi.b #-2,Status(a1) move.b Status(a0),d0 andi.b #1,d0 or.b d0,render_flags(a1) or.b d0,Status(a1) loc_144BA: ; CODE XREF: Tails_Carry_Sonic+F8j subq.b #1,anim_frame_duration(a1) bpl.s loc_144F8 move.b #$B,anim_frame_duration(a1) moveq #0,d1 move.b anim_frame(a1),d1 addq.b #1,anim_frame(a1) move.b byte_14522(pc,d1.w),d0 cmpi.b #-1,d0 bne.s loc_144E4 move.b #0,anim_frame(a1) move.b byte_14522(pc),d0 loc_144E4: ; CODE XREF: Tails_Carry_Sonic+11Ej move.b d0,mapping_frame(a1) moveq #0,d0 move.b mapping_frame(a1),d0 move.l a2,-(sp) jsr Tails_Carry_LoadPLC movea.l (sp)+,a2 loc_144F8: ; CODE XREF: Tails_Carry_Sonic+104j move.w x_vel(a0),($FFFFB018).w move.w x_vel(a0),($FFFFF300).w move.w y_vel(a0),($FFFFB01A).w move.w y_vel(a0),($FFFFF400).w movem.l d0-a6,-(sp) lea (Maincharacter).w,a0 bsr.w Sonic_DoLevelCollision movem.l (sp)+,d0-a6 rts ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ byte_14522: dc.b $91 ; DATA XREF: Tails_Carry_Sonic+126t dc.b $91 dc.b $90 dc.b $90 dc.b $90 dc.b $90 dc.b $90 dc.b $90 dc.b $92 dc.b $92 dc.b $92 dc.b $92 dc.b $92 dc.b $92 dc.b $91 dc.b $91 dc.b $FF dc.b 0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_14534: ; CODE XREF: Tails_Carry_Sonic+2j tst.b 1(a2) beq.s loc_14542 subq.b #1,1(a2) bne.w locret_1459C loc_14542: ; CODE XREF: Tails_Carry_Sonic+17Ej move.w x_pos(a1),d0 sub.w x_pos(a0),d0 addi.w #$10,d0 cmpi.w #$20,d0 bcc.w locret_1459C move.w y_pos(a1),d1 sub.w y_pos(a0),d1 subi.w #$20,d1 loc_1456C: ; CODE XREF: Tails_Carry_Sonic+1ACj cmpi.w #$10,d1 bcc.w locret_1459C tst.b obj_control(a1) bne.s locret_1459C cmpi.b #4,routine(a1) bcc.s locret_1459C tst.w (Debug_placement_mode).w bne.s locret_1459C tst.b Spindash_flag(a1) bne.s locret_1459C bsr.s sub_1459E moveq #$4A,d0 jsr (Play_Sound_2).l move.b #1,(a2) locret_1459C: ; CODE XREF: Tails_Carry_Sonic+184j ; Tails_Carry_Sonic+198j ... rts ; End of function Tails_Carry_Sonic ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_1459E: ; CODE XREF: ROM:00013FEAp ; ROM:000140F6p ... clr.w x_vel(a1) clr.w y_vel(a1) clr.w inertia(a1) clr.w anim(a1) move.w x_pos(a0),x_pos(a1) move.w y_pos(a0),y_pos(a1) addi.w #$1C,y_pos(a1) move.w #$2200,anim(a1) move.b #0,anim_frame_duration(a1) move.b #0,anim_frame(a1) move.b #3,obj_control(a1) bset #1,Status(a1) bclr #4,Status(a1) move.b #0,spindash_flag(a1) andi.b #-4,render_flags(a1) andi.b #-2,Status(a1) move.b Status(a0),d0 andi.b #1,d0 or.b d0,render_flags(a1) or.b d0,Status(a1) move.w x_vel(a0),($FFFFF300).w move.w x_vel(a0),x_vel(a1) move.w y_vel(a0),($FFFFF400).w move.w y_vel(a0),y_vel(a1) eori.b #2,render_flags(a1) locret_14630: ; CODE XREF: sub_1459E+84j rts ; End of function sub_1459E
Nice work as always Trakinas! Your tutorials are as excellent as always, such high quality and well researched informationals! Will you next tutoral be about ban dodging? Can't wait for your next amazing tutoral, it will be great to see in the thrash can. Was able to make tails flail very good, now just need flicky
Wow, you couldn't make it so more obvious if you tried, Trakinas... Oh and we knew about this second account of yours for a while, we just wanted to see if you'd bite. Get the fuck out and stay out. And don't even try making another validation thread, I'm sure you made so many recently anyway, you just got lucky...