You must be logged in to post messages.
Please login or register

EE Scenario Design & Modding
Moderated by Soty

Hop to:    
loginhomeregisterhelprules
Bottom
Topic Subject: Empire Earth - DB Editor
« Previous Page  1 2 3 ··· 7  Next Page »
posted 01-24-16 10:33 AM EDT (US)   
Hi everybody, I'm developing a new editor for Empire Earth, which is meant to replace the good old EE Unit Editors 1 & 2.

Downloads:
Empire Earth - DB Editor v2.1
The editor is in the zip file, and works by running the file with extension "jar". You need Java 11 to run it (don't worry, the installation is very quick and easy)

Source:
GitHub

This new editor support many DB (and can support more), allow you to edit all values (even the currently unknown ones) and provide some tools to unveil these values:
- Search all entries with the same value
- Search all values used for this field

One special note is for dbtechtree, which has a different structure than all other DB: while all db have a single "entries counter" at the beginning, the dbtechtree has multiple counters, one for each epoch. The editor will be able to handle this special case and also give you a quick way to move entries between epochs (which basically alter their starting epoch).

The program is absolutely free and open source.

I tried to give the program an UI which resemble the Empire Earth launcher. Let's see some screens:







WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 03-15-2019 @ 02:45 PM).]

Replies:
posted 01-24-16 11:52 AM EDT (US)     1 / 171  
looking awesome. keep it up!

My Profile in Empire Earth || Latest Submissions Two Flags: Battle for Africa ||Jun 2023
My Profile in Age of Kings || Latest Submission Shadows of Betrayal || August 2012
AOK Designer of the Year 2012
Core Team Member & Site Co-Administrator,Empire Creations
posted 01-24-16 01:23 PM EDT (US)     2 / 171  
New (VERY USEFUL!!) feature:
"Mark all unused/dual value fields"
It scan all the entries and search for all fields which are never used or only use one fixed value (black background and red text) or only have 2 values (black background and green text).



Here you can see all dat files currently supported (more to come!):

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 01-24-2016 @ 01:25 PM).]

posted 01-24-16 05:45 PM EDT (US)     3 / 171  
Source: https://github.com/Forlini91/Empire-Earth---DB-Editor
Progress: 60%

WHAT IS DONE, IS DONE
posted 01-25-16 07:17 PM EDT (US)     4 / 171  
Yeah! Now I read dbobject.dat!!
Parsing the values will be possible with less effort now!
First version available in the main post!

Watchout:
The program is able to read many db files, but I'm still not sure it can save them as well.
Nothing bad happened for now, but who knows? Maybe some circumstances may cause problems...

In any case: do a backup! (The program already create one with extension *.orig)
I will write an extensive readme ASAP.

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 01-25-2016 @ 07:33 PM).]

posted 01-26-16 12:54 PM EDT (US)     5 / 171  
This is really hyping me up, Forlins.

My Profile in Empire Earth || Latest Submissions Two Flags: Battle for Africa ||Jun 2023
My Profile in Age of Kings || Latest Submission Shadows of Betrayal || August 2012
AOK Designer of the Year 2012
Core Team Member & Site Co-Administrator,Empire Creations
posted 01-28-16 06:38 AM EDT (US)     6 / 171  
Big improvements:
- ID fields now show the linked entry and can open the link with CTRL+Click.
- Fixed the GUI, which can now adapt to the window size
- Added a setting to configure the number of columns
- Added checkboxes to hide undefined fields.
- Parsed some more dat files
- Multithreading loading allow the program to load all dat files at once with a barely noticeable increase in load times.
- Selecting another file won't cause a load anymore: the program will keep loaded all data from the loaded files and recover them immediately (At most it uses 100Mb RAM, so no problem for now).

Before the release v1.1:
- Typing in the ID fields will start a search (either by ID or name) in the corresponding dat file and will show the results in a popup.
- Allow you to select which files to load, to prevent loading files you don't care and keep memory usage under control.

WHAT IS DONE, IS DONE
posted 01-28-16 07:49 PM EDT (US)     7 / 171  
UI Improved: it now resemble the EE launcher!

WHAT IS DONE, IS DONE
posted 01-30-16 03:56 PM EDT (US)     8 / 171  
This looks amazing, and this program, if capable of loading and editing all db files, will DEFINITELY attract new modders that have little to no hexing knowledge. This may very well be the start of giving EE new life and winning more modders. Heck it'll even attract some coders like yourself, seeing that EEH actually has some talent!

Keep it up and thank god for the open source, no matter what, this program can't die thanks to that!

Try out my realism mod! An attempt to make EE AOC 100% realistic in every way! Been working on it since September 2011, presumed time frame of completion = 2020 - 2030:
http://ee.heavengames.com/downloads/showfile.php?fileid=3072
posted 01-31-16 11:57 AM EDT (US)     9 / 171  
Really really thank you Forlins! Shall test and report any bug I encounter.

My Profile in Empire Earth || Latest Submissions Two Flags: Battle for Africa ||Jun 2023
My Profile in Age of Kings || Latest Submission Shadows of Betrayal || August 2012
AOK Designer of the Year 2012
Core Team Member & Site Co-Administrator,Empire Creations
posted 01-31-16 12:04 PM EDT (US)     10 / 171  
New version is ready for release! I only need to write a manual...

WHAT IS DONE, IS DONE
posted 01-31-16 12:16 PM EDT (US)     11 / 171  
Buddy, I tried loading some DAT file but after selecting it, nothing happens.

My Profile in Empire Earth || Latest Submissions Two Flags: Battle for Africa ||Jun 2023
My Profile in Age of Kings || Latest Submission Shadows of Betrayal || August 2012
AOK Designer of the Year 2012
Core Team Member & Site Co-Administrator,Empire Creations
posted 01-31-16 12:24 PM EDT (US)     12 / 171  
Wait for new version. The old version had many problems.

EDIT: are you using AOC db files?
I'm building this tool to open AOC files, but I don't know if something changed in the structure with AOC.
I can support them too, if you point me the differences.

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 01-31-2016 @ 12:29 PM).]

posted 01-31-16 12:49 PM EDT (US)     13 / 171  
While I write the readme, try now.

The new version should be available in the link and it works perfectly for me. I built it with Java 8 x64. Java 7 or older won't work.

With the new version, you just need to select the DB directory and the program will search for all (supported) DB files and will show them a dialog asking you to choice which ones (all them are already selected by default). Just confirm and wait for it to finish.
RARELY it may get stuck in the loading screen and it doesn't advance. Just kill the program and retry (I'm still finding the cause of this problem).

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 01-31-2016 @ 12:52 PM).]

posted 01-31-16 01:46 PM EDT (US)     14 / 171  
Okay. I tried it, but unfortunately, I guess you can't support vanilla only? AOC is a little bit unstable for my needs, and most of my scenarios are for vanilla. Would it be too much of a work if you can check if you can support vanilla too?

My Profile in Empire Earth || Latest Submissions Two Flags: Battle for Africa ||Jun 2023
My Profile in Age of Kings || Latest Submission Shadows of Betrayal || August 2012
AOK Designer of the Year 2012
Core Team Member & Site Co-Administrator,Empire Creations
posted 01-31-16 01:52 PM EDT (US)     15 / 171  
No problem, but I need more time to parse the vanilla dat files.

WHAT IS DONE, IS DONE
posted 01-31-16 02:25 PM EDT (US)     16 / 171  
Ok. Thanks Forlins!

My Profile in Empire Earth || Latest Submissions Two Flags: Battle for Africa ||Jun 2023
My Profile in Age of Kings || Latest Submission Shadows of Betrayal || August 2012
AOK Designer of the Year 2012
Core Team Member & Site Co-Administrator,Empire Creations
posted 01-31-16 02:38 PM EDT (US)     17 / 171  
I'm working at it...

Anyway, I don't know what do you mean with unstable.
I literally only played AOC (never played the original EE apart from the vanilla campaigns!) and never had a single crash.
The only crashes I got were caused by me, in the many experiments db files.

WHAT IS DONE, IS DONE
posted 01-31-16 04:44 PM EDT (US)     18 / 171  
Update released: now it supports vanilla DB too.

It was easy, as only dbtechtree.dat, dbovbjects.dat and dbcivilization.dat have minor differences (AOC versions only have few more fields)

WHAT IS DONE, IS DONE
posted 02-01-16 04:38 AM EDT (US)     19 / 171  
Thanks much!

My experience with AOC is quite the opposite though: constant crashes. Also, scenarios are a little bit below par versus the vanilla campaigns. As a scenario designer too, I find that the editor in AOC have some issues, so after playing the AOC campaigns, I stuck with vanilla.

My Profile in Empire Earth || Latest Submissions Two Flags: Battle for Africa ||Jun 2023
My Profile in Age of Kings || Latest Submission Shadows of Betrayal || August 2012
AOK Designer of the Year 2012
Core Team Member & Site Co-Administrator,Empire Creations
posted 02-01-16 09:42 AM EDT (US)     20 / 171  
New version is up!
I added many new dat files, found many more values and added many new links (especially links from dbobjects.dat to dbbuttons.dat, dbsounds.dat and dbgfxeffects.dat)

WHAT IS DONE, IS DONE
posted 02-01-16 01:02 PM EDT (US)     21 / 171  
Perfectly working as far as I can tell!

My Profile in Empire Earth || Latest Submissions Two Flags: Battle for Africa ||Jun 2023
My Profile in Age of Kings || Latest Submission Shadows of Betrayal || August 2012
AOK Designer of the Year 2012
Core Team Member & Site Co-Administrator,Empire Creations
posted 02-02-16 04:27 PM EDT (US)     22 / 171  
Update v1.21.
Fixed some little bugs, including IDs not being updated correctly.

Ok, I managed to move (for testing purposes) the Zeus II to Space epoch, created a new tech "Upgrade Zeus to Zeus II" (the language ID is already in the file, so is the button in dbbuttons.dat).

This is what I discovered/got so far:
- If you move a tech between epochs, the ID must be changed: every epoch define a special field in the dbtechtree.dat (it's one of the last fields, right before the "Objects which can build this"). That field define the starting ID for all techs for that epoch.
You will see by yourself: all techs's ID respect that ID (all Stone Epoch's techs use ID between 2000 and 2999). Using a ID from outside the range cause a CTD.

- Objects can be effectively moved between ages, if you update their ID with the above rule and update the relative Object (if the tech entry is an object), so it points to the new ID. Also, new tech can be added (the Zeus Upgrade tech didn't cause CTD).

- I made everything right: I made Zeus II buildable (by making it buildable by Cyber Factory and by adding it in the list of techs the Cyber Factory can build/research), I added the new tech and linked it to the Zeus and Zeus II like the other objects do. I run the game, no CTD, the Zeus button is here, the Zeus Upgrade tech is here too... but researching it doesn't upgrade the Zeus, nor it make Zeus II playable.
And I found the cause: dbevents.dat. Not-objects techs points to events, and every event is a problem, as it defines:
- a name
- a sequence number
- a counter of fields (X)
- X fields

Well... those fields use each one a unique code, which I can't find anywhere. I may be wrong, but it seems they point to something inside the game code... something we can't reach. If I'm right, we can only add new units, but we can't create new "upgrade" or "improve" techs.

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 02-02-2016 @ 04:28 PM).]

posted 02-03-16 12:13 PM EDT (US)     23 / 171  
It's really amazing how you find these things. May I suggest to gather all these "musings" into one thread? Maybe a simple copy and paste of all your previous posts here in EEH would do the trick, and in one document, you can share them all to us together with the DB editor?

My Profile in Empire Earth || Latest Submissions Two Flags: Battle for Africa ||Jun 2023
My Profile in Age of Kings || Latest Submission Shadows of Betrayal || August 2012
AOK Designer of the Year 2012
Core Team Member & Site Co-Administrator,Empire Creations
posted 02-03-16 12:46 PM EDT (US)     24 / 171  
I may do that. Everything I find is placed in the program. It shouldn't take much to export it into a document.

ANYWAY... Good news!! It seems I was wrong!!!!!
dbeffects.dat seems to know something about those codes I was talking about in dbevents! And I even found a common pattern for unit upgrades:
they define 3 effects:
- Remove old unit/tech effect
- Add new unit/tech effect
- A replace unit/objects effect

The remove unit/tech effect always use the code "9", and specify the TechID of the old unit. This effect disable the specified unit/tech.

The add new unit/tech effect always use the code 8, and specify the TechID of the new unit. This effect enable the specified unit/tech.

The replace unit/object effect always use the code code 19, specify the TechID of the new unit and the ObjectID of both the old and new units. This effect replace all currently created units with the new upgraded ones.

More analysis are on the way, but this could open the possibility to create new upgrades too... I will test with Zeus -> Zeus II

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 02-03-2016 @ 12:52 PM).]

posted 02-03-16 04:31 PM EDT (US)     25 / 171  
RESULTS!

I moved the Zeus II tech to Space epoch and created the Update to Zeus II tech in the Space epoch.

I won't talk. I'll show you the screenshots:
Nano epoch
Space epoch
Upgrade to Zeus II

People... I announce Empire Earth can reborn from ashes!!
We can finally expand this game!

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 02-03-2016 @ 04:32 PM).]

« Previous Page  1 2 3 ··· 7  Next Page »
Empire Earth Heaven » Forums » EE Scenario Design & Modding » Empire Earth - DB Editor
Top
You must be logged in to post messages.
Please login or register
Hop to:    
Empire Earth Heaven | HeavenGames