Restored and fixed RemoveWindowRounding option

Reorganized ddraw.ini a bit.
This commit is contained in:
NovaRain
2019-11-21 00:58:10 +08:00
parent 5053ab564d
commit 0c42f6447d
4 changed files with 52 additions and 36 deletions
+38 -30
View File
@@ -6,7 +6,7 @@
UseCommandLine=0
;Uncomment and point to a file to get alternate translations for some sfall messages
;TranslationsINI=.\Translations.ini
;TranslationsINI=sfall\Translations.ini
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[ExtraPatches]
@@ -288,9 +288,6 @@ Movie17=credits.mve
;LocalMapXLimit=480
;LocalMapYLimit=400
;To add additional perks to the game, uncomment the next line and set it to point to a file containing perk information
;PerksFile=Perks.ini
;Set to 1 if you want the pipboy to be available at the start of the game
;Set to 2 to make the pipboy available by only skipping the vault suit movie check
PipBoyAvailableAtGameStart=0
@@ -341,9 +338,6 @@ OverrideArtCacheSize=0
;Set to 2 to block all saving in combat
SaveInCombatFix=1
;Point to an ini file containing elevator data
;ElevatorsFile=Elevators.ini
;Uncomment and set a comma delimited list of numbers to use a custom xp table.
;Player's level is capped once the highest specified level is reached
;XPTable=50,100,200
@@ -372,8 +366,6 @@ AdditionalWeaponAnims=1
;If the ExtraKillTypes option is enabled, this should be set to 3, with containing entries for any new types
;Must be non-zero to use the edit/get/reset_critical script functions
OverrideCriticalTable=2
;To change the path and filename of the critical table file, uncomment the next line
;OverrideCriticalFile=CriticalOverrides.ini
;Set to 1 to get notification of karma changes in the notification window
DisplayKarmaChanges=0
@@ -435,6 +427,9 @@ Doctor=293
Science=293
Repair=293
;Set to 1 to remove window position rounding for script-created windows
RemoveWindowRounding=1
;Set to 1 to add scroll buttons to the pipboy quest list, and remove the quests per area limit
;Set to 2 to use a different set of scroll buttons
UseScrollingQuestsList=1
@@ -455,7 +450,7 @@ UseScrollingQuestsList=1
;CityRepsList=0:47,2:48,1:49,4:50,5:51,3:52,8:53,6:54,7:55,13:56,10:57,11:59,14:61,17:63,19:64,18:65,25:66,9:294,20:308
;Set this to a valid path to save a copy of the console contents
;ConsoleOutputPath="bingle.txt"
;ConsoleOutputPath=console.txt
;Set to 1 to add additional pages of save slots
ExtraSaveSlots=0
@@ -522,18 +517,6 @@ FastShotFix=1
;Set to 1 to boost the maximum number of script names from 1450 to 10000
BoostScriptDialogLimit=0
;Allows you to edit the skill tables
;Point the next line to an ini file containing the replacement skill data
;SkillsFile=Skills.ini
;To change the relationship between SPECIAL stats and derived stats, uncomment the next line
;See the Stats.ini in the modders pack for an example file
;DerivedStats=Stats.ini
;Allows you to change some parameters for drugs and their addictions
;See the Drugs.ini in the modders pack for an example file
;DrugsFile=Drugs.ini
;These options modify the checks to see if a critter can carry an additional item, changing which items are counted towards the weight limit and adding an additional size check
;Set the mode to 0 to disable the size check, 1 to apply to the PC only, 2 to apply to the PC and party members, or 3 to apply to all critters
;Only the PC uses CritterInvSizeLimit. Other critters will use the unused stat (STAT_unused = 10) or have the size limit of 100 if the stat is not set
@@ -614,17 +597,13 @@ ExplosionsEmitLight=0
;MovieTimer_artimer3=270
;MovieTimer_artimer4=360
;Set to 1 to enable the new arrays behavior
;Set to 1 to enable the new arrays behavior (default behavior)
;Set to 0 for backward compatibility with pre-3.4 scripts
arraysBehavior=1
;Set to 1 to add proper checks if there is enough ammo to use weapons that use multiple ammo per shot
CheckWeaponAmmoCost=0
;To add additional books to the game, uncomment the next line and point to a file containing book information
;See the Books.ini in the modders pack for an example file
;BooksFile=Books.ini
;Controls the speed of combat panel animations (lower - faster; valid range: 0..65535)
CombatPanelAnimDelay=1000
;Controls the speed of dialog panel animations (lower - faster; valid range: 0..255)
@@ -723,6 +702,35 @@ KnockoutTime=35
;Set to 1 to display sfall built-in credits at the bottom of credits.txt contents instead of at the top
CreditsAtBottom=0
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
; Configuration ini files
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
;To change the path and filename of the critical table file, uncomment the next line
;OverrideCriticalFile=CriticalOverrides.ini
;To change the relationship between SPECIAL stats and derived stats, uncomment the next line
;See the Stats.ini in the modders pack for an example file
;DerivedStats=Stats.ini
;Allows you to edit the skill tables
;Point the next line to an ini file containing the replacement skill data
;SkillsFile=Skills.ini
;To add additional perks to the game, uncomment the next line and set it to point to a file containing perk information
;PerksFile=Perks.ini
;To add additional books to the game, uncomment the next line and point to a file containing book information
;See the Books.ini in the modders pack for an example file
;BooksFile=Books.ini
;Allows you to change some parameters for drugs and their addictions
;See the Drugs.ini in the modders pack for an example file
;DrugsFile=Drugs.ini
;Point to an ini file containing elevator data
;ElevatorsFile=Elevators.ini
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Scripts]
;Comma-separated list of masked paths to load global scripts from
@@ -733,7 +741,7 @@ GlobalScriptPaths=scripts\gl*.int,scripts\sfall\gl*.int
;Uncomment the option to specify a common folder path for all ini files used by scripts
;You will have to put all the available ini files of the mods in this directory
;The maximum length of the specified path is 61 characters
;IniConfigFolder=IniConfig
;IniConfigFolder=mods\iniConfigs
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Debugging]
@@ -755,8 +763,8 @@ Enable=0
;show_script_messages=1
;show_tile_num=1
;[sound]
;debug=1
;debug_sfxc=1
;debug=0
;debug_sfxc=0
;-------
DebugMode=0
+8
View File
@@ -466,6 +466,13 @@ void AlwaysReloadMsgs() {
}
}
void RemoveWindowRoundingPatch() {
if (GetConfigInt("Misc", "RemoveWindowRounding", 1)) {
SafeWriteBatch<BYTE>(0xEB, {0x4D6EDD, 0x4D6F12});
//SafeWrite16(0x4B8090, 0x04EB); // jmps 0x4B8096 (old)
}
}
void InventoryCharacterRotationSpeedPatch() {
DWORD setting = GetConfigInt("Misc", "SpeedInventoryPCRotation", 166);
if (setting != 166 && setting <= 1000) {
@@ -666,6 +673,7 @@ void MiscPatches::init() {
PlayIdleAnimOnReloadPatch();
SkilldexImagesPatch();
RemoveWindowRoundingPatch();
ScienceOnCrittersPatch();
InventoryCharacterRotationSpeedPatch();
+5 -5
View File
@@ -604,9 +604,8 @@ static void ResetStateAfterFrame() {
}
static inline void RunGlobalScripts(int mode1, int mode2) {
if (idle > -1 && idle <= 127) {
Sleep(idle);
}
if (idle > -1) Sleep(idle);
for (DWORD d = 0; d < globalScripts.size(); d++) {
if (globalScripts[d].repeat
&& (globalScripts[d].mode == mode1 || globalScripts[d].mode == mode2)
@@ -800,9 +799,10 @@ void ScriptExtender::init() {
}
idle = GetConfigInt("Misc", "ProcessorIdle", -1);
if (idle > -1 && idle <= 127) {
if (idle > -1) {
if (idle > 127) idle = 127;
fo::var::idle_func = reinterpret_cast<DWORD>(Sleep);
SafeWrite8(0x4C9F12, 0x6A); // push
SafeWrite8(0x4C9F12, 0x6A); // push idle
SafeWrite8(0x4C9F13, idle);
}
+1 -1
View File
@@ -120,7 +120,7 @@ void sf_reg_anim_turn_towards(OpcodeContext& ctx) {
static void __declspec(naked) ExecuteCallback() {
__asm {
call fo::funcoffs::executeProcedure_;
jmp ScriptExtender::GetResetScriptReturnValue;
jmp ScriptExtender::GetResetScriptReturnValue; // return callback result from scr_return script function: -1 - break registered sequence
}
}