Beret is a 2D puzzle-platformer game about a scientist, astonishingly named Beret, who has gained telekinetic abilities through his research at the Evil Corporation. He decides that the Evil Corporation is a tad too evil for his liking, and begins his solitary quest to overthrow the corporation and punish the evil deeds of his employers. Beret has 21 puzzle-filled levels, 120 collectable Medallions, over 20 hours of gameplay, and an unlockable level editor.
Posts | ||
---|---|---|
Bug with Gravity Switches | Locked | |
Thread Options | ||
Nov 1 2011 Anchor | ||
So while messing around with the level editor I've noticed that Gravity Switches will cause the game to immediately crash if they come in contact with a solid tile, but only if the Gravity Switch has momentum when it hits! For example, if you place a Gravity Switch in an accelerator tile and it hits a solid tile, the game will crash. The same thing happens if you link one with a pink or blue link block and attempt to hit it against a wall or if one of those sticky wheel things carries it into a wall. I notice that the game will NOT crash if it hits an object while moving or if the Gravity Switch is stationary and only hits a wall tile due to being hit by an object first. It's... Kind of hard to explain, but I'm sure it'll be pretty easy to replicate if you try it out! Here's a map that shows some examples of this glitch (assuming it ever gets authorized): |
||
Nov 1 2011 Anchor | ||
In my experience, authorization for Beret maps usually only takes a couple of days, so the add-on should show up soon enough. It's interesting that this bug actually crashes Beret, though. Maybe Kiwisauce can tell us whether this is violating an assertion in the gravity switch block code. Edited by: Leylite |
||
Nov 1 2011 Anchor | ||
Alright the thing was authorized so go nuts and download a room that pretty much constantly crashes the game! |
||
Nov 1 2011 Anchor | ||
I loaded up Isocitration's room, then sent the gravity switch next to the left-pointing accelerators through the accelerators and into the wall. As expected, the game crashed. Here's what I got from the Mac OS X "Beret quit unexpectedly" Problem Report (slightly abridged): ==== Process: beret [9951] Date/Time: 2011-11-01 23:08:41.974 -0400 Exception Type: EXC_CRASH (SIGSEGV) Thread 0: Dispatch queue: com.apple.main-thread Thread 1 Crashed: Dispatch queue: com.apple.libdispatch-manager Thread 1 crashed with X86 Thread State (64-bit): ==== update_thing has got to be the least descriptive method name I have ever seen Edited by: Leylite |
||
Nov 2 2011 Anchor | ||
Wow, you guys are great. (And Leylite, I have a whole thing.c file... update_thing is what happens when a 'thing' needs to be updated, obviously!) Anyway, thanks to you two doing all the debugging for me, this is now fixed. Expect a new version of Beret with this and a lot of other bugfixes/changes soon. ... if you're interested, it was a null pointer deference in trying to get the other 'thing' that the gravity switch crashed into. Walls don't count as 'things', and since there's a delay after a switch is hit before it can register the next hit, slamming one into a wall by hitting it with another object only registers the hit with the object. |
Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.