[Tool]FemtoIDE

OMG your the best!

2 Likes

Released v0.0.15b Compo Edition

Changelog:

  • Code editor theme customized by @bl_ackrain
  • New splash. No yoga pose, this time :frowning:
  • New Edit menu
  • Menus sorted alphabetically
  • Display currently open file name in titlebar
  • Sourcecode history navigation with Ctrl+, and Ctrl+.
  • Faster image conversion in C++ projects
  • Python code and XML highlighting
  • Implemented support for more keys as shortcuts
  • Support for per-project scripting in JS.

Edit: Updated the zips, the release script had undone some of the changes in the update as part of the clean-up it does before packaging. >_<

6 Likes

Great news for the JS scripting per project!
I should really port and expand the tiled map exported I made in python.

4 Likes

That would be awesome and handy for the compo.

3 Likes

I suspect I won’t make it in time for the compo : /

1 Like

I just noticed there’s a minor bug and will try to upload a new release tonight.
When you copy+paste, the clipboard gets pasted twice.
For now, in your config.js file, remove these bindings:

    "C-c": APP.copy,
    "C-x": APP.cut,
    "C-v": APP.paste,
3 Likes

I just tried out FemtoIDE (running GalliumOS, a Linux distro), and I’m having an issue with the bundled emulator. I can compile the Java demo, but I get this error when it tries to run the emulator:

/home/username/bin/FemtoIDE/IDE-linux-v0.0.15b/linux/PokittoEmu: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22’ not found (required by /home/username/bin/FemtoIDE/IDE-linux-v0.0.15b/linux/PokittoEmu)

I assume my system’s libc++ version is too old? I have encountered this problem before on a different old linux distro, but in that case I might have had to recompile the software. I do have a version of the emulator that I have compiled that works fine, and I ran the compiled .bin separately from the IDE with no problems. Should I just replace the IDE’s version of the PokittoEmu with mine for now, or is there a way to change the path for the emulator?

I faced the same problem with lxle (a Debian distro)
I fixed using this commands to update the tool chain.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test  
sudo apt-get update  
sudo apt-get install gcc-4.9  
sudo apt-get upgrade libstdc++6

From the wiki

2 Likes

Hi! So I started using Femto in order to make a tiny game rush, related with the Java comp. It’s… honestly a bit disturbing, but as long as it builds it’s fine by me haha

I created two sprites without any animation in Aseprite and exported them with JSON. But they’re rendered completely messed up, slanted and all. Doesn’t seem like to be a palette issue, but a calculation gone wrong.

2019-08-02%20-%20broken%20aseprite%20import

Original sprite with json:
Limb2
Limb2.json (589 Bytes)

Any idea about what I got wrong?

1 Like

First time I’ve seen it do that. Can you attach the zipped project folder?

1 Like

I can’t right now, will do as soon as I get back to my place;

In the meanwhile … I pretty much replaced the dog by this sprite, changed the text and removed the background, from the “new project”. The dog was behaving correctly - it’s a good boy after all, unlike those dead limbs.

edit: also I did a screen.clear(0);

1 Like

I actually witnessed a similar thing yesterday. I don’t know how I fixed it but eventually after monkeying with the Sprite itself it suddenly worked.
Did you make sure to do an animation tag even though there isn’t one? Like idle or something?

2 Likes

Indeed, that worked like a charm. I can now see that limb doing rounds.

To be more specific, in order to make Sprite work properly, you HAVE to call an animation method, otherwise something won’t be initialized inside and it will glitch.

Thanks a lot!

1 Like

Huu… is there a list somewhere with all the limitations and known bugs, java-wise?

Seems like initializing a “float” field like
private float mY = 9999.f; will actually ignore the given literal and put 0 instead (well I can do that with a constructor)

Does you class have a constructor?
Both java and IDE bugs are being tracked here.

2 Likes

Indeed, it didn’t have a constructor at that time! With one, the initializing literals aren’t ignored anymore.

Thanks!

Try adding a 0 to the float after the decimal. 9999.0f

1 Like

That worked indeed. So this means if you don’t want a constructor, you have to add that extra 0.

I’m advancing pretty steadily now :slight_smile:

1 Like

I take it that requirement is an implementation bug?

That’s good practice (in my opinion at least),
but Java doesn’t actually require that as part of its syntax.

Most languages that allow floating point literals allow you to omit the digits after the . to default it to 0.

That’s a really weird bug…

2 Likes

It uses the constructors for the initialization, so of there aren’t any, the initialization doesn’t happen.
I’ll have to make it create an empty constructor if there isn’t an explicit one.


Are you sure? I tested making a class without a constructor and initializing it to 1.0f, the result was 0.