Jump to content
COMBATSIM Forum
DrKevDog

World Editor-3P-4tfx

Recommended Posts

Awesome :) If you tell me the set of file names you chose (or upload them to the Box), I can make TFXplorer use that moving map for Seaworld.

Share this post


Link to post
Share on other sites

First word is redse_.map pointer cross referenced from the arcade pointer, which is the second word. I generally chose the first logical option for each set with multiple references:

 

11001f00
10038903    
fd002000    
fd024303    
fe024403    
ff024503    
00034603    
01034703    
12038503    
14008700    
16038603    
17009400    
18039003    
24003100    
25003000    
26003400    
28008100    
29003800    
31023203    
32023303    
33007200    
33023803    
34023003    
35023103    
36023703    
37006900    
43023403    
49008800    
51002500    
52003500    
52027302    
54008000    
55008200    
56008500    
56018801    
59008600    
60004200    
63004500    
65004800    
66005000    
67004900    
70006000    
72002902    
72008100    
73008200    
77003300    
77008600    
78008700    
78018701    
84009300    
85009400    
86018601    
87004201    
89008400    
93005200    
94005100    
95003900    
96004100    
03012200    
e0002100    
04012600    
af002900    
08012e00    
23002d00    
f0002800    
11012a00    
e100e500    
bc00cb00    
d300e200    
09013200    
38022e03    
3b022c03    
41022a03    
08006d00    
4d00d200    
2200ce00    
4c00ca00    
f7006f02    
c400d300    
5d003e01    
df011203    
39022f03    
3c022d03    
42022b03    
72003b01    
8d003d01    
8300cd00    
f7006f02    
4200cc00    
c500d400    
da003600    
da007d00    
88007c00    
5e003a01    
00003800    
3a023603    
3d023503    
30013f01    
2600f100    
8302ed00    
dc00eb00    
e800f700    
b5007f00    
05007000    
04007300    
0c006f00    
7a00da00    
7900d600    
c800d700    
cc00db00    
c2007400    
05007a00    
90003c01    
d000df00    
7b008a00    
7e008d00    
7b008900    
8b008300    
8c007b00    
29007e00    
7f008e00    
ae008c00    
07007100    
9f007500    
69006e00    
db00dd00    
f7001f00    
7c009100    
7c008b00    
e000ef00    
e400f300    
1e008f00    
1400f500    
db00e900    
6f007e00    
5e002702    
c700cf00    
50018a01    
ea018701    
2f027102    
6f018901    
5000e100    
d800e700    
7b018a01    
5e002802    
0c003f00    
99003e00    
66018b01    
4e002c00    
3702e602    
0d004300    
9a003a00    
f1018202    
f2023903    
f7023e03    
0c038303    
0f038403    
3e004000    
64003c00    
f3023a03    
f8023f03    
09039103    
0a038703    
0d038803    
13038a03    
17038b03    
3001f302    
f4023b03    
f9024003    
0b038c03    
0e038d03    
11038e03    
14038f03    
0f003700    
f0024803    
f5023c03    
fa024103    
78002f00    
9e017002    
72002a02    
fc002400    
f1024903    
f6023d03    
fb024203    
f6002300    
f5002700    
0e004000    
3e004400    
97003d00    
09006200    
8e006100    
3c003b00    
a0017202    
0a006a00    
38006c00    
8f006800    
92004f00    
b6004700    
0b006300    
3b006b00    
d400e300    
bd004b00    
cd004001    
98004d00    
b7004e00    
ff002b00    
eb004a00    
b8004600    
60026f02    
4100d400    
b900e502    
4f00d100    
f100e800    
4402d002    
4702cf02    
8400c900    
4502cd02    
4802ce02   

Share this post


Link to post
Share on other sites

How is it going with the World Editor? I downloaded and set up GIMP to handle Python scripts, and that does seem a promising approach. It would take a fair bit of effort to come up with anything useful though.
I also looked into modifying the open source mtPaint, as all we need is a fairly simple bitmap editor as a base. It only needed a couple of dependencies to build, but one of them was GTK. GTK itself requires a whole heap of other stuff, so that idea was quickly shelved.

So, nothing worthwhile achieved in the short time that I could spare this weekend. :(

In the EF2000 extracted files, there are some 200x200 worlds that seem reasonably complete, particularly Angola, Korea, Iceland and Faeroes amongst other clearly experimental worlds. These four worlds have 'missing' tiles when viewed in TFXplorer, but the missing tiles mostly seem to be from TFX, so can probably be taken from that fileset if we can be bothered.

 

Share this post


Link to post
Share on other sites

The World Editor is still coming along, albeit at a leisurely pace :). The last modification was to create templates for the inclusion of EF2K worlds. That's what I used when I was testing the terrain tile randomization patterns. It makes modifying and creating custom worlds very easy although it is still limited by the fact that each D.I.D. world has its own unique tile set and index values. Python scripts may be helpful there. It's good to hear you have looked into setting it up in GIMP. I would be very interested in knowing what you are doing with the scripts, specifically.

Share this post


Link to post
Share on other sites

I am doing absolutely nothing besides a bit of thought experimentation and web surfing in the name of research, although I have got the 'Hello World' example working. :)

The basic premise though, is being able to generate the env file(s) from a bitmap given that the palette, asc and dat files are constant for a particular world.
This operation requires parsing the bitmap to work out the transitions, and ensuring that there is an appropriate terrain shape available.

Maybe a python script based on the C 'blur' example here might help as working out the transitions also requires inspection of the surrounding pixels.
https://developer.gimp.org/writing-a-plug-in/2/index.html
I'm not volunteering to do this anytime soon though...

Share this post


Link to post
Share on other sites

That reminds me of one of the paths we were exploring earlier: '.sss'  Did you get any additional insight into what it is and how it functioned in EF2k?

Share this post


Link to post
Share on other sites

Not really, but my guess is the .sss file acted as a sort of metafile whose contents got compiled to the binary .ssd as part of the build process. This seems to have been common to TFX1,2 &3. I can't recall seeing an example of this mythical type of file in any of the extracted sets though.

I need to organize my files which are getting a bit out of hand, and the plan is to arrange them in a similar way to the paths we see in the .asc files and redsea.opt. This may even provide some insight why they did it that way.

Share this post


Link to post
Share on other sites

Nothing really to report, but I was pondering what theatre would be the most interesting to work with using the TFX way of describing worlds.
Apart from EF2000's Scandinavia, and TAW's Red Sea map, we also have the 200x200 maps of TFX, (plus Korea etc) that could be expanded to 400x400. The Libya and Yugoslavia maps might make good candidates for that.

A 400x400 map is roughly 1200 miles on each side, and we could expand, for example, the Korea map (black square) in a number of ways :
kor_p1.png.01dc97a26880bf3590d0a656c8f4e989.png

....or of course start from scratch and pick any 1200x1200 mile area on the planet.

While ideally we'd just pick a centre point and have some tool scour online databases and automatically create the tiles, I feel it wouldn't be as easy as that. :)

Anybody else thought about this?

Share this post


Link to post
Share on other sites
On 2/5/2017 at 2:02 PM, mikew said:

Not really, but my guess is the .sss file acted as a sort of metafile whose contents got compiled to the binary .ssd as part of the build process. This seems to have been common to TFX1,2 &3. I can't recall seeing an example of this mythical type of file in any of the extracted sets though.

That may well be the case and nothing I can recall seeing in the files resembles a .sss. As far as concerning the build process, I believe Tfx3 evolved somewhat from the basic process. I continue to labor under the belief that the terrain world was created using a 3 level process, consistent with what is written in the .wld files.

TFX2:

;World Info file for N:\3DSHAPES\TFX2\LEV\Newworld.wld
;Created With World Editor 95 V1.0

SIZE 400 400
TAGSPACE 1024
STAMPSPACE 256
TARGETSPACE 256
WORLDVIEWER e:\did\utils.win\worldv.exe
SETDID n:\3dshapes\tfx2
PALETTE pd_cd

TFX3:

;World Info file for q:\projects\tfx3\lev\working.wld
;Created With World Editor 95 V1.0

SIZE 400 400
TAGSPACE 1280
STAMPSPACE 256
TARGETSPACE 8276
WORLDVIEWER c:\wintools\worldv
SETDID q:\projects\tfx3
PALETTE 1400pal

The top level is TARGETSPACE, which in Tfx2 shares the same index with STAMPSPACE level and, therefore both are 256 (indices) wide because, IIRC,  each target represents only one tile, as does each stampspace.This can be confirmed in the norway.trg file. In TFX3, they went on to develop the target Complex. The largest of which, in TFX3, is the Kings complex which includes 36 tiles. Note that the campaign.trg does not use the "colour" code to define each entry, as does Tfx2 and in which the code is consistent with the index codes in Norway.trg., but uses a completely different code list which we previously extracted from the disassembled executable.

 

On 2/5/2017 at 2:02 PM, mikew said:

I need to organize my files which are getting a bit out of hand, and the plan is to arrange them in a similar way to the paths we see in the .asc files and redsea.opt. This may even provide some insight why they did it that way.

A couple years ago I did that very thing with the Tfx3 / redsea world. I organized the files into a Redsea World Directory Tree using the redsea.asc tag lines. I got side tracked and will spend some time now reviewing it. If you want a copy I can get that to you.It is interesting to me that the .asc lines are only involved with the terrain world (Static environment tiles and Static Target tiles). The ssinfo.opts involves static and non-static targets, etc..

Share this post


Link to post
Share on other sites
On 11/12/2017 at 4:24 PM, mikew said:

While ideally we'd just pick a centre point and have some tool scour online databases and automatically create the tiles, I feel it wouldn't be as easy as that. :)

Anybody else thought about this?

Such a tool would be very nice. The editor I am using with Gimp organizes each tile based on color, like the .wld stamspace, if I could figure out how to use and integrate the redse_.map index to the redse_.lbm bitmaps in the editor, I could move it up a notch and reuse the current ssd's to a good extent to create terrain expansion or implement the other worlds you eluded to.

Share this post


Link to post
Share on other sites

A bit bored today, so I'm just trying to remember where we are with our understanding of the theatre design process and how the information is stored.

It's been a year or so since I looked at it it, but my interpretation was something like this:
1. Choose some roughly 1200x1200 mile chunk of the planet to work with.
2. An 'artist's impression' 400x400 indexed bitmap (.lbm) of the theatre would be produced with the colour of each pixel defining 'what' should be at a certain position. The colour definitions for TAW were stored in the .wld file (amongst other info).
3. By inspecting each pixel and its surroundings, the transition characteristics of each tile of the theatre can be determined.
4. For each unique transition combination, at least one file (.ssd) needs to be produced defining it in detail. The information linking 3. and 4. is stored in the .asc file.

From the above, the .env and .dat files (in TAW) can be 'compiled' to provide the map info to the game engine at runtime.
If we ignore the moving map, tile randomization and clouds for the moment, that's basically it.

This results in a map of 160000 tiles but mainly due to a limited 'palette' in step 1, we only have a few hundred different tiles defined. Of those, there are only a few tens of tiles that are truly unique. Thanks to all this, we end up with a compact dataset which IMHO still looks pretty good when rendered in TFXplorer.
It's not just the visuals though, each tile needs to define other information relating to the game engine. For TAW, the entire dataset is about 120MB and loads in a couple of seconds if assembled into a single file archive.

As a contrast to this, I also have Xplane10 which came in a box with 10 DVDs. Someone also created tiles based on real world data, with more accurate geography, roads etc. These multi-gigabyte files could be downloaded free from the internet. The result was quite impressive as you could fly around around an area you know well just by following known features. The downside is that each scenario takes over 5 minutes to load and even then, you only get generic buildings unless you download more detailed models if they exist for a particular area.
If you took the Xplane approach to modelling the TAW map, you'd need 100s of GB of data just for the visuals. In a military sim, you need a damage model for the whole map and a way to keep track of it. That patch of forest you napalmed on the last mission needs to be still smouldering on the next, etc etc.
This is probably the reason the DCS people only had one map for years, and the Nevada map is mostly desert.

Anyway, I can see why we don't get games with the scope of EF2000 or TAW these days, but I'm not giving up on it just yet though. :D

Share this post


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

Anyway, I can see why we don't get games with the scope of EF2000 or TAW these days, but I'm not giving up on it just yet though. :D

I’m doing the best I can ;)

Xplane’s minutes of loading time can be avoided. However, I guess everyone on the project is short on time, and in a rush it’s better to get something going slow instead of trying to make it perfectly fast but not finishing it at all.

My approach on graphics is: If you are on a real plane and take a HD photo and compress it to PNG, that’s a 5 MB file. 5 MB of entropy, that’s all your eye needs for photorealism. I don’t think TFXplorer will ever be forced to load GB of data just to generate 5 MB of entropy on the screen. But now there’s the problem I mentioned above: it’ll probably take another decade to finish it … :(

Share this post


Link to post
Share on other sites
3 hours ago, Krycztij said:

I’m doing the best I can ;)

Just thinking out loud, not really aiming at anyone, least of all you. :)
...although maybe Eagle Dynamics. I can't imagine them putting alien spaceships into DCS World...or a dynamic campaign for that matter

The only recent-ish game that I've experienced a faster load time than expected is Elite Dangerous. I suspect that's because a large component of even a single player game is already running in the 'cloud'.
With IP speeds so fast these days, it might be worth looking at using it to handle 'internal ' communications within TFXplorer. It would make scaling easier when one PC is no longer enough to handle everything TFXplorer is doing. I'm not very good with computers though, so I'm sure there's plenty of reasons against it. :lol:

Share this post


Link to post
Share on other sites

Not that I know of, but I haven't looked at the EF2000 internals in too much detail. That's specially true of the DOS versions as IDA won't dissassemble the 16bit code.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×