Jump to content
COMBATSIM Forum

Recommended Posts

tfx_forever, you were trying to get TFXplorer working with an EF2000 installation a while back, but your did.dat file was not as expected.

This link contains the necessary files to get it working:

https://app.box.com/s/c04boktyc9yabyyblvmffvzqfv3j3va9

Once the zip file has been extracted, it's probably easiest to copy the TFXplorer exe and the 'UAW' folder to where the extraction was done.

 

Now, I need to check the TFX models for graffiti. :lol:

 

EDIT: New link to fix corrupt marsh.tm

https://app.box.com/s/k2h83wm20cqs594l49ezjyq6f1a88v9q

Link to post
Share on other sites
  • Replies 302
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

8 hours ago, tfx_forever said:

 

Mind..... blown.... 😮

 

Absolutely amazing work. Are those particle effects new ones or just altered original ones because they look amazing?

 

Can't believe the Lambo never got released for EF2000. Could have been a Russian drug lord's car or something!

 

Did you look at the TFX innards too? Just wondering if you stumbled across the legendary graffiti under the bridge? I spent ages looking for it in-game but never found it.


Edit:

regarding colour palettes, have you considered looking at the original TFX pallette? That was the best thing about the graphics in that game, flying in twilight with track 2 playing. EF2000 twilight came a close second IMO.

 

Yes, we had a few looks at TFX, but due to time issues we concentrated on TAW :) Don’t know when we’ll get back to it eventually. Awesome stuff with the graffiti. I’m counting the minutes for Mike to post screenshots :D

 

The particle systems are all new; but they didn’t make it into the official release yet.

Link to post
Share on other sites
On 4/22/2020 at 3:26 PM, mikew said:

...

 

Presumably DID used their own system for the GUIs judging by the scripts we see in the extracted files.

 

 

This statement reminded me of the following old, historical post by an ex-DID employee:

 

 

 

"Cheers for those link Mark - that TAW retrospective was great. Just looking at that interface artwork brings back so many memories.

I really wanted to go overboard on the interface but that bugger Steve Hunt used Microsoft Windows gadgets instead of custom ones. It was a sound decision really because it made prototyping and creating the interface a lot quicker.

I actually used Macromedia Director to prototype the interface, and I'm still using it today. Unfortunately, as we were using system gadgets you couldn't escape that Windows feel totally.

Fortunately, we were able to texture the window and the buttons, but it was frustrating at times. I wanted to have video behind the main interface elements but it wasn't possible - not with any speed anyhow.

I remember that main menu very well. That was probably my most creative moment with regards to the interface 😉 And no, it wasn't my last (at least I don't think so). It was fun until I had to translate it for several languages.

Credit must go to Donna who rendered those lovely scenes. I storyboarded them all and she really bought them to life.

I had created the DID web site so I used HTML to style up the mission briefings etc. It was all simple stuff and only a few select tags but it worked relatively well.

Yikes, just look at those bevel gadgets and those terrible scrollers. I hated those but this was a huge interface and it needed doing relatively quicky. In fact, I think it was the biggest interface (in terms of screens) in any game at that point. That's possibly not the case now.

Steve does still work at Juice, who are now owned by THQ. Ihad it confirmed today!

Cheers guys,
Steve"

 

 

Link to post
Share on other sites
4 hours ago, DrKevDog said:

I had created the DID web site so I used HTML to style up the mission briefings etc. It was all simple stuff and only a few select tags but it worked relatively well.

 

Cool. I need to decide an interface for the mission briefing texts, and I’d love to use HTML. But on the other hand, I don’t want to create a 100-MiB Chrome/Edge instance to display some text and images.

Rich Text can be displayed readily on Windows, but it is terrible to handle and it’s also Microsoft-proprietary, so no.

Markdown seems to take over the world, so maybe it’ll be that.

Link to post
Share on other sites

This week’s snapshots:

 

2020-04-30%20embedded.png

 

(Not what it looks like now!) Gameplay embedded as a child window into the UI dialog. This turned out to be the wrong way of glueing GUI and game together:

  • Even though Direct3D can render to a child window, it requires a top-level focus window. So the renderer had to serve two masters.
  • Input from joysticks and gamepads must be captured by the game window, but it’s needed for the GUI (the outer window) as well. This means even more glueing inner and outer dialogs together.
  • Many more special cases during page transitions etc.

In the end, I settled with game and GUI in the same window, but never side by side. So in-game it looks like it always did.

 

2020-05-01%20GUI%20main%20page.png

 

The main page of the new GUI. Still a few rough edges because

On 4/26/2020 at 12:12 PM, mikew said:

GUIs are never finished.

Specifically, the buttons need icons and larger text styles.

  

On 5/1/2020 at 5:40 AM, DrKevDog said:

Steve Hunt used Microsoft Windows gadgets instead of custom ones

… and 23 years later, TFXplorer’s “new” GUI does the same :D 

Link to post
Share on other sites

Looks good! :thumbsup:

 

In the meantime, I'm trying to re-familiarize myself with how TFXplorer handles datasets.

If I use an extracted TFX2 dataset, and run TFXplorer, we get the normal TFX2 behaviour.

If I do the same with an extracted TFX1 dataset, (which has a similar structure to TFX2) and edit a game.cfg to have LEVEL=libya.lev, I get the following error:

ERROR: copy the program to the 'PROGRAM' directory of EF2000, F-22 ADF, or TAW and restart

 

I realize there may be the odd issue with TFX1, but I'm not getting to the point where it tries to render anything.

Link to post
Share on other sites

Oh yeah, here’s the catch:

TFXplorer needs to know which TFX version it’s on. For simple stuff like the title bar, but also for more complicated stuff like finding the correct sound banks during gameplay.

 

It does so in two steps. One is the DAT file header:

enum Version : UInt4B {
	// EF2000 v2.0 (EF2000, the TACTCOM upgrade, Super EF2000, and the G+ patch all rolled together into one package for
	//  sale in the US).
	EF2000v2 = 0x00000001 ^ 0x35812B85,
	// F-22: Air Dominance Fighter.
	ADF      = 0x00000002,
	// F-22 Total Air War.
	TAW      = 0x00000003
};



auto const & header = *reinterpret_cast<ArchiveHeader const *>(toFilesBeginning);

// Identify the .dat version and configure the hash functions / XOR cypher accordingly.
char const * toMessage;
if(ArchiveHeader::Version::EF2000v2 == header.version) {
	toMessage   = "identified an EF2000 v2.0 (U.S.) .dat file\n";
	dat.version = Version::ef2000v2;
	key         = EF2000v2::key;
} else if(ArchiveHeader::Version::ADF == header.version) {
	toMessage   = "identified an F-22 Air Dominance Fighter .dat file\n";
	dat.version = Version::adf;
	key         = 0;
} else if(ArchiveHeader::Version::TAW == header.version) {
	toMessage   = "identified an F-22 Total Air War .dat file\n";
	dat.version = Version::taw;
	key         = 0;
} else {
	return "unidentified .dat file";
}

As you can see, there is no TFX support via DAT.

 

On to extracted files. Without a DAT, TFXplorer uses hints to find out which version it runs on:

sually, the .dat file stores the TFX version, too, which is crucial for decisions like what palettes to load. If the
//  .dat could not be loaded or is not desired to be loaded, we must use our own heuristics to identify the version.

// “lev\norway.asc” exists in TFX2, only. Checking the path (not assuring it is a file rather than a directory) should
//  suffice here.
if(OS::Win32::isPathExistent(u"lev\\norway.asc")) {
	myVersion = Version::ef2000;
	myMajorVersion = MajorVersion::tfx2;
} else if(OS::Win32::isPathExistent(u"lev\\redsea.asc")) {
	// “lev\redsea.asc” exists in TFX3 only.
	// TODO: Differentiate between ADF and TAW without “did1st.dat”.
	if(nullptr != myToPatchArchiveOrNull) { // “did1st.dat” exists in ADF only
		myVersion = Version::adf;
	} else {
		myVersion = Version::taw;
	}
	myMajorVersion = MajorVersion::tfx3;
} else {
	myVersion = Version::tfx;
	myMajorVersion = MajorVersion::tfx1;
}

It is well possible that, in your case, TFXplorer recognizes the files as TFX 1 (that’s the default if nothing else matches) but refuses to start because I never bothered to program the correct palettes, sound banks, etc.

 

I recommend: Place an empty file named LEV\NORWAY.ASC in your extracted TFX 1 directory. Then TFXplorer will think it’s EF2000. I’m not positive it will load, but at least it will lead us to the next error, like not finding the palettes. If this happens, you could change TFX 1’s palettes to have EF2000’s names, and so on.

 

I hope it displays some proper error messages. But that’s one of the huge messes I’m cleaning up right now.

Link to post
Share on other sites

Thanks! Copying over norway.asc and norway.trg to TFX1's 'lev' folder gets it to run.

..and copying across all TFX2's palettes lets me see things apart from stars.

I can even fly around with F5, but I haven't bothered copying over the TFX2 F22 model so only see the MFDs.

The Libya level seems stable, but getting CTDs with others. Anyway, I have something to play with now. :)

Link to post
Share on other sites

TFXplorer already handles TFX1 very well.

Some maps cause a CTD, but I need to use a different PC with Visual Studio installed to find out why.

It may be that these maps weren't used and sort of provide filler to fill out the CD.

There are some 'holes' in the terrain, not sure if it's missing data or incomplete handling of the TFX1 3/ssd files.

TFX1 looks like it used different world files (.lev) for different weather conditions, so need to match the palette with the world.

Link to post
Share on other sites

I can finally list all EF2000 maps:

2020-05-02%20all%20EF2000%20scenarios.pn

 

I notice that the palettes are way off for most of the hidden levels. They are way too dark; you cannot see a thing about the fields in Angola, for example. Any idea how EF2000 associates palettes with levels? It doesn’t have TAW’s daytime model, I presume?

Link to post
Share on other sites

No, I don't think the palette can change mid-mission like in TAW when the clock strikes 12:00,14:00 etc.

For EF2000, there'll be something like this in a text file associated with a mission.

INIT:

World norway

type pd_cd

...which specifies daytime and cloudy (I think) and there'll be a palette with a similar name that should be used.

 

We may have some of this information for the hidden worlds, but almost certainly not all of it. The palette called 'icel_d.col' hints at Iceland, but there aren't any starting with kor unless they are still in the pack of unknown named files.

 

TFX1 looks to be similar, but in this case the .lev/.le2 set also changes depending on weather and time of day.

 

Not sure what to suggest from a GUI point of view except adding a TOD/weather selector dialog like EF2000 does for the free flight missions.

 

 

Link to post
Share on other sites

For instance, there's a text file in TFX2's did.dat (with hash 87b6c936) that has the following contents:

newgame
9
16
day
ango_d
1000
ango_hi
4000
ango_hi
4050
ango_hi
4100
ango_hi
10000
infared
angola

 

This implies palettes called 'angola.col', 'ango_d.col' etc but if I add these names as candidate names into the extractor, nothing is found.

There are 93 files without names that contain exactly 768 bytes, so could be palettes though.

Link to post
Share on other sites

Perfect! Going to make palettes a per-scenario property now.

 

The current architecture of “force one palette per ADF time of day” still comes from 2012. Time to throw it out …

Link to post
Share on other sites
6 hours ago, mikew said:

 

This implies palettes called 'angola.col', 'ango_d.col' etc but if I add these names as candidate names into the extractor, nothing is found.

There are 93 files without names that contain exactly 768 bytes, so could be palettes though.

 

They would certainly imply palettes, it's odd that they aren't extracted...hmmm.

Also, you mentioned the holes in the tfx1 terrain and I'm working to copy that and you mentioned the missing data or incomplete handling of the TFX1 3/ssd files, How did you two resolve the issue of Invalid Index numbers in tfx2, when the Block 5 Index value is of greater magnitude than the ssinfo.fn files greatest index value (1370)?

 

Link to post
Share on other sites
1 hour ago, DrKevDog said:

How did you two resolve the issue of Invalid Index numbers in tfx2, when the Block 5 Index value is of greater magnitude than the ssinfo.fn files greatest index value (1370)?

I have seen TFXplorer halting with that error yesterday … so here it seems not handled at all.

 

Regarding the holes in terrain: These could well be intentional to fill the tile with a uniform background color and not waste any CPU time on it. Like EF2000 missing collision triangles for ground-level tiles.

 

Ace Combat 1 did this a lot. No solid ground below that base, just background color:

 

Link to post
Share on other sites

None of the terrain ssd files used in the default Norway map have out of range indices.

 

The holes in the terrain could be anything. We seem to be missing whole tiles, but at least they're easy to find.

lib1.png.e598fee667fa4b6790e705b227f70fb8.png

Link to post
Share on other sites

Sky colors not being set correctly, resulting in a black sky. Looks like we’re flying in Coca Cola …

2020-05-03%20Coca%20Cola%20sky%201.png

 

2020-05-03%20Coca%20Cola%20sky%202.png

 

2020-05-03%20Coca%20Cola%20sky%203.png

 

Mixing EF2000’s terrain and TAW’s planes does not work yet; they both use EF2000’s textures … but at least it’s an interesting camo:

2020-05-03%20wrong%20textures.png

Link to post
Share on other sites
39 minutes ago, Krycztij said:

Mixing EF2000’s terrain and TAW’s planes does not work yet; they both use EF2000’s textures

How are you doing that? by using both did.dat files at the same time?

 

I kind of like the coca cola sky. You can't beat the feeling! :)

Link to post
Share on other sites
Just now, mikew said:

How are you doing that? by using both did.dat files at the same time?:)

 

Yes; the new version allows to use multiple PROGRAM directories in parallel. It forces me to isolate the TFX code properly (like creating two glide drivers in the case above).

 

Forgive me that it’s done via registry, but I don’t want to waste time defining text file syntax now. There will be a GUI for it. … eventually.

Link to post
Share on other sites

Cool!

I did the combine everything into one big dat file approach a couple of years ago.

Sort of worked, but I didn't include enough TFX2 palettes, so doesn't look very EF2000ish.

tfxmix.png.c3f4348e9c99577768e0a37c01bc30ef.png

 

Link to post
Share on other sites
11 hours ago, mikew said:

Cool!

I did the combine everything into one big dat file approach a couple of years ago.

Sort of worked, but I didn't include enough TFX2 palettes, so doesn't look very EF2000ish.

tfxmix.png.c3f4348e9c99577768e0a37c01bc30ef.png

 

 

Huh?! I have this snapshot from 2016-12 with the comment mikew ported EF2000’s Norway level to TAW, including a moving map:

2016-12-05%20Norway%20in%20TFX3%20mode.p

 

It sure does look very EF2000ish to me!

Link to post
Share on other sites

Yes, I think in your picture we have a modified TFXplorer with EF2000 appropriate palettes.

In my picture, TFXplorer is stock but running in TFX3 mode which means that I would have needed to replace at least one of the TFX3 palettes with one from TFX2.

Also, as I have all TFX1,2 and 3 terrain in the same did.dat file, there is a problem with things like the sea, where all three games have sea.ssd but we use the one from TFX3...which doesn't match the coast tiles from TFX1 and TFX2.

I could get around this by renaming files as appropriate, but that was a step too far at the time.

 

Anyway, hopefully there will be a smarter solution soon. :)

Link to post
Share on other sites
2 hours ago, Scorpion82 said:

Looks amazing guys! ALbeit I barely understand what you are talking about.☺️

 

Just some experts trying to make the hidden/forgotten content more accessible :D

 

————

 

Here’s a comparison of Angola 2016 vs. 2020:

2016-10-15%20Angola.png

 

2020-05-03%20Angola.png

 

I switched to the norw_d palette as it has a tropical touch. Using the ground color (palette index 48) as background color really changes the look of the terrain holes a lot. Need to find out what happened to the tile indices, though.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...