before the matter i love your program and thank you for your effort. anyway i think animosity does not support more frames than original one. for example even if you put 20 frames PNG-set to anim_000(zerg eggs : 7 frames) with custom iscript.bin and .json, it's played only for 1 to 7 frame (8 to 20 is gone) can you fix this? PLEASE
None.
If you edit the json file to have larger number of frames and import, it should definitely import all 20 frames (and show them in the program's preview).
If you did that and it doesn't still show up, then:
- Did you replace both HD and SD graphics? There's also a weird requirement that you need to update the .grp file referred in images.dat to contain those new frames. They aren't being used to render the graphic but still read for their dimensions/frame count. (Animosity supports generating such grp automatically when importing over SD .anim)
- Any invalid frames should just appear as invisible when they are being played through iscript; if you just get the old frames without any invalid ones then it sounds like the updated iscript isn't imported
- Otherwise maybe you're replacing wrong image ID? Eggs are image 21.
None.
i fix it. it's my fault. i didn't change SD. thank you for your answering
Post has been edited 1 time(s), last time on Sep 20 2020, 5:39 pm by AraNg.
None.
Managed to get some things updated with this:
First, the normal and ao_depth layers have been close to useless all this time. Both of those textures stored one value in color channel and one in alpha channel, but editing/creating such textures with any tool is really awkward to a point it isn't worth it.
Animosity now supports decoding the layers to a more meaningful format when exporting, and encoding them back to what SCR expects during importing.
There's now also a feature to import 1.16.1 GRP files. You'll just have to select palette and whether the GRP contains team colors which get split to teamcolor layer, and the GRP will be encoded as .anim for SD, HD2, and HD all at once.
Though due to how SC:R still also depends on the GRP file for some things, you'll have to remember still to include the GRP in the mod as well, at the path specified in images.dat.
Support for paletted .dds.grps / .dds.vr4 (used for SD tilesets) has also been added.
Finally, there's an bugfix for exporting SD sprites, they are now correctly centered using GRP data, and an encoding bugfix for green-heavy sprites.
Dl:
https://github.com/neivv/animosity/releases/download/v0.5.0/animosity.7z
None.
Thanks Neiv, you are amazing.
Though I believe I've already told you that.
I'm seeing from the docs that AICE has also been updated? (can't believe AICE doesn't have its own thread here, it's a goldmine).
BTW in the AICE docs the example for
create_unit is for some reason under the description for
call.
Post has been edited 2 time(s), last time on Feb 3 2021, 9:23 am by IlyaSnopchenko.
Trial and error... mostly error.
Yeah I've been too lazy to make thread for aice, as it originally was poorly documented for a long time. And I'm not sure if it still doesn't support iscript text produced by PyICE or not. Probably should at least verify that instead of asking people to use IceCC first.
Staying lazy for now either way; this animosity update was done in December too but I wanted to add support for new mainsd.anim entries.. which didn't end up happening so I figured I'll just release the other things. Maybe this will finally have usable support for new SC:R graphic files after 3 years of the initial release =)
Thanks for letting me know of the documentation issue, fixed that.
None.
I think I had told you that yes, it does support PyICE, with a couple minor decompilation errors - a few BW doodad headings producing identical names, which leads to confusion and prevents AICE from running the decoded text until a disambiguation is done. Of course, the ScourgeLocal00 vs. Long00 issue may also be confounding initially, but I've seen no operational errors, and I've run roughshod across half the unit sprites in Iscript when implementing various
mutilations modifications for my project.
If you want, I will decompile a fresh Iscript.bin to see which entries suffer. With AICE kindly specifying which line produces errors on startup, fixing those was as easy as spitting on the wall.
Trial and error... mostly error.
If I can get steps written that detail how to get the script text from PyICE to a working state, I'd add that to the documentation and call it supported.
None.
Alright, the default decompiled ISCRIPT.TXT created by PYICE gives the following errors:
1. Line 14154: Invalid characters in label name
The label for Longbolt / Halo / Gemini Missiles Trail (Longbolt\Halo\GeminiMissilesTrailInit) contains backslashes that need to be stripped out. This is IsId 273.
It would not hurt to amend the reference to that label in the Init slot for the animation, at line 14149.
2. A bunch of duplicate labels for twilight and desert doodads at lines 20408/20410 (IsId 400, desert sarlacc thingy), 20462/20464 (IsId 402, a kind of spinning twilight doodad), 20490/20492 (IsId 403, another spinning twilight doodad), 20512/20514 (IsId 404, yet another animated twilight doodad). Here, you just need to rename the duplicating labels (say, from 'TwilightDoodadInit' to 'TwilightDoodad2Init', etc.) in both the header pointers and the code itself (don't forget to amend the label in the 'goto' at the bottom).
So a total of 5 headers to fix. Relatively minor fixes each time, thankfully AICE gives the number of the offending line.
Attached is the default ISCRIPT.TXT thus fixed with no other changes whatsoever.
Attachments:
Post has been edited 3 time(s), last time on Feb 4 2021, 6:55 pm by IlyaSnopchenko.
Trial and error... mostly error.
is there a way to extract graphics with color? They're all gray for me. Not sure if it's to do with the Sprite Lighting options but those are grayed out for me.
None.
I'm assuming you're trying to extract icons? Those are just stored as grayscale frames in game data and the game applies different color depending on whether it's usable (yellow), pushed down (white), or disabled (gray).
And animosity doesn't do anything to color those gray icons. You'd have to manually edit the frames in a image editor, probably through color channel settings or something.
None.
do you have any plan to support changing crashbox or its preview?
None.
How can I export unit images with specific player color (for example green)? Now all the images of units are grey colored, as if they are owned by P7.
Attachments:
None.
I think you just have to edit the "teamcolor" layer
How can I edit the teamcolor layer? Didn't see any options to modify the color. I tried editing the "sprite lighting" on the right side, but nothing seems to be changed.
None.
If you extract the anim via cascviewer and unpack it via animosity, there will be a hd_teamcolor and a sd_teamcolor layer. If it's not there, the sprite does not have those layers I'd assume, you'd have to make it manually and add it to the frames data json file (based on other anims that do have it)
Is anyone else having trouble importing frames?
Steps
1) open mainSD.anim from SC:BW game files
2) extract #275 -> command center
3) edit some of the PNG files ex: fill with red
4) sprite -> import frames
5) animosity dialog reports "6 imported frames"
6) instead of #275 , command center being replaced with new frames, nothing happens
7) If you import the frames without selecting an index / unit first, it will import to slot #000 correctly
None.
Sprites are not exported to images. Tell me what happened, please.
"Warning: Cannot get sprite dimensions.
Exported frames may be incorrectly aligned.
Caused by:
Cannot read entry 0, there are 0 entries"
None.