Code edits converge with 4.x

This commit is contained in:
NovaRain
2022-02-20 08:56:43 +08:00
parent b1323fc07a
commit 7cc25efb01
5 changed files with 14 additions and 8 deletions
+1 -1
View File
@@ -322,7 +322,7 @@ Movie17=credits.mve
;To change the limit of the distance away from the player to which you're allowed to scroll the local maps, uncomment the next two lines ;To change the limit of the distance away from the player to which you're allowed to scroll the local maps, uncomment the next two lines
;Defaults are 480 in the x direction and 400 in the y direction. ;Defaults are 480 in the x direction and 400 in the y direction.
;Not compatible with the hi-res patch! ;Does not work with the hi-res patch by Mash!
;LocalMapXLimit=480 ;LocalMapXLimit=480
;LocalMapYLimit=400 ;LocalMapYLimit=400
+4
View File
@@ -77,6 +77,10 @@ char* GetMsg(fo::MessageList* msgList, int msgNum, int msgType) {
return nullptr; return nullptr;
} }
fo::Window* GetWindow(long winID) {
return fo::ptr::window[fo::ptr::window_index[winID]];
}
fo::Queue* QueueFind(fo::GameObject* object, long type) { fo::Queue* QueueFind(fo::GameObject* object, long type) {
if (*fo::ptr::queue) { if (*fo::ptr::queue) {
fo::Queue* queue = *fo::ptr::queue; fo::Queue* queue = *fo::ptr::queue;
+2
View File
@@ -50,6 +50,8 @@ fo::MessageNode* GetMsgNode(fo::MessageList* msgList, int msgNum);
char* GetMsg(fo::MessageList* msgList, int msgNum, int msgType); char* GetMsg(fo::MessageList* msgList, int msgNum, int msgType);
fo::Window* GetWindow(long winID);
fo::Queue* QueueFind(fo::GameObject* object, long type); fo::Queue* QueueFind(fo::GameObject* object, long type);
// returns weapon animation code // returns weapon animation code
+1 -1
View File
@@ -17,7 +17,7 @@ PTR_(btncnt, DWORD)
PTR_(cap, fo::AIcap*) // dynamic array PTR_(cap, fo::AIcap*) // dynamic array
PTR_(carCurrentArea, DWORD) PTR_(carCurrentArea, DWORD)
PTR_(carGasAmount, long) // from 0 to 80000 PTR_(carGasAmount, long) // from 0 to 80000
PTR_(cmap, fo::PALETTE) // array of 256 PALETTE PTR_(cmap, fo::PALETTE) // array of 256 PALETTE, palette without gamma
PTR_(colorTable, DWORD) PTR_(colorTable, DWORD)
PTR_(combat_free_move, DWORD) PTR_(combat_free_move, DWORD)
PTR_(combat_list, fo::GameObject**) // dynamic array PTR_(combat_list, fo::GameObject**) // dynamic array
+6 -6
View File
@@ -324,15 +324,15 @@ end:
} }
} }
static void WorldLimitsPatches() { static void MapLimitsPatches() {
DWORD data = IniReader::GetConfigInt("Misc", "LocalMapXLimit", 0); long data = IniReader::GetConfigInt("Misc", "LocalMapXLimit", 0);
if (data) { if (data > 0) {
dlog("Applying local map x limit patch.", DL_INIT); dlog("Applying local map x limit patch.", DL_INIT);
SafeWrite32(0x4B13B9, data); SafeWrite32(0x4B13B9, data);
dlogr(" Done", DL_INIT); dlogr(" Done", DL_INIT);
} }
data = IniReader::GetConfigInt("Misc", "LocalMapYLimit", 0); data = IniReader::GetConfigInt("Misc", "LocalMapYLimit", 0);
if (data) { if (data > 0) {
dlog("Applying local map y limit patch.", DL_INIT); dlog("Applying local map y limit patch.", DL_INIT);
SafeWrite32(0x4B13C7, data); SafeWrite32(0x4B13C7, data);
dlogr(" Done", DL_INIT); dlogr(" Done", DL_INIT);
@@ -341,7 +341,7 @@ static void WorldLimitsPatches() {
//if (IniReader::GetConfigInt("Misc", "CitiesLimitFix", 0)) { //if (IniReader::GetConfigInt("Misc", "CitiesLimitFix", 0)) {
dlog("Applying cities limit patch.", DL_INIT); dlog("Applying cities limit patch.", DL_INIT);
if (*((BYTE*)0x4BF3BB) != CodeType::JumpShort) { if (*((BYTE*)0x4BF3BB) != CodeType::JumpShort) {
SafeWrite8(0x4BF3BB, CodeType::JumpShort); SafeWrite8(0x4BF3BB, CodeType::JumpShort); // wmAreaInit_
} }
dlogr(" Done", DL_INIT); dlogr(" Done", DL_INIT);
//} //}
@@ -564,7 +564,7 @@ void Worldmap::init() {
PathfinderFixInit(); PathfinderFixInit();
StartingStatePatches(); StartingStatePatches();
TimeLimitPatch(); TimeLimitPatch();
WorldLimitsPatches(); MapLimitsPatches();
WorldmapFpsPatch(); WorldmapFpsPatch();
PipBoyAutomapsPatch(); PipBoyAutomapsPatch();