iw3xo-dev
iw3xo-dev copied to clipboard
iw3xo - a call of duty 4 modification - rtx remix compatibility
iw3xo/rtx - a Call of Duty 4 modification
This client mod brings various modifications and additions to the base game
and also includes support for nvidia's RTX Remix.
[ Most noteworthy features of iw3xo ]
map exporting -- live link between the game and radiant -- sp map loading in mp --
collision visualization -- day and night cycle with custom sky shader --
custom movement options and much more
[ Remix compatibility ]
This client mod does not come with a 'rtx mod' -> that means:
no custom models, no normal-maps, no fancy pbr materials or lights.

> Features / Guides / In-Depth <
https://xoxor4d.github.io/projects/iw3xo/
Usage
Mandatory but might not feature the latest and greatest:
- Download the latest iw3xo release - the
_rtx
build comes with all files required for rtx remix
- Extract the contents into your cod4 root directory.
- Skip to Step 5 if you are not interested in nightly builds
Nightly (always up-to-date):
- [rtx only] Install the latest full rtx-remix release (0.4.1 at this time)
https://github.com/NVIDIAGameWorks/rtx-remix/tags
- [rtx only] [optional] Install the latest
github action
builds of:
remix bridge - https://github.com/NVIDIAGameWorks/bridge-remix/actions
remix runtime - https://github.com/NVIDIAGameWorks/dxvk-remix/actions
- Download the latest iw3xo (develop branch)
github actions
build:
Build-Release
- https://github.com/xoxor4d/iw3xo-dev/actions
- Drop
iw3x.dll
and the contents of the assets-remix
folder [rtx only] into your cod4 root directory
- Run
run_remix.bat
to start the game with rtx-remix features enabled
or directly run iw3xo.exe
iw3xo.exe
(modified to load iw3x.dll
instead of d3d9.dll
)
| -> iw3x.dll
is a proxy d3d9.dll
- Read the
Dvars / Console Commands
and Current issues
sections
Remix section
This client mod brings various modifications and additions to the base game
and also includes support for nvidia's RTX Remix.
[ Most noteworthy features of iw3xo ]
map exporting -- live link between the game and radiant -- sp map loading in mp --
collision visualization -- day and night cycle with custom sky shader --
custom movement options and much more
[ Remix compatibility ]
This client mod does not come with a 'rtx mod' -> that means:
no custom models, no normal-maps, no fancy pbr materials or lights.
> Features / Guides / In-Depth <
https://xoxor4d.github.io/projects/iw3xo/
_rtx
build comes with all files required for rtx remixhttps://github.com/NVIDIAGameWorks/rtx-remix/tags
github action
builds of:remix bridge - https://github.com/NVIDIAGameWorks/bridge-remix/actions
remix runtime - https://github.com/NVIDIAGameWorks/dxvk-remix/actions
github actions
build:Build-Release
- https://github.com/xoxor4d/iw3xo-dev/actionsiw3x.dll
and the contents of the assets-remix
folder [rtx only] into your cod4 root directoryrun_remix.bat
to start the game with rtx-remix features enabledor directly run
iw3xo.exe
iw3xo.exe
(modified to load iw3x.dll
instead of d3d9.dll
)
| -> iw3x.dll
is a proxy d3d9.dll
Dvars / Console Commands
and Current issues
sections🔸 sun, skybox and fog settings can be tweaked by using map_settings.ini
:: iw3xo/rtx
folder 🔸
- use console command
/devgui
to open a developer gui -> RTX tab- I suggest binding the
/devgui
command to a key, eg:bind F5 devgui
- I suggest binding the
-
A. Commandline Arguments:
-
-rtx
:: enable rtx modules (⚠️ required for rtx-remix) -
-no_default_sky
:: disable sky spawning (map settings) -
-no_sun
:: disable sun spawning (map settings) -
-no_fog
:: disable fog (map settings) -
-no_playershadow
:: disable player shadow casting -
-stock_effects
:: render effects using shaders -
-old_anti_culling
:: use the old anti culling system -
-no_forced_lod
:: do not setr_forceLod
tohigh
by default -
-load_normal_spec
:: enable loading of specular and normal maps (if you need to for some reason) -
-thirdperson
:: using thethirdperson
flag will render the thirdperson playermodel into the firstperson view (for shadow casting. Assign the Player Model material category to hide it from your view (keeps casting shadows) (WIP - also spawns a triangle with a unique texture used as the bounding box origin to hide meshes using textures marked as player model)
-
- commandline example:
c:\path\iw3xo.exe -rtx -no_default_sky -stock_effects
-
B. Dvars (I recommend tweaking these via the
/devgui
) :🟩 encouraged to be tweaked
🟦 can be useful in edge case scenarios
🟧 shouldn't be touchedCulling dvars:
🟩
rtx_culling_tweak_mins
:: prevents a bit of culling
🟩rtx_culling_tweak_maxs
:: prevents a lot of culling
🟩rtx_culling_tweak_frustum
:: disables frustum culling
🟩rtx_culling_tweak_smodel
:: disables static model cullingGeneral dvars:
🟩
r_forceLod
:: force all models to a specific LOD
🟩r_forceLod_second_lowest
:: prevent game from using the lowest LOD (sometimes used to hide the model)
🟩r_lodScaleRigid
:: adjust static model draw distances (lower values increase draw distance)
🟩r_showTess
:: draws material info (incl. all image names) of surfaces (geometry / models)
🟩r_showTessDist
:: adjust draw distance of ^ info text
🟩r_showCellIndex
:: show portal index info (useful for manual culling overrides via map settings)
🟦rtx_sky_hacks
:: allows manually declaring textures as sky (maps w. multiple skies)
🟦rtx_sky_materials
:: materials iw3xo flags as 'sky' materials (logic that replaces the default sky)Dvars that should only be changed if you know what you are doing:
🟧
rtx_warm_smodels
:: build model buffers on map load (enabled by default)
🟧rtx_hacks
:: replace the skybox with a blue-gray texture
🟧rtx_extend_smodel_drawing
:: disable static model draw limit (max amount of static models drawn at once)
🟧rtx_sky_follow_player
:: sky will follow the player (might help with culling in some cases)Culling dvars when
old_anti_culling
flag is set:🟩
rtx_disable_world_culling
:: tweak overall culling
🟩rtx_disable_entity_culling
:: tweak culling of script objects (entities)
- C. Console Commands :
-
mapsettings_update
:: reload map settings -
mapsettings_get_defaults
:: prints sun direction, color and intensity in map_settings format based on the stock map settings to the consle
-
⚠️ Current Issues
-
Swift changes in geometry (eg. teleporting) can crash the game.
- Decrease geometry drawing by increasing culling or play with
r_lodScaleRigid
- Decrease geometry drawing by increasing culling or play with
-
Remix might try to use your onboard gpu (that is a general CoD issue), so its best to disable it in the bios or within the device manager
-
Some effects will slow down the game (really depends on the effect and the amount)
Questions?
- join the rtx-remix showcase discord and check out the cod4 thread within the
remix-projects
channel. - join the iw3xo discord if you have questions related to iw3xo
- sp compatibility mod: iw3sp-mod-rtx
- rtx-remix: https://github.com/NVIDIAGameWorks/rtx-remix
Requirements:
- CoD4 1.7
- English localization (other languages work when renamed)
- root/localization.txt -> change first line to "english"
- root/main/ -> rename "localized_yourlanguage_iw**.iwd" files to "localized_english_iw**.iwd"
- root/zone/ -> rename folder "yourlanguage" to "english"
Build / Compile
> How to build / compile the project using Visual Studio
- Clone the repo! (zip does not include deps!)
- Setup a
COD4_ROOT
environment variable with a path to your cod4 directory (optional) - Use generate-buildfiles.bat to build project files with premake
- Open
(build/iw3xo-dev.sln)
and setup paths for the iw3x project (not needed if Step #2)
- General output directory path ->
path-to-cod4-root\
- Debugging command ->
path-to-cod4-root\iw3xo.exe
- Debugging working directory ->
path-to-cod4-root
- Build -> Build Solution or run with debugger
Optional (Fastfile sources)
- https://github.com/xoxor4d/xcommon_iw3xo (compiled, placed into root/zone/english/)
- https://github.com/xoxor4d/xcommon_iw3xo_menu (compiled, placed into root/zone/english/)
Optional:
https://github.com/xoxor4d/iw3xo-radiant
Project Page:
https://xoxor4d.github.io/projects/iw3xo/
Discord:
https://discord.gg/t5jRGbj
Credits
- X Labs (especially Snake)
- The Plutonium Project Team (especially Rektinator)
- Nukem9 - LinkerMod
- g-truc - glm
- ocornut - Dear ImGui
- Jelvan1 - cgame proxymod
- Nvidia - rtx-remix
- people of the rtx showcase discord (for testing, feedback and ideas)
Disclaimer
This software has been created purely for the purposes of academic research. Project maintainers are not responsible or liable for misuse of the software. Use responsibly.