[saco] Match CIntArray::SetSize and ~CIntArray; CUnkClass5 field_0/field_4 are a realloc-grown int array

This commit is contained in:
ricardoofnl
2026-09-02 23:57:51 +07:00
parent f75c60fa81
commit a6562c15b8
2 changed files with 42 additions and 4 deletions
+29 -2
View File
@@ -1,10 +1,37 @@
#include "main.h"
CIntArray::~CIntArray()
{
SetSize(0);
}
bool CIntArray::SetSize(unsigned int nSize)
{
if(!nSize) {
if(m_pData) {
free(m_pData);
m_pData = NULL;
}
m_nSize = 0;
return true;
}
int *pNew = (int *)realloc(m_pData, nSize * sizeof(int));
if(!pNew) return false;
m_pData = pNew;
if(m_nSize < nSize) {
for(unsigned int i = m_nSize; i != nSize; i++)
m_pData[i] = 0;
}
m_nSize = nSize;
return true;
}
CUnkClass5::CUnkClass5(IDirect3DDevice9 *pD3DDevice)
{
field_0 = 0;
field_4 = 0;
m_pD3DDevice = pD3DDevice;
m_pDialog = NULL;
field_30 = 0;
+13 -2
View File
@@ -1,11 +1,22 @@
#pragma once
class CIntArray
{
public:
CIntArray() { m_pData = NULL; m_nSize = 0; }
~CIntArray();
bool SetSize(unsigned int nSize);
int *m_pData;
unsigned int m_nSize;
};
class CUnkClass5
{
private:
int field_0;
int field_4;
CIntArray m_Array;
IDirect3DDevice9* m_pD3DDevice;
char _gapC[8];
int field_14;