********** TILE COLLISION [KEEN] ********** This section in error, all patch locations are 18 ($12) too small! This section deals with how most sprites interact with tiles, specifically what they do when they 'collide' with a given type of tile. And indeed, what tiles to colide with. When a sprite moves (Or tries to move.) into a tile it checks that tile's properties and then does something. A sprite can check the top, bottom and sides of a tile for blocking, as well as the tile's type before reacting. What it checks depends on its behavior. Sprites can also check the tiles 1 ahead\behind\above\below them. When a sprite checks for something and finds what it wants (A wall, a kill tile, a floor...) then it can do one of four things; it can stop moving, it can cling and wait to fall,it can bounce off or it can perform an action (Skypest land, Keen die...) Note that many behaviors, especially $09DC176ERL rely on sprite clipping, that is they will do different things with different clippings. (Mostly this involves wether or not the sprite can pass through walls and floors.) See section '16.) Clipping_and_Foreground' to patch this. There are patches that change the code directly, but thesea re few and best found in other sections, like Speed/height and Sounds. You should only need to perform simple switches here; such as giving dead sprites the Mad Mushroom behavior so they will bounce up and down. Your main problem will be if the behavior is 'perform an action' (Such as the Skypest, which lands on any floor it can find.) which will change one sprite into another. First here is a list of all the behaviors found in the game, followed by an alphbetical list of each sprite and the behaviors it uses. To patch, simply swap behaviors. #A list of all possible values: $00000000RL #Nothing (Use carefully as it will often cause crashes!) $04EC0FA8RL #Display 'Not enough memory to save game' window, restart level $0D8F0E32RL #Keen's shot (Hit walls, floors, ceilings and go zap.) $0E8F112FRL #Swimming Keen (Hit walls, ceilings and floor 'softly') $09DC1795RL #Walk back and forth, turn around at walls or edges $09DC176ERL #Sit (Ignore all tiles unless clipped to notice them) $09DC1847RL #Crawling Poison Slug????????? $09DC1913RL #Used by shot sprites (Fall until hit ground) $0B801A7BRL #Floating Keen (Ignore all tiles, but stay in one place, e.g on poles.) $0B801AA2RL #Standing Keen $0B801B5FRL #Walking Keen $0B801C48RL #Jumping Keen $0B801F81RL #Pogoing Keen $0B802071RL #Going down poles Keen $0FA804ECRL #Mad Mushroom (Bounce like Mushroom off floors and ceilings) $0FA808A1RL #Walking Bird (Walk on ground) $0FA80945RL #Landing Bird (Check for gorund, if found become walking Bird) $0FA8097FRL #Eggshell fragment (Move until hit ground) $0FA809B4RL #Flying Bird (Hit walls, get stuck or go to landing Bird) $0FA80D0BRL #Flying Skypest (Bounce off stuff, land sometimes) $108002E1RL #Cloud (Float, reverse when hitting walls) $1080055ERL #Berkeloid flame (Fly through air, become landed flame after hitting ground) $108005B5RL #Flaming Berkeloid (Float above ground) $10800610RL #Berkeloid (Float above gound and 'walk' along it) $1080097ERL #Bounder (Bounce off ground) $10800C71RL #Lick on ground (Wait then jump) $10800F56RL #Controllable Airboard (Ignore tiles, look for B sprites) $11A203DERL #Jumping Smirky (Hit ceilings and stick, land on floors) $11A205C1RL #Jumping Mimrock (Hit ceilings, walls and floors) $11A2062ERL #Bouncing Mimrock (Hit floors) $11A20A3CRL #Swimming Dopefish and Schoolfish (Mind walls) $11A20CA1RL #Enemy shot (Darts, Sprite's shot; shoot into walls and vannish) ### #What Keen uses: ### ### #Standing and walking ### %patch $2F802 $0B801AA2RL #Standing %patch $2FF0A $0B801B5FRL #Walking %patch $2FF28 $0B801B5FRL #Walking %patch $2FF46 $0B801B5FRL #Walking %patch $2FF64 $0B801B5FRL #Walking ### #Bored ### %patch $2F820 $0B801AA2RL #Look up %patch $2F83E $0B801AA2RL #Shrug 1 [Look at player] %patch $2F85C $0B801AA2RL #Shrug 2 [Blink 1] %patch $2F87A $0B801AA2RL #Shrug 3 [Look at player] %patch $2F898 $0B801AA2RL #Shrug 4 [Blink 2] %patch $2F8B6 $0B801AA2RL #Shrug 5 [Look at player] %patch $2F8D4 $0B801AA2RL #Shrug 6 [Shrug] %patch $2F94C $0B801AA2RL #Start reading 1 %patch $2F96A $0B801AA2RL #Start reading 2 %patch $2F988 $0B801AA2RL #Start reading 3 %patch $2F9A6 $0B801AA2RL #Start reading 4 %patch $2F9C4 $0B801AA2RL #Read 1 %patch $2F9E2 $0B801AA2RL #Read 2 %patch $2FA00 $0B801AA2RL #Read 3 %patch $2FA1E $0B801AA2RL #Stop reading 1 %patch $2FA3C $0B801AA2RL #Stop reading 2 %patch $2FA5A $0B801AA2RL #Stop reading 3 ### #Mooning ### %patch $2F8F2 $0B801AA2RL #Face away %patch $2F910 $0B801AA2RL #Drop pants %patch $2F92E $0B801AA2RL #Pull up pants ### #Looking ### %patch $2FA78 $0B801AA2RL #Look up %patch $2FA96 $0B801AA2RL #Look up [Screen moves up] %patch $2FAB4 $0B801AA2RL #Look down %patch $2FAD2 $0B801AA2RL #Look down [Screen moves down] %patch $2FAF0 $0B801AA2RL #Stop looking down %patch $2FB0E $0B801AA2RL #Stop looking down [Screen moves back up] ### #Dead ### %patch $2FB4A $09DC176ERL #Dead offscreen (Invisible, normal) %patch $32556 $09DC176ERL #Dead offscreen (Invisible, Well of Wishes) %patch $2FB68 $09DC176ERL #Dead sprawled %patch $2FB86 $09DC176ERL #Dead clutched %patch $32538 $09DC176ERL #Keen eaten by Dopefish %patch $2FBA4 $09DC176ERL #Dead swimming sprawled %patch $2FBC2 $09DC176ERL #Dead swimming clutched ### #Shooting while standing ### %patch $2FBE0 $0B801AA2RL #l/r 1 %patch $2FBFE $0B801AA2RL #l/r 2 %patch $2FC1C $0B801AA2RL #up 1 %patch $2FC3A $0B801AA2RL #up 2 ### #On poles ### %patch $2FD66 $0B801A7BRL #Sitting on poles %patch $2FD84 $0B801A7BRL #Move up 1 %patch $2FDA2 $0B801A7BRL #Move up 2 %patch $2FDC0 $0B801A7BRL #Move up 3 %patch $2FDDE $0B802071RL #Move down 1 %patch $2FDFC $0B802071RL #Move down 2 %patch $2FE1A $0B802071RL #Move down 3 %patch $2FE38 $0B802071RL #Move down 4 %patch $2FE56 $0B801A7BRL #Shoot l/r %patch $2FE74 $0B801A7BRL #Shoot l/r %patch $2FE92 $0B801A7BRL #Shoot up %patch $2FEB0 $0B801A7BRL #Shoot up %patch $2FECE $0B801A7BRL #Shoot down %patch $2FEEC $0B801A7BRL #Shoot down ### #Pogoing ### %patch $2FF82 $0B801F81RL #Start %patch $2FFA0 $0B801F81RL #In air %patch $2FFBE $0B801F81RL #Landing ### #Jumping ### %patch $2FFDC $0B801C48RL #Jumping %patch $2FFFA $0B801C48RL #Jumping %patch $30018 $0B801C48RL #Jumping %patch $30036 $0B801C48RL #Jumping %patch $30054 $0B801C48RL #Jump shoot l/r %patch $30072 $0B801C48RL #Jump shoot l/r %patch $30090 $0B801C48RL #Jump shoot l/r %patch $300AE $0B801C48RL #Jump shoot up %patch $300CC $0B801C48RL #Jump shoot up %patch $300EA $0B801C48RL #Jump shoot up %patch $30108 $0B801C48RL #Jump shoot d %patch $30126 $0B801C48RL #Jump shoot d %patch $30144 $0B801C48RL #Jump shoot d ### #Swimming ### %patch $30862 $0E8F112FRL %patch $30880 $0E8F112FRL %patch $3089E $0E8F112FRL %patch $308BC $0E8F112FRL %patch $308DA $09DC176ERL #Bubbles %patch $308F8 $09DC176ERL #Bubbles %patch $30916 $09DC176ERL #Bubbles %patch $30934 $09DC176ERL #Bubbles ### #Misc ### %patch $2FC58 $0B801AA2RL #Flick switch [Face away] %patch $2FC76 $0B801AA2RL #Flick switch [Click switch] %patch $2FC94 $0B801AA2RL #Place keygem [Face away] %patch $30662 $00000000RL #Door opens %patch $30680 $00000000RL #Door opens %patch $3069E $00000000RL #Door opens %patch $2FCB2 $09DC176ERL #Enter doors 1 %patch $2FCD0 $09DC176ERL #Enter doors 2 %patch $2FCEE $09DC176ERL #Enter doors 3 %patch $2FD0C $09DC176ERL #Enter doors 4 %patch $2FD2A $09DC176ERL #Enter doors 5 %patch $2FD48 $09DC176ERL #Enter doors 6 %patch $2FB2C $0B801A7BRL #Press down and jump [Fall off one way ups] %patch $30162 $0B801A7BRL #Ledgegripping start %patch $30180 $0B801A7BRL #Ledgegripping %patch $3019E $0B801A7BRL #Keen pulls himself up %patch $301BC $0B801A7BRL #Keen pulls himself up %patch $301DA $0B801A7BRL #Keen pulls himself up %patch $301F8 $0B801A7BRL #Keen pulls himself up %patch $30216 $0B801A7BRL #Keen pulls himself up %patch $305AE $0D8F0E32RL #Keen's shot %patch $305CC $0D8F0E32RL #Keen's shot %patch $305EA $0D8F0E32RL #Keen's shot %patch $30608 $0D8F0E32RL #Keen's shot %patch $30626 $09DC176ERL #Keen's shot blast %patch $30644 $09DC176ERL #Keen's shot blast ### #Demo sign ### %patch $302EA $00000000RL ### #Map Keen ### %patch $30308 $09DC176ERL #Map on foot %patch $30326 $09DC176ERL #Map on foot %patch $30344 $09DC176ERL #Map swimming %patch $30362 $09DC176ERL #Map waving %patch $30380 $09DC176ERL #Map waving %patch $3039E $09DC176ERL #Map waving %patch $303BC $09DC176ERL #Map waving %patch $303DA $09DC176ERL #Map waving %patch $303F8 $09DC176ERL #Map waving %patch $30416 $09DC176ERL #Map walking ### #Map K flags ### %patch $30464 $09DC176ERL #Waving %patch $30482 $09DC176ERL #Waving %patch $304A0 $09DC176ERL #Waving %patch $304BE $09DC176ERL #Waving %patch $304DC $09DC176ERL #Flag flip %patch $304FA $09DC176ERL #Flag flip %patch $30518 $09DC176ERL #Flag flip %patch $30536 $09DC176ERL #Flag flip %patch $30554 $09DC176ERL #Flag flip %patch $30572 $09DC176ERL #Flag flip %patch $30590 $09DC176ERL #Flag flip