Okay then two queries: 1. Does anyone know a good resource for restoring the Wood Zone in Sonic 2 (eg. assets, tutorial, level editor files)? 2. I'm trying to make an object that, when the player touches it, they get propelled upward. Right now the only way I've managed to get this running is by giving it enemy collision and turning off its ability to harm the player, though even this isn't exactly optimised since there's still other elements that interact with the enemy coding and it also means the propel level is based on the player holding jump button if they land on it the wrong way. Is there a better way of going about this? (For reference here is the object routine, it is my own crude work so I don't really mind if anyone steals it, their funeral. :P) Code (Text): ObjE4: moveq #0,d0 move.b routine(a0),d0 move.w off_ObjE4(pc,d0.w),d1 jmp off_ObjE4(pc,d1.w) ; =========================================================================== off_ObjE4: dc.w ObjE4_Init-off_ObjE4 dc.w ObjE4_Main-off_ObjE4; 2 ; =========================================================================== ObjE4_Init: addq.b #2,routine(a0) move.l #ObjE4_Mappings,mappings(a0) move.b #4,render_flags(a0) move.w #0,art_tile(a0) jsr (Adjust2PArtPointer).l move.b #$2,priority(a0) move.b #$20,width_pixels(a0) move.b #$4,y_radius(a0) ; $A move.b #9,collision_flags(a0) ObjE4_Main: moveq #0,d0 ; clear d0 move.w $8(a0),d0 ; load block's X-pos to d0 sub.w (MainCharacter+$8).w,d0 ; substract Amy's X-pos from it bpl.s ObjE4_XPositive ; if answer is positive, branch neg.w d0 ; otherwise negate d0 ObjE4_XPositive: cmpi.w #$20,d0 ; is Amy within 25 pixels of the object (X-axis)? bge.s ObjE4_RTS ; if not, branch moveq #0,d0 ; clear d0 move.w $C(a0),d0 ; load block's Y-pos to d0 sub.w (MainCharacter+$C).w,d0 ; substract Amy's Y-pos from it bpl.s ObjE4_YPositive ; if answer is positive, branch neg.w d0 ; otherwise negate d0 ObjE4_YPositive: cmpi.w #$20,d0 ; is Amy within 25 pixels of the object (Y-axis)? bne.s ObjE4_RTS ; if not, branch move.b #1,anim(a0) ; =========================================================================== ObjE4_RTS: lea (Ani_Fountain).l,a1 jsr AnimateSprite jmp DisplaySprite The code to move the player upward is then listed in the Touch_Enemy routine.