PDA

View Full Version : PyMS, Mac and Windows compatable Modding Suite


poiuyqwert
06-15-2008, 8:01 PM
PyMS is a StarCraft modding suite writting using Python 2.5 (http://www.python.org), meaning it will work for Mac users and Windows users alike (actually it will run on most OS's if it matters). PyMS contains 10 programs to edit various StarCraft files:


AI Scripts
GRP Files
All DAT Files
Palette Files
TBL Files
GOT Files
LO? Files
TRG Files
iscript BIN files
FNT Files


Currently the programs are all considered Beta, but should be stable. Each program includes a comprehensive command line interface, and a GUI. More editors are planned like a Special Palette editor, Tileset editor, and font editor, but the current programs are a higher priority at the moment. Currently the documentation is lacking, currently only having help on the command line interface, but it has good information on some of the programs. Most programs are straight forward and designed after other modding programs, so they should be easy to figure out and get used to. Also note that all testing is done on Windows XP with Python 2.5, so its possible but unlikely that things wont work outside of those conditions. If you have problems just post on the PyMS forums given directly below.

Bug reports and Ideas/Requests should be submitted to the PyMS Forums (http://www.broodwarai.com/forums/index.php?showforum=40), graciously hosted by bajadulce on BroodWarAI.com (http://www.broodwarai.com).

Download: PyMS v0.1e (http://www.broodwarai.com/forums/index.php?act=attach&type=post&id=1121) (Updated October 6, '08)

PyAI
http://i27.tinypic.com/2lubc5y.png

PyGRP
http://i28.tinypic.com/2luwaqr.png

PyDAT
http://i28.tinypic.com/2vklw02.png

PyPAL
http://i25.tinypic.com/20f9ob8.png

PyTBL
http://i26.tinypic.com/2lks9hz.png

PyGOT
http://i26.tinypic.com/2ufyqtt.png

PyLO
http://i31.tinypic.com/xc53br.png

PyTRG
http://i33.tinypic.com/2gx1ibm.png

PyICE
http://i36.tinypic.com/bimsci.png

PyFNT
http://www.broodwarai.com/pages/images/PyMS/PyFNT.png

TheNomad
06-16-2008, 2:32 AM
Very nice (and apparently successful) attempt to cross-platform modding tools :)

U-238
06-16-2008, 10:06 AM
Shit man this stuff looks sweet. Keep going! This would be a huge thing to pull off if you're fully successful. Feel free to ask any questions you may have around here.

May I ask if it's going to be open source?

poiuyqwert
06-16-2008, 2:22 PM
It is totally open source, and will be the whole time. I may at one point release a version that has all the programs compiled to EXE's for lazy windows users, but the source would still be available as the main download. Thanks for the support!

Twitch6000
06-16-2008, 3:16 PM
Btw for any linux users here it works on it aswell.

Basan
06-17-2008, 7:39 PM
It looks nifty, Poiuy'. The utilities cross over that you're trying to pull seems all right. :tup: Even if the PyAI looks a lot SC AI Edit 3.1 and am almost sure to have seen a fairly similar thing to PyPal.

Now just a thing that I won't do is to create another account over a forum just to report hassles that I might find with the program. For that, I'll simply use this thread instead. ;p

poiuyqwert
06-18-2008, 2:00 AM
Most programs are straight forward and designed after other modding programs, so they should be easy to figure out and get used to.

Yes, PyAI looks like SCAIEdit because it was designed after and uses a lot of the icons from it.

And you can report stuff in this topic, just dont expect to get as quick a response or priority.

SilverCrusader
06-20-2008, 12:42 PM
Any chance you'll be adding a tileset editor? The only one there is... Is well... Buggy.
It says fuck you when you go over a certain number of tiles edited.

TheNomad
06-20-2008, 3:54 PM
Not to mention the "unknown" labels.

poiuyqwert
06-21-2008, 12:22 AM
No there is currently no tile editor in PyMS, but that will change in the future. If you are a windows user (which im assuming you are since you have used TileEdit), you can use the current build of Hawt Tiles I just got from FaRTy1billion. Its still incomplete but is much better then TileEdit. I'll attach it to the post.

SilverCrusader
06-21-2008, 11:31 AM
OMG TY! The interface looks so much cleaner and easier to work with than tileedit. I'll see if I can actually edit an entire tileset without it crapping out on me.

poiuyqwert
06-21-2008, 2:20 PM
No problem. If you find any bugs or have an ideas on his tile editor just pass em to me and i'll tell FaRTy.

Now back on topic. Has anyone even downloaded PyMS let alone tried one of the programs..?

bajadulce
06-27-2008, 12:12 PM
Poiuy has worked hard on this and it is a fantastic package. One thing not mentioned is that some of these tools can do things that other programs simply can't.

In the case of PYAI, the program can support 2 functions that SCAIEdit will not.
1. String support
2. External jump calls

String support allows for an intersting use of the debug command. Here the computer can actually transmit messages in melee. Warboard's Radimax aka Polaris[MM] uses this to send about 92 random messages in his mod "Critters vs. Hunters". Some of which are pretty funny shit. :P I Love it. Check it out if you haven't already.

External Jump calls allow Ai scripts to basically jump to another script contained in aiscript.bin. Previously scripts could only jump within the SAME script. This allows for HUGE scripts that otherwise would not be possible. One example was the ability for the computer to randomly select between several scripts as is the case in our recent big hit Entropy II.

.... so great job p_q. And big thnx to Starcraft.org and it's members for the support.

TheNomad
06-27-2008, 3:56 PM
1. String support
2. External jump calls

:o

GJ !

poiuyqwert
07-01-2008, 10:32 PM
It actually has a bunch more other new features, but those are definitely two key advantages. Thanks baja!

poiuyqwert
07-07-2008, 4:40 PM
So noone has anything to say? Im forced to double post to bump my topic, when I would have thought this would be a somewhat large thing to the StarCraft modding community.

ShadowOps
07-07-2008, 4:47 PM
n00b Question:
How do you open it? Theres just a bunch of folders and .pyw files...

TheNomad
07-07-2008, 4:52 PM
poiuyqwert, rest assured I am crazy enough to test them, but not atm... my final paper exam is approaching and I am giving it 90% (10% is still left for my leisure time which I mostly use to sleep and relax), but afterwards, I'll give them some crashtests :)

... trust me, you got me interested :D

poiuyqwert
07-07-2008, 4:53 PM
First you'll need Python. Download and install Python 2.5 from http://www.python.org, then the .pyw files will act like any normal .exe, just double click them and they will start (except for PyTRG since it has no GUI, only a command line interface).

Edit: Thanks TheNomad, I didn't know anyone still had exams and papers left. Sorry to hear that :P Good luck with it, and thanks for the interest!

U-238
07-08-2008, 9:08 PM
I've been using this for a while now and I can't thank you enough for its creation. I've been dreaming for ages of a modding suite all in one package and this has the promise to become that.

Once this becomes a little more mature and develops a large user base I'd be happy to help write up a help file for this or something. (there doesn't appear to be one? it errors when clicking the help button)

poiuyqwert
07-09-2008, 12:45 AM
There is a very basic help file in the Docs folder, and the Help button should open the help for the program in your browser... What program gives you the problem with the help and whats the error? Anyway I will definitely want help with the docs at some point much further in development, so thanks for the offer!

Also, here are some updates about whats been done for the next version:
I've started to do a more in depth testing of PyDAT (something I never really did before), and have found some issues. Currently PyDAT will corrupt units.dat and weapons.dat when saving. This is a result of incorrect loading and compiling of the entries: StarEditPlacementBoxWidth, StarEditPlacementBoxHeight, AddonHorizontal, AddonVertical, UnitSizeLeft, UnitSizeUp, UnitSizeRight, and UnitSizeDown for units.dat, and MinimumRange, and MaximumRange for weapons.dat. There also seem to be some issues related to the dropdown boxes. All these issues have been fixed for the next release along with various improvements such as icon, unit size, and healthbox previews, plus disabling of things such as Infestation which are restricted to certain unit id's.

Updates for PyTRG are that the next version will support TrigPlug (actually it will be the only editor that supports TrigPlug). TrigPlug is a new FireGraft plugin being developed by FaRTy1billion which adds custom conditions and actions for custom map makers. These will range from changing the speed of the game IN game, to doing math with death counters. Check out TrigPlugs topic here (http://www.staredit.net/topic/2360/).

Edit: I also forgot to mention. If someone has used PyDAT to edit a units.dat or weapons.dat, you can send it to me and I will check them for corruption and fix them.

Aofst
07-11-2008, 2:58 PM
String support allows for an intersting use of the debug command. Here the computer can actually transmit messages in melee. Warboard's Radimax aka Polaris[MM] uses this to send about 92 random messages in his mod "Critters vs. Hunters". Some of which are pretty funny shit. :P I Love it. Check it out if you haven't already.

That was made by me... not Polaris... :concern:

But anyway, it actually uses 102 taunts that are randomly sent out at random times by every computer player. The system uses both external jumps, internal jumps, and the debug command.

poiuyqwert
07-14-2008, 9:01 PM
Just a little update. Not only am I adding support for TrigPlug to PyTRG, I have also finished the GUI for PyTRG. This shot shows the GUI and an example of TrigPlug actions:

http://i36.tinypic.com/2ewnos0.png

Lithium
07-14-2008, 9:53 PM
sh*t looks sweet. Did you personally create it or are you just being a courier for someone else?

poiuyqwert
07-14-2008, 10:12 PM
Did I create what? Im assuming you mean did I create TrigPlug. No I did not, as stated above:
Updates for PyTRG are that the next version will support TrigPlug (actually it will be the only editor that supports TrigPlug). TrigPlug is a new FireGraft plugin being developed by FaRTy1billion which adds custom conditions and actions for custom map makers. These will range from changing the speed of the game IN game, to doing math with death counters. Check out TrigPlugs topic here (http://www.staredit.net/topic/2360/).

If you meant did I create PyMS and its programs inside then yes I did.

BlademasterSlsh
07-15-2008, 8:58 AM
Are there any plans for making a "Classic Trigedit" view?

Aofst
07-15-2008, 11:31 AM
Are there any plans for making a "Classic Trigedit" view?
Why would he do that? Text editing is the future, EMBRACE IT!

poiuyqwert
07-15-2008, 12:08 PM
Kind of. My plan is to keep it text based, but allow you to add and edit specific Conditions and Actions (possibly whole triggers) in the classic way if you want. Though this might not be implemented till a later version since it is not necessary.

I also would like to mention that, like PyAI, it has full tab-completion on Regular/TrigPlug Condition/Action names, Keywords (like At Least), Unit names, AI Script ID's, AI script names, and variables. It also has hover info, so when you hover over a Regular/TrigPlug Condition/Action a tooltip shows the command, parameters, a description of what it does, then a list of what each type of parameter is. I'm also looking into adding code collapsing, but it will most likely take a large re-write of my code displaying textbox, so it might not happen till a later version.

TheNomad
07-15-2008, 2:15 PM
Does it suport custom stat_txt.tbl files on keyword completion ? i.e. making specifics maps for a mod that has custom unit names

poiuyqwert
07-15-2008, 3:44 PM
Yes it supports custom stat_txt.tbl and custom aiscript.bin, including for tab-completion.

poiuyqwert
07-17-2008, 7:37 PM
I've started working on an iscript editor for PyMS. I have finished loading files and pretty much finished decompiling files, just need to test it more and have extra info printed in comments like IceCC. Here is an example decompile:
# ----------------------------------------------------------------------------- #
.headerstart
IsId 18
Type 26
Init HydraliskInit
Death HydraliskDeath
GndAttkInit HydraliskGndAttkInit
AirAttkInit HydraliskGndAttkInit
Unused1 [NONE]
GndAttkRpt HydraliskGndAttkRpt
AirAttkRpt HydraliskGndAttkRpt
CastSpell [NONE]
GndAttkToIdle HydraliskGndAttkToIdle
AirAttkToIdle HydraliskGndAttkToIdle
Unused2 [NONE]
Walking HydraliskWalking
WalkingToIdle HydraliskWalkingToIdle
SpecialState1 [NONE]
SpecialState2 HydraliskSpecialState2
AlmostBuilt [NONE]
Built [NONE]
Landing [NONE]
LiftOff [NONE]
IsWorking [NONE]
WorkingToIdle [NONE]
WarpIn [NONE]
Unused3 [NONE]
InitTurret [NONE]
Disable [NONE]
Burrow HydraliskBurrow
UnBurrow HydraliskUnBurrow
Enable [NONE]
.headerend
# ----------------------------------------------------------------------------- #

HydraliskInit:
imgul 30 0 0
HydraliskWalkingToIdle:
playfram 85
HydraliskLocal0:
waitrand 63 75
randcondjmp 25 HydraliskLocal1
randcondjmp 128 HydraliskLocal2
goto HydraliskLocal0

HydraliskLocal1:
playfram 0
wait 1
playfram 17
wait 1
playfram 34
wait 1
playfram 51
wait 25
playfram 34
wait 1
playfram 17
wait 1
playfram 0
wait 1
goto HydraliskWalkingToIdle

HydraliskLocal2:
randcondjmp 128 HydraliskLocal3
playfram 102
wait 1
turnccwise 1
playfram 119
wait 1
turnccwise 1
playfram 136
wait 1
turnccwise 1
playfram 153
wait 1
turnccwise 1
playfram 170
wait 1
turnccwise 1
playfram 187
wait 1
turnccwise 1
goto HydraliskWalkingToIdle

HydraliskLocal3:
playfram 102
wait 1
turncwise 1
playfram 119
wait 1
turncwise 1
playfram 136
wait 1
turncwise 1
playfram 153
wait 1
turncwise 1
playfram 170
wait 1
turncwise 1
playfram 187
wait 1
turncwise 1
goto HydraliskWalkingToIdle

HydraliskDeath:
playsnd 867
setfldirect 0
playfram 204
wait 2
playfram 205
wait 2
playfram 206
wait 2
playfram 207
wait 2
playfram 208
wait 2
playfram 209
wait 2
playfram 210
wait 2
playfram 211
wait 2
lowsprul 147 0 0
wait 1
end

HydraliskGndAttkInit:
playfram 0
wait 1
nobrkcodestart
playfram 17
wait 1
playfram 34
wait 1
playfram 51
wait 1
HydraliskGndAttkRpt:
wait 1
playfram 68
playsnd 64
sproluselo 332 9728
wait 1
playfram 51
wait 1
nobrkcodeend
gotorepeatattk
ignorerest
HydraliskGndAttkToIdle:
playfram 34
wait 1
playfram 17
wait 1
playfram 0
wait 1
goto HydraliskWalkingToIdle

HydraliskWalking:
move 2
wait 1
playfram 102
move 2
wait 1
playfram 119
move 2
wait 1
playfram 136
move 6
wait 1
playfram 153
move 6
wait 1
playfram 170
move 6
wait 1
playfram 187
move 2
wait 1
playfram 85
goto HydraliskWalking

HydraliskSpecialState2:
playfram 280
goto HydraliskLocal4

HydraliskLocal4:
wait 125
goto HydraliskLocal4

HydraliskBurrow:
imgol 423 0 0
playfram 212
wait 1
playfram 229
wait 1
playfram 246
wait 1
playfram 263
wait 1
playfram 280
wait 1
sigorder 4
goto HydraliskLocal4

HydraliskUnBurrow:
waitrand 1 5
imgul 423 0 0
playfram 263
wait 1
playfram 246
wait 1
playfram 229
wait 1
playfram 212
wait 1
sigorder 4
goto HydraliskWalkingToIdle

TheNomad
07-18-2008, 2:44 PM
One question and one request:

Q: does the trigger editor support EUD triggers ? (including correctly identifying them and not having to write 128738947865 deaths of unit Blah)

R: can you add a INI file where we can rename opcodes for the iScripter ? (also, does the iScripter have autocomplete ?)

poiuyqwert
07-18-2008, 2:58 PM
1) Yes it supports EUD triggers, but no it doesn't identify them because there is no practical way to do it. If you want to though its easy to just create a variable with the extended unitid and/or playerid, comment it with the info you want to know, and use the variable wherever you need to.

2) There is no plan for an external opcode definition, but its possible. One thing I should mention though is that all Header labels (for example Init, GndAttkInit, etc.) and Opcodes will support all known variations, so scripts made on older versions of IceCC will still be supported (for example the newest version uses StarEditInit as one of the header labels, but on the previous version it was TurretInit. Using either in your code would be the exact same thing).
First of all none of PyMS's programs have auto-complete, they use tab-completing (im guessing that was just a mistake when you posted). And yes, it will have tab-completion, but as you know most of the values are numbers (for example weapons, sprites, and images are referenced by ID and not name), so im not sure what im going to do for that. For sure there will be opcode and labels in tab-completion, but other then that i'll have to think about it and see.

Now for a small update, PyIScript (ideas for a better name?) decompiles are almost indistinguishable from IceCC:
# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 029 Hydralisk (zerg\hydra.grp)
.headerstart
IsId 18
Type 26
Init HydraliskInit
Death HydraliskDeath
GndAttkInit HydraliskGndAttkInit
AirAttkInit HydraliskGndAttkInit
Unused1 [NONE]
GndAttkRpt HydraliskGndAttkRpt
AirAttkRpt HydraliskGndAttkRpt
CastSpell [NONE]
GndAttkToIdle HydraliskGndAttkToIdle
AirAttkToIdle HydraliskGndAttkToIdle
Unused2 [NONE]
Walking HydraliskWalking
WalkingToIdle HydraliskWalkingToIdle
SpecialState1 [NONE]
SpecialState2 HydraliskSpecialState2
AlmostBuilt [NONE]
Built [NONE]
Landing [NONE]
LiftOff [NONE]
IsWorking [NONE]
WorkingToIdle [NONE]
WarpIn [NONE]
Unused3 [NONE]
StarEditInit [NONE]
Disable [NONE]
Burrow HydraliskBurrow
UnBurrow HydraliskUnBurrow
Enable [NONE]
.headerend
# ----------------------------------------------------------------------------- #

HydraliskInit:
imgul 30 0 0 # Hydralisk Shadow (zerg\zhyShad.grp)
HydraliskWalkingToIdle:
playfram 0x55 # Frame set 5
HydraliskLocal00:
waitrand 63 75
randcondjmp 25 HydraliskLocal01
randcondjmp 128 HydraliskLocal02
goto HydraliskLocal00

HydraliskLocal01:
playfram 0x00 # Frame set 0
wait 1
playfram 0x11 # Frame set 1
wait 1
playfram 0x22 # Frame set 2
wait 1
playfram 0x33 # Frame set 3
wait 25
playfram 0x22 # Frame set 2
wait 1
playfram 0x11 # Frame set 1
wait 1
playfram 0x00 # Frame set 0
wait 1
goto HydraliskWalkingToIdle

HydraliskLocal02:
randcondjmp 128 HydraliskLocal03
playfram 0x66 # Frame set 6
wait 1
turnccwise 1
playfram 0x77 # Frame set 7
wait 1
turnccwise 1
playfram 0x88 # Frame set 8
wait 1
turnccwise 1
playfram 0x99 # Frame set 9
wait 1
turnccwise 1
playfram 0xaa # Frame set 10
wait 1
turnccwise 1
playfram 0xbb # Frame set 11
wait 1
turnccwise 1
goto HydraliskWalkingToIdle

HydraliskLocal03:
playfram 0x66 # Frame set 6
wait 1
turncwise 1
playfram 0x77 # Frame set 7
wait 1
turncwise 1
playfram 0x88 # Frame set 8
wait 1
turncwise 1
playfram 0x99 # Frame set 9
wait 1
turncwise 1
playfram 0xaa # Frame set 10
wait 1
turncwise 1
playfram 0xbb # Frame set 11
wait 1
turncwise 1
goto HydraliskWalkingToIdle

HydraliskDeath:
playsnd 867 # Zerg\Hydra\ZHyDth00.WAV
setfldirect 0
playfram 0xcc # Frame set 12
wait 2
playfram 0xcd # Frame set 12
wait 2
playfram 0xce # Frame set 12
wait 2
playfram 0xcf # Frame set 12
wait 2
playfram 0xd0 # Frame set 12
wait 2
playfram 0xd1 # Frame set 12
wait 2
playfram 0xd2 # Frame set 12
wait 2
playfram 0xd3 # Frame set 12
wait 2
lowsprul 147 0 0 # Hydralisk Remnants (zerg\zhyDeath.grp)
wait 1
end

HydraliskGndAttkInit:
playfram 0x00 # Frame set 0
wait 1
nobrkcodestart
playfram 0x11 # Frame set 1
wait 1
playfram 0x22 # Frame set 2
wait 1
playfram 0x33 # Frame set 3
wait 1
HydraliskGndAttkRpt:
wait 1
playfram 0x44 # Frame set 4
playsnd 64 # Bullet\SpoogHit.wav
sproluselo 332 0 # Needle Spines (thingy\spooge.grp)
attack
wait 1
playfram 0x33 # Frame set 3
wait 1
nobrkcodeend
gotorepeatattk
ignorerest
HydraliskGndAttkToIdle:
playfram 0x22 # Frame set 2
wait 1
playfram 0x11 # Frame set 1
wait 1
playfram 0x00 # Frame set 0
wait 1
goto HydraliskWalkingToIdle

HydraliskWalking:
move 2
wait 1
playfram 0x66 # Frame set 6
move 2
wait 1
playfram 0x77 # Frame set 7
move 2
wait 1
playfram 0x88 # Frame set 8
move 6
wait 1
playfram 0x99 # Frame set 9
move 6
wait 1
playfram 0xaa # Frame set 10
move 6
wait 1
playfram 0xbb # Frame set 11
move 2
wait 1
playfram 0x55 # Frame set 5
goto HydraliskWalking

HydraliskSpecialState2:
playfram 0x118 # Frame set 16
goto HydraliskLocal04

HydraliskLocal04:
wait 125
goto HydraliskLocal04

HydraliskBurrow:
imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp)
playfram 0xd4 # Frame set 12
wait 1
playfram 0xe5 # Frame set 13
wait 1
playfram 0xf6 # Frame set 14
wait 1
playfram 0x107 # Frame set 15
wait 1
playfram 0x118 # Frame set 16
wait 1
sigorder 4
goto HydraliskLocal04

HydraliskUnBurrow:
waitrand 1 5
imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp)
playfram 0x107 # Frame set 15
wait 1
playfram 0xf6 # Frame set 14
wait 1
playfram 0xe5 # Frame set 13
wait 1
playfram 0xd4 # Frame set 12
wait 1
sigorder 4
goto HydraliskWalkingToIdle

TheNomad
07-18-2008, 6:18 PM
I sent the unknown image names to BroodKiller so use the images name list from the latest DatEdit. Maybe a better name would be PyScript (a pun on P-iScript) - and yeah, I meant tab-completion ^^

Are there any plans to decipher the BW beta iScript format ?

poiuyqwert
07-19-2008, 12:44 AM
What do you mean unknown image names and images names list? I do use all the files in DatEdit's Data folder which includes an Images.txt and IScriptIDList.txt among other things if thats what you mean.

I was thinking PyScript, but i didn't know if it would work. We'll see.

No I don't have any plans to, maybe i'll look into it sometime later though.

TheNomad
07-19-2008, 3:17 PM
Prior to the uberly latest release of DatEd (a few weeks ago) there were a number of Sprites and Images marked as "Unknown". After some testing + disassembling the Beta exes of both SC and BW I found the real names (+ 2 or 3 guessed using common sense) and asked Broody to name them accordingly.

(Best example, compare the list from DatEdit 1.0 and that of the latest version and search for the term "unknown" - or in some cases "unused").

The list from SF's latest ICEcc update doesn't have the complete name list (yet).
If I catch SF online I'll ask her to update 'em.

And if you could make the commands customizable, it'd be really cool (and useful) :)
No priority, of course, just a "think about it" type of thing as some of us maniacs like a lot of customizing (and personalizing :P)

P.S. apart from code changes/optimizing, the BIGGEST change in the BW beta iScript is the fact there are 3 opcodes removed from the final version: 0x0C, 0x3E and 0x43

poiuyqwert
07-19-2008, 4:55 PM
Oh I see, I use DatEdit's Data files for PyDAT and for the IScript names lists too, but I updated them after I released the last version of PyMS. So the next version will have to up to date lists.

I'll think about external opcode customization, but in the mean time it is really easy to just edit the programs code and put your own names in if you wanted.

TheNomad
07-19-2008, 4:59 PM
That works too :D My exams are done btw so I wanna try 'em out next week. You got me really worked up from your descriptions and they do sound promising :)

poiuyqwert
07-19-2008, 8:29 PM
I'll work my best to get the next release out for your testing then! :)

poiuyqwert
07-28-2008, 1:29 PM
warboards is back, yay! Ok so I decided to go with PyICE for my iscript editor. Here are screenshots:
http://i36.tinypic.com/3312bgz.jpg
http://i37.tinypic.com/f4eoie.png

I'll also be releasing the new version of PyMS including many bug fixes, new features, the PyTRG GUI, and PyICE either today or the next couple of days, so if you have any bugs/ideas/features to tell me about now would be the time.

poiuyqwert
07-29-2008, 12:40 AM
Ok new version of PyMS is out containing many bug fixes and new features, the GUI for PyTRG, and the whole new PyICE. Check first post for updated download link or check out the PyMS forums (http://www.broodwarai.com/forums/index.php?showforum=40).

poiuyqwert
08-09-2008, 6:28 PM
So noone has feature suggestions or bug reports?

U-238
08-09-2008, 11:40 PM
Haven't had time to do much modding lately. I'll download the new version and do some testing soon. :)

EDIT: why hasn't this been stickied yet? This is definitely worth the added attention.

BroodKiller
08-14-2008, 9:44 AM
Although my voice doesn't mean much, I strongly second stickifying this thread.

Lithium
08-14-2008, 10:40 PM
If you need any GUI work, just hit me up. My instant portfolio is aeroxf.deviantart.com

Good luck with this project.

poiuyqwert
08-14-2008, 11:13 PM
Thanks for the offer, but I think im gunna stick solo.

Edit: Next release will have a FNT editor (unencrypted fonts only). Currently opening and saving are done, and here is an example font8.fnt export:
http://i38.tinypic.com/2yyduti.jpg

poiuyqwert
08-18-2008, 2:20 PM
Ok here is what PyFNT looks like currently. For now the plan is to only let you preview characters, and export to/import from bmp's to edit the font. Later there may be the possibility of have basic MSPaint like editing features, but they would be very basic so I dont really see the point. Anyway here you go:

http://i35.tinypic.com/dynbkk.png

poiuyqwert
08-27-2008, 7:10 PM
Yay another tripple post :S

I have released the new PyMS v0.1e which contains bug fixes, new features, and the all new PyFNT shown above. As always you can check out the PyMS forums here (http://www.broodwarai.com/forums/index.php?showforum=40), or you can check out the new PyMS page (http://www.broodwarai.com/pages/PyMS2.html)!

U-238
08-27-2008, 10:30 PM
Don't be discouraged about posting multiple times in your own thread. If happens a great many times in WIP topics like this one. Even though people may not reply to this they are watching and using this. Just keep up the great work and it will pay off.

poiuyqwert
08-29-2008, 2:41 PM
Thanks, im not discouraged from multiple posting (as you can see from the many times I do it here ;)), just a little discouraged from working on PyMS. Though I mostly do it for fun, a challenge, and just the love of StarCraft and its mapping/modding, it would just be nice to get some requests/ideas to help motivate me :P

xNaIx
09-07-2008, 10:46 AM
Firstly very very nice yet again. I can't quite understand how you make such fast progress. On thing that would be cool is if you make PyTRG both text and graphical. And I forgot does PyTRG open trigs in a map?

Secondly, I hate it when people stop replying/commenting to the project.

poiuyqwert
09-07-2008, 2:24 PM
I'd probably say the speed of production is a side effect of using Python :P

Did you mean graphical as in the classic StarEdit triggers? If so:

Kind of. My plan is to keep it text based, but allow you to add and edit specific Conditions and Actions (possibly whole triggers) in the classic way if you want. Though this might not be implemented till a later version since it is not necessary.

Not sure when I'll be able to add it, but I wan't to at some point.

And currently no it doesn't open trigs inside a map (though it is compatible with the chk's TRIG section so some simple hex editing could make it usefull), so it is pretty much only usefull for GOT trg files (modders), and map editors with an "Import Triggers fro *.trg" option (currently only StarEdit). The reason being there is currently no way for me to open mpq files (i'm looking into making a Python wrapper for SFmpqapi, but havn't had much time to look into it). I would like to make a very basic chk "editor" which would just load all the sections into strings and I could just replace the TRIG section with the custom triggers, but I havn't started it.

Thanks for the support!

xNaIx
09-08-2008, 9:39 PM
Well I will be coding my own MPQ opener/editor frameworks, I could try to make a python version if you'd like.

poiuyqwert
09-08-2008, 10:09 PM
That would be very nice. I'm not very knowledgeable in the area, but it should be easy to write a wrapper to Python. But there would need to be some way to have it work on mac and windows (linux if possible), which im hoping just means sticking a .so and .dll in the same spot and Python will use the appropriate one. Thanks for the offer, it would be amazing to have an MPQ module for Python!

poiuyqwert
10-06-2008, 9:47 PM
I just uploaded a new release of PyMS, containing many fixes and new features. I highly recommend upgrading. Check the main post or follow the links in my sig.

(And thanks for the sticky whoever did it!)

poiuyqwert
10-13-2008, 9:24 PM
Ok BIG news, so big I thought it warranted a double post! I have successfully compiled all the programs into windows EXE's! Windows users are no longer required to install Python, just download PyMS and run it!

Download Here! (http://www.broodwarai.com/forums/index.php?showtopic=456)


Edit: In my thanksgiving haste i forgot to include unitdef.txt, and didn't notice PyICE did not work. I just uploaded the fixed zip, so if you are one of the 7 that downloaded the other version you should update.

xNaIx
10-14-2008, 10:52 PM
I could try doing that on a mac if you would like.

poiuyqwert
10-14-2008, 11:06 PM
Thats alright. Since Macs come with Python they don't get to complain about having to download other stuff to run the programs. If there is a reason i don't know about for having them as app's, then I guess it wouldn't hurt. If it ever comes to it I'll see if I can compile them on Windows first, then if not i'll see if you still want to help. Thanks for the offers of help, its greatly appreciated!

shaggydavid
10-22-2008, 6:13 PM
pygrp, has a really cool function. +rep

poiuyqwert
10-25-2008, 7:53 PM
Thanks. It was a great feature of sfgrpconv, but I think having it layed out in framesets is nicer.

shaggydavid
10-28-2008, 5:27 PM
very nice for large number of framesets but the verticle layout is nice for most buildings and neutral units.

poiuyqwert
10-30-2008, 7:27 PM
I still think horizontal is better in that situation, since we read left to right and stuff like that. Anyway, do you have any suggestions or ideas?

shaggydavid
10-31-2008, 10:09 AM
three things that would be cool

1 i have pallets that i would like to add to pygrp for converting.

2 option to convert verticle

3 frame boarders. (attched example below)(jepg rapes the quality but there is a frame boarder on the pic)

poiuyqwert
10-31-2008, 1:11 PM
1) Place the palette you would like into the Palettes folder and it will be in the list of palettes.
2) I will add this.
3) There are two options bellow the preview to show Frame and GRP outlines (borders).

shaggydavid
11-01-2008, 12:58 PM
the export frames command "with boarders" so the output of pygrp puts boarders on the frames.

poiuyqwert
11-01-2008, 2:42 PM
Oh i see.... What is the point of that? If that were possible there would be no way to import them in that form.

shaggydavid
11-01-2008, 2:58 PM
if it exports with a red frame around it and standard black background, paint fill tool in an editor can remove the boarder before import. the reason behind this is i usally put boarders on frames to tell where my boundries are, since it is easer to keep the same size pramiters for a unit, than to edit its size, placement square and select circle. really this kind of tool might be impracticle to most users but it is a nice idea for anyone tring to do all the frame editing for starcraft by themselves.

poiuyqwert
11-01-2008, 3:31 PM
The point of exporting to a single bmp is for easier recoloring of the unit and other mass effect type changess. You should use the normal exporting for what you are talking about, then you have the actual bmp size as your "border". Currently I see no benefit in this idea, just a bunch of problems, but I may just not get it.

shaggydavid
11-01-2008, 5:05 PM
it is alright, i will continue to do it anyway. i use some visual "tricks" sometimes where the boarders come in handy, but i have become custom to making the boarders and copy/pasting them several times.

poiuyqwert
11-11-2008, 10:20 PM
Small update: One of the next versions main new features is added support for MPQ's! This means PyDAT will now show previews of grp's, and more things to come! Here is a preview:
http://i37.tinypic.com/32znott.png

shaggydavid
11-12-2008, 11:07 AM
Awsome!!!!

edit: new post

i am about to start using pytbl is there any thing i need to know about it, or how it performs?
expecting to get to it for the terrans tomorrow.

poiuyqwert
11-19-2008, 12:09 AM
Nothing really, its pretty much the same as TBLPad.

Now for some more cool stuff. I have now added an Insert/Previewer window to PyICE for easy GRP previewing and easy frame/image/sprite/flingy command and id editing and inserting:
http://i33.tinypic.com/nfihaq.jpg