1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-21 13:41:41 +00:00

wipe record superclass

This commit is contained in:
greye 2012-10-01 00:51:54 +04:00
parent 2fa4ac177a
commit 3494e17b7c
45 changed files with 191 additions and 86 deletions

View file

@ -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

View file

@ -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>

View file

@ -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;

View file

@ -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)
*/ */

View file

@ -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
*/ */

View file

@ -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,

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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
*/ */

View file

@ -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
*/ */

View file

@ -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
*/ */

View file

@ -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
* *

View file

@ -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.
*/ */

View file

@ -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.

View file

@ -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;

View file

@ -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
*/ */

View file

@ -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
*/ */

View file

@ -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
*/ */

View file

@ -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.
* *

View file

@ -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
/* /*

View file

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

View file

@ -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.
*/ */

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.
* *

View file

@ -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

View file

@ -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.

View file

@ -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
*/ */

View file

@ -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.

View file

@ -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.
*/ */

View file

@ -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
*/ */

View file

@ -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
*/ */

View file

@ -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
*/ */

View file

@ -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
* *

View file

@ -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.
*/ */

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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.
* *

View file

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

View file

@ -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;
};
} }

View file

@ -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"