exe replacement

a place to discuss it

Moderators: Deathifier, Sukayo

flowerpot
Assault Legionnaire
Posts: 74
Joined: Mon Dec 17, 2012 8:54 am
Location: Nowhere, trying to conjure up a Symbiot AI
Contact:

exe replacement

Postby flowerpot » Wed Dec 19, 2012 11:37 am

Hi everyone

I am interested in trying to make an exe replacement using java. Exe replacement meaning i would try to recreate efs.exe functionality using existing datafiles, minus the bugs, plus some modern wargame features. To make things happen I would need to know the format of the datafiles. So far I have been able to decipher almost everything using eg. the galaxy editor sources and the nova website. Just about the only thing that is still unclear is the format of the planet maps in the galaxy.gal file. So if anyone knows the format of the HexBuffer array in TEFSCPlanet.h of the galaxy editor it would be a great help.

edit: link to web site hosting Phoenix and explanation (dated, read the README in the zip)

I managed to produce a bit of running code, nothing much just a planet window and space window where you can select planets and browse planet maps. If you would like to take a look it is here

======================================

edit: link to Phoenix files

https://github.com/joulupunikki/Phoenix/releases

======================================

Phoenix.jar intended to replace efs.exe. Place into your eofs directory
where efs.exe resides. Java 7 jdk or jre is needed to run Phoenix.jar.

To start double click on the Phoenix.jar or if you use commandline

for a 640x480 window type:

"java -jar Phoenix.jar 1 GALAXY.GAL"

for a 1280x960 window type:

"java -jar Phoenix.jar 2 GALAXY.GAL"

If you get an error saying java not found then likely java is not in the
path and you need either to put java into the path or use absolute path name. Eg. on windows if your java jdk is installed into
C:\Program Files\Java\jdk1.7.0 you would type:

'"C:\Program Files\Java\jdk1.7.0\bin\java.exe" -jar Phoenix.jar 1 GALAXY.GAL'

currently Phoenix has a planet window and a space window. Move between windows by rotating the mouse wheel up. In the planet window click on the hexes to move about. In the space window click on the space map to move about and click on the planets to zoom into the planets.[url][/url]
Last edited by flowerpot on Wed Jan 22, 2014 1:07 pm, edited 6 times in total.

Alien51
Infantery
Posts: 9
Joined: Fri May 11, 2012 6:16 pm

Postby Alien51 » Wed Dec 19, 2012 7:22 pm

Sorry can't help you.

I've always wanted to add 'Ranged' firing in this game.
Ever play Panzer General?

Such as Med Tank's Direct fire can fire 2 Hexes away.
And Close attack type requires you to move onto the enemy stack.

Could you post the sources you mentioned?
[Galaxy Editor & Nova]
Which you used to decipher.

flowerpot
Assault Legionnaire
Posts: 74
Joined: Mon Dec 17, 2012 8:54 am
Location: Nowhere, trying to conjure up a Symbiot AI
Contact:

Postby flowerpot » Wed Dec 19, 2012 9:06 pm

EFS editor sources are available here:

http://hyperion.twarriors.com/efseditor.html

Nova graphics hacking is here:

http://website.lineone.net/~rwein/nova/hackgraph.htm

Holsety
Infantery
Posts: 9
Joined: Fri Dec 21, 2012 3:29 pm

Postby Holsety » Fri Dec 21, 2012 3:32 pm

Sadly I can't help you either, but good luck!
Maybe try contacting some of the Holistic folks?

flowerpot
Assault Legionnaire
Posts: 74
Joined: Mon Dec 17, 2012 8:54 am
Location: Nowhere, trying to conjure up a Symbiot AI
Contact:

Postby flowerpot » Wed Jan 30, 2013 9:58 am

Hi,

I managed to partially decipher the hexbuffer array in TEFSCPlanet.h, enough so that I think I am now able to reproduce planet maps. I am now trying to figure out the format of the following bin files:

border.bin
cargo.bin
couple.bin
efsbut1.bin - efsbut16.bin
explore.bin
fire.bin
fist.bin
glimmer.bin
jump.bin
plycomp.bin
plyhuman.bin
pod.bin
regent.bin
rgt100.bin
s_bord.bin
scroll.bin
shield.bin
skull.bin
v_bord.bin

At least some of these should be easy to figure out eg. skull.bin is most likely the skull image used in the combat screen. So if anybody knows anything about these files please let me know.

Holsety
Infantery
Posts: 9
Joined: Fri Dec 21, 2012 3:29 pm

Postby Holsety » Wed Jan 30, 2013 11:43 am

flowerpot wrote:Hi,

I managed to partially decipher the hexbuffer array in TEFSCPlanet.h, enough so that I think I am now able to reproduce planet maps. I am now trying to figure out the format of the following bin files:

border.bin
cargo.bin
couple.bin
efsbut1.bin - efsbut16.bin
explore.bin
fire.bin
fist.bin
glimmer.bin
jump.bin
plycomp.bin
plyhuman.bin
pod.bin
regent.bin
rgt100.bin
s_bord.bin
scroll.bin
shield.bin
skull.bin
v_bord.bin

At least some of these should be easy to figure out eg. skull.bin is most likely the skull image used in the combat screen. So if anybody knows anything about these files please let me know.


Aw hell yes.
I can help with this!

They're just plain graphics files without a header.
You can open them with the AXE 3 Hex Editor (it's my editor of choice when working on EOFS .bin files), which lets you go over to the Graphical View mode.

Once there you can choose how many Bytes you want to show per row. You'll have to guess for this, but it's not that much trial n error.
Cargo.bin is 34 bytes per row for example, while BNRREB.bin (the rebel flag) is 100. Etc etc.

If you make a windows bitmap that has the same size as the .bin file you're interested in you can copy and paste the header from the bitmap into the .bin file and save it as a viewable bitmap!
(It's been some years since I did this, so you MAY need to flip/mirror the image and you MAY need to have the bitmap use the EOFS pallette...)

Also useful is this page by Richard Wein (Which is how I got into the whole AXE mess :D ); http://website.lineone.net/~rwein/nova/hackgraph.htm

I've uploaded the AXE3 hex editor and some explanatory screenshots here:
http://www.megafileupload.com/en/file/3 ... 3-rar.html

Sorry, I just zipped the hex editor since it's hell of old, so I hope this will work as a 'portable version'. Let me know if it works or not, I'll try to see what I can do.
God, filesharing's golden days sure are over...

flowerpot
Assault Legionnaire
Posts: 74
Joined: Mon Dec 17, 2012 8:54 am
Location: Nowhere, trying to conjure up a Symbiot AI
Contact:

Postby flowerpot » Wed Jan 30, 2013 5:46 pm

Holsety wrote:
Aw hell yes.
I can help with this!

They're just plain graphics files without a header.
You can open them with the AXE 3 Hex Editor (it's my editor of choice when working on EOFS .bin files), which lets you go over to the Graphical View mode.

Once there you can choose how many Bytes you want to show per row. You'll have to guess for this, but it's not that much trial n error.
Cargo.bin is 34 bytes per row for example, while BNRREB.bin (the rebel flag) is 100. Etc etc.

If you make a windows bitmap that has the same size as the .bin file you're interested in you can copy and paste the header from the bitmap into the .bin file and save it as a viewable bitmap!
(It's been some years since I did this, so you MAY need to flip/mirror the image and you MAY need to have the bitmap use the EOFS pallette...)

Also useful is this page by Richard Wein (Which is how I got into the whole AXE mess :D ); http://website.lineone.net/~rwein/nova/hackgraph.htm

I've uploaded the AXE3 hex editor and some explanatory screenshots here:
http://www.megafileupload.com/en/file/3 ... 3-rar.html

Sorry, I just zipped the hex editor since it's hell of old, so I hope this will work as a 'portable version'. Let me know if it works or not, I'll try to see what I can do.
God, filesharing's golden days sure are over...


Thanks, it works even on wine under linux. :) I was thinkin of writing my own programs to decode the bin files but I may not need to that now. Btw you wouldn't know how to run efs on wine ? (My windows box is currently being repaired.) EFS runs on wine but the graphics are one big LSD trip :)

Holsety
Infantery
Posts: 9
Joined: Fri Dec 21, 2012 3:29 pm

Postby Holsety » Wed Jan 30, 2013 5:56 pm

Sorry, native windows user here ;p
Try running it in windowed mode though.

http://www.megafileupload.com/en/file/3 ... s-rar.html
Putting DDRAW.dll and SPGRAPH.dll in the base EOFS directory makes the game run in windowed mode. (Thanks to this forum for that, btw!)

Game won't appreciate alt-tabbing when windowed though, and it runs a bit less smooth, but if it can help with the color problem...

(Alternatively disable desktop composition + leave the window where you can change your desktop resolution open. If you have that option.)

Writhdar
Tank commander
Posts: 16
Joined: Thu Sep 22, 2011 6:43 pm

Postby Writhdar » Thu Jan 31, 2013 10:05 pm

running in windowed mode --- how can the window be made larger or fullscreen? The alt-enter command has no effect. Thank you.

Holsety
Infantery
Posts: 9
Joined: Fri Dec 21, 2012 3:29 pm

Postby Holsety » Thu Jan 31, 2013 10:42 pm

Writhdar wrote:running in windowed mode --- how can the window be made larger or fullscreen? The alt-enter command has no effect. Thank you.


You can't go fullscreen or resize the window with that, as far as I know.

flowerpot
Assault Legionnaire
Posts: 74
Joined: Mon Dec 17, 2012 8:54 am
Location: Nowhere, trying to conjure up a Symbiot AI
Contact:

Postby flowerpot » Fri Feb 08, 2013 1:13 pm

Hi,

I managed to produce a bit of running code, nothing much just a planet window and space window where you can select planets and browse planet maps. If you would like to take a look it is here (hope it works):

edit: new link is in the first post

Contents of README.TXT:

"Phoenix.jar intended to replace efs.exe. Place into your eofs directory
where efs.exe resides. Java 7 jdk or jre is needed to run Phoenix.jar.

for a 640x480 window type:

"java -jar Phoenix.jar 1 GALAXY.GAL"

for a 1280x960 window type:

"java -jar Phoenix.jar 2 GALAXY.GAL"

If you get an error saying java not found then likely java is not in the path and you need either to put java into the path or use absolute path name. Eg. on windows if your java jre is installed into
C:\Program Files\Java\jre7 you would type:

'"C:\Program Files\Java\jre7\bin\java.exe" -jar Phoenix.jar 1 GALAXY.GAL'

currently Phoenix has a planet window and a space window. Move between windows by rotating the mouse wheel up. In the planet window click on the hexes to move about. In the space window click on the space map to move about and click on the planets to zoom into the planets."
Last edited by flowerpot on Fri Feb 08, 2013 5:48 pm, edited 2 times in total.

Holsety
Infantery
Posts: 9
Joined: Fri Dec 21, 2012 3:29 pm

Postby Holsety » Fri Feb 08, 2013 1:44 pm

Awesome!

Had to make a little batch file to get it to start
(@ECHO OFF
java -jar Phoenix.jar 1 GALAXY.GAL)

Roads and river tiles don't connect properly, and it renders the very edgemost tiles as purple, but it works! :D

flowerpot
Assault Legionnaire
Posts: 74
Joined: Mon Dec 17, 2012 8:54 am
Location: Nowhere, trying to conjure up a Symbiot AI
Contact:

Postby flowerpot » Fri Feb 08, 2013 3:39 pm

Holsety wrote:Awesome!

Had to make a little batch file to get it to start
(@ECHO OFF
java -jar Phoenix.jar 1 GALAXY.GAL)

Roads and river tiles don't connect properly, and it renders the very edgemost tiles as purple, but it works! :D


Good to have independent verification that it works. :) Guess I left too much debugging printlines in there if you didn't manage to make it start without echo off. I went thru the code and commented out all the printlines and re-uploaded the file. Hope it starts without echo off.

edit. The new link is in the first post.

Regarding the roads and rivers and edgemost tiles the morale is no use fine tuning the graphics unless/until the game itself is working. I figure first in line would be trying to implement units and basic movement then factions and turns and combat and then I guess I would have to try my hand at AI building. That would really be a make or break thing as without halfway decent AI the game really isn't worth much.
Last edited by flowerpot on Fri Feb 08, 2013 5:47 pm, edited 1 time in total.

Holsety
Infantery
Posts: 9
Joined: Fri Dec 21, 2012 3:29 pm

Postby Holsety » Fri Feb 08, 2013 3:57 pm

Had to start it with the batch file, still.
Could be just me, though.
Double-clicking the .jar in windows 7 does nothing, so I just made a batch file since that's easier than starting through command line?
It also starts if I remove @ECHO OFF from the batch file, I just put that in out of habit. (First version starts without @ECHO OFF also, btw!)

You're right in your priorities though it'd still be awesome even without AI (if multiplayer works :) )

Edit:
Yup, latest version starts just by doubleclicking the .jar!
Last edited by Holsety on Fri Feb 08, 2013 6:55 pm, edited 1 time in total.

flowerpot
Assault Legionnaire
Posts: 74
Joined: Mon Dec 17, 2012 8:54 am
Location: Nowhere, trying to conjure up a Symbiot AI
Contact:

Postby flowerpot » Fri Feb 08, 2013 5:46 pm

Holsety wrote:Had to start it with the batch file, still.
Could be just me, though.
Double-clicking the .jar in windows 7 does nothing, so I just made a batch file since that's easier than starting through command line?
It also starts if I remove @ECHO OFF from the batch file, I just put that in out of habit. (First version starts without @ECHO OFF also, btw!)

You're right in your priorities though it'd still be awesome even without AI (if multiplayer works :) )


Ah now I get it ... it doesn't start at all without the command line arguments (1 or 2 and GALAXY.GAL) I'm so used to working on the command line I hadn't even thought about doubleclicking the filename :oops: , native linux user here 8) I changed it to default to 640x480 without any arguments and it should now work by doubleclicking the filename (crossing fingers) I put the new link into the first post.


Return to “Fixing it ourself”

Who is online

Users browsing this forum: No registered users and 17 guests