Skip to content

Commit

Permalink
Added files to repo
Browse files Browse the repository at this point in the history
  • Loading branch information
michaeljhkim committed Mar 18, 2023
1 parent c31c789 commit 3447fab
Show file tree
Hide file tree
Showing 27 changed files with 5,808 additions and 0 deletions.
46 changes: 46 additions & 0 deletions DOCS/ReadMe.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
-- DX Modernization Fixes --

There are quite some issues running Deus Ex on modern hardware. Thus I've collected a couple of fixes from various projects to help provide a smooth experience while still keeping it vanilla.

Changes:

* Direct3D 9 renderer that works better on modern systems compared to the older Direct3D renderer. It also supports:
- S3TC compression (for 24-bit textures used by other mods)
- 4096x4096 textures
- Anti-Aliasing & Anisotropic filtering.
- A bunch of smaller rendering errors corrected.

* RenderExt that prevents certain levels (most prominently Vandenberg, Tunnels) from crashing due to too many lit surfaces at one time.

* The Revision Framework that includes the following fixes:
- Fix for too small ConCamera object, that might cause memory related crashes.
- Finer grained control over Brightness and Mouse sensitivity.
- Now displays all resolutions in the resolution display settings.
- Fixes the previously broken Effects Channels to go up to the supported maximum for both Galaxy and AlAudio audio subsystems.
- Makes it possible to save on drives with more than 4TB of free space.
- Makes it possible to delete QuickSaves.
- Adds UI scaling option via the ini/command line, defaults to tiny UI just as the OTP UI Fix.

* Updated launcher that includes the following fixes:
- Timing issues causing speedup/slowdown on modern CPU's have been fixed.
- Clamping FPS to 200 to prevent weird bugs due to the game running too fast.
- Opting out of DEP if this is enabled.
- Increased Stack and LargeAddressAware flag added to improve stability with high usage of RAM.
- A lot of support for mods.


How to install:

* Delete DeusEx.ini and User.ini if they exist, so fresh copies will be made from the defaults.
* Extract the two folders in this archive to the root of your DX installation so the stuff in the Maps and System folders overwrite existing content.

NOTE: This changes/overwrites files from the original Deus Ex. If you care about keeping those make backups before overwriting.

Credits:

Direct3D 9 renderer is made by Chris Dohnal and is taken from: http://www.cwdohnal.com/utglr/
RenderExt and the updated launcher was created by Hanfling for Deus Ex: Revision and can be found on: https://coding.hanfling.de/launch/
The Revision Framework was written for Deus Ex: Revision by hanfling, but ported without many changes to be standalone by me.

--
Björn Ehrby, bjorn@dx-revision.com, 2018-02-14
25 changes: 25 additions & 0 deletions DOCS/ReadMe2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
-- DX Modernization Fixes 2 --

So I am not the creator of this original package. I am just a fan of it.


Changes Since:

* Added higher FOV range
- From 110 to 120 (may also allow the minimum to be 75)
- Default FOV is now 90

* Fixed the widescreen cinematic subtitles
- Cutscenes did not show subtitles when resolution was in widescreen. Now they do
- Used Kenties method of fixing the subtitles



INSTALLATION IS THE SAME!

Credits:
hanfling helped me navigate through his code
kentie had the cinematic widescreen fix

--
Mechanical Sanity, 2023-03-18
10 changes: 10 additions & 0 deletions RF/Classes/RFConCamera.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//=============================================================================
// RFConCamera
//
// Created for the mod Deus Ex: Revision, and may be used according to the project licence.
//=============================================================================
class RFConCamera extends ConCamera;

defaultproperties
{
}
61 changes: 61 additions & 0 deletions RF/Classes/RFGameInfo.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
//=============================================================================
// RFGameInfo.
//=============================================================================
class RFGameInfo expands DeusExGameInfo;

// ----------------------------------------------------------------------
// ApproveClass()
//
// Approve DefaultPlayerClass and Spectators.
// ----------------------------------------------------------------------
function bool ApproveClass( class<Playerpawn> SpawnClass )
{
if (SpawnClass==DefaultPlayerClass)
return True;

if (ClassIsChildOf(SpawnClass, Class'Spectator'))
{
Log("Approved Spectator"@SpawnClass ,'DevDemo');
return True;
}

return False;
}

// ----------------------------------------------------------------------
// InitGame()
//
// Initialize the game.
// warning: this is called before actors' PreBeginPlay.
// Bjorn: Fixing broken filtering that was in vanilla...
// ----------------------------------------------------------------------
event InitGame( string Options, out string Error )
{
local string InOpt;
local float TempDifficulty;

Super.InitGame(Options, Error);

//Bjorn: We need to convert the CombatDifficulty to match the Difficulty var that the engine uses for filter out stuff on difficulty.
//Just converting the CombatDifficulty to an int WILL NOT WORK!
InOpt = ParseOption(Options, "Difficulty");
if(InOpt != "")
TempDifficulty = float(InOpt);

if (TempDifficulty == 1.0)
Difficulty = 0;
else if (TempDifficulty == 1.5)
Difficulty = 1;
else if (TempDifficulty == 2.0)
Difficulty = 2;
else if (TempDifficulty == 4.0)
Difficulty = 3;
}

// ----------------------------------------------------------------------
// ----------------------------------------------------------------------

defaultproperties
{
DefaultPlayerClass=Class'RFJCDentonMale'
}
123 changes: 123 additions & 0 deletions RF/Classes/RFJCDentonMale.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
//=============================================================================
// RFJCDentonMale.
//
// Replacement player for vanilla/mods that use the default player class.
//=============================================================================
class RFJCDentonMale extends RFPlayer;

// ----------------------------------------------------------------------
// TravelPostAccept()
// ----------------------------------------------------------------------
event TravelPostAccept()
{
Super.TravelPostAccept();

switch(PlayerSkin)
{
case 0: MultiSkins[0] = Texture'JCDentonTex0'; break;
case 1: MultiSkins[0] = Texture'JCDentonTex4'; break;
case 2: MultiSkins[0] = Texture'JCDentonTex5'; break;
case 3: MultiSkins[0] = Texture'JCDentonTex6'; break;
case 4: MultiSkins[0] = Texture'JCDentonTex7'; break;
}
}

// ----------------------------------------------------------------------
// UpdateTranslucency()
// DEUS_EX AMSD Try to make the player harder to see if he is in darkness.
//
// Overridden to check for our player class.
// ----------------------------------------------------------------------
function UpdateTranslucency(float DeltaTime)
{
local float DarkVis;
local float CamoVis;
local AdaptiveArmor armor;
local bool bMakeTranslucent;
local DeusExMPGame Game;

// Don't do it in singleplayer.
if (Level.NetMode == NM_Standalone)
return;

Game = DeusExMPGame(Level.Game);
if (Game == None)
return;

bMakeTranslucent = false;

//DarkVis = AIVisibility(TRUE);
DarkVis = 1.0;

CamoVis = 1.0;

//Check cloaking.
if (AugmentationSystem.GetAugLevelValue(class'AugCloak') != -1.0)
{
bMakeTranslucent = TRUE;
CamoVis = Game.CloakEffect;
}

// If you have a weapon out, scale up the camo and turn off the cloak.
// Adaptive armor leaves you completely invisible, but drains quickly.
if (inHand != None && inHand.IsA('DeusExWeapon') && CamoVis < 1.0)
{
CamoVis = 1.0;
bMakeTranslucent=FALSE;
ClientMessage(WeaponUnCloak);
AugmentationSystem.FindAugmentation(class'AugCloak').Deactivate();
}

// go through the actor list looking for owned AdaptiveArmor
// since they aren't in the inventory anymore after they are used
if (UsingChargedPickup(class'AdaptiveArmor'))
{
CamoVis = CamoVis * Game.CloakEffect;
bMakeTranslucent = TRUE;
}

ScaleGlow = Default.ScaleGlow * CamoVis * DarkVis;

//Translucent is < 0.1, untranslucent if > 0.2, not same edge to prevent sharp breaks.
if (bMakeTranslucent)
{
Style = STY_Translucent;
MultiSkins[6] = Texture'BlackMaskTex';
MultiSkins[7] = Texture'BlackMaskTex';
}
else if (Game.bDarkHiding)
{
if (CamoVis * DarkVis < Game.StartHiding)
Style = STY_Translucent;
if (CamoVis * DarkVis > Game.EndHiding)
Style = Default.Style;
}
else if (!bMakeTranslucent)
{
MultiSkins[6] = Default.MultiSkins[6];
MultiSkins[7] = Default.MultiSkins[7];
Style = Default.Style;
}
}

// ----------------------------------------------------------------------
// ----------------------------------------------------------------------

defaultproperties
{
CarcassType=Class'DeusEx.JCDentonMaleCarcass'
JumpSound=Sound'DeusExSounds.Player.MaleJump'
HitSound1=Sound'DeusExSounds.Player.MalePainSmall'
HitSound2=Sound'DeusExSounds.Player.MalePainMedium'
Land=Sound'DeusExSounds.Player.MaleLand'
Die=Sound'DeusExSounds.Player.MaleDeath'
Mesh=LodMesh'DeusExCharacters.GM_Trench'
MultiSkins(0)=Texture'DeusExCharacters.Skins.JCDentonTex0'
MultiSkins(1)=Texture'DeusExCharacters.Skins.JCDentonTex2'
MultiSkins(2)=Texture'DeusExCharacters.Skins.JCDentonTex3'
MultiSkins(3)=Texture'DeusExCharacters.Skins.JCDentonTex0'
MultiSkins(4)=Texture'DeusExCharacters.Skins.JCDentonTex1'
MultiSkins(5)=Texture'DeusExCharacters.Skins.JCDentonTex2'
MultiSkins(6)=Texture'DeusExCharacters.Skins.FramesTex4'
MultiSkins(7)=Texture'DeusExCharacters.Skins.LensesTex5'
}
61 changes: 61 additions & 0 deletions RF/Classes/RFMPGame.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
//=============================================================================
// RFMPGame
//=============================================================================
class RFMPGame expands DeusExMPGame;

// ----------------------------------------------------------------------
// ApproveClass()
//
// Approve DefaultPlayerClass and Spectators.
// ----------------------------------------------------------------------
function bool ApproveClass( class<Playerpawn> SpawnClass )
{
if (SpawnClass==DefaultPlayerClass)
return True;

if (ClassIsChildOf(SpawnClass, Class'Spectator'))
{
Log("Approved Spectator"@SpawnClass ,'DevDemo');
return True;
}

return False;
}

// ----------------------------------------------------------------------
// InitGame()
//
// Initialize the game.
// warning: this is called before actors' PreBeginPlay.
// Bjorn: Fixing broken filtering that was in vanilla...
// ----------------------------------------------------------------------
event InitGame( string Options, out string Error )
{
local string InOpt;
local float TempDifficulty;

Super.InitGame(Options, Error);

//Bjorn: We need to convert the CombatDifficulty to match the Difficulty var that the engine uses for filter out stuff on difficulty.
//Just converting the CombatDifficulty to an int WILL NOT WORK!
InOpt = ParseOption(Options, "Difficulty");
if(InOpt != "")
TempDifficulty = float(InOpt);

if (TempDifficulty == 1.0)
Difficulty = 0;
else if (TempDifficulty == 1.5)
Difficulty = 1;
else if (TempDifficulty == 2.0)
Difficulty = 2;
else if (TempDifficulty == 4.0)
Difficulty = 3;
}

// ----------------------------------------------------------------------
// ----------------------------------------------------------------------

defaultproperties
{
DefaultPlayerClass=Class'RFJCDentonMale'
}

0 comments on commit 3447fab

Please sign in to comment.