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:
Ykkrosh
2005-03-29 20:50:04 +00:00
parent e6c56d0537
commit 22dd4dd67b
294 changed files with 607 additions and 531 deletions
+3 -25
View File
@@ -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("");