Projects Jams Discord News
Resources
Unwind Fishbowls Forums
About
Manifesto Our values About
Log In

Odin and MacOS a year later.

Clay Murray December 20, 2021

My last post was about Odin and MacOS and some ways they didn't quite get along. Odin is always improving and the situation on MacOS is far better than previous.

Odin switch to using the LLVM C-API for bytecode generation, this included a slew of ABI fixes for MacOS as well. After these updates I have had no similar issues of calling convention bugs in MacOS. Now porting over C libraries much easier and more straight forward on MacOS. This made my old Raylib bindings and workarounds obsolete. I was even able to easily upgrade to a newer version of Raylib and reduce the surface area of my Raylib bindings by perhaps over 1000 lines of code!

Read more

Working with Odin on MacOS

Clay Murray November 27, 2020

Odin is a great programming language. It lives up to at least this part of its mission statement.

joy of programming

I hadn't done any low level programming for a while before I started using Odin. Now I can't get enough.

Odin, while great, does have its rough edges. You can expect that from a newer language with a smaller community. And because the creator Ginger Bill develops on a Windows machine there's a few more rough edges in MacOS vs Windows. I am going to talk about one of the issues I ran into on Mac and how I solved it.

(Look I develop on MacOS. I come from a web background and like the OS and it's ecosystem. Sue me.)

OSX Calling Convention Bug

Related Issue

I am not sure of the root problem, but Odin isn't passing certain structs properly. I think it has to do with the MacOS ABI wanting them passed a

Read more

2.5 Roadmap

Clay Murray November 13, 2020

The next version of Cute Exporter should be 2.5 here is what you should be able to expect in this version. [ul]

  • A few builtin preset export formats
    • JSON
    • INI
    • Suggest one if you’d like to see it

  • n animation[/li]
  • Playback the animation at a framerate in the GUI
  • Define regions in a PNG to export. Useful for asset packs that already exist as a texture atlas
  • Improvements to showing the folder structure of parent assets in the GUI
  • Automatically create an animation from a PSD or PSD group.
  • Define custom anchor points / rects on a layer that can be tagged with info.
    • Useful for defining different points on a character sprite like baseline or hands.
  • [li]Showing more group information of the layers from the parent file.[/li]
    [li]Max texture size and outputting of multiple textu
    Read more

    Updates

    Clay Murray November 13, 2020

    Hello, I suspect not to many people read these posts but for those who do you may be wondering where I was. Well it’s been a busy and stressful last few months for my job and then I started playing minecraft and just played that way too much. However, I’m feeling better and I threw my gaming PC out the window now I only have time for making cool stuff again. I think I left Cute Exporter in a pretty good spot before my little hiatus, but it should be receiving some cool features soon. A big one on my list is anchor points. I don’t know if that is the proper term but they will be spots you can place on your assets that are tagged with some value. This will be useful for alignment of your assets or specifying where a part of the asset is each frame in an animation. For instance if you have a character swinging a sword you can mark the hand with a tag in each frame so you can align the sword with the rest of the animation!

    Read more

    Upcoming Lua Scripting Support.

    Clay Murray September 12, 2020

    Cute Exporter has been exporting the metadata about the texture atlas as a json file. This was because it's easy to do, and I know json better than other file formats. But, there are game engines that don't use json. I want Cute Exporter to support those use cases.

    My goals in supporting this use case are:

    • Easy setup.
    • Let user do what they want.
    • User provided file extension.
    • Easy to change.

    Using a template file.

    One solution may be to have a template format. You would create a template and direct Cute Exporter to fill it in. This works fine, it's a perfectly valid solution. For basic use cases this is all you need. However, if you are wanting to do anything more advanced, either you can't, or you have to write an extension to the template engine in another programing language. For Example, Handlebars allows you to add in custom filters and functions to your template written in javascript.

    This is easy to set

    Read more

    Small update

    Clay Murray September 1, 2020

    Hello this is 2.1 of Cute Exporter!

    Few small changes in the app. No new major features.

    • Support Aseprite files saved as color indexed files.
    • Support Aseprite files saved as grayscale.
    • Support add PNG files to your project.
      • Useful in cases where you already only have PNGs but also want to pack them as well.

    • Ctrl/Cmd + s now saves the project.
    • Ability to remove files from project
    • Refresh asset from disk.
    • Toggle trim alpha setting
    • Export ASE cel’s location in parent document.
      • Useful in cases where you trim alpha around your asset and export them as individual cels. You now have the data to reconstruct the asset in your engine from individual parts.
    • Little popups to inform that a save succeeded.
    • Bug fixes
    • Better memory management

    Read more