Jump to content
RozekPoland

OFP/CWA - facts | myths | findings | experiments | prototypes | tutorials

Recommended Posts

w1jTukIh.jpg

(How to make Forest use ViewGeometry components)



1. List all textures of forest model

As an example, let us list all the textures of one of forest modelsles ctverec pruchozi_T2.p3d

  • data\blck_sum.pac
    • non-transparent
  • data\kmen_borovice.pac
    • non-transparent
  • data\kmen1_les.pac
    • non-transparent
  • data\kmen2_les.pac
    • non-transparent
  • merged\00001&krovi4.paa
    • transparent
  • merged\00002.paa
    • transparent

Basic knowledge of texture formats let us know that .pac texture is non-transparent while .paa is transparent. However, it is always worth checking them all out by yourself.

1.1. Modify transparency of transparent texture to make it be read by OFP/ACWA Forest ViewGeometry system as non-transparent

The easiest way to do it without any harm to texture is by using Hexed.it.

1.2. Open texture in hexed.it

1.3. Change the highlighted position to F4. It always is 2nd position in 2nd row in all cases.

As an example, let us open 00001&krovi4.paa. In this case 85 has to be changed to F4.
ZdIjZ7e.png

If the highlighted position stands for FF or any value ranged from F0 to F9 then it means that the texture is non-transparent so it does not require any modification.
 

Quote

This modification DOES NOT make the texture non-transparent in practice (the texture will stay transparent in-game). It simply cheats OFP/ACWA Forest ViewGeometry system that the texture is non-transparent therefore it CANNOT be used for internal calculation based on transparency of textures. Once all the forest model textures are recognized as non-transparent the game engine will switch to use the forest model ViewGeometry components.

 

1.4. Export modified texture
1.5. Change path of modified texture in forest model

  • If model is binarized (ODOL) you have to use Hexed.it or any other hex editor
  • If model is non-binarized (MLOD) you can do it via o2 or TxtPathSwap

1.6. It is done. Forest model with modified texture(s) will switch to its ViewGeometry components in-game.

Share this post


Link to post
Share on other sites

zq0xAdXh.jpg
(How to build proper Forest ViewGeometry)

1. Open forest model in o2
As an example let us choose a model from the previous tutorial: les ctverec pruchozi_T2.p3d


2. Explore Geometry (and FireGeometry - if exists) components of the model. Decide which components (Geo or FireGeo) are worth using for ViewGeometry due to their accuracy of reflecting the forest model in general.


In our exemplary forest model Geometry and FireGeometry share the same components of regular trees but FireGeo has a few additional components that reflect tree trunks. Use of already modeled components will save us time therefore it is decided that we will use FireGeo components for ViewGeo.

XSQ1Qzy.png

3. Find out what is the height (Y axis) of the lowest vertices of the tree components that you want to use for ViewGeo.

It is worth using Select VerticesDiqqT1L.png Tool for this task.
Once vertices are selected press Shift+E or select Points/Properties... option to display Vertex Properties menu.
pKQCT0C.png?1

In our exemplary forest model the height of the lowest vertices of the tree components in FireGeo is: 10.211
yjutMav.png

4. Modify height (Y axis) of the lowest vertices of component01 in ViewGeometry to the value that was determined in step 3.

In our exemplary forest model the height of the lowest vertices of component01 in ViewGeo is: -0.222. We have to change it to: 10.211.
KRjhzef.png

 

Quote

The whole process (from step 2 to step 4) allows to achieve two goals with just one ViewGeo component. Thanks to the process the huge triangle ViewGeo components is remodeled to a dome that provides:

  • obstruction for AI view in the part of the model with the most dense foliage
    • it perfectly serves as time-and-performance-friendly solution
  • inability to spot:
    • a target that is over the dome by a unit that is below the dome
      • a unit in the forest cannot spot a helicopter flying over the forest
    • a target that is below the dome by a unit that is over the dome
      • a helicopter flying over the forest cannot spot a unit in the forest

It does introduce a change to the core of the OFP/ACWA gameplay but it definitely is worth it.
An alternative approach without usage of the dome is possible but it requires building a dozen of ViewGeo components that will properly fit measures of each foliage what is inefficient in terms of time and performance.


5. Rename component01 in ViewGeo to componentXX

6. Copy the components that were chosen in step 2 and paste them in ViewGeo

7. Identify objects in LOD2.000 that have no component counterpart in ViewGeo. All minor objects in original OFP/ACWA forests are available as separate models in data3d.pbo. (For this purpose you can use ODOL Explorer in combination with WRPTool which features 3D Objects Photo-Gallery) Such a model contains proper (if available:) Geometry, FireGeometry and ViewGeometry components. Instead of building required components all by yourself, it is highly recommended to use the already existing ones from separate models. Keep in mind the separate models may be used not only for fixing Forest ViewGeometry but also broken or missing components in Geometry and FireGeometry.

In our exemplary forest model there is a bush that can be seen in LOD2.000. It has no ViewGeo component. The bush's separate model is identified as ker listnac.p3d.
mw29Rgwh.png

The specific model contains proper ViewGeo component that can be used in our forest model.
c3V2LEy.png

 

When the ViewGeo component is pasted in our forest model, we have to manually place it in the right spot. To make it easier it is recommended to work with the component in LOD2.000 where the visual counterpart of the bush can be seen. It may be required to rotate, move up/down or (in some specific situations) re-scale the pasted component to fit the visual counterpart. Once it is done, the adjusted component has to be copied to ViewGeometry of our forest model. Before copying the component make sure that the component number is not used by some already existing component in ViewGeo components list. Avoid having components with the same number at all cost! If such a situation occurs, none of them will work! Once it is completed, remove the copied component from LOD2.000.
03HHiAzh.png


 

Quote

Copy-Paste-Adjust is the way you can build complete ViewGeometry for your forest model without exhausting work-hours. All the required resources are at your disposal.


8. Once work on ViewGeometry components is done, replace XX in componentXX with the latest number that is available so the ViewGeo components list is numerically correct

In our exemplary model the latest available number for a ViewGeo component is 45 so we rename componentXX to component45

x9cq9nr.png

  • Thanks 1

Share this post


Link to post
Share on other sites

kOvGllN.jpg
(-benchmark)


Recently I was able to successfully traceroute -benchmark parameter which is actually one of the two unknown OFP/ACWA startup parameters. This discovery may be proved to be useful for mission-makers or anyone who wants to instantly test something ingame :exclamation:

Official OFP/ACWA startup parameters entry says:

Quote

-benchmark
Intended for automated benchmarking, but was never finished and is not working.


-benchmark parameter can be triggered manually but it does not function the way it was meant. In fact it just loads a hardcoded mission file in Mission Editor on Malden. Due to the fact that the loaded mission file is hardcoded I was able to traceroute it via OFP File Mon program in the first place.

UirQRP6.png

Launching OFP/ACWA with -benchmark parameter left an event in OFP File Mon. As I do not have test user folder in OFP/ACWA it occurred to me that the game is trying to access a very specific content that simply does not exist.

 

Quote

To launch OFP/ACWA with -benchmark startup parameter it is required to:

  1. Launch OFP/ACWA
  2. Create a new profile named test
  3. Open Mission Editor on Malden island
  4. Save a mission file named benchmark
  5. You can switch to your original profile and exit the game
  6. Launch OFP/ACWA with -benchmark parameter. You should be directly in Mission Editor on Malden with opened benchmark.abel mission file.


As a side note:

  • Any saved missions in Mission Editor will be stored in OFP\Users\test\missions
  • OFP/ACWA launched with -benchmark parameter uses settings from the original profile
  • Once you close Mission Editor the game will switch to your original profile.

 

Official OFP/ACWA Startup Parameters entry has been updated with details provided in a separate -benchmark entry.
-benchmark also appears in Arma3 Startup Parameters where it may act likewise.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

kD5UtWil.jpg

(Models replacement via Mission folder)


Following my recent discovery related to -benchmark startup parameter I have followed the trail of exploring files that are read by the game to find out more. Such an approach has paved the way to yet another discovery that may be even more surprising and useful than the previous one.
 

Quote

It is possible to replace models of: compass, watch, radio, notepad or gps directly in your mission folder without external addons or configs!


 

JCwwlNt.jpg

 

Quote

OFP/ACWA game engine is looking for the highlighted models in a set of specific locations, such as:

  • Users\YourUserName\missions\YourMissionName.IslandName\
    • save a mission via Mission Editor and place the replacement models in the mission folder
  • Users\YourUserName\dtaExt\
    • such a folder does not exist, you can create it and place the replacement models there
  • dtaExt\
    • such a folder does not exist, you can create it and place the replacement models there

 

Copy the new models that are named as the original ones and paste them in your mission folder (for example - Users\YourUserName\Missions\YourMissionName.Intro). The game will automatically use them instead of the original ones. This way you can customize your mission without requirement of additional addons.

Attention for models that use new textures! These textures will have to be stored in a separate pbo file to be able to be loaded (alternatively, the textures, as well as the models, can be stored in the main dtaExt folder - keep in mind to fix the paths to the new textures in the replacement models).

  • Like 1
  • Thanks 1
  • Confused 1

Share this post


Link to post
Share on other sites
20 hours ago, RozekPoland said:

It is possible to replace models of: compass, watch, radio, notepad or gps directly in your mission folder without external addons or configs!

 

20 hours ago, RozekPoland said:

Attention for models that use new textures! These textures will have to be stored in a separate pbo file to be able to be loaded 

This method still doesn't let you change models of equipment without external addons. It is possible to replace existing models with ones of different equipment (for example Soviet), however one still needs a separate .pbo with textures representing that equipment (and even then you have a side effect of big mission file size).

 

Without external addons/configs we can only replace BI stuff with something that uses the same textures (and similiar mapping), which in general limits us to the very same equipment. And making higher fidelity models of the same stuff is pointless, because BI models are OK, it's the textures that need a do-over (when it comes to binocs, compass, GPS, etc.).

  • Like 2
  • Sad 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×