********** CLIPPING AND FOREGROUND ********** This section covers how sprites interact with tiles in a level; clipping is given to sprites when they are created and can be changed occasionally, say if they are shot. Clipping alteration is pretty simple; it can take values between 0-2; and 'foreground behavior' controlls whether a sprite appears in front of Keen or behind him and such. (Values between 0-3) Sprites will pass through tiles if their clipping is set to 0, but will hit them if it is 2. If it is 1 then they will hit tiles, but will not be pushed out of them if they get 'inside' by accident. However you will notice most sprites aren't given a clipping at all, this is because they use standard 'look for walls' code and so don't actually need clipping as such. The forground behavior is either 0 (Go behind everything) 2 (Go in front of Keen and tiles) or 3 (Go in front of everything, including foreground tiles.) Foreground affects only sprite-tile interaction, a sprite that is spawned first will appear in front of one spawned later, no matter what foreground property it has. (Sprites on the top left of a level are spawned before those lower or right of them.) Some sprite collision properties are incompatible with some clippings. For example, Slicestars will give a 'fullcliptowall' error if they have clipping = 2 and hit a wall. Following is a list of sprites complete with their clipping, followed by a list of sprites and their foreground behavior values. #Clipping behaviors: %patch $75D8 $0000W #No clipping cheat on ($01 disables) %patch $75EF $0001W #No clipping cheat off ($00 to disable) %patch $89C7 $0001W #Keen on map %patch $AD4D $0000W #Keen related and unknown %patch $B760 $0000W #Keen on pole (Can move through solid 'pole goes through' tiles) %patch $C038 $0000W #Dead Keen %patch $C34C $0000W #Items got %patch $130E4 $0000W #Shikadi pole zap %patch $13631 $0002W #Sphereful #Travel tween doors clip 0 %patch $C0A8 $0001W #Standing Keen after he's emerged from a door %patch $C342 $0000W #Door sprite when opening %patch $C6B0 $0001W #After jumping off a pole %patch $C757 $0001W #After turning on a pole (At pole top turning can make Keen fall off!) %patch $C896 $0001W #Dropping off pole bottom %patch $C98F $0001W #Keen after letting go of a ledge he's gripping %patch $CBA9 $0001W #Keen AFTER climbing up from ledgegripping %patch $CC23 $0000W #Dead Keen %patch $D039 $0000W #Item got points %patch $D0E3 $0000W #Item got points %patch $D65B $0000W #Keen climbs up from ledgegripping left %patch $D732 $0000W #Keen climbs up from ledgegripping right %patch $D90B $0000W #Miragia %patch $DE0E $0000W #Keen riding Foot on map (Can now be blocked by tiles!) %patch $E111 $0000W #Map Keen after Foot drops him off %patch $E302 $0000W #K flag landing (Move through map tiles) %patch $E364 $0000W #K flag flipping (Move through map tiles) %patch $FC3C $0000W #Items %patch $FCA2 $0000W #Lifewater drop burst #Forground behaviors: %patch $AB03 $0001W #Keen %patch $C03D $0003W #Items sprites got %patch $C30E $0003W #Item tiles got %patch $D200 $0001W #Map Keen %patch $DC51 $0003W #Map K sign %patch $DCD0 $0000W #Keen's shot %patch $FDBD $0002W #Item sprites %patch $FFFA $0000W #u/d/l/r Goplats %patch $10506 $0000W #Fall down rise up Red Plat %patch $1062A $0000W #Still red plats %patch $10685 $0000W #Follow infoplane goplats %patch $10E0F $0000W #Sneaky red plat %patch $10AFA $0002W #Volte Face %patch $11042 $0000W #Sparky %patch $1127E $0000W #Ampton %patch $1174B $0002W #Slicestar %patch $1195C $0000W #Shelley %patch $128BB $0000W #Spindred %patch $13650 $0001W #Sphereful #Unknown foreground behaviors: %patch $C3C1 $0003W %patch $CCC5 $0003W %patch $D254 $0001W %patch $FE23 $0003W %patch $FEAA $0003W %patch $FEFD $0003W %patch $FF5E $0003W %patch $117EA $0003W