Staredit Network > Forums > Modding Discussion > Topic: PyMS - Download, Support, and Maintenance
PyMS - Download, Support, and Maintenance
Jan 10 2019, 9:08 pm
By: poiuy_qwert
Pages: < 1 2 3 >
 

Jan 19 2019, 8:31 am Pr0nogo Post #21



Added a few new issues related to PyMPQ. Also found some problems with PyDAT but haven't found time to reproduce them:

-"sometimes" changing info in units.dat doesn't mark the file as unsaved (I changed air weapon and air max hits in alan schezar's entry).
-if you edit an entry and then copy & paste it, it pastes the values before your edits (may only happen after saving, only found it in weapons.dat so far while editing twin autocannons and pasting over the hero variant of the attack)
-after selecting orderid 154 in orders.dat, moving up and down with arrow keys updates id selected, but doesn't change loaded stats (you have to left click on the entry to update the stats)




Jan 23 2019, 2:55 am Cool-Knight Post #22



PyMPQ crashes when I extract any files.
Error log.
Code
Exception in Tkinter callback
Traceback (most recent call last):
 File "C:\Python27\lib\lib-tk\Tkinter.py", line 1537, in __call__
   return self.func(*args)
 File "D:\StarCraft Stuff\PyMS-master\PyMS-master\PyMPQ.pyw", line 1087, in extract
   r = SFileReadFile(fh)
 File "D:\StarCraft Stuff\PyMS-master\PyMS-master\Libs\SFmpq.py", line 379, in SFileReadFile
   if _SFmpq.SFileReadFile(file, byref(data, total_read), read-total_read, byref(r), None):
WindowsError: exception: access violation reading 0xFFFFFFFFFA6678CF


Also: There is a tiny bug in PYAI edit.
If you miss type any of these = crash.

Code
--<TMCx 0000 (Forgot the the other 2 dashes. And had it goto --TMXc 0000 with no 2 dashes. = crash.
And/or crash if you don't have anything for goto = crash.




I make StarCraft BroodWar Maps! Servers I'm On: USEast/USWest!

You can also find me at my Website My Akas: SHANE-009

Follows and obey SEN Rules: The Rules.

Updated as of: 9/11/2021

Jan 23 2019, 3:16 am Pr0nogo Post #23



The PyMPQ crash is from exporting sound files imported with WinMPQ. At least for me, exporting any other file works fine. I reported this earlier this week: https://github.com/poiuyqwert/PyMS/issues/116

PyAI shouldn't behave that way, that's strange. It should just warn you of syntax errors. I don't use that build's PyAI so I don't know if it's reproducible.




Mar 18 2019, 6:52 pm Corbo Post #24

ALL PRAISE YOUR SUPREME LORD CORBO

I found easier to get PIL from this link and not from anywhere you posted in your documentation or official python site:

easy installation too

https://www.pythonware.com/products/pil/



fuck you all

Apr 5 2019, 10:18 pm Pr0nogo Post #25



Just had a terrible experience (while streaming) where I attempted to open this bmp with PyGRP and was hardlocked, requiring me to cut power to my PSU and restart. This is obviously not great for hardware life expectancy and I've had to do this so many times with PyMS that I feel compelled to remind you that there are still several issues with the program that result in hardlocks, at least on win10. When reproducing them I encourage you to do so in a virtual machine to save your hardware, but I'm at my wits' end at this point.

PyDAT also does not show graphical previews (icons, grps) on my machine, not sure what's wrong with my install as it does with Neiv's fork and did with older versions of PyMS.

EDIT: Fixed the PyDAT error. The fault seemed to be in the settings file, which had // instead of \ in the filepaths. I don't know why this would cause issues but changing them to use \ resolved the problem.

Post has been edited 1 time(s), last time on Apr 8 2019, 11:08 am by Pr0nogo.




Apr 13 2019, 2:18 am Kolokol Post #26



Whenever I try to export a frame from a unit grp (Like the Valkyrie, for instance), I get the following error:
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)

And the exporting fails, though the frames can be viewed just fine while they are inside the .grp. How do I resolve this?



None.

Apr 13 2019, 3:28 pm poiuy_qwert Post #27

PyMS and ProTRG developer

Quote from Kolokol
Whenever I try to export a frame from a unit grp (Like the Valkyrie, for instance), I get the following error:
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)

And the exporting fails, though the frames can be viewed just fine while they are inside the .grp. How do I resolve this?
It looks like you have an old version of PyMS (you can check Libs/versions.json and compare it to the latest here: https://github.com/poiuyqwert/PyMS/blob/master/Libs/versions.json )

You should download the latest version from github (direct link for zip download: download)




Apr 15 2019, 6:13 am Pr0nogo Post #28



I'm going to be replacing an entire extended tileset's graphics soon and want to be able to preserve pathing, height, and ramp flags (basically minitile settings). How would I do this using the latest pytile?

edit 1: seems like what I want is in the megatile explorer, but selecting every megatile is really tricky when the display appears completely messed up, and when it doesn't seem to react to the accurate cursor position. I have no idea if I've selected all tiles or not.


edit 2: ok, seems like even though the display is wrong, clicking the last tile does select the last tile, so I was able to export the settings for all megas at once. However, exporting the graphics for all megas produced a file that couldn't be opened by photoshop or irfanview. No problem, I'll export all the group graphics, modify them, and reimport them. Attempting to export all groups at once freezes pytile (presumably because it is taking an astronomically-long time to process all the groups), so I opted to do it in phases rather than wait. More micromanagement but better than chancing on a botched export. After that, I edited and reimported (in the same phases, just in case), only to find that megatiles are sorted by order of import. At first I sought to reimport my tiles in the same manner I presumed blizzard hard, only to discover that they in fact had not followed a simple descending order, as evidenced by mud tiles mixed in with doodad tiles. I also discovered tiles that were nowhere in the tileset, old ones that had been overwritten (or so I had thought), and thus were nowhere to be found in the new version I was using as they were never imported in the first place. It was at this point that I gave up trying to match the megas up to the settings file and have since resigned myself to copying the flags by hand - something I would really rather not have to do, but see no way around at this point.

TLDR: megatile selector is visually inaccurate, megatile graphical exporter doesn't appear to work when processing large amounts of megas in my (very limited) tests, group graphical exporter needs some sort of progress bar so you know it isn't just dead in the water, scrolling issue is really annoying and caused me countless restarts in the middle of trying to do this, and I need more caffeine.

Post has been edited 2 time(s), last time on Apr 15 2019, 12:50 pm by Pr0nogo.




Apr 17 2019, 1:39 am Kolokol Post #29



Quote from poiuy_qwert
Quote from Kolokol
Whenever I try to export a frame from a unit grp (Like the Valkyrie, for instance), I get the following error:
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)

And the exporting fails, though the frames can be viewed just fine while they are inside the .grp. How do I resolve this?
It looks like you have an old version of PyMS (you can check Libs/versions.json and compare it to the latest here: https://github.com/poiuyqwert/PyMS/blob/master/Libs/versions.json )

You should download the latest version from github (direct link for zip download: download)
Ugh, how do you run .pyw files?



None.

Apr 17 2019, 2:11 am Pr0nogo Post #30



They should run automatically if you have python 2.7 installed.




Apr 19 2019, 2:36 pm Pr0nogo Post #31



Back in 2017 you posted this, explaining the use of @suppress_all and @suppress_next_line. These just get commented out in the ASC3->PyAI conversion and when uncommented they throw errors in PyAI, so clearly I'm doing something wrong when using them. Is there any other documentation on this? I could also mark all new units as @spellcasters in unitdef if there are no drawbacks to it, but I'd prefer to not have to do that.




Apr 19 2019, 4:03 pm Nekron Post #32



suppressions are and always have been in aibin.py




Apr 19 2019, 4:48 pm Pr0nogo Post #33



You'll need to be a bit more specific.




Apr 19 2019, 5:06 pm Nekron Post #34



Oh, nevermind, I was wrong, it works fine script-level too
example
Quote
@suppress_all(ga_military)
@suppress_all(gg_military)
Suppresses warnings of
Quote
defensebuild_gg(1, shuttle)
defenseuse_gg(1, shuttle)
defensebuild_ga(1, shuttle)
defenseuse_ga(1, shuttle)
having no ground weapon
Or if you only want to suppress the warning for a specific line, @suppress_next_line(ga_military)

It doesn't work when translated from ASC3(which I agree is stupid, should probably work with @suppress_next_line %1 formatting), you need to add it manually or readd it from commented out. It also doesn't save between compilings, but it doesn't give any warnings - except maybe if P_Q broke it with a new version, I wouldn't know, I'm only using neiv's fork

Post has been edited 1 time(s), last time on Apr 19 2019, 5:17 pm by Nekron.




Apr 19 2019, 5:15 pm Pr0nogo Post #35



Thanks. Would be nice for a blanket suppression of everything, like supress_all(all) (which is redundant but w/e).




Jul 23 2019, 5:55 pm IlyaSnopchenko Post #36

The Curious

Any idea on if/when the dialog file .BIN editor is going to be updated with Remastered support? :)

... or any other utility to edit those that I can use in the meantime...



Trial and error... mostly error.

Jul 23 2019, 10:40 pm Pr0nogo Post #37



Not aware of any tools that support SCR UI edits. pq hasn't updated PyMS since January according to github. You'll have to play the waiting game until an interested tooldev researches the new format or move to 1161.




Jul 24 2019, 8:36 am IlyaSnopchenko Post #38

The Curious

Well that can keep in my case, if I get to editing the UI it'll be among the last things I do before release. It's kinda counterproductive anyway to divert attention to minor things while there are missions to be made. :)

Last I checked, the format has already been researched and it hasn't changed a great deal. It's just that it hasn't been implemented. :)

Switching to 1.16 is kind of tempting for a couple of reasons but I'll probably keep the project the way it is. Unless - God forbid! - Blizzard reverses course and invalidates everything we're doing at one point through some "protective measure".



Trial and error... mostly error.

Jul 27 2019, 3:44 am poiuy_qwert Post #39

PyMS and ProTRG developer

I should have some time to take a look at supporting them (if I recall what FaRTy has said, it should be a fairly quick update). But I currently only have access to a Mac, CASC stuff is not working for me on it, and I don't have the time to figure that out, so if someone can PM me a bunch (or all if possible) remastered dialog .bin files, I can take a look.




Jul 27 2019, 3:54 pm Neiv Post #40



I've used this quickly hacked pyms file (Libs/DialogBIN.py) to read SCR dialogs, though it may lose data when saving as it ignores the additional field that doesn't exist in 1.16.1.

https://gist.github.com/neivv/06a9942ae3e711e79159c82a6be156bd

Note that using it makes PyBIN unable to read 1.16.1 dialogs.

--

Format changes were that there were 2 (usually?) zero bytes inserted at offset 0x20 for each widget, and a new widget type which is managed by the embedded chromium renderer.



None.

Options
Pages: < 1 2 3 >
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:41 am]
v9bettel -- Nice
[01:39 am]
Ultraviolet -- no u elky skeleton guy, I'll use em better
[10:50 pm]
Vrael -- Ultraviolet
Ultraviolet shouted: How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
hey cut it out I'm getting all the minerals
[10:11 pm]
Ultraviolet -- :P
[10:11 pm]
Ultraviolet -- How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
[2024-4-17. : 11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
Please log in to shout.


Members Online: v9bettel