(svn r20647) -Codechange: update some of the object spec information

This commit is contained in:
rubidium
2010-08-28 17:29:12 +00:00
parent f1f1c71a41
commit 34da98f2b1
8 changed files with 81 additions and 14 deletions

View File

@@ -10,15 +10,18 @@
/** @file newgrf_object.cpp Handling of object NewGRFs. */
#include "stdafx.h"
#include "core/mem_func.hpp"
#include "newgrf_object.h"
#include "object_map.h"
extern const ObjectSpec _original_objects[];
extern const ObjectSpec _original_objects[NEW_OBJECT_OFFSET];
/** All the object specifications. */
static ObjectSpec _object_specs[NUM_OBJECTS];
/* static */ const ObjectSpec *ObjectSpec::Get(ObjectType index)
{
assert(index < OBJECT_MAX);
return &_original_objects[index];
assert(index < NUM_OBJECTS);
return &_object_specs[index];
}
/* static */ const ObjectSpec *ObjectSpec::GetByTile(TileIndex tile)
@@ -26,3 +29,13 @@ extern const ObjectSpec _original_objects[];
return ObjectSpec::Get(GetObjectType(tile));
}
/** This function initialize the spec arrays of objects. */
void ResetObjects()
{
/* Clean the pool. */
MemSetT(_object_specs, 0, lengthof(_object_specs));
/* And add our originals. */
MemCpyT(_object_specs, _original_objects, lengthof(_original_objects));
}