• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Asset - Scripts Fixtor: The Next-Gen Fixture Editor

despair3042

Member

Introducing Fixtor: An easy-to-use, reliable, full-featured physics fixture editor, for GameMaker: Studio 1 ~ 2.3+.

As a fixture editor, Fixtor aims to overcome the fixture limitation of Box2D physics.
You can now have as many concaved polygons as you want, as well breaking through the 8-point limits.
You can even add more than one circle within a fixture!

Not just that, Fixtor aims to best the built-in fixture editor, by bringing you these powerful functions:

Main Features

A simplified workflow, but with powerful tools to speed-up your creating efficiency:
  • Anchor-point-based transformation, includes moving, rotating and scaling your selected nodes.
  • Load an image file for tracing reference, or use auto-trace to save time!
  • Fast & clear node group management, lets you work with infinite sub-polygons with ease.
  • Mirror flip all the selected nodes horizontally / vertically with one key.
  • Snap nodes to a customizable grid, or lock their moving axis to one.
  • A rotatable symmetry ruler, to help you build symmetric shapes twice as fast.
  • Essential editing functions, such as copy, paste, undo and redo.
  • See how your polygon will behave before you put it into your project, by starting a physics simulation.
  • Save / Load your Fixtor projects.

Once you finished building your fixture, it can then generate an easy-to-setup script, containing the fixture you've made, along with some additional functions:
  • Lets you mirror flip the fixture at runtime, so you don't have to make an additional flipped fixture for your sprites anymore.
  • You can pass a set of coordinate offsets to the script, to modify the fixture origin point at runtime.
  • Change the current fixture to another; All you need to do is calling the new fixture script you want.
More functions are on the way...


The asset itself is a Windows software, it can only be run in Windows Operating System.

The script generated by this asset can be imported and work with every GameMaker: Studio iterations (GMS 1, GMS 2 and GMS 2.3+) and every platform versions of them.

This asset can only work with Box2D (The built-in physics engine for GMS 1, GMS 2 and GMS 2.3+)



Check it out at the Marketplace !
 
Last edited:

rui.r6o

Member
Very cool product, I've used it for creating fixtures from a sprite and it works quite well! There is only one thing that is annoying, when you generate the fixture code into a file a NUL terminator is added, which means that you always need to remove it manually as GameMaker will complain otherwise (probably just a matter of changing a buffer_string to buffer_text?).

Also, it would be nice if we could define a comment that gets added automatically to the top of the generated function (e.g. something stated that the code was generated from Fixtor).
 

despair3042

Member
Very cool product, I've used it for creating fixtures from a sprite and it works quite well! There is only one thing that is annoying, when you generate the fixture code into a file a NUL terminator is added, which means that you always need to remove it manually as GameMaker will complain otherwise (probably just a matter of changing a buffer_string to buffer_text?).

Also, it would be nice if we could define a comment that gets added automatically to the top of the generated function (e.g. something stated that the code was generated from Fixtor).
Hi rui.r6o, glad you found the tool useful!
And thanks for the feedback - i've now uploaded a new version that implemented your suggestions! :)
 

despair3042

Member
Very cool product, I've used it for creating fixtures from a sprite and it works quite well! There is only one thing that is annoying, when you generate the fixture code into a file a NUL terminator is added, which means that you always need to remove it manually as GameMaker will complain otherwise (probably just a matter of changing a buffer_string to buffer_text?).

Also, it would be nice if we could define a comment that gets added automatically to the top of the generated function (e.g. something stated that the code was generated from Fixtor).
Hi!
Sorry for the inconvenience, but i want you to know that i've pushed a hotfix version 1.41 which addressed a severe bug regarding the new custom script function.
 

Mert

Member
Looks awesome! Will definitely buy it next month.

Just a question, does it support building fixtures on runtime?
 

despair3042

Member
He means how to generate the dynamic fixtures according to the sprite when game is running.
Well if that's the case - along with your question - yes, it is capable of changing the fixture during the runtime - just like how the trailer had shown.

To implement it with animated sprites, you can first use Fixtor to make multiple fixture scripts corresponding to each frame,
Then during the runtime, call those corresponding scripts simultaneously when the frame changes. :D
 

Zhanghua

Member
Well if that's the case - along with your question - yes, it is capable of changing the fixture during the runtime - just like how the trailer had shown.

To implement it with animated sprites, you can first use Fixtor to make multiple fixture scripts corresponding to each frame,
Then during the runtime, call those corresponding scripts simultaneously when the frame changes. :D
Got it and I'll get it.
 

Zhanghua

Member
Have got it and start my trail!!!

Where is the tutorial to use this tool?

Is it a bug?

111.png
222.png
 
Last edited:

Zhanghua

Member
Well if that's the case - along with your question - yes, it is capable of changing the fixture during the runtime - just like how the trailer had shown.

To implement it with animated sprites, you can first use Fixtor to make multiple fixture scripts corresponding to each frame,
Then during the runtime, call those corresponding scripts simultaneously when the frame changes. :D
Need generate the fixture in the GameMaker while not in the External Tool ....
 

Japster

Member
@despair3042 - I am still absolutely LOVING this tool, *but*, I'm a bit confused by an apparent (GMS, not your tool's) limitation/error - something about 8 points per polygon?

Is this a new limitation of GMS 2022+? - 8 points seems crazy! - I ask as my GSRR game has an entire level created as one (split areas) polygon, in GMS 2.2, with 100's of points, creating dozens of polygons, without any apparent issues?

I'm pretty sure this isn't the other issue, as your tool generated perfectly acceptable convex polygons - maybe it's the order I created the points in?

So trying to test in your (awesome!) app, or import the polygon created, into my project, results in this particular error:-

1666194957331.png

Cheers as always! - I KNOW it's not the app, so just wondering what I'm potentially doing wrong, and that there hopefully IS no '8 points limitation as it's saying... 👍
 
Last edited:

Japster

Member
Hmm... nope, I can add more than 8, and test, in your app - must be something about the order of points, but I thought I'd done that correctly! - I'll keep testing!
 

Japster

Member
Well, it's working fine now after rebuilding my polygons - Ignore me! 👍

Ps - Still bloody LOVE this tool mate!
 

Japster

Member
Damn... I've hit this same problem again, and it *seems* random - NOT the tool, but GMS taking exception to my polygon - @despair3042 - Is there any chance you can catch that exception instead of letting the GMS error cause the tool to crash please? - as the first I know of it happening is when testing, it crashes out, then each time, I have to re-load, delete some, and try to figure out which points caused the issue?

Just a suggestion! 👍 - it would make it a much better experience, to perhaps just have a pop-up saying that GMS took exception (as otherwise, the poly is fine according to Fixtor), so as not to crash, but be a helpful indication that the polys need re-jigging? :)

Cheers!
 
Top