Practical demo:Falcon limit is 4096 textures and/or 256 sets

Terrain / Theater editing

Moderators: Snake Man, Lone Wolf

Post Reply
Joe Labrada
1st Lt
Posts: 111
Joined: 2002-07-09, 10:01:01 PM
Gaming Interests: Falcon 4.0
Editing Interests: Terrains
Location: Spain
Contact:

Practical demo:Falcon limit is 4096 textures and/or 256 sets

Post by Joe Labrada » 2011-10-11, 11:43:49 AM

With regard to limit of textures that can be used in Falcon, long ago I did several tests and maintaining close contact with ComGP on the subject.

Sampling at the conclusions of Monster in this post.
monster wrote:Unfortunately, although I could enter more than 256 sets in TerrainEditor without any problem, when I tried to fly in Falcon above the area of the new tiles I entered (these that belong to sets above 255), I got a CTD (in OF).

Variable wise, there shouldn't be any problems, because the variable that is used to store the number of sets, is long integer (4 bytes, 32 bits) with a theoretical maximum of 4.294.967.295 sets (or 68.719.476.720 tiles). What I believe is, that this value is limited in the code because of the L0 and L1 tile values.

The L1 tile values are calculated by adding 4.096 to the corresponding L2 tile value. For L0 the value to add is 8.192. I believe, the code checks if the value that is called to display is between the following ranges, to get the tile from the corresponding source:

Code: Select all

  0  <=  Tile   <  4096     -->    Gets the Tile from L2 (L*.dds)
4096 <=  Tile   <  8192     -->    Gets the Tile from L1 (M*.dds)
8192 <=  Tile   <  12288    -->    Gets the Tile from L0 (H*.dds)
So, as you can see, if you have a tile number bigger than 4095 (so it belongs to a set bigger than 255), Falcon assumes that it is a L1 tile, will subtract 4096 from the value, and try to load the corresponding M*.dds.

As an example, lets say we have tile 4099 (Set 256, fourth tile). When Falcon gets this number (when you enter the L2 radius), assumes L1 and tries to load the corresponding tile 4099-4096=3. If tile #3 is defined in theater.bin, you will see the M version of tile #3, otherwise a CTD. When you enter the L1 or L0 radius, you'll probably get a CTD.

I tested the above and actually saw tile #1 instead of #4097 and when I got closer I had a CTD. To conclude, of course this is an exe edit fix and has nothing to do with TerrainEditor.


I merged two complete sets of textures.

Nevada Theatre: 3840 textures
Pillars of Hercules Theater Theater (POH): 1602 textures

A total of 5442 H textures . HMLT=H*4=21768
Image


The scripts run ok:
Image


The problem is on the threshold of the 4096 textures or above the 256 sets. As I placed the textures of POH after texture.bin Nevada in POH have 256 textures below the threshold (until 4096) and the rest of POH (1346) above the threshold.

At the northern edge of the Theater of Nevada created a strip of land with texutras of POH. All is made up of textures is below the threshold except for a small group willing inverted L-shaped (above threshold) to see if the area is properly observed in flight).

With old TErrainView observed that when I put above the threshold textures textures making Nevada Theatre (ie textures taken below the threshold).
Image

But with the TerrainView adapted to more than 4096 textures everything goes smoothly. You can see the textures well above the threshold.
Image

Pathmaker ok:
Image

Image




We flight test:

A large distance is observed that the strip inserted with POH textures, textures that are below the threshold of 4096 or 256 sets textures are observed correctly, but the textures that are above the threshold (L-shaped area inverted) shows incorrectly, we distinguish two behaviors in this region:

BEHAVIOR A: A long distance textures are observed textures POH game but we are not in place.
Image

BEHAVIOR B: A short distance textures are observed in Nevada. As I approach clearly shows the boundary of these two behaviors when entering the area of ​​higher-resolution textures.
Image

Image

Image

Image

Image

Image

Image


There are no CTD. The Theatre can fly, but ...The AF engine does not allow the textures are observed above 4096 or 256 sets of textures correctly and there is a positioning error of textures whose cause explains Monster. In OF I also did tests and there was the mistake of placing over 4096 textures

I have the tools that can handle more than 4096 textures, but can not falcon. To overcome this limit would mean the possibility of a land with a wide range of variations.

Use google translate. I apologize if that makes reading difficult.
Cordialmente,

Image

NOTE: Apologies my English. I use Google Translator

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests