# HG changeset patch
# User Grumpy7
# Date 1396781809 -7200
# Node ID d6407efaa4ea23ca07a31476256c2b41b5167c90
# Parent dc822157c98da6b8e0b86cf35a3fe54a4585ff76
Moving registry access stuff to Registry.h/cpp
diff -r dc822157c98d -r d6407efaa4ea AudioPlayer.cpp
--- a/AudioPlayer.cpp Sun Apr 06 12:50:35 2014 +0200
+++ b/AudioPlayer.cpp Sun Apr 06 12:56:49 2014 +0200
@@ -20,6 +20,7 @@
#include "Log.h"
#include "ErrorHandling.h"
#include "Level/Decoration.h"
+#include "Registry.h"
#include "Bink_Smacker.h"
diff -r dc822157c98d -r d6407efaa4ea Build/Visual Studio 2012/World of Might and Magic.vcxproj
--- a/Build/Visual Studio 2012/World of Might and Magic.vcxproj Sun Apr 06 12:50:35 2014 +0200
+++ b/Build/Visual Studio 2012/World of Might and Magic.vcxproj Sun Apr 06 12:56:49 2014 +0200
@@ -210,6 +210,7 @@
+
@@ -453,6 +454,7 @@
+
diff -r dc822157c98d -r d6407efaa4ea Build/Visual Studio 2012/World of Might and Magic.vcxproj.filters
--- a/Build/Visual Studio 2012/World of Might and Magic.vcxproj.filters Sun Apr 06 12:50:35 2014 +0200
+++ b/Build/Visual Studio 2012/World of Might and Magic.vcxproj.filters Sun Apr 06 12:56:49 2014 +0200
@@ -386,6 +386,7 @@
+
@@ -912,6 +913,7 @@
+
diff -r dc822157c98d -r d6407efaa4ea Game.cpp
--- a/Game.cpp Sun Apr 06 12:50:35 2014 +0200
+++ b/Game.cpp Sun Apr 06 12:56:49 2014 +0200
@@ -48,6 +48,7 @@
#include "SpriteObject.h"
#include "mm7.h"
#include "Sprites.h"
+#include "Registry.h"
diff -r dc822157c98d -r d6407efaa4ea Keyboard.cpp
--- a/Keyboard.cpp Sun Apr 06 12:50:35 2014 +0200
+++ b/Keyboard.cpp Sun Apr 06 12:56:49 2014 +0200
@@ -17,6 +17,7 @@
#include "Indoor.h"
#include "viewport.h"
#include "AudioPlayer.h"
+#include "Registry.h"
#include "Level/Decoration.h"
#include
diff -r dc822157c98d -r d6407efaa4ea OSWindow.cpp
--- a/OSWindow.cpp Sun Apr 06 12:50:35 2014 +0200
+++ b/OSWindow.cpp Sun Apr 06 12:56:49 2014 +0200
@@ -22,6 +22,7 @@
#include "Log.h"
#include "LOD.h"
#include "Outdoor_stuff.h"
+#include "Registry.h"
bool wizard_eye = false; //включить на постоянно око чародея
diff -r dc822157c98d -r d6407efaa4ea Render.cpp
--- a/Render.cpp Sun Apr 06 12:50:35 2014 +0200
+++ b/Render.cpp Sun Apr 06 12:56:49 2014 +0200
@@ -33,6 +33,7 @@
#include "Lights.h"
#include "Level/Decoration.h"
#include "Vis.h"
+#include "Registry.h"
//#pragma comment(lib, "lib\\legacy_dx\\lib\\ddraw.lib")
//#pragma comment(lib, "lib\\legacy_dx\\lib\\dxguid.lib")
diff -r dc822157c98d -r d6407efaa4ea mm7_2.cpp
--- a/mm7_2.cpp Sun Apr 06 12:50:35 2014 +0200
+++ b/mm7_2.cpp Sun Apr 06 12:56:49 2014 +0200
@@ -60,6 +60,7 @@
#include "Level/Decoration.h"
#include "LuaVM.h"
#include "MMT.h"
+#include "Registry.h"
//#include "lib/lua/lua.h"
@@ -2460,181 +2461,6 @@
_flushall();
}
-//----- (004649EF) --------------------------------------------------------
-int __fastcall ReadWindowsRegistryInt(const char *pKey, int uDefValue)
-{
- int v3; // [sp+4h] [bp-24h]@1
- DWORD cbData; // [sp+8h] [bp-20h]@1
- LPCSTR lpValueName; // [sp+Ch] [bp-1Ch]@1
- DWORD dwDisposition; // [sp+10h] [bp-18h]@2
- BYTE Data[4]; // [sp+14h] [bp-14h]@5
- HKEY hKey; // [sp+18h] [bp-10h]@1
- HKEY phkResult; // [sp+1Ch] [bp-Ch]@1
- HKEY v10; // [sp+20h] [bp-8h]@1
- HKEY v11; // [sp+24h] [bp-4h]@1
-
- v3 = uDefValue;
- lpValueName = pKey;
- v11 = 0;
- v10 = 0;
- hKey = 0;
- phkResult = 0;
- cbData = 4;
- if ( !RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE", 0, KEY_READ|KEY_WOW64_32KEY, &hKey) )// for 64 bit
- {
- if ( !RegCreateKeyExA(hKey, "New World Computing", 0, "", 0, 0xF003Fu, 0, &phkResult, &dwDisposition) )
- {
- if ( !RegCreateKeyExA(phkResult, "Might and Magic VII", 0, "", 0, 0xF003Fu, 0, &v10, &dwDisposition) )
- {
- if ( !RegCreateKeyExA(v10, "1.0", 0, "", 0, 0xF003Fu, 0, &v11, &dwDisposition) )
- {
- if ( RegQueryValueExA(v11, lpValueName, 0, 0, Data, &cbData) )
- {
- *(int *)Data = v3;
- RegSetValueExA(v11, lpValueName, 0, 4u, Data, 4u);
- }
- RegCloseKey(v11);
- }
- RegCloseKey(v10);
- }
- RegCloseKey(phkResult);
- }
- RegCloseKey(hKey);
- }
- return *(int *)Data;
-}
-
-//----- (00464B02) --------------------------------------------------------
-void __fastcall WriteWindowsRegistryString(const char *pKey, const char *pString)
-{
- size_t v2; // eax@5
- const char *lpValueName; // [sp+4h] [bp-1Ch]@1
- const char *Str; // [sp+8h] [bp-18h]@1
- DWORD dwDisposition; // [sp+Ch] [bp-14h]@2
- HKEY hKey; // [sp+10h] [bp-10h]@1
- HKEY phkResult; // [sp+14h] [bp-Ch]@1
- HKEY v8; // [sp+18h] [bp-8h]@1
- HKEY v9; // [sp+1Ch] [bp-4h]@1
-
- Str = pString;
- lpValueName = pKey;
- v9 = 0;
- v8 = 0;
- hKey = 0;
- phkResult = 0;
- if ( !RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE", 0, 0x2001Fu, &hKey) )
- {
- if ( !RegCreateKeyExA(hKey, "New World Computing", 0, "", 0, 0xF003Fu, 0, &phkResult, &dwDisposition) )
- {
- if ( !RegCreateKeyExA(phkResult, "Might and Magic VII", 0, "", 0, 0xF003Fu, 0, &v8, &dwDisposition) )
- {
- if ( !RegCreateKeyExA(v8, "1.0", 0, "", 0, 0xF003Fu, 0, &v9, &dwDisposition) )
- {
- v2 = strlen(Str);
- RegSetValueExA(v9, lpValueName, 0, 1u, (const BYTE *)Str, v2 + 1);
- RegCloseKey(v9);
- }
- RegCloseKey(v8);
- }
- RegCloseKey(phkResult);
- }
- RegCloseKey(hKey);
- }
-}
-
-//----- (00464BEF) --------------------------------------------------------
-void __fastcall ReadWindowsRegistryString(const char *pKeyName, char *pOutString, int uBufLen, const char *pDefaultValue)
-{
- LSTATUS (__stdcall *v4)(HKEY); // esi@1
- LSTATUS result; // eax@7
- DWORD Type; // [sp+Ch] [bp-24h]@5
- LPCSTR lpValueName; // [sp+10h] [bp-20h]@1
- DWORD cbData; // [sp+14h] [bp-1Ch]@1
- LPBYTE Dest; // [sp+18h] [bp-18h]@1
- DWORD dwDisposition; // [sp+1Ch] [bp-14h]@2
- HKEY phkResult; // [sp+20h] [bp-10h]@1
- HKEY hKey; // [sp+24h] [bp-Ch]@1
- HKEY v13; // [sp+28h] [bp-8h]@1
- HKEY v14; // [sp+2Ch] [bp-4h]@1
-
- cbData = uBufLen;
- Dest = (LPBYTE)pOutString;
- lpValueName = pKeyName;
- v14 = 0;
- v13 = 0;
- hKey = 0;
- phkResult = 0;
- v4 = RegCloseKey;
- if ( RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE", 0, 0x2001Fu, &hKey)
- || RegCreateKeyExA(hKey, "New World Computing", 0, "", 0, 0xF003Fu, 0, &phkResult, &dwDisposition)
- || RegCreateKeyExA(phkResult, "Might and Magic VII", 0, "", 0, 0xF003Fu, 0, &v13, &dwDisposition)
- || RegCreateKeyExA(v13, "1.0", 0, "", 0, 0xF003Fu, 0, &v14, &dwDisposition) )
- {
- result = (LSTATUS)strncpy((char *)Dest, pDefaultValue, uBufLen);
- }
- else if ( RegQueryValueExA(v14, lpValueName, 0, &Type, Dest, &cbData) )
- {
- RegCloseKey(v14);
- v14 = 0;
- result = (LSTATUS)strncpy((char *)Dest, pDefaultValue, uBufLen);
- }
- else
- {
- v4 = RegCloseKey;
- RegCloseKey(v14);
- v14 = 0;
- RegCloseKey(v13);
- v13 = 0;
- RegCloseKey(phkResult);
- phkResult = 0;
- result = RegCloseKey(hKey);
- hKey = 0;
- }
- if ( v14 )
- result = v4(v14);
- if ( v13 )
- result = v4(v13);
- if ( hKey )
- result = v4(hKey);
- if ( phkResult )
- result = v4(phkResult);
-}
-
-//----- (00464D32) --------------------------------------------------------
-void __fastcall WriteWindowsRegistryInt(const char *pKey, int val)
-{
- const char *lpValueName; // [sp+4h] [bp-1Ch]@1
- BYTE Data[4]; // [sp+8h] [bp-18h]@1
- DWORD dwDisposition; // [sp+Ch] [bp-14h]@2
- HKEY hKey; // [sp+10h] [bp-10h]@1
- HKEY phkResult; // [sp+14h] [bp-Ch]@1
- HKEY v7; // [sp+18h] [bp-8h]@1
- HKEY v8; // [sp+1Ch] [bp-4h]@1
-
- *(int *)Data = val;
- lpValueName = pKey;
- v8 = 0;
- v7 = 0;
- hKey = 0;
- phkResult = 0;
- if ( !RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE", 0, 0x2001Fu, &hKey) )
- {
- if ( !RegCreateKeyExA(hKey, "New World Computing", 0, "", 0, 0xF003Fu, 0, &phkResult, &dwDisposition) )
- {
- if ( !RegCreateKeyExA(phkResult, "Might and Magic VII", 0, "", 0, 0xF003Fu, 0, &v7, &dwDisposition) )
- {
- if ( !RegCreateKeyExA(v7, "1.0", 0, "", 0, 0xF003Fu, 0, &v8, &dwDisposition) )
- {
- RegSetValueExA(v8, lpValueName, 0, 4, Data, 4);
- RegCloseKey(v8);
- }
- RegCloseKey(v7);
- }
- RegCloseKey(phkResult);
- }
- RegCloseKey(hKey);
- }
-}
//----- (00464E17) --------------------------------------------------------
bool __fastcall CheckMM7CD(char c)
diff -r dc822157c98d -r d6407efaa4ea mm7_unsorted_subs.h
--- a/mm7_unsorted_subs.h Sun Apr 06 12:50:35 2014 +0200
+++ b/mm7_unsorted_subs.h Sun Apr 06 12:56:49 2014 +0200
@@ -93,10 +93,6 @@
char Is_out15odm_underwater();
void SetUnderwaterFog();
void DoPrepareWorld(unsigned int bLoading, int _1_fullscreen_loading_2_box);
-int __fastcall ReadWindowsRegistryInt(const char *pKey, int uDefValue); // idb
-void __fastcall WriteWindowsRegistryString(const char *pKey, const char *pString);
-void __fastcall ReadWindowsRegistryString(const char *pKeyName, char *pOutString, int uBufLen, const char *pDefaultValue);
-void __fastcall WriteWindowsRegistryInt(const char *pKey, int val);
bool __fastcall CheckMM7CD(char c);
void SecondaryInitialization();
void CreateAsyncMouse();