Skip to content

Releases: JackTheSpades/SpriteToolSuperDelux

1.42

27 Mar 16:29
Compare
Choose a tag to compare

Version 1.42 (March 27, 2024)

  • (Fernap) Update %Random() routine to avoid having modulo bias.
  • (Atari2.0) Include LICENSE in release zip
  • (Atari2.0) Upgrade to Asar 1.91
  • (Atari2.0) Fix CFG Editor bug where loading a JSON file which used GFXInfo would cause a null reference exception.

Full Changelog: 1.41...1.42

1.41

11 Mar 11:29
Compare
Choose a tag to compare

Version 1.41 (March 11, 2024)

  • (mellonpizza) Add --stddefines and --stdincludes command line options.
  • (spooonsss) Add --symbols command line option to make asar output symbols file (can be WLA or nocash)
  • (spooonsss) Fix CFG Editor small visual bug
  • (Iwakoro) Add define support for the "More Extended Sprites" patch
  • (RunicRain) Split shared routines in a way that makes it safe for routines to call each other
  • (Atari2.0) Add a way to consume pixi as a library (dynamic or static), and add C,C++,C# and Python bindings, see the README for more details.
  • (Atari2.0) Fixed a routine name
  • (Atari2.0) Add plugin system, see the README for more details
  • (Atari2.0) Correct on-hover tooltips on icons in CFG Editor, aswell as fix maximum value of spinbox for value when using extra byte in json.
  • (Atari2.0) Add list.txt aswell as asm/ExtraDefines asm/ExtraHijacks to the zip file so users don't have to create them on their own.
  • (Atari2.0) Add --exerel command line option to make Pixi search for the list.txt and the mwt/mw2/ssc/s16 files relative to the exe instead of relative to the ROM
  • (Atari2.0) Partially fix an issue that could occur with wrong path resolution when the ROM and the pixi exe are on different drives on windows.
  • (Atari2.0) Fix a bug from 1.21 where the CFG editor feature to be able to edit ROMs directly (akin to Tweaker) introduced in 1.1 was accidentally disabled, thanks to SubconsciousEye for reporting this.
  • (Atari2.0) Fix a bug from 1.40 with some spawning routines where a missing XBA was making the routine not work properly. Special thanks to RussianMan for reporting this.
  • (Atari2.0) Minor README improvements (document the CFG file format mostly).
  • (Atari2.0) Warn when inserting sprite number $7B (goal tape) in ROMs that use LM 2.53+
  • (zuccha) FireballContact now checks exactly for player fireball value
  • (SubconsciousEye) Add custom GFX handler for sprite status 3
  • (MarioFanGamer) CFG Sprites will now also show up in the custom sprite collection in LM
  • (zuccha) Add command line flags for custom misc sprites directories in README
  • (Atari2.0) Fix SpawnCluster & other misc sprites routines using wrong positions and overwriting A, additionally set $18B8 to 1 when spawning a cluster sprite, thanks to kkevinm for reporting this.
  • (Atari2.0) Add %SpawnMinorExtendedOverwrite routine to spawn the sprite even if there's no slots free (overwrites oldest one)
  • (Atari2.0) Fix %ExtendedSpeed routine not applying gravity when speed was between $80 and $C0, thanks to anonimzwx for reporting this.
  • (Atari2.0) Upgrade to Asar 1.90.

Full Changelog: 1.40...1.41

1.40

23 Nov 11:44
Compare
Choose a tag to compare

Version 1.40 (November 23, 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)
  • (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()

Full Changelog: 1.32...1.40

1.32

23 Jan 18:00
ba5f6be
Compare
Choose a tag to compare

Changelog:
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 #28
  • (Atari2.0) Updated asar.dll to 1.80, fixes #35
  • (Atari2.0) Updated and fixed make, Makefile and .gitignore
  • (Atari2.0) Added escaping to ! in filepaths, fixes #16
  • (Atari2.0) Added autoclean to all sprite pointers, fixes #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.

1.31

09 Nov 11:42
Compare
Choose a tag to compare

Changelog
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.

1.3

19 Sep 09:37
c97082d
Compare
Choose a tag to compare
1.3

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).

1.2.15

09 Jul 11:06
Compare
Choose a tag to compare

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).

1.2.14

02 Mar 09:30
Compare
Choose a tag to compare

Version 1.2.14 (March 02, 2020):

  • (Atari2.0) Fixed a bug which caused pixi to cleanup stuff wrong if you ran it with an empty list.
  • (Sillymel) Fixed a bug in GetDrawInfo which caused it to consider clippings from 20+ instead of two-tiles death animation flags. This is actually a bug in the Vanilla game as well (see $01A365 and $02D378).
  • (Sillymel) Fixed comments on ShooterMain.
  • (Sillymel) Fixed a bug which caused SpawnExtended to return the wrong carry flag when signalling it failed to spawn a sprite due to the sprite being offscreen.
  • (Sillymel) Fixed carry return of GetMap16 so it actually returns the flags like it says it should.
  • (Sillymel) Fixed ChangeMap16 return so it returns #$FFFF instead of #$00FF.
  • (Sillymel) Fixed a bug which caused ChangeMap16 to break the stack due to it mishandling 16 bit mode.
  • (Tattletale) Added proper documentation to -d255spl.
  • (Tattletale) Added a comment about x/y offset in SpawnSprite, basically it substracts them if they are negative.
  • (Tattletale) Added a comment about TDC usage in GetDrawInfo.
  • (Tattletale) Fixed a slight overlook in GetDrawInfo which would cause it to keep the vertical offscreen flag's state if the sprite is offscreen horizontally. Reported by Super Maks 64.
  • (Tattletale) -ssc is now properly implemented, reported by Shiny Ninetales, quite possibly imamelia had issues with this too.

1.2.13

09 Jan 01:21
Compare
Choose a tag to compare

Version 1.2.13 (January 09, 2019):

  • (Tattletale) Fixed a bug with sprite data displacement introduced in 1.2.10. LM3 cache would cover this up in most cases, except for reeeeeally tall levels.
  • (Tattletale) Added a compatibility flag to disable 255 sprites per level support on fastROM -d255spl, check the readme for more info.
  • (Tattletale) Removed main_npl.asm, now there's an optional config file included in sa1def.asm that's generated on every run. Eventually this file will actually become a config file. Special thanks to randomdude999 for giving me the code to check for files in asar.
  • (Tattletale) SubOffScreen edited to include a check for -d255spl flag.
  • (Tattletale) sa1def.asm edited to include checks for -d255spl flag. All defines that were in main.asm before were moved to sa1def.asm.

1.2.12

28 Oct 15:07
Compare
Choose a tag to compare

CFG editor fix to work with n extra bytes (actually only goes up to 12).