Sorry if this is a stupid question,
I was trying to fix up Sonic 2 before I make any kind of hack of it, and one of the bugs was the broken one way barrier in Chemical Plant and Death Egg. I spent a while on it and believe I'm stuck.
It says here that the object subtype of the barrier should be $02 and not $00 (for Nemesis art decompression I presume) :
https://tcrf.net/Son...ehog_2_(Genesis)#CPZ.2FDEZ_Door
The problem is that I cannot find that subtype property anywhere :
; ===========================================================================
; loc_116AC:
Obj2D_Init:
addq.b #2,routine(a0)
move.l #Obj2D_MapUnc_11822,mappings(a0)
move.w #make_art_tile(ArtTile_ArtNem_HtzValveBarrier,1,0),art_tile(a0)
move.b #8,width_pixels(a0)
cmpi.b #metropolis_zone,(Current_Zone).w
beq.s +
cmpi.b #metropolis_zone_2,(Current_Zone).w
bne.s ++
+
move.w #make_art_tile(ArtTile_ArtKos_LevelArt,3,0),art_tile(a0)
move.b #$C,width_pixels(a0)
+
cmpi.b #chemical_plant_zone,(Current_Zone).w
bne.s +
move.w #make_art_tile(ArtTile_ArtNem_ConstructionStripes_2,1,0),art_tile(a0)
move.b #8,width_pixels(a0)
+
cmpi.b #death_egg_zone,(Current_Zone).w
bne.s +
move.w #make_art_tile(ArtTile_ArtNem_ConstructionStripes_1,1,0),art_tile(a0)
move.b #8,width_pixels(a0)
+
cmpi.b #aquatic_ruin_zone,(Current_Zone).w
bne.s +
move.w #make_art_tile(ArtTile_ArtNem_ARZBarrierThing,1,0),art_tile(a0)
move.b #8,width_pixels(a0)
+
bsr.w Adjust2PArtPointer
ori.b #4,render_flags(a0)
move.b #4,priority(a0)
move.w y_pos(a0),objoff_32(a0)
move.b subtype(a0),mapping_frame(a0)
move.w x_pos(a0),d2
move.w d2,d3
subi.w #$200,d2
addi.w #$18,d3
btst #0,status(a0)
beq.s +
subi.w #-$1E8,d2
addi.w #$1E8,d3
+
move.w d2,objoff_38(a0)
move.w d3,objoff_3A(a0)
; loc_1175E:
Obj2D_Main:
btst #0,status(a0)
bne.s +
move.w objoff_38(a0),d2
move.w x_pos(a0),d3
tst.b routine_secondary(a0) ; check if barrier is moving up
beq.s ++
move.w objoff_3A(a0),d3
bra.s ++
; ===========================================================================
I tried changing zeroes to twos here and there (even in the object's hex file), changing the position of some lines of code, but all it did was either change the palette, glitch up the graphics of the barrier, or freeze completely going down the slope at the beginning of CPZ2 (because the barrier loads in that area). I don't see any disassembly notes about fixing the barrier either, whereas other glitches are described in detail in the disasm.
I'm very new to assembly, so excuse me if the answer is super obvious.