Staredit Network > Forums > Modding Discussion > Topic: Animosity
Apr 18 2018, 1:55 pm
By: Neiv  

Sep 16 2020, 4:11 pm AraNg Post #21

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 :-(


Sep 19 2020, 5:18 pm Neiv Post #22

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.


Sep 20 2020, 3:57 pm AraNg Post #23

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.


Feb 2 2021, 7:45 pm Neiv Post #24

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.



Feb 3 2021, 9:10 am IlyaSnopchenko Post #25

The Curious

Thanks Neiv, you are amazing.

Though I believe I've already told you that. :D

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. :D

Post has been edited 2 time(s), last time on Feb 3 2021, 9:23 am by IlyaSnopchenko.

Trial and error... mostly error.

Feb 3 2021, 4:44 pm Neiv Post #26

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.


Feb 3 2021, 6:18 pm IlyaSnopchenko Post #27

The Curious

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.

Feb 3 2021, 9:36 pm Neiv Post #28

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.


Feb 4 2021, 6:47 pm IlyaSnopchenko Post #29

The Curious

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.

Hits: 2 Size: 26.82kb
Hits: 1 Size: 653.76kb

Post has been edited 3 time(s), last time on Feb 4 2021, 6:55 pm by IlyaSnopchenko.

Trial and error... mostly error.

Mar 22 2021, 1:47 pm PiesOfNorth Post #30

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.


Mar 22 2021, 5:55 pm Neiv Post #31

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.


Mar 22 2021, 7:44 pm PiesOfNorth Post #32

Understood, thanks.


Aug 1 2021, 3:54 pm AraNg Post #33

do you have any plan to support changing crashbox or its preview?


Dec 28 2021, 8:04 am Chromowolf Post #34

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.

Hits: 1 Size: 641.94kb


Dec 28 2021, 10:28 am Nekron Post #35

I think you just have to edit the "teamcolor" layer

Jan 4 2022, 2:53 am Chromowolf Post #36

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.


Jan 4 2022, 5:36 pm Nekron Post #37

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)

Feb 10 2022, 12:38 pm RexyRex Post #38

Is anyone else having trouble importing frames?


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


Apr 13 2022, 11:38 pm Mizgir Post #39

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"


  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[2024-4-14. : 9:21 pm]
O)FaRTy1billion[MM] -- there are some real members mixed in those latter pages, but the *vast* majority are spam accounts
[2024-4-14. : 9:21 pm]
O)FaRTy1billion[MM] -- there are almost 3k pages
[2024-4-14. : 9:21 pm]
O)FaRTy1billion[MM] -- the real members stop around page 250
[2024-4-14. : 9:20 pm]
O)FaRTy1billion[MM] -- look at the members list
[2024-4-12. : 12:52 pm]
Oh_Man -- da real donwano
da real donwano shouted: This is the first time I've seen spam bots like this on SEN. But then again, for the last 15 years I haven't been very active.
it's pretty common
[2024-4-11. : 9:53 pm]
da real donwano -- This is the first time I've seen spam bots like this on SEN. But then again, for the last 15 years I haven't been very active.
[2024-4-11. : 4:18 pm]
IlyaSnopchenko -- still better than "Pakistani hookers in Sharjah" that I've seen advertised in another forum
[2024-4-11. : 4:07 pm]
Ultraviolet -- These guys are hella persistent
[2024-4-11. : 3:29 pm]
Vrael -- You know, the outdoors is overrated. Got any indoor gym and fitness equipment?
[2024-4-10. : 8:11 am]
Sylph-Of-Space -- Hello!
Please log in to shout.

Members Online: jun3hong, eksxo