From a80d3607f4a301b1279897fbb57028f2a96900c8 Mon Sep 17 00:00:00 2001 From: RD42 <42702181+dashr9230@users.noreply.github.com> Date: Mon, 23 Oct 2023 23:04:28 +0800 Subject: [PATCH] [saco] Add CGame class --- saco/game/game.cpp | 24 ++++++++++++++++++++++++ saco/game/game.h | 36 ++++++++++++++++++++++++++++++++++++ saco/main.cpp | 20 ++++++++------------ saco/main.h | 2 ++ saco/saco.vcproj | 22 ++++++++++++++++++++++ 5 files changed, 92 insertions(+), 12 deletions(-) create mode 100644 saco/game/game.cpp create mode 100644 saco/game/game.h diff --git a/saco/game/game.cpp b/saco/game/game.cpp new file mode 100644 index 0000000..d7c3e06 --- /dev/null +++ b/saco/game/game.cpp @@ -0,0 +1,24 @@ + +#include "../main.h" + +int unnamed_10150340[210]; + +CGame::CGame() +{ + // TODO: CGame::CGame() + m_pGameAudio = new CAudio(); + m_pGameCamera = new CCamera(); + field_8 = 0; + field_4D = 0; + field_29 = 0; + field_31 = 0; + field_61 = 0; + field_65 = 0; + field_69 = 0; + field_6D = 0; + memset(unnamed_10150340, 0, sizeof(unnamed_10150340)); + memset(field_6E, 0, sizeof(field_6E)); + field_55 = 0; + field_59 = 1; + field_5D = 90; +} \ No newline at end of file diff --git a/saco/game/game.h b/saco/game/game.h new file mode 100644 index 0000000..cc39a7d --- /dev/null +++ b/saco/game/game.h @@ -0,0 +1,36 @@ + +#pragma once + +#include "audio.h" +#include "camera.h" + +//----------------------------------------------------------- + +class CGame // size: 322 +{ +private: + CAudio *m_pGameAudio; + CCamera *m_pGameCamera; + int field_8; + char gapC[29]; + int field_29; + char gap2D[4]; + int field_31; + char gap35[24]; + int field_4D; + char gap51[4]; + int field_55; + int field_59; + int field_5D; + int field_61; + int field_65; + int field_69; + char field_6D; + char field_6E[212]; + +public: + + CGame(); +}; + +//----------------------------------------------------------- diff --git a/saco/main.cpp b/saco/main.cpp index 40c7784..0314689 100644 --- a/saco/main.cpp +++ b/saco/main.cpp @@ -4,6 +4,8 @@ GAME_SETTINGS tSettings; HANDLE hInstance=0; +CGame *pGame=0; + BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { if(DLL_PROCESS_ATTACH==fdwReason) @@ -45,18 +47,12 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) AddFontResourceA("gtaweap3.ttf"); AddFontResourceA("sampaux3.ttf"); - /*sub_10062CA0(); - sub_10062970(); - v9 = operator new(0x142u); - v13 = v9; - v16 = 1; - if ( v9 ) - v10 = sub_1009FF80(v9); - else - v10 = 0; - dword_1026EBAC = v10; - _beginthread((int)sub_100C3A80, 0, 0); - */ + //sub_10062CA0(); + //sub_10062970(); + + pGame = new CGame(); + + //_beginthread((int)sub_100C3A80, 0, 0); } } else if(DLL_PROCESS_DETACH==fdwReason) diff --git a/saco/main.h b/saco/main.h index d6fb969..e9de6c7 100644 --- a/saco/main.h +++ b/saco/main.h @@ -16,6 +16,8 @@ typedef struct _GAME_SETTINGS { CHAR szDebugScript[MAX_SETTINGS_STRING+1]; } GAME_SETTINGS; +#include "game/game.h" + void SetStringFromCommandLine(char *szCmdLine, char *szString); void SetStringFromQuotedCommandLine(char *szCmdLine, char *szString); void InitSettings(); diff --git a/saco/saco.vcproj b/saco/saco.vcproj index e6c1747..7290532 100644 --- a/saco/saco.vcproj +++ b/saco/saco.vcproj @@ -110,6 +110,28 @@ + + + + + + + + + + + + + +