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 ··· 3 4 5 6 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 09-20-16 04:28 PM EDT (US)     101 / 171  
you are an magician Forlins no more crashes but i had to edit object from scratch again but its ok. btw vanilla is horrible don't think i can ever play unmodded again lol
posted 09-24-16 06:09 PM EDT (US)     102 / 171  
I've created a pull request to your repository.
It fixes up a minor error (importing the GlassFish KeyEvent instead of the AWT version, which my Java does not support)
It also adds better support for the UI databases (and dbuiforms!)
posted 09-24-16 07:42 PM EDT (US)     103 / 171  
Thanks for the help!

After merging the branches on the GitHub site, it took me an hour to figure out a way to merge the changes with Eclipse: I tried both fetch and pull, both without results (they said there was nothing to fetch/pull...).
Then I tried to use "Team -> Advanced -> Synchronize", and it found the conflicts.
In the "Team Synchronizing" perspective I manage to merge the changes, right click on the entire project and click "Mark as Merged".
Then I tried to commit my changes... Result: "[rejected - non-fast-forward]". I solved a problem but created a bigger one...
On some forums somebody said that error could be solved by opening the push configuration and enabling a certain option "Force update"... luckily, such option doesn't exists anywhere (maybe it has been removed or maybe that guy saw that option in a dream...).

In the end, I had to save my files to a safe place, RESET my local repository and manually add my changes back...
I seriously hope this is only an issue with Eclipse or the GitHub plugin, as I don't really like this way of merging changes in Git...

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 09-24-2016 @ 07:46 PM).]

posted 09-25-16 00:19 AM EDT (US)     104 / 171  
Probably is an issue with eclipse.
I use git from the commandline, and pulling from your repository took:

$ git pull
$ git mergetool
// fix merge conflicts using GVimDiff
$ git merge
$ git add .
$ git commit
$ git remote add coderbot_orgin https://github.com/coderbot16/Empire-Earth---DB-Editor
$ git push -u coderbot_orgin

Then I used the GitHub PR interface, which claimed that there was no merge conflict and the PR was good to go.

Git is best used from the command line (it was designed to be), so you may want to look into using the git CLI.

Something else to think about - maybe split up DatStructure into many different files, which would make dealing with merge conflicts way less difficult. (turning a 100 line merge conflict into a 5 line one)

[This message has been edited by coderbot16 (edited 09-25-2016 @ 00:19 AM).]

posted 09-25-16 05:31 AM EDT (US)     105 / 171  
I'm not an expert user of console, and I'm on Windows, where the shell sucks!
Still, I think I can take a look at it. However, I don't know how to make Eclipse update the project or if it automatically recognize a pull/merge made by external commands.


Yes, in the past I already though about splitting the big file into smaller files, not just for maintenance support, but because files do not only have different structures, but also different usage.

I think it's time for "the great split".
I suggest you don't touch the datstructure package until my next commit, because a similar rebuild would be difficult to merge with other changes!

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 09-25-2016 @ 05:37 AM).]

posted 09-25-16 10:56 AM EDT (US)     106 / 171  
If you are on windows, then you may want to stay in Eclipse, because as you said, the shell sucks.

It turns out that I also have the Eclipse Git plugin installed, as I was trying to get Git to work a long time ago when I was not very good with the command line. It is useful for indicating the current status of a commit, but I don't use it for much else.

Finally, instead of commiting to master we should both use the Branch feature of Git, which makes dealing with merge conflicts much easier.
posted 09-28-16 05:20 AM EDT (US)     107 / 171  
Ok, I made a big update.
I will start using branches, hoping Eclipse/Git plugin don't get mad at me again.
(I changed eclipse formatter options and it made tons of changes like spaces before brackets, etc...)

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 09-28-2016 @ 07:26 AM).]

posted 09-29-16 07:32 AM EDT (US)     108 / 171  
well. Forlins What you are doing is very nice and awesome.
I missed old days of hexing, NeoEE soon would be great place to play in very soon!! with Jodocus Updates with the best new Host Technology and i might use your editor to make fast patch.
ALREADY I enabled 2 new game variants and 2 new game resources, but hoped that i saw your tool before spending that much of time to figure out the values of what i did.
Keep your work up! It would help me in future Patches for the Online Gaming.

Regards, RealForce

_____________________________________
If You Need Help in Hexing or you have something to share
Contact me realforce212@gmail.com
______________
posted 09-29-16 12:09 PM EDT (US)     109 / 171  
I'm glad I can help! I hope we will be able to fully parse all db files one day, and thanks to coderbot16 we could even have a new scenario editor!

If you or someone else on NeoEE has new discoveries about the db files, point them to this thread or to GitHub. Let the community know this game is now much easier to mod!

WHAT IS DONE, IS DONE

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

posted 09-29-16 03:11 PM EDT (US)     110 / 171  
aS I KNOW in dbgamevariants there is a value for build time
you need to figure it out if you could since it would be very efficent because u can make a variant like brinstorm (instant building).
currently i am busy doing my next patch
regards, RealForce

_____________________________________
If You Need Help in Hexing or you have something to share
Contact me realforce212@gmail.com
______________
posted 09-30-16 02:39 PM EDT (US)     111 / 171  
I tested all possible values: no value alter the units/buildings build time, nor the tech research time.
I tested in Tournament mode, with the in game clock (type F11 to see it) to measure the create/build/research times, changed all possible values for Tournament game variant, tested again and the times didn't change.

Also, some guides state there's an "upgrade cost" multiplier, but it really only apply to "Advance epoch" techs.
There are also 2 mores "epochs upgrade" multipliers: they allow you to apply a discount (by default 25-50%) on the first 2 epochs advancements you do in that map.


Anyway, I found the entry in dbWorld.dat which define the min/max game speed (by default from 0.5 to 2.5. I increased the max to 5 and it seems a comic movie!).
It's the entry 43

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 09-30-2016 @ 02:41 PM).]

posted 10-02-16 02:22 PM EDT (US)     112 / 171  
Awesome mod forlins!

But why you disable "number techs can build" in dbobjects editor in the new version editor? I can't add new building or units because this, before i can add obelisk and pyramid in citizen build list and can produce child in house (to make this game looks realistic lol)

And, can someone tell to me how to make napalm mine, i try the same way like add new building list in citizen, but when i click the napalm mine picture, it only clicked, not showing the napalm mine

Sorry for my bad english
posted 10-03-16 04:29 AM EDT (US)     113 / 171  
"Number techs can build" is calculated and updated automatically by the editor now. Just click on Save entry, and it will update the field while saving.

WHAT IS DONE, IS DONE
posted 10-03-16 11:33 AM EDT (US)     114 / 171  
Okay, thanks for the answer

And, do you know how to build napalm mine? Im so curious to make it in single play
posted 10-03-16 04:07 PM EDT (US)     115 / 171  
In dbobjects, the "Unit type" string names a Unit AI Script.
posted 10-03-16 04:43 PM EDT (US)     116 / 171  
I change it to "building" unit type, it show the naval mine (i add naval mine list to engineer, of course i allow engineer to walk through deep water), but when i place it to deep water, it not showing and when i place it to shallow water, my game crashes

Any advice?

Im so newbie in this modding hehe, thanks before

[This message has been edited by greaper310 (edited 10-03-2016 @ 04:45 PM).]

posted 10-03-16 06:09 PM EDT (US)     117 / 171  
I think the naval mine was never properly setup by the developers, which means that the game cannot process it.
posted 10-04-16 03:10 PM EDT (US)     118 / 171  
i was wondering about making a tax system. you know how robotic farm works yes? you get 1 food every 2 second, trying to make houses work like robotic farm but give gold instead of food any ideas?
posted 10-04-16 08:21 PM EDT (US)     119 / 171  
You want to make it like Stronghold?

Im still wondering about naval mine, but i realize when i test it in scenario editor, when enemies ship hit naval mine, the ship exploded but the naval still there (so, the naval mine is more imba than i think), and naval mine has movement speed, but when i click it to walk, the game is crashes lol
posted 10-07-16 03:23 AM EDT (US)     120 / 171  
Can i turn on animal AI with this editor? Seriously i confused following the trigger because it doesn't work in AoC scenario editor
posted 10-07-16 07:55 AM EDT (US)     121 / 171  
You're looking in the wrong place.
You're asking for a flag which is checked automatically in random maps but must be manually checked in a scenario.

The DB Editor is not a scenario editor: it manage the files db, which only contains the "base" state of objects (example: do the object own such flag?), while you're asking for the "current" state of objects (is the flag checked or unchecked?), which doesn't belong to db files.

You can only manage that flag in the scenario editor, with the effect "Class-Attribute" -> "Animal AI Active".
If it doesn't work, then the flag is bugged (a problem in the EE code, inside the file .exe; something we can't fix because the exe is a closed box)


About Naval Mines, the CTD may be caused by missing movement animation. BOOST15673 was having the same issue some years ago, and in the end he gave up.


Funny thing:
I suppose we could create a "marine" animal, place it in random maps and see how it slowly spawn new marines, who grow until they become adult...
even better if we use machines, tanks, robots, ... what a cutie baby-galley!!!

WHAT IS DONE, IS DONE

[This message has been edited by Forlins (edited 10-07-2016 @ 08:00 AM).]

posted 10-10-16 12:45 PM EDT (US)     122 / 171  
is there anyway to rename a unit or technology? the only method i found was to change the language id, but thats just existing names.
posted 10-10-16 01:50 PM EDT (US)     123 / 171  
You need to use ResHack to open the file Language.dll in the game folder, find the language entry, rename it, save and recompile the dll.

It's something the EE editor can't do, because Java can't read the resources in a dll (or maybe it could, but it's too much for my skills...).

WHAT IS DONE, IS DONE
posted 10-19-16 05:55 PM EDT (US)     124 / 171  
do you know if its possible to edit attack multipliers?
i mean AA takes almost no damage from fighters and viking take 1 damage from arrows etc. i know i can change the multiplier in objectdat but can't find where to edit them
posted 10-20-16 09:22 AM EDT (US)     125 / 171  
The damage multipliers are defined in dbFamily.dat

The multipliers are simple positive integers, and define the damage TAKEN from the specified unit.
Click on entry "Building": you'll see the damage taken by buildings when attacked by all the other units.

With 100, the object receive the full damage from the attack.

With 0, the object is completely immune, and also unattackable (like a land unit which can't attack an airplane).
The object can still receive indirect hits from area attacks or missiles (like AA towers missiles may which hit a tower or wall), but it receive no damage.



How everything works? To to dbObjects.dat:
Every object define its family in field "2 Family" (Example: AA Towers have family "(46) AA Building").
The family defines a list of multipliers, and so, the damage you receive from each "attacker type".

Every object also define an index in "32 Family attack multipliers index".
This is the index of the field in dbFamily, i.e. the multiplier you apply when attacking other units (actually, the index in the EE editor is shifted by 3). The index identify your "attacker type", and so, the damage you inflict to each family.



How is damage calculated?
A attack B:
1) Go to dbObjects.dat:
- Read A's field "Family attack multiplier index" and sum 3
- Read B's field "Family"
2) Go to dbFamily.dat:
Search B's family in the list
Go to the multiplier index you got from A
3) Return to dbObjects.dat:
- Read B's armor
4) Read the morale of B

TotalDamage = (BaseDamage * FamilyMultiplier/100 - Armor) * (1 - Morale/10)



If you want to make AA towers more vulnerable against aircraft, you need to click on "AA Building", and edit the fields:
- 15 Fighter
- 43 Carrier Fighter
- 44 Gunship helicopters (both gunship helicopters and fighter/bombers airplanes use this multiplier)

For Viking, click on "Vikings" and edit the fields:
- 24 Archer, Javelin
- 57 Cavalry archer

WHAT IS DONE, IS DONE
« Previous Page  1 ··· 3 4 5 6 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