Elite / Frontier ffe hacks

no hacks section?
has to be (re)done, so....

i should have found that earlier; First Encounters save game editor. :cool:
it allows you to decrypt ffe's savegames (commandr files), i found that hidden on jongware. :)
i hope Lloyd and John aren't disappointed with the spreading of their work ;)
i've uploadet it here
it comes with ffe objects.doc for a easy access to the data in the decrypted files :D

i know it's a little bit late and nearly useless after "buffet2". it seem's (almost) no one has known this proggy, cause i asked once about a encryption of ffe commandr files, but didn't get a answer.
 
Last edited:
for those who dare to fumble around with a game genie
or hex edit their savegames

a (ffe suitable) character set of the fe2 line font (use it to spice up your ships name):
times font is used for starports, pubsigns and big ships in ffe

Code:
01    "return"                
20    "space"                
21    string; color blue            
22    string; color l.grey        
23    radioactive symbol, recycle symbol in times font  
25    + , saturn symbol in times font       
26    broad yellow /                
27    '                    
28    (                    
29    )                    
2A    sirius corp. symbol, * in times font     
2B    knights cross (in hoc signo vinces), + in times font        
2C    ,                    
2D    -                    
2E    .                    
2F    /                    
30    0                    
 .                        
 .                        
 .                        
39    9
3A    :
40    konami symbol, © otherwise 
41    A
 .
 .
 .
5A    Z
5C    -
5F    "space"
61    a
 .
 .
 .
7A    z
7C    3 or & ?
93    a green ball array
B0    one line up
BB    some cone
C1    halts game outputs "reboot required"
C7    shows a string
CE    orbit ring
D1    shows "game over commander" cross
D2    2 endless lines
D6    strange symbol
DB    text changes y/z axis, chatter sound (DB ;-) )
DF    blanks text or color m.grey
E0    2 ball arrays
E3    "fföt" and a line
E4    a thin line (*
E5    green ball array
F0    a string and flickering triangles
F7    a thin line (*
FC    grey ball array and lot of weird graphics
FD    one line down
FE    one line down

(* could be targeting tunnels in bitmap or line font?

other values than this will either crash the game or produce nothing of interest (so far). ;)
 
Last edited:
here's the bitmap font character distribution, useful to create a suitable font for ffed3d

Code:
00   blanks string
01   string turns black with gray shadow
0D   one line down (return)
20   "space"
21   !
22   "
23   #
24   ¢
25   %
26   ö
27   '
28   [
29   ]
2A   *
2B   +
2C   ,
2D   -
2E   .
2F   /
30   0
 .
 .
 .
39   9
3A   :
3B   ;
3C   ñ
3D   =
3E   é
3F   ?
40   ©
41   A
 .
 .
 .
5A   Z
5B   ü
5C   \
5D   ß
5E   °
5F   _
60   ä
61   a
 .
 .
 .
7A   z
7B   h²
7C   s²
7D   arrow nw
7E   arrow ne
7F   arrow sw
80   arrow se
81   □ (box)
82   ç
83   è
84   ù
85   î
86   â
87   ô
88   ê
89   ú
8A   à
8B   ò
8C   ¿
8D   A (hex)
 .
 .
 .
92   F (hex)
94   unknown symbol
95   unknown symbol
96   unknown symbol
97   ▌█
 .
 .
 .
9F   ▌█
FF   "t"

possible use of characters between A0 and FE still unknown (no output to common text strings, but.....)
soon wrong characters will be past :cool:
 
Last edited:
Pimp my Cobra

cobramk1_s1.jpg

cobramk1_s2.jpg


download replacement textures

including, a new "Times" font (Lynx), blue explosions (check out!), and all textures as shown in Frontierimages as .png files for you to use as reference or to flush it dd. :D

to get the Frontier Dev. Symbol on your ship, you need to hack the .exe (sorry), take jongwares frontiermeshes as guide search for the text command and replace the 06 for line font (size6) with 26 (Times font, size6).
use the % (25h) symbol for the "Frontier Dev. Saturn" in your ships name, use buffet type in "FR%NTIER" i.e..

here a example cobra mkI model from ffe split in showmesh.txt "format" for your better understanding and how to find relevant data in FFED3D:

Code:
cobra mk1
---------

offset in FFE 0x08D46A - 0x08D824
offset in FFED3D 0x106ECA - 0x107283

        0001 0203 0405 0607 0809 0A0B 0C0D 0E0F -

block 1; commands

  0x00: 5402 8F10 1302 8F00 7DC1 8F44 5DC1 C104  
  0x10: BDC1 C145 1301 C100 0900 EE20 1E24 BC02  
  0x20: 0900 EE20 1F25 BC02 1302 8F10 1DC1 408F  
  0x30: 5DC1 C104 BDC1 C145 1301 C100 0900 EE20  
  0x40: 262C 9001 0900 EE20 272D 9001 9401 8D10  
  0x50: 5301 8D00 5DC1 8D04 BDC1 C145 9300 C100  
  0x60: 0900 EE20 2F35 9001 9301 8D10 1DC1 408D  
  0x70: 5DC1 C104 BDC1 C145 9300 C100 0900 EE20  
  0x80: 2E34 9001 9401 8E10 5301 8E00 5DC1 8E04  
  0x90: BDC1 C145 9300 C100 0900 EE20 363C 9001  
  0xA0: 9301 8E10 1DC1 408E 5DC1 C104 BDC1 C145  
  0xB0: 9300 C100 0900 EE20 3E44 5802 1A00 0F40  
  0xC0: 0082 1140 0940 0D40 0140 0340 1340 2340  
  0xD0: 0DC2 8340 6B04 E602 D509 5301 8100 1C04  
  0xE0: 0400 7B17 4A06 0010 0340 6E17 4C06 6E17  
  0xF0: 4D06 6B02 0E80 9300 9D10 4DC1 9D08 6E00  
0x0100: 1C00 9300 9D08 4DC1 9D40 6E00 1D00 B300  
0x0110: 9705 E6FF 1C00 7C00 6E18 1A06 15F0 E6FF  
0x0120: 0400 0340 0A05 040B 0200 0700 EE20 0E0C  
0x0130: 0210 0300 0340 0100 0402 0300 0340 0504  
0x0140: 0602 0800 0440 0206 0004 0800 0700 0340  
0x0150: 0604 0A08 4B02 8601 1C19 0000 3C83 5405  
0x0160: 0A00 8808 0A06 4646 1630 1C19 4000 3C83 ;0x0165 = 06 is font style and size, 0 = line font 1-F, 1 = bitmap font (no use), 2 = Times font 1-F for the rightside label
0x0170: 5405 0A00 8808 0B06 4846 1630 0700 0440 ;0x0177 = 06 is font style and size, 0 = line font 1-F, 1 = bitmap font (no use), 2 = Times font 1-F for the leftside label
0x0180: 0804 0C0A 0400 0340 0A01 000B 0E00 0700 ;key for first label, 0A00 = TEXT, 8808 = COLOR gb0r (no influence to times), 0A = NORMALS from table (#10), 06 = FONT style, 46?, 46 = vertex (#70), 1630?  
0x0190: 0440 0600 100A 0700 0340 0806 120A D300 
0x01A0: 9704 8B00 0880 9B18 1640 00F0 4404 D300 
0x01B0: 9708 8B00 0980 BB18 1740 00F0 4404 5301 
0x01C0: 9703 0B01 0680 5DC3 8009 3C10 C300 DB18 
0x01D0: 1806 00F0 4404 0600 1302 8110 D301 8006 
0x01E0: 9301 8005 9300 8004 0100 E020 0258 8006 
0x01F0: 9400 8004 0100 002E 0258 8007 0000 

block 2; extra data

                                           B80B 
0x0200: 8813 B80B 78EC 

unknown data1

                       A080 178D 00C3 001A 1080 
0x0210: 0204 0608 090A 0B0C 0D0E 1011 1213 0000 

block 3; vertex

0x0220: 0100 0700 1700 0100 0007 0000 0100 1307  
0x0230: ED00 0100 1F00 0700 0100 1F00 F100 0100  
0x0240: 0FF9 ED00 0100 0A03 ED00 0100 0203 ED00  
0x0250: 0100 09FE ED00 0B00 0104 0500 0B00 0100  
0x0260: 0100 0B00 0100 0400 0B00 0102 1200 0100  
0x0270: 00FB F900 0100 07FC 0300 0100 0700 E800  
0x0280: 0100 0700 8F00 0700 1500 2000 1300 C11E  
0x0290: 2200 0100 0C00 1700 0100 0C00 3200 0700  
0x02A0: 1600 2800 1300 C126 2A00 0100 2300 F700  
0x02B0: 0100 4600 F700 0700 1600 3000 1300 C12E  
0x02C0: 3200 0100 00F7 0000 0100 00C9 0000 0700  
0x02D0: 1500 3800 1300 C136 3A00 0100 000F 0000  
0x02E0: 0100 003A 0000 0700 1600 4000 1300 C13E  
0x02F0: 4200 0100 1C01 F000 0100 E401 0000 0100  
0x0300: 0000 1500 0100 09FB F600 0100 00F9 0100  

block 4; normals

0x0310: 0400 0000 8100 0000 0079 2400 0400 007E  
0x0320: 0500 0000 1779 1C00 0400 4669 0000 0400  
0x0330: 22F8 8700 0A00 0084 1600 0000 1085 1900  
0x0340: 0600 388F 0000 

block 5; specifications (part1)

                       1022 3AF3 0201 4B00 3C00  
0x0350: 6100 6400 2140 0100 0200 030C 0001 EE02  
0x0360: FA00 E204 EE02 DC05 0000 B004 FA00 CC00  
0x0370: 1E00 0009 AE00 

unknown data
 
                       6A34 4A00 8A36 4A00 5000  
0x0380: 0000 7A37 4A00 1400 0000 

block 5; scale to collision data

                                 0900 0000 0000  
0x0390: 0000 7100 0000 1400 0000 0606 0600 0B00  
0x03A0: 0000 3043 0000 100E 0000 7036 4A00 	  

unknown data

                                           B037  
0x03B0: 4A00 0000 0000 0000 0000                 


keep in mind that theunis stated the wrong axis order
in frontiermesh.txt, data is reflected correct. 
order is: 1 - type, 2 - Z axis, 3 - Y axis, 4 - X axis,
where Z is depth like for a car model (from Front).

2010/04/07 P66
cobra mkI code as .txt file
showmesh.txt

hint: mark and copy-paste the model you want to edit to a new file in your hex editor, write down start & end offset.
it makes it a lot easier to find the data in the model, afterwards you can paste it back to the marked offset range.
also it will give a good reference for exchange in web.
it will look like this ffed3d_cobra.bin or this cobra mk1 modified labels.bin.
add a little txt file where you explain your edits like this cobra mk1 modified labels.txt
use this test model.x for best results (model is unfinished).

there is a slight difference between FFE & FFED3D in the last 2 "unknown" datablocks, anyone's got a idea?
i would apreciate it much.
 
Last edited:
+rontier

never had a problem getting the +rontier to appear (in "View" mode) when i picked up a classified mission (evidence posted soon).

please check if it happens only to federal missions, i allways fight for the imperials, so i don't know if it's different for the other party, could be a reason (even if it sounds strange).
 
Last edited:
ship label & other submodels issues in ffed3d

i discovered that the commands for the submodels only get read proper if the previous one is activated, no submodels without missiles, no Naval ECM without ECM, no Labels without fuel scoop. strange but true, any ideas :confused:
and forget what i wrote about you have to buy a new ship to activate the Labels fontstyle, it's wrong, only submodel use counts.
 
ok, in short
think models in FFE are build from a set of (parent)models and a lot of (child)submodels. use them like you use a construction set i.e. LEGO, you need a pair of wheels? only one time, you need a fuel scoop? only one time, you need missiles? only one time (i think that understands everybody).
two reasons for doing so (building models by commands is smart btw) processing time, program volume.
i know today two forgotten stepchilds of computergames, but.....

not going too far, ffed3d handles submodels different then ffe or jjffe.
standart landing gears (submodels) have been disabled by default and i think that's maybe (maybe! ther'e others) the reason for the strange behave of not (proper) called submodels (process halts after call for disabled submodel?).

maybe.... you remember your first lessons in ms basic commands back in the 80's?
draw a circle by a command, fill it's space in a set color with another command, nothing else (in general). :D
 
Last edited:
Back
Top Bottom