Soooooo... since the last Pixi release (1.32), which was almost 1 year and a half ago, there have been 138 (!) commits to the codebase.
So you might be asking, "Why make this thread instead of just release the goddamn update?", well, as you can probably tell by the huge gap between updates, I don't have a lot of time to work on the tool, and this means that while I can do basic testing, I really don't have time to test everything that I've messed with as well as it needs to be tested, so this is a thread made to hopefully gather interest and some brave people to help me test and bugfix all the new features I've added and worked on in the past year. I've asked before but with no luck, maybe this time it goes better. After the testing and the fixing of whatever bugs there may be, I'll be releasing the update in the tools section with version number 1.40.
The biggest feature in this update is that now, thanks to Lx5, you should be able to use a lot more sprite types with a lot more routines at your disposal, as was already shown in a previous thread preview of the tool in the Summer C3 2021 (that was a year ago, yikes!).
Apart from the minor sprite types, here's the (tentative) changelog with all the minor user-facing changes:
Version 1.40 (TBD)
A majority of the commits however, were dedicated to internal changes which are not visible to normal users of the tool, however for completeness sake (and for anyone nerd enough to want to read them), I'll list them here:
Additionally, around 6 months ago, Lx5 started working on some beatiful-looking documentation for Pixi. It is very unfinished but I decided to put it on a site and in a github repository so anyone can help complete it. Everyone is welcome to ask and help with it, I'll proofread everything of course, but PRs are welcome since I don't really have time to write it myself.
Thank you for reading this wall of text, I'll be here to hopefully gather your feedback, when C3 is over, feel free to ping me on the SMWC discord in the #asm channel if you want to report bugs and other Pixi-related things. If you know how to use Github, however, it is preferrable that you instead directly open an issue here in the repository, this way the message won't get lost and everything will be easier to handle.
So you might be asking, "Why make this thread instead of just release the goddamn update?", well, as you can probably tell by the huge gap between updates, I don't have a lot of time to work on the tool, and this means that while I can do basic testing, I really don't have time to test everything that I've messed with as well as it needs to be tested, so this is a thread made to hopefully gather interest and some brave people to help me test and bugfix all the new features I've added and worked on in the past year. I've asked before but with no luck, maybe this time it goes better. After the testing and the fixing of whatever bugs there may be, I'll be releasing the update in the tools section with version number 1.40.
The biggest feature in this update is that now, thanks to Lx5, you should be able to use a lot more sprite types with a lot more routines at your disposal, as was already shown in a previous thread preview of the tool in the Summer C3 2021 (that was a year ago, yikes!).
Apart from the minor sprite types, here's the (tentative) changelog with all the minor user-facing changes:
Version 1.40 (TBD)
- (Atari2.0) Fix list.txt parsing bug when paths would get wrongly split for containing spaces.
- (Atari2.0) Now pixi also prints warnings that asar gives instead of silently ignoring them.
- (Atari2.0) Fixed oversight in extra byte count assignment
- (Atari2.0) Updated circle routines to fix sign issues with large radii on LoRom.
- (Atari2.0) Better error messages in general.
- (Atari2.0) Fixed extended sprites cape interaction.
- (lx5, Atari2.0) Added support for minor sprite types (minor extended, bounce, spinningcoin, etc.)
- (Atari2.0) Fix misplaced bracket causing ExtendedHurt routine to send Yoshi always to the right.
- (KevinM) Extended/Cluster defines update (details here)
- (spooonsss) ExtendedGetDrawInfo: properly despawn when extended sprite is vertically offscreen
- (Atari2.0) Add all of the LM3.30 ssc/mwt features. More details in README.md
- (lx5) Updated cluster sprites routines
- (Atari2.0) Added utf-8 paths support on Windows. This should fix any issues with paths containing non-ascii characters.
- (Atari2.0) Completely overhaul the build system, use CMake, enable building pixi as a .dll, add APIs for python, c and c#.
- (Atari2.0) Now the print statements in sprites can be substituted by labels (init: etc) and they are not case sensitive anymore (e.g. print "init", pc works)
- (Atari2.0) A lot (and I mean a lot) of internal C++ code changes to improve the codebase and speedup the tool as well as major changes to the build system. These changes are massive but they should not be visible to external users. As such they won't be reported here but they can be found in the single commits in the repository.
You can download the preview Windows build here
A majority of the commits however, were dedicated to internal changes which are not visible to normal users of the tool, however for completeness sake (and for anyone nerd enough to want to read them), I'll list them here:
Additionally, around 6 months ago, Lx5 started working on some beatiful-looking documentation for Pixi. It is very unfinished but I decided to put it on a site and in a github repository so anyone can help complete it. Everyone is welcome to ask and help with it, I'll proofread everything of course, but PRs are welcome since I don't really have time to write it myself.
WIP Documentation: https://www.atarismwc.dev/pixi-documentation
Repository: https://github.com/Atari2/pixi-documentation
Thank you for reading this wall of text, I'll be here to hopefully gather your feedback, when C3 is over, feel free to ping me on the SMWC discord in the #asm channel if you want to report bugs and other Pixi-related things. If you know how to use Github, however, it is preferrable that you instead directly open an issue here in the repository, this way the message won't get lost and everything will be easier to handle.