Skip to content

Commit 5abf44e

Browse files
committed
Merge branch 'master' of https://github.com/sfall-team/sfall into better-docs
2 parents 6d91d26 + 38e1eae commit 5abf44e

11 files changed

Lines changed: 39 additions & 36 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
## 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
5+
36
## 4.4.9
47
* Fixed the edge-scrolling speed when using the game speed tweak
58
* Fixed incorrect unarmed damage being displayed in the inventory under specific conditions
@@ -53,7 +56,7 @@
5356
* Added a fix for the duplicate click sound when selecting a location in the Status section of the pipboy
5457
* Added a fix for extra hidden buttons below the location list in the Status section of the pipboy
5558
* Added a fix for map lighting from **Night Vision** perk not updating when loading a saved game
56-
* Added a fix for an animation glitch when death animations and combat start simultaneously
59+
* Added a fix for an animation glitch when death animations and combat start at the same time
5760
* Added a fix to prevent the game from hanging when reloading a weapon overloaded with ammo via the interface bar
5861
* Added a few fixes for issues related to weapons with negative ammo
5962
* Added a tweak to replace death animations on critters with single-frame variants on map load
@@ -320,14 +323,14 @@
320323
* Updated French translation (from HawK-EyE)
321324

322325
## 4.3.0.1
323-
* Fixed a crash bug introduced in 4.3 with the fix for animation registration
326+
* Fixed a crash bug introduced in 4.3 by the fix for animation registration
324327
* Fixed a bug in **AIDrugUsePerfFix** that could cause a hang in combat
325328
* Fixed the extra check for friendly fire not working if the `area_attack_mode` parameter in the AI packet is not set or set to `no_pref`
326329
* Added a fix for `chem_primary_desire` values in party member AI packets not being saved and reset correctly
327330

328331
## 4.3
329332
* Fixed the original engine issues with being unable to register animations in certain situations in the game
330-
* Fixed a crash bug introduced in 4.2.9 with the fix for the **'Leave'** event procedure in `AddRegionProc` function
333+
* Fixed a crash bug introduced in 4.2.9 by the fix for the **'Leave'** event procedure in `AddRegionProc` function
331334
* Fixed a bug in **ObjCanSeeObj_ShootThru_Fix** that could cause a hang in some cases
332335
* Fixed the check of the ammo cost for a shot in **CheckWeaponAmmoCost**
333336
* Fixed `set_critter_burst_disable` script function, which now applies only to weapons with the burst attack as the secondary mode
@@ -567,7 +570,7 @@
567570
* New hook script: `hs_targetobject`
568571

569572
## 4.2.1.1
570-
* Fixed a crash bug introduced in 4.2.1 with the fix for corpses blocking line of fire
573+
* Fixed a crash bug introduced in 4.2.1 by the fix for corpses blocking line of fire
571574

572575
## 4.2.1
573576
* Fixed a bug in `save_array` script function that could corrupt `sfallgv.sav` when saving a new array under the same key

artifacts/ddraw.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
;sfall configuration settings
2-
;v4.4.9
2+
;v4.4.9.1
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

sfall/Modules/AI.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ static __declspec(naked) void ai_try_attack_hook_FleeFix() {
4949
}
5050

5151
static __declspec(naked) void combat_ai_hook_FleeFix() {
52-
static const DWORD combat_ai_hook_flee_Ret = 0x42B206;
52+
static const DWORD combat_ai_flee_Ret = 0x42B206;
5353
using namespace fo;
5454
__asm {
5555
test byte ptr [ebp], ReTarget; // CombatStateFlag flag (critter.combat_state)
@@ -60,7 +60,7 @@ static __declspec(naked) void combat_ai_hook_FleeFix() {
6060
xor edi, edi;
6161
mov dword ptr [esi + whoHitMe], edi;
6262
add esp, 4;
63-
jmp combat_ai_hook_flee_Ret;
63+
jmp combat_ai_flee_Ret;
6464
}
6565
}
6666

@@ -74,14 +74,14 @@ static __declspec(naked) void ai_try_attack_hook_runFix() {
7474
}
7575

7676
static __declspec(naked) void combat_ai_hack() {
77-
static const DWORD combat_ai_hack_Ret = 0x42B204;
77+
static const DWORD combat_ai_Ret = 0x42B204;
7878
__asm {
7979
mov edx, [ebx + 0x10]; // cap.min_hp
8080
cmp eax, edx;
8181
jl tryHeal; // curr_hp < min_hp
8282
end:
8383
add esp, 4;
84-
jmp combat_ai_hack_Ret; // jump to call ai_check_drugs_
84+
jmp combat_ai_Ret; // jump to call ai_check_drugs_
8585
tryHeal:
8686
push ecx;
8787
push esi; // mov eax, esi;
@@ -383,7 +383,7 @@ static long __fastcall item_weapon_reload_cost_fix(fo::GameObject* source, fo::G
383383
}
384384

385385
static __declspec(naked) void ai_try_attack_hook_cost_reload() {
386-
static const DWORD ai_try_attack_hook_goNext_Ret = 0x42A9F2;
386+
static const DWORD ai_try_attack_goNext_Ret = 0x42A9F2;
387387
__asm {
388388
push ebx; // ammoObj ref
389389
mov ecx, eax; // source
@@ -394,7 +394,7 @@ static __declspec(naked) void ai_try_attack_hook_cost_reload() {
394394
//noAPs: // not enough action points
395395
// add esp, 4; // destroy ret
396396
// mov edi, 10;
397-
// jmp ai_try_attack_hook_goNext_Ret; // end ai_try_attack_
397+
// jmp ai_try_attack_goNext_Ret; // end ai_try_attack_
398398
}
399399
}
400400

@@ -484,7 +484,7 @@ static __declspec(naked) void cai_perform_distance_prefs_hack() {
484484
}
485485

486486
static __declspec(naked) void ai_move_away_hook() {
487-
static const DWORD ai_move_away_hook_Ret = 0x4289DA;
487+
static const DWORD ai_move_away_Ret = 0x4289DA;
488488
__asm {
489489
test ebx, ebx;
490490
jl fix; // distance arg < 0
@@ -495,7 +495,7 @@ static __declspec(naked) void ai_move_away_hook() {
495495
cmp ebx, eax;
496496
cmovg ebx, eax; // if (distance > ap) dist = ap
497497
add esp, 4;
498-
jmp ai_move_away_hook_Ret;
498+
jmp ai_move_away_Ret;
499499
}
500500
}
501501

sfall/Modules/Books.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ static sBook* __fastcall FindBook(DWORD pid) {
4747
return 0;
4848
}
4949

50-
static __declspec(naked) void obj_use_book_hook() {
51-
static const DWORD obj_use_book_hook_back = 0x49BA5A;
50+
static __declspec(naked) void obj_use_book_hack() {
51+
static const DWORD obj_use_book_Ret = 0x49BA5A;
5252
__asm {
5353
mov edi, -1;
5454
mov ecx, eax;
@@ -58,7 +58,7 @@ static __declspec(naked) void obj_use_book_hook() {
5858
mov edi, [eax + 4]; // msgID
5959
mov ecx, [eax + 8]; // skill
6060
skip:
61-
jmp obj_use_book_hook_back;
61+
jmp obj_use_book_Ret;
6262
}
6363
}
6464

@@ -116,7 +116,7 @@ void Books::init() {
116116
}
117117
BooksCount--; // set to last index
118118

119-
MakeJump(0x49B9FB, obj_use_book_hook);
119+
MakeJump(0x49B9FB, obj_use_book_hack);
120120
}
121121
dlog_f(" (%d/%d books)\n", DL_INIT, n, count);
122122
}

sfall/Modules/BugFixes.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2171,13 +2171,13 @@ static __declspec(naked) void process_rads_hook_msg() {
21712171
21722172
// when there are no more items in the inventory
21732173
static __declspec(naked) void ai_check_drugs_hack_break() {
2174-
static const DWORD ai_check_drugs_hack_Ret = 0x42878B;
2174+
static const DWORD ai_check_drugs_break_Ret = 0x42878B;
21752175
__asm {
21762176
mov eax, -1;
21772177
cmp firstItemDrug, eax;
21782178
jne useDrugs; // pid != -1
21792179
add esp, 4;
2180-
jmp ai_check_drugs_hack_Ret; // break loop
2180+
jmp ai_check_drugs_break_Ret; // break loop
21812181
useDrugs: // use the first found item
21822182
mov dword ptr [esp + 4], eax; // slot set -1
21832183
mov edi, firstItemDrug;
@@ -2203,7 +2203,7 @@ static __declspec(naked) void ai_check_drugs_hack_check() {
22032203
}
22042204
22052205
static __declspec(naked) void ai_check_drugs_hack_use() {
2206-
static const DWORD ai_check_drugs_hack_Loop = 0x428675;
2206+
static const DWORD ai_check_drugs_use_Loop = 0x428675;
22072207
__asm {
22082208
cmp eax, 3; // counter
22092209
jge beginLoop;
@@ -2214,7 +2214,7 @@ static __declspec(naked) void ai_check_drugs_hack_use() {
22142214
mov firstItemDrug, edi; // keep first found drug item
22152215
skip:
22162216
add esp, 4;
2217-
jmp ai_check_drugs_hack_Loop; // goto begin loop, search next item
2217+
jmp ai_check_drugs_use_Loop; // goto begin loop, search next item
22182218
}
22192219
}*/
22202220

sfall/Modules/DebugEditor.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -462,12 +462,12 @@ static __declspec(naked) void win_debug_win_draw_hook() {
462462

463463
static long debugWndWidth;
464464
static __declspec(naked) void win_debug_pitch_calc_hack() {
465-
static const DWORD win_debug_pitch_calc_hack_back = 0x4DC542;
465+
static const DWORD win_debug_pitch_calc_Ret = 0x4DC542;
466466
__asm {
467467
mov eax, debugWndWidth;
468468
imul esi;
469469
mov ebp, eax;
470-
jmp win_debug_pitch_calc_hack_back;
470+
jmp win_debug_pitch_calc_Ret;
471471
}
472472
}
473473

sfall/Modules/MetaruleExtender.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ static long __fastcall op_metarule3_ext(long metafunc, long* args) {
9898
}
9999

100100
static __declspec(naked) void op_metarule3_hack() {
101-
static const DWORD op_metarule3_hack_Ret = 0x45732C;
101+
static const DWORD op_metarule3_Ret = 0x45732C;
102102
__asm {
103103
cmp ecx, 111;
104104
jnz extended;
@@ -112,7 +112,7 @@ static __declspec(naked) void op_metarule3_hack() {
112112
//
113113
call op_metarule3_ext; // ecx - metafunc arg
114114
add esp, 4;
115-
jmp op_metarule3_hack_Ret;
115+
jmp op_metarule3_Ret;
116116
}
117117
}
118118

sfall/Modules/MiscPatches.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,12 @@ static __declspec(naked) void register_object_take_out_hack() {
9393
}
9494

9595
static __declspec(naked) void gdAddOptionStr_hack() {
96-
static const DWORD gdAddOptionStr_hack_Ret = 0x4458FA;
96+
static const DWORD gdAddOptionStr_Ret = 0x4458FA;
9797
__asm {
9898
mov ecx, ds:[FO_VAR_gdNumOptions];
9999
add ecx, '1';
100100
push ecx;
101-
jmp gdAddOptionStr_hack_Ret;
101+
jmp gdAddOptionStr_Ret;
102102
}
103103
}
104104

sfall/Modules/SubModules/ObjectName.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ const char* __stdcall ObjectName::GetName(fo::GameObject* object) {
5151
}
5252

5353
static __declspec(naked) void critter_name_hack() {
54-
static DWORD critter_name_hack_Ret = 0x42D125;
54+
static DWORD critter_name_Ret = 0x42D125;
5555
using namespace fo::Fields;
5656
__asm {
5757
push ebx; // object
@@ -62,12 +62,12 @@ static __declspec(naked) void critter_name_hack() {
6262
retn;
6363
override:
6464
add esp, 4;
65-
jmp critter_name_hack_Ret;
65+
jmp critter_name_Ret;
6666
}
6767
}
6868

6969
static __declspec(naked) void critter_name_hack_check() {
70-
static DWORD critter_name_hack_Ret = 0x42D12F;
70+
static DWORD critter_name_check_Ret = 0x42D12F;
7171
using namespace fo::Fields;
7272
__asm {
7373
mov ecx, [ebx + scriptId];
@@ -77,7 +77,7 @@ static __declspec(naked) void critter_name_hack_check() {
7777
jne default;
7878
add esp, 4;
7979
mov eax, ds:[FO_VAR_name_critter];
80-
jmp critter_name_hack_Ret;
80+
jmp critter_name_check_Ret;
8181
checkScrIdx:
8282
mov ecx, [ebx + scriptIndex];
8383
cmp ecx, -1; // no inherited script index
@@ -86,7 +86,7 @@ static __declspec(naked) void critter_name_hack_check() {
8686
jne end;
8787
add esp, 4;
8888
mov eax, ds:[FO_VAR_name_critter];
89-
jmp critter_name_hack_Ret;
89+
jmp critter_name_check_Ret;
9090
default:
9191
mov ecx, [ebx + scriptIndex];
9292
end:

sfall/Modules/Unarmed.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ static long __fastcall get_unarmed_damage(fo::GameObject* source, fo::AttackType
309309
}
310310

311311
static __declspec(naked) void item_w_damage_hack() {
312-
static DWORD item_w_damage_hack_Ret = 0x478553;
312+
static DWORD item_w_damage_Ret = 0x478553;
313313
__asm {
314314
lea eax, [esp + 4]; // min_DMG
315315
lea edx, [esp + 0]; // max_DMG
@@ -320,7 +320,7 @@ static __declspec(naked) void item_w_damage_hack() {
320320
call get_unarmed_damage;
321321
mov ebx, eax; // bonus
322322
pop ecx;
323-
jmp item_w_damage_hack_Ret;
323+
jmp item_w_damage_Ret;
324324
}
325325
}
326326

0 commit comments

Comments
 (0)