From d37d2145281200665d9ad9c08c61e2bc186a98d4 Mon Sep 17 00:00:00 2001 From: RD42 <42702181+dashr9230@users.noreply.github.com> Date: Fri, 1 Dec 2023 20:45:27 +0800 Subject: [PATCH] [server] Implement CLabelPool ctor/dtor * Add CLabelPool::Delete() stub --- server/labelpool.cpp | 28 ++++++++++++++++++++++++++++ server/labelpool.h | 13 ++++++++++++- server/main.h | 1 + 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/server/labelpool.cpp b/server/labelpool.cpp index e69de29..34a6ecf 100644 --- a/server/labelpool.cpp +++ b/server/labelpool.cpp @@ -0,0 +1,28 @@ + +#include "main.h" + +CLabelPool::CLabelPool() +{ + for(WORD wLabel = 0; wLabel < MAX_LABELS; wLabel++) + { + memset(field_1000[wLabel], 0, sizeof(struc_24)); + field_0[wLabel] = 0; + } +} + +CLabelPool::~CLabelPool() +{ + for (WORD wLabel = 0; wLabel < MAX_LABELS; wLabel++) + { + if(field_0[wLabel]) + { + Delete(wLabel); + } + } +} + +BOOL CLabelPool::Delete(WORD wLabel) +{ + // TODO: CLabelPool::Delete W .text:00464210 L .text:0804C150 + return TRUE; +} diff --git a/server/labelpool.h b/server/labelpool.h index 4bf83c3..67149a0 100644 --- a/server/labelpool.h +++ b/server/labelpool.h @@ -2,10 +2,21 @@ #ifndef SAMPSRV_LABELPOOL_H #define SAMPSRV_LABELPOOL_H +struct struc_24 +{ + char gap0[33]; +}; + class CLabelPool // size: WL 37888 { private: - char _gap0[37888]; + int field_0[1024]; + struc_24 field_1000[1024]; +public: + CLabelPool(); + ~CLabelPool(); + + BOOL Delete(WORD wLabel); }; #endif diff --git a/server/main.h b/server/main.h index 82acc89..2f79e53 100644 --- a/server/main.h +++ b/server/main.h @@ -11,6 +11,7 @@ #define MAX_MENUS 128 #define MAX_TEXT_DRAWS 2048 #define MAX_GANG_ZONES 1024 +#define MAX_LABELS 1024 #define MAX_ACTORS 1000 #define DEFAULT_MAX_PLAYERS 50