Jump to content
RozekPoland

OFP/ACWA - facts | myths | findings | experiments | prototypes | tutorials | protection

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.

  • Like 1
  • Thanks 2

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

  • Like 3
  • Thanks 2

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

tdmqHdz.jpg

FILE(s) NOT FOUND

(file paths that were not found by the game)

(bold - ACWA 1.99)

 

Quote

Regular Paths:

  • Users\UserName\missions\MissionName.IslandName\
  • Users\UserName\dtaExt\
  • dtaExt\

and

  • If SP (Single-Player)
    • missions\__cur_sp.IslandName\
  • If MP (Multi-Player)
    • mpmissions\__cur_mp.IslandName\


OFP/ACWA Main Menu

  • Specular textures:
    • data\grass_dx.paa
    • misc\waveBumpMap.paa
  • Global textures (numerized):
    • data\desta.05.paa
    • data\mesic.13.paa
    • data\more_anim.08.pac
    • data\basic.17.paa
    • data\fire.121.paa
    • data\fired.120.paa
    • data\water.07.paa
    • data\zasleh_front.04.paa
    • data\zasleh_side.04.paa
    • data\zasleh3_front.04.paa
    • data\zasleh3_side.04.paa
  • Textures:
    • biscamel\icamel2.paa
  • World cutscene detector (mission file format depends on currently loaded island):
    • anims\intro.Intro\stringtable.csv
    • anims\intro.Intro\description.ext
  • Legacy leftovers:
    • dtaExt\ofplogo1.paa
    • dtaExt\ofplogo2.paa
    • dtaExt\ofplogo3.paa
    • Game001.Intro\ofplogo1.paa
    • Game001.Intro\ofplogo2.paa
    • Game001.Intro\ofplogo3.paa
    • Game001.Intro\startup_logo_cwa_ca.paa
  • Config(s)
    • 6g30\config.cpp
    • abox\config.cpp
    • apac\config.cpp
    • biscamel\config.cpp
    • bizon\config.cpp
    • bmp2\config.cpp
    • brmd\config.cpp
    • ch47\config.cpp
    • flags\config.cpp
    • g36a\config.cpp
    • humr\config.cpp
    • hunter\config.cpp
    • kolo\config.cpp
    • kozl\config.cpp
    • laserguided\config.cpp
    • m2a2\config.cpp
    • mini\config.cpp
    • mm-1\config.cpp
    • noe\config.cpp
    • o\config.cpp
    • oh58\config.cpp
    • o_wp\config.cpp
    • steyr\config.cpp
    • su25\config.cpp
    • trab\config.cpp
    • vulcan\config.cpp
    • xms\config.cpp
    • voicerh\config.cpp
    • voicerh\stringtable.csv
  • Models
    • dtaExt\notebook.p3d

 

OFP/ACWA Edit Profile

  • Models:
    • dtaExt\hlavaw.p3d
      • male head
    • dtaExt\o\char\civilistka_head.p3d
      • female head


OFP/ACWA Mission Editor - Island Selection

  • Models:
    • anims\intro.intro\notebook.p3d
      • Replacement of notebook/computer model for Mission Editor - Island Selection. Currently loaded island determines mission file format (.intro, .eden, .abel, .cain, .noe).
    • dtaExt\notebook.p3d
      • As above but replacement works for all islands without specific mission folders for specific islands
  • Textures:
    • anims\intro.intro\_eden.paa
    • dtaExt\_eden.paa
    • anims\intro.intro\_abel.paa
    • dtaExt\_abel.paa
    • anims\intro.intro\_cain.paa
    • dtaExt\_cain.paa
    • anims\intro.intro\_training.paa
    • dtaExt\_training.paa
    • anims\intro.intro\\o\misc\_nogovo.paa
    • dtaExt\\o\misc\_nogovo.paa
  • demo\demo.wrp
    • GaR7j0j.png
    • demo.wrp is defined in config and it refers to Malden from OFP demo version (mission files saved as MissionName.demo format)


OFP/ACWA Mission Editor

Spoiler

Regular Paths:

  • Users\UserName\missions\MissionName.IslandName\
  • Users\UserName\dtaExt\
  • dtaExt\
  • Textures:
    • notasa.pac
    • notasb.pac
    • notasc.pac
    • notasd.pac
    • notase.pac
    • notasf.pac
    • bourka.paa
    • podmapa.pac
    • zatazenosl.paa
    • bourkasym.paa
    • jasnosym.paa
    • eastsym.paa
    • westsym.paa
    • azimut.paa


OFP/ACWA Mission Editor - Preview

Spoiler

Regular Paths:

  • Users\UserName\missions\MissionName.IslandName\
  • Users\UserName\dtaExt\
  • dtaExt\
  • Models:
    • kompas.p3d
    • kosei.p3d
    • vysilacka.p3d
    • blok.p3d
    • karta.p3d
    • gps.p3d
  • Textures:
    • podmapa.pac
    • sipka_left.paa
    • sipka_right.paa
    • equip\w\ (+ multiple files)
    • equip\m\ (+ multiple files)
    • equip\ (+ multiple files)


OFP/ACWA Mission Editor - Debriefing

Spoiler

Regular Paths:

  • Users\UserName\missions\MissionName.IslandName\
  • Users\UserName\dtaExt\
  • dtaExt\
  • Models:
    • blok_selmis2.p3d
    • desky.p3d
  • Textures:
    • debr_star.paa

 

OFP/ACWA Singleplayer - Mission Selection

  • Models:
    • anims\intro.intro\blok_selmis2.p3d
    • dtaExt\blok_selmis2.p3d

 

OFP/ACWA Singleplayer - Briefing

  • Textures:
    • data\kasna_voda.07.paa
    • data\m1_passide_anim.07.pac
    • data\night_sum.06.paa
    • data\bmp_anm.06.pac

 

OFP/ACWA Multiplayer - Lobby

  • Textures:
    • anims\intro.intro\misc\gamespy.pac
    • dtaExt\misc\gamespy.pac
    • anims\intro.intro\misc\sipkad.paa
    • dtaExt\misc\sipkad.paa
  • Like 1
  • Thanks 1
  • Confused 1

Share this post


Link to post
Share on other sites

x1MU1kG.jpg

Recently I discovered a security flaw in OFP/ACWA that can be exploited by hackers/cheaters to use modified versions of original game files without being detected at any point by any available measure. I would like to provide you details how to prevent usage of the hack.

 

The hack is oriented around the files listed below:

Quote

RESPAWN-related

  • scripts.pbo
    • onPlayerKilled.sqs
    • onPlayerRespawnAsSeagull.sqs
    • onPlayerRespawnOtherUnit.sqs
  • onPlayerRespawn.sqs
  • onPlayerResurrect.sqs

OTHER

  • init.sqs
  • description.ext
  • onflare.sqs

 

A hacker/cheater can use modified version of the aforementioned files with them NOT being detected as modified by checkfiles server mechanism.
To make the hack unable to work, each mission has to have all the listed files in its mission folder. The files can be even empty inside but they have to be present there with the exact names.
Keep in mind that depending on type of respawn in a mission, such files as:

  • onPlayerKilled.sqs
  • onPlayerRespawnAsSeagull.sqs
  • onPlayerRespawnOtherUnit.sqs

can influence the way respawn works in a mission. It is recommended to copy the three files listed above from original DTA/scripts.pbo and paste them in a mission folder.

  • Like 3
  • Thanks 2

Share this post


Link to post
Share on other sites

t23Dv0P.jpg

 

 

Due to my recent study focused on security measure of OFP/ACWA Dedicated Server I have done some research on checkfiles[]={}; array and its practical use.

Quote
  • CHECKFILES
    • List of files that should be checked for each player connecting.
    • List of files to check for integrity with crc check. Possible to check pbo files or files inside pbos. Beware checking large files, which takes serious processing on the server and can cause various issues.

Thanks to checkfiles, it is possible to make sure that each player that connects to a server is compatible with it in terms of content of the game.

 

There are two ways of "checking" files via checkfiles.

Quote
  • Path-finding
    • Do checkfile on a file in its defined path
    • example:
      • "addons\bizon.pbo",
    • Good for checking proper mod(s) synchronization across client-server. It is also fast.
  • Content-finding
    • Do checkfile on a content of a defined file
    • example:
      • "bizon\config.cpp",
      • "bizon\bizon.p3d",
      • "bizon\bizon.wss",
      • "bizon\bizon_1d.paa",
    • If there is a folder with the same name (as the defined file of the defined content) in the main OFP/ACWA folder, checkfile gets its priorities.
      1. It checks the defined content of the defined file.
      2. If found nothing there, it checks the defined location (the Path-finding way).
    • Good as an anti-cheating measure. May be slow if the checkfiles array is too long.

 

It is possible to checkfile any pbo file (and its content) as well as any other file that is located in OFP/ACWA game folder.

Quote

Keep in mind that including such a list in server.cfg will make connecting to a server extremely long and unstable. It is meant for testing purpose only.

 

To make it more performance-friendly and robust at the same time, I have prepared a basic list for checking the crucial content of OFP/ACWA. It is a good starting point for a vanilla (no-addons) server.

Quote

 

According to my latest discovery from the previous post, it is highly recommended to add these lines to checkfiles array.

Quote
  • "scripts\camera.sqs",
  • "scripts\death1.sqs",
  • "scripts\deathDefault.sqs",
  • "scripts\onPlayerKilled.sqs",
  • "scripts\onPlayerRespawnAsSeagull.sqs",
  • "scripts\onPlayerrespawnOtherUnit.sqs",
  • "scripts\startup.sqs",

 

If server uses custom addons/mods then it is recommended to include them in checkfiles array. It is worth the effort not only because of security issues but also for keeping 100% of synchronization between clients and server.

Quote
  • Some of the most popular addons that are in use on the public OFP/ACWA servers:
    • "baracken\config.cpp",
    • "cti_markers\config.cpp",
    • "editorupdate102\config.cpp",
    • "mfcti1.16\config.cpp",
    • "usmcsymbols\config.cpp",

 

It is worth mentioning that It is also possible to do checkfile ON-DEMAND on server by server admin.

Quote
  1. Connect to server
  2. Log into administrator
  3. Type #debug checkfile file-to-be-checked
    • example:
      • #debug checkfile dta\data3d.pbo
      • SOURCE

 

  • Like 2

Share this post


Link to post
Share on other sites

Make sure to use

 

"Addons\4ecf739.pbo",

"DTA\4ecf739.pbo",
 

to identify TKC users

 

And also this checkfile trick won't work well if the cheater joined before everyone else joined the server so #debug would work pretty well but the catch here is it requires logged in admin

Share this post


Link to post
Share on other sites

THE OLDEST OFP BUG!

 

Qatwyzg.png

 

Not really, but... how you guys could have missed it through all these years? :don9:

  • Haha 1
  • Confused 1
  • Sad 1

Share this post


Link to post
Share on other sites

As you know Aspect Ratio selector in the ColdWarAssaultPreferences.exe is bugged. It creates UserInfo.cfg in Users root folder which is the wrong location. Together with @RozekPoland we figured it out. You need to remove a key from the Windows registry:

HKEY_CURRENT_USER\Software\Bohemia Interactive Studio\ColdWarAssault\Player Name

Then it will work correctly but only for the profile which has the same name as your Windows profile and you cannot enter Profile Edit screen in the game because that will create the key and you'll have to remove it again.

 

Thank you Bohemia Interactive for creating amazing games. I hope you continue to prosper in this new decade. @Johny

  • Thanks 1

Share this post


Link to post
Share on other sites

kJydZVu.png
(Usage of black texture for ignoring FireGeometry components)
 

Quote

It is a well-known secret that it is possible to point the game engine which specific FireGeometry components should be ignored. It can be achieved by texturing a component with black.pac texture that is stored in data.pbo.

 


KAvQijy.png

A practical usage of it can be noticed in stodola.p3d, an original O.pbo model.


2jnfq7x.png

The components that correspond to all of the four sides of the building (excluding pillars), the doors and the hay located inside, are textured with black.pac.

 

gb7LjTU.png

A view of FireGeometry of stodola.p3d with selected components that are textured black.

 


aRLeF2U.png

As an effect these components are not obstacles and they let bullets through (are penetrable).

 

 

Quote

An approach with texturing components black can be found useful for modelers who prefer to have the full picture of their model Instead of removing parts of a model which are not meant for FireGeometry components.

 

  • Like 2
  • Confused 2

Share this post


Link to post
Share on other sites

In this example it is possible to do without the "black.pac" texture by simply removing that elements from "Fire Geometry". It will be absolutely same result.
I can't understand why there is a geometry component in the hay location. Could it be that the damage is reduced by firing through these elements? Only then would it make sense.
Another option (maybe) for using this texture with only one LOD "Geometry". In this case, LOD also serves as "Fire Geometry" (and "View Geometry"). 

 

"black.pac" is used in vehicles "Fire Geometry" for fixing hitting to the glasses. So this is the better example of using this texture. There it is necessary to fix a hit, but a through shot.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

shdgLSgl.jpg

(Difference in the way LOCK command works in 1.96 and 1.99 version of the game)

 

 

The latest discovery occurred while testing a multiplayer mission "Find the Serialkiller" by City Cobra.

 

The plot of the mission can be summarized as:

Quote

there are cops and the serial killer - his task is to kill as many people as he could before he is hunted down by the police.

You can read more about the mission HERE.

 

One of the features of the mission is ability of locking/unlocking the police vehicles (the vehicles are locked by default on startup) by the policemen so that the serial killer is not able to get into the police jeeps. I played the mission back in the days of 1.96 and remembered that the feature was useful and worked fine. However, trying the mission on a dedicated server based on 1.99 version of the game revealed an issue with the Unlock action (the issue does not occur locally). The action unlocks a vehicle barely for a second and then the Get In action disappears. Player has not enough time to scroll through the Action Menu to reach the Get In action on time.

Subsequently, I tried the mission on 1.96 version of the game what proved the Unlock action to be burdened with similar time-related issue as on the newer version of the game. The action unlocks a vehicle for about 2-3 seconds, notwithstanding it is enough for player to reach the Get In action.

Quote

The mission-maker must have realized that the way the Unlock action works is not fully operational but sufficient for majority of players to make use of it. Such an approach allowed the mission-maker to avoid building complex solution for the case.

 

From a technical perspective, the command is executed by player via action entry on non-local object which is clearly against the way the command works.

As BIKI stands in LOCK command entry:

Quote

Arguments of this scripting command have to be local to the client the command is executed on

In this case, a vehicle, which is one of the arguments of the command, is not local to the client who executes the command. The vehicle is local to the server. Nevertheless, the command gets broadcasted over the network despite of not meeting its own requirements. Amount of time it takes for a server to reject the request made by LOCK command depends on the version of the game:

  • 1.96
    • ≤ 3s
  • 1.99
    • ≤ 1s
  • Like 4
  • Haha 1

Share this post


Link to post
Share on other sites

Have you used reveal command? It makes it appear to player much faster been doing it for years.

 

Edit: not faster just instantly.

Share this post


Link to post
Share on other sites

X5Q2dFJl.jpg

(Fast Addon Testing)

 

There is a trick that addon-makers may find useful. The trick makes it possible to test an addon in-game without packing its content-folder to PBO each time anything gets changed. It allows to save time and avoid unnecessary effort.

 

Quote
  1. Go to AddOns folder
    • or go to addons folder inside modfolder of your choice
  2. Create an empty file with .PBO extension
    • for example: test.pbo
  3. Create a folder in the main OFP/ACWA directory and name it the same as the addon (skip .PBO extension)
    • for example: test
  4. Any content put there will be loaded by the game engine
    • such as: config, models, textures, scripts, sounds etc.

 

 

  • Like 5
  • Thanks 2

Share this post


Link to post
Share on other sites

This is awesome. I never knew that!

 

I will use these to test out new models, textures, config and sounds but for scripts I'll still be using something else.

 

For example:

 

class Man:Land
        {
        class EventHandlers    {init="_this select 0 exec {..\@Mod\Scripts\Exec.sqs}";}

...

 

With this way you'll be able to edit the scripts and then just restart the mission to see its effects. It doesn't even require restarting the whole game (it doesn't require script to be PBO'd too btw).

Share this post


Link to post
Share on other sites

J7qhNY4h.jpg

(SQUAD.XML - Problem & Solution)

 

 

One of the modern OS-related issues of OFP/ACWA is SQUAD.XML.

Operating systems starting from Windows Vista, 7, 8, 8.1 and 10 have a common problem with functioning of SQUAD.XML.

 

A solution for the issue was introduced in Operation Flashpoint: Resistance 1.91 Patch.

Quote

1.89 - Added: Item "proxy" added to Flashpoint.cfg to enforce proxy server used to download xml squad page etc.

 

SOLUTION:

 

Quote
  1. Open with any Text Editor (such as Notepad)
    • OFP 1.96
      • Flashpoint.cfg
    • ACWA 1.99
      • ColdWarAssault.cfg
  2. Add a line
    • If only one address is required
      • proxy="http://www.nameofthewebsite.com";
    • If more addresses are required
      • proxy="{http://www.nameofthe1stwebsite.com},{http://www.nameofthe2ndwebsite.com},{http://www.nameofthe3rdwebsite.com}";

 

 

 

Proxy has to contain address of main domain where SQUAD.XML is hosted. Pointing proxy entry to exact address of SQUAD.XML file is NOT RECOMMENDED.

Quote

The solution works for both dedicated and non-dedicated servers.

 

  • Like 6
  • Thanks 2

Share this post


Link to post
Share on other sites

Hello to all !
I'm also interested in fixing OFP/CWA. But I'm still a noob in this matter. And it’s very good that there is such a wonderful topic 👍
Any ideas how to fix a levitating Malden's forest?

 

1_800.jpgi.gif

 

2_800.jpgi.gif

  • Sad 1

Share this post


Link to post
Share on other sites

There is a lone road sign in plain field next to Morton.

 

BttIt8th.jpg

  • Like 1
  • Thanks 1
  • Sad 1

Share this post


Link to post
Share on other sites

CRitlK7h.jpg

(Automatic Body Removal)

 

 

OFP/ACWA game engine features in-built mechanism for automatic body removal. The feature is multiplayer-exclusive.

 

 

Quote
  • First 10 dead bodies (local-to-client) trigger the mechanism.
    • With every each new dead body (local-to-client) the oldest one (local-to-client) disappears.
      • A dead body that holds an equipment (a weapon or a magazine) which features value (config parameter: valueWeapon, valueMagazine) >= 1000 is excluded from removal.
        • An example is class HK (weapon).
        • A Flag Carrier (a unit that carries a flag) is excluded from removal.

 

 

The automatic body removal feature was introduced with Operation Flashpoint: Resistance expansion.

The mechanism received fixes in 1.85 and 1.91 patches.

1.85 - Fixed: Algorithm for removing bodies in MP game improved
1.87 - Fixed: Too many dead bodies were kept on server in 1.85.

 

  • Like 6

Share this post


Link to post
Share on other sites
On 3/10/2020 at 4:23 PM, RozekPoland said:

proxy="{http://www.nameofthe1stwebsite.com},{http://www.nameofthe2ndwebsite.com},{http://www.nameofthe3rdwebsite.com}";

This is invalid, at least for me.

Quote

proxy="http://www.nameofthewebsite.com"

is valid.

 

The reason is due to "port number" in my website (like ":8800"). After having removed it all addresses works fine. Thanks to the author.

Edited by CTI player IF
Problem solved.
  • 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

×