mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-06-25 03:24:46 +00:00
Entities: Removed Tag attribute; it is taken from the filename instead. Made entity XML files be loaded on demand. Probably stopped crash when maps contain non-existent entities. Fixed a few bugs in entity definitions.
Maps: Stored non-entity objects in XML instead of PMP, for easier manual editing. Updated existing maps to newest format, so that they can still work. Added undocumented _rewriteMaps() JS function. Also renamed _mem to vmem, and reclassified its undocumentedness as unintentional, since it's reasonably useful. Loader: added NonprogressiveLoad function, for ScEd/_rewriteMaps/etc which don't care about progressiveness. main.cpp: re-enabled vfs_display, since it doesn't crash now Vector3D: stopped warning This was SVN commit r2078.
This commit is contained in:
@@ -61,14 +61,11 @@ CObjectBase* CObjectManager::FindObjectBase(const char* objectname)
|
||||
|
||||
// Not already loaded, so try to load it:
|
||||
|
||||
for (uint k = 0; k < m_ObjectTypes.size(); k++) {
|
||||
|
||||
CStr filename ("art/actors/");
|
||||
filename += objectname;
|
||||
|
||||
for (uint k = 0; k < m_ObjectTypes.size(); k++)
|
||||
{
|
||||
CObjectBase* obj = new CObjectBase();
|
||||
|
||||
if (obj->Load(filename))
|
||||
if (obj->Load(objectname))
|
||||
{
|
||||
m_ObjectTypes[k].m_ObjectBases[objectname] = obj;
|
||||
return obj;
|
||||
@@ -151,25 +148,6 @@ void CObjectManager::DeleteObject(CObjectEntry* entry)
|
||||
}
|
||||
|
||||
|
||||
void CObjectManager::AddObjectBase(CObjectBase* base)
|
||||
{
|
||||
m_ObjectTypes[0].m_ObjectBases.insert(make_pair(base->m_FileName, base));
|
||||
}
|
||||
|
||||
void CObjectManager::DeleteObjectBase(CObjectBase* base)
|
||||
{
|
||||
std::map<CStr, CObjectBase*>& objects = m_ObjectTypes[0].m_ObjectBases;
|
||||
|
||||
for (std::map<CStr, CObjectBase*>::iterator it = objects.begin(); it != objects.end(); )
|
||||
if (it->second == base)
|
||||
objects.erase(it++);
|
||||
else
|
||||
++it;
|
||||
|
||||
delete base;
|
||||
}
|
||||
|
||||
|
||||
void CObjectManager::LoadObjects()
|
||||
{
|
||||
AddObjectType("");
|
||||
|
||||
Reference in New Issue
Block a user