• Custom radars
• Game title
• Game size
• Game position
• Windowed borderless
• Sounds during level load
• Time of day systems
• Special weapon bobbing animation adjustments
• 2D Renderer effects
• Export of native functions to lua
• Anti-Cheat
• Extreme widescreen modifications
• And much more if used creatively. Think "outside the box"! Consider learning some C++ syntax, and some generic Win32. Then you'll be able to conquer the SDK much more effectively.
The actual Engine, Renderer, and certain other components are not fully moddable in the SDK. They are pre-compiled inside other files, but there's often ways to still make some changes in the SDK.
Can be found here: GameFront. Getting references to specific items can be a bit of a challenge, and takes some time to get used to. Using a competent IDE can help. If you walk away thinking the SDK is useless, you'd be quite mistaken. It is of good quality, and a reliable way to make more in-depth mods. Just depends on what you are trying to do..
Compiling Crygame.dll
The checkboxes in the tutorial will help track your progress, but you can clear them all by clicking the "Start Over" button.
Read This
• Windows 7 (and some later ones) only seem to compile in the "Release Win32" profile, but the CryTek says to use "Profile Win32" in the GameSource-Readme.pdf included with the SDK.
• If that does not matter to you, skip the rest of this section.
• If this matters to you, install Windows XP in a virtual machine. (or figure out why "Profile Win32" won't compile on Modern Windows)
• If your OS offers "Windows XP Mode", then use that. Otherwise use something like VirtualBox.
• Below is for those running Windows 7 .. specifically the Professional, Enterprise and Ultimate versions. But it still works with other variants using this trick
Install Windows Virtual PC
Install Windows XP Mode
Remove "hardware virtualization" requirement. (X32) (X64)
Download and install these tools
Instructions
Install CRYENGINE 1.4 MOD SDK
^^ On modern versions of Windows, you may want to install this somewhere else so Windows won't restrict access. You can install it to it's default location, but you might have to run Code::Blocks with Administrator privileges..
Install Code::Blocks
Install Visual Toolkit 2003
Install Windows Server 2003 SP1 Platform SDK
Install .NET Framework 1.1 Redistributable
Install .NET Framework SDK Version 1.1
Download the msvcprt library files from [Cern + Web Archive] ... here and here ... Find the "Microsoft Visual C++ Toolkit 2003" directory and put these files inside the lib folder.
(typically: C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib)
Acquire and install the Bink SDK. You can skip this if you know what you are doing and want to convert FarCry to using DivX video format. But to make a normal CryGame.dll ... you need the Bink SDK! Find the folder where you have installed the "CRYENGINE 1.4 MOD SDK", and install the Bink SDK to Sources\CryGame C++\Solution1\BinkSDK.
(typically: C:\Program Files\Crytek\CryENGINE_MOD_SDK\Sources\CryGame C++\Solution1\BinkSDK)
Some of these items are getting hard to find so you may want to keep a copy for future reference. They may also soon be hosted at CryMods.
Instructions
Select "Compiler" from the settings menu
It'll look about like this
Make sure the compiler is set to "Microsoft Visual C++ Toolkit 2003" and that it's the default
Select the "Toolchain Executables" tab, and click the Auto Detect button. It should say the compiler was detected!
Please verify that the paths are valid for your system. If for some (strange) reason, they are not, you must adjust them..
Click the "Additional Paths" tab, and add each of the following items
Open the "Search Directories" tab
add the following items to the compiler tab
add the following items to the Linker tab
The compiler should be ready now!
Instructions
(typically: C:\Program Files\Crytek\CryENGINE_MOD_SDK\Sources\CryGame C++\Solution1\Solution1.sln)
If this fails, you have to run Code::Blocks with Administrator Privileges .. OR you can install the "CRYENGINE 1.4 MOD SDK" to a location that Windows does not restrict..
Click yes when prompted to use default compiler
Click yes when prompted about importing configurations
Now click the Project menu, and select Build Options. This menu will appear
Select "CryGame" in the upper left tree
Enable the "Enable C++ exception handling" option in the C++ Features category
Click the "Search Directories" tab
Add the paths to STLPORT in the compiler tab as shown
Now click the "Linker settings" tab and add the User32 library. Just type it in carefully
You're done.
Instructions
You can compile directly on Windows 7, Windows 10 (and others?) by selecting the "Release Win32" profile. It seems to work just fine.
This method is proven. CryGame.dll will build without any errors or warnings.
Tip: do what is possible in LUA scripts first, and only then customize CryGame. You may also consider telling potential users what has been changed
Important
^^ That's all you need to make a normal CryGame. It'll play the 1.4 cutscenes, and demo loops just fine. See below for a way to also support .avi videos.
• In order to compile a CryGame.dll that can play .avi videos, you'll need to do a little work. First edit the ProjectDefines.h file and comment out (or delete) the lines that say: #define NOT_USE_DIVX_SDK
A: Find the folder where you have installed the "CRYENGINE 1.4 MOD SDK", and make a new folder named DivXFiles inside the Sources\CryGame C++\Solution1 folder.
(typically: C:\Program Files\Crytek\CryENGINE_MOD_SDK\Sources\CryGame C++\Solution1\DivXFiles)
B: Now in Code::Blocks, you will open the project's Build Options. Click the "Search Directories" tab, and add the DivXFiles folder to the Linker and Compiler tabs inside.
C: Now you need to add three files to the DivXFiles folder. dsound.h and dsound.lib and dxguid.lib
D: If you have the build kit, these files should be included in the archive. Or snag them here: dsound.h dsound.lib dxguid.lib
E: Otherwise, they can be sourced from the June 2010 DirectX SDK. Copy the three needed files to the DivXFiles folder. Then open dsound.h and delete the line that says #include <sal.h>
F: Now that those three files have been copied to the DivXFiles folder, you should be ready to compile. No warnings, or errors.
Extras
• On newer Windows, you may have issues compiling unless you are running Windows XP in a virtual machine. But you should be able to compile anyway if you use the "Release Win32" profile.
• On newer Windows, the default paths of the tools are slightly changed. Some things will be installed to C:\Program Files (x86)\ instead of C:\Program Files\ .. This should be handled automatically if you select the proper button in the tutorial section. If it still won't work ... then double check to see if the paths are valid.
• You need all the software that was listed .. unless it is explicitly labeled as optional.
• Here is a tip or two that will help active development:
You can tell Code::Blocks to put the new CryGame.dll into any folder. Really nice to have it placed in your mod for immediate testing..
Set the output path. You can also change the "Execution working dir", but that is not needed for this project.
Note how the "Release Win32" profile is being used. This is because I am natively compiling on Windows 7. Quick and easy for testing, and when I am ready for a release ... I'll probably compile it in Windows XP using the "Profile Win32" one :)
• You can set Code::Blocks to compile, and then run FarCry with any mod you want, and load any checkpoint. So much faster..
Here I'm loading the FarOut_Widescreen_Dev mod. Also am loading the checkpoint_carrier_Carrier_3.sav checkpoint. Note how I did not include the file extension in the command.
Then click "Build and Run"
Pretty nifty..
• And what does CryTek say? Here is what they say in the 1.4 SDK:
Presented by FarOut, and somewhat based on a post by SajberToffe from CryMod.com on 02/10/2005. If there's a problem, contact me and it'll be fixed :)
Discord is where it's all at. Join us!
Revisions:
• February 2020 - Updated instructions.
• February 2020 - Fixed paths for newer Windows. With javascript enabled, you can select your version of Windows and the paths will be corrected.
• February 2020 - Renamed the buttons to be 64 bit and 32 bit. Had forgotten there are 32 bit versions of the newer Windows operating systems..
• May 2020 - Slight revision. Added basic instructions for supporting playback of .AVI format videos.
• June 2020 - Ported to FCDB