mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Fixed a crash bug in ScriptExtender.cpp from commit e075c05
Minor code/document edits.
This commit is contained in:
@@ -806,7 +806,10 @@
|
||||
#define bit_32 (0x80000000)
|
||||
#define bit_ALL (0xFFFFFFFF)
|
||||
|
||||
|
||||
#define ROLL_CRITICAL_FAILURE 0
|
||||
#define ROLL_FAILURE 1
|
||||
#define ROLL_SUCCESS 2
|
||||
#define ROLL_CRITICAL_SUCCESS 3
|
||||
|
||||
//Misc commands
|
||||
#define obj_get_rot(obj) (has_trait(TRAIT_OBJECT, obj, OBJECT_CUR_ROT))
|
||||
|
||||
@@ -911,7 +911,7 @@ long GetResetScriptReturnValue() {
|
||||
return val;
|
||||
}
|
||||
|
||||
static long __stdcall FindOverrideSub(TProgram* program) {
|
||||
static __forceinline long __stdcall FindProgram(TProgram* program) {
|
||||
std::tr1::unordered_map<TProgram*, SelfOverrideObj>::iterator overrideIt = selfOverrideMap.find(program);
|
||||
if (overrideIt != selfOverrideMap.end()) {
|
||||
DWORD scriptId = overrideIt->second.object->scriptId; // script
|
||||
@@ -940,11 +940,11 @@ static long __stdcall FindOverrideSub(TProgram* program) {
|
||||
return -1; // change nothing
|
||||
}
|
||||
|
||||
static long __fastcall FindOverride(TProgram* program, TScript* &script) {
|
||||
long result = FindOverrideSub(program);
|
||||
static long __fastcall FindOverride(TProgram* program, TScript** script) {
|
||||
long result = FindProgram(program);
|
||||
if (result == -2) {
|
||||
if (script) {
|
||||
script = &overrideScript; // unsafe method! script may contain an incorrect address value in some engine functions
|
||||
*script = &overrideScript; // unsafe method! script may contain an incorrect address value in some engine functions
|
||||
} else {
|
||||
result--; // set -3
|
||||
}
|
||||
|
||||
+3
-3
@@ -410,11 +410,11 @@ void Skills_Init() {
|
||||
if (basedOnPoints) HookCall(0x4AA9EC, (void*)skill_points_); // skill_dec_point_
|
||||
|
||||
int tagBonus = iniGetInt("Skills", "TagSkillBonus", 20, file);
|
||||
if (tagBonus != 20 && tagBonus >=0 && tagBonus <= 100) SafeWrite8(0x4AA61E, static_cast<BYTE>(tagBonus));
|
||||
if (tagBonus != 20 && tagBonus >=0 && tagBonus <= 100) SafeWrite8(0x4AA61E, static_cast<BYTE>(tagBonus)); // skill_level_
|
||||
|
||||
int tagMode = iniGetInt("Skills", "TagSkillMode", 0, file);
|
||||
if (tagMode & 1) SafeWrite8(0x4AA612, 0xEB); // 4th tag skill can have initial skill bonus (jz > jmp)
|
||||
if (tagMode & 2) SafeWrite16(0x4AA60E, 0x9090); // skill_level_ disables 2x skill points bonus for tag skills
|
||||
if (tagMode & 1) SafeWrite8(0x4AA612, 0xEB); // 4th tag skill can have initial skill bonus. skill_level_ (jz > jmp)
|
||||
if (tagMode & 2) SafeWrite16(0x4AA60E, 0x9090); // disables double skill points bonus for tag skills. skill_level_
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user