mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 08:54:15 +00:00
Implement/match ViewLODListManager::Create (#611)
* Implement/match ViewLODListManager::Create * Add stdio.h header * Add remaining annotations
This commit is contained in:
committed by
GitHub
parent
fb6eed9bff
commit
0067c24ead
@@ -2,7 +2,15 @@
|
||||
|
||||
#include "decomp.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(ViewLODListManager, 0x14);
|
||||
#include <stdio.h>
|
||||
|
||||
DECOMP_SIZE_ASSERT(ViewLODListManager, 0x14)
|
||||
DECOMP_SIZE_ASSERT(LODListBase, 0x10)
|
||||
DECOMP_SIZE_ASSERT(LODList<ViewLOD>, 0x10)
|
||||
DECOMP_SIZE_ASSERT(ViewLODList, 0x18)
|
||||
|
||||
// GLOBAL: LEGO1 0x10101064
|
||||
int g_unk0x10101064 = 0;
|
||||
|
||||
// FUNCTION: LEGO1 0x100a6fd0
|
||||
ViewLODListManager::ViewLODListManager()
|
||||
@@ -15,7 +23,7 @@ ViewLODListManager::~ViewLODListManager()
|
||||
// TODO
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x100a72c0
|
||||
// FUNCTION: LEGO1 0x100a72c0
|
||||
ViewLODList* ViewLODListManager::Create(const ROIName& rROIName, int lodCount)
|
||||
{
|
||||
// returned ViewLODList has a refCount of 1, i.e. caller must call Release()
|
||||
@@ -27,12 +35,25 @@ ViewLODList* ViewLODListManager::Create(const ROIName& rROIName, int lodCount)
|
||||
|
||||
assert(!Lookup(rROIName));
|
||||
|
||||
pLODList = new ViewLODList(lodCount);
|
||||
pLODList = new ViewLODList(lodCount, this);
|
||||
refCount = pLODList->AddRef();
|
||||
assert(refCount == 1);
|
||||
|
||||
pROIName = new char[strlen(rROIName) + 1];
|
||||
strcpy(pROIName, rROIName);
|
||||
ViewLODList* list = Lookup(rROIName);
|
||||
if (list != NULL) {
|
||||
list->Release();
|
||||
|
||||
char num[12];
|
||||
sprintf(num, "%d", g_unk0x10101064);
|
||||
pROIName = new char[strlen(rROIName) + strlen(num) + 1];
|
||||
strcpy(pROIName, rROIName);
|
||||
strcat(pROIName, num);
|
||||
g_unk0x10101064++;
|
||||
}
|
||||
else {
|
||||
pROIName = new char[strlen(rROIName) + 1];
|
||||
strcpy(pROIName, rROIName);
|
||||
}
|
||||
|
||||
m_map[pROIName] = pLODList;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user