|Name:||PIXI v1.40 - Sprite Insertion Tool|
|Authors:||Atari2.0, JackTheSpades, Tattletale|
|Description:||A sprite insertion tool made to allow more dynamic sprite usage, space savings and more SA-1 compatibility.
Despite this, it is almost fully compatible with sprites written for older SpriteTools, save for the fact that Asar is now used as the assembler. There also the new sprite status table that has been moved from 1938 to 7FAF00, used by SubOffScreen routines since version 1.2.10.
Since version 1.2.13, now you can disable the 255 sprite per level support by using the -d255spl flag. This is only useful if you are converting old romi sprites to pixi and you don't know what you are doing. You will have to rebuild your rom in case you already ran pixi +1.2.10 without that flag and want now to use the flag.
Detailed usage instructions, common errors and changes compared to older sprite tools can be found in the included readme.txt file. Version history can be found in changelog.txt.
Source (up to date now): https://github.com/JackTheSpades/SpriteToolSuperDelux
List of known bugs/issues: https://github.com/JackTheSpades/SpriteToolSuperDelux/issues?q=is%3Aopen+is%3Aissue+label%3Abug
Any weird issues you may encounter, contact me on discord (Atari2.0#1706).
Version 1.40 (October 3, 2022):
- (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
- (JamesD28) 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](https://github.com/JackTheSpades/SpriteToolSuperDelux/commit/0e0d4d24dee1066118635da3824fc648f71bd630))
- (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.
- (Atari2.0) Add support for having a pixi_setttings.json in the same folder as the executable. This file will be used to get command line options if present. Format explained in the README
- (Atari2.0) Now you can have subfolders in the routines folder, the subfolder path and the routine filename will be joined to be used as the routine name, e.g. routines/Bounce/Spawn.asm -> %BounceSpawn()
Version 1.32 (January 23, 2021):
- (Atari2.0) Fixes spritetool_clean.asm not being in the asm/ folder.
- (Atari2.0) Now permits nested shared routine calls, fixing https://github.com/JackTheSpades/SpriteToolSuperDelux/issues/28
- (Atari2.0) Updated asar.dll to 1.80, fixes https://github.com/JackTheSpades/SpriteToolSuperDelux/issues/35
- (Atari2.0) Updated and fixed make, Makefile and .gitignore
- (Atari2.0) Added escaping to ! in filepaths, fixes https://github.com/JackTheSpades/SpriteToolSuperDelux/issues/16
- (Atari2.0) Added autoclean to all sprite pointers, fixes https://github.com/JackTheSpades/SpriteToolSuperDelux/issues/34
- (Atari2.0) Fixed various compiler warnings, swapped fread arguments causing an error when writing extmod file.
- (Atari2.0) Fixed snestopc not working correctly on SA-1 roms bigger than 2 mbs
- (Atari2.0) Greatly refactored and reworked MeiMei, embedded both ROM classes in one
- (Atari2.0) Made Pixi work on +6mb ROMs correctly
- (Atari2.0) Now can use -nr to specify max number of shared routines
- (Atari2.0) Fixed various memory leaks, along with a couple of asar warnings related to relative paths being used.
- (Atari2.0) You can now use comments in your list.txt file
- (Atari2.0) Completely rewritten populate_sprite_list and relative_directory to fix various bugs related to pathing.
Version 1.31 (November 4, 2020):
- (Atari2.0, randomdude999) Fully implemented Romi's SpriteTool legacy cleanup (note that this doesn't mean that now Pixi can coexist in the same rom as SpriteTool but it means that at least SpriteTool roms can be easily upgraded to Pixi without breaking massively as long as you do it properly). ASM file used for cleanup provided by randomdude999.
- (Atari2.0) Fixed an issue where upon upgrading from 1.2.x to 1.3, Pixi would completely destroy overworld layer 2 events.
- (Atari2.0) Upped limit for .s16 files from 0x10 pages to 0x38 pages
- (Atari2.0) Added extmod support (for specifics read the Lunar Magic help file in the section "Restore Options"), also added a "-ext-off" command line option to turn off extmod logging.
- (Atari2.0) Finished implementing -mw2 and -mwt command line options, since they were not completed.
- (Atari2.0) Fixed a bunch of compilation warnings.
- (Atari2.0) Added a command line option (-lm-handle) strictly to enable the use of Pixi in the custom user toolbar of Lunar Magic, check LM's help file for more details. Usage is: "-lm-handle <LM_VERIFICATION_HANDLE>", this command line option can't be used out of LM's custom user toolbars. Keep in mind that this is Windows only.
- (Atari2.0) Added an icon to the executable file.
Version 1.3 (September 19, 2020):
- (Atari2.0) Added a lot of utility routines (CapeContact, CheckForContactAlternate, SetPlayerClippingAlternate, SetSpriteClippingAlternate, LoseYoshi, FinishOAMWrite, FireballContact) most of these were taken from GIEPY. Credit to respective authors in the asm files.
- (Atari2.0) Fixed a bug regarding cape interaction with extended sprites by adding a print "CAPE" statement, along with an ExtendedCapeClipping routine
- (Atari2.0) Added a SpawnSpriteSafe routine to fix a problem related to how the vanilla game handles OAM in certain sprite slots.
- (Atari2.0) Optimized Random a little bit
- (Akaginite, randomdude999 and Atari2.0) Fixed, reworked and merged the per-level sprites update. Now you can use B0-BF as normal sprite slots aswell, reduced insert size
- (Atari2.0) Added print statements for states that are not 8, more details in README.txt
- (Atari2.0) Fixed various bugs related to per-level sprites in sprite.cpp
- (Atari2.0) Added a warning in case the user is inserting Pixi while having the VRAM patch from LM disabled.
- (Alcaro) Updated asardll.c to not give compiler warnings about strict aliasing and a missing cast
- (randomdude999) Fixed compilation on Linux, added basic makefile
- (lx5, Atari2.0) Updated CFG Editor and Pixi to support json files with more than 4 extra bytes for custom collections.
- (Atari2.0) Changed SA1 definitions to use absolute addressing instead of long addressing.
- (Atari2.0) Added setting bit to disable Lunar Magic sprite count warning message when using 255 sprites per level.
- (Atari2.0) Fixed per-level sprites displaying 9 extra bytes in the Lunar Magic window, forced to 4 (as a side effect of this, in fact, per level sprites now can only use up to 4 extra bytes).
Version 1.2.15 (July 10, 2020):
- (Atari2.0) Removed unnecessary waiting (BRA $00/NOPs) in SA-1 version of various routines (Aiming, CircleX, CircleY, Random)
- (Atari2.0) Added exception control for missing .json files. Now it will output exactly what json file was not found instead of printing the stacktrace.
- (Atari2.0) Added a command line option "-out" that can be added after "-d" to redirect debug output to a file instead of the prompt/stdout.
- (Atari2.0) Fixed trimming of filenames causing bug with trailing whitespaces in .cfg/.json names in list.txt
- (Atari2.0) Added a warning in case the user is inserting Pixi into a rom without having modified any level in Lunar Magic, causing various bugs (like goal posts not working).
|Tags:||cluster extended insert inserter insertion sa-1 sprite sprite tool spritetool|
|Comments:||165 (jump to comments)|
Download 952.33 KiB | 6,606 downloads