-
Notifications
You must be signed in to change notification settings - Fork 37
Collision Data
vince94 edited this page Aug 15, 2021
·
5 revisions
EarthBound's game engine represents colission data with something called a bitflag. This means that the different bits that make up a single number mean different things! Here's what each bit does.
10000000 = Solid
01000000 = Unknown
00100000 = Unknown
00010000 = Map object compatibility (door/ladder/stairs)
00001000 = Water
00000100 = Damage effects (sunstroke - combine this effect with water for drowning)
00000010 = Misc effects (Talk across solid space, transparency)
00000001 = Layer 2 transparency
Think of this number like a bunch of checkboxes, or a big box of switches that make satisfying clicking sounds when you flip them. You can flip them on and off to mix and match different map settings!
However, it's a bit of a pain to convert the binary number to hex. Here's a handy list of hex numbers that you'll see if you examine tiles in the Tile Editor:
00 = a walkable space
01 = a tile in which the object featured will appear on top of you. (Such as walking behind a building with only your head poking out, tree top covering your lower body, a fence, a mailbox, etc.)
03 = same as 01 except this is needed to completely cover a sprite
04 = desert (Makes you sweat and makes you vulnerable to sunstroke)
08 = waist-high water (Makes sprites in it sink to their waist, as in Fourside Sewers, and shallow Deep Darkness water.)
09 = same function as 01, only in the waist-high water context (shallow water with foreground)
0b = same function as 03, only in the waist-high water context
0c = deep water (submerges your whole body and makes you take damage)
0d = same function as 01, only in the deep water context (deep water with foreground)
0f = same as 03, only in the Deep Water context
10 = ladder/stairs/rope. (Same deal as 90 I think when it comes to this.)
80 = non-walkable tile (Walls and structures. Messianic describes it as "solid and impassible")
82 = non-walkable tile (used in desks and bars - a solid space you can interact with and talk to the sprite on the other side of it)
90 = door (a door won't work unless the minitile it's on has this collision value!)
TODO: do some experimenting and word these in a better way
- Overworld Sprites
- Battle Backgrounds
- Battle Sprites
- Title Screen
- Window Graphics
- Logos
- Fonts
- Animations
- Swirls
- EB Project Editor
- Tile Data
- Tile Editor
- Collision Data
- Adding Map Palettes
- Map Editor
- Doors
- Warp Styles
- Enemy Placement
- Hotspots