Brawmario / libsm64-godot

MIT License
149 stars 10 forks source link

Surface Properties are... strange? #11

Open BonIsDead opened 1 year ago

BonIsDead commented 1 year ago

I tried for quite a while but couldn't seem to find a stable ground on how surfaces properties were being handled. Specifically slippery and various surfaces. I got some of them to work, but it really seemed like it was a hit-or-miss situation. The one I finally got to do something was using SurfaceType:Timer Start, with TerrainType:Sand. I don't think Force did anything here, but the result was Mario sinking into quicksand.

I'm not the best at extrapolating information, so I'm sure I'm doing something incorrectly here haha

Brawmario commented 1 year ago

I'm sorry, I didn't quite understand, are you trying to make surfaces slippery?

The surface properties is something that's actually exported from libsm64 in it's entirety, it's how the surfaces are described internally in the Super Mario 64 engine. If it seems weird and confusing just know that it's 100% something from the Super Mario 64 engine. To be honest I don't even know myself how do these options interact, but at least it isn't something specific about my implementation. Maybe the actual Super Mario 64 decompilation project has better documentation for this.

BonIsDead commented 1 year ago

Ah, I wasn't aware it was just a straight implementation from the decomp. I was just trying to use any surface properties, but they seem to be almost random. I'll check out the documentation and see if it explains what's going on there! Thanks!