Here is the support thread for my new tool
Dependancies:
msvcp71.dll (http://www.dll-files.com/dllindex/dll-files.shtml?msvcp71)
gdiplus.dll (http://www.dll-files.com/dllindex/dll-files.shtml?gdiplus)
glu32.dll (http://www.dll-files.com/dllindex/dll-files.shtml?glu32)
glut32.dll (http://www.dll-files.com/dllindex/dll-files.shtml?glut32)
Put them on your installed folder
You will also need a descent graphic card ( I think a geforce 5 or even a geforce 4 are ok )
Introduction
The tool is a SC4 savegame explorer.
You can for now see only some entries of the savegame, as others are not yet decoded or if decoded I didn't had time to code something for them.
The tool is actually used to find the root cause of the prop pox, but I hope to turn it into something more general and more usefull in the long term.
usage
When running you'll get something like following, with your regions folder and all savegames displayed
(https://www.sc4devotion.com/forums/proxy.php?request=http%3A%2F%2Fimg8.imageshack.us%2Fimg8%2F2523%2Fscreenshot137.jpg&hash=cab8fa265a26e658c105e03730436068a166cfe2) (http://img8.imageshack.us/img8/2523/screenshot137.jpg)
Then navigate into your savegames and double click on the one you want to explore, this will bring a new tab:
(https://www.sc4devotion.com/forums/proxy.php?request=http%3A%2F%2Fimg12.imageshack.us%2Fimg12%2F1928%2Fscreenshot138.jpg&hash=fd7403f925a4330e4f74ee7446dfea0f74599066) (http://img12.imageshack.us/img12/1928/screenshot138.jpg)
The tab shows you some of the entries of the savegame that you can explore
Double clic on one and you'll get some info about it
Here is an example for the Prop entry
(https://www.sc4devotion.com/forums/proxy.php?request=http%3A%2F%2Fimg12.imageshack.us%2Fimg12%2F5972%2Fscreenshot143x.jpg&hash=91a0b121fd6b48ea9f6bfd3235f990775f8a22dd) (http://img12.imageshack.us/img12/5972/screenshot143x.jpg)
If you clic on the 'Lot' or 'Building' or 'Prop' it will open a 2D view of the city with the prop/building/lot information visualized in 2D
(https://www.sc4devotion.com/forums/proxy.php?request=http%3A%2F%2Fimg237.imageshack.us%2Fimg237%2F3018%2Fscreenshot149.jpg&hash=31bfeffb3e4108b972d009168899acce10ef95d6) (http://img237.imageshack.us/img237/3018/screenshot149.jpg)
You can zoom in/out using the mousewheel
You can pan the city by dragging with left button
If you have a layer selected ( in the top left corner of the window ), then when you'll move the mouse over something in the 2D view, you'll get the information about it
As you can see, this can be something interesting for map makers
The tool will be soon available on the LEX after scrutiners reports.
the tool can be found at http://sc4devotion.com/csxlex/lex_filedesc.php?lotGET=2021
Edit:
Many thanks to BarbyW, Ennedi, and Ripplejet for decyphering various savegames
An update/patch for the SC4 Savegame Explorer can be found here (http://sc4devotion.com/forums/index.php?topic=15140.msg435023;topicseen#msg435023)!
that is an awesome tool, thankyou :)
Joe
Thanks Joe
The tool is now available
http://sc4devotion.com/csxlex/lex_filedesc.php?lotGET=2021
had a play and this tool is very exciting, it has alot of potential, I assume to intend to eventually replace region census, if you could include the region census repository functions with the overview data of RC plus the additional info here you woul have a very powerful regional management tool... in fact you could even call it that, region manager.... or Region Manager X if you so wished....
fantastic new toy
That is really cool!!! While i'm not a modder, i've always wondered how the game creates saves. This could be a really useful application!! &apls
&apls You've created one cool little app here! &apls Looks a lot like a circuit board when looking at some of these cities!
Jayson
Very nice addition here,thank you. :thumbsup:
After checking out all my cities in one region in found that a few cities had a much higher figure for "disabled props found in city". So what are disabled props? (And please don't say "props that are disabled")
Any chance of getting one of your custom icons for the desktop shortcut folder? This deserves something special.
Your description of this tool should have said "And provides hours of fun."
Thanks again. ()stsfd()
Thanks
Disabled props are props that are presents in the savegame, but not visible in the game.
In a non prop poxed city, this is usually the result of a massive bulldozing and saving right after, the bulldozed props are still in the savegame. I think it is related to how SC4 manages its memory. It helps to keep large memory blocs alive instead of reclaiming them to the OS every time the game need it.
In a prop poxed city, however there are many more disabled props, with non valid values, and all of them are located in the northwest corner, something maybe related to the lot of sim crowds some people see in that place after being hit by prop pox.
I don't intend to replace Region Census, but I'll add more plugins for others known entries. The first one will certainly be a 'Flora/tree' viewer. And as it is a plugins based application, it will be a light download
A agree with your answers. I my sandbox Region since using custom content (Dec 2006) I have done a lot a radical things in a lot of the cities while experimenting with building all the neat stuff that's available. As a test just now I bulldozed clean one of my small cities that I have used constantly in the last 2 years for viewing new downloads. It had 37 disabled props and they are still there in the savegame memory file. I believe I will obliterate the tile to get a clean slate.
I checked my old regions before Dec 2006 and they a very clean of disabled props. I remember years ago doing large bulldozing and rebuilding and sometimes the city just didn't feel right so I learned to just obliterate those cities. Now I know why.
My old Berlin region(Pre Dec 06) has some cities that are close the starting stage for the prop pox and I am going to go ahead and take them over the edge and see if they will become prop poxed.Yes I have plenty of backups.
With all the great map makers out there I have started using many maps and not constantly changing each city to cut down on the save game factor.
Thanks for your great contributions to this game. :thumbsup:
So here is a Flora plugin, that once you unzip it in SC4Savegame explorer folder, will allow you to see the flora entry. The flora entry is where almost all god/mayor flora are saved
So just unzip and replace the external.py with the one inside the zip
Let's see if you're a green mayor :)
Thanks again Wou, I went ahead and created a Wiki page for it [here] (http://www.wiki.sc4devotion.com/index.php?title=SC4Savegame_Explorer) :)
Joe
:thumbsup: for the wiki page
I think that once we get time, we will write the format of known entries
Nice program there! ;)
Here's an idea, make the program output a list of plugins being used, integrate this with links to download on the LEX.
Basically now we could upload and share cities, without the sticky issue of trading plugins folders. People would just download what they don't have.
Hey Steph this is a cool new programe here!!! Thank you for it!!! :thumbsup: &apls
Quote from: Zaphod on March 27, 2009, 07:05:48 PM
Here's an idea, make the program output a list of plugins being used, integrate this with links to download on the LEX.
Basically now we could upload and share cities, without the sticky issue of trading plugins folders. People would just download what they don't have.
Only the TGI of what is on the your city is saved, I hardly see how I can link that TGI to a download link
Only a huge database of everything that has been produce and where it can be found( LEX/STEX/PLEX/Japanese... etc ) can solve the problem, and I doubt someone is willing to compile and maintain such a database
Is it possible to use this tool to discover why I have immortal lots? Even removing it from my plugins doesn't seem to slay an immortal hospital in one of my cities.
To remove your immortal lot you need to surround it with the same immortal lot and then bulloz the entire mess. Which hospital has this issue by the way?
Quote from: ElPhantasmo69 on March 31, 2009, 12:23:25 PM
Is it possible to use this tool to discover why I have immortal lots? Even removing it from my plugins doesn't seem to slay an immortal hospital in one of my cities.
Maybe, you can at least check the props and building around your hospital lot and see if there is something strange around
if you can post a pic of the 2D view at that place, we might find some interesting stuffs
Quote from: High5Tower on March 31, 2009, 12:34:26 PM
To remove your immortal lot you need to surround it with the same immortal lot and then bulloz the entire mess. Which hospital has this issue by the way?
Yes, which hospital ?
Edit: BTW something you'll soon be able to see on your own computer :)
(https://www.sc4devotion.com/forums/proxy.php?request=http%3A%2F%2Fimg26.imageshack.us%2Fimg26%2F195%2Fscreenshot154t.jpg&hash=6f067afa50bea6b2e7580d242f8e9b2e4a34cdc4) (http://img26.imageshack.us/img26/195/screenshot154t.jpg)
:o :o
Is that the route sims take to work????!!!
This program is amazing!!!
Jonathan
Quote from: Warrior on March 31, 2009, 12:55:29 PM
:o :o
Is that the route sims take to work????!!!
Yes and same for freight, need a bit of polishing ( especially when switching network type ) before releasing it
Oh that is just "??? are you sane? " :D
fantastic
Joe
So any news?
btw, would these discoveries of the save game format allow a program which could move everything in a small city into a medium or large tile?
That way when a small city reaches the edges of the tile, we can move it to a medium and continue building?
Jonathan
or even out-of-game duplication :o and rotation :D
Joe
Unfortunatly there is a checksum written that prevent to write new data, and I have yet to understand how it is calculate
Is there a way to export this data? I'd like something that automagically checks for missing IDs, and to start I would need to be able to read this data (and data from plugins) in another program.
I know it's been quite some time since the last posts concerning this project, but since I really like this program and see lots of potential in it, I wonder whether this means that it's entirely dead or just on a hold and be continued some other time?
It' is available, so it is neither dead nor postponed :)
Hello. I just installed this program and I am having an issue with it. When I run the program, a box pops up that says "Errors occurred. See the log file." When I looked in the log file, it said that there was a dll missing, but I already installed all four dlls mentioned as required in the first post of this thread to the SC4Save installation folder. The weird thing about the errors in the log is that it won't say which dll(s) are missing. I had this program working in Windows Vista, but now I have recently installed Windows 7, and I think that this might be related to the problem. I have tried putting the dlls in my system directory instead and also restarting the computer. Here is the complete log:
Traceback (most recent call last):
File "SC4Save.py", line 14, in ?
File "SC4OpenGL.pyo", line 1, in ?
File "wx\__init__.pyo", line 45, in ?
File "wx\_core.pyo", line 4, in ?
File "wx\_core_.pyo", line 12, in ?
File "wx\_core_.pyo", line 10, in __load
ImportError: DLL load failed: The specified module could not be found.
Traceback (most recent call last):
File "SC4Save.py", line 15, in ?
File "Numeric.pyo", line 91, in ?
File "multiarray.pyo", line 12, in ?
File "multiarray.pyo", line 10, in __load
ImportError: DLL load failed: The parameter is incorrect.
Traceback (most recent call last):
File "SC4Save.py", line 15, in ?
File "Numeric.pyo", line 91, in ?
File "multiarray.pyo", line 12, in ?
File "multiarray.pyo", line 10, in __load
ImportError: DLL load failed: The parameter is incorrect.
Traceback (most recent call last):
File "SC4Save.py", line 15, in ?
File "Numeric.pyo", line 91, in ?
File "multiarray.pyo", line 12, in ?
File "multiarray.pyo", line 10, in __load
ImportError: DLL load failed: The parameter is incorrect.
Traceback (most recent call last):
File "SC4Save.py", line 15, in ?
File "Numeric.pyo", line 91, in ?
File "multiarray.pyo", line 12, in ?
File "multiarray.pyo", line 10, in __load
ImportError: DLL load failed: The parameter is incorrect.
See this topic "PIM-X Bug on Win7 SP1 - Fixed!" http://sc4devotion.com/forums/index.php?topic=14216.0
It might be what's causing your problem, the fix has also sorted out
Quote from: CasperVg on January 06, 2012, 12:04:45 AM
I have good news for those who want to use the SC4 Savegame Explorer: the multiarray.pyd fix also works there!
problems people were having with SC4 Savegame Explorer
:)
Hi,
I just ran into the same problem as Moonraker0 while upgrading to a new computer with windows 7 (lots of bugfixes to solve ()sad() ). The new multiarray.pyd works fine indeed. Thanks a lot, CasperVg and Catty! &hlp
And I was just about to start the painstaking process of mapping my city out manually in Paint Shop or by hand
Dang, I was hoping this program could tell me if my city was infected with the prop pox before the symptoms manifest (when an offending prop has already corrupted the file before the file is big enough to manifest the problem, though)...so I guess I still have to manually test my cities...sigh.
I have all four DLL's ... yet I get this:
Traceback (most recent call last):
File "SC4Save.py", line 14, in ?
File "SC4OpenGL.pyo", line 1, in ?
File "wx\__init__.pyo", line 45, in ?
File "wx\_core.pyo", line 4, in ?
File "wx\_core_.pyo", line 12, in ?
File "wx\_core_.pyo", line 10, in __load
ImportError: DLL load failed: The specified module could not be found.
I have win 10 - and have the files installed correctly per the instructions.
I fixed it... dunno what the problem is. I simply copied all the DLL's from the PIM folder to to the the sv4save folder and viola, it worked.
.DLL files are in essence system files, they can work one of two ways.
Either you install them for system-wide usage, which requires registry entries and possibly correct settings for environment variables. I.e. telling Windows, so it can pass it along to applications, the location of such files. Usually this is handled for you when running the installer for a given library (that contains .DLL files). Since for example, installing the C++ runtime will install more than just the single .DLL file from it, that you might need in a specific case. In essence it will install/register all the necessary files for C++ coded apps to work on your machine.
Otherwise, if you simply place the .DLL files an application needs in the root folder of the application, as you have done here. The application should be able to find them and load them correctly. The downside to this approach is that you may have multiple files scattered around, which can also lead to one being updated whilst other copies remain outdated. Windows was designed to handle all this for you, but if you've illegitimately downloaded the .DLL's as individual files, rather than the full libraries which contain them, along with the proper installer package. Either you need to manually set this all up, otherwise you may have to resort to having many copies for each application that uses them.
Of course it doesn't help that many app creators will tell you which .dll files you need, rather than the actual libraries that include them. Then you get sites (usually the first links on Google), who are illegally distributing and even selling these files. Whilst libraries are almost always free for end users, the distribution rights almost never allow for individual .DLL files to be distributed. Not to mention, no way on earth does Microsoft for example, allow for random websites to charge you money for their code. But then, companies like MS shot themselves in the foot, when they tried to make developers pay to provide the libraries needed for their apps, to include them. Whilst that happens for commercial software, it's rarely something you can do as a hobbyist. Not to mention, why on earth doesn't Windows of all things simply have the code to run native Windows Apps coded using MS software tools in the first place? It's all rather stupid and has led ultimately to the mess we have today.
Is there any way to get this to run under Windows 10. It doesn't launch under any compatibility mode available.