-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c31c789
commit 3447fab
Showing
27 changed files
with
5,808 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
{ | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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' | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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' | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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' | ||
} |
Oops, something went wrong.