ENDLESS™ Space is a turn-based 4X strategy game, covering the space colonization age in the ENDLESS™ Universe. You control every aspect of your civilization as you strive for galactic dominion.
While editing the xml may not be that particularly difficult it can get tedious, and it's also annoying not knowing where my star systems are when I'm editing them or mass editing\moving them in a text editor. So I built the original ESMapEditor to solve that problem. Along the way it's now warped into full game save editor.
ESMapEditor v1.2.171.1 - 12/13/2014
System Editor
The Map viewing\system moving screen, warm\worm editor,etc
Requirements:
Windows OS - XP SP3 or higher
Microsoft.Net Framework 4.0
Resolution of 800x600 or better (1024x786 + recommended)
Disk Space: couple meg
Memory: 50mb -> 200mb depending on map size.
Installation (v1.2.171.1):
You can use the Zip file versionand follow the basic instructions in the install_notes.txt file (basically unzip and you're done) (~532kb)
md5:fcabe4e444bc915615a5f797c6da76fb
or
You can use the full MSI installerthat really just accomplishes the same thing only checks for the .net 4.0 requirements, adds a shortcut, and registers it with windows installer for uninstalling. (~828kb)
md5:42d34a5c262f7c6d6791a417b6616622
There are some usage notes for the map screen in the install_notes.txt file included with the package the rest should be fairly self evident with the tool tips if your into editing ES files so I'll just highlight the general change list here for the most current build, the history can be found with the links below if interested. If you have questions just ask in the thread.
[HR][/HR]
Release Notes for release 1.2.171.1 - Foreigner - Double Vision
+ Pass number 2 for xml changes in ES 1.1.49
Again minimal testing, played just a couple games to turn 25ish found the need for a 1/2 dozen updates
for errors related to AI_Master/.../commando state, contexts,effect,colonization events.
Should be able to edit 100% brand new game files, and those recently started, not had chance to check
I'm sure there are some, please report them! I've only tested the app on windows server 2008r2x64 and a win7x64 vm though the bits are 32bit friendly. I test with about 25 or so variations of SINGLE PLAYER games, you'd be surprised how many settings almost never appear or happen to be in any particular save even over 20-25 games.
The only show stoppers I know of though are mentioned in the install notes and relate to not having steam or ES even installed (there are workarounds). I should note that again though THIS TOOL IS FOR SINGLE PLAYER game files , I don't play multi-player much so my focus will never be on supporting it - that said it should and has been reported to work just the same. In all cases though never fear, other then making copy of the original for a few seconds it never reads\writes to the original (unless you tell it too when saving the file in an overwrite case - for which you are warned and given options).
Anyway if you have bugs (the app looking like crap is not a bug btw!) to report you can do so on this thread. It's important you report what you were doing when you run into problems though and attach the game file being edited if you can in order to help reproduce the problem on my end in most cases.
---
*Current build 1.2.171.x will only work on files saved in ES version 1.1.49 or later.
Shtong wrote: Does the OP plan to update this tool for the 1.0 and above versions of the game ? And did anyone test the tool for 1.0 ?
Yes I plan on updating it, I'm away on vacation at the moment, when I get back later this week I'll test it with 1.x and update if needed.
Update 6/13:
Tested with 1.0.8 works fine, no need for update at this point, though I hope to get some time this weekend to work on it some more. BTW the XML produced is formatted (i.e. has white spaces like prior to release file did) so it's a nice side effect of the tool until amplitude corrects their formatting change.
Chris20847 wrote: Hello, I was just wondering if OP had started working on updating the tool yet? The last post was about 3 months ago.
Well build 126 It still works fine for the limited thing it was meant for (moving systems around) - no update yet needed - I use it all the time for that and to add white space back to my game files.
As for updates for expanding it's functionality like I originally envisioned your timing is good in asking, I put a little work in on it today (don't get excited it was mostly just testing a different approach code wise) now that I feel the save game format has stabilized for awhile and it appears the others who were working on their similar projects may have dropped off (no sense in folks duplicating efforts). As for when I'll have something I feel is worth releasing I can't say, but I have not totally abandoned it. That said I personally go back and forth if this is worth the effort as I can edit the the darn xml by hand pretty quickly now for whatever I want and as tedious as that can get so is what I need to do to get that tool to where I'd want it (and so that it doesn't majorly break when changes come), and after all I got started on this to just to end my own frustrations.
Curious though does anyone even use this besides me?
Need some help as I forge on with improving this tool. I need to improve my library of samples used to test and from which to infer xml schemas.
If a couple people would attach or link to some zips of recently played game files that would be great. (.bin's from 1.25 or higher only please)
The more varied the in-game situation is per file the better the sample for me.
So say you have saved every single turn of your last game (nobody does..but lets just say that), I don't need ever single save, but turn 0, 20,90,150,250,380 would be good since there should be decent amount of change and various different things going on. I'd prefer one's that don't have custom mod's applied but those are still useful as well.
New release - v1.0.0.130 available for testing. minor updates in this build as follows.
---
Changes:
+ Added support for anomaly51 (ES Halloween content update) in system\planet editor.
+ By request\suggestion (Thanks Mike) added bounding box to map\system moving screen so one can see the min\max bounding dimensions. Don't know why I had not thought to add that before getting the great suggestion.
+ Added EmpireID to system summary tooltip. -1 if not colonized otherwise proper empireid.
= Changed the way the icons are drawn for systems in map\system mover screen, they used to be dawn un-centered ie..the very top left of the icon was actually where the system was located. The center of the icon is now where the actual system is (matching where the warps and worms link.
+ Warning added about saving changes first when entering system editor from the map screen to prevent users from unwillingly triggering
an overwrite of pending changes. If you want more detail why this is just ask.
= 50% perf increase on the map\system mover screen, finally realized where most of the solvable problems were and corrected, while going from 9-16ms per paintcall probably didn't matter too anyone it was annoying to me personally, it's now down to 6-7ms per call, and probably leaves me the room to flip back the per systemtype icons.
+ Added more commandline parameters as follows:
-LocalizationFile= ie -LocalizationFile=Polish
-SteamFolder= ie -SteamFolder=c:\games\steam or -SteamFolder="c:\my folder with spaces\steam"
-DebugNoMapModal This tells the program to not load the map screen with modality...ie you can click the main window while in map view, I don't advise this cause if you are not careful you can overwrite your changes in the map screen in rare instances but it is handy at times.
Zip and Msi updated on original top post (though really you only need the new exe for this update).
You may want to wait a few hours, I have a new release coming that fixes a few bugs I found while using it last night, 2-3 gui updating issues, and 2-3 cases I didn't account for in the system editor relating to resource selection causing a bad bug of saving a strategic resource as a luxury (sorry folks the update though will detect it's prior mistake and correct it). I should have it packaged up in an hour or so.
As for complicated it just looks that way... feel free to ask any question you want.
Build 1.0.0.131 posted above, anyone using the tool (all two of you! ) ha ha I encourage you to update.
Issues resolved:
-Some data not refreshing in the gui after changes or certain navigation sequences. minor
-When adding a planet to a colonized system the tool was not adding the StatusPlanetColonized descriptor under certain cases.
-System\galaxy bits - visibility and exploration were swapped when saved, now corrected.
-Found and corrected bug that when setting Strategic resource under certain cases it would get added but in the luxury field in the file.
This oddly didn't actually cause a problem in game other than said resource was missing. corrected, and code added to detect it's prior mistake and warn you to just re apply the resource.
-Added preliminary support for handling forthcoming features that add new elements and attributes to the file format in next ES update.
Thanks adder, please let me know if you run into ANY problems or need help in trying to accomplish something. I really need to get around to doing a series of tutorial blogs for it since I don't have any real help documentation, and perhaps things are not as intuitive as I might have thought.
I'll give it a try... and will try to figure out how he coded it
Or you could ask and I'd tell you.
Actually I would release the source but for a couple reasons at the moment that if you want to know I can also get into but the basic approach is like this:
a) to simplify serialization and deserialization of the game objects I'm using a 3rd party tool from Liquid Technologies that will take xsd files and generate all the code to create class objects out of them for me. It's not perfect but it's darn close. This is way way f'ing easier (far less code) than dealing with manipulating the raw xml or throwing xml sections into datasets like I used to back in the summer in build 126 and prior. Down side is every time Amp adds something it'll break.
b) In order to use that tool I had to create said XSD's, again using that third party tool helps infer the scheme from sample xml files, but it's not as simple as it sounds, I need lots of samples that combined all include at least once reference to all possible entries in game file, also need them parsed out in certain way before sampling them, and then each new version of ES I have to repeat this entire process and recompile. I can go into more detail if you really want as it's a little more involved.
c) Item A\B requires a license to use and compile; the complied binaries and runtime are royalty free though. This is one reason I'm not sure releasing the source will be as useful to others.
d) The rest is all standard .net4.0/winforms written in vb.net. Why vb and not c#? well I'd not touched .net since like the .net 1.1 days and even that was just to tweak and convert a couple vb6 projects. I'm not a developer i'm a network guy I knew vb6 well as a hobby a decade or so ago, I knew back then vb.net 1.1 enough to get the job done. When it came to this I figured I'd try to re-use as much existing knowledge as possible and not to start a language war but for what the app does it's 6 in one 1/2 dozen of the other.
e) As for the logic that is embedded for doing certain operations it's all from my skull in knowing how things work in the save files from months of screwing around with them, things like knowing what happens when a planet goes from uncolonized to colonized, moon from not explored to explored, knowing that gameinfo is not the only place you need to change a planet type if a system is already colonized...etc...etc...etc.. knowing the 100 things you have to do if you're going to properly delete a system, etc etc.
f) As you can tell winform gui work and design are not and never will be my 'thing'. It's ugly and not laid out as well as even I'd like at the moment but... it does work and that's where my focus has always been.
KnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelLeonoux
Academy
Leonoux
Academy
24 600g2g ptsReport comment
Why do you report Leonoux?
Are you sure you want to block Leonoux ?
BlockCancelAre you sure you want to unblock Leonoux ?
UnblockCancelDarksider
Newcomer
Darksider
Newcomer
16 100g2g ptsReport comment
Why do you report Darksider?
Are you sure you want to block Darksider ?
BlockCancelAre you sure you want to unblock Darksider ?
UnblockCancelShtong
Newcomer
Shtong.
Shtong
Newcomer
15 800g2g ptsReport comment
Why do you report Shtong?
Are you sure you want to block Shtong ?
BlockCancelAre you sure you want to unblock Shtong ?
UnblockCancelExozone
Newcomer
Exozone
Newcomer
100g2g ptsReport comment
Why do you report Exozone?
Are you sure you want to block Exozone ?
BlockCancelAre you sure you want to unblock Exozone ?
UnblockCancelXervitus
Newcomer
Xervitus
Newcomer
19 000g2g ptsReport comment
Why do you report Xervitus?
Are you sure you want to block Xervitus ?
BlockCancelAre you sure you want to unblock Xervitus ?
UnblockCancelKnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelChris20847
Old Sheredyn
Chris20847
Old Sheredyn
12 500g2g ptsReport comment
Why do you report Chris20847?
Are you sure you want to block Chris20847 ?
BlockCancelAre you sure you want to unblock Chris20847 ?
UnblockCancelKnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelKnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelKnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelKnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCanceln18991c
Old
n18991c
Old
13 100g2g ptsReport comment
Why do you report n18991c?
Are you sure you want to block n18991c ?
BlockCancelAre you sure you want to unblock n18991c ?
UnblockCancelKnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelKnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelVIPadder
Old Timer
An eye for an eye leaves the whole world monocular.
VIPadder
Old Timer
25 400g2g ptsReport comment
Why do you report adder?
Are you sure you want to block adder ?
BlockCancelAre you sure you want to unblock adder ?
UnblockCancelTredecim
Newcomer
Tredecim
Newcomer
200g2g ptsReport comment
Why do you report Tredecim?
Are you sure you want to block Tredecim ?
BlockCancelAre you sure you want to unblock Tredecim ?
UnblockCancelKnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelKnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelTredecim
Newcomer
Tredecim
Newcomer
200g2g ptsReport comment
Why do you report Tredecim?
Are you sure you want to block Tredecim ?
BlockCancelAre you sure you want to unblock Tredecim ?
UnblockCancel