PyMS v1.2.1

Help - Resources - Discussion
User avatar
Posts: 548
Joined: Sun Jan 13, 2008 2:14 am

PyMS v1.2.1

Postby poiuy_qwert » Sun Mar 23, 2008 7:30 am

Full GUI Release:
Main PyMS Page

I'm no longer keeping the info (other then main version+dl link) in this thread updated like I used to (I left the old info in the spoiler), check the PyMS page and the Docs for updates/pics.
[spoiler][center]PyAI[/center]Updates:PyAI v2.0
-You can no longer remove scripts when they are referenced externally
-You are no longer required to open or save bwscript.bin, you can deal with aiscript.bin alone
-bwscript.bin no longer saves when it is empty
-Scripts that are supposed to be in bwscript.bin on load but could not be found are now discarded instead of stopping the loading process
-Added Open MPQ, Save MPQ, and Save SEMPQ

PyAI v1.9
-Added the Debuggerizer to the Script Editor
-Added better support for external jumps
-Added a right click menu to the Script Editor
-Added an internal error viewer when you receive a "corrupt ai/bwscript.bin" error
-You can now open the script editor without selecting a pre-existing script
-Updated some tooltips
-PyAI now generates strings if you open a script with a custom name not present in the current stat_txt.tbl
-The Find/Replace Dialog opens with the "Find" entry selected, and pressing Enter in the dialog now finds next
-Fixed the loop missing while warning (was giving incorrect warnings for certain structures)
-Fixed a tooltip problem with commands that used blocks
-Fixed a potential problem with tab-completion
-Fixed a problem editing BW scripts, and some other problems handling scripts in bwscript.bin
-Fixed a problem with editing scripts with extra information
-Fixed a problem with the size limitation error

PyAI v1.8
-Tab-Completion is no longer case-sensitive and selects the completed text so you can easily delete back to your origional text
-Command names for tab-completion now have higher priority when completing at the start of the line
-Fixed problem with parameter errors highlight the incorrect line in the Script Editor
-Fixed potential problem with tab-completion
-Fixed various bugs, including a bug which prevented files from loading and saving with an edited TBL
-Added an Extra Information column to the AI list
-Added Text drag and drop in Script Editor

PyAI v1.7
-Added an ASC3 to PyAI converter to the Script Editor
-Added search history to Find/Replace dialog and F3 for Search Next in Script Editor
-The Import List and External Definition files will now save between sessions
-Fixed Find/Replace dialog resize issue in Script Editor
-Fixed Alt+Up crash in Script Editor
-Fixed syntax highlighting problem with block names
-Fixed a bug when using External Definition files
-Fixed a bug when using an edited stat_txt
-Improved listbox navigation
-Selecting multiple scripts through the Find Dialog now correctly jumps to the selected scripts
-Strings in the TBL editor no longer require a null at the end, missing nulls will be added for you

PyAI v1.6
-Fixed missing command help in the Script Editor tooltips (this caused the tooltip crash from previous versions)
-Added missing unknown command 'if_towns'
-Added maximum file size warning

PyAI v1.5
-Fixed crash caused by tooltips in the Script Editor again (hopefully the last time)
-Fixed Script Editor syntax highlighting issues again (hopefully the last time also)
-Fixed indentating bug caused by tab-completion in the Script Editor
-Fixed the Find/Replace dialog in the Script Editor
-When testing for errors in the Script Editor, the first error/warning will be centered on
-Can now Export or Export As like normal saving in the Script Editor (also shows file name and path in titlebar)
-Added label names (including external labels) to tab-completion in the Script Editor
-Pressing Alt+Left and Alt+Right in the Script Editor shows you the previous and next errors/warnings respectivly
-Pressing Alt+Up and Alt+Down in the Script Editor shows you the prevuious and next labels/headers respectively
-Added toolbar hotkeys to tooltips
-Fixed bug when loading external jumps would sometimes give a "corrupt aiscript" error
-Fixed bug where errors would hide warnings
-Fixed bug where external jumps would give an "unused label" warning when they were used (did not effect compiles)
-Added a warning for commands that are not executed because they are after a goto(), stop(), or other blocking command

PyAI v1.4
-Fixed crash caused by tooltips in the Script Editor
-Fixed Script Editor syntax highlighting issues
-Fixed loading of incorrect DAT files on startup
-Added Unit, Updrade, and Technology stat_txt.tbl entries to tab-completion

PyAI v1.3
-The Script Editor is now multi-instanceable and no longer holds focus
-Added a status bar to the Script Editor
-Added Tab-Completion to the Script Editor for commands and types
-Added import and export to Script Editor
-Saving in the Script Editor no longer closes the window at the same time
-When closing the Script Editor it only asks to save when it has been edited
-Fixed some command tooltips in the Script Editor to show duplicate parameter types order
-You can now cancel saving with the Script Editor when a warning happens
-Fixed a bug when pasting text to the Script Editor
-Commands no longer need an open bracket to syntax hightlight in the Script Editor
-Added option to save Extra information
-Added Script Editor option to right click menu
-Fixed a small bug when adding a new script

PyAI v1.2
-Using the List Import dialog no longer gives incorrect line numbers in errors/warnings
-String Editor titlebar updates when loading new stat_txt.tbl files
-Fixed bug when opening a new stat_txt.tbl when the current one has been edited
-Decompiled scripts now use tabs instead of 4 spaces for indenting
-Added an AI Script Editor
-Double clicking scripts in the main window now brings up the AI Script Editor, not the AI ID, String and Extra Information editor
-Now checks if default stat_txt.tbl and dat files loaded successfully
-Started phasing out the useless long command names
-Military types no longer give warnings for workers and overlords

PyAI v1.1
-You can now use the List Import dialog to import multiple files as if they were one (so no need to combine scripts into one file)
-Fixed decompile bug
-Removed useless start_* command warning
-Fixed various little bugs
-Overlord no longer gives warnings for being built instead of trained
-Siege Tanks and Goliaths no longer give warnings for no ground weapons with some commands
-High level warnings are now a dark red in the warnings dialog

PyAI v1.0
-Fixed/Added support for units having the same name but different subname
-Fixed subunit attack warnings (for example a Siege Tank/Goliath has no ground/air weapon)
-Fixed ag_military and ga_military warnings
-Fixed external definitions (warning bug, decompile bug, and interpreting bug)
-Added a warning when multiple headers are used
-Made variables less strict
-Added a GUIQ&A:What version of Python does it need?
- There should be no dependancy, but the code was all written and tested using Python 2.5, and there is no guarantee that it will work with older versions. If PyMS is not working with your version of Python and you can not update to Python 2.5 or the latest version, contact me and i'll be willing to fix any version issues.

What can you do with .dat files?
- The dat files are only used for errors and warnings, to check if a unit is actually a building, or if it has ground/air attacks, etc. It is mostly useless unless you are writing an AI for a mod.

How do the function regular expression search works?
- Regular Expressions are a way to match strings in a dynamic way. Say you want to find the default scripts PMCx, TMCx, and ZMCx. With a normal search you can only search for one of them at a time, but with regex (abbreviation of regular expressions) you can easily find them all at once. Regex is a pretty advanced topic, but it was easy for me to add so I did. Just so you know, for my example these search strings would be valid regex to find all default scripts:

Code: Select all


Code: Select all


Code: Select all


And there are many more ways to do it. For a more in depth explanation you can go here.

What can I do with the add external files function?
- External Definition Files are the PyAI version of unitdef.ini, they are just files with variables only. For an example PyAI comes with the file unitdef.txt, which is the exact same as the unitdef.ini except in PyAI format. You just add one or more of them to the External Definitions dialog, then when you import/export, the variables are available in the code. The in-script way of using external definition files is to use the keyword 'extdef', like:

Code: Select all

extdef unitdef.txt

Code: Select all

extdef C:PyMSunitdef.txt


[center]PyGRP[/center]Updates:PyGRP v3.4
-Added support for SFGRP's vertical single BMP's
-Added Ctrl+A to select all frames
-The Frameset organized single BMP no longer outputs black padding on the right when there is less then one frameset

PyGRP v3.3
-Double-Clicking the preview now lets you select the preview background color
-Fixed frame importing
-Fixed handling of multiple frames in a single bmp

PyGRP v3.2
-Fixed saving of Show Preview option to settings
-Changed default options to Show Preview, Loop Preview, GRP Outline, and Frame Outline
-Added option to set file assiciations
-Added option to change preview speed (range of 50-1000ms), and changed default preview speed to 150ms from 300ms

PyGRP v3.1
-Fixed problem with opening some old RetroGRP compiled GRP's
-Added an icon to the statusbar to indicate edited status (like PyAI has)
-Fixed problem importing a single file when another file had the same name

PyGRP v3.0
-Fixed a bug in bmp to grp
-Added error trap for images containing too much pixel data
-Added a GUI

[center]PyDAT[/center]Updates:PyDAT v1.7

-Added unit and sprite GRP previews
-Added order highlight icon preview (dunno why this wasn't already there :S)
-Added Open MPQ, Save MPQ, and Save SEMPQ
-Added Options for MPQ and TBL settings

PyDAT v1.6
-Fixed a bug that made your changes not save when switching id's, not tabs
-You can now press Enter in the search text box to find next

PyDAT v1.5
-Fixed some compiling errors

PyDAT v1.4
-Some settings now disable in the GUI when hardcode restricted
-Unknown2 in Orders.dat tab updated to Main/Secondary (thanks FaRTy1billion)
-Fixed errors in loading/saving various values
-Finding is no longer case-sensitive
-Updated entry lists from DatEdit
-Added open directory
-Added display preview for icons, unit sizes, selection circles, and health bars

PyDAT v1.3
-Fixed a couple label names (Note: Breaks backwards compatability)
-Added a GUI

[center]PyPAL[/center]Updates:PyPAL v1.3
-Fixed a problem loading *.wep and *.pcx files

PyPAL v1.2
-Add a GUI

[center]PyTBL[/center]Updates:PyTBL v1.5
-The Find Dialog opens with the the "Find" entry selected, and pressing Enter in the dialog now finds next

PyTBL v1.4
-Fixed Delete button inconsistancy
-Fixed string navigation
-Strings no longer require a null at the end, if its missing it will be added automatically

PyTBL v1.3
-Added a GUI

[center]PyGOT[/center]Updates:PyGOT v1.2
-Added a GUI

[center]PyLO[/center]Updates:PyLO v1.4
-The Find Dialog opens with the the "Find" entry selected, and pressing Enter in the dialog now finds next

PyLO v1.3
-Fixed Test function

PyLO v1.2
-Added a GUI

[center]PyTRG[/center]Updates:PyTRG v2.4
-Fixed the Order action and misspelling of Patrol as Patroll

PyTRG v2.3
-Added the Default String keyword for Leaderboard actions which require strings
-Added a right click menu to the editor
-Fixed a potential problem with tab-completion
-Fixed a problem interpreting unit names with subnames
-The Find/Replace Dialog opens with the the "Find" entry selected, and pressing Enter in the dialog now finds next

PyTRG v2.2
-Added Dynamic Conditions/Actions for plugins
-Added include keyword to include other files in the source
-Fixed some errors

PyTRG v2.1
-Fixed Location inconsistancies

PyTRG v2.0
-Added support for TrigPlug by FaRTy1billion
-Added a GUI

[center]PyICE[/center]Updates:PyICE v1.4
-Added Sound and Graphics Insert/Previewer to the Script Editor (currently only for Windows)
-Added MPQ settings to be used with the previewer
-You no longer need to select items to open the Script Editor
-Fixed a problem with the settings
-Fixed right-click bug in script editor

PyICE v1.3
-The Find/Replace Dialog opens with the the "Find" entry selected, and pressing Enter in the dialog now finds next
-Added a right click menu to the Script Editor
-Fixed a potential problem with tab-completion
-Fixed a problem with chooseing custom TBL files
-Fixed a problem with compiling
-Fixed a problem with default command line parameters (sprites.dat and images.dat were reversed)

PyICE v1.2
-Fixed a problem with saving and testing scripts

PyICE v1.1
-Fixed tab-completion crash
-The Frame type now accepts decimal values

PyICE v1.0
-First public release

[center]PyFNT[/center]Updates:PyFNT v1.0
-First public release
Posts: 51
Joined: Sun Mar 23, 2008 5:39 am

Postby a_of_s_t » Tue Mar 25, 2008 1:25 am

Looks like sex. I can't wait.
User avatar
Posts: 548
Joined: Sun Jan 13, 2008 2:14 am

Postby poiuy_qwert » Wed Mar 26, 2008 7:07 am

Just updated PyAI screenshot and added another screenshot of some of PyAI's other windows. Currently whats left:

- Saving custom stat_txt.tbl's [Complete]
- Opening custom stat_txt.tbl's [Complete]
- Finishing off internal things (hotkeys, etc.) [Complete]
- Opening custom units.dat, upgrades.dat, and techdata.dat files [Complete]
- Using external definition files [Complete]
- Possibly a way to save/open custom file settings (which external definition, stat_txt.tbl, units.dat, upgrades.dat, and techdata.dat files to use) [Complete]
- Finding scripts, finding strings [Complete]

All windows that require it (main window, String Editor window, Edit String window, Edit AI Script window, and List Importing) are resizable and save their sizes between uses.


Edit: I guess i should add finding stuff too
Posts: 34
Joined: Thu May 03, 2007 1:33 am

Postby Laser_Dude » Fri Mar 28, 2008 4:03 am

I would assume the GUI is still written in Python, and is cross-platform? If so, 1337!
User avatar
Posts: 548
Joined: Sun Jan 13, 2008 2:14 am

Postby poiuy_qwert » Fri Mar 28, 2008 4:06 am

Yes it is.
Posts: 32
Joined: Sat Mar 15, 2008 8:50 am

Postby MamiyaOtaru » Sat Mar 29, 2008 2:56 am

Which toolkit? PyGTK? Qt? (just curious)
User avatar
Posts: 548
Joined: Sun Jan 13, 2008 2:14 am

Postby poiuy_qwert » Sat Mar 29, 2008 4:09 am

I dont understand what you mean. These are GUI's for two of the programs in PyMS, PyGRP and PyAI, which is a StarCraft modding suite (i guess you could consider it a "toolkit")
User avatar
Posts: 548
Joined: Sun Jan 13, 2008 2:14 am

Postby poiuy_qwert » Sat Mar 29, 2008 8:42 pm

PyAI GUI has been pre-released for testing. It still uses Python, so download it if you havn't already (Note: all code was written with Python 2.5, using earlier versions may not work. this will be fixed in later versions). To use it you can either double click on the PyAI.pyw file, or if you would like to catch bugs for me, run it through the command line like normal by navigating to the PyMS folder, then running it like:

Code: Select all

python PyAI.pyw

If you run by double clicking it and there is a bug, you may not notice it but whatever you are trying to do will not happen. If you run it through the command prompt, any bugs will be printed there, and I you should give them to me.

Have fun!

Edit: There were 2 problems found. If you are one of the 3 people that already downloaded it, redownload. If you want to fix the problems yourself do this:
- Open and delete line 813, then 1183, both should be lines that look like:

Code: Select all


- Open PyAI.pyw and change line 2001 from:

Code: Select all

self.edited['state'] = NORMAL


Code: Select all

self.editstatus['state'] = NORMAL
User avatar
Posts: 170
Joined: Wed Feb 06, 2008 11:12 pm

Postby ashara » Sat Mar 29, 2008 10:22 pm

Thanks for this GUI, that's working well for me and I will definitely use it for my new scripts. I have been able to take a script, modify it, compile and test it without having to remember these long command lines :)

I put some errors in my script to see what happened and it identified them when trying to import.

More things that would be cool to have :

- Possibility to keep label names from ScAIEdit scripts.

- Seeing more than 1 error when importing a script. That's just because I'm too lazy to correct, re Import, re corret and so on ... I make many mistakes too :P

Great job
Posts: 34
Joined: Thu May 03, 2007 1:33 am

Postby Laser_Dude » Sat Mar 29, 2008 10:23 pm

It doesn't seem to work for me.

Code: Select all

laserdude@laserdude-desktop:~/PyMS$ python PyAI.pyw
Traceback (most recent call last):
  File "PyAI.pyw", line 2249, in <module>
  File "PyAI.pyw", line 2169, in main
   gui = PyAI()
  File "PyAI.pyw", line 1161, in __init__
  File "/usr/lib/python2.5/lib-tk/", line 1518, in wm_iconbitmap
   return'wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "/home/laserdude/PyMS/Images/PyAI.ico" not defined

That image appears to be there. My OS is Ubuntu 7.10 Gutsy.

Return to “PyMS (poiuy_qwert's complete modding suite)”

Who is online

Users browsing this forum: No registered users and 3 guests