Staredit Network > Forums > Modding Assistance > Topic: Custom Unit Graphics
Custom Unit Graphics
Apr 11 2019, 2:44 am
By: Kolokol  

Apr 11 2019, 2:44 am Kolokol Post #1

In many custom mods for StarCraft: Brood War, I have seen custom units present; they even had fully custom overlays, rather than simply unused ones. A good example of this would be the Black Sun Battle Station from Legacy of the Confederation:

How does one go about editing unit graphics to make a custom unit like that? For instance, I would like to make a custom unit that looks like a ZSU-23-4 "Shilka"

I reckon that a reasonably close approximation can be done by replacing a normal Siege Tank's turret with a Covert Ops, adding on a few Goliath autoguns, and maybe a Comsat dish. Except, how does one actually modify unit graphics in such a way? What would I actually need to do to make those changes to unit graphics?


Apr 11 2019, 6:21 am Pr0nogo Post #2

You will need to pull out the frames of the units (extract from your MPQs using PyMPQ, open and extract the grp frames with PyGRP), then edit them (called "kitbashing") in photoshop or some other equivalent. I use CS6 and it works well enough. Once you've made your changes, convert back to the sc unit palette, save your frames, import them to a new grp using PyGRP, and import that new grp into your mod file using PyMPQ. Bear in mind that it has to replace an existing graphic and it will use that graphic entry's linked iscript in images.dat. Your animation code (iscript) will need to be edited with PyICE, most likely.

Apr 12 2019, 12:22 am Kolokol Post #3

I get the following error when I try to export any frames of a grp file, and the export fails:
Exception in Tkinter callback
Traceback (most recent call last):
File "Tkinter.pyc", line 1404, in __call__
File "PyGRP.pyw", line 702, in exports
File "PyGRP.pyw", line 18, in grptobmp
TypeError: isstr() takes exactly 1 argument (2 given)

What does this mean?

Post has been edited 1 time(s), last time on Apr 12 2019, 12:27 am by Kolokol.


Apr 12 2019, 12:30 pm Pr0nogo Post #4

It means something is breaking in PyGRP :)

If it runs and displays the image, odds are your PyMS setup is fine. I'd recommend redownloading to make sure you have the latest version (zerg here:

Could also be an error in your settings file that was introduced by the latest version though, so if that still doesn't work, you can try this outdated but potentially more functional version (neiv here:

If you still have no luck after those, I'd post in the PyMS thread (copy and paste your error here:

  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[04:17 am]
O)FaRTy1billion[MM] -- imagine having minerals
[2020-8-02. : 5:44 pm]
Dem0n -- ya I'm below 3100 smh
[2020-8-02. : 2:22 pm]
Wing Zero -- Ya
[2020-8-02. : 1:12 pm]
Voyager7456 -- seriously
[2020-8-02. : 12:56 pm]
lil-Inferno -- can these boxes fuccing give me some fuccing minerals already
[2020-8-02. : 12:56 pm]
lil-Inferno -- :wob:
[2020-8-02. : 12:22 pm]
Ultraviolet -- :wob:
[2020-8-01. : 8:55 pm]
MTiger156 -- :wob:
[2020-8-01. : 8:17 pm]
UndeadStar -- :wob:
[2020-7-30. : 9:53 am]
Ultraviolet -- C(a)HeK C(a)HeK
C(a)HeK shouted: Ultraviolet
Awesome! Unfortunately the Mercenaries video is just for normal Mercenaries not the 2020 version I made. But I watched the Mercs III video all the way through, it was a lot of fun to watch. He had some good feedback, I agreed with all of it.
Please log in to shout.

Members Online: Roy, Rawflesh0615