Name: | PIXI v1.2.14 - Sprite Insertion Tool |
Authors: | Atari2.0, JackTheSpades, Tattletale |
Added: | |
Version History: | View |
Operating System: | Windows |
Platforms: | SNES |
Games: | SMW |
Source Available: | Yes |
Featured: | Essential |
Website: | Link |
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). Changelog: 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. Version 1.2.13 (January 09, 2020): - (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. Version 1.2.12 (October 28, 2019): - (dtothefourth) Fixed the cfg editor to work properly with n extra bytes (actually only up to 12). Disclaimer, the cfg editor will be removed from pixi packaging starting from the next update! It will be submitted as a standalone resource. |
Tags: | cluster extended insert inserter insertion sa-1 sprite sprite tool spritetool |
Comments: | 132 (jump to comments) |
Rating: |
Download
1.07 MiB | 1,876 downloads
Comments (132)
If you're used to other smw hacking tools as AMK or GPS it shouldn't be that hard, but in any case, there's a tutorial here
This will be fixed within this week.
The tool is already hosted on the site. Link
how do i remove the rom sprite?
Yeah it's made in C/C++ (mostly C), it is not accounting for encoding whatsoever.
I will register that as a bug in the github, but do not expect that to be fixed lol.
The same happened to _header.asm and asm files of sprites I try to insert, though these file exist in a correct folder. I read readme and then think that this error is relevant to incsrc/incbin, but I don't know what this is and what I shoud do.
You fucked up your folder, they are all inside the zip file.
I didn't, but problem was resolved. It is because file path name is not alphabet that error happened.
The same happened to _header.asm and asm files of sprites I try to insert, though these file exist in a correct folder. I read readme and then think that this error is relevant to incsrc/incbin, but I don't know what this is and what I shoud do.
You fucked up your folder, they are all inside the zip file.
The same happened to _header.asm and asm files of sprites I try to insert, though these file exist in a correct folder. I read readme and then think that this error is relevant to incsrc/incbin, but I don't know what this is and what I shoud do.
No. Pixi doesn't touch anywhere near there.
Your rom is corrupted.
The only way to corrupt your rom with pixi is if you run pixi without any normal sprites in its list and then run it again, blowing up your rom. The issue is listed in the known issues link and this would cause your rom to crash before entering the showoff level, right after the nintendo presents screen.
If that's not the case, you will have to check on your own what corrupted your rom.
Great tool!!
Free speech and a not-so-free rate systems are a pretty cool combination, aren't them?
I don't care about pixi's ratings. What is he gonna do? Use another tool? Be my guest lmao.
Here's the fixed version.
I will update pixi with these two fixes (this and the other one I posted here) this weekend.
Replace it with this:
Or read my comment below.
I will make a new pixi release (1.2.5) and I will turn off the perlevel feature by default (currently it's turned half on, which is not good, prior versions were on). Shouldn't take long for the release to be submitted.
Meanwhile, you can use the good old -npl flag and make a bat with it like:
*pause is optional*
*save it as <whatever name you want>.bat*
Next release this flag will do nothing but won't cause any harm and a new flag called -pl will be added to toggle perlevel insertion.
Any questions or issues, you can find me in discord.
also, someone should really backport these changes to the github repo
Also, these changes should probably be merged back into the GitHub repo too (which is a bit inconvenient, considering that the only active person who has push access to the repo is RPG Hacker but he doesn't have internet at home currently, only at work).
I would prefer it to be a new version because it does not work with me, something needs to be improved
Test it if work or not?
- Load m16 does nothing.
- Neither does Load GFX33.
- I assume the 8x8 Tile Selector would allow me to make my custom map16 tiles, but I can do nothing in it.
- Changing to 8x8 mode in both windows still only pastes 16x16 tiles, and no, I can't remove one by one, I can only remove the 4 or nothing.
- Who should I pray for this to save?
- You can't use the mousewheel to scroll.
-
with all due honesty never touch this again unless you plan to stick around, be responsive to the bug reports and keep up with our own progress in the pixi fork.
Potential resolutions (rather, workarounds) have been found and are being tested for inclusion in an unofficial future version of PIXI.
besides that, what else, and is the softlock bug fixed?
The sprite was made for trasm, check if it has been remoderated in the sprites section.
If so you're good to go if you download the remoderated sprite.
If not you'll have to try and use trashkas (Included in "asm/Converter Tools" and see if that can convert the sprite correctly.
If that does not work you're probably better of asking for help directly or waiting for it to get remoderated.
As for the mushroom sprite it might be using some stuff that asar doesn't like but xkas allows.
First step applies to this as well but if it hasn't been remoderated you probably don't want to convert it if it doesn't throw errors as that will cause it to definitely break.
I tried both versions, but I deleted your version and then uploaded this version. So I need both versions for it to work?
Edit: Okay, after about two or three hours of copying and pasting the files like it said, I think it worked, but I inserted the sprites, and I have the mushroom that gives you more time so when I collect it, the screen just like blinks and turns blank and the music plays in the background. Am I missing something? It worked fine for the SMW2 soldiers that walk and run around in the castles, but I don't know what is wrong w/the mushroom sprite. People were being overcritcal saying that it played the halfway point sound so I don't know if that might have something to do w/it. That wasn't my fault.
If you're talking about my version then it only contains the modified files so you still need to download the actual tool and replace the files.
If you downloaded the original tool then make sure to put it in it's own folder to not mess with other tools that might be using a different version of asar.dll
Error: Asar library is missing, please redownload the tool or add the dll.
Edit: Now, I try this version, and I get a lot of errors:
18 Shared routines registered in "routines/"
An error has been detected:
sprites/birdo.asm:16: error: Unknown command. [TILEMAP dcb $8E,$AE,$8E,$EE,$CE,$AE]
sprites/birdo.asm:17: error: Unknown command. [VERT_DISP dcb $F0,$00,$F0,$00,$F0,$00]
sprites/birdo.asm:18: error: Unknown command. [PROPERTIES dcb $40,$00]
sprites/birdo.asm:25: error: Invalid number. [dcb "INIT"]
sprites/birdo.asm:26: error: Label SUB_GET_DIR not found [JSR SUB_GET_DIR]
sprites/birdo.asm:48: error: Invalid number. [dcb "MAIN"]
sprites/birdo.asm:49: error: Unknown command. [HAMMER_BRO_JSL PHB]
sprites/birdo.asm:53: error: Label START_HB_CODE not found [JSR START_HB_CODE]
sprites/birdo.asm:64: error: Unknown command. [DEC RAM_ThrowTimer,x]
sprites/birdo.asm:72: error: Unknown command. [X_SPEED dcb $00,$F8,$00,$08]
sprites/birdo.asm:73: error: Unknown command. [TIME_IN_POS dcb $50,$20,$50,$20]
sprites/birdo.asm:75: error: Unknown command. [RETURN RTS]
sprites/birdo.asm:76: error: Unknown command. [START_HB_CODE JSR SUB_GET_DIR]
sprites/birdo.asm:80: error: Label SUB_GFX not found [JSR SUB_GFX]
sprites/birdo.asm:83: error: Label RETURN not found [BNE RETURN]
sprites/birdo.asm:85: error: Label RETURN not found [BNE RETURN]
sprites/birdo.asm:87: error: Label SUB_OFF_SCREEN_HB not found [JSR SUB_OFF_SCREEN_HB]
sprites/birdo.asm:92: error: Label LABEL3 not found [BEQ LABEL3]
sprites/birdo.asm:98: error: Unknown command. [LABEL3 STA $1602,x]
sprites/birdo.asm:102: error: Label JUMP_BIRDO not found [BCS JUMP_BIRDO]
More errors too.
It just says this, and then hangs.
line: 00:00
num: 0, ex: 0, char: :
line: 00:00
num: 0, ex: 0, char: :
line: 1
num: 1, ex: 0, char: F
18 Shared routines registered in "routines/"
how can i fix it
Where did you put Pixi, for me it seems to work just fine.
This is surprisingly easy to fix. I haven't tested it with custom cluster sprites, but it should work. First, comment out lines 123-125 and 265-273 from extendnstl.asm. Go to the end of the file and add a new line which says print "GetExtOAMIndex: $",hex(GetExtOAMIndex). Apply the patch and write down the offset it gives you.
After that, go into PIXI's asm/cluster.asm. If you've previously applied extendnstl.asm, remove the autoclean from line 14. Find line 37 (BEQ .return) and, on a new line after it, put PHA : JSL $xxxxxx : PLA. Replace $xxxxxx with the offset you wrote down earlier. Now PIXI won't break the graphics of cluster sprites or nuke your ROM. You should change the offset in asm/cluster.asm every time you reapply extendnstl.asm to make sure it doesn't change (I could make it read it from the ROM, but I'm too lazy).
Yes, thats an asar bug with having a %Macro() in between main label and sublabel(s), but whats with the underline part?
(PS: Really REALLY REALLY hope asar had this macro issue resolved, having sublabels are not only used to prevent redefined errors, but also keeps the code structure (viewed by a programmer) organized). Using + and - doesn't help much on telling a code its purpose.
mod edit: stop stretching tables
1) I put this in list.txt: 00 donut_lift.cfg. I only put that sprite in and no other sprites for testing to see if it successfully inserts.
2) I run the exe file and put the ROM on it to insert. It spits out an error on my face:
Don't tell me that this is like GPS's sublabel problem/glitch, where if you use a .sublabel before a %CallSubroutine() whatever label inside CallSubroutine.asm is assumed present in the file that calls the sublabel causing it to error out saying no parent or redefined:
Edit: blame asar for this buggy macro.
When I insert some sprites in a ROM with SA-1.
The basic shooters (Bullet Bill (C9) and Torpedo Launcher (CA)) doesn't work after the insertion.
Please fix that.
Sorry! We don't allow you to use the tool while on an outdated version of Windows. (Curse you, Windows XP!!!)
I tested on my Windows XP and Doesn't work with the "CFG Editor GUI"
and Tested with Windows 7 or Higher but It works Fine
I can fix This!
God damn it people, it's not the end of the world.
it's just one dude
First, >ASMtool
Second, how old is your hack if it cant handle gps
Third,
God damn it people, it's not the end of the world.
If no bugs are found in this tool, there will be no need for Romi's any more.