isle/LEGO1/viewmanager/viewlodlist.cpp
Anonymous Maarten dc3500f631
Fixes for building isle with mingw on Linux (#410)
* Add LEGO1.DLL resources

* Rename smack files to lowercase

This fixes casing issues with mingw on Linux
Also use double quotes for #error

* cmake: dxguid must come after dinput

* cmake: create LEGO1.DLL instead of libLEGO1.DLL, when using mingw

* act3actor.h  was not including mxcore.h, and using incorrect override

* g_mcoreCount seem to be signed integers

* LegoCameraController: return references to static data in stub functions

* Include string.h, stdlib.h and stdio.h for use of libc functions

* Override MxAtomId::operator!=

* Fix use of STL's std::map + std::vector

* Fix template functions for mingw

* iterator object is used after the for loop

* IDirectDrawSurface::BltFast's first 2 arguments are x/y coordinates, not pointers

* Add stub ViewLODListManager::Lookup

* Fixes

* Format

* Remove unnecessary COMPAT_CONST use

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-06 18:56:15 +01:00

54 lines
1.1 KiB
C++

#include "viewlodlist.h"
#include "decomp.h"
DECOMP_SIZE_ASSERT(ViewLODListManager, 0x14);
// FUNCTION: LEGO1 0x100a6fd0
ViewLODListManager::ViewLODListManager()
{
}
// STUB: LEGO1 0x100a7130
ViewLODListManager::~ViewLODListManager()
{
// TODO
}
// STUB: LEGO1 0x100a72c0
ViewLODList* ViewLODListManager::Create(const ROIName& rROIName, int lodCount)
{
// returned ViewLODList has a refCount of 1, i.e. caller must call Release()
// when it no longer holds on to the list
ViewLODList* pLODList;
int refCount;
char* pROIName;
assert(!Lookup(rROIName));
pLODList = new ViewLODList(lodCount);
refCount = pLODList->AddRef();
assert(refCount == 1);
pROIName = new char[strlen(rROIName) + 1];
strcpy(pROIName, rROIName);
m_map[pROIName] = pLODList;
// NOTE: Lookup() adds a refCount
assert((Lookup(rROIName) == pLODList) && (pLODList->Release() == 1));
return pLODList;
}
// STUB: LEGO1 0x100a75b0
ViewLODList* ViewLODListManager::Lookup(const ROIName&) const
{
return NULL;
}
// STUB: LEGO1 0x100a7680
void ViewLODListManager::Destroy(ViewLODList* lodList)
{
}