Skip to content

Commit 63606b9

Browse files
committed
Updated version number and changelog
Minor code edits to BugFixes.cpp.
1 parent d6946c8 commit 63606b9

4 files changed

Lines changed: 51 additions & 19 deletions

File tree

CHANGELOG.md

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,37 @@
11
# Changelog
22

3+
## 4.5
4+
* Fixed garbled colors during the fade to the main menu on startup when **SkipOpeningMovies** is enabled
5+
* Fixed the AP cost display not updating on game load when using `HOOK_CALCAPCOST` hook script
6+
* Fixed `load_array` script function not accepting floats as array keys
7+
* Fixed a crash when calling `proto_data` with an invalid data member value
8+
* Fixed `set_critter_current_ap` and `set_combat_free_move` script functions to update the player's AP lights only in combat
9+
* Fixed `set/remove_script` script functions not setting the script index number on an object properly
10+
* Fixed `set_unique_id` script function to prevent it from reassigning an object ID when unnecessary
11+
* Fixed `ONDEATH` hook to prevent it from being triggered by non-critter objects
12+
* Fixed `REMOVEINVENOBJ` hook not being triggered when using an item from active item slots while in the inventory screen
13+
* Changed `add_extra_msg_file` script function to mark the two-argument form as deprecated
14+
* Changed `objects_in_radius` script function to accept a radius of 0
15+
* Changed the character portrait on the character screen (from the **hero appearance mod**) to always show the standing pose
16+
* Re-added **NumberPatchLoop** option from older versions to `ddraw.ini`
17+
* Removed **AllowLargeTiles** option because its functionality is impractical and has never been used
18+
* Removed **GlobalScriptPaths** option because storing global scripts across multiple paths is almost never needed
19+
* Removed **ExtraSaveSlots** option from `ddraw.ini`. Now additional pages of save slots are always available, up to a maximum of **1000** slots
20+
* Added a fix for the `+/-` keys not updating the brightness slider when used on the preferences screen
21+
* Added a fix for getting stuck on an empty map when the encounter table has no available entries
22+
* Added a fix for a visual glitch on the character screen when selecting perks that modify SPECIAL stats
23+
* Added a fix for the morning start time used to determine random encounter frequency
24+
* Added a tweak to center inventory windows horizontally when not using the hi-res patch
25+
* Added a tweak to the animation sequence when interacting with scenery or using an item on an object
26+
* Added a tweak to use path length instead of tile distance to determine whether to walk or run to interact with objects
27+
* Added a new value to **InstantWeaponEquip** to skip weapon equip/unequip animations only when interacting with objects
28+
* Added object type validation to `item_weight` script function to prevent potential issues
29+
* Added a file size check for scripts to filter out clearly defective ones
30+
* Added support for nested array expressions (`compile.exe` in the **modders pack** is also updated)
31+
* Increased the maximum party member level from 6 to 10
32+
333
## 4.4.9.1
4-
* Fixed a crash bug introduced in 4.4.6 when the player is hit and combat starts at the same time
34+
* Fixed a crash bug introduced in 4.4.6 when a critter is hit and combat starts at the same time
535

636
## 4.4.9
737
* Fixed the edge-scrolling speed when using the game speed tweak
@@ -1070,7 +1100,7 @@ Original engine bug fixes and various features based on the work by Crafty:
10701100
Original engine bug fixes and various features based on the work by Crafty:
10711101
* Fixed a crash bug introduced with the inventory drag and drop fix
10721102
* Added a new value to **SpeedInterfaceCounterAnims** to update the HP/AC counters instantly when the number is not negative
1073-
* Added an option to skip weapon equip/unequip animations when performing various actions
1103+
* Added an option to skip weapon equip/unequip animations during various actions
10741104
* Added an option to control the speed of pipboy alarm clock animations
10751105
* Added an option to change the carry weight limit
10761106

artifacts/ddraw.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
;sfall configuration settings
2-
;v4.4.9.1
2+
;v4.5
33

44
[Main]
55
;Set to 1 to enable the built-in High Resolution Patch mode that is similar to the hi-res patch by Mash
@@ -516,7 +516,7 @@ UseScrollingQuestsList=1
516516
;ConsoleOutputPath=console.txt
517517

518518
;Set to 1 to add additional pages of save slots
519-
;This option is always enabled in 4.4.10/3.8.50 or later and cannot be disabled (kept for reference only)
519+
;This option is always enabled in 4.5/3.8.50 or later and cannot be disabled (kept for reference only)
520520
ExtraSaveSlots=1
521521

522522
;To use more than one save slot for quick saving (F6 key) without picking a slot beforehand, set the next two options

sfall/Modules/BugFixes.cpp

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2007,21 +2007,21 @@ static __declspec(naked) void wmSetupRandomEncounter_hook() {
20072007
}
20082008

20092009
static __declspec(naked) void inven_obj_examine_func_hack() {
2010-
__asm {
2011-
mov edx, ds:[0x519064]; // inven_display_msg_line
2012-
cmp edx, 2; // >2
2013-
ja fix;
2010+
__asm { // eax - text height
2011+
mov edx, ds:[0x519064]; // inven_display_msg_line
2012+
cmp edx, 2; // >2
2013+
jg fix;
20142014
retn;
20152015
fix:
2016-
cmp edx, 5; // 4 lines
2017-
ja limit;
2018-
dec edx;
2019-
sub eax, 3;
2020-
mul edx;
2021-
add eax, 3;
2016+
cmp edx, 5; // 4 lines
2017+
jg limit;
2018+
dec edx;
2019+
sub eax, 3;
2020+
imul edx;
2021+
add eax, 3;
20222022
retn;
20232023
limit:
2024-
mov eax, 30;
2024+
mov eax, 30;
20252025
retn;
20262026
}
20272027
}
@@ -4095,6 +4095,8 @@ void BugFixes::init() {
40954095
SafeWrite8(0x4583D8, 0x3B); // jz 0x458414
40964096
SafeWrite8(0x4583DE, CodeType::JumpZ); // jz 0x458414
40974097
MakeCall(0x4583E0, op_obj_can_hear_obj_hack, 1);
4098+
} else {
4099+
SafeWrite32(0x4583D3, 0x90903FEB); // jmp 0x458414 (prevent crash from null object)
40984100
}
40994101

41004102
if (IniReader::GetConfigInt("Misc", "AIBestWeaponFix", 1)) {

sfall/version.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
#define LEGAL_COPYRIGHT "Copyright (C) 2006-2026, sfall Team"
2424

2525
#define VERSION_MAJOR 4
26-
#define VERSION_MINOR 4
27-
#define VERSION_BUILD 9
28-
#define VERSION_REV 2
26+
#define VERSION_MINOR 5
27+
#define VERSION_BUILD 0
28+
#define VERSION_REV 0
2929

30-
#define VERSION_STRING "4.4.9.2"
30+
#define VERSION_STRING "4.5"

0 commit comments

Comments
 (0)