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.

Who am I, and why should I care?

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

Who am I, and why should I care?

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: 1 Size: 26.82kb
Hits: 0 Size: 653.76kb

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

Who am I, and why should I care?

  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[02:32 pm]
DeltaCadimus -- Terrain Extension Mod inbound -
[01:49 pm]
C(a)HeK -- greetings all, test 12 is complete - :)
[10:57 am]
NudeRaider -- I wouldn't mind my 5k extra minerals :)
[09:27 am]
IlyaSnopchenko -- Ultraviolet
Ultraviolet shouted: I wish we got +1 mineral for each day of activity. Would help lurkers advance a bit :P
nah, you gotta work for it, dude :D
[05:59 am]
Ultraviolet -- I wish we got +1 mineral for each day of activity. Would help lurkers advance a bit :P
[05:23 am]
DankBudSmoker -- i posted there now give me 37 minerals
[12:11 am]
Nekron -- though to be fair with a nickname like candy90 i thought it was another spambot lol
[10:57 pm]
Nekron -- it will never die
[08:29 pm]
MTiger156 -- People are still posting in the "Donald Trump is President" thread. Makes me :lmfao:
[2021-3-05. : 6:42 am]
C(a)HeK -- greetings all, test 11 is complete - :)
Please log in to shout.

Members Online: Roy, C(a)HeK, MTiger156, Excalibur, Nekron