Calamity engine devlog 17
a lot of new features :)
File API
I added a new file api, inspired by godot (of course, i love godot). it’s still SDL on the backend, so every time you open a file you do have to provide a mode (think of python file modes, like “r”, “a+”, etc..)
The file paths you use are "res://some/random/file.extension" to access files in the game’s base directory and "user://savedata/1738.extension" to access a folder in %AppData% or ~./local/share depending on the operating system (this is handled by SDL, so that means it should work on the PSP aswell). I still have to do some more testing, as i only just implemented this but for now it’s working fine.
Revamped Audio system (which now works properly)
The way audio sources worked before basically meant that you could only have one. in the entire runtime of your program. but i fixed that, and now there’s an Audio service to take care of the output device!
That means you should be able to output to a different device, however SDL maps audio devices by integers, and i have no idea how to list them, so for now the default is the operating system’s default.
Revamped examples
All examples now build to web (properly), and I plan to have an example website such as SDL’s example website. I need to work on more examples for features such as node trees, save data, etc…
However, I’m not done yet.
I still have to work on physics, I haven’t implemented impulses yet and you can’t have circles or capsules or rounded boxes yet (amazing, I know. But i wanted to implement these into PolygonSprite which is now ShapeSprite (it still takes in a polygon) so you can, you know… draw them? and SDL3 apparently has no function for drawing circles, or rounded boxes. For that I need ANOTHER library called SDL3_gfx which seems to be kinda maintained? so i think it would be fine…). And also, you can’t use impulses on bodies yet, which you know, is kinda important.
Also, Windows support is still WIP since I own ZERO machines which run windows :) Generally, it should just build provided you have both CMake and MSVC installed, or if you build it through Msys2. I know… It’s annoying to set all of that up, but don’t blame me! Building C++ apps on Windows is generally annoying.
Animated Sprites are also planned, since i figured texture atlases out. For that reason I also implemented Signals which are genuinely just godot signals (i really like how they work, at this point i might be building godot but more portable lmao)
Regardless, I think i see the light at the end of the tunnel, with ~2 weeks left of flavortown, i hope i can lock in and ship this project :) Also, i didn’t devlog for 12h (oops) since i was mainly fixing bugs, improving existing features. Nothing really noteworthy for me.
Log in to leave a comment