wipe record superclass

actorid
greye 12 years ago
parent 2fa4ac177a
commit 3494e17b7c

@ -46,5 +46,54 @@ struct Position
}; };
#pragma pack(pop) #pragma pack(pop)
enum RecNameInts
{
REC_ACTI = 0x49544341,
REC_ALCH = 0x48434c41,
REC_APPA = 0x41505041,
REC_ARMO = 0x4f4d5241,
REC_BODY = 0x59444f42,
REC_BOOK = 0x4b4f4f42,
REC_BSGN = 0x4e475342,
REC_CELL = 0x4c4c4543,
REC_CLAS = 0x53414c43,
REC_CLOT = 0x544f4c43,
REC_CNTC = 0x43544e43,
REC_CONT = 0x544e4f43,
REC_CREA = 0x41455243,
REC_CREC = 0x43455243,
REC_DIAL = 0x4c414944,
REC_DOOR = 0x524f4f44,
REC_ENCH = 0x48434e45,
REC_FACT = 0x54434146,
REC_GLOB = 0x424f4c47,
REC_GMST = 0x54534d47,
REC_INFO = 0x4f464e49,
REC_INGR = 0x52474e49,
REC_LAND = 0x444e414c,
REC_LEVC = 0x4356454c,
REC_LEVI = 0x4956454c,
REC_LIGH = 0x4847494c,
REC_LOCK = 0x4b434f4c,
REC_LTEX = 0x5845544c,
REC_MGEF = 0x4645474d,
REC_MISC = 0x4353494d,
REC_NPC_ = 0x5f43504e,
REC_NPCC = 0x4343504e,
REC_PGRD = 0x44524750,
REC_PROB = 0x424f5250,
REC_RACE = 0x45434152,
REC_REGN = 0x4e474552,
REC_REPA = 0x41504552,
REC_SCPT = 0x54504353,
REC_SKIL = 0x4c494b53,
REC_SNDG = 0x47444e53,
REC_SOUN = 0x4e554f53,
REC_SPEL = 0x4c455053,
REC_SSCR = 0x52435353,
REC_STAT = 0x54415453,
REC_WEAP = 0x50414557
};
} }
#endif #endif

@ -1,6 +1,8 @@
#ifndef OPENMW_ESM_COMMON_H #ifndef OPENMW_ESM_COMMON_H
#define OPENMW_ESM_COMMON_H #define OPENMW_ESM_COMMON_H
#include <string>
#include <libs/platform/stdint.h> #include <libs/platform/stdint.h>
#include <libs/platform/string.h> #include <libs/platform/string.h>

@ -1,11 +1,14 @@
#ifndef OPENMW_ESM_ACTI_H #ifndef OPENMW_ESM_ACTI_H
#define OPENMW_ESM_ACTI_H #define OPENMW_ESM_ACTI_H
#include "record.hpp" #include <string>
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
struct Activator struct Activator
{ {
std::string mName, mScript, mModel; std::string mName, mScript, mModel;

@ -3,11 +3,14 @@
#include <string> #include <string>
#include "record.hpp"
#include "effectlist.hpp" #include "effectlist.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Alchemy item (potions) * Alchemy item (potions)
*/ */

@ -1,10 +1,14 @@
#ifndef OPENMW_ESM_APPA_H #ifndef OPENMW_ESM_APPA_H
#define OPENMW_ESM_APPA_H #define OPENMW_ESM_APPA_H
#include "record.hpp" #include <string>
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Alchemist apparatus * Alchemist apparatus
*/ */

@ -4,11 +4,12 @@
#include <vector> #include <vector>
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
enum PartReferenceType enum PartReferenceType
{ {
PRT_Head = 0, PRT_Head = 0,

@ -1,11 +1,14 @@
#ifndef OPENMW_ESM_BODY_H #ifndef OPENMW_ESM_BODY_H
#define OPENMW_ESM_BODY_H #define OPENMW_ESM_BODY_H
#include "record.hpp" #include <string>
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
struct BodyPart struct BodyPart
{ {
enum MeshPart enum MeshPart

@ -1,7 +1,7 @@
#ifndef OPENMW_ESM_BOOK_H #ifndef OPENMW_ESM_BOOK_H
#define OPENMW_ESM_BOOK_H #define OPENMW_ESM_BOOK_H
#include "record.hpp" #include <string>
namespace ESM namespace ESM
{ {
@ -9,6 +9,9 @@ namespace ESM
* Books, magic scrolls, notes and so on * Books, magic scrolls, notes and so on
*/ */
class ESMReader;
class ESMWriter;
struct Book struct Book
{ {
struct BKDTstruct struct BKDTstruct

@ -3,12 +3,14 @@
#include <string> #include <string>
#include "record.hpp"
#include "spelllist.hpp" #include "spelllist.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
struct BirthSign struct BirthSign
{ {
std::string mName, mDescription, mTexture; std::string mName, mDescription, mTexture;

@ -4,11 +4,14 @@
#include <string> #include <string>
#include "esmcommon.hpp" #include "esmcommon.hpp"
#include "record.hpp"
#include "defs.hpp" #include "defs.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* Cell reference. This represents ONE object (of many) inside the /* Cell reference. This represents ONE object (of many) inside the
cell. The cell references are not loaded as part of the normal cell. The cell references are not loaded as part of the normal
loading process, but are rather loaded later on demand when we are loading process, but are rather loaded later on demand when we are

@ -3,10 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Character class definitions * Character class definitions
*/ */

@ -3,12 +3,14 @@
#include <string> #include <string>
#include "record.hpp"
#include "loadarmo.hpp" #include "loadarmo.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Clothing * Clothing
*/ */

@ -4,12 +4,14 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "record.hpp"
#include "esmcommon.hpp" #include "esmcommon.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Container definition * Container definition
*/ */

@ -3,7 +3,6 @@
#include <string> #include <string>
#include "record.hpp"
#include "loadcont.hpp" #include "loadcont.hpp"
#include "spelllist.hpp" #include "spelllist.hpp"
#include "aipackage.hpp" #include "aipackage.hpp"
@ -11,6 +10,9 @@
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Creature definition * Creature definition
* *

@ -1,13 +1,14 @@
#ifndef OPENMW_ESM_CREC_H #ifndef OPENMW_ESM_CREC_H
#define OPENMW_ESM_CREC_H #define OPENMW_ESM_CREC_H
#include "record.hpp"
// TODO create implementation files and remove this one // TODO create implementation files and remove this one
#include "esmreader.hpp" #include "esmreader.hpp"
namespace ESM { namespace ESM {
class ESMReader;
class ESMWriter;
/* These two are only used in save games. They are not decoded yet. /* These two are only used in save games. They are not decoded yet.
*/ */

@ -1,14 +1,17 @@
#ifndef OPENMW_ESM_DIAL_H #ifndef OPENMW_ESM_DIAL_H
#define OPENMW_ESM_DIAL_H #define OPENMW_ESM_DIAL_H
#include <string>
#include <vector> #include <vector>
#include "record.hpp"
#include "loadinfo.hpp" #include "loadinfo.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Dialogue topic and journal entries. The actual data is contained in * Dialogue topic and journal entries. The actual data is contained in
* the INFO records following the DIAL. * the INFO records following the DIAL.

@ -3,11 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
struct Door struct Door
{ {
std::string mName, mModel, mScript, mOpenSound, mCloseSound; std::string mName, mModel, mScript, mOpenSound, mCloseSound;

@ -1,11 +1,14 @@
#ifndef OPENMW_ESM_ENCH_H #ifndef OPENMW_ESM_ENCH_H
#define OPENMW_ESM_ENCH_H #define OPENMW_ESM_ENCH_H
#include "record.hpp"
#include "effectlist.hpp" #include "effectlist.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Enchantments * Enchantments
*/ */

@ -4,11 +4,12 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Faction definitions * Faction definitions
*/ */

@ -1,12 +1,14 @@
#ifndef OPENMW_ESM_GLOB_H #ifndef OPENMW_ESM_GLOB_H
#define OPENMW_ESM_GLOB_H #define OPENMW_ESM_GLOB_H
#include "record.hpp"
#include "defs.hpp" #include "defs.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Global script variables * Global script variables
*/ */

@ -3,11 +3,14 @@
#include <string> #include <string>
#include "record.hpp"
#include "defs.hpp" #include "defs.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Game setting, with automatic cleaning of "dirty" entries. * Game setting, with automatic cleaning of "dirty" entries.
* *

@ -4,12 +4,14 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "record.hpp"
#include "defs.hpp" #include "defs.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
// NOT DONE // NOT DONE
/* /*

@ -3,10 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Alchemy ingredient * Alchemy ingredient
*/ */

@ -3,11 +3,14 @@
#include <libs/platform/stdint.h> #include <libs/platform/stdint.h>
#include "record.hpp"
#include "esmcommon.hpp" #include "esmcommon.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Landscape data. * Landscape data.
*/ */

@ -4,11 +4,12 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Leveled lists. Since these have identical layout, I only bothered * Leveled lists. Since these have identical layout, I only bothered
* to implement it once. * to implement it once.

@ -3,11 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Lights. Includes static light sources and also carryable candles * Lights. Includes static light sources and also carryable candles
* and torches. * and torches.

@ -1,11 +1,14 @@
#ifndef OPENMW_ESM_LOCKS_H #ifndef OPENMW_ESM_LOCKS_H
#define OPENMW_ESM_LOCKS_H #define OPENMW_ESM_LOCKS_H
#include "record.hpp" #include <string>
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* This file covers lockpicks (LOCK), probes (PROB) and armor repair * This file covers lockpicks (LOCK), probes (PROB) and armor repair
* items (REPA). These have nearly identical data structures. * items (REPA). These have nearly identical data structures.

@ -3,11 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Texture used for texturing landscape. * Texture used for texturing landscape.
* *

@ -3,11 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
struct MagicEffect struct MagicEffect
{ {
enum Flags enum Flags

@ -3,11 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Misc inventory items, basically things that have no use but can be * Misc inventory items, basically things that have no use but can be
* carried, bought and sold. It also includes keys. * carried, bought and sold. It also includes keys.

@ -5,12 +5,15 @@
#include <vector> #include <vector>
#include "defs.hpp" #include "defs.hpp"
#include "record.hpp"
#include "loadcont.hpp" #include "loadcont.hpp"
#include "aipackage.hpp" #include "aipackage.hpp"
#include "spelllist.hpp" #include "spelllist.hpp"
namespace ESM { namespace ESM {
class ESMReader;
class ESMWriter;
/* /*
* NPC definition * NPC definition
*/ */

@ -1,13 +1,14 @@
#ifndef OPENMW_ESM_NPCC_H #ifndef OPENMW_ESM_NPCC_H
#define OPENMW_ESM_NPCC_H #define OPENMW_ESM_NPCC_H
#include "record.hpp"
// TODO: create implementation files to remove this // TODO: create implementation files to remove this
#include "esmreader.hpp" #include "esmreader.hpp"
namespace ESM { namespace ESM {
class ESMReader;
class ESMWriter;
/* /*
* NPC change information (found in savegame files only). We can't * NPC change information (found in savegame files only). We can't
* read these yet. * read these yet.

@ -4,11 +4,12 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Path grid. * Path grid.
*/ */

@ -3,11 +3,14 @@
#include <string> #include <string>
#include "record.hpp"
#include "spelllist.hpp" #include "spelllist.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Race definition * Race definition
*/ */

@ -4,12 +4,14 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "record.hpp"
#include "esmcommon.hpp" #include "esmcommon.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Region data * Region data
*/ */

@ -4,12 +4,14 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "record.hpp"
#include "esmcommon.hpp" #include "esmcommon.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Script definitions * Script definitions
*/ */

@ -5,11 +5,13 @@
#include <boost/array.hpp> #include <boost/array.hpp>
#include "record.hpp"
#include "defs.hpp" #include "defs.hpp"
namespace ESM { namespace ESM {
class ESMReader;
class ESMWriter;
/* /*
* Skill information * Skill information
* *

@ -3,11 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Sound generator. This describes the sounds a creature make. * Sound generator. This describes the sounds a creature make.
*/ */

@ -3,11 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
struct SOUNstruct struct SOUNstruct
{ {
unsigned char mVolume, mMinRange, mMaxRange; unsigned char mVolume, mMinRange, mMaxRange;

@ -3,12 +3,14 @@
#include <string> #include <string>
#include "record.hpp"
#include "effectlist.hpp" #include "effectlist.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
struct Spell struct Spell
{ {
enum SpellType enum SpellType

@ -3,11 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
Startup script. I think this is simply a 'main' script that is run Startup script. I think this is simply a 'main' script that is run
from the begining. The SSCR records contain a DATA identifier which from the begining. The SSCR records contain a DATA identifier which

@ -3,10 +3,11 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM { namespace ESM {
class ESMReader;
class ESMWriter;
/* /*
* Definition of static object. * Definition of static object.
* *

@ -3,11 +3,12 @@
#include <string> #include <string>
#include "record.hpp"
namespace ESM namespace ESM
{ {
class ESMReader;
class ESMWriter;
/* /*
* Weapon definition * Weapon definition
*/ */

@ -1,8 +1,6 @@
#ifndef OPENMW_ESM_RECORD_H #ifndef OPENMW_ESM_RECORD_H
#define OPENMW_ESM_RECORD_H #define OPENMW_ESM_RECORD_H
#include <string>
namespace ESM namespace ESM
{ {
@ -55,30 +53,6 @@ enum RecNameInts
REC_WEAP = 0x50414557 REC_WEAP = 0x50414557
}; };
class ESMReader;
class ESMWriter;
class Record
{
public:
Record() {}
virtual ~Record() {}
virtual void load(ESMReader& esm) = 0;
virtual void save(ESMWriter& esm) = 0;
std::string getId() const { return mId; }
void setId(const std::string& in) { mId = in; }
int getFlags() const { return (mFlags & 0x1 ? 0x00002000 : 0) | (mFlags & 0x2 ? 0x00000400 : 0); }
void setFlags(int in) { mFlags = (in & 0x00002000 ? 0x1 : 0) | (in & 0x00000400 ? 0x2 : 0); }
virtual int getName() = 0;
protected:
std::string mId;
char mFlags;
};
} }

@ -1,7 +1,7 @@
#ifndef OPENMW_ESM_RECORDS_H #ifndef OPENMW_ESM_RECORDS_H
#define OPENMW_ESM_RECORDS_H #define OPENMW_ESM_RECORDS_H
#include "record.hpp" #include "defs.hpp"
#include "loadacti.hpp" #include "loadacti.hpp"
#include "loadalch.hpp" #include "loadalch.hpp"
#include "loadappa.hpp" #include "loadappa.hpp"

Loading…
Cancel
Save