Merged two Glovz's fix functions and reorganized Glovz's/YAAM code layout a bit.

(in preparing for larger code refactoring in AmmoMod.cpp)
Fixed a bug in Stats.cpp that caused critical hits to ignore critical table roll value and only have the lowest level effect.
Minor edits to MainMenu.cpp.
This commit is contained in:
NovaRain
2018-11-20 23:39:33 +08:00
parent c220e133a2
commit 8dbe5921ba
5 changed files with 287 additions and 467 deletions
+20 -20
View File
@@ -234,26 +234,26 @@
#define CALIBER_7_62MM (18) #define CALIBER_7_62MM (18)
// hidden perks // hidden perks
#define PERK_add_nuka (53) #define PERK_add_nuka (53)
#define PERK_add_buffout (54) #define PERK_add_buffout (54)
#define PERK_add_mentats (55) #define PERK_add_mentats (55)
#define PERK_add_psycho (56) #define PERK_add_psycho (56)
#define PERK_add_radaway (57) #define PERK_add_radaway (57)
#define PERK_weapon_long_range (58) #define PERK_weapon_long_range (58)
#define PERK_weapon_accurate (59) #define PERK_weapon_accurate (59)
#define PERK_weapon_penetrate (60) #define PERK_weapon_penetrate (60)
#define PERK_weapon_knockback (61) #define PERK_weapon_knockback (61)
#define PERK_armor_powered (62) #define PERK_armor_powered (62)
#define PERK_armor_combat (63) #define PERK_armor_combat (63)
#define PERK_weapon_scope_range (64) #define PERK_weapon_scope_range (64)
#define PERK_weapon_fast_reload (65) #define PERK_weapon_fast_reload (65)
#define PERK_weapon_night_sight (66) #define PERK_weapon_night_sight (66)
#define PERK_weapon_flameboy (67) #define PERK_weapon_flameboy (67)
#define PERK_armor_advanced_1 (68) #define PERK_armor_advanced_1 (68)
#define PERK_armor_advanced_2 (69) #define PERK_armor_advanced_2 (69)
#define PERK_add_jet (70) #define PERK_add_jet (70)
#define PERK_add_tragic (71) #define PERK_add_tragic (71)
#define PERK_armor_charisma (72) #define PERK_armor_charisma (72)
#define WPN_ANIM_NONE (0x00) // (A) #define WPN_ANIM_NONE (0x00) // (A)
#define WPN_ANIM_KNIFE (0x01) // (D) #define WPN_ANIM_KNIFE (0x01) // (D)
+252 -434
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -27,6 +27,8 @@ class AmmoMod : public Module {
public: public:
const char* name() { return "AmmoMod"; } const char* name() { return "AmmoMod"; }
void init(); void init();
static int formula;
}; };
} }
+11 -11
View File
@@ -87,21 +87,21 @@ static void __declspec(naked) MainMenuTextHook() {
} }
void MainMenu::init() { void MainMenu::init() {
int tmp; int offset;
if (tmp = GetConfigInt("Misc", "MainMenuCreditsOffsetX", 0)) { if (offset = GetConfigInt("Misc", "MainMenuCreditsOffsetX", 0)) {
SafeWrite32(0x481753, 0xf + tmp); SafeWrite32(0x481753, 15 + offset);
} }
if (tmp = GetConfigInt("Misc", "MainMenuCreditsOffsetY", 0)) { if (offset = GetConfigInt("Misc", "MainMenuCreditsOffsetY", 0)) {
SafeWrite32(0x48175C, 0x1cc + tmp); SafeWrite32(0x48175C, 460 + offset);
} }
if (tmp = GetConfigInt("Misc", "MainMenuOffsetX", 0)) { if (offset = GetConfigInt("Misc", "MainMenuOffsetX", 0)) {
SafeWrite32(0x48187C, 0x1e + tmp); SafeWrite32(0x48187C, 30 + offset);
MainMenuTextOffset = tmp; MainMenuTextOffset = offset;
} }
if (tmp = GetConfigInt("Misc", "MainMenuOffsetY", 0)) { if (offset = GetConfigInt("Misc", "MainMenuOffsetY", 0)) {
MainMenuYOffset = tmp; MainMenuYOffset = offset;
MainMenuTextOffset += tmp * 640; MainMenuTextOffset += offset * 640;
MakeJump(0x481844, MainMenuButtonYHook); MakeJump(0x481844, MainMenuButtonYHook);
} }
if (MainMenuTextOffset) { if (MainMenuTextOffset) {
+2 -2
View File
@@ -53,8 +53,8 @@ static void __declspec(naked) stat_level_hack() {
} }
} }
static DWORD __fastcall check_stat_level(register DWORD value, DWORD stat) { static int __fastcall check_stat_level(register int value, int stat) {
DWORD valLimit; int valLimit;
if (cCritter == fo::var::obj_dude) { if (cCritter == fo::var::obj_dude) {
valLimit = statMinimumsPC[stat]; valLimit = statMinimumsPC[stat];
if (value < valLimit) return valLimit; if (value < valLimit) return valLimit;