Created
April 21, 2017 22:26
Star
You must be signed in to star a gist
all of mt's struct holes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct _IO_FILE { | |
int _flags; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
char * _IO_read_ptr; /* 8 8 */ | |
char * _IO_read_end; /* 16 8 */ | |
char * _IO_read_base; /* 24 8 */ | |
char * _IO_write_base; /* 32 8 */ | |
char * _IO_write_ptr; /* 40 8 */ | |
char * _IO_write_end; /* 48 8 */ | |
char * _IO_buf_base; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
char * _IO_buf_end; /* 64 8 */ | |
char * _IO_save_base; /* 72 8 */ | |
char * _IO_backup_base; /* 80 8 */ | |
char * _IO_save_end; /* 88 8 */ | |
class _IO_marker * _markers; /* 96 8 */ | |
class _IO_FILE * _chain; /* 104 8 */ | |
int _fileno; /* 112 4 */ | |
int _flags2; /* 116 4 */ | |
__off_t _old_offset; /* 120 8 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
short unsigned int _cur_column; /* 128 2 */ | |
signed char _vtable_offset; /* 130 1 */ | |
char _shortbuf[1]; /* 131 1 */ | |
/* XXX 4 bytes hole, try to pack */ | |
_IO_lock_t * _lock; /* 136 8 */ | |
__off64_t _offset; /* 144 8 */ | |
void * __pad1; /* 152 8 */ | |
void * __pad2; /* 160 8 */ | |
void * __pad3; /* 168 8 */ | |
void * __pad4; /* 176 8 */ | |
size_t __pad5; /* 184 8 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
int _mode; /* 192 4 */ | |
char _unused2[20]; /* 196 20 */ | |
/* size: 216, cachelines: 4, members: 29 */ | |
/* sum members: 208, holes: 2, sum holes: 8 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct typedef __va_list_tag __va_list_tag { | |
unsigned int gp_offset; /* 0 4 */ | |
unsigned int fp_offset; /* 4 4 */ | |
void * overflow_arg_area; /* 8 8 */ | |
void * reg_save_area; /* 16 8 */ | |
/* size: 24, cachelines: 1, members: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct tm { | |
int tm_sec; /* 0 4 */ | |
int tm_min; /* 4 4 */ | |
int tm_hour; /* 8 4 */ | |
int tm_mday; /* 12 4 */ | |
int tm_mon; /* 16 4 */ | |
int tm_year; /* 20 4 */ | |
int tm_wday; /* 24 4 */ | |
int tm_yday; /* 28 4 */ | |
int tm_isdst; /* 32 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
long int tm_gmtoff; /* 40 8 */ | |
const char * tm_zone; /* 48 8 */ | |
/* size: 56, cachelines: 1, members: 11 */ | |
/* sum members: 52, holes: 1, sum holes: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct lconv { | |
char * decimal_point; /* 0 8 */ | |
char * thousands_sep; /* 8 8 */ | |
char * grouping; /* 16 8 */ | |
char * int_curr_symbol; /* 24 8 */ | |
char * currency_symbol; /* 32 8 */ | |
char * mon_decimal_point; /* 40 8 */ | |
char * mon_thousands_sep; /* 48 8 */ | |
char * mon_grouping; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
char * positive_sign; /* 64 8 */ | |
char * negative_sign; /* 72 8 */ | |
char int_frac_digits; /* 80 1 */ | |
char frac_digits; /* 81 1 */ | |
char p_cs_precedes; /* 82 1 */ | |
char p_sep_by_space; /* 83 1 */ | |
char n_cs_precedes; /* 84 1 */ | |
char n_sep_by_space; /* 85 1 */ | |
char p_sign_posn; /* 86 1 */ | |
char n_sign_posn; /* 87 1 */ | |
char int_p_cs_precedes; /* 88 1 */ | |
char int_p_sep_by_space; /* 89 1 */ | |
char int_n_cs_precedes; /* 90 1 */ | |
char int_n_sep_by_space; /* 91 1 */ | |
char int_p_sign_posn; /* 92 1 */ | |
char int_n_sign_posn; /* 93 1 */ | |
/* size: 96, cachelines: 2, members: 24 */ | |
/* padding: 2 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct timespec { | |
__time_t tv_sec; /* 0 8 */ | |
__syscall_slong_t tv_nsec; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct __pthread_internal_list { | |
class __pthread_internal_list * __prev; /* 0 8 */ | |
class __pthread_internal_list * __next; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct _IO_marker { | |
class _IO_marker * _next; /* 0 8 */ | |
class _IO_FILE * _sbuf; /* 8 8 */ | |
int _pos; /* 16 4 */ | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* padding: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class ILogOutput { | |
public: | |
int ()(void) * * _vptr.ILogOutput; /* 0 8 */ | |
void ~ILogOutput(class ILogOutput *, int); | |
void ILogOutput(class ILogOutput *, ); | |
void ILogOutput(class ILogOutput *, const class ILogOutput &); | |
void ILogOutput(class ILogOutput *); | |
virtual void logRaw(class ILogOutput *, enum LogLevel, const string &); | |
virtual void log(class ILogOutput *, enum LogLevel, const string &, const string &, const string &, const string &); | |
/* vtable has 2 entries: { | |
[0] = logRaw((null)), | |
[1] = log((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class Logger { | |
class vector<ILogOutput*, std::allocator<ILogOutput*> > m_outputs[6]; /* 0 144 */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
volatile volatile bool m_silenced_levels; /* 144 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class map<std::thread::id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::thread::id>, std::allocator<std::pair<const std::thread::id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > m_thread_names; /* 152 48 */ | |
/* --- cacheline 3 boundary (192 bytes) was 8 bytes ago --- */ | |
Mutex m_mutex; /* 200 40 */ | |
bool m_trace_enabled; /* 240 1 */ | |
public: | |
void addOutput(class Logger *, class ILogOutput *); | |
void addOutput(class Logger *, class ILogOutput *, enum LogLevel); | |
void addOutputMasked(class Logger *, class ILogOutput *, LogLevelMask); | |
void addOutputMaxLevel(class Logger *, class ILogOutput *, enum LogLevel); | |
LogLevelMask removeOutput(class Logger *, class ILogOutput *); | |
void setLevelSilenced(class Logger *, enum LogLevel, bool); | |
void registerThread(class Logger *, const string &); | |
void deregisterThread(class Logger *); | |
void log(class Logger *, enum LogLevel, const string &); | |
void logRaw(class Logger *, enum LogLevel, const string &); | |
void setTraceEnabled(class Logger *, bool); | |
bool getTraceEnabled(class Logger *); | |
enum LogLevel stringToLevel(const string &); | |
stringconst getLevelLabel(enum LogLevel); | |
void logToOutputsRaw(class Logger *, enum LogLevel, const string &); | |
void logToOutputs(class Logger *, enum LogLevel, const string &, const string &, const string &, const string &); | |
stringconst getThreadName(class Logger *); | |
/* size: 248, cachelines: 4, members: 5 */ | |
/* sum members: 239, holes: 1, sum holes: 2 */ | |
/* padding: 7 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class StreamLogOutput : public ICombinedLogOutput { | |
public: | |
/* class ICombinedLogOutput <ancestor>; */ /* 0 8 */ | |
ostream &const m_stream; /* 8 8 */ | |
void StreamLogOutput(class StreamLogOutput *, ostream &); | |
virtual void logRaw(class StreamLogOutput *, enum LogLevel, const string &); | |
/* vtable has 1 entries: { | |
[0] = logRaw((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 16 != 8 + 0(holes), diff = 8 */ | |
}; | |
class MainMenuManager : public IMenuManager { | |
public: | |
/* class IMenuManager <ancestor>; */ /* 0 8 */ | |
class list<irr::gui::IGUIElement*, std::allocator<irr::gui::IGUIElement*> > m_stack; /* 8 24 */ | |
void MainMenuManager(class MainMenuManager *, ); | |
void MainMenuManager(class MainMenuManager *, const class MainMenuManager &); | |
void MainMenuManager(class MainMenuManager *); | |
virtual void createdMenu(class MainMenuManager *, class IGUIElement *); | |
virtual void deletingMenu(class MainMenuManager *, class IGUIElement *); | |
virtual bool preprocessEvent(class MainMenuManager *, const class SEvent &); | |
u32 menuCount(class MainMenuManager *); | |
bool pausesGame(class MainMenuManager *); | |
void ~MainMenuManager(class MainMenuManager *, int); | |
/* vtable has 3 entries: { | |
[0] = createdMenu((null)), | |
[1] = deletingMenu((null)), | |
[2] = preprocessEvent((null)), | |
} */ | |
/* size: 32, cachelines: 1, members: 2 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 32 != 24 + 0(holes), diff = 8 */ | |
}; | |
class MainGameCallback : public IGameCallback { | |
public: | |
/* class IGameCallback <ancestor>; */ /* 0 8 */ | |
bool disconnect_requested; /* 8 1 */ | |
bool changepassword_requested; /* 9 1 */ | |
bool changevolume_requested; /* 10 1 */ | |
bool keyconfig_requested; /* 11 1 */ | |
bool shutdown_requested; /* 12 1 */ | |
bool keyconfig_changed; /* 13 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class IrrlichtDevice * device; /* 16 8 */ | |
void MainGameCallback(class MainGameCallback *, ); | |
void MainGameCallback(class MainGameCallback *, const class MainGameCallback &); | |
void MainGameCallback(class MainGameCallback *, class IrrlichtDevice *); | |
virtual void exitToOS(class MainGameCallback *); | |
virtual void disconnect(class MainGameCallback *); | |
virtual void changePassword(class MainGameCallback *); | |
virtual void changeVolume(class MainGameCallback *); | |
virtual void keyConfig(class MainGameCallback *); | |
virtual void signalKeyConfigChange(class MainGameCallback *); | |
/* vtable has 6 entries: { | |
[0] = exitToOS((null)), | |
[2] = disconnect((null)), | |
[3] = changePassword((null)), | |
[4] = changeVolume((null)), | |
[1] = keyConfig((null)), | |
[5] = signalKeyConfigChange((null)), | |
} */ | |
/* size: 24, cachelines: 1, members: 8 */ | |
/* sum members: 14, holes: 1, sum holes: 2 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 14 + 2(holes), diff = 8 */ | |
}; | |
struct in6_addr { | |
union { | |
uint8_t __u6_addr8[16]; /* 16 */ | |
uint16_t __u6_addr16[8]; /* 16 */ | |
uint32_t __u6_addr32[4]; /* 16 */ | |
}; | |
union { | |
uint8_t __u6_addr8[16]; /* 16 */ | |
uint16_t __u6_addr16[8]; /* 16 */ | |
uint32_t __u6_addr32[4]; /* 16 */ | |
} __in6_u; /* 0 16 */ | |
/* size: 16, cachelines: 1, members: 1 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class SharedBuffer<unsigned char> { | |
unsigned char * data; /* 0 8 */ | |
unsigned int m_size; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
unsigned int * refcount; /* 16 8 */ | |
public: | |
void SharedBuffer(class SharedBuffer<unsigned char> *); | |
void SharedBuffer(class SharedBuffer<unsigned char> *, unsigned int); | |
void SharedBuffer(class SharedBuffer<unsigned char> *, const class SharedBuffer<unsigned char> &); | |
class SharedBuffer<unsigned char> & operator=(class SharedBuffer<unsigned char> *, const class SharedBuffer<unsigned char> &); | |
void SharedBuffer(class SharedBuffer<unsigned char> *, const unsigned char *, unsigned int); | |
void SharedBuffer(class SharedBuffer<unsigned char> *, const class Buffer<unsigned char> &); | |
void ~SharedBuffer(class SharedBuffer<unsigned char> *, int); | |
unsigned char & operator[](const class SharedBuffer<unsigned char> *, unsigned int); | |
unsigned char * operator*(const class SharedBuffer<unsigned char> *); | |
unsigned int getSize(const class SharedBuffer<unsigned char> *); | |
class Buffer<unsigned char> operator Buffer<unsigned char>(const class SharedBuffer<unsigned char> *); | |
void drop(class SharedBuffer<unsigned char> *); | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* sum members: 20, holes: 1, sum holes: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class Buffer<unsigned char> { | |
unsigned char * data; /* 0 8 */ | |
unsigned int m_size; /* 8 4 */ | |
public: | |
void Buffer(class Buffer<unsigned char> *); | |
void Buffer(class Buffer<unsigned char> *, unsigned int); | |
void Buffer(class Buffer<unsigned char> *, const class Buffer<unsigned char> &); | |
void Buffer(class Buffer<unsigned char> *, const unsigned char *, unsigned int); | |
void ~Buffer(class Buffer<unsigned char> *, int); | |
class Buffer<unsigned char> & operator=(class Buffer<unsigned char> *, const class Buffer<unsigned char> &); | |
unsigned char & operator[](const class Buffer<unsigned char> *, unsigned int); | |
unsigned char * operator*(const class Buffer<unsigned char> *); | |
unsigned int getSize(const class Buffer<unsigned char> *); | |
void drop(class Buffer<unsigned char> *); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct FlagDesc { | |
const char * name; /* 0 8 */ | |
u32 flag; /* 8 4 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct timezone { | |
int tz_minuteswest; /* 0 4 */ | |
int tz_dsttime; /* 4 4 */ | |
/* size: 8, cachelines: 1, members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class Settings { | |
SettingEntries m_settings; /* 0 56 */ | |
SettingEntries m_defaults; /* 56 56 */ | |
/* --- cacheline 1 boundary (64 bytes) was 48 bytes ago --- */ | |
SettingsCallbackMap m_callbacks; /* 112 56 */ | |
/* --- cacheline 2 boundary (128 bytes) was 40 bytes ago --- */ | |
Mutex m_callback_mutex; /* 168 40 */ | |
/* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 208 40 */ | |
public: | |
void Settings(class Settings *); | |
void ~Settings(class Settings *, int); | |
class Settings & operator+=(class Settings *, const class Settings &); | |
class Settings & operator=(class Settings *, const class Settings &); | |
bool readConfigFile(class Settings *, const char *); | |
bool updateConfigFile(class Settings *, const char *); | |
bool parseCommandLine(class Settings *, int, char * *, class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ValueSpec, std::less<std::__cxx11::b); | |
bool parseConfigLines(class Settings *, istream &, const string &); | |
void writeLines(const class Settings *, ostream &, u32); | |
enum SettingsParseEvent parseConfigObject(class Settings *, const string &, const string &, string &, string &); | |
bool updateConfigObject(class Settings *, istream &, ostream &, const string &, u32); | |
bool checkNameValid(const string &); | |
bool checkValueValid(const string &); | |
string getMultiline(istream &, size_t *); | |
void printEntry(ostream &, const string &, const class SettingsEntry &, u32); | |
const class SettingsEntry & getEntry(const class Settings *, const string &); | |
class Settings * getGroup(const class Settings *, const string &); | |
const string & get(const class Settings *, const string &); | |
bool getBool(const class Settings *, const string &); | |
u16 getU16(const class Settings *, const string &); | |
s16 getS16(const class Settings *, const string &); | |
s32 getS32(const class Settings *, const string &); | |
u64 getU64(const class Settings *, const string &); | |
float getFloat(const class Settings *, const string &); | |
v2f getV2F(const class Settings *, const string &); | |
v3f getV3F(const class Settings *, const string &); | |
u32 getFlagStr(const class Settings *, const string &, const class FlagDesc *, u32 *); | |
bool getStruct(const class Settings *, const string &, const string &, void *, size_t); | |
bool getNoiseParams(const class Settings *, const string &, class NoiseParams &); | |
bool getNoiseParamsFromValue(const class Settings *, const string &, class NoiseParams &); | |
bool getNoiseParamsFromGroup(const class Settings *, const string &, class NoiseParams &); | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi getNames(const class Settings *); | |
bool exists(const class Settings *, const string &); | |
bool getEntryNoEx(const class Settings *, const string &, class SettingsEntry &); | |
bool getGroupNoEx(const class Settings *, const string &, class Settings * &); | |
bool getNoEx(const class Settings *, const string &, string &); | |
bool getFlag(const class Settings *, const string &); | |
bool getU16NoEx(const class Settings *, const string &, u16 &); | |
bool getS16NoEx(const class Settings *, const string &, s16 &); | |
bool getS32NoEx(const class Settings *, const string &, s32 &); | |
bool getU64NoEx(const class Settings *, const string &, u64 &); | |
bool getFloatNoEx(const class Settings *, const string &, float &); | |
bool getV2FNoEx(const class Settings *, const string &, v2f &); | |
bool getV3FNoEx(const class Settings *, const string &, v3f &); | |
bool getFlagStrNoEx(const class Settings *, const string &, u32 &, class FlagDesc *); | |
bool setEntry(class Settings *, const string &, const void *, bool, bool); | |
bool set(class Settings *, const string &, const string &); | |
bool setDefault(class Settings *, const string &, const string &); | |
bool setGroup(class Settings *, const string &, class Settings *); | |
bool setGroupDefault(class Settings *, const string &, class Settings *); | |
bool setBool(class Settings *, const string &, bool); | |
bool setS16(class Settings *, const string &, s16); | |
bool setU16(class Settings *, const string &, u16); | |
bool setS32(class Settings *, const string &, s32); | |
bool setU64(class Settings *, const string &, u64); | |
bool setFloat(class Settings *, const string &, float); | |
bool setV2F(class Settings *, const string &, v2f); | |
bool setV3F(class Settings *, const string &, v3f); | |
bool setFlagStr(class Settings *, const string &, u32, const class FlagDesc *, u32); | |
bool setNoiseParams(class Settings *, const string &, const class NoiseParams &, bool); | |
bool setStruct(class Settings *, const string &, const string &, void *); | |
bool remove(class Settings *, const string &); | |
void clear(class Settings *); | |
void clearDefaults(class Settings *); | |
void updateValue(class Settings *, const class Settings &, const string &); | |
void update(class Settings *, const class Settings &); | |
void registerChangedCallback(class Settings *, const string &, SettingsChangedCallback, void *); | |
void deregisterChangedCallback(class Settings *, const string &, SettingsChangedCallback, void *); | |
void updateNoLock(class Settings *, const class Settings &); | |
void clearNoLock(class Settings *); | |
void clearDefaultsNoLock(class Settings *); | |
void doCallbacks(const class Settings *, const string &); | |
/* size: 248, cachelines: 4, members: 5 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct NoiseParams { | |
float offset; /* 0 4 */ | |
float scale; /* 4 4 */ | |
v3f spread; /* 8 12 */ | |
s32 seed; /* 20 4 */ | |
u16 octaves; /* 24 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float persist; /* 28 4 */ | |
float lacunarity; /* 32 4 */ | |
u32 flags; /* 36 4 */ | |
void NoiseParams(class NoiseParams *); | |
void NoiseParams(class NoiseParams *, float, float, v3f, s32, u16, float, float, u32); | |
/* size: 40, cachelines: 1, members: 8 */ | |
/* sum members: 38, holes: 1, sum holes: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct FrameSpec { | |
u32 texture_id; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class ITexture * texture; /* 8 8 */ | |
class ITexture * normal_texture; /* 16 8 */ | |
class ITexture * flags_texture; /* 24 8 */ | |
void FrameSpec(class FrameSpec *); | |
/* size: 32, cachelines: 1, members: 4 */ | |
/* sum members: 28, holes: 1, sum holes: 4 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct SubgameSpec { | |
string id; /* 0 32 */ | |
string path; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
string gamemods_path; /* 64 32 */ | |
class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > addon_mods_paths; /* 96 48 */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
string name; /* 144 32 */ | |
string menuicon_path; /* 176 32 */ | |
void SubgameSpec(class SubgameSpec *, const string &, const string &, const string &, const class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_, const string &, const string &); | |
bool isValid(const class SubgameSpec *); | |
class SubgameSpec & operator=(class SubgameSpec *, const class SubgameSpec &); | |
class SubgameSpec & operator=(class SubgameSpec *, ); | |
void ~SubgameSpec(class SubgameSpec *, int); | |
/* size: 208, cachelines: 4, members: 6 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct WorldSpec { | |
string path; /* 0 32 */ | |
string name; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
string gameid; /* 64 32 */ | |
void WorldSpec(class WorldSpec *, const string &, const string &, const string &); | |
bool isValid(const class WorldSpec *); | |
class WorldSpec & operator=(class WorldSpec *, const class WorldSpec &); | |
void ~WorldSpec(class WorldSpec *, int); | |
/* size: 96, cachelines: 2, members: 3 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct StaticObject { | |
u8 type; /* 0 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
v3f pos; /* 4 12 */ | |
string data; /* 16 32 */ | |
void StaticObject(class StaticObject *); | |
void StaticObject(class StaticObject *, u8, v3f, const string &); | |
void serialize(class StaticObject *, ostream &); | |
void deSerialize(class StaticObject *, istream &, u8); | |
/* size: 48, cachelines: 1, members: 3 */ | |
/* sum members: 45, holes: 1, sum holes: 3 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct SettingsEntry { | |
string value; /* 0 32 */ | |
class Settings * group; /* 32 8 */ | |
bool is_group; /* 40 1 */ | |
void SettingsEntry(class SettingsEntry *); | |
void SettingsEntry(class SettingsEntry *, const string &); | |
void SettingsEntry(class SettingsEntry *, class Settings *); | |
/* size: 48, cachelines: 1, members: 3 */ | |
/* padding: 7 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct MainMenuDataForScript { | |
bool reconnect_requested; /* 0 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
string errormessage; /* 8 32 */ | |
void MainMenuDataForScript(class MainMenuDataForScript *); | |
void ~MainMenuDataForScript(class MainMenuDataForScript *, int); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* sum members: 33, holes: 1, sum holes: 7 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct MainMenuData { | |
string servername; /* 0 32 */ | |
string serverdescription; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
string address; /* 64 32 */ | |
string port; /* 96 32 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
string name; /* 128 32 */ | |
string password; /* 160 32 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
bool do_reconnect; /* 192 1 */ | |
bool enable_public; /* 193 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
int selected_world; /* 196 4 */ | |
bool simple_singleplayer_mode; /* 200 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
struct MainMenuDataForScript script_data; /* 208 40 */ | |
void MainMenuData(class MainMenuData *); | |
void ~MainMenuData(class MainMenuData *, int); | |
/* size: 248, cachelines: 4, members: 11 */ | |
/* sum members: 239, holes: 2, sum holes: 9 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class KeyType { | |
enum T { | |
FORWARD = 0, | |
BACKWARD = 1, | |
LEFT = 2, | |
RIGHT = 3, | |
JUMP = 4, | |
SPECIAL1 = 5, | |
SNEAK = 6, | |
AUTORUN = 7, | |
ESC = 8, | |
DROP = 9, | |
INVENTORY = 10, | |
CHAT = 11, | |
CMD = 12, | |
CMD_LOCAL = 13, | |
CONSOLE = 14, | |
MINIMAP = 15, | |
FREEMOVE = 16, | |
FASTMOVE = 17, | |
NOCLIP = 18, | |
CINEMATIC = 19, | |
SCREENSHOT = 20, | |
TOGGLE_HUD = 21, | |
TOGGLE_CHAT = 22, | |
TOGGLE_FORCE_FOG_OFF = 23, | |
TOGGLE_UPDATE_CAMERA = 24, | |
TOGGLE_DEBUG = 25, | |
TOGGLE_PROFILER = 26, | |
CAMERA_MODE = 27, | |
INCREASE_VIEWING_RANGE = 28, | |
DECREASE_VIEWING_RANGE = 29, | |
RANGESELECT = 30, | |
ZOOM = 31, | |
QUICKTUNE_NEXT = 32, | |
QUICKTUNE_PREV = 33, | |
QUICKTUNE_INC = 34, | |
QUICKTUNE_DEC = 35, | |
DEBUG_STACKS = 36, | |
MOUSE_L = 37, | |
MOUSE_R = 38, | |
SCROLL_UP = 39, | |
SCROLL_DOWN = 40, | |
INTERNAL_ENUM_COUNT = 41, | |
}; | |
/* size: 1, cachelines: 0, members: 0 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
struct JoystickAxisLayout { | |
u16 axis_id; /* 0 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
int invert; /* 4 4 */ | |
/* size: 8, cachelines: 1, members: 2 */ | |
/* sum members: 6, holes: 1, sum holes: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct JoystickLayout { | |
class vector<JoystickButtonCmb, std::allocator<JoystickButtonCmb> > button_keys; /* 0 24 */ | |
class vector<JoystickAxisCmb, std::allocator<JoystickAxisCmb> > axis_keys; /* 24 24 */ | |
struct JoystickAxisLayout axes[4]; /* 48 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
s16 axes_dead_border; /* 80 2 */ | |
void ~JoystickLayout(class JoystickLayout *, int); | |
/* size: 88, cachelines: 2, members: 4 */ | |
/* padding: 6 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class JoystickController { | |
public: | |
f32 doubling_dtime; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
struct JoystickLayout m_layout; /* 8 88 */ | |
/* XXX last struct has 6 bytes of padding */ | |
/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */ | |
s16 m_axes_vals[4]; /* 96 8 */ | |
u8 m_joystick_id; /* 104 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class bitset<41ul> m_pressed_keys; /* 112 8 */ | |
f32 m_internal_time; /* 120 4 */ | |
f32 m_past_pressed_time[41]; /* 124 164 */ | |
/* --- cacheline 4 boundary (256 bytes) was 32 bytes ago --- */ | |
class bitset<41ul> m_past_pressed_keys; /* 288 8 */ | |
class bitset<41ul> m_past_released_keys; /* 296 8 */ | |
void JoystickController(class JoystickController *); | |
void onJoystickConnect(class JoystickController *, const class vector<irr::SJoystickInfo, std::allocator<irr::SJoystickInfo> > &); | |
bool handleEvent(class JoystickController *, const class SJoystickEvent &); | |
void clear(class JoystickController *); | |
bool wasKeyDown(class JoystickController *, GameKeyType); | |
bool getWasKeyDown(class JoystickController *, GameKeyType); | |
void clearWasKeyDown(class JoystickController *, GameKeyType); | |
bool wasKeyReleased(class JoystickController *, GameKeyType); | |
bool getWasKeyReleased(class JoystickController *, GameKeyType); | |
void clearWasKeyReleased(class JoystickController *, GameKeyType); | |
bool isKeyDown(class JoystickController *, GameKeyType); | |
s16 getAxis(class JoystickController *, enum JoystickAxis); | |
s16 getAxisWithoutDead(class JoystickController *, enum JoystickAxis); | |
void setLayoutFromControllerName(class JoystickController *, const string &); | |
void ~JoystickController(class JoystickController *, int); | |
/* size: 304, cachelines: 5, members: 9 */ | |
/* sum members: 293, holes: 2, sum holes: 11 */ | |
/* paddings: 1, sum paddings: 6 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class KeyPress { | |
protected: | |
enum EKEY_CODE Key; /* 0 4 */ | |
wchar_t Char; /* 4 4 */ | |
string m_name; /* 8 32 */ | |
public: | |
void KeyPress(class KeyPress *); | |
void KeyPress(class KeyPress *, const char *); | |
void KeyPress(class KeyPress *, const class SKeyInput &, bool); | |
bool operator==(const class KeyPress *, const class KeyPress &); | |
const char * sym(const class KeyPress *); | |
const char * name(const class KeyPress *); | |
protected: | |
bool valid_kcode(enum EKEY_CODE); | |
public: | |
void KeyPress(class KeyPress *, const class KeyPress &); | |
void ~KeyPress(class KeyPress *, int); | |
/* size: 40, cachelines: 1, members: 3 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class EnrichedString { | |
wstring m_string; /* 0 32 */ | |
class vector<irr::video::SColor, std::allocator<irr::video::SColor> > m_colors; /* 32 24 */ | |
bool m_has_background; /* 56 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class SColor m_background; /* 60 4 */ | |
public: | |
void EnrichedString(class EnrichedString *); | |
void EnrichedString(class EnrichedString *, const wstring &, const class SColor &); | |
void EnrichedString(class EnrichedString *, const wchar_t *, const class SColor &); | |
void EnrichedString(class EnrichedString *, const wstring &, const class vector<irr::video::SColor, std::allocator<irr::video::SColor> > &); | |
void operator=(class EnrichedString *, const wchar_t *); | |
void addAtEnd(class EnrichedString *, const wstring &, const class SColor &); | |
void addChar(class EnrichedString *, const class EnrichedString &, size_t); | |
void addCharNoColor(class EnrichedString *, wchar_t); | |
class EnrichedString substr(const class EnrichedString *, size_t, size_t); | |
class EnrichedString operator+(const class EnrichedString *, const class EnrichedString &); | |
void operator+=(class EnrichedString *, const class EnrichedString &); | |
const wchar_t * c_str(const class EnrichedString *); | |
const class vector<irr::video::SColor, std::allocator<irr::video::SColor> > & getColors(const class EnrichedString *); | |
const wstring & getString(const class EnrichedString *); | |
bool operator==(const class EnrichedString *, const class EnrichedString &); | |
bool operator!=(const class EnrichedString *, const class EnrichedString &); | |
void clear(class EnrichedString *); | |
bool empty(const class EnrichedString *); | |
size_t size(const class EnrichedString *); | |
bool hasBackground(const class EnrichedString *); | |
class SColor getBackground(const class EnrichedString *); | |
/* size: 64, cachelines: 1, members: 4 */ | |
/* sum members: 61, holes: 1, sum holes: 3 */ | |
}; | |
struct ChatLine { | |
f32 age; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class EnrichedString name; /* 8 64 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class EnrichedString text; /* 72 64 */ | |
void ChatLine(class ChatLine *, const wstring &, const wstring &); | |
void ChatLine(class ChatLine *, const class EnrichedString &, const class EnrichedString &); | |
/* size: 136, cachelines: 3, members: 3 */ | |
/* sum members: 132, holes: 1, sum holes: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ChatFormattedFragment { | |
class EnrichedString text; /* 0 64 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
u32 column; /* 64 4 */ | |
/* size: 72, cachelines: 2, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ChatFormattedLine { | |
class vector<ChatFormattedFragment, std::allocator<ChatFormattedFragment> > fragments; /* 0 24 */ | |
bool first; /* 24 1 */ | |
/* size: 32, cachelines: 1, members: 2 */ | |
/* padding: 7 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class ChatBuffer { | |
u32 m_scrollback; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<ChatLine, std::allocator<ChatLine> > m_unformatted; /* 8 24 */ | |
u32 m_cols; /* 32 4 */ | |
u32 m_rows; /* 36 4 */ | |
s32 m_scroll; /* 40 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<ChatFormattedLine, std::allocator<ChatFormattedLine> > m_formatted; /* 48 24 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
struct ChatFormattedLine m_empty_formatted_line; /* 72 32 */ | |
/* XXX last struct has 7 bytes of padding */ | |
public: | |
void ChatBuffer(class ChatBuffer *, u32); | |
void ~ChatBuffer(class ChatBuffer *, int); | |
void addLine(class ChatBuffer *, wstring, wstring); | |
void clear(class ChatBuffer *); | |
u32 getLineCount(const class ChatBuffer *); | |
u32 getScrollback(const class ChatBuffer *); | |
const class ChatLine & getLine(const class ChatBuffer *, u32); | |
void step(class ChatBuffer *, f32); | |
void deleteOldest(class ChatBuffer *, u32); | |
void deleteByAge(class ChatBuffer *, f32); | |
u32 getColumns(const class ChatBuffer *); | |
u32 getRows(const class ChatBuffer *); | |
void reformat(class ChatBuffer *, u32, u32); | |
const class ChatFormattedLine & getFormattedLine(const class ChatBuffer *, u32); | |
void scroll(class ChatBuffer *, s32); | |
void scrollAbsolute(class ChatBuffer *, s32); | |
void scrollBottom(class ChatBuffer *); | |
void scrollTop(class ChatBuffer *); | |
u32 formatChatLine(const class ChatBuffer *, const class ChatLine &, u32, class vector<ChatFormattedLine, std::allocator<ChatFormattedLine> > &); | |
protected: | |
s32 getTopScrollPos(const class ChatBuffer *); | |
s32 getBottomScrollPos(const class ChatBuffer *); | |
/* size: 104, cachelines: 2, members: 7 */ | |
/* sum members: 96, holes: 2, sum holes: 8 */ | |
/* paddings: 1, sum paddings: 7 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class ChatPrompt { | |
enum CursorOp { | |
CURSOROP_MOVE = 0, | |
CURSOROP_SELECT = 1, | |
CURSOROP_DELETE = 2, | |
}; | |
enum CursorOpDir { | |
CURSOROP_DIR_LEFT = 0, | |
CURSOROP_DIR_RIGHT = 1, | |
}; | |
enum CursorOpScope { | |
CURSOROP_SCOPE_CHARACTER = 0, | |
CURSOROP_SCOPE_WORD = 1, | |
CURSOROP_SCOPE_LINE = 2, | |
CURSOROP_SCOPE_SELECTION = 3, | |
}; | |
wstring m_prompt; /* 0 32 */ | |
wstring m_line; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > m_history; /* 64 24 */ | |
u32 m_history_index; /* 88 4 */ | |
u32 m_history_limit; /* 92 4 */ | |
s32 m_cols; /* 96 4 */ | |
s32 m_view; /* 100 4 */ | |
s32 m_cursor; /* 104 4 */ | |
s32 m_cursor_len; /* 108 4 */ | |
s32 m_nick_completion_start; /* 112 4 */ | |
s32 m_nick_completion_end; /* 116 4 */ | |
public: | |
void ChatPrompt(class ChatPrompt *, const wstring &, u32); | |
void ~ChatPrompt(class ChatPrompt *, int); | |
void input(class ChatPrompt *, wchar_t); | |
void input(class ChatPrompt *, const wstring &); | |
void addToHistory(class ChatPrompt *, wstring); | |
wstring getLine(const class ChatPrompt *); | |
wstring getSelection(const class ChatPrompt *); | |
void clear(class ChatPrompt *); | |
wstring replace(class ChatPrompt *, wstring); | |
void historyPrev(class ChatPrompt *); | |
void historyNext(class ChatPrompt *); | |
void nickCompletion(class ChatPrompt *, const class list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::, bool); | |
void reformat(class ChatPrompt *, u32); | |
wstring getVisiblePortion(const class ChatPrompt *); | |
s32 getVisibleCursorPosition(const class ChatPrompt *); | |
s32 getCursorLength(const class ChatPrompt *); | |
void cursorOperation(class ChatPrompt *, enum CursorOp, enum CursorOpDir, enum CursorOpScope); | |
protected: | |
void clampView(class ChatPrompt *); | |
/* size: 120, cachelines: 2, members: 11 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class ChatBackend { | |
class ChatBuffer m_console_buffer; /* 0 104 */ | |
/* --- cacheline 1 boundary (64 bytes) was 40 bytes ago --- */ | |
class ChatBuffer m_recent_buffer; /* 104 104 */ | |
/* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */ | |
class ChatPrompt m_prompt; /* 208 120 */ | |
public: | |
void ChatBackend(class ChatBackend *); | |
void ~ChatBackend(class ChatBackend *, int); | |
void addMessage(class ChatBackend *, wstring, wstring); | |
void addUnparsedMessage(class ChatBackend *, wstring); | |
class ChatBuffer & getConsoleBuffer(class ChatBackend *); | |
class ChatBuffer & getRecentBuffer(class ChatBackend *); | |
class EnrichedString getRecentChat(class ChatBackend *); | |
class ChatPrompt & getPrompt(class ChatBackend *); | |
void reformat(class ChatBackend *, u32, u32); | |
void clearRecentChat(class ChatBackend *); | |
void step(class ChatBackend *, float); | |
void scroll(class ChatBackend *, s32); | |
void scrollPageDown(class ChatBackend *); | |
void scrollPageUp(class ChatBackend *); | |
/* size: 328, cachelines: 6, members: 3 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class TimeTaker { | |
const char * m_name; /* 0 8 */ | |
u32 m_time1; /* 8 4 */ | |
bool m_running; /* 12 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
enum TimePrecision m_precision; /* 16 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
u32 * m_result; /* 24 8 */ | |
public: | |
void TimeTaker(class TimeTaker *, const char *, u32 *, enum TimePrecision); | |
void ~TimeTaker(class TimeTaker *, int); | |
u32 stop(class TimeTaker *, bool); | |
u32 getTimerTime(class TimeTaker *); | |
/* size: 32, cachelines: 1, members: 5 */ | |
/* sum members: 25, holes: 2, sum holes: 7 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class Profiler { | |
Mutex m_mutex; /* 0 40 */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float> > > m_data; /* 40 48 */ | |
/* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > > m_avgcounts; /* 88 48 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float> > > m_graphvalues; /* 136 48 */ | |
typedef struct map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float> > > GraphValues; | |
public: | |
void Profiler(class Profiler *); | |
void add(class Profiler *, const string &, float); | |
void avg(class Profiler *, const string &, float); | |
void clear(class Profiler *); | |
void print(class Profiler *, ostream &); | |
float getValue(const class Profiler *, const string &); | |
void printPage(class Profiler *, ostream &, u32, u32); | |
void graphAdd(class Profiler *, const string &, float); | |
void graphGet(class Profiler *, GraphValues &); | |
void remove(class Profiler *, const string &); | |
/* size: 184, cachelines: 3, members: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class FontEngine { | |
class Settings * m_settings; /* 0 8 */ | |
class IGUIEnvironment * m_env; /* 8 8 */ | |
class map<unsigned int, irr::gui::IGUIFont*, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, irr::gui::IGUIFont*> > > m_font_cache[5]; /* 16 240 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
unsigned int m_default_size[5]; /* 256 20 */ | |
enum FontMode m_currentMode; /* 276 4 */ | |
enum FontMode m_lastMode; /* 280 4 */ | |
unsigned int m_lastSize; /* 284 4 */ | |
class IGUIFont * m_lastFont; /* 288 8 */ | |
public: | |
void FontEngine(class FontEngine *, class Settings *, class IGUIEnvironment *); | |
void ~FontEngine(class FontEngine *, int); | |
class IGUIFont * getFont(class FontEngine *, unsigned int, enum FontMode); | |
unsigned int getTextHeight(class FontEngine *, unsigned int, enum FontMode); | |
unsigned int getTextWidth(class FontEngine *, const string &, unsigned int, enum FontMode); | |
unsigned int getTextWidth(class FontEngine *, const wstring &, unsigned int, enum FontMode); | |
unsigned int getLineHeight(class FontEngine *, unsigned int, enum FontMode); | |
unsigned int getDefaultFontSize(class FontEngine *); | |
void initialize(class FontEngine *, class Settings *, class IGUIEnvironment *); | |
void readSettings(class FontEngine *); | |
void FontEngine(class FontEngine *); | |
void updateFontCache(class FontEngine *); | |
void initFont(class FontEngine *, unsigned int, enum FontMode); | |
void initSimpleFont(class FontEngine *, unsigned int, enum FontMode); | |
void updateSkin(class FontEngine *); | |
void cleanCache(class FontEngine *); | |
/* size: 296, cachelines: 5, members: 8 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct GameParams { | |
u16 socket_port; /* 0 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
string world_path; /* 8 32 */ | |
struct SubgameSpec game_spec; /* 40 208 */ | |
/* --- cacheline 3 boundary (192 bytes) was 56 bytes ago --- */ | |
bool is_dedicated_server; /* 248 1 */ | |
/* size: 256, cachelines: 4, members: 4 */ | |
/* sum members: 243, holes: 1, sum holes: 6 */ | |
/* padding: 7 */ | |
}; | |
class ClientLauncher { | |
protected: | |
bool list_video_modes; /* 0 1 */ | |
bool skip_main_menu; /* 1 1 */ | |
bool use_freetype; /* 2 1 */ | |
bool random_input; /* 3 1 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string address; /* 8 32 */ | |
string playername; /* 40 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
string password; /* 72 32 */ | |
class IrrlichtDevice * device; /* 104 8 */ | |
class InputHandler * input; /* 112 8 */ | |
class MyEventReceiver * receiver; /* 120 8 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class IGUISkin * skin; /* 128 8 */ | |
class IGUIFont * font; /* 136 8 */ | |
class ISceneManager * smgr; /* 144 8 */ | |
struct SubgameSpec gamespec; /* 152 208 */ | |
/* --- cacheline 5 boundary (320 bytes) was 40 bytes ago --- */ | |
struct WorldSpec worldspec; /* 360 96 */ | |
/* --- cacheline 7 boundary (448 bytes) was 8 bytes ago --- */ | |
bool simple_singleplayer_mode; /* 456 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
string current_playername; /* 464 32 */ | |
string current_password; /* 496 32 */ | |
/* --- cacheline 8 boundary (512 bytes) was 16 bytes ago --- */ | |
string current_address; /* 528 32 */ | |
int current_port; /* 560 4 */ | |
public: | |
void ClientLauncher(class ClientLauncher *); | |
void ~ClientLauncher(class ClientLauncher *, int); | |
bool run(class ClientLauncher *, class GameParams &, const class Settings &); | |
protected: | |
void init_args(class ClientLauncher *, class GameParams &, const class Settings &); | |
bool init_engine(class ClientLauncher *); | |
void init_input(class ClientLauncher *); | |
bool launch_game(class ClientLauncher *, string &, bool, class GameParams &, const class Settings &); | |
void main_menu(class ClientLauncher *, class MainMenuData *); | |
bool create_engine_device(class ClientLauncher *); | |
void speed_tests(class ClientLauncher *); | |
bool print_video_modes(class ClientLauncher *); | |
/* size: 568, cachelines: 9, members: 20 */ | |
/* sum members: 553, holes: 2, sum holes: 11 */ | |
/* padding: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class InputHandler { | |
public: | |
int ()(void) * * _vptr.InputHandler; /* 0 8 */ | |
class JoystickController joystick; /* 8 304 */ | |
void InputHandler(class InputHandler *, const class InputHandler &); | |
void InputHandler(class InputHandler *); | |
virtual void ~InputHandler(class InputHandler *, int); | |
virtual bool isKeyDown(class InputHandler *, const class KeyPress &); | |
virtual bool wasKeyDown(class InputHandler *, const class KeyPress &); | |
virtual void listenForKey(class InputHandler *, const class KeyPress &); | |
virtual void dontListenForKeys(class InputHandler *); | |
virtual v2s32 getMousePos(class InputHandler *); | |
virtual void setMousePos(class InputHandler *, s32, s32); | |
virtual bool getLeftState(class InputHandler *); | |
virtual bool getRightState(class InputHandler *); | |
virtual bool getLeftClicked(class InputHandler *); | |
virtual bool getRightClicked(class InputHandler *); | |
virtual void resetLeftClicked(class InputHandler *); | |
virtual void resetRightClicked(class InputHandler *); | |
virtual bool getLeftReleased(class InputHandler *); | |
virtual bool getRightReleased(class InputHandler *); | |
virtual void resetLeftReleased(class InputHandler *); | |
virtual void resetRightReleased(class InputHandler *); | |
virtual s32 getMouseWheel(class InputHandler *); | |
virtual void step(class InputHandler *, float); | |
virtual void clear(class InputHandler *); | |
/* vtable has 19 entries: { | |
[2] = isKeyDown((null)), | |
[3] = wasKeyDown((null)), | |
[4] = listenForKey((null)), | |
[5] = dontListenForKeys((null)), | |
[6] = getMousePos((null)), | |
[7] = setMousePos((null)), | |
[8] = getLeftState((null)), | |
[9] = getRightState((null)), | |
[10] = getLeftClicked((null)), | |
[11] = getRightClicked((null)), | |
[12] = resetLeftClicked((null)), | |
[13] = resetRightClicked((null)), | |
[14] = getLeftReleased((null)), | |
[15] = getRightReleased((null)), | |
[16] = resetLeftReleased((null)), | |
[17] = resetRightReleased((null)), | |
[18] = getMouseWheel((null)), | |
[19] = step((null)), | |
[20] = clear((null)), | |
} */ | |
/* size: 312, cachelines: 5, members: 2 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class MyEventReceiver : public IEventReceiver { | |
public: | |
/* class IEventReceiver <ancestor>; */ /* 0 8 */ | |
bool leftclicked; /* 8 1 */ | |
bool rightclicked; /* 9 1 */ | |
bool leftreleased; /* 10 1 */ | |
bool rightreleased; /* 11 1 */ | |
bool left_active; /* 12 1 */ | |
bool middle_active; /* 13 1 */ | |
bool right_active; /* 14 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
s32 mouse_wheel; /* 16 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class JoystickController * joystick; /* 24 8 */ | |
class KeyList keyIsDown; /* 32 32 */ | |
/* XXX last struct has 24 bytes of padding */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class KeyList keyWasDown; /* 64 32 */ | |
/* XXX last struct has 24 bytes of padding */ | |
class KeyList keysListenedFor; /* 96 32 */ | |
/* XXX last struct has 24 bytes of padding */ | |
void MyEventReceiver(class MyEventReceiver *, ); | |
void MyEventReceiver(class MyEventReceiver *, const class MyEventReceiver &); | |
virtual bool OnEvent(class MyEventReceiver *, const class SEvent &); | |
bool IsKeyDown(const class MyEventReceiver *, const class KeyPress &); | |
bool WasKeyDown(class MyEventReceiver *, const class KeyPress &); | |
void listenForKey(class MyEventReceiver *, const class KeyPress &); | |
void dontListenForKeys(class MyEventReceiver *); | |
s32 getMouseWheel(class MyEventReceiver *); | |
void clearInput(class MyEventReceiver *); | |
void MyEventReceiver(class MyEventReceiver *); | |
virtual void ~MyEventReceiver(class MyEventReceiver *, int); | |
/* vtable has 1 entries: { | |
[2] = OnEvent((null)), | |
} */ | |
/* size: 128, cachelines: 2, members: 13 */ | |
/* sum members: 115, holes: 2, sum holes: 5 */ | |
/* paddings: 3, sum paddings: 72 */ | |
/* BRAIN FART ALERT! 128 != 115 + 5(holes), diff = 8 */ | |
}; | |
class TimeGetter { | |
public: | |
int ()(void) * * _vptr.TimeGetter; /* 0 8 */ | |
void ~TimeGetter(class TimeGetter *, int); | |
void TimeGetter(class TimeGetter *, ); | |
void TimeGetter(class TimeGetter *, const class TimeGetter &); | |
void TimeGetter(class TimeGetter *); | |
virtual u32 getTime(class TimeGetter *, enum TimePrecision); | |
/* vtable has 1 entries: { | |
[0] = getTime((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class IrrlichtTimeGetter : public TimeGetter { | |
public: | |
/* class TimeGetter <ancestor>; */ /* 0 8 */ | |
class IrrlichtDevice * m_device; /* 8 8 */ | |
void IrrlichtTimeGetter(class IrrlichtTimeGetter *, ); | |
void IrrlichtTimeGetter(class IrrlichtTimeGetter *, const class IrrlichtTimeGetter &); | |
void IrrlichtTimeGetter(class IrrlichtTimeGetter *, class IrrlichtDevice *); | |
virtual u32 getTime(class IrrlichtTimeGetter *, enum TimePrecision); | |
/* vtable has 1 entries: { | |
[0] = getTime((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 16 != 8 + 0(holes), diff = 8 */ | |
}; | |
class RandomInputHandler : public InputHandler { | |
public: | |
/* class InputHandler <ancestor>; */ /* 0 312 */ | |
/* --- cacheline 4 boundary (256 bytes) was 56 bytes ago --- */ | |
class KeyList keydown; /* 312 32 */ | |
/* XXX last struct has 24 bytes of padding */ | |
/* --- cacheline 5 boundary (320 bytes) was 24 bytes ago --- */ | |
v2s32 mousepos; /* 344 8 */ | |
v2s32 mousespeed; /* 352 8 */ | |
bool leftdown; /* 360 1 */ | |
bool rightdown; /* 361 1 */ | |
bool leftclicked; /* 362 1 */ | |
bool rightclicked; /* 363 1 */ | |
bool leftreleased; /* 364 1 */ | |
bool rightreleased; /* 365 1 */ | |
void RandomInputHandler(class RandomInputHandler *, ); | |
void RandomInputHandler(class RandomInputHandler *, const class RandomInputHandler &); | |
void RandomInputHandler(class RandomInputHandler *); | |
virtual bool isKeyDown(class RandomInputHandler *, const class KeyPress &); | |
virtual bool wasKeyDown(class RandomInputHandler *, const class KeyPress &); | |
virtual v2s32 getMousePos(class RandomInputHandler *); | |
virtual void setMousePos(class RandomInputHandler *, s32, s32); | |
virtual bool getLeftState(class RandomInputHandler *); | |
virtual bool getRightState(class RandomInputHandler *); | |
virtual bool getLeftClicked(class RandomInputHandler *); | |
virtual bool getRightClicked(class RandomInputHandler *); | |
virtual void resetLeftClicked(class RandomInputHandler *); | |
virtual void resetRightClicked(class RandomInputHandler *); | |
virtual bool getLeftReleased(class RandomInputHandler *); | |
virtual bool getRightReleased(class RandomInputHandler *); | |
virtual void resetLeftReleased(class RandomInputHandler *); | |
virtual void resetRightReleased(class RandomInputHandler *); | |
virtual s32 getMouseWheel(class RandomInputHandler *); | |
virtual void step(class RandomInputHandler *, float); | |
s32 Rand(class RandomInputHandler *, s32, s32); | |
virtual void ~RandomInputHandler(class RandomInputHandler *, int); | |
/* vtable has 16 entries: { | |
[2] = isKeyDown((null)), | |
[3] = wasKeyDown((null)), | |
[6] = getMousePos((null)), | |
[7] = setMousePos((null)), | |
[8] = getLeftState((null)), | |
[9] = getRightState((null)), | |
[10] = getLeftClicked((null)), | |
[11] = getRightClicked((null)), | |
[12] = resetLeftClicked((null)), | |
[13] = resetRightClicked((null)), | |
[14] = getLeftReleased((null)), | |
[15] = getRightReleased((null)), | |
[16] = resetLeftReleased((null)), | |
[17] = resetRightReleased((null)), | |
[18] = getMouseWheel((null)), | |
[19] = step((null)), | |
} */ | |
/* size: 368, cachelines: 6, members: 10 */ | |
/* padding: 2 */ | |
/* paddings: 1, sum paddings: 24 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 368 != 54 + 0(holes), diff = 314 */ | |
}; | |
class KeyList : protected list<KeyPress, std::allocator<KeyPress> > { | |
protected: | |
/* class list<KeyPress, std::allocator<KeyPress> > <ancestor>; */ /* 8 24 */ | |
public: | |
int ()(void) * * _vptr.KeyList; /* 0 8 */ | |
typedef iterator iterator; | |
typedef const_iterator const_iterator; | |
void KeyList(class KeyList *, ); | |
void KeyList(class KeyList *, const class KeyList &); | |
void KeyList(class KeyList *); | |
void ~KeyList(class KeyList *, int); | |
virtual const_iterator find(const class KeyList *, const class KeyPress &); | |
virtual iterator find(class KeyList *, const class KeyPress &); | |
void clear(class KeyList *); | |
void set(class KeyList *, const class KeyPress &); | |
void unset(class KeyList *, const class KeyPress &); | |
void toggle(class KeyList *, const class KeyPress &); | |
bool operator[](const class KeyList *, const class KeyPress &); | |
/* vtable has 2 entries: { | |
[0] = find((null)), | |
[1] = find((null)), | |
} */ | |
/* size: 32, cachelines: 1, members: 2 */ | |
/* padding: 24 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class RealInputHandler : public InputHandler { | |
public: | |
/* class InputHandler <ancestor>; */ /* 0 312 */ | |
/* --- cacheline 4 boundary (256 bytes) was 56 bytes ago --- */ | |
class IrrlichtDevice * m_device; /* 312 8 */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
class MyEventReceiver * m_receiver; /* 320 8 */ | |
v2s32 m_mousepos; /* 328 8 */ | |
void RealInputHandler(class RealInputHandler *, ); | |
void RealInputHandler(class RealInputHandler *, const class RealInputHandler &); | |
void RealInputHandler(class RealInputHandler *, class IrrlichtDevice *, class MyEventReceiver *); | |
virtual bool isKeyDown(class RealInputHandler *, const class KeyPress &); | |
virtual bool wasKeyDown(class RealInputHandler *, const class KeyPress &); | |
virtual void listenForKey(class RealInputHandler *, const class KeyPress &); | |
virtual void dontListenForKeys(class RealInputHandler *); | |
virtual v2s32 getMousePos(class RealInputHandler *); | |
virtual void setMousePos(class RealInputHandler *, s32, s32); | |
virtual bool getLeftState(class RealInputHandler *); | |
virtual bool getRightState(class RealInputHandler *); | |
virtual bool getLeftClicked(class RealInputHandler *); | |
virtual bool getRightClicked(class RealInputHandler *); | |
virtual void resetLeftClicked(class RealInputHandler *); | |
virtual void resetRightClicked(class RealInputHandler *); | |
virtual bool getLeftReleased(class RealInputHandler *); | |
virtual bool getRightReleased(class RealInputHandler *); | |
virtual void resetLeftReleased(class RealInputHandler *); | |
virtual void resetRightReleased(class RealInputHandler *); | |
virtual s32 getMouseWheel(class RealInputHandler *); | |
virtual void clear(class RealInputHandler *); | |
virtual void ~RealInputHandler(class RealInputHandler *, int); | |
/* vtable has 18 entries: { | |
[2] = isKeyDown((null)), | |
[3] = wasKeyDown((null)), | |
[4] = listenForKey((null)), | |
[5] = dontListenForKeys((null)), | |
[6] = getMousePos((null)), | |
[7] = setMousePos((null)), | |
[8] = getLeftState((null)), | |
[9] = getRightState((null)), | |
[10] = getLeftClicked((null)), | |
[11] = getRightClicked((null)), | |
[12] = resetLeftClicked((null)), | |
[13] = resetRightClicked((null)), | |
[14] = getLeftReleased((null)), | |
[15] = getRightReleased((null)), | |
[16] = resetLeftReleased((null)), | |
[17] = resetRightReleased((null)), | |
[18] = getMouseWheel((null)), | |
[20] = clear((null)), | |
} */ | |
/* size: 336, cachelines: 6, members: 4 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 336 != 24 + 0(holes), diff = 312 */ | |
}; | |
class BaseException : public exception { | |
public: | |
/* class exception <ancestor>; */ /* 0 0 */ | |
/* XXX 8 bytes hole, try to pack */ | |
protected: | |
string m_s; /* 8 32 */ | |
public: | |
void BaseException(class BaseException *, const class BaseException &); | |
void BaseException(class BaseException *, const string &); | |
virtual void ~BaseException(class BaseException *, int); | |
virtual const char * what(const class BaseException *); | |
/* vtable has 1 entries: { | |
[2] = what((null)), | |
} */ | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* sum members: 32, holes: 1, sum holes: 8 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class IGameCallback { | |
public: | |
int ()(void) * * _vptr.IGameCallback; /* 0 8 */ | |
void ~IGameCallback(class IGameCallback *, int); | |
void IGameCallback(class IGameCallback *, ); | |
void IGameCallback(class IGameCallback *, const class IGameCallback &); | |
void IGameCallback(class IGameCallback *); | |
virtual void exitToOS(class IGameCallback *); | |
virtual void keyConfig(class IGameCallback *); | |
virtual void disconnect(class IGameCallback *); | |
virtual void changePassword(class IGameCallback *); | |
virtual void changeVolume(class IGameCallback *); | |
virtual void signalKeyConfigChange(class IGameCallback *); | |
/* vtable has 6 entries: { | |
[0] = exitToOS((null)), | |
[1] = keyConfig((null)), | |
[2] = disconnect((null)), | |
[3] = changePassword((null)), | |
[4] = changeVolume((null)), | |
[5] = signalKeyConfigChange((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class IMenuManager { | |
public: | |
int ()(void) * * _vptr.IMenuManager; /* 0 8 */ | |
void ~IMenuManager(class IMenuManager *, int); | |
void IMenuManager(class IMenuManager *, ); | |
void IMenuManager(class IMenuManager *, const class IMenuManager &); | |
void IMenuManager(class IMenuManager *); | |
virtual void createdMenu(class IMenuManager *, class IGUIElement *); | |
virtual void deletingMenu(class IMenuManager *, class IGUIElement *); | |
/* vtable has 2 entries: { | |
[0] = createdMenu((null)), | |
[1] = deletingMenu((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class GUIModalMenu : public IGUIElement { | |
public: | |
/* class IGUIElement <ancestor>; */ /* 0 320 */ | |
/* XXX last struct has 36 bytes of padding */ | |
protected: | |
/* --- cacheline 4 boundary (256 bytes) was 28 bytes ago --- */ | |
v2u32 m_screensize_old; /* 284 8 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class IMenuManager * m_menumgr; /* 296 8 */ | |
bool m_allow_focus_removal; /* 304 1 */ | |
public: | |
void GUIModalMenu(class GUIModalMenu *, int, const void * *, class IGUIEnvironment *, class IGUIElement *, s32, class IMenuManager *); | |
virtual void ~GUIModalMenu(class GUIModalMenu *, int, const void * *); | |
void allowFocusRemoval(class GUIModalMenu *, bool); | |
bool canTakeFocus(class GUIModalMenu *, class IGUIElement *); | |
virtual void draw(class GUIModalMenu *); | |
void quitMenu(class GUIModalMenu *); | |
void removeChildren(class GUIModalMenu *); | |
virtual void regenerateGui(class GUIModalMenu *, v2u32); | |
virtual void drawMenu(class GUIModalMenu *); | |
virtual bool preprocessEvent(class GUIModalMenu *, const class SEvent &); | |
virtual bool OnEvent(class GUIModalMenu *, const class SEvent &); | |
virtual bool pausesGame(class GUIModalMenu *); | |
/* vtable has 6 entries: { | |
[8] = draw((null)), | |
[34] = regenerateGui((null)), | |
[35] = drawMenu((null)), | |
[36] = preprocessEvent((null)), | |
[2] = OnEvent((null)), | |
[37] = pausesGame((null)), | |
} */ | |
/* size: 344, cachelines: 6, members: 4 */ | |
/* sum members: 17, holes: 1, sum holes: 4 */ | |
/* padding: 39 */ | |
/* paddings: 1, sum paddings: 36 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 344 != 17 + 4(holes), diff = 323 */ | |
}; | |
class ICombinedLogOutput : public ILogOutput { | |
public: | |
/* class ILogOutput <ancestor>; */ /* 0 8 */ | |
void ~ICombinedLogOutput(class ICombinedLogOutput *, int); | |
void ICombinedLogOutput(class ICombinedLogOutput *, ); | |
void ICombinedLogOutput(class ICombinedLogOutput *, const class ICombinedLogOutput &); | |
void ICombinedLogOutput(class ICombinedLogOutput *); | |
virtual void log(class ICombinedLogOutput *, enum LogLevel, const string &, const string &, const string &, const string &); | |
/* vtable has 1 entries: { | |
[1] = log((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 8 != 0 + 0(holes), diff = 8 */ | |
}; | |
struct JoystickButtonCmb : JoystickCombination { | |
/* struct JoystickCombination <ancestor>; */ /* 0 16 */ | |
/* XXX last struct has 4 bytes of padding */ | |
u32 filter_mask; /* 12 4 */ | |
u32 compare_mask; /* 16 4 */ | |
class JoystickButtonCmb & operator=(class JoystickButtonCmb *, ); | |
class JoystickButtonCmb & operator=(class JoystickButtonCmb *, const class JoystickButtonCmb &); | |
void ~JoystickButtonCmb(class JoystickButtonCmb *, int); | |
void JoystickButtonCmb(class JoystickButtonCmb *, ); | |
void JoystickButtonCmb(class JoystickButtonCmb *, const class JoystickButtonCmb &); | |
void JoystickButtonCmb(class JoystickButtonCmb *); | |
void JoystickButtonCmb(class JoystickButtonCmb *, GameKeyType, u32, u32); | |
virtual bool isTriggered(const class JoystickButtonCmb *, const class SJoystickEvent &); | |
/* vtable has 1 entries: { | |
[0] = isTriggered((null)), | |
} */ | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* padding: 4 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 8 + 0(holes), diff = 16 */ | |
}; | |
struct JoystickAxisCmb : JoystickCombination { | |
/* struct JoystickCombination <ancestor>; */ /* 0 16 */ | |
/* XXX last struct has 4 bytes of padding */ | |
u16 axis_to_compare; /* 12 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
int direction; /* 16 4 */ | |
s16 thresh; /* 20 2 */ | |
class JoystickAxisCmb & operator=(class JoystickAxisCmb *, ); | |
class JoystickAxisCmb & operator=(class JoystickAxisCmb *, const class JoystickAxisCmb &); | |
void ~JoystickAxisCmb(class JoystickAxisCmb *, int); | |
void JoystickAxisCmb(class JoystickAxisCmb *, ); | |
void JoystickAxisCmb(class JoystickAxisCmb *, const class JoystickAxisCmb &); | |
void JoystickAxisCmb(class JoystickAxisCmb *); | |
void JoystickAxisCmb(class JoystickAxisCmb *, GameKeyType, u16, int, s16); | |
virtual bool isTriggered(const class JoystickAxisCmb *, const class SJoystickEvent &); | |
/* vtable has 1 entries: { | |
[0] = isTriggered((null)), | |
} */ | |
/* size: 24, cachelines: 1, members: 4 */ | |
/* sum members: 8, holes: 1, sum holes: 2 */ | |
/* padding: 2 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 8 + 2(holes), diff = 14 */ | |
}; | |
struct JoystickCombination { | |
int ()(void) * * _vptr.JoystickCombination; /* 0 8 */ | |
GameKeyType key; /* 8 4 */ | |
class JoystickCombination & operator=(class JoystickCombination *, ); | |
class JoystickCombination & operator=(class JoystickCombination *, const class JoystickCombination &); | |
void ~JoystickCombination(class JoystickCombination *, int); | |
void JoystickCombination(class JoystickCombination *, ); | |
void JoystickCombination(class JoystickCombination *, const class JoystickCombination &); | |
void JoystickCombination(class JoystickCombination *); | |
virtual bool isTriggered(const class JoystickCombination *, const class SJoystickEvent &); | |
/* vtable has 1 entries: { | |
[0] = isTriggered((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct TextureFromMeshParams { | |
class IMesh * mesh; /* 0 8 */ | |
class dimension2d<unsigned int> dim; /* 8 8 */ | |
string rtt_texture_name; /* 16 32 */ | |
bool delete_texture_on_shutdown; /* 48 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
v3f camera_position; /* 52 12 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
v3f camera_lookat; /* 64 12 */ | |
class CMatrix4<float> camera_projection_matrix; /* 76 64 */ | |
/* --- cacheline 2 boundary (128 bytes) was 12 bytes ago --- */ | |
class SColorf ambient_light; /* 140 16 */ | |
v3f light_position; /* 156 12 */ | |
class SColorf light_color; /* 168 16 */ | |
f32 light_radius; /* 184 4 */ | |
void ~TextureFromMeshParams(class TextureFromMeshParams *, int); | |
void TextureFromMeshParams(class TextureFromMeshParams *); | |
/* size: 192, cachelines: 3, members: 11 */ | |
/* sum members: 185, holes: 1, sum holes: 3 */ | |
/* padding: 4 */ | |
}; | |
class Semaphore { | |
sem_t semaphore; /* 0 32 */ | |
public: | |
void Semaphore(class Semaphore *, int); | |
void ~Semaphore(class Semaphore *, int); | |
void post(class Semaphore *, unsigned int); | |
void wait(class Semaphore *); | |
bool wait(class Semaphore *, unsigned int); | |
void Semaphore(class Semaphore *, const class Semaphore &); | |
class Semaphore & operator=(class Semaphore *, const class Semaphore &); | |
/* size: 32, cachelines: 1, members: 1 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class ITextureSource : public ISimpleTextureSource { | |
public: | |
/* class ISimpleTextureSource <ancestor>; */ /* 0 8 */ | |
void ITextureSource(class ITextureSource *, const class ITextureSource &); | |
void ITextureSource(class ITextureSource *); | |
virtual void ~ITextureSource(class ITextureSource *, int); | |
virtual u32 getTextureId(class ITextureSource *, const string &); | |
virtual string getTextureName(class ITextureSource *, u32); | |
virtual class ITexture * getTexture(class ITextureSource *, u32); | |
virtual class ITexture * getTexture(class ITextureSource *, const string &, u32 *); | |
virtual class ITexture * getTextureForMesh(class ITextureSource *, const string &, u32 *); | |
virtual Palette * getPalette(class ITextureSource *, const string &); | |
virtual class IrrlichtDevice * getDevice(class ITextureSource *); | |
virtual bool isKnownSourceImage(class ITextureSource *, const string &); | |
virtual class ITexture * generateTextureFromMesh(class ITextureSource *, const class TextureFromMeshParams &); | |
virtual class ITexture * getNormalTexture(class ITextureSource *, const string &); | |
virtual class SColor getTextureAverageColor(class ITextureSource *, const string &); | |
virtual class ITexture * getShaderFlagsTexture(class ITextureSource *, bool); | |
/* vtable has 12 entries: { | |
[3] = getTextureId((null)), | |
[4] = getTextureName((null)), | |
[5] = getTexture((null)), | |
[2] = getTexture((null)), | |
[6] = getTextureForMesh((null)), | |
[7] = getPalette((null)), | |
[8] = getDevice((null)), | |
[9] = isKnownSourceImage((null)), | |
[10] = generateTextureFromMesh((null)), | |
[11] = getNormalTexture((null)), | |
[12] = getTextureAverageColor((null)), | |
[13] = getShaderFlagsTexture((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 8 != 0 + 0(holes), diff = 8 */ | |
}; | |
class BasicStrfnd<char> { | |
typedef struct basic_string<char, std::char_traits<char>, std::allocator<char> > String; | |
/* tag__fprintf: const_type tag not supported! */; | |
String str; /* 0 32 */ | |
size_t pos; /* 32 8 */ | |
public: | |
void BasicStrfnd(class BasicStrfnd<char> *, const String &); | |
void start(class BasicStrfnd<char> *, const String &); | |
size_t where(class BasicStrfnd<char> *); | |
void to(class BasicStrfnd<char> *, size_t); | |
bool at_end(class BasicStrfnd<char> *); | |
String what(class BasicStrfnd<char> *); | |
String next(class BasicStrfnd<char> *, const String &); | |
String next_esc(class BasicStrfnd<char> *, const String &, char); | |
void skip_over(class BasicStrfnd<char> *, const String &); | |
void ~BasicStrfnd(class BasicStrfnd<char> *, int); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > { | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > m_values; /* 0 48 */ | |
Mutex m_mutex; /* 48 40 */ | |
public: | |
void MutexedMap(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<ch); | |
void set(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<ch, const class basic_string<char, std::char_traits<char>, std::allocator<char> > &, const class basic_string<char, std::char_traits<char>, std::allocator<char> > &); | |
bool get(const class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_str, const class basic_string<char, std::char_traits<char>, std::allocator<char> > &, class basic_string<char, std::char_traits<char>, std::allocator<char> > *); | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi getValues(const class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_str); | |
void clear(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<ch); | |
void ~MutexedMap(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<ch, int); | |
/* size: 88, cachelines: 2, members: 2 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct TextureInfo { | |
string name; /* 0 32 */ | |
class ITexture * texture; /* 32 8 */ | |
void TextureInfo(class TextureInfo *, const string &, class ITexture *); | |
void TextureInfo(class TextureInfo *, ); | |
void TextureInfo(class TextureInfo *, const class TextureInfo &); | |
void ~TextureInfo(class TextureInfo *, int); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class SourceImageCache { | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, irr::video::IImage*, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, irr::video::IImage*> > > m_images; /* 0 48 */ | |
public: | |
void ~SourceImageCache(class SourceImageCache *, int); | |
void insert(class SourceImageCache *, const string &, class IImage *, bool, class IVideoDriver *); | |
class IImage * get(class SourceImageCache *, const string &); | |
class IImage * getOrLoad(class SourceImageCache *, const string &, class IrrlichtDevice *); | |
void SourceImageCache(class SourceImageCache *); | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> { | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> > > m_values; /* 0 48 */ | |
Mutex m_mutex; /* 48 40 */ | |
public: | |
void MutexedMap(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> *); | |
void set(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> *, const class basic_string<char, std::char_traits<char>, std::allocator<char> > &, const bool &); | |
bool get(const class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> *, const class basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool *); | |
class vector<bool, std::allocator<bool> > getValues(const class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> *); | |
void clear(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> *); | |
void ~MutexedMap(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> *, int); | |
/* size: 88, cachelines: 2, members: 2 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> { | |
public: | |
class basic_string<char, std::char_traits<char>, std::allocator<char> > key; /* 0 32 */ | |
class list<CallerInfo<unsigned char, unsigned char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int>, std::allocator<CallerInfo<unsigned char, unsigned char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int> > > callers; /* 32 24 */ | |
void GetRequest(class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, ); | |
void ~GetRequest(class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, , int); | |
void GetRequest(class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, , class basic_string<char, std::char_traits<char>, std::allocator<char> >); | |
void GetRequest(class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, , const class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned ); | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> > { | |
protected: | |
class deque<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char>, std::allocator<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> > > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un); | |
bool empty(const class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned i); | |
void push_back(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un, class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, ); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, pop_frontNoEx(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un, u32); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, pop_front(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un, u32); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, pop_frontNoEx(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, pop_back(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un, u32); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, pop_backNoEx(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un, u32); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, pop_backNoEx(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un); | |
protected: | |
Mutex & getMutex(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un); | |
class deque<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned getQueue(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un); | |
public: | |
void ~MutexedQueue(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, un, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> { | |
class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> > m_queue; /* 0 152 */ | |
public: | |
bool empty(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char); | |
void add(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, class basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned char, unsigned char, class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char,); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, pop(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned int); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, pop(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char); | |
void pushResult(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, , unsigned int); | |
void ~RequestQueue(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, int); | |
void RequestQueue(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char); | |
/* size: 152, cachelines: 3, members: 1 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> : public MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> > { | |
public: | |
/* class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> > <ancestor>; */ /* 0 152 */ | |
void ~ResultQueue(class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char,, int); | |
void ResultQueue(class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char,); | |
/* size: 152, cachelines: 3, members: 1 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 152 != 0 + 0(holes), diff = 152 */ | |
}; | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> { | |
public: | |
class basic_string<char, std::char_traits<char>, std::allocator<char> > key; /* 0 32 */ | |
unsigned int item; /* 32 4 */ | |
struct pair<unsigned char, unsigned char> caller; /* 36 2 */ | |
void GetResult(class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u); | |
void GetResult(class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u, const class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned c); | |
void GetResult(class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u, ); | |
void ~GetResult(class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u, int); | |
/* size: 40, cachelines: 1, members: 3 */ | |
/* padding: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> > { | |
protected: | |
class deque<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char>, std::allocator<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> > > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns); | |
bool empty(const class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned in); | |
void push_back(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns, class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u pop_frontNoEx(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns, u32); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u pop_front(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns, u32); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u pop_frontNoEx(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u pop_back(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns, u32); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u pop_backNoEx(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns, u32); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, u pop_backNoEx(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns); | |
protected: | |
Mutex & getMutex(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns); | |
class deque<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned c getQueue(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns); | |
public: | |
void ~MutexedQueue(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, uns, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class CallerInfo<unsigned char, unsigned char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int> { | |
public: | |
unsigned char caller; /* 0 1 */ | |
unsigned char data; /* 1 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, dest; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 3 */ | |
/* sum members: 10, holes: 1, sum holes: 6 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class TextureSource : public IWritableTextureSource { | |
public: | |
/* class IWritableTextureSource <ancestor>; */ /* 0 8 */ | |
threadid_t m_main_thread; /* 8 8 */ | |
class IrrlichtDevice * m_device; /* 16 8 */ | |
class SourceImageCache m_sourcecache; /* 24 48 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> m_source_image_existence; /* 72 88 */ | |
/* --- cacheline 2 boundary (128 bytes) was 32 bytes ago --- */ | |
class vector<TextureInfo, std::allocator<TextureInfo> > m_textureinfo_cache; /* 160 24 */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int> > > m_name_to_id; /* 184 48 */ | |
/* --- cacheline 3 boundary (192 bytes) was 40 bytes ago --- */ | |
Mutex m_textureinfo_cache_mutex; /* 232 40 */ | |
/* --- cacheline 4 boundary (256 bytes) was 16 bytes ago --- */ | |
class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> m_get_texture_queue; /* 272 152 */ | |
/* --- cacheline 6 boundary (384 bytes) was 40 bytes ago --- */ | |
class vector<irr::video::ITexture*, std::allocator<irr::video::ITexture*> > m_texture_trash; /* 424 24 */ | |
/* --- cacheline 7 boundary (448 bytes) --- */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<irr::video::SColor, std::allocator<irr::video::SColor> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<irr::video::SColor, std::allocator<irr::video::SColor> > > > > m_palettes; /* 448 56 */ | |
bool m_setting_trilinear_filter; /* 504 1 */ | |
bool m_setting_bilinear_filter; /* 505 1 */ | |
bool m_setting_anisotropic_filter; /* 506 1 */ | |
void TextureSource(class TextureSource *, const class TextureSource &); | |
void TextureSource(class TextureSource *, class IrrlichtDevice *); | |
virtual void ~TextureSource(class TextureSource *, int); | |
virtual u32 getTextureId(class TextureSource *, const string &); | |
virtual string getTextureName(class TextureSource *, u32); | |
virtual class ITexture * getTexture(class TextureSource *, u32); | |
virtual class ITexture * getTexture(class TextureSource *, const string &, u32 *); | |
virtual class ITexture * getTextureForMesh(class TextureSource *, const string &, u32 *); | |
virtual Palette * getPalette(class TextureSource *, const string &); | |
virtual class IrrlichtDevice * getDevice(class TextureSource *); | |
virtual bool isKnownSourceImage(class TextureSource *, const string &); | |
virtual void processQueue(class TextureSource *); | |
virtual void insertSourceImage(class TextureSource *, const string &, class IImage *); | |
virtual void rebuildImagesAndTextures(class TextureSource *); | |
virtual class ITexture * generateTextureFromMesh(class TextureSource *, const class TextureFromMeshParams &); | |
virtual class ITexture * getNormalTexture(class TextureSource *, const string &); | |
virtual class SColor getTextureAverageColor(class TextureSource *, const string &); | |
virtual class ITexture * getShaderFlagsTexture(class TextureSource *, bool); | |
u32 generateTexture(class TextureSource *, const string &); | |
bool generateImagePart(class TextureSource *, string, class IImage * &); | |
class IImage * generateImage(class TextureSource *, const string &); | |
/* vtable has 15 entries: { | |
[3] = getTextureId((null)), | |
[4] = getTextureName((null)), | |
[5] = getTexture((null)), | |
[2] = getTexture((null)), | |
[6] = getTextureForMesh((null)), | |
[7] = getPalette((null)), | |
[8] = getDevice((null)), | |
[9] = isKnownSourceImage((null)), | |
[14] = processQueue((null)), | |
[15] = insertSourceImage((null)), | |
[16] = rebuildImagesAndTextures((null)), | |
[10] = generateTextureFromMesh((null)), | |
[11] = getNormalTexture((null)), | |
[12] = getTextureAverageColor((null)), | |
[13] = getShaderFlagsTexture((null)), | |
} */ | |
/* size: 512, cachelines: 8, members: 14 */ | |
/* padding: 5 */ | |
/* BRAIN FART ALERT! 512 != 499 + 0(holes), diff = 13 */ | |
}; | |
class IWritableTextureSource : public ITextureSource { | |
public: | |
/* class ITextureSource <ancestor>; */ /* 0 8 */ | |
void IWritableTextureSource(class IWritableTextureSource *, const class IWritableTextureSource &); | |
void IWritableTextureSource(class IWritableTextureSource *); | |
virtual void ~IWritableTextureSource(class IWritableTextureSource *, int); | |
virtual u32 getTextureId(class IWritableTextureSource *, const string &); | |
virtual string getTextureName(class IWritableTextureSource *, u32); | |
virtual class ITexture * getTexture(class IWritableTextureSource *, u32); | |
virtual class ITexture * getTexture(class IWritableTextureSource *, const string &, u32 *); | |
virtual class IrrlichtDevice * getDevice(class IWritableTextureSource *); | |
virtual bool isKnownSourceImage(class IWritableTextureSource *, const string &); | |
virtual class ITexture * generateTextureFromMesh(class IWritableTextureSource *, const class TextureFromMeshParams &); | |
virtual void processQueue(class IWritableTextureSource *); | |
virtual void insertSourceImage(class IWritableTextureSource *, const string &, class IImage *); | |
virtual void rebuildImagesAndTextures(class IWritableTextureSource *); | |
virtual class ITexture * getNormalTexture(class IWritableTextureSource *, const string &); | |
virtual class SColor getTextureAverageColor(class IWritableTextureSource *, const string &); | |
virtual class ITexture * getShaderFlagsTexture(class IWritableTextureSource *, bool); | |
/* vtable has 13 entries: { | |
[3] = getTextureId((null)), | |
[4] = getTextureName((null)), | |
[5] = getTexture((null)), | |
[2] = getTexture((null)), | |
[8] = getDevice((null)), | |
[9] = isKnownSourceImage((null)), | |
[10] = generateTextureFromMesh((null)), | |
[14] = processQueue((null)), | |
[15] = insertSourceImage((null)), | |
[16] = rebuildImagesAndTextures((null)), | |
[11] = getNormalTexture((null)), | |
[12] = getTextureAverageColor((null)), | |
[13] = getShaderFlagsTexture((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 8 != 0 + 0(holes), diff = 8 */ | |
}; | |
class ISimpleTextureSource { | |
public: | |
int ()(void) * * _vptr.ISimpleTextureSource; /* 0 8 */ | |
void ISimpleTextureSource(class ISimpleTextureSource *, const class ISimpleTextureSource &); | |
void ISimpleTextureSource(class ISimpleTextureSource *); | |
virtual void ~ISimpleTextureSource(class ISimpleTextureSource *, int); | |
virtual class ITexture * getTexture(class ISimpleTextureSource *, const string &, u32 *); | |
/* vtable has 1 entries: { | |
[2] = getTexture((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ItemNotFoundException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void ItemNotFoundException(class ItemNotFoundException *, ); | |
void ItemNotFoundException(class ItemNotFoundException *, const class ItemNotFoundException &); | |
void ItemNotFoundException(class ItemNotFoundException *, const string &); | |
virtual void ~ItemNotFoundException(class ItemNotFoundException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct FT_MemoryRec_ { | |
void * user; /* 0 8 */ | |
FT_Alloc_Func alloc; /* 8 8 */ | |
FT_Free_Func free; /* 16 8 */ | |
FT_Realloc_Func realloc; /* 24 8 */ | |
/* size: 32, cachelines: 1, members: 4 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct FT_StreamRec_ { | |
unsigned char * base; /* 0 8 */ | |
long unsigned int size; /* 8 8 */ | |
long unsigned int pos; /* 16 8 */ | |
FT_StreamDesc descriptor; /* 24 8 */ | |
FT_StreamDesc pathname; /* 32 8 */ | |
FT_Stream_IoFunc read; /* 40 8 */ | |
FT_Stream_CloseFunc close; /* 48 8 */ | |
FT_Memory memory; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
unsigned char * cursor; /* 64 8 */ | |
unsigned char * limit; /* 72 8 */ | |
/* size: 80, cachelines: 2, members: 10 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct FT_Vector_ { | |
FT_Pos x; /* 0 8 */ | |
FT_Pos y; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct FT_BBox_ { | |
FT_Pos xMin; /* 0 8 */ | |
FT_Pos yMin; /* 8 8 */ | |
FT_Pos xMax; /* 16 8 */ | |
FT_Pos yMax; /* 24 8 */ | |
/* size: 32, cachelines: 1, members: 4 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct FT_Bitmap_ { | |
unsigned int rows; /* 0 4 */ | |
unsigned int width; /* 4 4 */ | |
int pitch; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
unsigned char * buffer; /* 16 8 */ | |
short unsigned int num_grays; /* 24 2 */ | |
unsigned char pixel_mode; /* 26 1 */ | |
unsigned char palette_mode; /* 27 1 */ | |
/* XXX 4 bytes hole, try to pack */ | |
void * palette; /* 32 8 */ | |
/* size: 40, cachelines: 1, members: 8 */ | |
/* sum members: 32, holes: 2, sum holes: 8 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct FT_Outline_ { | |
short int n_contours; /* 0 2 */ | |
short int n_points; /* 2 2 */ | |
/* XXX 4 bytes hole, try to pack */ | |
FT_Vector * points; /* 8 8 */ | |
char * tags; /* 16 8 */ | |
short int * contours; /* 24 8 */ | |
int flags; /* 32 4 */ | |
/* size: 40, cachelines: 1, members: 6 */ | |
/* sum members: 32, holes: 1, sum holes: 4 */ | |
/* padding: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct FT_Generic_ { | |
void * data; /* 0 8 */ | |
FT_Generic_Finalizer finalizer; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct FT_ListNodeRec_ { | |
FT_ListNode prev; /* 0 8 */ | |
FT_ListNode next; /* 8 8 */ | |
void * data; /* 16 8 */ | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct FT_ListRec_ { | |
FT_ListNode head; /* 0 8 */ | |
FT_ListNode tail; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct FT_Glyph_Metrics_ { | |
FT_Pos width; /* 0 8 */ | |
FT_Pos height; /* 8 8 */ | |
FT_Pos horiBearingX; /* 16 8 */ | |
FT_Pos horiBearingY; /* 24 8 */ | |
FT_Pos horiAdvance; /* 32 8 */ | |
FT_Pos vertBearingX; /* 40 8 */ | |
FT_Pos vertBearingY; /* 48 8 */ | |
FT_Pos vertAdvance; /* 56 8 */ | |
/* size: 64, cachelines: 1, members: 8 */ | |
}; | |
struct FT_Bitmap_Size_ { | |
FT_Short height; /* 0 2 */ | |
FT_Short width; /* 2 2 */ | |
/* XXX 4 bytes hole, try to pack */ | |
FT_Pos size; /* 8 8 */ | |
FT_Pos x_ppem; /* 16 8 */ | |
FT_Pos y_ppem; /* 24 8 */ | |
/* size: 32, cachelines: 1, members: 5 */ | |
/* sum members: 28, holes: 1, sum holes: 4 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct FT_FaceRec_ { | |
FT_Long num_faces; /* 0 8 */ | |
FT_Long face_index; /* 8 8 */ | |
FT_Long face_flags; /* 16 8 */ | |
FT_Long style_flags; /* 24 8 */ | |
FT_Long num_glyphs; /* 32 8 */ | |
FT_String * family_name; /* 40 8 */ | |
FT_String * style_name; /* 48 8 */ | |
FT_Int num_fixed_sizes; /* 56 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
FT_Bitmap_Size * available_sizes; /* 64 8 */ | |
FT_Int num_charmaps; /* 72 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
FT_CharMap * charmaps; /* 80 8 */ | |
FT_Generic generic; /* 88 16 */ | |
FT_BBox bbox; /* 104 32 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
FT_UShort units_per_EM; /* 136 2 */ | |
FT_Short ascender; /* 138 2 */ | |
FT_Short descender; /* 140 2 */ | |
FT_Short height; /* 142 2 */ | |
FT_Short max_advance_width; /* 144 2 */ | |
FT_Short max_advance_height; /* 146 2 */ | |
FT_Short underline_position; /* 148 2 */ | |
FT_Short underline_thickness; /* 150 2 */ | |
FT_GlyphSlot glyph; /* 152 8 */ | |
FT_Size size; /* 160 8 */ | |
FT_CharMap charmap; /* 168 8 */ | |
FT_Driver driver; /* 176 8 */ | |
FT_Memory memory; /* 184 8 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
FT_Stream stream; /* 192 8 */ | |
FT_ListRec sizes_list; /* 200 16 */ | |
FT_Generic autohint; /* 216 16 */ | |
void * extensions; /* 232 8 */ | |
FT_Face_Internal internal; /* 240 8 */ | |
/* size: 248, cachelines: 4, members: 31 */ | |
/* sum members: 240, holes: 2, sum holes: 8 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct FT_SizeRec_ { | |
FT_Face face; /* 0 8 */ | |
FT_Generic generic; /* 8 16 */ | |
FT_Size_Metrics metrics; /* 24 56 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
FT_Size_Internal internal; /* 80 8 */ | |
/* size: 88, cachelines: 2, members: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct FT_GlyphSlotRec_ { | |
FT_Library library; /* 0 8 */ | |
FT_Face face; /* 8 8 */ | |
FT_GlyphSlot next; /* 16 8 */ | |
FT_UInt reserved; /* 24 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
FT_Generic generic; /* 32 16 */ | |
FT_Glyph_Metrics metrics; /* 48 64 */ | |
/* --- cacheline 1 boundary (64 bytes) was 48 bytes ago --- */ | |
FT_Fixed linearHoriAdvance; /* 112 8 */ | |
FT_Fixed linearVertAdvance; /* 120 8 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
FT_Vector advance; /* 128 16 */ | |
FT_Glyph_Format format; /* 144 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
FT_Bitmap bitmap; /* 152 40 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
FT_Int bitmap_left; /* 192 4 */ | |
FT_Int bitmap_top; /* 196 4 */ | |
FT_Outline outline; /* 200 40 */ | |
FT_UInt num_subglyphs; /* 240 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
FT_SubGlyph subglyphs; /* 248 8 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
void * control_data; /* 256 8 */ | |
long int control_len; /* 264 8 */ | |
FT_Pos lsb_delta; /* 272 8 */ | |
FT_Pos rsb_delta; /* 280 8 */ | |
void * other; /* 288 8 */ | |
FT_Slot_Internal internal; /* 296 8 */ | |
/* size: 304, cachelines: 5, members: 22 */ | |
/* sum members: 292, holes: 3, sum holes: 12 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct FT_CharMapRec_ { | |
FT_Face face; /* 0 8 */ | |
FT_Encoding encoding; /* 8 4 */ | |
FT_UShort platform_id; /* 12 2 */ | |
FT_UShort encoding_id; /* 14 2 */ | |
/* size: 16, cachelines: 1, members: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct FT_Size_Metrics_ { | |
FT_UShort x_ppem; /* 0 2 */ | |
FT_UShort y_ppem; /* 2 2 */ | |
/* XXX 4 bytes hole, try to pack */ | |
FT_Fixed x_scale; /* 8 8 */ | |
FT_Fixed y_scale; /* 16 8 */ | |
FT_Pos ascender; /* 24 8 */ | |
FT_Pos descender; /* 32 8 */ | |
FT_Pos height; /* 40 8 */ | |
FT_Pos max_advance; /* 48 8 */ | |
/* size: 56, cachelines: 1, members: 8 */ | |
/* sum members: 52, holes: 1, sum holes: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class NetworkPacket { | |
class vector<unsigned char, std::allocator<unsigned char> > m_data; /* 0 24 */ | |
u32 m_datasize; /* 24 4 */ | |
u32 m_read_offset; /* 28 4 */ | |
u16 m_command; /* 32 2 */ | |
u16 m_peer_id; /* 34 2 */ | |
public: | |
void NetworkPacket(class NetworkPacket *, u16, u32, u16); | |
void NetworkPacket(class NetworkPacket *, u16, u32); | |
void NetworkPacket(class NetworkPacket *); | |
void ~NetworkPacket(class NetworkPacket *, int); | |
void putRawPacket(class NetworkPacket *, u8 *, u32, u16); | |
u32 getSize(class NetworkPacket *); | |
u16 getPeerId(class NetworkPacket *); | |
u16 getCommand(class NetworkPacket *); | |
u32const getRemainingBytes(const class NetworkPacket *); | |
const char * getRemainingString(class NetworkPacket *); | |
const char * getString(class NetworkPacket *, u32); | |
void putRawString(class NetworkPacket *, const char *, u32); | |
void putRawString(class NetworkPacket *, const string &); | |
class NetworkPacket & operator>>(class NetworkPacket *, string &); | |
class NetworkPacket & operator<<(class NetworkPacket *, const string &); | |
void putLongString(class NetworkPacket *, const string &); | |
class NetworkPacket & operator>>(class NetworkPacket *, wstring &); | |
class NetworkPacket & operator<<(class NetworkPacket *, const wstring &); | |
string readLongString(class NetworkPacket *); | |
char getChar(class NetworkPacket *, u32); | |
class NetworkPacket & operator>>(class NetworkPacket *, char &); | |
class NetworkPacket & operator<<(class NetworkPacket *, char); | |
class NetworkPacket & operator>>(class NetworkPacket *, bool &); | |
class NetworkPacket & operator<<(class NetworkPacket *, bool); | |
u8 getU8(class NetworkPacket *, u32); | |
class NetworkPacket & operator>>(class NetworkPacket *, u8 &); | |
class NetworkPacket & operator<<(class NetworkPacket *, u8); | |
u8 * getU8Ptr(class NetworkPacket *, u32); | |
u16 getU16(class NetworkPacket *, u32); | |
class NetworkPacket & operator>>(class NetworkPacket *, u16 &); | |
class NetworkPacket & operator<<(class NetworkPacket *, u16); | |
class NetworkPacket & operator>>(class NetworkPacket *, u32 &); | |
class NetworkPacket & operator<<(class NetworkPacket *, u32); | |
class NetworkPacket & operator>>(class NetworkPacket *, u64 &); | |
class NetworkPacket & operator<<(class NetworkPacket *, u64); | |
class NetworkPacket & operator>>(class NetworkPacket *, float &); | |
class NetworkPacket & operator<<(class NetworkPacket *, float); | |
class NetworkPacket & operator>>(class NetworkPacket *, v2f &); | |
class NetworkPacket & operator<<(class NetworkPacket *, v2f); | |
class NetworkPacket & operator>>(class NetworkPacket *, v3f &); | |
class NetworkPacket & operator<<(class NetworkPacket *, v3f); | |
class NetworkPacket & operator>>(class NetworkPacket *, s16 &); | |
class NetworkPacket & operator<<(class NetworkPacket *, s16); | |
class NetworkPacket & operator>>(class NetworkPacket *, s32 &); | |
class NetworkPacket & operator<<(class NetworkPacket *, s32); | |
class NetworkPacket & operator>>(class NetworkPacket *, v2s32 &); | |
class NetworkPacket & operator<<(class NetworkPacket *, v2s32); | |
class NetworkPacket & operator>>(class NetworkPacket *, v3s16 &); | |
class NetworkPacket & operator<<(class NetworkPacket *, v3s16); | |
class NetworkPacket & operator>>(class NetworkPacket *, v3s32 &); | |
class NetworkPacket & operator<<(class NetworkPacket *, v3s32); | |
class NetworkPacket & operator>>(class NetworkPacket *, class SColor &); | |
class NetworkPacket & operator<<(class NetworkPacket *, class SColor); | |
class Buffer<unsigned char> oldForgePacket(class NetworkPacket *); | |
void checkReadOffset(class NetworkPacket *, u32, u32); | |
void checkDataSize(class NetworkPacket *, u32); | |
/* size: 40, cachelines: 1, members: 5 */ | |
/* padding: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct ToClientCommandHandler { | |
const char * name; /* 0 8 */ | |
enum ToClientConnectionState state; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
struct { | |
void (*__pfn)(class Client *, class NetworkPacket *); /* 16 8 */ | |
long int __delta; /* 24 8 */ | |
} handler; /* 16 16 */ | |
/* size: 32, cachelines: 1, members: 3 */ | |
/* sum members: 28, holes: 1, sum holes: 4 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct ServerCommandFactory { | |
const char * name; /* 0 8 */ | |
u8 channel; /* 8 1 */ | |
bool reliable; /* 9 1 */ | |
/* size: 16, cachelines: 1, members: 3 */ | |
/* padding: 6 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct SimpleSoundSpec { | |
string name; /* 0 32 */ | |
float gain; /* 32 4 */ | |
void SimpleSoundSpec(class SimpleSoundSpec *, const string &, float); | |
bool exists(const class SimpleSoundSpec *); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct TileLayer { | |
class ITexture * texture; /* 0 8 */ | |
u32 texture_id; /* 8 4 */ | |
class SColor color; /* 12 4 */ | |
u8 material_type; /* 16 1 */ | |
u8 material_flags; /* 17 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
u32 shader_id; /* 20 4 */ | |
class ITexture * normal_texture; /* 24 8 */ | |
class ITexture * flags_texture; /* 32 8 */ | |
u16 animation_frame_length_ms; /* 40 2 */ | |
u8 animation_frame_count; /* 42 1 */ | |
bool has_color; /* 43 1 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<FrameSpec, std::allocator<FrameSpec> > frames; /* 48 24 */ | |
void TileLayer(class TileLayer *); | |
bool operator==(const class TileLayer *, const class TileLayer &); | |
bool operator!=(const class TileLayer *, const class TileLayer &); | |
void applyMaterialOptions(const class TileLayer *, class SMaterial &); | |
void applyMaterialOptionsWithShaders(const class TileLayer *, class SMaterial &); | |
bool isTileable(const class TileLayer *); | |
/* size: 72, cachelines: 2, members: 12 */ | |
/* sum members: 66, holes: 2, sum holes: 6 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct TileSpec { | |
u8 rotation; /* 0 1 */ | |
u8 emissive_light; /* 1 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
struct TileLayer layers[2]; /* 8 144 */ | |
void TileSpec(class TileSpec *); | |
bool isTileable(const class TileSpec *, const class TileSpec &); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* sum members: 146, holes: 1, sum holes: 6 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct ItemDefinition { | |
enum ItemType type; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string name; /* 8 32 */ | |
string description; /* 40 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
string inventory_image; /* 72 32 */ | |
string wield_image; /* 104 32 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
string palette_image; /* 136 32 */ | |
class SColor color; /* 168 4 */ | |
v3f wield_scale; /* 172 12 */ | |
u16 stack_max; /* 184 2 */ | |
bool usable; /* 186 1 */ | |
bool liquids_pointable; /* 187 1 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
class ToolCapabilities * tool_capabilities; /* 192 8 */ | |
ItemGroupList groups; /* 200 56 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
struct SimpleSoundSpec sound_place; /* 256 40 */ | |
/* XXX last struct has 4 bytes of padding */ | |
struct SimpleSoundSpec sound_place_failed; /* 296 40 */ | |
/* XXX last struct has 4 bytes of padding */ | |
/* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */ | |
f32 range; /* 336 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string node_placement_prediction; /* 344 32 */ | |
void ItemDefinition(class ItemDefinition *); | |
void ItemDefinition(class ItemDefinition *, const class ItemDefinition &); | |
class ItemDefinition & operator=(class ItemDefinition *, const class ItemDefinition &); | |
void ~ItemDefinition(class ItemDefinition *, int); | |
void reset(class ItemDefinition *); | |
void serialize(const class ItemDefinition *, ostream &, u16); | |
void deSerialize(class ItemDefinition *, istream &); | |
private: | |
void resetInitial(class ItemDefinition *); | |
/* size: 376, cachelines: 6, members: 17 */ | |
/* sum members: 364, holes: 3, sum holes: 12 */ | |
/* paddings: 2, sum paddings: 8 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct ItemStack { | |
string name; /* 0 32 */ | |
u16 count; /* 32 2 */ | |
u16 wear; /* 34 2 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class ItemStackMetadata metadata; /* 40 64 */ | |
/* XXX last struct has 64 bytes of padding */ | |
void ItemStack(class ItemStack *); | |
void ItemStack(class ItemStack *, const string &, u16, u16, class IItemDefManager *); | |
void ~ItemStack(class ItemStack *, int); | |
void serialize(const class ItemStack *, ostream &); | |
void deSerialize(class ItemStack *, istream &, class IItemDefManager *); | |
void deSerialize(class ItemStack *, const string &, class IItemDefManager *); | |
string getItemString(const class ItemStack *); | |
bool empty(const class ItemStack *); | |
void clear(class ItemStack *); | |
void add(class ItemStack *, u16); | |
void remove(class ItemStack *, u16); | |
u16 getStackMax(const class ItemStack *, class IItemDefManager *); | |
u16 freeSpace(const class ItemStack *, class IItemDefManager *); | |
bool isKnown(const class ItemStack *, class IItemDefManager *); | |
const class ItemDefinition & getDefinition(const class ItemStack *, class IItemDefManager *); | |
const class ToolCapabilities & getToolCapabilities(const class ItemStack *, class IItemDefManager *); | |
bool addWear(class ItemStack *, s32, class IItemDefManager *); | |
class ItemStack addItem(class ItemStack *, const class ItemStack &, class IItemDefManager *); | |
bool itemFits(const class ItemStack *, const class ItemStack &, class ItemStack *, class IItemDefManager *); | |
class ItemStack takeItem(class ItemStack *, u32); | |
class ItemStack peekItem(const class ItemStack *, u32); | |
/* size: 104, cachelines: 2, members: 4 */ | |
/* sum members: 100, holes: 1, sum holes: 4 */ | |
/* paddings: 1, sum paddings: 64 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class ItemStackMetadata : public Metadata { | |
public: | |
/* class Metadata <ancestor>; */ /* 0 0 */ | |
void ItemStackMetadata(class ItemStackMetadata *, ); | |
void ItemStackMetadata(class ItemStackMetadata *, const class ItemStackMetadata &); | |
void ItemStackMetadata(class ItemStackMetadata *); | |
void serialize(const class ItemStackMetadata *, ostream &); | |
void deSerialize(class ItemStackMetadata *, istream &); | |
virtual void ~ItemStackMetadata(class ItemStackMetadata *, int); | |
/* size: 64, cachelines: 1, members: 1 */ | |
/* padding: 64 */ | |
}; | |
class IItemDefManager { | |
public: | |
int ()(void) * * _vptr.IItemDefManager; /* 0 8 */ | |
void IItemDefManager(class IItemDefManager *, const class IItemDefManager &); | |
void IItemDefManager(class IItemDefManager *); | |
virtual void ~IItemDefManager(class IItemDefManager *, int); | |
virtual const class ItemDefinition & get(const class IItemDefManager *, const string &); | |
virtual const string & getAlias(const class IItemDefManager *, const string &); | |
virtual void getAll(const class IItemDefManager *, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string); | |
virtual bool isKnown(const class IItemDefManager *, const string &); | |
virtual class ITexture * getInventoryTexture(const class IItemDefManager *, const string &, class Client *); | |
virtual class ItemMesh * getWieldMesh(const class IItemDefManager *, const string &, class Client *); | |
virtual Palette * getPalette(const class IItemDefManager *, const string &, class Client *); | |
virtual class SColor getItemstackColor(const class IItemDefManager *, const class ItemStack &, class Client *); | |
virtual void serialize(class IItemDefManager *, ostream &, u16); | |
/* vtable has 9 entries: { | |
[2] = get((null)), | |
[3] = getAlias((null)), | |
[4] = getAll((null)), | |
[5] = isKnown((null)), | |
[6] = getInventoryTexture((null)), | |
[7] = getWieldMesh((null)), | |
[8] = getPalette((null)), | |
[9] = getItemstackColor((null)), | |
[10] = serialize((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class InventoryList { | |
class vector<ItemStack, std::allocator<ItemStack> > m_items; /* 0 24 */ | |
string m_name; /* 24 32 */ | |
u32 m_size; /* 56 4 */ | |
u32 m_width; /* 60 4 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class IItemDefManager * m_itemdef; /* 64 8 */ | |
public: | |
void InventoryList(class InventoryList *, const string &, u32, class IItemDefManager *); | |
void ~InventoryList(class InventoryList *, int); | |
void clearItems(class InventoryList *); | |
void setSize(class InventoryList *, u32); | |
void setWidth(class InventoryList *, u32); | |
void setName(class InventoryList *, const string &); | |
void serialize(const class InventoryList *, ostream &); | |
void deSerialize(class InventoryList *, istream &); | |
void InventoryList(class InventoryList *, const class InventoryList &); | |
class InventoryList & operator=(class InventoryList *, const class InventoryList &); | |
bool operator==(const class InventoryList *, const class InventoryList &); | |
bool operator!=(const class InventoryList *, const class InventoryList &); | |
const string & getName(const class InventoryList *); | |
u32 getSize(const class InventoryList *); | |
u32 getWidth(const class InventoryList *); | |
u32 getUsedSlots(const class InventoryList *); | |
u32 getFreeSlots(const class InventoryList *); | |
const class ItemStack & getItem(const class InventoryList *, u32); | |
class ItemStack & getItem(class InventoryList *, u32); | |
class ItemStack changeItem(class InventoryList *, u32, const class ItemStack &); | |
void deleteItem(class InventoryList *, u32); | |
class ItemStack addItem(class InventoryList *, const class ItemStack &); | |
class ItemStack addItem(class InventoryList *, u32, const class ItemStack &); | |
bool itemFits(const class InventoryList *, u32, const class ItemStack &, class ItemStack *); | |
bool roomForItem(const class InventoryList *, const class ItemStack &); | |
bool containsItem(const class InventoryList *, const class ItemStack &); | |
class ItemStack removeItem(class InventoryList *, const class ItemStack &); | |
class ItemStack takeItem(class InventoryList *, u32, u32); | |
u32 moveItem(class InventoryList *, u32, class InventoryList *, u32, u32, bool, bool *); | |
void moveItemSomewhere(class InventoryList *, u32, class InventoryList *, u32); | |
/* size: 72, cachelines: 2, members: 5 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class Inventory { | |
class vector<InventoryList*, std::allocator<InventoryList*> > m_lists; /* 0 24 */ | |
class IItemDefManager * m_itemdef; /* 24 8 */ | |
bool m_dirty; /* 32 1 */ | |
public: | |
void ~Inventory(class Inventory *, int); | |
void clear(class Inventory *); | |
void clearContents(class Inventory *); | |
void Inventory(class Inventory *, class IItemDefManager *); | |
void Inventory(class Inventory *, const class Inventory &); | |
class Inventory & operator=(class Inventory *, const class Inventory &); | |
bool operator==(const class Inventory *, const class Inventory &); | |
bool operator!=(const class Inventory *, const class Inventory &); | |
void serialize(const class Inventory *, ostream &); | |
void deSerialize(class Inventory *, istream &); | |
class InventoryList * addList(class Inventory *, const string &, u32); | |
class InventoryList * getList(class Inventory *, const string &); | |
const class InventoryList * getList(const class Inventory *, const string &); | |
class vector<const InventoryList*, std::allocator<const InventoryList*> > getLists(class Inventory *); | |
bool deleteList(class Inventory *, const string &); | |
class ItemStack addItem(class Inventory *, const string &, const class ItemStack &); | |
bool checkModified(const class Inventory *); | |
void setModified(class Inventory *, bool); | |
s32const getListIndex(const class Inventory *, const string &); | |
/* size: 40, cachelines: 1, members: 3 */ | |
/* padding: 7 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct TileAnimationParams { | |
union { | |
struct { | |
int aspect_w; /* 0 4 */ | |
int aspect_h; /* 4 4 */ | |
float length; /* 8 4 */ | |
} vertical_frames; /* 12 */ | |
struct { | |
int frames_w; /* 0 4 */ | |
int frames_h; /* 4 4 */ | |
float frame_length; /* 8 4 */ | |
} sheet_2d; /* 12 */ | |
}; | |
enum TileAnimationType type; /* 0 4 */ | |
union { | |
struct { | |
int aspect_w; /* 4 4 */ | |
int aspect_h; /* 8 4 */ | |
float length; /* 12 4 */ | |
} vertical_frames; /* 12 */ | |
struct { | |
int frames_w; /* 4 4 */ | |
int frames_h; /* 8 4 */ | |
float frame_length; /* 12 4 */ | |
} sheet_2d; /* 12 */ | |
}; /* 4 12 */ | |
void serialize(const class TileAnimationParams *, ostream &, u16); | |
void deSerialize(class TileAnimationParams *, istream &, u16); | |
void determineParams(const class TileAnimationParams *, v2u32, int *, int *, v2u32 *); | |
void getTextureModifer(const class TileAnimationParams *, ostream &, v2u32, int); | |
v2f getTextureCoords(const class TileAnimationParams *, v2u32, int); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct ClientEvent { | |
union { | |
struct { | |
u8 amount; /* 0 1 */ | |
} player_damage; /* 1 */ | |
struct { | |
f32 pitch; /* 0 4 */ | |
f32 yaw; /* 4 4 */ | |
} player_force_move; /* 8 */ | |
struct { | |
bool set_camera_point_target; /* 0 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
f32 camera_point_target_x; /* 4 4 */ | |
f32 camera_point_target_y; /* 8 4 */ | |
f32 camera_point_target_z; /* 12 4 */ | |
} deathscreen; /* 16 */ | |
struct { | |
string * formspec; /* 0 8 */ | |
string * formname; /* 8 8 */ | |
} show_formspec; /* 16 */ | |
struct { | |
v3f * pos; /* 0 8 */ | |
v3f * vel; /* 8 8 */ | |
v3f * acc; /* 16 8 */ | |
f32 expirationtime; /* 24 4 */ | |
f32 size; /* 28 4 */ | |
bool collisiondetection; /* 32 1 */ | |
bool collision_removal; /* 33 1 */ | |
bool vertical; /* 34 1 */ | |
/* XXX 5 bytes hole, try to pack */ | |
string * texture; /* 40 8 */ | |
struct TileAnimationParams animation; /* 48 16 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
u8 glow; /* 64 1 */ | |
} spawn_particle; /* 72 */ | |
struct { | |
u16 amount; /* 0 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
f32 spawntime; /* 4 4 */ | |
v3f * minpos; /* 8 8 */ | |
v3f * maxpos; /* 16 8 */ | |
v3f * minvel; /* 24 8 */ | |
v3f * maxvel; /* 32 8 */ | |
v3f * minacc; /* 40 8 */ | |
v3f * maxacc; /* 48 8 */ | |
f32 minexptime; /* 56 4 */ | |
f32 maxexptime; /* 60 4 */ | |
f32 minsize; /* 64 4 */ | |
f32 maxsize; /* 68 4 */ | |
bool collisiondetection; /* 72 1 */ | |
bool collision_removal; /* 73 1 */ | |
u16 attached_id; /* 74 2 */ | |
bool vertical; /* 76 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
string * texture; /* 80 8 */ | |
u32 id; /* 88 4 */ | |
struct TileAnimationParams animation; /* 92 16 */ | |
u8 glow; /* 108 1 */ | |
} add_particlespawner; /* 112 */ | |
struct { | |
u32 id; /* 0 4 */ | |
} delete_particlespawner; /* 4 */ | |
struct { | |
u32 id; /* 0 4 */ | |
u8 type; /* 4 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
v2f * pos; /* 8 8 */ | |
string * name; /* 16 8 */ | |
v2f * scale; /* 24 8 */ | |
string * text; /* 32 8 */ | |
u32 number; /* 40 4 */ | |
u32 item; /* 44 4 */ | |
u32 dir; /* 48 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
v2f * align; /* 56 8 */ | |
v2f * offset; /* 64 8 */ | |
v3f * world_pos; /* 72 8 */ | |
v2s32 * size; /* 80 8 */ | |
} hudadd; /* 88 */ | |
struct { | |
u32 id; /* 0 4 */ | |
} hudrm; /* 4 */ | |
struct { | |
u32 id; /* 0 4 */ | |
enum HudElementStat stat; /* 4 4 */ | |
v2f * v2fdata; /* 8 8 */ | |
string * sdata; /* 16 8 */ | |
u32 data; /* 24 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
v3f * v3fdata; /* 32 8 */ | |
v2s32 * v2s32data; /* 40 8 */ | |
} hudchange; /* 48 */ | |
struct { | |
class SColor * bgcolor; /* 0 8 */ | |
string * type; /* 8 8 */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi params; /* 16 8 */ | |
} set_sky; /* 24 */ | |
struct { | |
bool do_override; /* 0 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float ratio_f; /* 4 4 */ | |
} override_day_night_ratio; /* 8 */ | |
}; | |
enum ClientEventType type; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
union { | |
struct { | |
u8 amount; /* 8 1 */ | |
} player_damage; /* 1 */ | |
struct { | |
f32 pitch; /* 8 4 */ | |
f32 yaw; /* 12 4 */ | |
} player_force_move; /* 8 */ | |
struct { | |
bool set_camera_point_target; /* 8 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
f32 camera_point_target_x; /* 12 4 */ | |
f32 camera_point_target_y; /* 16 4 */ | |
f32 camera_point_target_z; /* 20 4 */ | |
} deathscreen; /* 16 */ | |
struct { | |
string * formspec; /* 8 8 */ | |
string * formname; /* 16 8 */ | |
} show_formspec; /* 16 */ | |
struct { | |
v3f * pos; /* 8 8 */ | |
v3f * vel; /* 16 8 */ | |
v3f * acc; /* 24 8 */ | |
f32 expirationtime; /* 32 4 */ | |
f32 size; /* 36 4 */ | |
bool collisiondetection; /* 40 1 */ | |
bool collision_removal; /* 41 1 */ | |
bool vertical; /* 42 1 */ | |
/* XXX 5 bytes hole, try to pack */ | |
string * texture; /* 48 8 */ | |
struct TileAnimationParams animation; /* 56 16 */ | |
u8 glow; /* 72 1 */ | |
} spawn_particle; /* 72 */ | |
struct { | |
u16 amount; /* 8 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
f32 spawntime; /* 12 4 */ | |
v3f * minpos; /* 16 8 */ | |
v3f * maxpos; /* 24 8 */ | |
v3f * minvel; /* 32 8 */ | |
v3f * maxvel; /* 40 8 */ | |
v3f * minacc; /* 48 8 */ | |
v3f * maxacc; /* 56 8 */ | |
f32 minexptime; /* 64 4 */ | |
f32 maxexptime; /* 68 4 */ | |
f32 minsize; /* 72 4 */ | |
f32 maxsize; /* 76 4 */ | |
bool collisiondetection; /* 80 1 */ | |
bool collision_removal; /* 81 1 */ | |
u16 attached_id; /* 82 2 */ | |
bool vertical; /* 84 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
string * texture; /* 88 8 */ | |
u32 id; /* 96 4 */ | |
struct TileAnimationParams animation; /* 100 16 */ | |
u8 glow; /* 116 1 */ | |
} add_particlespawner; /* 112 */ | |
struct { | |
u32 id; /* 8 4 */ | |
} delete_particlespawner; /* 4 */ | |
struct { | |
u32 id; /* 8 4 */ | |
u8 type; /* 12 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
v2f * pos; /* 16 8 */ | |
string * name; /* 24 8 */ | |
v2f * scale; /* 32 8 */ | |
string * text; /* 40 8 */ | |
u32 number; /* 48 4 */ | |
u32 item; /* 52 4 */ | |
u32 dir; /* 56 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
v2f * align; /* 64 8 */ | |
v2f * offset; /* 72 8 */ | |
v3f * world_pos; /* 80 8 */ | |
v2s32 * size; /* 88 8 */ | |
} hudadd; /* 88 */ | |
struct { | |
u32 id; /* 8 4 */ | |
} hudrm; /* 4 */ | |
struct { | |
u32 id; /* 8 4 */ | |
enum HudElementStat stat; /* 12 4 */ | |
v2f * v2fdata; /* 16 8 */ | |
string * sdata; /* 24 8 */ | |
u32 data; /* 32 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
v3f * v3fdata; /* 40 8 */ | |
v2s32 * v2s32data; /* 48 8 */ | |
} hudchange; /* 48 */ | |
struct { | |
class SColor * bgcolor; /* 8 8 */ | |
string * type; /* 16 8 */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi params; /* 24 8 */ | |
} set_sky; /* 24 */ | |
struct { | |
bool do_override; /* 8 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float ratio_f; /* 12 4 */ | |
} override_day_night_ratio; /* 8 */ | |
}; /* 8 112 */ | |
/* size: 120, cachelines: 2, members: 2 */ | |
/* sum members: 116, holes: 1, sum holes: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct MapNode { | |
u16 param0; /* 0 2 */ | |
u8 param1; /* 2 1 */ | |
u8 param2; /* 3 1 */ | |
void MapNode(class MapNode *); | |
void MapNode(class MapNode *, content_t, u8, u8); | |
void MapNode(class MapNode *, class INodeDefManager *, const string &, u8, u8); | |
bool operator==(class MapNode *, const class MapNode &); | |
content_t getContent(const class MapNode *); | |
void setContent(class MapNode *, content_t); | |
u8 getParam1(const class MapNode *); | |
void setParam1(class MapNode *, u8); | |
u8 getParam2(const class MapNode *); | |
void setParam2(class MapNode *, u8); | |
void getColor(const class MapNode *, const class ContentFeatures &, class SColor *); | |
void setLight(class MapNode *, enum LightBank, u8, const class ContentFeatures &); | |
void setLight(class MapNode *, enum LightBank, u8, class INodeDefManager *); | |
bool isLightDayNightEq(const class MapNode *, class INodeDefManager *); | |
u8 getLight(const class MapNode *, enum LightBank, class INodeDefManager *); | |
u8 getLightRaw(const class MapNode *, enum LightBank, const class ContentFeatures &); | |
u8 getLightNoChecks(const class MapNode *, enum LightBank, const class ContentFeatures *); | |
bool getLightBanks(const class MapNode *, u8 &, u8 &, class INodeDefManager *); | |
u8 getLightBlend(const class MapNode *, u32, class INodeDefManager *); | |
u8 getFaceDir(const class MapNode *, class INodeDefManager *); | |
u8 getWallMounted(const class MapNode *, class INodeDefManager *); | |
v3s16 getWallMountedDir(const class MapNode *, class INodeDefManager *); | |
void rotateAlongYAxis(class MapNode *, class INodeDefManager *, enum Rotation); | |
u8 getNeighbors(class MapNode *, v3s16, class Map *); | |
void getNodeBoxes(class MapNode *, class INodeDefManager *, class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > *, u8); | |
void getSelectionBoxes(class MapNode *, class INodeDefManager *, class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > *, u8); | |
void getCollisionBoxes(class MapNode *, class INodeDefManager *, class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > *, u8); | |
u8 getMaxLevel(const class MapNode *, class INodeDefManager *); | |
u8 getLevel(const class MapNode *, class INodeDefManager *); | |
u8 setLevel(class MapNode *, class INodeDefManager *, s8); | |
u8 addLevel(class MapNode *, class INodeDefManager *, s8); | |
u32 serializedLength(u8); | |
void serialize(class MapNode *, u8 *, u8); | |
void deSerialize(class MapNode *, u8 *, u8); | |
void serializeBulk(ostream &, int, const class MapNode *, u32, u8, u8, bool); | |
void deSerializeBulk(istream &, int, class MapNode *, u32, u8, u8, bool); | |
private: | |
void deSerialize_pre22(class MapNode *, u8 *, u8); | |
/* size: 4, cachelines: 1, members: 3 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
struct ContentFeatures { | |
struct TileSpec tiles[6]; /* 0 912 */ | |
/* --- cacheline 14 boundary (896 bytes) was 16 bytes ago --- */ | |
struct TileSpec special_tiles[6]; /* 912 912 */ | |
/* --- cacheline 28 boundary (1792 bytes) was 32 bytes ago --- */ | |
u8 solidness; /* 1824 1 */ | |
u8 visual_solidness; /* 1825 1 */ | |
bool backface_culling; /* 1826 1 */ | |
bool has_on_construct; /* 1827 1 */ | |
bool has_on_destruct; /* 1828 1 */ | |
bool has_after_destruct; /* 1829 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
string name; /* 1832 32 */ | |
/* --- cacheline 29 boundary (1856 bytes) was 8 bytes ago --- */ | |
ItemGroupList groups; /* 1864 56 */ | |
/* --- cacheline 30 boundary (1920 bytes) --- */ | |
enum ContentParamType param_type; /* 1920 4 */ | |
enum ContentParamType2 param_type_2; /* 1924 4 */ | |
enum NodeDrawType drawtype; /* 1928 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string mesh; /* 1936 32 */ | |
class IMesh * mesh_ptr[24]; /* 1968 192 */ | |
/* --- cacheline 33 boundary (2112 bytes) was 48 bytes ago --- */ | |
class SColor minimap_color; /* 2160 4 */ | |
float visual_scale; /* 2164 4 */ | |
struct TileDef tiledef[6]; /* 2168 336 */ | |
/* --- cacheline 39 boundary (2496 bytes) was 8 bytes ago --- */ | |
struct TileDef tiledef_overlay[6]; /* 2504 336 */ | |
/* --- cacheline 44 boundary (2816 bytes) was 24 bytes ago --- */ | |
struct TileDef tiledef_special[6]; /* 2840 336 */ | |
/* --- cacheline 49 boundary (3136 bytes) was 40 bytes ago --- */ | |
u8 alpha; /* 3176 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class SColor color; /* 3180 4 */ | |
string palette_name; /* 3184 32 */ | |
/* --- cacheline 50 boundary (3200 bytes) was 16 bytes ago --- */ | |
class vector<irr::video::SColor, std::allocator<irr::video::SColor> > * palette; /* 3216 8 */ | |
u8 waving; /* 3224 1 */ | |
u8 connect_sides; /* 3225 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > connects_to; /* 3232 24 */ | |
class set<short unsigned int, std::less<short unsigned int>, std::allocator<short unsigned int> > connects_to_ids; /* 3256 48 */ | |
/* --- cacheline 51 boundary (3264 bytes) was 40 bytes ago --- */ | |
class SColor post_effect_color; /* 3304 4 */ | |
u8 leveled; /* 3308 1 */ | |
bool light_propagates; /* 3309 1 */ | |
bool sunlight_propagates; /* 3310 1 */ | |
u8 light_source; /* 3311 1 */ | |
bool is_ground_content; /* 3312 1 */ | |
bool walkable; /* 3313 1 */ | |
bool pointable; /* 3314 1 */ | |
bool diggable; /* 3315 1 */ | |
bool climbable; /* 3316 1 */ | |
bool buildable_to; /* 3317 1 */ | |
bool rightclickable; /* 3318 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u32 damage_per_second; /* 3320 4 */ | |
enum LiquidType liquid_type; /* 3324 4 */ | |
/* --- cacheline 52 boundary (3328 bytes) --- */ | |
string liquid_alternative_flowing; /* 3328 32 */ | |
string liquid_alternative_source; /* 3360 32 */ | |
/* --- cacheline 53 boundary (3392 bytes) --- */ | |
u8 liquid_viscosity; /* 3392 1 */ | |
bool liquid_renewable; /* 3393 1 */ | |
u8 liquid_range; /* 3394 1 */ | |
u8 drowning; /* 3395 1 */ | |
bool floodable; /* 3396 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
struct NodeBox node_box; /* 3400 248 */ | |
/* --- cacheline 57 boundary (3648 bytes) --- */ | |
struct NodeBox selection_box; /* 3648 248 */ | |
/* --- cacheline 60 boundary (3840 bytes) was 56 bytes ago --- */ | |
struct NodeBox collision_box; /* 3896 248 */ | |
/* --- cacheline 64 boundary (4096 bytes) was 48 bytes ago --- */ | |
struct SimpleSoundSpec sound_footstep; /* 4144 40 */ | |
/* XXX last struct has 4 bytes of padding */ | |
/* --- cacheline 65 boundary (4160 bytes) was 24 bytes ago --- */ | |
struct SimpleSoundSpec sound_dig; /* 4184 40 */ | |
/* XXX last struct has 4 bytes of padding */ | |
/* --- cacheline 66 boundary (4224 bytes) --- */ | |
struct SimpleSoundSpec sound_dug; /* 4224 40 */ | |
/* XXX last struct has 4 bytes of padding */ | |
bool legacy_facedir_simple; /* 4264 1 */ | |
bool legacy_wallmounted; /* 4265 1 */ | |
void ContentFeatures(class ContentFeatures *); | |
void ~ContentFeatures(class ContentFeatures *, int); | |
void reset(class ContentFeatures *); | |
void serialize(const class ContentFeatures *, ostream &, u16); | |
void deSerialize(class ContentFeatures *, istream &); | |
void serializeOld(const class ContentFeatures *, ostream &, u16); | |
void deSerializeOld(class ContentFeatures *, istream &, int); | |
void correctAlpha(class ContentFeatures *); | |
bool isLiquid(const class ContentFeatures *); | |
bool sameLiquid(const class ContentFeatures *, const class ContentFeatures &); | |
int getGroup(const class ContentFeatures *, const string &); | |
void fillTileAttribs(class ContentFeatures *, class ITextureSource *, class TileLayer *, class TileDef *, u32, bool, bool, u8); | |
void updateTextures(class ContentFeatures *, class ITextureSource *, class IShaderSource *, class IMeshManipulator *, class Client *, const class TextureSettings &); | |
/* size: 4272, cachelines: 67, members: 57 */ | |
/* sum members: 4247, holes: 6, sum holes: 19 */ | |
/* padding: 6 */ | |
/* paddings: 3, sum paddings: 12 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class INodeDefManager { | |
public: | |
int ()(void) * * _vptr.INodeDefManager; /* 0 8 */ | |
void INodeDefManager(class INodeDefManager *, const class INodeDefManager &); | |
void INodeDefManager(class INodeDefManager *); | |
virtual void ~INodeDefManager(class INodeDefManager *, int); | |
virtual const class ContentFeatures & get(const class INodeDefManager *, content_t); | |
virtual const class ContentFeatures & get(const class INodeDefManager *, const class MapNode &); | |
virtual bool getId(const class INodeDefManager *, const string &, content_t &); | |
virtual content_t getId(const class INodeDefManager *, const string &); | |
virtual bool getIds(const class INodeDefManager *, const string &, class set<short unsigned int, std::less<short unsigned int>, std::allocator<short unsigned int> > &); | |
virtual const class ContentFeatures & get(const class INodeDefManager *, const string &); | |
virtual void serialize(const class INodeDefManager *, ostream &, u16); | |
virtual bool getNodeRegistrationStatus(const class INodeDefManager *); | |
virtual void pendNodeResolve(class INodeDefManager *, class NodeResolver *); | |
virtual bool cancelNodeResolveCallback(class INodeDefManager *, class NodeResolver *); | |
virtual bool nodeboxConnects(class INodeDefManager *, class MapNode, class MapNode, u8); | |
virtual class aabbox3d<short int> getSelectionBoxIntUnion(const class INodeDefManager *); | |
/* vtable has 12 entries: { | |
[2] = get((null)), | |
[3] = get((null)), | |
[4] = getId((null)), | |
[5] = getId((null)), | |
[6] = getIds((null)), | |
[7] = get((null)), | |
[8] = serialize((null)), | |
[9] = getNodeRegistrationStatus((null)), | |
[10] = pendNodeResolve((null)), | |
[11] = cancelNodeResolveCallback((null)), | |
[12] = nodeboxConnects((null)), | |
[13] = getSelectionBoxIntUnion((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct MeshMakeData { | |
class VoxelManipulator m_vmanip; /* 0 0 */ | |
/* XXX 40 bytes hole, try to pack */ | |
v3s16 m_blockpos; /* 40 6 */ | |
v3s16 m_crack_pos_relative; /* 46 6 */ | |
bool m_smooth_lighting; /* 52 1 */ | |
bool m_show_hud; /* 53 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class Client * m_client; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
bool m_use_shaders; /* 64 1 */ | |
bool m_use_tangent_vertices; /* 65 1 */ | |
void MeshMakeData(class MeshMakeData *, class Client *, bool, bool); | |
void fillBlockDataBegin(class MeshMakeData *, const v3s16 &); | |
void fillBlockData(class MeshMakeData *, const v3s16 &, class MapNode *); | |
void fill(class MeshMakeData *, class MapBlock *); | |
void fillSingleNode(class MeshMakeData *, class MapNode *); | |
void setCrack(class MeshMakeData *, int, v3s16); | |
void setSmoothLighting(class MeshMakeData *, bool); | |
/* size: 72, cachelines: 2, members: 8 */ | |
/* sum members: 24, holes: 2, sum holes: 42 */ | |
/* padding: 6 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class MapBlock { | |
public: | |
class MapBlockMesh * mesh; /* 0 8 */ | |
class NodeMetadataList m_node_metadata; /* 8 48 */ | |
class NodeTimerList m_node_timers; /* 56 112 */ | |
/* --- cacheline 2 boundary (128 bytes) was 40 bytes ago --- */ | |
class StaticObjectList m_static_objects; /* 168 72 */ | |
/* Bitfield combined with previous fields */ | |
static u32const ystride = 16; /* 0 0 */ | |
static u32const zstride = 256; /* 0 0 */ | |
static u32const nodecount = 4096; /* 0 0 */ | |
/* --- cacheline 3 boundary (192 bytes) was 48 bytes ago --- */ | |
class Map * m_parent; /* 240 8 */ | |
v3s16 m_pos; /* 248 6 */ | |
v3s16 m_pos_relative; /* 254 6 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ | |
class IGameDef * m_gamedef; /* 264 8 */ | |
class MapNode * data; /* 272 8 */ | |
u32 m_modified; /* 280 4 */ | |
u32 m_modified_reason; /* 284 4 */ | |
bool is_underground; /* 288 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 m_lighting_complete; /* 290 2 */ | |
bool m_day_night_differs; /* 292 1 */ | |
bool m_day_night_differs_expired; /* 293 1 */ | |
bool m_generated; /* 294 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u32 m_timestamp; /* 296 4 */ | |
u32 m_disk_timestamp; /* 300 4 */ | |
float m_usage_timer; /* 304 4 */ | |
int m_refcount; /* 308 4 */ | |
void MapBlock(class MapBlock *, class Map *, v3s16, class IGameDef *, bool); | |
void ~MapBlock(class MapBlock *, int); | |
class Map * getParent(class MapBlock *); | |
void reallocate(class MapBlock *); | |
class MapNode * getData(class MapBlock *); | |
void raiseModified(class MapBlock *, u32, u32); | |
u32 getModified(class MapBlock *); | |
u32 getModifiedReason(class MapBlock *); | |
string getModifiedReasonString(class MapBlock *); | |
void resetModified(class MapBlock *); | |
bool isDummy(class MapBlock *); | |
void unDummify(class MapBlock *); | |
bool getIsUnderground(class MapBlock *); | |
void setIsUnderground(class MapBlock *, bool); | |
void setLightingComplete(class MapBlock *, u16); | |
u16 getLightingComplete(class MapBlock *); | |
void setLightingComplete(class MapBlock *, enum LightBank, u8, bool); | |
bool isLightingComplete(class MapBlock *, enum LightBank, u8); | |
bool isGenerated(class MapBlock *); | |
void setGenerated(class MapBlock *, bool); | |
v3s16 getPos(class MapBlock *); | |
v3s16 getPosRelative(class MapBlock *); | |
class aabbox3d<short int> getBox(class MapBlock *); | |
bool isValidPosition(class MapBlock *, s16, s16, s16); | |
bool isValidPosition(class MapBlock *, v3s16); | |
class MapNode getNode(class MapBlock *, s16, s16, s16, bool *); | |
class MapNode getNode(class MapBlock *, v3s16, bool *); | |
class MapNode getNodeNoEx(class MapBlock *, v3s16); | |
void setNode(class MapBlock *, s16, s16, s16, class MapNode &); | |
void setNode(class MapBlock *, v3s16, class MapNode &); | |
class MapNode getNodeNoCheck(class MapBlock *, s16, s16, s16, bool *); | |
class MapNode getNodeNoCheck(class MapBlock *, v3s16, bool *); | |
const class MapNode & getNodeUnsafe(class MapBlock *, s16, s16, s16); | |
const class MapNode & getNodeUnsafe(class MapBlock *, v3s16 &); | |
void setNodeNoCheck(class MapBlock *, s16, s16, s16, class MapNode &); | |
void setNodeNoCheck(class MapBlock *, v3s16, class MapNode &); | |
bool isValidPositionParent(class MapBlock *, v3s16); | |
class MapNode getNodeParent(class MapBlock *, v3s16, bool *); | |
void setNodeParent(class MapBlock *, v3s16, class MapNode &); | |
void drawbox(class MapBlock *, s16, s16, s16, s16, s16, s16, class MapNode); | |
bool propagateSunlight(class MapBlock *, class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short , bool, bool *); | |
void copyTo(class MapBlock *, class VoxelManipulator &); | |
void copyFrom(class MapBlock *, class VoxelManipulator &); | |
void actuallyUpdateDayNightDiff(class MapBlock *); | |
void expireDayNightDiff(class MapBlock *); | |
bool getDayNightDiff(class MapBlock *); | |
s16 getGroundLevel(class MapBlock *, v2s16); | |
void setTimestamp(class MapBlock *, u32); | |
void setTimestampNoChangedFlag(class MapBlock *, u32); | |
u32 getTimestamp(class MapBlock *); | |
u32 getDiskTimestamp(class MapBlock *); | |
void resetUsageTimer(class MapBlock *); | |
void incrementUsageTimer(class MapBlock *, float); | |
float getUsageTimer(class MapBlock *); | |
void refGrab(class MapBlock *); | |
void refDrop(class MapBlock *); | |
int refGet(class MapBlock *); | |
class NodeTimer getNodeTimer(class MapBlock *, v3s16); | |
void removeNodeTimer(class MapBlock *, v3s16); | |
void setNodeTimer(class MapBlock *, const class NodeTimer &); | |
void clearNodeTimers(class MapBlock *); | |
void serialize(class MapBlock *, ostream &, u8, bool); | |
void deSerialize(class MapBlock *, istream &, u8, bool); | |
void serializeNetworkSpecific(class MapBlock *, ostream &); | |
void deSerializeNetworkSpecific(class MapBlock *, istream &); | |
void deSerialize_pre22(class MapBlock *, istream &, u8, bool); | |
class MapNode & getNodeRef(class MapBlock *, s16, s16, s16); | |
class MapNode & getNodeRef(class MapBlock *, v3s16 &); | |
/* size: 312, cachelines: 5, members: 20, static members: 3 */ | |
/* sum members: 374, holes: 3, sum holes: 6 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 312 != 374 + 6(holes), diff = -68 */ | |
}; | |
class MapBlockMesh { | |
class IMesh * m_mesh[2]; /* 0 16 */ | |
class MinimapMapblock * m_minimap_mapblock; /* 16 8 */ | |
class Client * m_client; /* 24 8 */ | |
class IVideoDriver * m_driver; /* 32 8 */ | |
class ITextureSource * m_tsrc; /* 40 8 */ | |
class IShaderSource * m_shdrsrc; /* 48 8 */ | |
bool m_enable_shaders; /* 56 1 */ | |
bool m_use_tangent_vertices; /* 57 1 */ | |
bool m_enable_vbo; /* 58 1 */ | |
bool m_has_animation; /* 59 1 */ | |
int m_animation_force_timer; /* 60 4 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
int m_last_crack; /* 64 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class map<std::pair<unsigned char, unsigned int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::pair<unsigned char, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned char, unsigned int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > m_crack_materials; /* 72 48 */ | |
class map<std::pair<unsigned char, unsigned int>, TileLayer, std::less<std::pair<unsigned char, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned char, unsigned int>, TileLayer> > > m_animation_tiles; /* 120 48 */ | |
/* --- cacheline 2 boundary (128 bytes) was 40 bytes ago --- */ | |
class map<std::pair<unsigned char, unsigned int>, int, std::less<std::pair<unsigned char, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned char, unsigned int>, int> > > m_animation_frames; /* 168 48 */ | |
/* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ | |
class map<std::pair<unsigned char, unsigned int>, int, std::less<std::pair<unsigned char, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned char, unsigned int>, int> > > m_animation_frame_offsets; /* 216 48 */ | |
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ | |
u32 m_last_daynight_ratio; /* 264 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class map<std::pair<unsigned char, unsigned int>, std::map<unsigned int, irr::video::SColor, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, irr::video::SColor> > >, std::less<std::pair<unsigned char, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned char, unsigned int>, std::map<unsigned int, irr::video::SColor, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, irr::video::SColor> > > > > > m_daynight_diffs; /* 272 48 */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
v3s16 m_camera_offset; /* 320 6 */ | |
public: | |
void MapBlockMesh(class MapBlockMesh *, class MeshMakeData *, v3s16); | |
void ~MapBlockMesh(class MapBlockMesh *, int); | |
bool animate(class MapBlockMesh *, bool, float, int, u32); | |
class IMesh * getMesh(class MapBlockMesh *); | |
class IMesh * getMesh(class MapBlockMesh *, u8); | |
class MinimapMapblock * moveMinimapMapblock(class MapBlockMesh *); | |
bool isAnimationForced(const class MapBlockMesh *); | |
void decreaseAnimationForceTimer(class MapBlockMesh *); | |
void updateCameraOffset(class MapBlockMesh *, v3s16); | |
/* size: 328, cachelines: 6, members: 19 */ | |
/* sum members: 318, holes: 2, sum holes: 8 */ | |
/* padding: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct MinimapMapblock { | |
struct MinimapPixel data[256]; /* 0 2048 */ | |
void getMinimapNodes(class MinimapMapblock *, class VoxelManipulator *, v3s16); | |
/* size: 2048, cachelines: 32, members: 1 */ | |
}; | |
class IShaderSource { | |
public: | |
int ()(void) * * _vptr.IShaderSource; /* 0 8 */ | |
void IShaderSource(class IShaderSource *, const class IShaderSource &); | |
void IShaderSource(class IShaderSource *); | |
virtual void ~IShaderSource(class IShaderSource *, int); | |
virtual u32 getShaderIdDirect(class IShaderSource *, const string &, u8, u8); | |
virtual class ShaderInfo getShaderInfo(class IShaderSource *, u32); | |
virtual u32 getShader(class IShaderSource *, const string &, u8, u8); | |
/* vtable has 3 entries: { | |
[2] = getShaderIdDirect((null)), | |
[3] = getShaderInfo((null)), | |
[4] = getShader((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class FileCache { | |
string m_dir; /* 0 32 */ | |
public: | |
void FileCache(class FileCache *, const string &); | |
bool update(class FileCache *, const string &, const string &); | |
bool load(class FileCache *, const string &, ostream &); | |
bool loadByPath(class FileCache *, const string &, ostream &); | |
bool updateByPath(class FileCache *, const string &, const string &); | |
/* size: 32, cachelines: 1, members: 1 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class ClientMediaDownloader { | |
struct FileStatus { | |
bool received; /* 0 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
string sha1; /* 8 32 */ | |
s32 current_remote; /* 40 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<int, std::allocator<int> > available_remotes; /* 48 24 */ | |
/* size: 72, cachelines: 2, members: 4 */ | |
/* sum members: 61, holes: 2, sum holes: 11 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct RemoteServerStatus { | |
string baseurl; /* 0 32 */ | |
s32 active_count; /* 32 4 */ | |
bool request_by_filename; /* 36 1 */ | |
/* size: 40, cachelines: 1, members: 3 */ | |
/* padding: 3 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ClientMediaDownloader::FileStatus*, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ClientMediaDownloader::FileStatus*> > > m_files; /* 0 48 */ | |
class vector<ClientMediaDownloader::RemoteServerStatus*, std::allocator<ClientMediaDownloader::RemoteServerStatus*> > m_remotes; /* 48 24 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class FileCache m_media_cache; /* 72 32 */ | |
bool m_initial_step_done; /* 104 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
s32 m_uncached_count; /* 108 4 */ | |
s32 m_uncached_received_count; /* 112 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
long unsigned int m_httpfetch_caller; /* 120 8 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
long unsigned int m_httpfetch_next_id; /* 128 8 */ | |
long int m_httpfetch_timeout; /* 136 8 */ | |
s32 m_httpfetch_active; /* 144 4 */ | |
s32 m_httpfetch_active_limit; /* 148 4 */ | |
s32 m_outstanding_hash_sets; /* 152 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class map<long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<long unsigned int>, std::allocator<std::pair<long unsigned int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > m_remote_file_transfers; /* 160 48 */ | |
/* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */ | |
string m_name_bound; /* 208 32 */ | |
public: | |
void ClientMediaDownloader(class ClientMediaDownloader *); | |
void ~ClientMediaDownloader(class ClientMediaDownloader *, int); | |
float getProgress(const class ClientMediaDownloader *); | |
bool isStarted(const class ClientMediaDownloader *); | |
bool isDone(const class ClientMediaDownloader *); | |
void addFile(class ClientMediaDownloader *, const string &, const string &); | |
void addRemoteServer(class ClientMediaDownloader *, const string &); | |
void step(class ClientMediaDownloader *, class Client *); | |
void conventionalTransferDone(class ClientMediaDownloader *, const string &, const string &, class Client *); | |
void initialStep(class ClientMediaDownloader *, class Client *); | |
void remoteHashSetReceived(class ClientMediaDownloader *, const class HTTPFetchResult &); | |
void remoteMediaReceived(class ClientMediaDownloader *, const class HTTPFetchResult &, class Client *); | |
s32 selectRemoteServer(class ClientMediaDownloader *, class FileStatus *); | |
void startRemoteMediaTransfers(class ClientMediaDownloader *); | |
void startConventionalTransfers(class ClientMediaDownloader *, class Client *); | |
bool checkAndLoad(class ClientMediaDownloader *, const string &, const string &, const string &, bool, class Client *); | |
string serializeRequiredHashSet(class ClientMediaDownloader *); | |
void deSerializeHashSet(const string &, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string); | |
/* size: 240, cachelines: 4, members: 14 */ | |
/* sum members: 229, holes: 3, sum holes: 11 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class NodeTimer { | |
public: | |
f32 timeout; /* 0 4 */ | |
f32 elapsed; /* 4 4 */ | |
v3s16 position; /* 8 6 */ | |
void NodeTimer(class NodeTimer *); | |
void NodeTimer(class NodeTimer *, const v3s16 &); | |
void NodeTimer(class NodeTimer *, f32, f32, v3s16); | |
void ~NodeTimer(class NodeTimer *, int); | |
void serialize(const class NodeTimer *, ostream &); | |
void deSerialize(class NodeTimer *, istream &); | |
/* size: 16, cachelines: 1, members: 3 */ | |
/* padding: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class NodeTimerList { | |
class multimap<double, NodeTimer, std::less<double>, std::allocator<std::pair<double const, NodeTimer> > > m_timers; /* 0 48 */ | |
class map<irr::core::vector3d<short int>, std::_Rb_tree_iterator<std::pair<double const, NodeTimer> >, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, std::_Rb_tree_iterator<std::pair<double const, NodeTimer> > > > > m_iterators; /* 48 48 */ | |
/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */ | |
double m_next_trigger_time; /* 96 8 */ | |
double m_time; /* 104 8 */ | |
public: | |
void NodeTimerList(class NodeTimerList *); | |
void ~NodeTimerList(class NodeTimerList *, int); | |
void serialize(const class NodeTimerList *, ostream &, u8); | |
void deSerialize(class NodeTimerList *, istream &, u8); | |
class NodeTimer get(class NodeTimerList *, const v3s16 &); | |
void remove(class NodeTimerList *, v3s16); | |
void insert(class NodeTimerList *, class NodeTimer); | |
void set(class NodeTimerList *, const class NodeTimer &); | |
void clear(class NodeTimerList *); | |
double getNextTriggerTime(class NodeTimerList *); | |
class vector<NodeTimer, std::allocator<NodeTimer> > step(class NodeTimerList *, float); | |
/* size: 112, cachelines: 2, members: 4 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class StaticObjectList { | |
public: | |
class vector<StaticObject, std::allocator<StaticObject> > m_stored; /* 0 24 */ | |
class map<short unsigned int, StaticObject, std::less<short unsigned int>, std::allocator<std::pair<short unsigned int const, StaticObject> > > m_active; /* 24 48 */ | |
void insert(class StaticObjectList *, u16, class StaticObject); | |
void remove(class StaticObjectList *, u16); | |
void serialize(class StaticObjectList *, ostream &); | |
void deSerialize(class StaticObjectList *, istream &); | |
/* size: 72, cachelines: 2, members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class NodeMetadataList { | |
class map<irr::core::vector3d<short int>, NodeMetadata*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, NodeMetadata*> > > m_data; /* 0 48 */ | |
public: | |
void ~NodeMetadataList(class NodeMetadataList *, int); | |
void serialize(const class NodeMetadataList *, ostream &); | |
void deSerialize(class NodeMetadataList *, istream &, class IItemDefManager *); | |
class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > getAllKeys(class NodeMetadataList *); | |
class NodeMetadata * get(class NodeMetadataList *, v3s16); | |
void remove(class NodeMetadataList *, v3s16); | |
void set(class NodeMetadataList *, v3s16, class NodeMetadata *); | |
void clear(class NodeMetadataList *); | |
int countNonEmpty(const class NodeMetadataList *); | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct NodeBox { | |
enum NodeBoxType type; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > fixed; /* 8 24 */ | |
aabb3f wall_top; /* 32 24 */ | |
aabb3f wall_bottom; /* 56 24 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
aabb3f wall_side; /* 80 24 */ | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > connect_top; /* 104 24 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > connect_bottom; /* 128 24 */ | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > connect_front; /* 152 24 */ | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > connect_left; /* 176 24 */ | |
/* --- cacheline 3 boundary (192 bytes) was 8 bytes ago --- */ | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > connect_back; /* 200 24 */ | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > connect_right; /* 224 24 */ | |
void NodeBox(class NodeBox *); | |
void reset(class NodeBox *); | |
void serialize(const class NodeBox *, ostream &, u16); | |
void deSerialize(class NodeBox *, istream &); | |
/* size: 248, cachelines: 4, members: 11 */ | |
/* sum members: 244, holes: 1, sum holes: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class TextureSettings { | |
public: | |
enum LeavesStyle leaves_style; /* 0 4 */ | |
bool opaque_water; /* 4 1 */ | |
bool connected_glass; /* 5 1 */ | |
bool use_normal_texture; /* 6 1 */ | |
bool enable_mesh_cache; /* 7 1 */ | |
bool enable_minimap; /* 8 1 */ | |
void TextureSettings(class TextureSettings *); | |
void readSettings(class TextureSettings *); | |
/* size: 12, cachelines: 1, members: 6 */ | |
/* padding: 3 */ | |
/* last cacheline: 12 bytes */ | |
}; | |
struct TileDef { | |
string name; /* 0 32 */ | |
bool backface_culling; /* 32 1 */ | |
bool tileable_horizontal; /* 33 1 */ | |
bool tileable_vertical; /* 34 1 */ | |
bool has_color; /* 35 1 */ | |
class SColor color; /* 36 4 */ | |
struct TileAnimationParams animation; /* 40 16 */ | |
void TileDef(class TileDef *); | |
void serialize(const class TileDef *, ostream &, u16); | |
void deSerialize(class TileDef *, istream &, u8, enum NodeDrawType); | |
/* size: 56, cachelines: 1, members: 7 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct MinimapPixel { | |
struct MapNode n; /* 0 4 */ | |
u16 height; /* 4 2 */ | |
u16 air_count; /* 6 2 */ | |
/* size: 8, cachelines: 1, members: 3 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct EnumString { | |
int num; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
const char * str; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* sum members: 12, holes: 1, sum holes: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class SerializationError : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void SerializationError(class SerializationError *, ); | |
void SerializationError(class SerializationError *, const class SerializationError &); | |
void SerializationError(class SerializationError *, const string &); | |
virtual void ~SerializationError(class SerializationError *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct ShaderInfo { | |
int ()(void) * * _vptr.ShaderInfo; /* 0 8 */ | |
string name; /* 8 32 */ | |
enum E_MATERIAL_TYPE base_material; /* 40 4 */ | |
enum E_MATERIAL_TYPE material; /* 44 4 */ | |
u8 drawtype; /* 48 1 */ | |
u8 material_type; /* 49 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
s32 user_data; /* 52 4 */ | |
void ShaderInfo(class ShaderInfo *, const class ShaderInfo &); | |
void ShaderInfo(class ShaderInfo *); | |
virtual void ~ShaderInfo(class ShaderInfo *, int); | |
/* size: 56, cachelines: 1, members: 7 */ | |
/* sum members: 54, holes: 1, sum holes: 2 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class PacketError : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void PacketError(class PacketError *, const string &); | |
virtual void ~PacketError(class PacketError *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct in_addr { | |
in_addr_t s_addr; /* 0 4 */ | |
/* size: 4, cachelines: 1, members: 1 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
struct sockaddr_in { | |
sa_family_t sin_family; /* 0 2 */ | |
in_port_t sin_port; /* 2 2 */ | |
struct in_addr sin_addr; /* 4 4 */ | |
unsigned char sin_zero[8]; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct sockaddr_in6 { | |
sa_family_t sin6_family; /* 0 2 */ | |
in_port_t sin6_port; /* 2 2 */ | |
uint32_t sin6_flowinfo; /* 4 4 */ | |
struct in6_addr sin6_addr; /* 8 16 */ | |
uint32_t sin6_scope_id; /* 24 4 */ | |
/* size: 28, cachelines: 1, members: 5 */ | |
/* last cacheline: 28 bytes */ | |
}; | |
class IPv6AddressBytes { | |
public: | |
u8 bytes[16]; /* 0 16 */ | |
void IPv6AddressBytes(class IPv6AddressBytes *); | |
/* size: 16, cachelines: 1, members: 1 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class Address { | |
union { | |
struct sockaddr_in ipv4; /* 16 */ | |
struct sockaddr_in6 ipv6; /* 28 */ | |
}; | |
unsigned int m_addr_family; /* 0 4 */ | |
union { | |
struct sockaddr_in ipv4; /* 16 */ | |
struct sockaddr_in6 ipv6; /* 28 */ | |
} m_address; /* 4 28 */ | |
u16 m_port; /* 32 2 */ | |
public: | |
void Address(class Address *); | |
void Address(class Address *, u32, u16); | |
void Address(class Address *, u8, u8, u8, u8, u16); | |
void Address(class Address *, const class IPv6AddressBytes *, u16); | |
bool operator==(class Address *, const class Address &); | |
bool operator!=(class Address *, const class Address &); | |
void Resolve(class Address *, const char *); | |
class sockaddr_in getAddress(const class Address *); | |
short unsigned int getPort(const class Address *); | |
void setAddress(class Address *, u32); | |
void setAddress(class Address *, u8, u8, u8, u8); | |
void setAddress(class Address *, const class IPv6AddressBytes *); | |
class sockaddr_in6 getAddress6(const class Address *); | |
int getFamily(const class Address *); | |
bool isIPv6(const class Address *); | |
bool isZero(const class Address *); | |
void setPort(class Address *, short unsigned int); | |
void print(const class Address *, ostream *); | |
string serializeString(const class Address *); | |
/* size: 36, cachelines: 1, members: 3 */ | |
/* padding: 2 */ | |
/* last cacheline: 36 bytes */ | |
}; | |
class UDPSocket { | |
int m_handle; /* 0 4 */ | |
int m_timeout_ms; /* 4 4 */ | |
int m_addr_family; /* 8 4 */ | |
public: | |
void UDPSocket(class UDPSocket *); | |
void UDPSocket(class UDPSocket *, bool); | |
void ~UDPSocket(class UDPSocket *, int); | |
void Bind(class UDPSocket *, class Address); | |
bool init(class UDPSocket *, bool, bool); | |
void Send(class UDPSocket *, const class Address &, const void *, int); | |
int Receive(class UDPSocket *, class Address &, void *, int); | |
int GetHandle(class UDPSocket *); | |
void setTimeoutMs(class UDPSocket *, int); | |
bool WaitData(class UDPSocket *, int); | |
/* size: 12, cachelines: 1, members: 3 */ | |
/* last cacheline: 12 bytes */ | |
}; | |
class MutexedQueue<con::ConnectionCommand> { | |
protected: | |
class deque<con::ConnectionCommand, std::allocator<con::ConnectionCommand> > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<con::ConnectionCommand> *); | |
bool empty(const class MutexedQueue<con::ConnectionCommand> *); | |
void push_back(class MutexedQueue<con::ConnectionCommand> *, class ConnectionCommand); | |
class ConnectionCommand pop_frontNoEx(class MutexedQueue<con::ConnectionCommand> *, u32); | |
class ConnectionCommand pop_front(class MutexedQueue<con::ConnectionCommand> *, u32); | |
class ConnectionCommand pop_frontNoEx(class MutexedQueue<con::ConnectionCommand> *); | |
class ConnectionCommand pop_back(class MutexedQueue<con::ConnectionCommand> *, u32); | |
class ConnectionCommand pop_backNoEx(class MutexedQueue<con::ConnectionCommand> *, u32); | |
class ConnectionCommand pop_backNoEx(class MutexedQueue<con::ConnectionCommand> *); | |
protected: | |
Mutex & getMutex(class MutexedQueue<con::ConnectionCommand> *); | |
class deque<con::ConnectionCommand, std::allocator<con::ConnectionCommand> > & getQueue(class MutexedQueue<con::ConnectionCommand> *); | |
public: | |
void ~MutexedQueue(class MutexedQueue<con::ConnectionCommand> *, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class MutexedQueue<con::ConnectionEvent> { | |
protected: | |
class deque<con::ConnectionEvent, std::allocator<con::ConnectionEvent> > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<con::ConnectionEvent> *); | |
bool empty(const class MutexedQueue<con::ConnectionEvent> *); | |
void push_back(class MutexedQueue<con::ConnectionEvent> *, class ConnectionEvent); | |
class ConnectionEvent pop_frontNoEx(class MutexedQueue<con::ConnectionEvent> *, u32); | |
class ConnectionEvent pop_front(class MutexedQueue<con::ConnectionEvent> *, u32); | |
class ConnectionEvent pop_frontNoEx(class MutexedQueue<con::ConnectionEvent> *); | |
class ConnectionEvent pop_back(class MutexedQueue<con::ConnectionEvent> *, u32); | |
class ConnectionEvent pop_backNoEx(class MutexedQueue<con::ConnectionEvent> *, u32); | |
class ConnectionEvent pop_backNoEx(class MutexedQueue<con::ConnectionEvent> *); | |
protected: | |
Mutex & getMutex(class MutexedQueue<con::ConnectionEvent> *); | |
class deque<con::ConnectionEvent, std::allocator<con::ConnectionEvent> > & getQueue(class MutexedQueue<con::ConnectionEvent> *); | |
public: | |
void ~MutexedQueue(class MutexedQueue<con::ConnectionEvent> *, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class ScopeProfiler { | |
class Profiler * m_profiler; /* 0 8 */ | |
string m_name; /* 8 32 */ | |
class TimeTaker * m_timer; /* 40 8 */ | |
enum ScopeProfilerType m_type; /* 48 4 */ | |
public: | |
void ScopeProfiler(class ScopeProfiler *, class Profiler *, const string &, enum ScopeProfilerType); | |
void ScopeProfiler(class ScopeProfiler *, class Profiler *, const char *, enum ScopeProfilerType); | |
void ~ScopeProfiler(class ScopeProfiler *, int); | |
/* size: 56, cachelines: 1, members: 4 */ | |
/* padding: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class SendFailedException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void SendFailedException(class SendFailedException *, const string &); | |
virtual void ~SendFailedException(class SendFailedException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class SocketException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void SocketException(class SocketException *, const string &); | |
virtual void ~SocketException(class SocketException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class AlreadyExistsException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void AlreadyExistsException(class AlreadyExistsException *, const string &); | |
virtual void ~AlreadyExistsException(class AlreadyExistsException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct ToServerCommandHandler { | |
stringconst name; /* 0 32 */ | |
enum ToServerConnectionState state; /* 32 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
struct { | |
void (*__pfn)(class Server *, class NetworkPacket *); /* 40 8 */ | |
long int __delta; /* 48 8 */ | |
} handler; /* 40 16 */ | |
void ~ToServerCommandHandler(class ToServerCommandHandler *, int); | |
void ToServerCommandHandler(class ToServerCommandHandler *, const class ToServerCommandHandler &); | |
/* size: 56, cachelines: 1, members: 3 */ | |
/* sum members: 52, holes: 1, sum holes: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct ClientCommandFactory { | |
const char * name; /* 0 8 */ | |
u8 channel; /* 8 1 */ | |
bool reliable; /* 9 1 */ | |
/* size: 16, cachelines: 1, members: 3 */ | |
/* padding: 6 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class MapSettingsManager { | |
public: | |
class MapgenParams * mapgen_params; /* 0 8 */ | |
string m_map_meta_path; /* 8 32 */ | |
class Settings * m_map_settings; /* 40 8 */ | |
class Settings * m_user_settings; /* 48 8 */ | |
void MapSettingsManager(class MapSettingsManager *, class Settings *, const string &); | |
void ~MapSettingsManager(class MapSettingsManager *, int); | |
bool getMapSetting(class MapSettingsManager *, const string &, string *); | |
bool getMapSettingNoiseParams(class MapSettingsManager *, const string &, class NoiseParams *); | |
bool setMapSetting(class MapSettingsManager *, const string &, const string &, bool); | |
bool setMapSettingNoiseParams(class MapSettingsManager *, const string &, const class NoiseParams *, bool); | |
bool loadMapMeta(class MapSettingsManager *); | |
bool saveMapMeta(class MapSettingsManager *); | |
class MapgenParams * makeMapgenParams(class MapSettingsManager *); | |
/* size: 56, cachelines: 1, members: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct HudElement { | |
enum HudElementType type; /* 0 4 */ | |
v2f pos; /* 4 8 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string name; /* 16 32 */ | |
v2f scale; /* 48 8 */ | |
string text; /* 56 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ | |
u32 number; /* 88 4 */ | |
u32 item; /* 92 4 */ | |
u32 dir; /* 96 4 */ | |
v2f align; /* 100 8 */ | |
v2f offset; /* 108 8 */ | |
v3f world_pos; /* 116 12 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
v2s32 size; /* 128 8 */ | |
/* size: 136, cachelines: 3, members: 12 */ | |
/* sum members: 132, holes: 1, sum holes: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ToolCapabilities { | |
float full_punch_interval; /* 0 4 */ | |
int max_drop_level; /* 4 4 */ | |
ToolGCMap groupcaps; /* 8 56 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
DamageGroup damageGroups; /* 64 56 */ | |
void ToolCapabilities(class ToolCapabilities *, float, int, const ToolGCMap &, const DamageGroup &); | |
void serialize(const class ToolCapabilities *, ostream &, u16); | |
void deSerialize(class ToolCapabilities *, istream &); | |
void ~ToolCapabilities(class ToolCapabilities *, int); | |
void ToolCapabilities(class ToolCapabilities *, const class ToolCapabilities &); | |
/* size: 120, cachelines: 2, members: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct InventoryLocation { | |
enum Type { | |
UNDEFINED = 0, | |
CURRENT_PLAYER = 1, | |
PLAYER = 2, | |
NODEMETA = 3, | |
DETACHED = 4, | |
}; | |
enum Type type; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string name; /* 8 32 */ | |
v3s16 p; /* 40 6 */ | |
void InventoryLocation(class InventoryLocation *); | |
void setUndefined(class InventoryLocation *); | |
void setCurrentPlayer(class InventoryLocation *); | |
void setPlayer(class InventoryLocation *, const string &); | |
void setNodeMeta(class InventoryLocation *, v3s16); | |
void setDetached(class InventoryLocation *, const string &); | |
bool operator==(const class InventoryLocation *, const class InventoryLocation &); | |
bool operator!=(const class InventoryLocation *, const class InventoryLocation &); | |
void applyCurrentPlayer(class InventoryLocation *, const string &); | |
string dump(const class InventoryLocation *); | |
void serialize(const class InventoryLocation *, ostream &); | |
void deSerialize(class InventoryLocation *, istream &); | |
void deSerialize(class InventoryLocation *, string); | |
/* size: 48, cachelines: 1, members: 3 */ | |
/* sum members: 42, holes: 1, sum holes: 4 */ | |
/* padding: 2 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class RemotePlayer : public Player { | |
public: | |
/* class Player <ancestor>; */ /* 0 328 */ | |
/* --- cacheline 5 boundary (320 bytes) was 8 bytes ago --- */ | |
u16 protocol_version; /* 328 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class PlayerSAO * m_sao; /* 336 8 */ | |
bool m_dirty; /* 344 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
/* Bitfield combined with previous fields */ | |
static bool m_setting_cache_loaded /* 0 0 */ | |
static float m_setting_chat_message_limit_per_10sec /* 0 0 */ | |
static u16 m_setting_chat_message_limit_trigger_kick /* 0 0 */ | |
u32 m_last_chat_message_sent; /* 348 4 */ | |
float m_chat_message_allowance; /* 352 4 */ | |
u16 m_message_rate_overhead; /* 356 2 */ | |
bool m_day_night_ratio_do_override; /* 358 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
float m_day_night_ratio; /* 360 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string hud_hotbar_image; /* 368 32 */ | |
/* --- cacheline 6 boundary (384 bytes) was 16 bytes ago --- */ | |
string hud_hotbar_selected_image; /* 400 32 */ | |
string m_sky_type; /* 432 32 */ | |
/* --- cacheline 7 boundary (448 bytes) was 16 bytes ago --- */ | |
class SColor m_sky_bgcolor; /* 464 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_sky_params; /* 472 24 */ | |
void RemotePlayer(class RemotePlayer *, const char *, class IItemDefManager *); | |
virtual void ~RemotePlayer(class RemotePlayer *, int); | |
void save(class RemotePlayer *, string, class IGameDef *); | |
void deSerialize(class RemotePlayer *, istream &, const string &, class PlayerSAO *); | |
class PlayerSAO * getPlayerSAO(class RemotePlayer *); | |
void setPlayerSAO(class RemotePlayer *, class PlayerSAO *); | |
enum RemotePlayerChatResultconst canSendChatMessage(class RemotePlayer *); | |
void setHotbarItemcount(class RemotePlayer *, s32); | |
s32 getHotbarItemcount(const class RemotePlayer *); | |
void overrideDayNightRatio(class RemotePlayer *, bool, float); | |
void getDayNightRatio(class RemotePlayer *, bool *, float *); | |
void setHotbarImage(class RemotePlayer *, const string &); | |
string getHotbarImage(const class RemotePlayer *); | |
void setHotbarSelectedImage(class RemotePlayer *, const string &); | |
const string & getHotbarSelectedImage(const class RemotePlayer *); | |
void setSky(class RemotePlayer *, const class SColor &, const string &, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11); | |
void getSky(class RemotePlayer *, class SColor *, string *, class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi); | |
bool checkModified(const class RemotePlayer *); | |
void setModified(class RemotePlayer *, bool); | |
void setLocalAnimations(class RemotePlayer *, v2s32 *, float); | |
void getLocalAnimations(class RemotePlayer *, v2s32 *, float *); | |
void setDirty(class RemotePlayer *, bool); | |
void serialize(class RemotePlayer *, ostream &); | |
void serializeExtraAttributes(class RemotePlayer *, string &); | |
/* size: 496, cachelines: 8, members: 14, static members: 3 */ | |
/* sum members: 277, holes: 5, sum holes: 18 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 496 != 277 + 18(holes), diff = 201 */ | |
}; | |
class RemoteClient { | |
public: | |
u16 peer_id; /* 0 2 */ | |
u8 serialization_version; /* 2 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 net_proto_version; /* 4 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
string enc_pwd; /* 8 32 */ | |
bool create_player_on_auth_success; /* 40 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
enum AuthMechanism chosen_mech; /* 44 4 */ | |
void * auth_data; /* 48 8 */ | |
u32 allowed_auth_mechs; /* 56 4 */ | |
u32 allowed_sudo_mechs; /* 60 4 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
float m_time_from_building; /* 64 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class set<short unsigned int, std::less<short unsigned int>, std::allocator<short unsigned int> > m_known_objects; /* 72 48 */ | |
u8 m_pending_serialization_version; /* 120 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
enum ClientState m_state; /* 124 4 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short int> > > m_blocks_sent; /* 128 48 */ | |
s16 m_nearest_unsent_d; /* 176 2 */ | |
v3s16 m_last_center; /* 178 6 */ | |
float m_nearest_unsent_reset_timer; /* 184 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
class map<irr::core::vector3d<short int>, float, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, float> > > m_blocks_sending; /* 192 48 */ | |
class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short int> > > m_blocks_modified; /* 240 48 */ | |
/* --- cacheline 4 boundary (256 bytes) was 32 bytes ago --- */ | |
u32 m_excess_gotblocks; /* 288 4 */ | |
float m_nothing_to_send_pause_timer; /* 292 4 */ | |
string m_name; /* 296 32 */ | |
/* --- cacheline 5 boundary (320 bytes) was 8 bytes ago --- */ | |
u8 m_version_major; /* 328 1 */ | |
u8 m_version_minor; /* 329 1 */ | |
u8 m_version_patch; /* 330 1 */ | |
/* XXX 5 bytes hole, try to pack */ | |
string m_full_version; /* 336 32 */ | |
u16 m_deployed_compression; /* 368 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
u32const m_connection_time; /* 372 4 */ | |
bool isSudoMechAllowed(class RemoteClient *, enum AuthMechanism); | |
bool isMechAllowed(class RemoteClient *, enum AuthMechanism); | |
void RemoteClient(class RemoteClient *); | |
void ~RemoteClient(class RemoteClient *, int); | |
void GetNextBlocks(class RemoteClient *, class ServerEnvironment *, class EmergeManager *, float, class vector<PrioritySortedBlockTransfer, std::allocator<PrioritySortedBlockTransfer> > &); | |
void GotBlock(class RemoteClient *, v3s16); | |
void SentBlock(class RemoteClient *, v3s16); | |
void SetBlockNotSent(class RemoteClient *, v3s16); | |
void SetBlocksNotSent(class RemoteClient *, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const); | |
void ResendBlockIfOnWire(class RemoteClient *, v3s16); | |
s32 SendingCount(class RemoteClient *); | |
void PrintInfo(class RemoteClient *, ostream &); | |
enum ClientState getState(const class RemoteClient *); | |
string getName(const class RemoteClient *); | |
void setName(class RemoteClient *, const string &); | |
void notifyEvent(class RemoteClient *, enum ClientStateEvent); | |
void setPendingSerializationVersion(class RemoteClient *, u8); | |
void setDeployedCompressionMode(class RemoteClient *, u16); | |
void confirmSerializationVersion(class RemoteClient *); | |
u32 uptime(class RemoteClient *); | |
void setVersionInfo(class RemoteClient *, u8, u8, u8, const string &); | |
u8 getMajor(const class RemoteClient *); | |
u8 getMinor(const class RemoteClient *); | |
u8 getPatch(const class RemoteClient *); | |
string getVersion(const class RemoteClient *); | |
/* size: 376, cachelines: 6, members: 28 */ | |
/* sum members: 352, holes: 8, sum holes: 24 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class EmergeManager { | |
public: | |
class INodeDefManager * ndef; /* 0 8 */ | |
bool enable_mapgen_debug_info; /* 8 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
u32 gen_notify_on; /* 12 4 */ | |
class set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> > gen_notify_on_deco_ids; /* 16 48 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class MapgenParams * mgparams; /* 64 8 */ | |
class MapSettingsManager * map_settings_mgr; /* 72 8 */ | |
class BiomeManager * biomemgr; /* 80 8 */ | |
class OreManager * oremgr; /* 88 8 */ | |
class DecorationManager * decomgr; /* 96 8 */ | |
class SchematicManager * schemmgr; /* 104 8 */ | |
class vector<Mapgen*, std::allocator<Mapgen*> > m_mapgens; /* 112 24 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
class vector<EmergeThread*, std::allocator<EmergeThread*> > m_threads; /* 136 24 */ | |
bool m_threads_active; /* 160 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
Mutex m_queue_mutex; /* 168 40 */ | |
/* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */ | |
class map<irr::core::vector3d<short int>, BlockEmergeData, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, BlockEmergeData> > > m_blocks_enqueued; /* 208 48 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
class unordered_map<short unsigned int, short unsigned int, std::hash<short unsigned int>, std::equal_to<short unsigned int>, std::allocator<std::pair<short unsigned int const, short unsigned int> > > m_peer_queue_count; /* 256 56 */ | |
u16 m_qlimit_total; /* 312 2 */ | |
u16 m_qlimit_diskonly; /* 314 2 */ | |
u16 m_qlimit_generate; /* 316 2 */ | |
void EmergeManager(class EmergeManager *, class Server *); | |
void ~EmergeManager(class EmergeManager *, int); | |
bool initMapgens(class EmergeManager *, class MapgenParams *); | |
void startThreads(class EmergeManager *); | |
void stopThreads(class EmergeManager *); | |
bool isRunning(class EmergeManager *); | |
bool enqueueBlockEmerge(class EmergeManager *, u16, v3s16, bool, bool); | |
bool enqueueBlockEmergeEx(class EmergeManager *, v3s16, u16, u16, EmergeCompletionCallback, void *); | |
v3s16 getContainingChunk(class EmergeManager *, v3s16); | |
class Mapgen * getCurrentMapgen(class EmergeManager *); | |
class Biome * getBiomeAtPoint(class EmergeManager *, v3s16); | |
int getSpawnLevelAtPoint(class EmergeManager *, v2s16); | |
int getGroundLevelAtPoint(class EmergeManager *, v2s16); | |
bool isBlockUnderground(class EmergeManager *, v3s16); | |
v3s16 getContainingChunk(v3s16, s16); | |
class EmergeThread * getOptimalThread(class EmergeManager *); | |
bool pushBlockEmergeData(class EmergeManager *, v3s16, u16, u16, EmergeCompletionCallback, void *, bool *); | |
bool popBlockEmergeData(class EmergeManager *, v3s16, class BlockEmergeData *); | |
void EmergeManager(class EmergeManager *, const class EmergeManager &); | |
class EmergeManager & operator=(class EmergeManager *, const class EmergeManager &); | |
/* size: 320, cachelines: 5, members: 19 */ | |
/* sum members: 308, holes: 2, sum holes: 10 */ | |
/* padding: 2 */ | |
}; | |
struct PlayerControl { | |
bool up; /* 0 1 */ | |
bool down; /* 1 1 */ | |
bool left; /* 2 1 */ | |
bool right; /* 3 1 */ | |
bool jump; /* 4 1 */ | |
bool aux1; /* 5 1 */ | |
bool sneak; /* 6 1 */ | |
bool zoom; /* 7 1 */ | |
bool LMB; /* 8 1 */ | |
bool RMB; /* 9 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float pitch; /* 12 4 */ | |
float yaw; /* 16 4 */ | |
float sidew_move_joystick_axis; /* 20 4 */ | |
float forw_move_joystick_axis; /* 24 4 */ | |
void PlayerControl(class PlayerControl *); | |
void PlayerControl(class PlayerControl *, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, float, float, float, float); | |
/* size: 28, cachelines: 1, members: 14 */ | |
/* sum members: 26, holes: 1, sum holes: 2 */ | |
/* last cacheline: 28 bytes */ | |
}; | |
struct ServerSoundParams { | |
enum Type { | |
SSP_LOCAL = 0, | |
SSP_POSITIONAL = 1, | |
SSP_OBJECT = 2, | |
}; | |
float gain; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string to_player; /* 8 32 */ | |
enum Type type; /* 40 4 */ | |
v3f pos; /* 44 12 */ | |
u16 object; /* 56 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float max_hear_distance; /* 60 4 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
bool loop; /* 64 1 */ | |
void ServerSoundParams(class ServerSoundParams *); | |
v3f getPos(const class ServerSoundParams *, class ServerEnvironment *, bool *); | |
void ~ServerSoundParams(class ServerSoundParams *, int); | |
/* size: 72, cachelines: 2, members: 7 */ | |
/* sum members: 59, holes: 2, sum holes: 6 */ | |
/* padding: 7 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ServerPlayingSound { | |
struct ServerSoundParams params; /* 0 72 */ | |
/* XXX last struct has 7 bytes of padding */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class unordered_set<short unsigned int, std::hash<short unsigned int>, std::equal_to<short unsigned int>, std::allocator<short unsigned int> > clients; /* 72 56 */ | |
void ~ServerPlayingSound(class ServerPlayingSound *, int); | |
/* size: 128, cachelines: 2, members: 2 */ | |
/* paddings: 1, sum paddings: 7 */ | |
}; | |
class LagPool { | |
float m_pool; /* 0 4 */ | |
float m_max; /* 4 4 */ | |
public: | |
void LagPool(class LagPool *); | |
void setMax(class LagPool *, float); | |
void add(class LagPool *, float); | |
void empty(class LagPool *); | |
bool grab(class LagPool *, float); | |
/* size: 8, cachelines: 1, members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct BlockEmergeData { | |
u16 peer_requested; /* 0 2 */ | |
u16 flags; /* 2 2 */ | |
/* XXX 4 bytes hole, try to pack */ | |
EmergeCallbackList callbacks; /* 8 24 */ | |
/* size: 32, cachelines: 1, members: 3 */ | |
/* sum members: 28, holes: 1, sum holes: 4 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct RollbackNode { | |
string name; /* 0 32 */ | |
int param1; /* 32 4 */ | |
int param2; /* 36 4 */ | |
string meta; /* 40 32 */ | |
bool operator==(class RollbackNode *, const class RollbackNode &); | |
bool operator!=(class RollbackNode *, const class RollbackNode &); | |
void RollbackNode(class RollbackNode *); | |
void RollbackNode(class RollbackNode *, class Map *, v3s16, class IGameDef *); | |
class RollbackNode & operator=(class RollbackNode *, const class RollbackNode &); | |
void ~RollbackNode(class RollbackNode *, int); | |
/* size: 72, cachelines: 2, members: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct RollbackAction { | |
enum Type { | |
TYPE_NOTHING = 0, | |
TYPE_SET_NODE = 1, | |
TYPE_MODIFY_INVENTORY_STACK = 2, | |
}; | |
enum Type type; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
time_t unix_time; /* 8 8 */ | |
string actor; /* 16 32 */ | |
bool actor_is_guess; /* 48 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
v3s16 p; /* 50 6 */ | |
struct RollbackNode n_old; /* 56 72 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
struct RollbackNode n_new; /* 128 72 */ | |
/* --- cacheline 3 boundary (192 bytes) was 8 bytes ago --- */ | |
string inventory_location; /* 200 32 */ | |
string inventory_list; /* 232 32 */ | |
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ | |
u32 inventory_index; /* 264 4 */ | |
bool inventory_add; /* 268 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
struct ItemStack inventory_stack; /* 272 104 */ | |
void RollbackAction(class RollbackAction *); | |
void setSetNode(class RollbackAction *, v3s16, const class RollbackNode &, const class RollbackNode &); | |
void setModifyInventoryStack(class RollbackAction *, const string &, const string &, int, bool, const class ItemStack &); | |
string toString(const class RollbackAction *); | |
bool isImportant(const class RollbackAction *, class IGameDef *); | |
bool getPosition(const class RollbackAction *, v3s16 *); | |
bool applyRevert(const class RollbackAction *, class Map *, class InventoryManager *, class IGameDef *); | |
void ~RollbackAction(class RollbackAction *, int); | |
/* size: 376, cachelines: 6, members: 12 */ | |
/* sum members: 368, holes: 3, sum holes: 8 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class InventoryManager { | |
public: | |
int ()(void) * * _vptr.InventoryManager; /* 0 8 */ | |
class InventoryManager & operator=(class InventoryManager *, const class InventoryManager &); | |
void InventoryManager(class InventoryManager *); | |
virtual void ~InventoryManager(class InventoryManager *, int); | |
virtual class Inventory * getInventory(class InventoryManager *, const class InventoryLocation &); | |
virtual void setInventoryModified(class InventoryManager *, const class InventoryLocation &, bool); | |
virtual void inventoryAction(class InventoryManager *, class InventoryAction *); | |
/* vtable has 3 entries: { | |
[2] = getInventory((null)), | |
[3] = setInventoryModified((null)), | |
[4] = inventoryAction((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class RollbackScopeActor { | |
class IRollbackManager * rollback; /* 0 8 */ | |
string old_actor; /* 8 32 */ | |
bool old_actor_guess; /* 40 1 */ | |
public: | |
void RollbackScopeActor(class RollbackScopeActor *, class IRollbackManager *, const string &, bool); | |
void ~RollbackScopeActor(class RollbackScopeActor *, int); | |
/* size: 48, cachelines: 1, members: 3 */ | |
/* padding: 7 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class IRollbackManager { | |
public: | |
int ()(void) * * _vptr.IRollbackManager; /* 0 8 */ | |
virtual void reportAction(class IRollbackManager *, const class RollbackAction &); | |
virtual string getActor(class IRollbackManager *); | |
virtual bool isActorGuess(class IRollbackManager *); | |
virtual void setActor(class IRollbackManager *, const string &, bool); | |
virtual string getSuspect(class IRollbackManager *, v3s16, float, float); | |
virtual void ~IRollbackManager(class IRollbackManager *, int); | |
virtual void flush(class IRollbackManager *); | |
virtual class list<RollbackAction, std::allocator<RollbackAction> > getNodeActors(class IRollbackManager *, v3s16, int, time_t, int); | |
virtual class list<RollbackAction, std::allocator<RollbackAction> > getRevertActions(class IRollbackManager *, const string &, time_t); | |
/* vtable has 8 entries: { | |
[0] = reportAction((null)), | |
[1] = getActor((null)), | |
[2] = isActorGuess((null)), | |
[3] = setActor((null)), | |
[4] = getSuspect((null)), | |
[7] = flush((null)), | |
[8] = getNodeActors((null)), | |
[9] = getRevertActions((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ToolGroupCap { | |
class unordered_map<int, float, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<int const, float> > > times; /* 0 56 */ | |
int maxlevel; /* 56 4 */ | |
int uses; /* 60 4 */ | |
void ToolGroupCap(class ToolGroupCap *); | |
bool getTime(const class ToolGroupCap *, int, float *); | |
void ~ToolGroupCap(class ToolGroupCap *, int); | |
void ToolGroupCap(class ToolGroupCap *, const class ToolGroupCap &); | |
/* size: 64, cachelines: 1, members: 3 */ | |
}; | |
struct DigParams { | |
bool diggable; /* 0 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float time; /* 4 4 */ | |
u16 wear; /* 8 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
string main_group; /* 16 32 */ | |
void DigParams(class DigParams *, bool, float, u16, const string &); | |
class DigParams & operator=(class DigParams *, ); | |
void ~DigParams(class DigParams *, int); | |
/* size: 48, cachelines: 1, members: 4 */ | |
/* sum members: 39, holes: 2, sum holes: 9 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct PointedThing { | |
enum PointedThingType type; /* 0 4 */ | |
v3s16 node_undersurface; /* 4 6 */ | |
v3s16 node_abovesurface; /* 10 6 */ | |
v3s16 node_real_undersurface; /* 16 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
v3f intersection_point; /* 24 12 */ | |
v3s16 intersection_normal; /* 36 6 */ | |
s16 object_id; /* 42 2 */ | |
void PointedThing(class PointedThing *); | |
string dump(const class PointedThing *); | |
void serialize(const class PointedThing *, ostream &); | |
void deSerialize(class PointedThing *, istream &); | |
bool operator==(const class PointedThing *, const class PointedThing &); | |
bool operator!=(const class PointedThing *, const class PointedThing &); | |
void PointedThing(class PointedThing *, const class PointedThing &); | |
/* size: 44, cachelines: 1, members: 7 */ | |
/* sum members: 42, holes: 1, sum holes: 2 */ | |
/* last cacheline: 44 bytes */ | |
}; | |
class Player { | |
public: | |
int ()(void) * * _vptr.Player; /* 0 8 */ | |
v3f eye_offset_first; /* 8 12 */ | |
v3f eye_offset_third; /* 20 12 */ | |
class Inventory inventory; /* 32 40 */ | |
/* XXX last struct has 7 bytes of padding */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
f32 movement_acceleration_default; /* 72 4 */ | |
f32 movement_acceleration_air; /* 76 4 */ | |
f32 movement_acceleration_fast; /* 80 4 */ | |
f32 movement_speed_walk; /* 84 4 */ | |
f32 movement_speed_crouch; /* 88 4 */ | |
f32 movement_speed_fast; /* 92 4 */ | |
f32 movement_speed_climb; /* 96 4 */ | |
f32 movement_speed_jump; /* 100 4 */ | |
f32 movement_liquid_fluidity; /* 104 4 */ | |
f32 movement_liquid_fluidity_smooth; /* 108 4 */ | |
f32 movement_liquid_sink; /* 112 4 */ | |
f32 movement_gravity; /* 116 4 */ | |
v2s32 local_animations[4]; /* 120 32 */ | |
/* --- cacheline 2 boundary (128 bytes) was 24 bytes ago --- */ | |
float local_animation_speed; /* 152 4 */ | |
u16 peer_id; /* 156 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
string inventory_formspec; /* 160 32 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
struct PlayerControl control; /* 192 28 */ | |
u32 keyPressed; /* 220 4 */ | |
u32 hud_flags; /* 224 4 */ | |
s32 hud_hotbar_itemcount; /* 228 4 */ | |
protected: | |
char m_name[20]; /* 232 20 */ | |
v3f m_speed; /* 252 12 */ | |
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ | |
class vector<HudElement*, std::allocator<HudElement*> > hud; /* 264 24 */ | |
Mutex m_mutex; /* 288 40 */ | |
public: | |
void Player(class Player *, const char *, class IItemDefManager *); | |
virtual void ~Player(class Player *, int); | |
virtual void move(class Player *, f32, class Environment *, f32); | |
virtual void move(class Player *, f32, class Environment *, f32, class vector<CollisionInfo, std::allocator<CollisionInfo> > *); | |
v3f getSpeed(class Player *); | |
void setSpeed(class Player *, v3f); | |
const char * getName(const class Player *); | |
u32 getFreeHudID(class Player *); | |
const class PlayerControl & getPlayerControl(class Player *); | |
class HudElement * getHud(class Player *, u32); | |
u32 addHud(class Player *, class HudElement *); | |
class HudElement * removeHud(class Player *, u32); | |
void clearHud(class Player *); | |
/* vtable has 2 entries: { | |
[2] = move((null)), | |
[3] = move((null)), | |
} */ | |
/* size: 328, cachelines: 6, members: 28 */ | |
/* sum members: 326, holes: 1, sum holes: 2 */ | |
/* paddings: 1, sum paddings: 7 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct InventoryAction { | |
int ()(void) * * _vptr.InventoryAction; /* 0 8 */ | |
void InventoryAction(class InventoryAction *, const class InventoryAction &); | |
void InventoryAction(class InventoryAction *); | |
class InventoryAction * deSerialize(istream &); | |
virtual u16 getType(const class InventoryAction *); | |
virtual void serialize(const class InventoryAction *, ostream &); | |
virtual void apply(class InventoryAction *, class InventoryManager *, class ServerActiveObject *, class IGameDef *); | |
virtual void clientApply(class InventoryAction *, class InventoryManager *, class IGameDef *); | |
virtual void ~InventoryAction(class InventoryAction *, int); | |
/* vtable has 4 entries: { | |
[0] = getType((null)), | |
[1] = serialize((null)), | |
[2] = apply((null)), | |
[3] = clientApply((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class StackUnroller { | |
lua_State * m_lua; /* 0 8 */ | |
int m_original_top; /* 8 4 */ | |
public: | |
void StackUnroller(class StackUnroller *, lua_State *); | |
void ~StackUnroller(class StackUnroller *, int); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class LockChecker { | |
int * m_lock_recursion_counter; /* 0 8 */ | |
int m_original_level; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
threadid_t * m_owning_thread; /* 16 8 */ | |
public: | |
void LockChecker(class LockChecker *, int *, threadid_t *); | |
void ~LockChecker(class LockChecker *, int); | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* sum members: 20, holes: 1, sum holes: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class ClientScripting : virtual public ScriptApiBase, public ScriptApiSecurity, public ScriptApiClient { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
/* class ScriptApiSecurity <ancestor>; */ /* 0 136 */ | |
/* XXX last struct has 128 bytes of padding */ | |
/* class ScriptApiClient <ancestor>; */ /* 8 136 */ | |
/* XXX last struct has 128 bytes of padding */ | |
void ClientScripting(class ClientScripting *, int, const void * *, ); | |
void ClientScripting(class ClientScripting *, int, const void * *, const class ClientScripting &); | |
void ClientScripting(class ClientScripting *, int, const void * *, class Client *); | |
void on_client_ready(class ClientScripting *, class LocalPlayer *); | |
virtual void InitializeModApi(class ClientScripting *, lua_State *, int); | |
virtual void ~ClientScripting(class ClientScripting *, int, const void * *); | |
/* vtable has 1 entries: { | |
[2] = InitializeModApi((null)), | |
} */ | |
/* size: 144, cachelines: 3, members: 3 */ | |
/* paddings: 2, sum paddings: 256 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 144 != 0 + 0(holes), diff = 144 */ | |
}; | |
class ScriptApiSecurity : virtual public ScriptApiBase { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
int ()(void) * * _vptr.ScriptApiSecurity; /* 0 8 */ | |
void ScriptApiSecurity(class ScriptApiSecurity *, int, const void * *, ); | |
void ScriptApiSecurity(class ScriptApiSecurity *, int, const void * *, const class ScriptApiSecurity &); | |
void ScriptApiSecurity(class ScriptApiSecurity *, int, const void * *); | |
int backupGlobals(class ScriptApiSecurity *, lua_State *); | |
void initializeSecurity(class ScriptApiSecurity *); | |
void initializeSecurityClient(class ScriptApiSecurity *); | |
bool isSecure(lua_State *); | |
bool safeLoadFile(lua_State *, const char *); | |
bool checkPath(lua_State *, const char *, bool, bool *); | |
int sl_g_dofile(lua_State *); | |
int sl_g_load(lua_State *); | |
int sl_g_loadfile(lua_State *); | |
int sl_g_loadstring(lua_State *); | |
int sl_g_require(lua_State *); | |
int sl_io_open(lua_State *); | |
int sl_io_input(lua_State *); | |
int sl_io_output(lua_State *); | |
int sl_io_lines(lua_State *); | |
int sl_os_rename(lua_State *); | |
int sl_os_remove(lua_State *); | |
virtual void ~ScriptApiSecurity(class ScriptApiSecurity *, int, const void * *); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* padding: 128 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ScriptApiClient : virtual public ScriptApiBase { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
int ()(void) * * _vptr.ScriptApiClient; /* 0 8 */ | |
void ScriptApiClient(class ScriptApiClient *, int, const void * *, ); | |
void ScriptApiClient(class ScriptApiClient *, int, const void * *, const class ScriptApiClient &); | |
void ScriptApiClient(class ScriptApiClient *, int, const void * *); | |
void on_shutdown(class ScriptApiClient *); | |
void on_connect(class ScriptApiClient *); | |
bool on_sending_message(class ScriptApiClient *, const string &); | |
bool on_receiving_message(class ScriptApiClient *, const string &); | |
void on_damage_taken(class ScriptApiClient *, int32_t); | |
void on_hp_modification(class ScriptApiClient *, int32_t); | |
void on_death(class ScriptApiClient *); | |
void environment_step(class ScriptApiClient *, float); | |
void on_formspec_input(class ScriptApiClient *, const string &, const StringMap &); | |
bool on_dignode(class ScriptApiClient *, v3s16, class MapNode); | |
bool on_punchnode(class ScriptApiClient *, v3s16, class MapNode); | |
void setEnv(class ScriptApiClient *, class ClientEnvironment *); | |
virtual void ~ScriptApiClient(class ScriptApiClient *, int, const void * *); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* padding: 128 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ObjectProperties { | |
s16 hp_max; /* 0 2 */ | |
bool physical; /* 2 1 */ | |
bool collideWithObjects; /* 3 1 */ | |
float weight; /* 4 4 */ | |
aabb3f collisionbox; /* 8 24 */ | |
string visual; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
string mesh; /* 64 32 */ | |
v2f visual_size; /* 96 8 */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > textures; /* 104 24 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class vector<irr::video::SColor, std::allocator<irr::video::SColor> > colors; /* 128 24 */ | |
v2s16 spritediv; /* 152 4 */ | |
v2s16 initial_sprite_basepos; /* 156 4 */ | |
bool is_visible; /* 160 1 */ | |
bool makes_footstep_sound; /* 161 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float automatic_rotate; /* 164 4 */ | |
f32 stepheight; /* 168 4 */ | |
bool automatic_face_movement_dir; /* 172 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
f32 automatic_face_movement_dir_offset; /* 176 4 */ | |
bool backface_culling; /* 180 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
string nametag; /* 184 32 */ | |
/* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ | |
class SColor nametag_color; /* 216 4 */ | |
f32 automatic_face_movement_max_rotation_per_sec; /* 220 4 */ | |
string infotext; /* 224 32 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
string wield_item; /* 256 32 */ | |
void ObjectProperties(class ObjectProperties *); | |
string dump(class ObjectProperties *); | |
void serialize(const class ObjectProperties *, ostream &); | |
void deSerialize(class ObjectProperties *, istream &); | |
/* size: 288, cachelines: 5, members: 24 */ | |
/* sum members: 280, holes: 3, sum holes: 8 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct luaL_Reg { | |
const char * name; /* 0 8 */ | |
lua_CFunction func; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class ModApiBase { | |
public: | |
class ScriptApiBase * getScriptApiBase(lua_State *); | |
class Server * getServer(lua_State *); | |
class Client * getClient(lua_State *); | |
class IGameDef * getGameDef(lua_State *); | |
class Environment * getEnv(lua_State *); | |
class GUIEngine * getGuiEngine(lua_State *); | |
string getCurrentModPath(lua_State *); | |
bool registerFunction(lua_State *, const char *, lua_CFunction, int); | |
/* size: 1, cachelines: 0, members: 0 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class ObjectRef : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
class ServerActiveObject * m_object; /* 0 8 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
class ObjectRef * checkobject(lua_State *, int); | |
class ServerActiveObject * getobject(class ObjectRef *); | |
class LuaEntitySAO * getluaobject(class ObjectRef *); | |
class PlayerSAO * getplayersao(class ObjectRef *); | |
class RemotePlayer * getplayer(class ObjectRef *); | |
int gc_object(lua_State *); | |
int l_remove(lua_State *); | |
int l_get_pos(lua_State *); | |
int l_set_pos(lua_State *); | |
int l_move_to(lua_State *); | |
int l_punch(lua_State *); | |
int l_right_click(lua_State *); | |
int l_set_hp(lua_State *); | |
int l_get_hp(lua_State *); | |
int l_get_inventory(lua_State *); | |
int l_get_wield_list(lua_State *); | |
int l_get_wield_index(lua_State *); | |
int l_get_wielded_item(lua_State *); | |
int l_set_wielded_item(lua_State *); | |
int l_set_armor_groups(lua_State *); | |
int l_get_armor_groups(lua_State *); | |
int l_set_physics_override(lua_State *); | |
int l_get_physics_override(lua_State *); | |
int l_set_animation(lua_State *); | |
int l_get_animation(lua_State *); | |
int l_set_bone_position(lua_State *); | |
int l_get_bone_position(lua_State *); | |
int l_set_attach(lua_State *); | |
int l_get_attach(lua_State *); | |
int l_set_detach(lua_State *); | |
int l_set_properties(lua_State *); | |
int l_get_properties(lua_State *); | |
int l_is_player(lua_State *); | |
int l_set_velocity(lua_State *); | |
int l_get_velocity(lua_State *); | |
int l_set_acceleration(lua_State *); | |
int l_get_acceleration(lua_State *); | |
int l_set_yaw(lua_State *); | |
int l_get_yaw(lua_State *); | |
int l_set_texture_mod(lua_State *); | |
int l_get_texture_mod(lua_State *); | |
int l_set_sprite(lua_State *); | |
int l_get_entity_name(lua_State *); | |
int l_get_luaentity(lua_State *); | |
int l_is_player_connected(lua_State *); | |
int l_get_player_name(lua_State *); | |
int l_get_player_velocity(lua_State *); | |
int l_get_look_dir(lua_State *); | |
int l_get_look_pitch(lua_State *); | |
int l_get_look_yaw(lua_State *); | |
int l_get_look_vertical(lua_State *); | |
int l_get_look_horizontal(lua_State *); | |
int l_set_look_vertical(lua_State *); | |
int l_set_look_horizontal(lua_State *); | |
int l_set_look_pitch(lua_State *); | |
int l_set_look_yaw(lua_State *); | |
int l_set_breath(lua_State *); | |
int l_get_breath(lua_State *); | |
int l_set_attribute(lua_State *); | |
int l_get_attribute(lua_State *); | |
int l_set_inventory_formspec(lua_State *); | |
int l_get_inventory_formspec(lua_State *); | |
int l_get_player_control(lua_State *); | |
int l_get_player_control_bits(lua_State *); | |
int l_hud_add(lua_State *); | |
int l_hud_remove(lua_State *); | |
int l_hud_change(lua_State *); | |
u32 hud_get_next_id(lua_State *); | |
int l_hud_get(lua_State *); | |
int l_hud_set_flags(lua_State *); | |
int l_hud_get_flags(lua_State *); | |
int l_hud_set_hotbar_itemcount(lua_State *); | |
int l_hud_get_hotbar_itemcount(lua_State *); | |
int l_hud_set_hotbar_image(lua_State *); | |
int l_hud_get_hotbar_image(lua_State *); | |
int l_hud_set_hotbar_selected_image(lua_State *); | |
int l_hud_get_hotbar_selected_image(lua_State *); | |
int l_set_sky(lua_State *); | |
int l_get_sky(lua_State *); | |
int l_override_day_night_ratio(lua_State *); | |
int l_get_day_night_ratio(lua_State *); | |
int l_set_local_animation(lua_State *); | |
int l_get_local_animation(lua_State *); | |
int l_set_eye_offset(lua_State *); | |
int l_get_eye_offset(lua_State *); | |
int l_set_nametag_attributes(lua_State *); | |
int l_get_nametag_attributes(lua_State *); | |
void ObjectRef(class ObjectRef *, class ServerActiveObject *); | |
void ~ObjectRef(class ObjectRef *, int); | |
void create(lua_State *, class ServerActiveObject *); | |
void set_null(lua_State *); | |
void Register(lua_State *); | |
/* size: 8, cachelines: 1, members: 2, static members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class LuaItemStack : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
struct ItemStack m_stack; /* 0 104 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
int gc_object(lua_State *); | |
int l_is_empty(lua_State *); | |
int l_get_name(lua_State *); | |
int l_set_name(lua_State *); | |
int l_get_count(lua_State *); | |
int l_set_count(lua_State *); | |
int l_get_wear(lua_State *); | |
int l_set_wear(lua_State *); | |
int l_get_meta(lua_State *); | |
int l_get_metadata(lua_State *); | |
int l_set_metadata(lua_State *); | |
int l_clear(lua_State *); | |
int l_replace(lua_State *); | |
int l_to_string(lua_State *); | |
int l_to_table(lua_State *); | |
int l_get_stack_max(lua_State *); | |
int l_get_free_space(lua_State *); | |
int l_is_known(lua_State *); | |
int l_get_definition(lua_State *); | |
int l_get_tool_capabilities(lua_State *); | |
int l_add_wear(lua_State *); | |
int l_add_item(lua_State *); | |
int l_item_fits(lua_State *); | |
int l_take_item(lua_State *); | |
int l_peek_item(lua_State *); | |
void LuaItemStack(class LuaItemStack *, const class ItemStack &); | |
void ~LuaItemStack(class LuaItemStack *, int); | |
const class ItemStack & getItem(const class LuaItemStack *); | |
class ItemStack & getItem(class LuaItemStack *); | |
int create_object(lua_State *); | |
int create(lua_State *, const class ItemStack &); | |
class LuaItemStack * checkobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 104, cachelines: 2, members: 2, static members: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct HitParams { | |
s16 hp; /* 0 2 */ | |
s16 wear; /* 2 2 */ | |
void HitParams(class HitParams *, s16, s16); | |
/* size: 4, cachelines: 1, members: 2 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
class ActiveObject { | |
public: | |
int ()(void) * * _vptr.ActiveObject; /* 0 8 */ | |
protected: | |
u16 m_id; /* 8 2 */ | |
public: | |
void ActiveObject(class ActiveObject *, u16); | |
u16 getId(class ActiveObject *); | |
void setId(class ActiveObject *, u16); | |
virtual enum ActiveObjectType getType(const class ActiveObject *); | |
virtual bool getCollisionBox(const class ActiveObject *, aabb3f *); | |
virtual bool collideWithObjects(const class ActiveObject *); | |
/* vtable has 3 entries: { | |
[0] = getType((null)), | |
[1] = getCollisionBox((null)), | |
[2] = collideWithObjects((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 6 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class LuaError : public ModError { | |
public: | |
/* class ModError <ancestor>; */ /* 0 40 */ | |
void LuaError(class LuaError *, ); | |
void LuaError(class LuaError *, const class LuaError &); | |
void LuaError(class LuaError *, const string &); | |
virtual void ~LuaError(class LuaError *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class ModError : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void ModError(class ModError *, ); | |
void ModError(class ModError *, const class ModError &); | |
void ModError(class ModError *, const string &); | |
virtual void ~ModError(class ModError *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct LuaJobInfo { | |
string serializedFunction; /* 0 32 */ | |
string serializedParams; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
string serializedResult; /* 64 32 */ | |
unsigned int id; /* 96 4 */ | |
bool valid; /* 100 1 */ | |
void LuaJobInfo(class LuaJobInfo *); | |
void LuaJobInfo(class LuaJobInfo *, const class LuaJobInfo &); | |
class LuaJobInfo & operator=(class LuaJobInfo *, const class LuaJobInfo &); | |
void ~LuaJobInfo(class LuaJobInfo *, int); | |
/* size: 104, cachelines: 2, members: 5 */ | |
/* padding: 3 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class AsyncWorkerThread : public Thread, public ScriptApiBase { | |
public: | |
/* class Thread <ancestor>; */ /* 0 0 */ | |
/* XXX 144 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 144 0 */ | |
/* XXX 128 bytes hole, try to pack */ | |
/* --- cacheline 4 boundary (256 bytes) was 16 bytes ago --- */ | |
class AsyncEngine * jobDispatcher; /* 272 8 */ | |
void AsyncWorkerThread(class AsyncWorkerThread *, const class AsyncWorkerThread &); | |
void AsyncWorkerThread(class AsyncWorkerThread *, class AsyncEngine *, const string &); | |
virtual void ~AsyncWorkerThread(class AsyncWorkerThread *, int); | |
virtual void * run(class AsyncWorkerThread *); | |
/* vtable has 1 entries: { | |
[2] = run((null)), | |
} */ | |
/* size: 280, cachelines: 5, members: 3 */ | |
/* sum members: 8, holes: 2, sum holes: 272 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class AsyncEngine { | |
bool initDone; /* 0 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int (*)(lua_State*), std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int (*)(lua_State*)> > > functionList; /* 8 56 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
unsigned int jobIdCounter; /* 64 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
Mutex jobQueueMutex; /* 72 40 */ | |
class deque<LuaJobInfo, std::allocator<LuaJobInfo> > jobQueue; /* 112 80 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
Mutex resultQueueMutex; /* 192 40 */ | |
class deque<LuaJobInfo, std::allocator<LuaJobInfo> > resultQueue; /* 232 80 */ | |
/* --- cacheline 4 boundary (256 bytes) was 56 bytes ago --- */ | |
class vector<AsyncWorkerThread*, std::allocator<AsyncWorkerThread*> > workerThreads; /* 312 24 */ | |
/* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */ | |
class Semaphore jobQueueCounter; /* 336 32 */ | |
public: | |
void AsyncEngine(class AsyncEngine *); | |
void ~AsyncEngine(class AsyncEngine *, int); | |
bool registerFunction(class AsyncEngine *, const char *, lua_CFunction); | |
void initialize(class AsyncEngine *, unsigned int); | |
unsigned int queueAsyncJob(class AsyncEngine *, const string &, const string &); | |
void step(class AsyncEngine *, lua_State *); | |
void pushFinishedJobs(class AsyncEngine *, lua_State *); | |
protected: | |
class LuaJobInfo getJob(class AsyncEngine *); | |
void putJobResult(class AsyncEngine *, const class LuaJobInfo &); | |
void prepareEnvironment(class AsyncEngine *, lua_State *, int); | |
/* size: 368, cachelines: 6, members: 9 */ | |
/* sum members: 357, holes: 2, sum holes: 11 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class ScriptApiBase { | |
public: | |
int ()(void) * * _vptr.ScriptApiBase; /* 0 8 */ | |
protected: | |
RecursiveMutex m_luastackmutex; /* 8 40 */ | |
string m_last_run_mod; /* 48 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
bool m_secure; /* 80 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int m_lock_recursion_count; /* 84 4 */ | |
threadid_t m_owning_thread; /* 88 8 */ | |
lua_State * m_luastack; /* 96 8 */ | |
class IGameDef * m_gamedef; /* 104 8 */ | |
class Environment * m_environment; /* 112 8 */ | |
class GUIEngine * m_guiengine; /* 120 8 */ | |
public: | |
void ScriptApiBase(class ScriptApiBase *, const class ScriptApiBase &); | |
void ScriptApiBase(class ScriptApiBase *); | |
virtual void ~ScriptApiBase(class ScriptApiBase *, int); | |
void loadMod(class ScriptApiBase *, const string &, const string &); | |
void loadScript(class ScriptApiBase *, const string &); | |
void runCallbacksRaw(class ScriptApiBase *, int, enum RunCallbacksMode, const char *); | |
void addObjectReference(class ScriptApiBase *, class ServerActiveObject *); | |
void removeObjectReference(class ScriptApiBase *, class ServerActiveObject *); | |
class IGameDef * getGameDef(class ScriptApiBase *); | |
class Server * getServer(class ScriptApiBase *); | |
class Client * getClient(class ScriptApiBase *); | |
string getOrigin(class ScriptApiBase *); | |
void setOriginDirect(class ScriptApiBase *, const char *); | |
void setOriginFromTableRaw(class ScriptApiBase *, int, const char *); | |
protected: | |
lua_State * getStack(class ScriptApiBase *); | |
void realityCheck(class ScriptApiBase *); | |
void scriptError(class ScriptApiBase *, int, const char *); | |
void stackDump(class ScriptApiBase *, ostream &); | |
void setGameDef(class ScriptApiBase *, class IGameDef *); | |
class Environment * getEnv(class ScriptApiBase *); | |
void setEnv(class ScriptApiBase *, class Environment *); | |
class GUIEngine * getGuiEngine(class ScriptApiBase *); | |
void setGuiEngine(class ScriptApiBase *, class GUIEngine *); | |
void objectrefGetOrCreate(class ScriptApiBase *, lua_State *, class ServerActiveObject *); | |
void objectrefGet(class ScriptApiBase *, lua_State *, u16); | |
int luaPanic(lua_State *); | |
/* size: 128, cachelines: 2, members: 10 */ | |
/* sum members: 125, holes: 1, sum holes: 3 */ | |
}; | |
class ModNameStorer { | |
lua_State * L; /* 0 8 */ | |
public: | |
void ModNameStorer(class ModNameStorer *, lua_State *, const string &); | |
void ~ModNameStorer(class ModNameStorer *, int); | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ActiveBlockModifier { | |
public: | |
int ()(void) * * _vptr.ActiveBlockModifier; /* 0 8 */ | |
void ActiveBlockModifier(class ActiveBlockModifier *, const class ActiveBlockModifier &); | |
void ActiveBlockModifier(class ActiveBlockModifier *); | |
virtual void ~ActiveBlockModifier(class ActiveBlockModifier *, int); | |
virtual class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string getTriggerContents(class ActiveBlockModifier *); | |
virtual class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string getRequiredNeighbors(class ActiveBlockModifier *); | |
virtual float getTriggerInterval(class ActiveBlockModifier *); | |
virtual u32 getTriggerChance(class ActiveBlockModifier *); | |
virtual bool getSimpleCatchUp(class ActiveBlockModifier *); | |
virtual void trigger(class ActiveBlockModifier *, class ServerEnvironment *, v3s16, class MapNode); | |
virtual void trigger(class ActiveBlockModifier *, class ServerEnvironment *, v3s16, class MapNode, u32, u32); | |
/* vtable has 7 entries: { | |
[2] = getTriggerContents((null)), | |
[3] = getRequiredNeighbors((null)), | |
[4] = getTriggerInterval((null)), | |
[5] = getTriggerChance((null)), | |
[6] = getSimpleCatchUp((null)), | |
[7] = trigger((null)), | |
[8] = trigger((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct LoadingBlockModifierDef { | |
int ()(void) * * _vptr.LoadingBlockModifierDef; /* 0 8 */ | |
class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > trigger_contents; /* 8 48 */ | |
string name; /* 56 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ | |
bool run_at_every_load; /* 88 1 */ | |
void LoadingBlockModifierDef(class LoadingBlockModifierDef *, const class LoadingBlockModifierDef &); | |
void LoadingBlockModifierDef(class LoadingBlockModifierDef *); | |
virtual void ~LoadingBlockModifierDef(class LoadingBlockModifierDef *, int); | |
virtual void trigger(class LoadingBlockModifierDef *, class ServerEnvironment *, v3s16, class MapNode); | |
/* vtable has 1 entries: { | |
[2] = trigger((null)), | |
} */ | |
/* size: 96, cachelines: 2, members: 4 */ | |
/* padding: 7 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct ScriptCallbackState { | |
class ServerScripting * script; /* 0 8 */ | |
int callback_ref; /* 8 4 */ | |
int args_ref; /* 12 4 */ | |
unsigned int refcount; /* 16 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string origin; /* 24 32 */ | |
/* size: 56, cachelines: 1, members: 5 */ | |
/* sum members: 52, holes: 1, sum holes: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class MutexedVariable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > { | |
public: | |
class basic_string<char, std::char_traits<char>, std::allocator<char> > m_value; /* 0 32 */ | |
Mutex m_mutex; /* 32 40 */ | |
void MutexedVariable(class MutexedVariable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > *, const class basic_string<char, std::char_traits<char>, std::allocator<char> > &); | |
class basic_string<char, std::char_traits<char>, std::allocator<char> > get(class MutexedVariable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > *); | |
void set(class MutexedVariable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > *, const class basic_string<char, std::char_traits<char>, std::allocator<char> > &); | |
/* size: 72, cachelines: 2, members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ScriptApiNode : virtual public ScriptApiBase, public ScriptApiNodemeta { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
/* class ScriptApiNodemeta <ancestor>; */ /* 0 0 */ | |
static struct EnumString es_DrawType[18] /* 0 0 */ | |
static struct EnumString es_ContentParamType[3] /* 0 0 */ | |
static struct EnumString es_ContentParamType2[13] /* 0 0 */ | |
static struct EnumString es_LiquidType[4] /* 0 0 */ | |
static struct EnumString es_NodeBoxType[6] /* 0 0 */ | |
void ScriptApiNode(class ScriptApiNode *, int, const void * *, const class ScriptApiNode &); | |
void ScriptApiNode(class ScriptApiNode *, int, const void * *); | |
virtual void ~ScriptApiNode(class ScriptApiNode *, int, const void * *); | |
bool node_on_punch(class ScriptApiNode *, v3s16, class MapNode, class ServerActiveObject *, class PointedThing); | |
bool node_on_dig(class ScriptApiNode *, v3s16, class MapNode, class ServerActiveObject *); | |
void node_on_construct(class ScriptApiNode *, v3s16, class MapNode); | |
void node_on_destruct(class ScriptApiNode *, v3s16, class MapNode); | |
void node_after_destruct(class ScriptApiNode *, v3s16, class MapNode); | |
bool node_on_timer(class ScriptApiNode *, v3s16, class MapNode, f32); | |
void node_on_receive_fields(class ScriptApiNode *, v3s16, const string &, const StringMap &, class ServerActiveObject *); | |
void node_falling_update(class ScriptApiNode *, v3s16); | |
void node_falling_update_single(class ScriptApiNode *, v3s16); | |
/* size: 136, cachelines: 3, members: 2, static members: 5 */ | |
/* padding: 136 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ScriptApiItem : virtual public ScriptApiBase { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
int ()(void) * * _vptr.ScriptApiItem; /* 0 8 */ | |
void ScriptApiItem(class ScriptApiItem *, int, const void * *, ); | |
void ScriptApiItem(class ScriptApiItem *, int, const void * *, const class ScriptApiItem &); | |
void ScriptApiItem(class ScriptApiItem *, int, const void * *); | |
bool item_OnDrop(class ScriptApiItem *, class ItemStack &, class ServerActiveObject *, v3f); | |
bool item_OnPlace(class ScriptApiItem *, class ItemStack &, class ServerActiveObject *, const class PointedThing &); | |
bool item_OnUse(class ScriptApiItem *, class ItemStack &, class ServerActiveObject *, const class PointedThing &); | |
bool item_OnSecondaryUse(class ScriptApiItem *, class ItemStack &, class ServerActiveObject *); | |
bool item_OnCraft(class ScriptApiItem *, class ItemStack &, class ServerActiveObject *, const class InventoryList *, const class InventoryLocation &); | |
bool item_CraftPredict(class ScriptApiItem *, class ItemStack &, class ServerActiveObject *, const class InventoryList *, const class InventoryLocation &); | |
protected: | |
bool getItemCallback(class ScriptApiItem *, const char *, const char *); | |
void pushPointedThing(class ScriptApiItem *, const class PointedThing &); | |
public: | |
virtual void ~ScriptApiItem(class ScriptApiItem *, int, const void * *); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* padding: 128 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ScriptApiNodemeta : virtual public ScriptApiBase, public ScriptApiItem { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
/* class ScriptApiItem <ancestor>; */ /* 0 136 */ | |
/* XXX last struct has 128 bytes of padding */ | |
void ScriptApiNodemeta(class ScriptApiNodemeta *, int, const void * *, const class ScriptApiNodemeta &); | |
void ScriptApiNodemeta(class ScriptApiNodemeta *, int, const void * *); | |
virtual void ~ScriptApiNodemeta(class ScriptApiNodemeta *, int, const void * *); | |
int nodemeta_inventory_AllowMove(class ScriptApiNodemeta *, v3s16, const string &, int, const string &, int, int, class ServerActiveObject *); | |
int nodemeta_inventory_AllowPut(class ScriptApiNodemeta *, v3s16, const string &, int, class ItemStack &, class ServerActiveObject *); | |
int nodemeta_inventory_AllowTake(class ScriptApiNodemeta *, v3s16, const string &, int, class ItemStack &, class ServerActiveObject *); | |
void nodemeta_inventory_OnMove(class ScriptApiNodemeta *, v3s16, const string &, int, const string &, int, int, class ServerActiveObject *); | |
void nodemeta_inventory_OnPut(class ScriptApiNodemeta *, v3s16, const string &, int, class ItemStack &, class ServerActiveObject *); | |
void nodemeta_inventory_OnTake(class ScriptApiNodemeta *, v3s16, const string &, int, class ItemStack &, class ServerActiveObject *); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* paddings: 1, sum paddings: 128 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 136 != 0 + 0(holes), diff = 136 */ | |
}; | |
class ScriptApiPlayer : virtual public ScriptApiBase { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
int ()(void) * * _vptr.ScriptApiPlayer; /* 0 8 */ | |
virtual void ~ScriptApiPlayer(class ScriptApiPlayer *, int, const void * *); | |
void on_newplayer(class ScriptApiPlayer *, class ServerActiveObject *); | |
void on_dieplayer(class ScriptApiPlayer *, class ServerActiveObject *); | |
bool on_respawnplayer(class ScriptApiPlayer *, class ServerActiveObject *); | |
bool on_prejoinplayer(class ScriptApiPlayer *, const string &, const string &, string *); | |
void on_joinplayer(class ScriptApiPlayer *, class ServerActiveObject *); | |
void on_leaveplayer(class ScriptApiPlayer *, class ServerActiveObject *, bool); | |
void on_cheat(class ScriptApiPlayer *, class ServerActiveObject *, const string &); | |
bool on_punchplayer(class ScriptApiPlayer *, class ServerActiveObject *, class ServerActiveObject *, float, const class ToolCapabilities *, v3f, s16); | |
s16 on_player_hpchange(class ScriptApiPlayer *, class ServerActiveObject *, s16); | |
void on_playerReceiveFields(class ScriptApiPlayer *, class ServerActiveObject *, const string &, const StringMap &); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* padding: 128 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ModSpec { | |
string name; /* 0 32 */ | |
string path; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > depends; /* 64 56 */ | |
class unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > optdepends; /* 120 56 */ | |
/* --- cacheline 2 boundary (128 bytes) was 48 bytes ago --- */ | |
class unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > unsatisfied_depends; /* 176 56 */ | |
/* --- cacheline 3 boundary (192 bytes) was 40 bytes ago --- */ | |
bool part_of_modpack; /* 232 1 */ | |
bool is_modpack; /* 233 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ModSpec, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ModSpec> > > modpack_content; /* 240 48 */ | |
void ModSpec(class ModSpec *, const string &, const string &); | |
void ~ModSpec(class ModSpec *, int); | |
void ModSpec(class ModSpec *, const class ModSpec &); | |
/* size: 288, cachelines: 5, members: 8 */ | |
/* sum members: 282, holes: 1, sum holes: 6 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class LuaAreaStore : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
class AreaStore * as; /* 0 8 */ | |
int gc_object(lua_State *); | |
int l_get_area(lua_State *); | |
int l_get_areas_for_pos(lua_State *); | |
int l_get_areas_in_area(lua_State *); | |
int l_insert_area(lua_State *); | |
int l_reserve(lua_State *); | |
int l_remove_area(lua_State *); | |
int l_set_cache_params(lua_State *); | |
int l_to_string(lua_State *); | |
int l_to_file(lua_State *); | |
int l_from_string(lua_State *); | |
int l_from_file(lua_State *); | |
void LuaAreaStore(class LuaAreaStore *); | |
void LuaAreaStore(class LuaAreaStore *, const string &); | |
void ~LuaAreaStore(class LuaAreaStore *, int); | |
int create_object(lua_State *); | |
class LuaAreaStore * checkobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 8, cachelines: 1, members: 2, static members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class AreaStore { | |
public: | |
int ()(void) * * _vptr.AreaStore; /* 0 8 */ | |
typedef struct map<unsigned int, Area, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, Area> > > AreaMap; | |
protected: | |
AreaMap areas_map; /* 8 48 */ | |
bool m_cache_enabled; /* 56 1 */ | |
u8 m_cacheblock_radius; /* 57 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class LRUCache<irr::core::vector3d<short int>, std::vector<Area*, std::allocator<Area*> > > m_res_cache; /* 64 96 */ | |
/* --- cacheline 2 boundary (128 bytes) was 32 bytes ago --- */ | |
u32 m_next_id; /* 160 4 */ | |
public: | |
void AreaStore(class AreaStore *, const class AreaStore &); | |
void AreaStore(class AreaStore *); | |
virtual void ~AreaStore(class AreaStore *, int); | |
class AreaStore * getOptimalImplementation(void); | |
virtual void reserve(class AreaStore *, size_t); | |
size_t size(const class AreaStore *); | |
virtual bool insertArea(class AreaStore *, class Area *); | |
virtual bool removeArea(class AreaStore *, u32); | |
void getAreasForPos(class AreaStore *, class vector<Area*, std::allocator<Area*> > *, v3s16); | |
virtual void getAreasInArea(class AreaStore *, class vector<Area*, std::allocator<Area*> > *, v3s16, v3s16, bool); | |
void setCacheParams(class AreaStore *, bool, u8, size_t); | |
const class Area * getArea(const class AreaStore *, u32); | |
void serialize(const class AreaStore *, ostream &); | |
void deserialize(class AreaStore *, istream &); | |
protected: | |
void invalidateCache(class AreaStore *); | |
virtual void getAreasForPosImpl(class AreaStore *, class vector<Area*, std::allocator<Area*> > *, v3s16); | |
u32 getNextId(class AreaStore *); | |
void cacheMiss(void *, const v3s16 &, class vector<Area*, std::allocator<Area*> > *); | |
/* vtable has 5 entries: { | |
[2] = reserve((null)), | |
[3] = insertArea((null)), | |
[4] = removeArea((null)), | |
[5] = getAreasInArea((null)), | |
[6] = getAreasForPosImpl((null)), | |
} */ | |
/* size: 168, cachelines: 3, members: 6 */ | |
/* sum members: 158, holes: 1, sum holes: 6 */ | |
/* padding: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct Area { | |
u32 id; /* 0 4 */ | |
v3s16 minedge; /* 4 6 */ | |
v3s16 maxedge; /* 10 6 */ | |
string data; /* 16 32 */ | |
void Area(class Area *); | |
void Area(class Area *, const v3s16 &, const v3s16 &); | |
void ~Area(class Area *, int); | |
/* size: 48, cachelines: 1, members: 4 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class LRUCache<irr::core::vector3d<short int>, std::vector<Area*, std::allocator<Area*> > > { | |
void (*m_cache_miss)(void *, const class vector3d<short int> &, class vector<Area*, std::allocator<Area*> > *); /* 0 8 */ | |
void * m_cache_miss_data; /* 8 8 */ | |
size_t m_limit; /* 16 8 */ | |
typedef struct map<irr::core::vector3d<short int>, std::pair<std::_List_iterator<irr::core::vector3d<short int> >, std::vector<Area*, std::allocator<Area*> > >, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, std::pair<std::_List_iterator<irr::core::vector3d<short int> >, std::vector<Area*, std::allocator<Area*> > > > > > cache_type; | |
cache_type m_map; /* 24 48 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class list<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > m_queue; /* 72 24 */ | |
public: | |
void LRUCache(class LRUCache<irr::core::vector3d<short int>, std::vector<Area*, std::allocator<Area*> > > *, size_t, void (*)(void *, const class vector3d<short int> &, class vector<Area*, std::allocator<Area*> > *), void *); | |
void setLimit(class LRUCache<irr::core::vector3d<short int>, std::vector<Area*, std::allocator<Area*> > > *, size_t); | |
void invalidate(class LRUCache<irr::core::vector3d<short int>, std::vector<Area*, std::allocator<Area*> > > *); | |
const class vector<Area*, std::allocator<Area*> > * lookupCache(class LRUCache<irr::core::vector3d<short int>, std::vector<Area*, std::allocator<Area*> > > *, class vector3d<short int>); | |
/* size: 96, cachelines: 2, members: 5 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class ModApiClient : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
int l_get_current_modname(lua_State *); | |
int l_display_chat_message(lua_State *); | |
int l_get_player_names(lua_State *); | |
int l_show_formspec(lua_State *); | |
int l_send_respawn(lua_State *); | |
int l_disconnect(lua_State *); | |
int l_gettext(lua_State *); | |
int l_get_last_run_mod(lua_State *); | |
int l_set_last_run_mod(lua_State *); | |
int l_get_node(lua_State *); | |
int l_get_node_or_nil(lua_State *); | |
int l_get_wielded_item(lua_State *); | |
int l_get_meta(lua_State *); | |
int l_sound_play(lua_State *); | |
int l_sound_stop(lua_State *); | |
int l_get_protocol_version(lua_State *); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class ISoundManager { | |
public: | |
int ()(void) * * _vptr.ISoundManager; /* 0 8 */ | |
virtual void ~ISoundManager(class ISoundManager *, int); | |
virtual bool loadSoundFile(class ISoundManager *, const string &, const string &); | |
virtual bool loadSoundData(class ISoundManager *, const string &, const string &); | |
virtual void updateListener(class ISoundManager *, v3f, v3f, v3f, v3f); | |
virtual void setListenerGain(class ISoundManager *, float); | |
virtual int playSound(class ISoundManager *, const string &, bool, float); | |
virtual int playSoundAt(class ISoundManager *, const string &, bool, float, v3f); | |
virtual void stopSound(class ISoundManager *, int); | |
virtual bool soundExists(class ISoundManager *, int); | |
virtual void updateSoundPosition(class ISoundManager *, int, v3f); | |
int playSound(class ISoundManager *, const class SimpleSoundSpec &, bool); | |
int playSoundAt(class ISoundManager *, const class SimpleSoundSpec &, bool, v3f); | |
/* vtable has 9 entries: { | |
[2] = loadSoundFile((null)), | |
[3] = loadSoundData((null)), | |
[4] = updateListener((null)), | |
[5] = setListenerGain((null)), | |
[6] = playSound((null)), | |
[7] = playSoundAt((null)), | |
[8] = stopSound((null)), | |
[9] = soundExists((null)), | |
[10] = updateSoundPosition((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ModApiCraft : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
static struct EnumString es_CraftMethod[0] /* 0 0 */ | |
int l_register_craft(lua_State *); | |
int l_get_craft_recipe(lua_State *); | |
int l_get_all_craft_recipes(lua_State *); | |
int l_get_craft_result(lua_State *); | |
int l_clear_craft(lua_State *); | |
bool readCraftReplacements(lua_State *, int, class CraftReplacements &); | |
bool readCraftRecipeShapeless(lua_State *, int, class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi); | |
bool readCraftRecipeShaped(lua_State *, int, int &, class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1, static members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
struct CraftReplacements { | |
class vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > pairs; /* 0 24 */ | |
void CraftReplacements(class CraftReplacements *); | |
void CraftReplacements(class CraftReplacements *, const class vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::bas); | |
string dump(const class CraftReplacements *); | |
void CraftReplacements(class CraftReplacements *, const class CraftReplacements &); | |
void ~CraftReplacements(class CraftReplacements *, int); | |
/* size: 24, cachelines: 1, members: 1 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct CraftInput { | |
enum CraftMethod method; /* 0 4 */ | |
unsigned int width; /* 4 4 */ | |
class vector<ItemStack, std::allocator<ItemStack> > items; /* 8 24 */ | |
void CraftInput(class CraftInput *); | |
void CraftInput(class CraftInput *, enum CraftMethod, unsigned int, const class vector<ItemStack, std::allocator<ItemStack> > &); | |
string dump(const class CraftInput *); | |
void ~CraftInput(class CraftInput *, int); | |
/* size: 32, cachelines: 1, members: 3 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct CraftOutput { | |
string item; /* 0 32 */ | |
float time; /* 32 4 */ | |
void CraftOutput(class CraftOutput *); | |
void CraftOutput(class CraftOutput *, const string &, float); | |
string dump(const class CraftOutput *); | |
void ~CraftOutput(class CraftOutput *, int); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class CraftDefinition { | |
public: | |
int ()(void) * * _vptr.CraftDefinition; /* 0 8 */ | |
void CraftDefinition(class CraftDefinition *, const class CraftDefinition &); | |
void CraftDefinition(class CraftDefinition *); | |
virtual void ~CraftDefinition(class CraftDefinition *, int); | |
virtual string getName(const class CraftDefinition *); | |
virtual bool check(const class CraftDefinition *, const class CraftInput &, class IGameDef *); | |
virtual class CraftOutput getOutput(const class CraftDefinition *, const class CraftInput &, class IGameDef *); | |
virtual class CraftInput getInput(const class CraftDefinition *, const class CraftOutput &, class IGameDef *); | |
virtual void decrementInput(const class CraftDefinition *, class CraftInput &, class vector<ItemStack, std::allocator<ItemStack> > &, class IGameDef *); | |
virtual enum CraftHashType getHashType(const class CraftDefinition *); | |
virtual u64 getHash(const class CraftDefinition *, enum CraftHashType); | |
virtual void initHash(class CraftDefinition *, class IGameDef *); | |
virtual string dump(const class CraftDefinition *); | |
/* vtable has 9 entries: { | |
[2] = getName((null)), | |
[3] = check((null)), | |
[4] = getOutput((null)), | |
[5] = getInput((null)), | |
[6] = decrementInput((null)), | |
[7] = getHashType((null)), | |
[8] = getHash((null)), | |
[9] = initHash((null)), | |
[10] = dump((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class IWritableCraftDefManager : public ICraftDefManager { | |
public: | |
/* class ICraftDefManager <ancestor>; */ /* 0 8 */ | |
void IWritableCraftDefManager(class IWritableCraftDefManager *); | |
virtual void ~IWritableCraftDefManager(class IWritableCraftDefManager *, int); | |
virtual bool getCraftResult(const class IWritableCraftDefManager *, class CraftInput &, class CraftOutput &, class vector<ItemStack, std::allocator<ItemStack> > &, bool, class IGameDef *); | |
virtual class vector<CraftDefinition*, std::allocator<CraftDefinition*> > getCraftRecipes(const class IWritableCraftDefManager *, class CraftOutput &, class IGameDef *, unsigned int); | |
virtual bool clearCraftRecipesByOutput(class IWritableCraftDefManager *, const class CraftOutput &, class IGameDef *); | |
virtual bool clearCraftRecipesByInput(class IWritableCraftDefManager *, enum CraftMethod, unsigned int, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11, class IGameDef *); | |
virtual string dump(const class IWritableCraftDefManager *); | |
virtual void registerCraft(class IWritableCraftDefManager *, class CraftDefinition *, class IGameDef *); | |
virtual void clear(class IWritableCraftDefManager *); | |
virtual void initHashes(class IWritableCraftDefManager *, class IGameDef *); | |
/* vtable has 8 entries: { | |
[2] = getCraftResult((null)), | |
[3] = getCraftRecipes((null)), | |
[5] = clearCraftRecipesByOutput((null)), | |
[6] = clearCraftRecipesByInput((null)), | |
[4] = dump((null)), | |
[7] = registerCraft((null)), | |
[8] = clear((null)), | |
[9] = initHashes((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 8 != 0 + 0(holes), diff = 8 */ | |
}; | |
class ICraftDefManager { | |
public: | |
int ()(void) * * _vptr.ICraftDefManager; /* 0 8 */ | |
void ICraftDefManager(class ICraftDefManager *, const class ICraftDefManager &); | |
void ICraftDefManager(class ICraftDefManager *); | |
virtual void ~ICraftDefManager(class ICraftDefManager *, int); | |
virtual bool getCraftResult(const class ICraftDefManager *, class CraftInput &, class CraftOutput &, class vector<ItemStack, std::allocator<ItemStack> > &, bool, class IGameDef *); | |
virtual class vector<CraftDefinition*, std::allocator<CraftDefinition*> > getCraftRecipes(const class ICraftDefManager *, class CraftOutput &, class IGameDef *, unsigned int); | |
virtual string dump(const class ICraftDefManager *); | |
/* vtable has 3 entries: { | |
[2] = getCraftResult((null)), | |
[3] = getCraftRecipes((null)), | |
[4] = dump((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class VoxelArea { | |
public: | |
v3s16 MinEdge; /* 0 6 */ | |
v3s16 MaxEdge; /* 6 6 */ | |
void VoxelArea(class VoxelArea *); | |
void VoxelArea(class VoxelArea *, v3s16, v3s16); | |
void VoxelArea(class VoxelArea *, v3s16); | |
void addArea(class VoxelArea *, const class VoxelArea &); | |
void addPoint(class VoxelArea *, const v3s16 &); | |
void pad(class VoxelArea *, const v3s16 &); | |
v3s16 getExtent(const class VoxelArea *); | |
bool hasEmptyExtent(const class VoxelArea *); | |
s32 getVolume(const class VoxelArea *); | |
bool contains(const class VoxelArea *, const class VoxelArea &); | |
bool contains(const class VoxelArea *, v3s16); | |
bool contains(const class VoxelArea *, s32); | |
bool operator==(const class VoxelArea *, const class VoxelArea &); | |
class VoxelArea operator+(const class VoxelArea *, v3s16); | |
class VoxelArea operator-(const class VoxelArea *, v3s16); | |
void diff(class VoxelArea *, const class VoxelArea &, class list<VoxelArea, std::allocator<VoxelArea> > &); | |
s32 index(const class VoxelArea *, s16, s16, s16); | |
s32 index(const class VoxelArea *, v3s16); | |
void add_x(class VoxelArea *, const v3s16 &, u32 &, s16); | |
void add_y(class VoxelArea *, const v3s16 &, u32 &, s16); | |
void add_z(class VoxelArea *, const v3s16 &, u32 &, s16); | |
void add_p(class VoxelArea *, const v3s16 &, u32 &, v3s16); | |
void print(const class VoxelArea *, ostream &); | |
/* size: 12, cachelines: 1, members: 2 */ | |
/* last cacheline: 12 bytes */ | |
}; | |
class Noise { | |
public: | |
struct NoiseParams np; /* 0 40 */ | |
s32 seed; /* 40 4 */ | |
u32 sx; /* 44 4 */ | |
u32 sy; /* 48 4 */ | |
u32 sz; /* 52 4 */ | |
float * noise_buf; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
float * gradient_buf; /* 64 8 */ | |
float * persist_buf; /* 72 8 */ | |
float * result; /* 80 8 */ | |
void Noise(class Noise *, class NoiseParams *, s32, u32, u32, u32); | |
void ~Noise(class Noise *, int); | |
void setSize(class Noise *, u32, u32, u32); | |
void setSpreadFactor(class Noise *, v3f); | |
void setOctaves(class Noise *, int); | |
void gradientMap2D(class Noise *, float, float, float, float, s32); | |
void gradientMap3D(class Noise *, float, float, float, float, float, float, s32); | |
float * perlinMap2D(class Noise *, float, float, float *); | |
float * perlinMap3D(class Noise *, float, float, float, float *); | |
float * perlinMap2D_PO(class Noise *, float, float, float, float, float *); | |
float * perlinMap3D_PO(class Noise *, float, float, float, float, float, float, float *); | |
void allocBuffers(class Noise *); | |
void resizeNoiseBuf(class Noise *, bool); | |
void updateResults(class Noise *, float, float *, float *, size_t); | |
/* size: 88, cachelines: 2, members: 9 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class ModApiEnvMod : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
static struct EnumString es_ClearObjectsMode[0] /* 0 0 */ | |
int l_set_node(lua_State *); | |
int l_add_node(lua_State *); | |
int l_remove_node(lua_State *); | |
int l_swap_node(lua_State *); | |
int l_get_node(lua_State *); | |
int l_get_node_or_nil(lua_State *); | |
int l_get_node_light(lua_State *); | |
int l_place_node(lua_State *); | |
int l_dig_node(lua_State *); | |
int l_punch_node(lua_State *); | |
int l_get_node_max_level(lua_State *); | |
int l_get_node_level(lua_State *); | |
int l_set_node_level(lua_State *); | |
int l_add_node_level(lua_State *); | |
int l_find_nodes_with_meta(lua_State *); | |
int l_get_meta(lua_State *); | |
int l_get_node_timer(lua_State *); | |
int l_add_entity(lua_State *); | |
int l_add_item(lua_State *); | |
int l_get_player_by_name(lua_State *); | |
int l_get_objects_inside_radius(lua_State *); | |
int l_set_timeofday(lua_State *); | |
int l_get_timeofday(lua_State *); | |
int l_get_gametime(lua_State *); | |
int l_get_day_count(lua_State *); | |
int l_find_node_near(lua_State *); | |
int l_find_nodes_in_area(lua_State *); | |
int l_find_nodes_in_area_under_air(lua_State *); | |
int l_fix_light(lua_State *); | |
int l_emerge_area(lua_State *); | |
int l_delete_area(lua_State *); | |
int l_get_perlin(lua_State *); | |
int l_get_perlin_map(lua_State *); | |
int l_get_voxel_manip(lua_State *); | |
int l_clear_objects(lua_State *); | |
int l_spawn_tree(lua_State *); | |
int l_line_of_sight(lua_State *); | |
int l_find_path(lua_State *); | |
int l_transforming_liquid_add(lua_State *); | |
int l_forceload_block(lua_State *); | |
int l_forceload_free_block(lua_State *); | |
void Initialize(lua_State *, int); | |
void InitializeClient(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1, static members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class LuaPerlinNoise : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
struct NoiseParams np; /* 0 40 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
int gc_object(lua_State *); | |
int l_get2d(lua_State *); | |
int l_get3d(lua_State *); | |
void LuaPerlinNoise(class LuaPerlinNoise *, class NoiseParams *); | |
void ~LuaPerlinNoise(class LuaPerlinNoise *, int); | |
int create_object(lua_State *); | |
class LuaPerlinNoise * checkobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 40, cachelines: 1, members: 2, static members: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class LuaPerlinNoiseMap : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
struct NoiseParams np; /* 0 40 */ | |
class Noise * noise; /* 40 8 */ | |
bool m_is3d; /* 48 1 */ | |
/* Bitfield combined with previous fields */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
int gc_object(lua_State *); | |
int l_get2dMap(lua_State *); | |
int l_get2dMap_flat(lua_State *); | |
int l_get3dMap(lua_State *); | |
int l_get3dMap_flat(lua_State *); | |
int l_calc2dMap(lua_State *); | |
int l_calc3dMap(lua_State *); | |
int l_getMapSlice(lua_State *); | |
void LuaPerlinNoiseMap(class LuaPerlinNoiseMap *, class NoiseParams *, s32, v3s16); | |
void ~LuaPerlinNoiseMap(class LuaPerlinNoiseMap *, int); | |
int create_object(lua_State *); | |
class LuaPerlinNoiseMap * checkobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 56, cachelines: 1, members: 4, static members: 2 */ | |
/* padding: 7 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 56 != 56 + 0(holes), diff = 0 */ | |
}; | |
class LuaVoxelManip : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, MapBlock*> > > modified_blocks; /* 0 48 */ | |
bool is_mapgen_vm; /* 48 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
/* Bitfield combined with previous fields */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
class MMVManip * vm; /* 56 8 */ | |
int gc_object(lua_State *); | |
int l_read_from_map(lua_State *); | |
int l_get_data(lua_State *); | |
int l_set_data(lua_State *); | |
int l_write_to_map(lua_State *); | |
int l_get_node_at(lua_State *); | |
int l_set_node_at(lua_State *); | |
int l_update_map(lua_State *); | |
int l_update_liquids(lua_State *); | |
int l_calc_lighting(lua_State *); | |
int l_set_lighting(lua_State *); | |
int l_get_light_data(lua_State *); | |
int l_set_light_data(lua_State *); | |
int l_get_param2_data(lua_State *); | |
int l_set_param2_data(lua_State *); | |
int l_was_modified(lua_State *); | |
int l_get_emerged_area(lua_State *); | |
void LuaVoxelManip(class LuaVoxelManip *, class MMVManip *, bool); | |
void LuaVoxelManip(class LuaVoxelManip *, class Map *, v3s16, v3s16); | |
void LuaVoxelManip(class LuaVoxelManip *, class Map *); | |
void ~LuaVoxelManip(class LuaVoxelManip *, int); | |
int create_object(lua_State *); | |
class LuaVoxelManip * checkobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 64, cachelines: 1, members: 4, static members: 2 */ | |
/* sum members: 64, holes: 1, sum holes: 7 */ | |
/* BRAIN FART ALERT! 64 != 64 + 7(holes), diff = -7 */ | |
}; | |
struct MapEditEvent { | |
enum MapEditEventType type; /* 0 4 */ | |
v3s16 p; /* 4 6 */ | |
struct MapNode n; /* 10 4 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short int> > > modified_blocks; /* 16 48 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
u16 already_known_by_peer; /* 64 2 */ | |
void MapEditEvent(class MapEditEvent *); | |
class MapEditEvent * clone(class MapEditEvent *); | |
class VoxelArea getArea(class MapEditEvent *); | |
void ~MapEditEvent(class MapEditEvent *, int); | |
/* size: 72, cachelines: 2, members: 5 */ | |
/* sum members: 64, holes: 1, sum holes: 2 */ | |
/* padding: 6 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class LuaLBM : public LoadingBlockModifierDef { | |
public: | |
/* struct LoadingBlockModifierDef <ancestor>; */ /* 0 96 */ | |
/* XXX last struct has 7 bytes of padding */ | |
/* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */ | |
int m_id; /* 92 4 */ | |
void LuaLBM(class LuaLBM *, lua_State *, int, const class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_, const string &, bool); | |
virtual void trigger(class LuaLBM *, class ServerEnvironment *, v3s16, class MapNode); | |
virtual void ~LuaLBM(class LuaLBM *, int); | |
/* vtable has 1 entries: { | |
[2] = trigger((null)), | |
} */ | |
/* size: 96, cachelines: 2, members: 2 */ | |
/* paddings: 1, sum paddings: 7 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 96 != 4 + 0(holes), diff = 92 */ | |
}; | |
class LuaABM : public ActiveBlockModifier { | |
public: | |
/* class ActiveBlockModifier <ancestor>; */ /* 0 8 */ | |
int m_id; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_trigger_contents; /* 16 48 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_required_neighbors; /* 64 48 */ | |
float m_trigger_interval; /* 112 4 */ | |
u32 m_trigger_chance; /* 116 4 */ | |
bool m_simple_catch_up; /* 120 1 */ | |
void LuaABM(class LuaABM *, lua_State *, int, const class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_, const class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_, float, u32, bool); | |
virtual class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string getTriggerContents(class LuaABM *); | |
virtual class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string getRequiredNeighbors(class LuaABM *); | |
virtual float getTriggerInterval(class LuaABM *); | |
virtual u32 getTriggerChance(class LuaABM *); | |
virtual bool getSimpleCatchUp(class LuaABM *); | |
virtual void trigger(class LuaABM *, class ServerEnvironment *, v3s16, class MapNode, u32, u32); | |
virtual void ~LuaABM(class LuaABM *, int); | |
/* vtable has 6 entries: { | |
[2] = getTriggerContents((null)), | |
[3] = getRequiredNeighbors((null)), | |
[4] = getTriggerInterval((null)), | |
[5] = getTriggerChance((null)), | |
[6] = getSimpleCatchUp((null)), | |
[8] = trigger((null)), | |
} */ | |
/* size: 128, cachelines: 2, members: 7 */ | |
/* sum members: 109, holes: 1, sum holes: 4 */ | |
/* padding: 7 */ | |
/* BRAIN FART ALERT! 128 != 109 + 4(holes), diff = 15 */ | |
}; | |
struct lua_Debug { | |
int event; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
const char * name; /* 8 8 */ | |
const char * namewhat; /* 16 8 */ | |
const char * what; /* 24 8 */ | |
const char * source; /* 32 8 */ | |
int currentline; /* 40 4 */ | |
int nups; /* 44 4 */ | |
int linedefined; /* 48 4 */ | |
int lastlinedefined; /* 52 4 */ | |
char short_src[60]; /* 56 60 */ | |
/* --- cacheline 1 boundary (64 bytes) was 52 bytes ago --- */ | |
int i_ci; /* 116 4 */ | |
/* size: 120, cachelines: 2, members: 11 */ | |
/* sum members: 116, holes: 1, sum holes: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class ModApiHttp : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
void read_http_fetch_request(lua_State *, class HTTPFetchRequest &); | |
void push_http_fetch_result(lua_State *, class HTTPFetchResult &, bool); | |
int l_http_fetch_async(lua_State *); | |
int l_http_fetch_async_get(lua_State *); | |
int l_request_http_api(lua_State *); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
struct HTTPFetchRequest { | |
string url; /* 0 32 */ | |
long unsigned int caller; /* 32 8 */ | |
long unsigned int request_id; /* 40 8 */ | |
long int timeout; /* 48 8 */ | |
long int connect_timeout; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
bool multipart; /* 64 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
StringMap post_fields; /* 72 56 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
string post_data; /* 128 32 */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > extra_headers; /* 160 24 */ | |
string useragent; /* 184 32 */ | |
void HTTPFetchRequest(class HTTPFetchRequest *); | |
void ~HTTPFetchRequest(class HTTPFetchRequest *, int); | |
/* size: 216, cachelines: 4, members: 10 */ | |
/* sum members: 209, holes: 1, sum holes: 7 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct HTTPFetchResult { | |
bool succeeded; /* 0 1 */ | |
bool timeout; /* 1 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
long int response_code; /* 8 8 */ | |
string data; /* 16 32 */ | |
long unsigned int caller; /* 48 8 */ | |
long unsigned int request_id; /* 56 8 */ | |
void HTTPFetchResult(class HTTPFetchResult *); | |
void HTTPFetchResult(class HTTPFetchResult *, const class HTTPFetchRequest &); | |
void ~HTTPFetchResult(class HTTPFetchResult *, int); | |
/* size: 64, cachelines: 1, members: 6 */ | |
/* sum members: 58, holes: 1, sum holes: 6 */ | |
}; | |
class InvRef : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
struct InventoryLocation m_loc; /* 0 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
class InvRef * checkobject(lua_State *, int); | |
class Inventory * getinv(lua_State *, class InvRef *); | |
class InventoryList * getlist(lua_State *, class InvRef *, const char *); | |
void reportInventoryChange(lua_State *, class InvRef *); | |
int gc_object(lua_State *); | |
int l_is_empty(lua_State *); | |
int l_get_size(lua_State *); | |
int l_get_width(lua_State *); | |
int l_set_size(lua_State *); | |
int l_set_width(lua_State *); | |
int l_get_stack(lua_State *); | |
int l_set_stack(lua_State *); | |
int l_get_list(lua_State *); | |
int l_set_list(lua_State *); | |
int l_get_lists(lua_State *); | |
int l_set_lists(lua_State *); | |
int l_add_item(lua_State *); | |
int l_room_for_item(lua_State *); | |
int l_contains_item(lua_State *); | |
int l_remove_item(lua_State *); | |
int l_get_location(lua_State *); | |
void InvRef(class InvRef *, const class InventoryLocation &); | |
void ~InvRef(class InvRef *, int); | |
void create(lua_State *, const class InventoryLocation &); | |
void createPlayer(lua_State *, class RemotePlayer *); | |
void createNodeMeta(lua_State *, v3s16); | |
void Register(lua_State *); | |
/* size: 48, cachelines: 1, members: 2, static members: 2 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class ModApiInventory : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
int l_create_detached_inventory_raw(lua_State *); | |
int l_get_inventory(lua_State *); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class ModApiItemMod : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
int l_register_item_raw(lua_State *); | |
int l_unregister_item_raw(lua_State *); | |
int l_register_alias_raw(lua_State *); | |
int l_get_content_id(lua_State *); | |
int l_get_name_from_content_id(lua_State *); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class IWritableNodeDefManager : public INodeDefManager { | |
public: | |
/* class INodeDefManager <ancestor>; */ /* 0 8 */ | |
void IWritableNodeDefManager(class IWritableNodeDefManager *); | |
virtual void ~IWritableNodeDefManager(class IWritableNodeDefManager *, int); | |
virtual class IWritableNodeDefManager * clone(class IWritableNodeDefManager *); | |
virtual const class ContentFeatures & get(const class IWritableNodeDefManager *, content_t); | |
virtual const class ContentFeatures & get(const class IWritableNodeDefManager *, const class MapNode &); | |
virtual bool getId(const class IWritableNodeDefManager *, const string &, content_t &); | |
virtual content_t getId(const class IWritableNodeDefManager *, const string &); | |
virtual bool getIds(const class IWritableNodeDefManager *, const string &, class set<short unsigned int, std::less<short unsigned int>, std::allocator<short unsigned int> > &); | |
virtual const class ContentFeatures & get(const class IWritableNodeDefManager *, const string &); | |
virtual content_t set(class IWritableNodeDefManager *, const string &, const class ContentFeatures &); | |
virtual content_t allocateDummy(class IWritableNodeDefManager *, const string &); | |
virtual void removeNode(class IWritableNodeDefManager *, const string &); | |
virtual void updateAliases(class IWritableNodeDefManager *, class IItemDefManager *); | |
virtual void applyTextureOverrides(class IWritableNodeDefManager *, const string &); | |
virtual void updateTextures(class IWritableNodeDefManager *, class IGameDef *, void (*)(void *, u32, u32), void *); | |
virtual void serialize(const class IWritableNodeDefManager *, ostream &, u16); | |
virtual void deSerialize(class IWritableNodeDefManager *, istream &); | |
virtual bool getNodeRegistrationStatus(const class IWritableNodeDefManager *); | |
virtual void setNodeRegistrationStatus(class IWritableNodeDefManager *, bool); | |
virtual void pendNodeResolve(class IWritableNodeDefManager *, class NodeResolver *); | |
virtual bool cancelNodeResolveCallback(class IWritableNodeDefManager *, class NodeResolver *); | |
virtual void runNodeResolveCallbacks(class IWritableNodeDefManager *); | |
virtual void resetNodeResolveState(class IWritableNodeDefManager *); | |
virtual void mapNodeboxConnections(class IWritableNodeDefManager *); | |
virtual class aabbox3d<short int> getSelectionBoxIntUnion(const class IWritableNodeDefManager *); | |
/* vtable has 23 entries: { | |
[14] = clone((null)), | |
[2] = get((null)), | |
[3] = get((null)), | |
[4] = getId((null)), | |
[5] = getId((null)), | |
[6] = getIds((null)), | |
[7] = get((null)), | |
[15] = set((null)), | |
[16] = allocateDummy((null)), | |
[17] = removeNode((null)), | |
[18] = updateAliases((null)), | |
[19] = applyTextureOverrides((null)), | |
[20] = updateTextures((null)), | |
[8] = serialize((null)), | |
[21] = deSerialize((null)), | |
[9] = getNodeRegistrationStatus((null)), | |
[22] = setNodeRegistrationStatus((null)), | |
[10] = pendNodeResolve((null)), | |
[11] = cancelNodeResolveCallback((null)), | |
[23] = runNodeResolveCallbacks((null)), | |
[24] = resetNodeResolveState((null)), | |
[25] = mapNodeboxConnections((null)), | |
[13] = getSelectionBoxIntUnion((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 8 != 0 + 0(holes), diff = 8 */ | |
}; | |
class IWritableItemDefManager : public IItemDefManager { | |
public: | |
/* class IItemDefManager <ancestor>; */ /* 0 8 */ | |
void IWritableItemDefManager(class IWritableItemDefManager *); | |
virtual void ~IWritableItemDefManager(class IWritableItemDefManager *, int); | |
virtual const class ItemDefinition & get(const class IWritableItemDefManager *, const string &); | |
virtual const string & getAlias(const class IWritableItemDefManager *, const string &); | |
virtual void getAll(const class IWritableItemDefManager *, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string); | |
virtual bool isKnown(const class IWritableItemDefManager *, const string &); | |
virtual class ITexture * getInventoryTexture(const class IWritableItemDefManager *, const string &, class Client *); | |
virtual class ItemMesh * getWieldMesh(const class IWritableItemDefManager *, const string &, class Client *); | |
virtual void clear(class IWritableItemDefManager *); | |
virtual void registerItem(class IWritableItemDefManager *, const class ItemDefinition &); | |
virtual void unregisterItem(class IWritableItemDefManager *, const string &); | |
virtual void registerAlias(class IWritableItemDefManager *, const string &, const string &); | |
virtual void serialize(class IWritableItemDefManager *, ostream &, u16); | |
virtual void deSerialize(class IWritableItemDefManager *, istream &); | |
virtual void processQueue(class IWritableItemDefManager *, class IGameDef *); | |
/* vtable has 13 entries: { | |
[2] = get((null)), | |
[3] = getAlias((null)), | |
[4] = getAll((null)), | |
[5] = isKnown((null)), | |
[6] = getInventoryTexture((null)), | |
[7] = getWieldMesh((null)), | |
[11] = clear((null)), | |
[12] = registerItem((null)), | |
[13] = unregisterItem((null)), | |
[14] = registerAlias((null)), | |
[10] = serialize((null)), | |
[15] = deSerialize((null)), | |
[16] = processQueue((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 8 != 0 + 0(holes), diff = 8 */ | |
}; | |
class ItemStackMetaRef : public MetaDataRef { | |
public: | |
/* class MetaDataRef <ancestor>; */ /* 0 0 */ | |
/* XXX 8 bytes hole, try to pack */ | |
class ItemStack * istack; /* 8 8 */ | |
/* Bitfield combined with previous fields */ | |
static const char const className /* 0 0 */ | |
static const luaL_Reg const methods /* 0 0 */ | |
void ItemStackMetaRef(class ItemStackMetaRef *, const class ItemStackMetaRef &); | |
class ItemStackMetaRef * checkobject(lua_State *, int); | |
virtual class Metadata * getmeta(class ItemStackMetaRef *, bool); | |
virtual void clearMeta(class ItemStackMetaRef *); | |
virtual void reportMetadataChange(class ItemStackMetaRef *); | |
int gc_object(lua_State *); | |
void ItemStackMetaRef(class ItemStackMetaRef *, class ItemStack *); | |
virtual void ~ItemStackMetaRef(class ItemStackMetaRef *, int); | |
void create(lua_State *, class ItemStack *); | |
void Register(lua_State *); | |
/* vtable has 3 entries: { | |
[3] = getmeta((null)), | |
[4] = clearMeta((null)), | |
[2] = reportMetadataChange((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2, static members: 2 */ | |
/* sum members: 8, holes: 1, sum holes: 8 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class LuaLocalPlayer : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
class LocalPlayer * m_localplayer; /* 0 8 */ | |
int gc_object(lua_State *); | |
int l_get_velocity(lua_State *); | |
int l_get_hp(lua_State *); | |
int l_get_name(lua_State *); | |
int l_is_teleported(lua_State *); | |
int l_is_attached(lua_State *); | |
int l_is_touching_ground(lua_State *); | |
int l_is_in_liquid(lua_State *); | |
int l_is_in_liquid_stable(lua_State *); | |
int l_get_liquid_viscosity(lua_State *); | |
int l_is_climbing(lua_State *); | |
int l_swimming_vertical(lua_State *); | |
int l_get_physics_override(lua_State *); | |
int l_get_override_pos(lua_State *); | |
int l_get_last_pos(lua_State *); | |
int l_get_last_velocity(lua_State *); | |
int l_get_last_look_vertical(lua_State *); | |
int l_get_last_look_horizontal(lua_State *); | |
int l_get_key_pressed(lua_State *); | |
int l_get_breath(lua_State *); | |
int l_get_look_dir(lua_State *); | |
int l_get_look_horizontal(lua_State *); | |
int l_get_look_vertical(lua_State *); | |
int l_get_pos(lua_State *); | |
int l_get_eye_pos(lua_State *); | |
int l_get_eye_offset(lua_State *); | |
int l_get_movement_acceleration(lua_State *); | |
int l_get_movement_speed(lua_State *); | |
int l_get_movement(lua_State *); | |
void LuaLocalPlayer(class LuaLocalPlayer *, class LocalPlayer *); | |
void ~LuaLocalPlayer(class LuaLocalPlayer *, int); | |
void create(lua_State *, class LocalPlayer *); | |
class LuaLocalPlayer * checkobject(lua_State *, int); | |
class LocalPlayer * getobject(class LuaLocalPlayer *); | |
class LocalPlayer * getobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 8, cachelines: 1, members: 2, static members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ModApiMainMenu : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
string getTextData(lua_State *, string); | |
int getIntegerData(lua_State *, string, bool &); | |
int getBoolData(lua_State *, string, bool &); | |
bool isMinetestPath(string); | |
int l_start(lua_State *); | |
int l_close(lua_State *); | |
int l_create_world(lua_State *); | |
int l_delete_world(lua_State *); | |
int l_get_worlds(lua_State *); | |
int l_get_games(lua_State *); | |
int l_get_mapgen_names(lua_State *); | |
int l_get_favorites(lua_State *); | |
int l_delete_favorite(lua_State *); | |
int l_gettext(lua_State *); | |
int l_show_keys_menu(lua_State *); | |
int l_show_file_open_dialog(lua_State *); | |
int l_set_topleft_text(lua_State *); | |
int l_set_clouds(lua_State *); | |
int l_get_textlist_index(lua_State *); | |
int l_get_table_index(lua_State *); | |
int l_set_background(lua_State *); | |
int l_update_formspec(lua_State *); | |
int l_get_screen_info(lua_State *); | |
int l_get_mainmenu_path(lua_State *); | |
int l_get_modpath(lua_State *); | |
int l_get_gamepath(lua_State *); | |
int l_get_texturepath(lua_State *); | |
int l_get_texturepath_share(lua_State *); | |
int l_create_dir(lua_State *); | |
int l_delete_dir(lua_State *); | |
int l_copy_dir(lua_State *); | |
int l_extract_zip(lua_State *); | |
int l_get_modstore_details(lua_State *); | |
int l_get_modstore_list(lua_State *); | |
int l_download_file(lua_State *); | |
int l_get_video_drivers(lua_State *); | |
int l_get_video_modes(lua_State *); | |
int l_get_min_supp_proto(lua_State *); | |
int l_get_max_supp_proto(lua_State *); | |
int l_do_async_callback(lua_State *); | |
void Initialize(lua_State *, int); | |
void InitializeAsync(class AsyncEngine &); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
struct ModLicenseInfo { | |
int id; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string shortinfo; /* 8 32 */ | |
string url; /* 40 32 */ | |
void ~ModLicenseInfo(class ModLicenseInfo *, int); | |
/* size: 72, cachelines: 2, members: 3 */ | |
/* sum members: 68, holes: 1, sum holes: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ModAuthorInfo { | |
int id; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string username; /* 8 32 */ | |
void ~ModAuthorInfo(class ModAuthorInfo *, int); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* sum members: 36, holes: 1, sum holes: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct ModStoreMod { | |
int id; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string title; /* 8 32 */ | |
string basename; /* 40 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
struct ModAuthorInfo author; /* 72 40 */ | |
float rating; /* 112 4 */ | |
bool valid; /* 116 1 */ | |
void ~ModStoreMod(class ModStoreMod *, int); | |
/* size: 120, cachelines: 2, members: 6 */ | |
/* sum members: 113, holes: 1, sum holes: 4 */ | |
/* padding: 3 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct ModStoreCategoryInfo { | |
int id; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string name; /* 8 32 */ | |
void ~ModStoreCategoryInfo(class ModStoreCategoryInfo *, int); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* sum members: 36, holes: 1, sum holes: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct ModStoreVersionEntry { | |
int id; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string date; /* 8 32 */ | |
string file; /* 40 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
bool approved; /* 72 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int mtversion; /* 76 4 */ | |
void ~ModStoreVersionEntry(class ModStoreVersionEntry *, int); | |
/* size: 80, cachelines: 2, members: 5 */ | |
/* sum members: 73, holes: 2, sum holes: 7 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct ModStoreTitlePic { | |
int id; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string file; /* 8 32 */ | |
string description; /* 40 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
int mod; /* 72 4 */ | |
void ~ModStoreTitlePic(class ModStoreTitlePic *, int); | |
/* size: 80, cachelines: 2, members: 4 */ | |
/* sum members: 72, holes: 1, sum holes: 4 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct ModStoreModDetails { | |
class vector<ModStoreCategoryInfo, std::allocator<ModStoreCategoryInfo> > categories; /* 0 24 */ | |
struct ModAuthorInfo author; /* 24 40 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
struct ModLicenseInfo license; /* 64 72 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
struct ModStoreTitlePic titlepic; /* 136 80 */ | |
/* XXX last struct has 4 bytes of padding */ | |
/* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ | |
int id; /* 216 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string title; /* 224 32 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
string basename; /* 256 32 */ | |
string description; /* 288 32 */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
string repository; /* 320 32 */ | |
float rating; /* 352 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > depends; /* 360 24 */ | |
/* --- cacheline 6 boundary (384 bytes) --- */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > softdeps; /* 384 24 */ | |
string download_url; /* 408 32 */ | |
string screenshot_url; /* 440 32 */ | |
/* --- cacheline 7 boundary (448 bytes) was 24 bytes ago --- */ | |
class vector<ModStoreVersionEntry, std::allocator<ModStoreVersionEntry> > versions; /* 472 24 */ | |
bool valid; /* 496 1 */ | |
void ~ModStoreModDetails(class ModStoreModDetails *, int); | |
/* size: 504, cachelines: 8, members: 16 */ | |
/* sum members: 489, holes: 2, sum holes: 8 */ | |
/* padding: 7 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class FormspecFormSource : public IFormSource { | |
public: | |
/* class IFormSource <ancestor>; */ /* 0 8 */ | |
string m_formspec; /* 8 32 */ | |
void FormspecFormSource(class FormspecFormSource *, const string &); | |
virtual void ~FormspecFormSource(class FormspecFormSource *, int); | |
void setForm(class FormspecFormSource *, const string &); | |
virtual string getForm(class FormspecFormSource *); | |
/* vtable has 1 entries: { | |
[2] = getForm((null)), | |
} */ | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 32 + 0(holes), diff = 8 */ | |
}; | |
class IFormSource { | |
public: | |
int ()(void) * * _vptr.IFormSource; /* 0 8 */ | |
void IFormSource(class IFormSource *, const class IFormSource &); | |
void IFormSource(class IFormSource *); | |
virtual void ~IFormSource(class IFormSource *, int); | |
virtual string getForm(class IFormSource *); | |
virtual string resolveText(class IFormSource *, string); | |
/* vtable has 2 entries: { | |
[2] = getForm((null)), | |
[3] = resolveText((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct TextDest { | |
int ()(void) * * _vptr.TextDest; /* 0 8 */ | |
string m_formname; /* 8 32 */ | |
virtual void ~TextDest(class TextDest *, int); | |
virtual void gotText(class TextDest *, wstring); | |
virtual void gotText(class TextDest *, const StringMap &); | |
virtual void setFormName(class TextDest *, string); | |
/* vtable has 3 entries: { | |
[2] = gotText((null)), | |
[3] = gotText((null)), | |
[4] = setFormName((null)), | |
} */ | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class SettingNotFoundException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void SettingNotFoundException(class SettingNotFoundException *, const string &); | |
virtual void ~SettingNotFoundException(class SettingNotFoundException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class ModApiMapgen : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
static struct EnumString es_BiomeTerrainType[0] /* 0 0 */ | |
static struct EnumString es_DecorationType[0] /* 0 0 */ | |
static struct EnumString es_MapgenObject[0] /* 0 0 */ | |
static struct EnumString es_OreType[0] /* 0 0 */ | |
static struct EnumString es_Rotation[0] /* 0 0 */ | |
static struct EnumString es_SchematicFormatType[0] /* 0 0 */ | |
static struct EnumString es_NodeResolveMethod[0] /* 0 0 */ | |
int l_get_biome_id(lua_State *); | |
int l_get_mapgen_object(lua_State *); | |
int l_get_mapgen_params(lua_State *); | |
int l_set_mapgen_params(lua_State *); | |
int l_get_mapgen_setting(lua_State *); | |
int l_set_mapgen_setting(lua_State *); | |
int l_get_mapgen_setting_noiseparams(lua_State *); | |
int l_set_mapgen_setting_noiseparams(lua_State *); | |
int l_set_noiseparams(lua_State *); | |
int l_get_noiseparams(lua_State *); | |
int l_set_gen_notify(lua_State *); | |
int l_get_gen_notify(lua_State *); | |
int l_register_biome(lua_State *); | |
int l_register_decoration(lua_State *); | |
int l_register_ore(lua_State *); | |
int l_register_schematic(lua_State *); | |
int l_clear_registered_biomes(lua_State *); | |
int l_clear_registered_decorations(lua_State *); | |
int l_clear_registered_schematics(lua_State *); | |
int l_generate_ores(lua_State *); | |
int l_generate_decorations(lua_State *); | |
int l_clear_registered_ores(lua_State *); | |
int l_create_schematic(lua_State *); | |
int l_place_schematic(lua_State *); | |
int l_place_schematic_on_vmanip(lua_State *); | |
int l_serialize_schematic(lua_State *); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1, static members: 7 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class DecorationManager : public ObjDefManager { | |
public: | |
/* class ObjDefManager <ancestor>; */ /* 0 0 */ | |
void DecorationManager(class DecorationManager *, class IGameDef *); | |
virtual void ~DecorationManager(class DecorationManager *, int); | |
virtual const char * getObjectTitle(const class DecorationManager *); | |
class Decoration * create(enum DecorationType); | |
size_t placeAllDecos(class DecorationManager *, class Mapgen *, u32, v3s16, v3s16); | |
/* vtable has 1 entries: { | |
[2] = getObjectTitle((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* padding: 48 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class ObjDef { | |
public: | |
int ()(void) * * _vptr.ObjDef; /* 0 8 */ | |
u32 index; /* 8 4 */ | |
u32 uid; /* 12 4 */ | |
ObjDefHandle handle; /* 16 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string name; /* 24 32 */ | |
void ObjDef(class ObjDef *, const class ObjDef &); | |
void ObjDef(class ObjDef *); | |
virtual void ~ObjDef(class ObjDef *, int); | |
/* size: 56, cachelines: 1, members: 5 */ | |
/* sum members: 52, holes: 1, sum holes: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class MetaDataRef : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
int ()(void) * * _vptr.MetaDataRef; /* 0 8 */ | |
virtual void ~MetaDataRef(class MetaDataRef *, int); | |
protected: | |
class MetaDataRef * checkobject(lua_State *, int); | |
virtual void reportMetadataChange(class MetaDataRef *); | |
virtual class Metadata * getmeta(class MetaDataRef *, bool); | |
virtual void clearMeta(class MetaDataRef *); | |
virtual void handleToTable(class MetaDataRef *, lua_State *, class Metadata *); | |
virtual bool handleFromTable(class MetaDataRef *, lua_State *, int, class Metadata *); | |
int l_get_string(lua_State *); | |
int l_set_string(lua_State *); | |
int l_get_int(lua_State *); | |
int l_set_int(lua_State *); | |
int l_get_float(lua_State *); | |
int l_set_float(lua_State *); | |
int l_to_table(lua_State *); | |
int l_from_table(lua_State *); | |
int l_equals(lua_State *); | |
/* vtable has 5 entries: { | |
[2] = reportMetadataChange((null)), | |
[3] = getmeta((null)), | |
[4] = clearMeta((null)), | |
[5] = handleToTable((null)), | |
[6] = handleFromTable((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class LuaMinimap : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
class Minimap * m_minimap; /* 0 8 */ | |
int gc_object(lua_State *); | |
int l_get_pos(lua_State *); | |
int l_set_pos(lua_State *); | |
int l_get_angle(lua_State *); | |
int l_set_angle(lua_State *); | |
int l_get_mode(lua_State *); | |
int l_set_mode(lua_State *); | |
int l_show(lua_State *); | |
int l_hide(lua_State *); | |
int l_set_shape(lua_State *); | |
int l_get_shape(lua_State *); | |
void LuaMinimap(class LuaMinimap *, class Minimap *); | |
void ~LuaMinimap(class LuaMinimap *, int); | |
void create(lua_State *, class Minimap *); | |
class LuaMinimap * checkobject(lua_State *, int); | |
class Minimap * getobject(class LuaMinimap *); | |
void Register(lua_State *); | |
/* size: 8, cachelines: 1, members: 2, static members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class Minimap { | |
public: | |
class IVideoDriver * driver; /* 0 8 */ | |
class Client * client; /* 8 8 */ | |
class MinimapData * data; /* 16 8 */ | |
class ITextureSource * m_tsrc; /* 24 8 */ | |
class IShaderSource * m_shdrsrc; /* 32 8 */ | |
class INodeDefManager * m_ndef; /* 40 8 */ | |
class MinimapUpdateThread * m_minimap_update_thread; /* 48 8 */ | |
SMeshBuffer * m_meshbuffer; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
bool m_enable_shaders; /* 64 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 m_surface_mode_scan_height; /* 66 2 */ | |
f32 m_angle; /* 68 4 */ | |
Mutex m_mutex; /* 72 40 */ | |
class list<irr::core::vector2d<float>, std::allocator<irr::core::vector2d<float> > > m_active_markers; /* 112 24 */ | |
void Minimap(class Minimap *, class IrrlichtDevice *, class Client *); | |
void ~Minimap(class Minimap *, int); | |
void addBlock(class Minimap *, v3s16, class MinimapMapblock *); | |
v3f getYawVec(class Minimap *); | |
void setPos(class Minimap *, v3s16); | |
v3s16 getPos(const class Minimap *); | |
void setAngle(class Minimap *, f32); | |
f32 getAngle(const class Minimap *); | |
void setMinimapMode(class Minimap *, enum MinimapMode); | |
enum MinimapMode getMinimapMode(const class Minimap *); | |
void toggleMinimapShape(class Minimap *); | |
void setMinimapShape(class Minimap *, enum MinimapShape); | |
enum MinimapShape getMinimapShape(class Minimap *); | |
class ITexture * getMinimapTexture(class Minimap *); | |
void blitMinimapPixelsToImageRadar(class Minimap *, class IImage *); | |
void blitMinimapPixelsToImageSurface(class Minimap *, class IImage *, class IImage *); | |
SMeshBuffer * getMinimapMeshBuffer(class Minimap *); | |
void updateActiveMarkers(class Minimap *); | |
void drawMinimap(class Minimap *); | |
/* size: 136, cachelines: 3, members: 13 */ | |
/* sum members: 135, holes: 1, sum holes: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct MinimapData { | |
bool is_radar; /* 0 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
enum MinimapMode mode; /* 4 4 */ | |
v3s16 pos; /* 8 6 */ | |
v3s16 old_pos; /* 14 6 */ | |
u16 scan_height; /* 20 2 */ | |
u16 map_size; /* 22 2 */ | |
struct MinimapPixel minimap_scan[262144]; /* 24 2097152 */ | |
/* --- cacheline 32768 boundary (2097152 bytes) was 24 bytes ago --- */ | |
bool map_invalidated; /* 2097176 1 */ | |
bool minimap_shape_round; /* 2097177 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class IImage * minimap_image; /* 2097184 8 */ | |
class IImage * heightmap_image; /* 2097192 8 */ | |
class IImage * minimap_mask_round; /* 2097200 8 */ | |
class IImage * minimap_mask_square; /* 2097208 8 */ | |
/* --- cacheline 32769 boundary (2097216 bytes) --- */ | |
class ITexture * texture; /* 2097216 8 */ | |
class ITexture * heightmap_texture; /* 2097224 8 */ | |
class ITexture * minimap_overlay_round; /* 2097232 8 */ | |
class ITexture * minimap_overlay_square; /* 2097240 8 */ | |
class ITexture * player_marker; /* 2097248 8 */ | |
class ITexture * object_marker_red; /* 2097256 8 */ | |
/* size: 2097264, cachelines: 32770, members: 19 */ | |
/* sum members: 2097255, holes: 2, sum holes: 9 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class NodeMetaRef : public MetaDataRef { | |
public: | |
/* class MetaDataRef <ancestor>; */ /* 0 0 */ | |
/* XXX 8 bytes hole, try to pack */ | |
v3s16 m_p; /* 8 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class ServerEnvironment * m_env; /* 16 8 */ | |
class Metadata * m_meta; /* 24 8 */ | |
bool m_is_local; /* 32 1 */ | |
/* Bitfield combined with previous fields */ | |
static const char const className /* 0 0 */ | |
static const luaL_Reg const methodsServer /* 0 0 */ | |
static const luaL_Reg const methodsClient /* 0 0 */ | |
void NodeMetaRef(class NodeMetaRef *, const class NodeMetaRef &); | |
class NodeMetaRef * checkobject(lua_State *, int); | |
virtual class Metadata * getmeta(class NodeMetaRef *, bool); | |
virtual void clearMeta(class NodeMetaRef *); | |
virtual void reportMetadataChange(class NodeMetaRef *); | |
virtual void handleToTable(class NodeMetaRef *, lua_State *, class Metadata *); | |
virtual bool handleFromTable(class NodeMetaRef *, lua_State *, int, class Metadata *); | |
int gc_object(lua_State *); | |
int l_get_inventory(lua_State *); | |
void NodeMetaRef(class NodeMetaRef *, v3s16, class ServerEnvironment *); | |
void NodeMetaRef(class NodeMetaRef *, class Metadata *); | |
virtual void ~NodeMetaRef(class NodeMetaRef *, int); | |
void create(lua_State *, v3s16, class ServerEnvironment *); | |
void createClient(lua_State *, class Metadata *); | |
void RegisterCommon(lua_State *); | |
void Register(lua_State *); | |
void RegisterClient(lua_State *); | |
/* vtable has 5 entries: { | |
[3] = getmeta((null)), | |
[4] = clearMeta((null)), | |
[2] = reportMetadataChange((null)), | |
[5] = handleToTable((null)), | |
[6] = handleFromTable((null)), | |
} */ | |
/* size: 40, cachelines: 1, members: 5, static members: 3 */ | |
/* sum members: 30, holes: 2, sum holes: 10 */ | |
/* padding: 7 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 30 + 10(holes), diff = 0 */ | |
}; | |
class NodeTimerRef : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
v3s16 m_p; /* 0 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class ServerEnvironment * m_env; /* 8 8 */ | |
/* Bitfield combined with previous fields */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
int gc_object(lua_State *); | |
class NodeTimerRef * checkobject(lua_State *, int); | |
int l_set(lua_State *); | |
int l_start(lua_State *); | |
int l_stop(lua_State *); | |
int l_is_started(lua_State *); | |
int l_get_timeout(lua_State *); | |
int l_get_elapsed(lua_State *); | |
void NodeTimerRef(class NodeTimerRef *, v3s16, class ServerEnvironment *); | |
void ~NodeTimerRef(class NodeTimerRef *, int); | |
void create(lua_State *, v3s16, class ServerEnvironment *); | |
void set_null(lua_State *); | |
void Register(lua_State *); | |
/* size: 16, cachelines: 1, members: 3, static members: 2 */ | |
/* sum members: 14, holes: 1, sum holes: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class PseudoRandom { | |
public: | |
static u32const RANDOM_RANGE = 32767; /* 0 0 */ | |
int m_next; /* 0 4 */ | |
void PseudoRandom(class PseudoRandom *, int); | |
void seed(class PseudoRandom *, int); | |
int next(class PseudoRandom *); | |
int range(class PseudoRandom *, int, int); | |
/* size: 4, cachelines: 1, members: 1, static members: 1 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
class PcgRandom { | |
public: | |
static s32const RANDOM_MIN = 18446744071562067968; /* 0 0 */ | |
static s32const RANDOM_MAX = 2147483647; /* 0 0 */ | |
static u32const RANDOM_RANGE = 18446744073709551615; /* 0 0 */ | |
u64 m_state; /* 0 8 */ | |
u64 m_inc; /* 8 8 */ | |
void PcgRandom(class PcgRandom *, u64, u64); | |
void seed(class PcgRandom *, u64, u64); | |
u32 next(class PcgRandom *); | |
u32 range(class PcgRandom *, u32); | |
s32 range(class PcgRandom *, s32, s32); | |
void bytes(class PcgRandom *, void *, size_t); | |
s32 randNormalDist(class PcgRandom *, s32, s32, int); | |
/* size: 16, cachelines: 1, members: 2, static members: 3 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class LuaPseudoRandom : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
class PseudoRandom m_pseudo; /* 0 4 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
int gc_object(lua_State *); | |
int l_next(lua_State *); | |
void LuaPseudoRandom(class LuaPseudoRandom *, s32); | |
int create_object(lua_State *); | |
class LuaPseudoRandom * checkobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 4, cachelines: 1, members: 2, static members: 2 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
class LuaPcgRandom : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
class PcgRandom m_rnd; /* 0 16 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
int gc_object(lua_State *); | |
int l_next(lua_State *); | |
int l_rand_normal_dist(lua_State *); | |
void LuaPcgRandom(class LuaPcgRandom *, u64); | |
void LuaPcgRandom(class LuaPcgRandom *, u64, u64); | |
int create_object(lua_State *); | |
class LuaPcgRandom * checkobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 16, cachelines: 1, members: 2, static members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class LuaSecureRandom : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
static size_tconst RAND_BUF_SIZE = 2048; /* 0 0 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
u32 m_rand_idx; /* 0 4 */ | |
char m_rand_buf[2048]; /* 4 2048 */ | |
int gc_object(lua_State *); | |
int l_next_bytes(lua_State *); | |
bool fillRandBuf(class LuaSecureRandom *); | |
int create_object(lua_State *); | |
class LuaSecureRandom * checkobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 2052, cachelines: 33, members: 3, static members: 3 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
class InvalidNoiseParamsException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void InvalidNoiseParamsException(class InvalidNoiseParamsException *); | |
void InvalidNoiseParamsException(class InvalidNoiseParamsException *, const string &); | |
virtual void ~InvalidNoiseParamsException(class InvalidNoiseParamsException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class ModApiParticles : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
int l_add_particle(lua_State *); | |
int l_add_particlespawner(lua_State *); | |
int l_delete_particlespawner(lua_State *); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class ModApiRollback : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
int l_rollback_get_node_actions(lua_State *); | |
int l_rollback_revert_actions_by(lua_State *); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class ModApiServer : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
int l_request_shutdown(lua_State *); | |
int l_get_server_status(lua_State *); | |
int l_get_server_uptime(lua_State *); | |
int l_get_worldpath(lua_State *); | |
int l_is_singleplayer(lua_State *); | |
int l_get_current_modname(lua_State *); | |
int l_get_modpath(lua_State *); | |
int l_get_modnames(lua_State *); | |
int l_print(lua_State *); | |
int l_chat_send_all(lua_State *); | |
int l_chat_send_player(lua_State *); | |
int l_show_formspec(lua_State *); | |
int l_sound_play(lua_State *); | |
int l_sound_stop(lua_State *); | |
int l_get_player_privs(lua_State *); | |
int l_get_player_ip(lua_State *); | |
int l_get_player_information(lua_State *); | |
int l_get_ban_list(lua_State *); | |
int l_get_ban_description(lua_State *); | |
int l_ban_player(lua_State *); | |
int l_unban_player_or_ip(lua_State *); | |
int l_kick_player(lua_State *); | |
int l_notify_authentication_modified(lua_State *); | |
int l_get_last_run_mod(lua_State *); | |
int l_set_last_run_mod(lua_State *); | |
int l_cause_error(lua_State *); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class LuaSettings : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
static charconst className[0] /* 0 0 */ | |
static luaL_Regconst methods[0] /* 0 0 */ | |
bool m_write_allowed; /* 0 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class Settings * m_settings; /* 8 8 */ | |
string m_filename; /* 16 32 */ | |
int gc_object(lua_State *); | |
int l_get(lua_State *); | |
int l_get_bool(lua_State *); | |
int l_set(lua_State *); | |
int l_remove(lua_State *); | |
int l_get_names(lua_State *); | |
int l_write(lua_State *); | |
int l_to_table(lua_State *); | |
void LuaSettings(class LuaSettings *, const char *, bool); | |
void ~LuaSettings(class LuaSettings *, int); | |
int create_object(lua_State *); | |
class LuaSettings * checkobject(lua_State *, int); | |
void Register(lua_State *); | |
/* size: 48, cachelines: 1, members: 4, static members: 2 */ | |
/* sum members: 41, holes: 1, sum holes: 7 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class ModApiSound : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
int l_sound_play(lua_State *); | |
int l_sound_stop(lua_State *); | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class ModApiStorage : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
protected: | |
int l_get_mod_storage(lua_State *); | |
public: | |
void Initialize(lua_State *, int); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class StorageRef : public MetaDataRef { | |
public: | |
/* class MetaDataRef <ancestor>; */ /* 0 0 */ | |
/* XXX 8 bytes hole, try to pack */ | |
class ModMetadata * m_object; /* 8 8 */ | |
/* Bitfield combined with previous fields */ | |
static const char const className /* 0 0 */ | |
static const luaL_Reg const methods /* 0 0 */ | |
void StorageRef(class StorageRef *, const class StorageRef &); | |
virtual class Metadata * getmeta(class StorageRef *, bool); | |
virtual void clearMeta(class StorageRef *); | |
int gc_object(lua_State *); | |
void StorageRef(class StorageRef *, class ModMetadata *); | |
virtual void ~StorageRef(class StorageRef *, int); | |
void Register(lua_State *); | |
void create(lua_State *, class ModMetadata *); | |
class StorageRef * checkobject(lua_State *, int); | |
class ModMetadata * getobject(class StorageRef *); | |
/* vtable has 2 entries: { | |
[3] = getmeta((null)), | |
[4] = clearMeta((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2, static members: 2 */ | |
/* sum members: 8, holes: 1, sum holes: 8 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class ModApiUtil : public ModApiBase { | |
public: | |
/* class ModApiBase <ancestor>; */ /* 0 0 */ | |
int l_log(lua_State *); | |
int l_get_us_time(lua_State *); | |
int l_setting_set(lua_State *); | |
int l_setting_get(lua_State *); | |
int l_setting_setbool(lua_State *); | |
int l_setting_getbool(lua_State *); | |
int l_setting_save(lua_State *); | |
int l_parse_json(lua_State *); | |
int l_write_json(lua_State *); | |
int l_get_dig_params(lua_State *); | |
int l_get_hit_params(lua_State *); | |
int l_check_password_entry(lua_State *); | |
int l_get_password_hash(lua_State *); | |
int l_is_yes(lua_State *); | |
int l_get_builtin_path(lua_State *); | |
int l_compress(lua_State *); | |
int l_decompress(lua_State *); | |
int l_mkdir(lua_State *); | |
int l_get_dir_list(lua_State *); | |
int l_request_insecure_environment(lua_State *); | |
int l_encode_base64(lua_State *); | |
int l_decode_base64(lua_State *); | |
int l_get_version(lua_State *); | |
void Initialize(lua_State *, int); | |
void InitializeClient(lua_State *, int); | |
void InitializeAsync(class AsyncEngine &); | |
/* size: 1, cachelines: 1, members: 1 */ | |
/* padding: 1 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class MainMenuScripting : virtual public ScriptApiBase, public ScriptApiMainMenu { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
/* class ScriptApiMainMenu <ancestor>; */ /* 0 136 */ | |
/* XXX last struct has 128 bytes of padding */ | |
class AsyncEngine asyncEngine; /* 8 368 */ | |
void MainMenuScripting(class MainMenuScripting *, int, const void * *, ); | |
void MainMenuScripting(class MainMenuScripting *, int, const void * *, const class MainMenuScripting &); | |
void MainMenuScripting(class MainMenuScripting *, int, const void * *, class GUIEngine *); | |
void step(class MainMenuScripting *); | |
unsigned int queueAsync(class MainMenuScripting *, const string &, const string &); | |
void initializeModApi(class MainMenuScripting *, lua_State *, int); | |
virtual void ~MainMenuScripting(class MainMenuScripting *, int, const void * *); | |
/* size: 504, cachelines: 8, members: 3 */ | |
/* padding: 128 */ | |
/* paddings: 1, sum paddings: 128 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 504 != 368 + 0(holes), diff = 136 */ | |
}; | |
class ScriptApiMainMenu : virtual public ScriptApiBase { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
int ()(void) * * _vptr.ScriptApiMainMenu; /* 0 8 */ | |
void ScriptApiMainMenu(class ScriptApiMainMenu *, int, const void * *, ); | |
void ScriptApiMainMenu(class ScriptApiMainMenu *, int, const void * *, const class ScriptApiMainMenu &); | |
void ScriptApiMainMenu(class ScriptApiMainMenu *, int, const void * *); | |
void setMainMenuData(class ScriptApiMainMenu *, class MainMenuDataForScript *); | |
void handleMainMenuEvent(class ScriptApiMainMenu *, string); | |
void handleMainMenuButtons(class ScriptApiMainMenu *, const StringMap &); | |
virtual void ~ScriptApiMainMenu(class ScriptApiMainMenu *, int, const void * *); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* padding: 128 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ServerScripting : virtual public ScriptApiBase, public ScriptApiDetached, public ScriptApiEntity, public ScriptApiEnv, public ScriptApiNode, public ScriptApiPlayer, public ScriptApiServer, public ScriptApiSecurity { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
/* class ScriptApiDetached <ancestor>; */ /* 0 136 */ | |
/* XXX last struct has 128 bytes of padding */ | |
/* class ScriptApiEntity <ancestor>; */ /* 8 136 */ | |
/* XXX last struct has 128 bytes of padding */ | |
/* class ScriptApiEnv <ancestor>; */ /* 16 136 */ | |
/* XXX last struct has 128 bytes of padding */ | |
/* class ScriptApiNode <ancestor>; */ /* 24 0 */ | |
/* XXX 8 bytes hole, try to pack */ | |
/* class ScriptApiPlayer <ancestor>; */ /* 32 0 */ | |
/* XXX 8 bytes hole, try to pack */ | |
/* class ScriptApiServer <ancestor>; */ /* 40 136 */ | |
/* XXX last struct has 128 bytes of padding */ | |
/* class ScriptApiSecurity <ancestor>; */ /* 48 136 */ | |
/* XXX last struct has 128 bytes of padding */ | |
void ServerScripting(class ServerScripting *, int, const void * *, ); | |
void ServerScripting(class ServerScripting *, int, const void * *, const class ServerScripting &); | |
void ServerScripting(class ServerScripting *, int, const void * *, class Server *); | |
void InitializeModApi(class ServerScripting *, lua_State *, int); | |
virtual void ~ServerScripting(class ServerScripting *, int, const void * *); | |
/* size: 184, cachelines: 3, members: 8 */ | |
/* sum members: 0, holes: 2, sum holes: 16 */ | |
/* paddings: 5, sum paddings: 640 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 184 != 0 + 16(holes), diff = 168 */ | |
}; | |
class ScriptApiDetached : virtual public ScriptApiBase { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
int ()(void) * * _vptr.ScriptApiDetached; /* 0 8 */ | |
void ScriptApiDetached(class ScriptApiDetached *, int, const void * *, ); | |
void ScriptApiDetached(class ScriptApiDetached *, int, const void * *, const class ScriptApiDetached &); | |
void ScriptApiDetached(class ScriptApiDetached *, int, const void * *); | |
int detached_inventory_AllowMove(class ScriptApiDetached *, const string &, const string &, int, const string &, int, int, class ServerActiveObject *); | |
int detached_inventory_AllowPut(class ScriptApiDetached *, const string &, const string &, int, class ItemStack &, class ServerActiveObject *); | |
int detached_inventory_AllowTake(class ScriptApiDetached *, const string &, const string &, int, class ItemStack &, class ServerActiveObject *); | |
void detached_inventory_OnMove(class ScriptApiDetached *, const string &, const string &, int, const string &, int, int, class ServerActiveObject *); | |
void detached_inventory_OnPut(class ScriptApiDetached *, const string &, const string &, int, class ItemStack &, class ServerActiveObject *); | |
void detached_inventory_OnTake(class ScriptApiDetached *, const string &, const string &, int, class ItemStack &, class ServerActiveObject *); | |
bool getDetachedInventoryCallback(class ScriptApiDetached *, const string &, const char *); | |
virtual void ~ScriptApiDetached(class ScriptApiDetached *, int, const void * *); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* padding: 128 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ScriptApiEntity : virtual public ScriptApiBase { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
int ()(void) * * _vptr.ScriptApiEntity; /* 0 8 */ | |
void ScriptApiEntity(class ScriptApiEntity *, int, const void * *, ); | |
void ScriptApiEntity(class ScriptApiEntity *, int, const void * *, const class ScriptApiEntity &); | |
void ScriptApiEntity(class ScriptApiEntity *, int, const void * *); | |
bool luaentity_Add(class ScriptApiEntity *, u16, const char *); | |
void luaentity_Activate(class ScriptApiEntity *, u16, const string &, u32); | |
void luaentity_Remove(class ScriptApiEntity *, u16); | |
string luaentity_GetStaticdata(class ScriptApiEntity *, u16); | |
void luaentity_GetProperties(class ScriptApiEntity *, u16, class ObjectProperties *); | |
void luaentity_Step(class ScriptApiEntity *, u16, float); | |
bool luaentity_Punch(class ScriptApiEntity *, u16, class ServerActiveObject *, float, const class ToolCapabilities *, v3f, s16); | |
void luaentity_Rightclick(class ScriptApiEntity *, u16, class ServerActiveObject *); | |
virtual void ~ScriptApiEntity(class ScriptApiEntity *, int, const void * *); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* padding: 128 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ScriptApiEnv : virtual public ScriptApiBase { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
int ()(void) * * _vptr.ScriptApiEnv; /* 0 8 */ | |
void ScriptApiEnv(class ScriptApiEnv *, int, const void * *, ); | |
void ScriptApiEnv(class ScriptApiEnv *, int, const void * *, const class ScriptApiEnv &); | |
void ScriptApiEnv(class ScriptApiEnv *, int, const void * *); | |
void environment_Step(class ScriptApiEnv *, float); | |
void environment_OnGenerated(class ScriptApiEnv *, v3s16, v3s16, u32); | |
void player_event(class ScriptApiEnv *, class ServerActiveObject *, const string &); | |
void on_emerge_area_completion(class ScriptApiEnv *, v3s16, int, class ScriptCallbackState *); | |
void initializeEnvironment(class ScriptApiEnv *, class ServerEnvironment *); | |
virtual void ~ScriptApiEnv(class ScriptApiEnv *, int, const void * *); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* padding: 128 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ScriptApiServer : virtual public ScriptApiBase { | |
public: | |
/* --- cacheline 67108863 boundary (4294967232 bytes) was 63 bytes ago --- */ | |
/* class ScriptApiBase <ancestor>; */ /* 4294967295 0 */ | |
int ()(void) * * _vptr.ScriptApiServer; /* 0 8 */ | |
void ScriptApiServer(class ScriptApiServer *, int, const void * *, ); | |
void ScriptApiServer(class ScriptApiServer *, int, const void * *, const class ScriptApiServer &); | |
void ScriptApiServer(class ScriptApiServer *, int, const void * *); | |
bool on_chat_message(class ScriptApiServer *, const string &, const string &); | |
void on_shutdown(class ScriptApiServer *); | |
bool getAuth(class ScriptApiServer *, const string &, string *, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string); | |
void createAuth(class ScriptApiServer *, const string &, const string &); | |
bool setPassword(class ScriptApiServer *, const string &, const string &); | |
void getAuthHandler(class ScriptApiServer *); | |
void readPrivileges(class ScriptApiServer *, int, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string); | |
virtual void ~ScriptApiServer(class ScriptApiServer *, int, const void * *); | |
/* size: 136, cachelines: 3, members: 2 */ | |
/* padding: 128 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class Event { | |
class condition_variable cv; /* 0 48 */ | |
Mutex mutex; /* 48 40 */ | |
/* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ | |
bool notified; /* 88 1 */ | |
public: | |
void Event(class Event *); | |
void wait(class Event *); | |
void signal(class Event *); | |
/* size: 96, cachelines: 2, members: 3 */ | |
/* padding: 7 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct timeval { | |
__time_t tv_sec; /* 0 8 */ | |
__suseconds_t tv_usec; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct sched_param { | |
int __sched_priority; /* 0 4 */ | |
/* size: 4, cachelines: 1, members: 1 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
class Thread { | |
public: | |
int ()(void) * * _vptr.Thread; /* 0 8 */ | |
protected: | |
string m_name; /* 8 32 */ | |
void * m_retval; /* 40 8 */ | |
bool m_joinable; /* 48 1 */ | |
Atomic m_request_stop; /* 49 1 */ | |
Atomic m_running; /* 50 1 */ | |
/* XXX 5 bytes hole, try to pack */ | |
Mutex m_mutex; /* 56 40 */ | |
/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */ | |
Mutex m_start_finished_mutex; /* 96 40 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
class thread * m_thread_obj; /* 136 8 */ | |
public: | |
void Thread(class Thread *, const string &); | |
virtual void ~Thread(class Thread *, int); | |
bool start(class Thread *); | |
bool stop(class Thread *); | |
bool kill(class Thread *); | |
bool wait(class Thread *); | |
bool isCurrentThread(class Thread *); | |
bool isRunning(class Thread *); | |
bool stopRequested(class Thread *); | |
threadid_t getThreadId(class Thread *); | |
threadhandle_t getThreadHandle(class Thread *); | |
bool getReturnValue(class Thread *, void * *); | |
bool bindToProcessor(class Thread *, unsigned int); | |
bool setPriority(class Thread *, int); | |
void setName(const string &); | |
unsigned int getNumberOfProcessors(void); | |
protected: | |
virtual void * run(class Thread *); | |
void * threadProc(void *); | |
void Thread(class Thread *, const class Thread &); | |
class Thread & operator=(class Thread *, const class Thread &); | |
/* vtable has 1 entries: { | |
[2] = run((null)), | |
} */ | |
/* size: 144, cachelines: 3, members: 9 */ | |
/* sum members: 139, holes: 1, sum holes: 5 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class DebugStacker { | |
class DebugStack * m_stack; /* 0 8 */ | |
bool m_overflowed; /* 8 1 */ | |
public: | |
void DebugStacker(class DebugStacker *, const char *); | |
void ~DebugStacker(class DebugStacker *, int); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 7 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class TestManager { | |
public: | |
class vector<TestBase*, std::allocator<TestBase*> > & getTestModules(void); | |
void registerTestModule(class TestBase *); | |
/* size: 1, cachelines: 0, members: 0 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class TestGameDef : public IGameDef { | |
public: | |
/* class IGameDef <ancestor>; */ /* 0 8 */ | |
class IItemDefManager * m_itemdef; /* 8 8 */ | |
class INodeDefManager * m_nodedef; /* 16 8 */ | |
class ICraftDefManager * m_craftdef; /* 24 8 */ | |
class ITextureSource * m_texturesrc; /* 32 8 */ | |
class IShaderSource * m_shadersrc; /* 40 8 */ | |
class ISoundManager * m_soundmgr; /* 48 8 */ | |
class MtEventManager * m_eventmgr; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class ISceneManager * m_scenemgr; /* 64 8 */ | |
class IRollbackManager * m_rollbackmgr; /* 72 8 */ | |
class EmergeManager * m_emergemgr; /* 80 8 */ | |
void TestGameDef(class TestGameDef *, const class TestGameDef &); | |
void TestGameDef(class TestGameDef *); | |
void ~TestGameDef(class TestGameDef *, int); | |
virtual class IItemDefManager * getItemDefManager(class TestGameDef *); | |
virtual class INodeDefManager * getNodeDefManager(class TestGameDef *); | |
virtual class ICraftDefManager * getCraftDefManager(class TestGameDef *); | |
class ITextureSource * getTextureSource(class TestGameDef *); | |
class IShaderSource * getShaderSource(class TestGameDef *); | |
class ISoundManager * getSoundManager(class TestGameDef *); | |
virtual class MtEventManager * getEventManager(class TestGameDef *); | |
class ISceneManager * getSceneManager(class TestGameDef *); | |
virtual class IRollbackManager * getRollbackManager(class TestGameDef *); | |
class EmergeManager * getEmergeManager(class TestGameDef *); | |
class IAnimatedMesh * getMesh(class TestGameDef *, const string &); | |
bool checkLocalPrivilege(class TestGameDef *, const string &); | |
virtual u16 allocateUnknownNodeId(class TestGameDef *, const string &); | |
void defineSomeNodes(class TestGameDef *); | |
virtual const class vector<ModSpec, std::allocator<ModSpec> > & getMods(const class TestGameDef *); | |
virtual const class ModSpec * getModSpec(const class TestGameDef *, const string &); | |
virtual string getModStoragePath(const class TestGameDef *); | |
virtual bool registerModStorage(class TestGameDef *, class ModMetadata *); | |
virtual void unregisterModStorage(class TestGameDef *, const string &); | |
/* vtable has 11 entries: { | |
[0] = getItemDefManager((null)), | |
[1] = getNodeDefManager((null)), | |
[2] = getCraftDefManager((null)), | |
[4] = getEventManager((null)), | |
[5] = getRollbackManager((null)), | |
[3] = allocateUnknownNodeId((null)), | |
[6] = getMods((null)), | |
[7] = getModSpec((null)), | |
[9] = getModStoragePath((null)), | |
[10] = registerModStorage((null)), | |
[11] = unregisterModStorage((null)), | |
} */ | |
/* size: 88, cachelines: 2, members: 11 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 88 != 80 + 0(holes), diff = 8 */ | |
}; | |
class IGameDef { | |
public: | |
int ()(void) * * _vptr.IGameDef; /* 0 8 */ | |
void ~IGameDef(class IGameDef *, int); | |
void IGameDef(class IGameDef *, ); | |
void IGameDef(class IGameDef *, const class IGameDef &); | |
void IGameDef(class IGameDef *); | |
virtual class IItemDefManager * getItemDefManager(class IGameDef *); | |
virtual class INodeDefManager * getNodeDefManager(class IGameDef *); | |
virtual class ICraftDefManager * getCraftDefManager(class IGameDef *); | |
virtual u16 allocateUnknownNodeId(class IGameDef *, const string &); | |
virtual class MtEventManager * getEventManager(class IGameDef *); | |
virtual class IRollbackManager * getRollbackManager(class IGameDef *); | |
class IItemDefManager * idef(class IGameDef *); | |
class INodeDefManager * ndef(class IGameDef *); | |
class ICraftDefManager * cdef(class IGameDef *); | |
class MtEventManager * event(class IGameDef *); | |
class IRollbackManager * rollback(class IGameDef *); | |
virtual const class vector<ModSpec, std::allocator<ModSpec> > & getMods(const class IGameDef *); | |
virtual const class ModSpec * getModSpec(const class IGameDef *, const string &); | |
virtual string getWorldPath(const class IGameDef *); | |
virtual string getModStoragePath(const class IGameDef *); | |
virtual bool registerModStorage(class IGameDef *, class ModMetadata *); | |
virtual void unregisterModStorage(class IGameDef *, const string &); | |
/* vtable has 12 entries: { | |
[0] = getItemDefManager((null)), | |
[1] = getNodeDefManager((null)), | |
[2] = getCraftDefManager((null)), | |
[3] = allocateUnknownNodeId((null)), | |
[4] = getEventManager((null)), | |
[5] = getRollbackManager((null)), | |
[6] = getMods((null)), | |
[7] = getModSpec((null)), | |
[8] = getWorldPath((null)), | |
[9] = getModStoragePath((null)), | |
[10] = registerModStorage((null)), | |
[11] = unregisterModStorage((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class TestFailedException : public exception { | |
public: | |
/* class exception <ancestor>; */ /* 0 0 */ | |
void TestFailedException(class TestFailedException *, ); | |
void TestFailedException(class TestFailedException *, const class TestFailedException &); | |
void TestFailedException(class TestFailedException *); | |
virtual void ~TestFailedException(class TestFailedException *, int); | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* padding: 8 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class TestBase { | |
public: | |
int ()(void) * * _vptr.TestBase; /* 0 8 */ | |
u32 num_tests_failed; /* 8 4 */ | |
u32 num_tests_run; /* 12 4 */ | |
string m_test_dir; /* 16 32 */ | |
void ~TestBase(class TestBase *, int); | |
void TestBase(class TestBase *, ); | |
void TestBase(class TestBase *, const class TestBase &); | |
void TestBase(class TestBase *); | |
bool testModule(class TestBase *, class IGameDef *); | |
string getTestTempDirectory(class TestBase *); | |
string getTestTempFile(class TestBase *); | |
virtual void runTests(class TestBase *, class IGameDef *); | |
virtual const char * getName(class TestBase *); | |
/* vtable has 2 entries: { | |
[0] = runTests((null)), | |
[1] = getName((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 4 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class TestAreaStore : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestAreaStore(class TestAreaStore *, ); | |
void TestAreaStore(class TestAreaStore *, const class TestAreaStore &); | |
void TestAreaStore(class TestAreaStore *); | |
virtual const char * getName(class TestAreaStore *); | |
virtual void runTests(class TestAreaStore *, class IGameDef *); | |
void genericStoreTest(class TestAreaStore *, class AreaStore *); | |
void testVectorStore(class TestAreaStore *); | |
void testSpatialStore(class TestAreaStore *); | |
void testSerialization(class TestAreaStore *); | |
void ~TestAreaStore(class TestAreaStore *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestCollision : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestCollision(class TestCollision *, ); | |
void TestCollision(class TestCollision *, const class TestCollision &); | |
void TestCollision(class TestCollision *); | |
virtual const char * getName(class TestCollision *); | |
virtual void runTests(class TestCollision *, class IGameDef *); | |
void testAxisAlignedCollision(class TestCollision *); | |
void ~TestCollision(class TestCollision *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestCompression : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestCompression(class TestCompression *, ); | |
void TestCompression(class TestCompression *, const class TestCompression &); | |
void TestCompression(class TestCompression *); | |
virtual const char * getName(class TestCompression *); | |
virtual void runTests(class TestCompression *, class IGameDef *); | |
void testRLECompression(class TestCompression *); | |
void testZlibCompression(class TestCompression *); | |
void testZlibLargeData(class TestCompression *); | |
void ~TestCompression(class TestCompression *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class PrngException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void PrngException(class PrngException *, ); | |
void PrngException(class PrngException *, const class PrngException &); | |
void PrngException(class PrngException *, const string &); | |
virtual void ~PrngException(class PrngException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class TestConnection : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestConnection(class TestConnection *, ); | |
void TestConnection(class TestConnection *, const class TestConnection &); | |
void TestConnection(class TestConnection *); | |
virtual const char * getName(class TestConnection *); | |
virtual void runTests(class TestConnection *, class IGameDef *); | |
void testHelpers(class TestConnection *); | |
void testConnectSendReceive(class TestConnection *); | |
void ~TestConnection(class TestConnection *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
struct Handler : PeerHandler { | |
/* class PeerHandler <ancestor>; */ /* 0 8 */ | |
s32 count; /* 8 4 */ | |
u16 last_id; /* 12 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
const char * name; /* 16 8 */ | |
void Handler(class Handler *, ); | |
void Handler(class Handler *, const class Handler &); | |
void Handler(class Handler *, const char *); | |
virtual void peerAdded(class Handler *, class Peer *); | |
virtual void deletingPeer(class Handler *, class Peer *, bool); | |
virtual void ~Handler(class Handler *, int); | |
/* vtable has 2 entries: { | |
[2] = peerAdded((null)), | |
[3] = deletingPeer((null)), | |
} */ | |
/* size: 24, cachelines: 1, members: 4 */ | |
/* sum members: 14, holes: 1, sum holes: 2 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 14 + 2(holes), diff = 8 */ | |
}; | |
class ResolveError : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void ResolveError(class ResolveError *, const string &); | |
virtual void ~ResolveError(class ResolveError *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class TestFilePath : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestFilePath(class TestFilePath *, ); | |
void TestFilePath(class TestFilePath *, const class TestFilePath &); | |
void TestFilePath(class TestFilePath *); | |
virtual const char * getName(class TestFilePath *); | |
virtual void runTests(class TestFilePath *, class IGameDef *); | |
void testIsDirDelimiter(class TestFilePath *); | |
void testPathStartsWith(class TestFilePath *); | |
void testRemoveLastPathComponent(class TestFilePath *); | |
void testRemoveLastPathComponentWithTrailingDelimiter(class TestFilePath *); | |
void testRemoveRelativePathComponent(class TestFilePath *); | |
void ~TestFilePath(class TestFilePath *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestInventory : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
static const char * serialized_inventory /* 0 0 */ | |
static const char * serialized_inventory_2 /* 0 0 */ | |
void TestInventory(class TestInventory *, ); | |
void TestInventory(class TestInventory *, const class TestInventory &); | |
void TestInventory(class TestInventory *); | |
virtual const char * getName(class TestInventory *); | |
virtual void runTests(class TestInventory *, class IGameDef *); | |
void testSerializeDeserialize(class TestInventory *, class IItemDefManager *); | |
void ~TestInventory(class TestInventory *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1, static members: 2 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestKeycode : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestKeycode(class TestKeycode *, ); | |
void TestKeycode(class TestKeycode *, const class TestKeycode &); | |
void TestKeycode(class TestKeycode *); | |
virtual const char * getName(class TestKeycode *); | |
virtual void runTests(class TestKeycode *, class IGameDef *); | |
void testCreateFromString(class TestKeycode *); | |
void testCreateFromSKeyInput(class TestKeycode *); | |
void testCompare(class TestKeycode *); | |
void ~TestKeycode(class TestKeycode *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestMapSettingsManager : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestMapSettingsManager(class TestMapSettingsManager *, ); | |
void TestMapSettingsManager(class TestMapSettingsManager *, const class TestMapSettingsManager &); | |
void TestMapSettingsManager(class TestMapSettingsManager *); | |
virtual const char * getName(class TestMapSettingsManager *); | |
void makeUserConfig(class TestMapSettingsManager *, class Settings *); | |
string makeMetaFile(class TestMapSettingsManager *, bool); | |
virtual void runTests(class TestMapSettingsManager *, class IGameDef *); | |
void testMapSettingsManager(class TestMapSettingsManager *); | |
void testMapMetaSaveLoad(class TestMapSettingsManager *); | |
void testMapMetaFailures(class TestMapSettingsManager *); | |
void ~TestMapSettingsManager(class TestMapSettingsManager *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestMapNode : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestMapNode(class TestMapNode *, ); | |
void TestMapNode(class TestMapNode *, const class TestMapNode &); | |
void TestMapNode(class TestMapNode *); | |
virtual const char * getName(class TestMapNode *); | |
virtual void runTests(class TestMapNode *, class IGameDef *); | |
void testNodeProperties(class TestMapNode *, class INodeDefManager *); | |
void ~TestMapNode(class TestMapNode *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestNodeDef : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestNodeDef(class TestNodeDef *, ); | |
void TestNodeDef(class TestNodeDef *, const class TestNodeDef &); | |
void TestNodeDef(class TestNodeDef *); | |
virtual const char * getName(class TestNodeDef *); | |
virtual void runTests(class TestNodeDef *, class IGameDef *); | |
void testContentFeaturesSerialization(class TestNodeDef *); | |
void ~TestNodeDef(class TestNodeDef *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestNodeResolver : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestNodeResolver(class TestNodeResolver *, ); | |
void TestNodeResolver(class TestNodeResolver *, const class TestNodeResolver &); | |
void TestNodeResolver(class TestNodeResolver *); | |
virtual const char * getName(class TestNodeResolver *); | |
virtual void runTests(class TestNodeResolver *, class IGameDef *); | |
void testNodeResolving(class TestNodeResolver *, class IWritableNodeDefManager *); | |
void testPendingResolveCancellation(class TestNodeResolver *, class IWritableNodeDefManager *); | |
void testDirectResolveMethod(class TestNodeResolver *, class IWritableNodeDefManager *); | |
void testNoneResolveMethod(class TestNodeResolver *, class IWritableNodeDefManager *); | |
void ~TestNodeResolver(class TestNodeResolver *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class Foobaz : public NodeResolver { | |
public: | |
/* class NodeResolver <ancestor>; */ /* 0 0 */ | |
/* XXX 74 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) was 10 bytes ago --- */ | |
content_t test_content1; /* 74 2 */ | |
content_t test_content2; /* 76 2 */ | |
void Foobaz(class Foobaz *, ); | |
void Foobaz(class Foobaz *, const class Foobaz &); | |
void Foobaz(class Foobaz *); | |
virtual void resolveNodeNames(class Foobaz *); | |
virtual void ~Foobaz(class Foobaz *, int); | |
/* vtable has 1 entries: { | |
[2] = resolveNodeNames((null)), | |
} */ | |
/* size: 80, cachelines: 2, members: 3 */ | |
/* sum members: 4, holes: 1, sum holes: 74 */ | |
/* padding: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class Foobar : public NodeResolver { | |
public: | |
/* class NodeResolver <ancestor>; */ /* 0 0 */ | |
/* XXX 74 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) was 10 bytes ago --- */ | |
content_t test_nr_node1; /* 74 2 */ | |
content_t test_nr_node2; /* 76 2 */ | |
content_t test_nr_node3; /* 78 2 */ | |
content_t test_nr_node4; /* 80 2 */ | |
content_t test_nr_node5; /* 82 2 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > test_nr_list; /* 88 24 */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > test_nr_list_group; /* 112 24 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > test_nr_list_required; /* 136 24 */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > test_nr_list_empty; /* 160 24 */ | |
void Foobar(class Foobar *, ); | |
void Foobar(class Foobar *, const class Foobar &); | |
void Foobar(class Foobar *); | |
virtual void resolveNodeNames(class Foobar *); | |
virtual void ~Foobar(class Foobar *, int); | |
/* vtable has 1 entries: { | |
[2] = resolveNodeNames((null)), | |
} */ | |
/* size: 184, cachelines: 3, members: 10 */ | |
/* sum members: 106, holes: 2, sum holes: 78 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class TestNoise : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
static const float const expected_2d_results /* 0 0 */ | |
static const float const expected_3d_results /* 0 0 */ | |
void TestNoise(class TestNoise *, ); | |
void TestNoise(class TestNoise *, const class TestNoise &); | |
void TestNoise(class TestNoise *); | |
virtual const char * getName(class TestNoise *); | |
virtual void runTests(class TestNoise *, class IGameDef *); | |
void testNoise2dPoint(class TestNoise *); | |
void testNoise2dBulk(class TestNoise *); | |
void testNoise3dPoint(class TestNoise *); | |
void testNoise3dBulk(class TestNoise *); | |
void testNoiseInvalidParams(class TestNoise *); | |
void ~TestNoise(class TestNoise *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1, static members: 2 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestObjDef : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestObjDef(class TestObjDef *, ); | |
void TestObjDef(class TestObjDef *, const class TestObjDef &); | |
void TestObjDef(class TestObjDef *); | |
virtual const char * getName(class TestObjDef *); | |
virtual void runTests(class TestObjDef *, class IGameDef *); | |
void testHandles(class TestObjDef *); | |
void testAddGetSetClear(class TestObjDef *); | |
void ~TestObjDef(class TestObjDef *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestPlayer : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestPlayer(class TestPlayer *, ); | |
void TestPlayer(class TestPlayer *, const class TestPlayer &); | |
void TestPlayer(class TestPlayer *); | |
virtual const char * getName(class TestPlayer *); | |
virtual void runTests(class TestPlayer *, class IGameDef *); | |
void testSave(class TestPlayer *, class IGameDef *); | |
void testLoad(class TestPlayer *, class IGameDef *); | |
void ~TestPlayer(class TestPlayer *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestProfiler : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestProfiler(class TestProfiler *, ); | |
void TestProfiler(class TestProfiler *, const class TestProfiler &); | |
void TestProfiler(class TestProfiler *); | |
virtual const char * getName(class TestProfiler *); | |
virtual void runTests(class TestProfiler *, class IGameDef *); | |
void testProfilerAverage(class TestProfiler *); | |
void ~TestProfiler(class TestProfiler *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestRandom : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
static const int const expected_pseudorandom_results /* 0 0 */ | |
static const u32 const expected_pcgrandom_results /* 0 0 */ | |
static const u8 const expected_pcgrandom_bytes_result /* 0 0 */ | |
static const u8 const expected_pcgrandom_bytes_result2 /* 0 0 */ | |
void TestRandom(class TestRandom *, ); | |
void TestRandom(class TestRandom *, const class TestRandom &); | |
void TestRandom(class TestRandom *); | |
virtual const char * getName(class TestRandom *); | |
virtual void runTests(class TestRandom *, class IGameDef *); | |
void testPseudoRandom(class TestRandom *); | |
void testPseudoRandomRange(class TestRandom *); | |
void testPcgRandom(class TestRandom *); | |
void testPcgRandomRange(class TestRandom *); | |
void testPcgRandomBytes(class TestRandom *); | |
void testPcgRandomNormalDist(class TestRandom *); | |
void ~TestRandom(class TestRandom *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1, static members: 4 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestSchematic : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
static const content_t const test_schem1_data /* 0 0 */ | |
static const content_t const test_schem2_data /* 0 0 */ | |
static const u8 const test_schem2_prob /* 0 0 */ | |
static const char * expected_lua_output /* 0 0 */ | |
void TestSchematic(class TestSchematic *, ); | |
void TestSchematic(class TestSchematic *, const class TestSchematic &); | |
void TestSchematic(class TestSchematic *); | |
virtual const char * getName(class TestSchematic *); | |
virtual void runTests(class TestSchematic *, class IGameDef *); | |
void testMtsSerializeDeserialize(class TestSchematic *, class INodeDefManager *); | |
void testLuaTableSerialize(class TestSchematic *, class INodeDefManager *); | |
void testFileSerializeDeserialize(class TestSchematic *, class INodeDefManager *); | |
void ~TestSchematic(class TestSchematic *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1, static members: 4 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class BufReader { | |
public: | |
const u8 * data; /* 0 8 */ | |
size_t size; /* 8 8 */ | |
size_t pos; /* 16 8 */ | |
void BufReader(class BufReader *, const u8 *, size_t); | |
bool getU8NoEx(class BufReader *, u8 *); | |
bool getU16NoEx(class BufReader *, u16 *); | |
bool getU32NoEx(class BufReader *, u32 *); | |
bool getU64NoEx(class BufReader *, u64 *); | |
bool getS8NoEx(class BufReader *, s8 *); | |
bool getS16NoEx(class BufReader *, s16 *); | |
bool getS32NoEx(class BufReader *, s32 *); | |
bool getS64NoEx(class BufReader *, s64 *); | |
bool getF1000NoEx(class BufReader *, f32 *); | |
bool getV2S16NoEx(class BufReader *, v2s16 *); | |
bool getV3S16NoEx(class BufReader *, v3s16 *); | |
bool getV2S32NoEx(class BufReader *, v2s32 *); | |
bool getV3S32NoEx(class BufReader *, v3s32 *); | |
bool getV2F1000NoEx(class BufReader *, v2f *); | |
bool getV3F1000NoEx(class BufReader *, v3f *); | |
bool getARGB8NoEx(class BufReader *, class SColor *); | |
bool getStringNoEx(class BufReader *, string *); | |
bool getWideStringNoEx(class BufReader *, wstring *); | |
bool getLongStringNoEx(class BufReader *, string *); | |
bool getRawDataNoEx(class BufReader *, void *, size_t); | |
u8 getU8(class BufReader *); | |
u16 getU16(class BufReader *); | |
u32 getU32(class BufReader *); | |
u64 getU64(class BufReader *); | |
s8 getS8(class BufReader *); | |
s16 getS16(class BufReader *); | |
s32 getS32(class BufReader *); | |
s64 getS64(class BufReader *); | |
f32 getF1000(class BufReader *); | |
v2s16 getV2S16(class BufReader *); | |
v3s16 getV3S16(class BufReader *); | |
v2s32 getV2S32(class BufReader *); | |
v3s32 getV3S32(class BufReader *); | |
v2f getV2F1000(class BufReader *); | |
v3f getV3F1000(class BufReader *); | |
class SColor getARGB8(class BufReader *); | |
string getString(class BufReader *); | |
wstring getWideString(class BufReader *); | |
string getLongString(class BufReader *); | |
void getRawData(class BufReader *, void *, size_t); | |
size_t remaining(class BufReader *); | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class TestSerialization : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
string teststring2; /* 48 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
wstring teststring2_w; /* 80 32 */ | |
string teststring2_w_encoded; /* 112 32 */ | |
/* Bitfield combined with previous fields */ | |
static const u8 const test_serialized_data /* 0 0 */ | |
void TestSerialization(class TestSerialization *, ); | |
void TestSerialization(class TestSerialization *, const class TestSerialization &); | |
void TestSerialization(class TestSerialization *); | |
virtual const char * getName(class TestSerialization *); | |
virtual void runTests(class TestSerialization *, class IGameDef *); | |
void buildTestStrings(class TestSerialization *); | |
void testSerializeString(class TestSerialization *); | |
void testSerializeWideString(class TestSerialization *); | |
void testSerializeLongString(class TestSerialization *); | |
void testSerializeJsonString(class TestSerialization *); | |
void testSerializeHex(class TestSerialization *); | |
void testDeSerializeString(class TestSerialization *); | |
void testDeSerializeWideString(class TestSerialization *); | |
void testDeSerializeLongString(class TestSerialization *); | |
void testStreamRead(class TestSerialization *); | |
void testStreamWrite(class TestSerialization *); | |
void testVecPut(class TestSerialization *); | |
void testStringLengthLimits(class TestSerialization *); | |
void testBufReader(class TestSerialization *); | |
void ~TestSerialization(class TestSerialization *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 144, cachelines: 3, members: 4, static members: 1 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 144 != 96 + 0(holes), diff = 48 */ | |
}; | |
class TestSettings : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
static const char * config_text_before /* 0 0 */ | |
static stringconst config_text_after /* 0 0 */ | |
void TestSettings(class TestSettings *, ); | |
void TestSettings(class TestSettings *, const class TestSettings &); | |
void TestSettings(class TestSettings *); | |
virtual const char * getName(class TestSettings *); | |
virtual void runTests(class TestSettings *, class IGameDef *); | |
void testAllSettings(class TestSettings *); | |
void ~TestSettings(class TestSettings *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1, static members: 2 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestSocket : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
static intconst port = 30003; /* 0 0 */ | |
void TestSocket(class TestSocket *, ); | |
void TestSocket(class TestSocket *, const class TestSocket &); | |
void TestSocket(class TestSocket *); | |
virtual const char * getName(class TestSocket *); | |
virtual void runTests(class TestSocket *, class IGameDef *); | |
void testIPv4Socket(class TestSocket *); | |
void testIPv6Socket(class TestSocket *); | |
void ~TestSocket(class TestSocket *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1, static members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestThreading : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestThreading(class TestThreading *, ); | |
void TestThreading(class TestThreading *, const class TestThreading &); | |
void TestThreading(class TestThreading *); | |
virtual const char * getName(class TestThreading *); | |
virtual void runTests(class TestThreading *, class IGameDef *); | |
void testStartStopWait(class TestThreading *); | |
void testThreadKill(class TestThreading *); | |
void testAtomicSemaphoreThread(class TestThreading *); | |
void ~TestThreading(class TestThreading *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class AtomicTestThread : public Thread { | |
public: | |
/* class Thread <ancestor>; */ /* 0 0 */ | |
/* XXX 144 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
Atomic &const val; /* 144 8 */ | |
class Semaphore &const trigger; /* 152 8 */ | |
void AtomicTestThread(class AtomicTestThread *, ); | |
void AtomicTestThread(class AtomicTestThread *, const class AtomicTestThread &); | |
void AtomicTestThread(class AtomicTestThread *, Atomic &, class Semaphore &); | |
virtual void * run(class AtomicTestThread *); | |
virtual void ~AtomicTestThread(class AtomicTestThread *, int); | |
/* vtable has 1 entries: { | |
[2] = run((null)), | |
} */ | |
/* size: 160, cachelines: 3, members: 3 */ | |
/* sum members: 16, holes: 1, sum holes: 144 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class SimpleTestThread : public Thread { | |
public: | |
/* class Thread <ancestor>; */ /* 0 0 */ | |
/* XXX 144 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
unsigned int m_interval; /* 144 4 */ | |
void SimpleTestThread(class SimpleTestThread *, ); | |
void SimpleTestThread(class SimpleTestThread *, const class SimpleTestThread &); | |
void SimpleTestThread(class SimpleTestThread *, unsigned int); | |
virtual void * run(class SimpleTestThread *); | |
virtual void ~SimpleTestThread(class SimpleTestThread *, int); | |
/* vtable has 1 entries: { | |
[2] = run((null)), | |
} */ | |
/* size: 152, cachelines: 3, members: 2 */ | |
/* sum members: 4, holes: 1, sum holes: 144 */ | |
/* padding: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class TestUtilities : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestUtilities(class TestUtilities *, ); | |
void TestUtilities(class TestUtilities *, const class TestUtilities &); | |
void TestUtilities(class TestUtilities *); | |
virtual const char * getName(class TestUtilities *); | |
virtual void runTests(class TestUtilities *, class IGameDef *); | |
void testAngleWrapAround(class TestUtilities *); | |
void testLowercase(class TestUtilities *); | |
void testTrim(class TestUtilities *); | |
void testIsYes(class TestUtilities *); | |
void testRemoveStringEnd(class TestUtilities *); | |
void testUrlEncode(class TestUtilities *); | |
void testUrlDecode(class TestUtilities *); | |
void testPadString(class TestUtilities *); | |
void testStartsWith(class TestUtilities *); | |
void testStrEqual(class TestUtilities *); | |
void testStringTrim(class TestUtilities *); | |
void testStrToIntConversion(class TestUtilities *); | |
void testStringReplace(class TestUtilities *); | |
void testStringAllowed(class TestUtilities *); | |
void testAsciiPrintableHelper(class TestUtilities *); | |
void testUTF8(class TestUtilities *); | |
void testRemoveEscapes(class TestUtilities *); | |
void testWrapRows(class TestUtilities *); | |
void testIsNumber(class TestUtilities *); | |
void testIsPowerOfTwo(class TestUtilities *); | |
void testMyround(class TestUtilities *); | |
void ~TestUtilities(class TestUtilities *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class TestVoxelAlgorithms : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestVoxelAlgorithms(class TestVoxelAlgorithms *, ); | |
void TestVoxelAlgorithms(class TestVoxelAlgorithms *, const class TestVoxelAlgorithms &); | |
void TestVoxelAlgorithms(class TestVoxelAlgorithms *); | |
virtual const char * getName(class TestVoxelAlgorithms *); | |
virtual void runTests(class TestVoxelAlgorithms *, class IGameDef *); | |
void testPropogateSunlight(class TestVoxelAlgorithms *, class INodeDefManager *); | |
void testClearLightAndCollectSources(class TestVoxelAlgorithms *, class INodeDefManager *); | |
void testVoxelLineIterator(class TestVoxelAlgorithms *, class INodeDefManager *); | |
void ~TestVoxelAlgorithms(class TestVoxelAlgorithms *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class InvalidPositionException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void InvalidPositionException(class InvalidPositionException *, ); | |
void InvalidPositionException(class InvalidPositionException *, const class InvalidPositionException &); | |
void InvalidPositionException(class InvalidPositionException *); | |
void InvalidPositionException(class InvalidPositionException *, const string &); | |
virtual void ~InvalidPositionException(class InvalidPositionException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class TestVoxelManipulator : public TestBase { | |
public: | |
/* class TestBase <ancestor>; */ /* 0 48 */ | |
void TestVoxelManipulator(class TestVoxelManipulator *, ); | |
void TestVoxelManipulator(class TestVoxelManipulator *, const class TestVoxelManipulator &); | |
void TestVoxelManipulator(class TestVoxelManipulator *); | |
virtual const char * getName(class TestVoxelManipulator *); | |
virtual void runTests(class TestVoxelManipulator *, class IGameDef *); | |
void testVoxelArea(class TestVoxelManipulator *); | |
void testVoxelManipulator(class TestVoxelManipulator *, class INodeDefManager *); | |
void ~TestVoxelManipulator(class TestVoxelManipulator *, int); | |
/* vtable has 2 entries: { | |
[1] = getName((null)), | |
[0] = runTests((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 0 + 0(holes), diff = 48 */ | |
}; | |
class VectorAreaStore : public AreaStore { | |
public: | |
/* class AreaStore <ancestor>; */ /* 0 168 */ | |
/* XXX last struct has 4 bytes of padding */ | |
/* --- cacheline 2 boundary (128 bytes) was 40 bytes ago --- */ | |
class vector<Area*, std::allocator<Area*> > m_areas; /* 168 24 */ | |
void VectorAreaStore(class VectorAreaStore *, ); | |
void VectorAreaStore(class VectorAreaStore *, const class VectorAreaStore &); | |
void VectorAreaStore(class VectorAreaStore *); | |
virtual void reserve(class VectorAreaStore *, size_t); | |
virtual bool insertArea(class VectorAreaStore *, class Area *); | |
virtual bool removeArea(class VectorAreaStore *, u32); | |
virtual void getAreasInArea(class VectorAreaStore *, class vector<Area*, std::allocator<Area*> > *, v3s16, v3s16, bool); | |
protected: | |
virtual void getAreasForPosImpl(class VectorAreaStore *, class vector<Area*, std::allocator<Area*> > *, v3s16); | |
public: | |
virtual void ~VectorAreaStore(class VectorAreaStore *, int); | |
/* vtable has 5 entries: { | |
[2] = reserve((null)), | |
[3] = insertArea((null)), | |
[4] = removeArea((null)), | |
[5] = getAreasInArea((null)), | |
[6] = getAreasForPosImpl((null)), | |
} */ | |
/* size: 192, cachelines: 3, members: 2 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* BRAIN FART ALERT! 192 != 24 + 0(holes), diff = 168 */ | |
}; | |
class SHA1 { | |
Uint32 H0; /* 0 4 */ | |
Uint32 H1; /* 4 4 */ | |
Uint32 H2; /* 8 4 */ | |
Uint32 H3; /* 12 4 */ | |
Uint32 H4; /* 16 4 */ | |
unsigned char bytes[64]; /* 20 64 */ | |
/* --- cacheline 1 boundary (64 bytes) was 20 bytes ago --- */ | |
int unprocessedBytes; /* 84 4 */ | |
Uint32 size; /* 88 4 */ | |
void process(class SHA1 *); | |
public: | |
void SHA1(class SHA1 *); | |
void ~SHA1(class SHA1 *, int); | |
void addBytes(class SHA1 *, const char *, int); | |
unsigned char * getDigest(class SHA1 *); | |
Uint32 lrot(Uint32, int); | |
void storeBigEndianUint32(unsigned char *, Uint32); | |
void hexPrinter(unsigned char *, int); | |
/* size: 92, cachelines: 2, members: 8 */ | |
/* last cacheline: 28 bytes */ | |
}; | |
class FacePositionCache { | |
static class unordered_map<short unsigned int, std::vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > >, std::hash<short unsigned int>, std::equal_to<short unsigned int>, std::allocator<std::pair<short unsigned int const, std::vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > > > > m_cache /* 0 0 */ | |
static Mutex m_cache_mutex /* 0 0 */ | |
public: | |
class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > getFacePositions(u16); | |
void generateFacePosition(u16); | |
/* size: 1, cachelines: 0, members: 0, static members: 2 */ | |
/* last cacheline: 1 bytes */ | |
}; | |
class Buffer<char> { | |
char * data; /* 0 8 */ | |
unsigned int m_size; /* 8 4 */ | |
public: | |
void Buffer(class Buffer<char> *); | |
void Buffer(class Buffer<char> *, unsigned int); | |
void Buffer(class Buffer<char> *, const class Buffer<char> &); | |
void Buffer(class Buffer<char> *, const char *, unsigned int); | |
void ~Buffer(class Buffer<char> *, int); | |
class Buffer<char> & operator=(class Buffer<char> *, const class Buffer<char> &); | |
char & operator[](const class Buffer<char> *, unsigned int); | |
char * operator*(const class Buffer<char> *); | |
unsigned int getSize(const class Buffer<char> *); | |
void drop(class Buffer<char> *); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct SHA256state_st { | |
unsigned int h[8]; /* 0 32 */ | |
unsigned int Nl; /* 32 4 */ | |
unsigned int Nh; /* 36 4 */ | |
unsigned int data[16]; /* 40 64 */ | |
/* --- cacheline 1 boundary (64 bytes) was 40 bytes ago --- */ | |
unsigned int num; /* 104 4 */ | |
unsigned int md_len; /* 108 4 */ | |
/* size: 112, cachelines: 2, members: 6 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct SHAstate_st { | |
unsigned int h0; /* 0 4 */ | |
unsigned int h1; /* 4 4 */ | |
unsigned int h2; /* 8 4 */ | |
unsigned int h3; /* 12 4 */ | |
unsigned int h4; /* 16 4 */ | |
unsigned int Nl; /* 20 4 */ | |
unsigned int Nh; /* 24 4 */ | |
unsigned int data[16]; /* 28 64 */ | |
/* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */ | |
unsigned int num; /* 92 4 */ | |
/* size: 96, cachelines: 2, members: 9 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct NGHex { | |
const char * n_hex; /* 0 8 */ | |
const char * g_hex; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct SRPVerifier { | |
SRP_HashAlgorithm hash_alg; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
NGConstant * ng; /* 8 8 */ | |
char * username; /* 16 8 */ | |
unsigned char * bytes_B; /* 24 8 */ | |
int authenticated; /* 32 4 */ | |
unsigned char M[64]; /* 36 64 */ | |
/* --- cacheline 1 boundary (64 bytes) was 36 bytes ago --- */ | |
unsigned char H_AMK[64]; /* 100 64 */ | |
/* --- cacheline 2 boundary (128 bytes) was 36 bytes ago --- */ | |
unsigned char session_key[64]; /* 164 64 */ | |
/* size: 232, cachelines: 4, members: 8 */ | |
/* sum members: 224, holes: 1, sum holes: 4 */ | |
/* padding: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct SRPUser { | |
SRP_HashAlgorithm hash_alg; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
NGConstant * ng; /* 8 8 */ | |
mpz_t a; /* 16 16 */ | |
mpz_t A; /* 32 16 */ | |
mpz_t S; /* 48 16 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
unsigned char * bytes_A; /* 64 8 */ | |
int authenticated; /* 72 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
char * username; /* 80 8 */ | |
char * username_verifier; /* 88 8 */ | |
unsigned char * password; /* 96 8 */ | |
size_t password_len; /* 104 8 */ | |
unsigned char M[64]; /* 112 64 */ | |
/* --- cacheline 2 boundary (128 bytes) was 48 bytes ago --- */ | |
unsigned char H_AMK[64]; /* 176 64 */ | |
/* --- cacheline 3 boundary (192 bytes) was 48 bytes ago --- */ | |
unsigned char session_key[64]; /* 240 64 */ | |
/* size: 304, cachelines: 5, members: 14 */ | |
/* sum members: 296, holes: 2, sum holes: 8 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class Buffer<wchar_t> { | |
wchar_t * data; /* 0 8 */ | |
unsigned int m_size; /* 8 4 */ | |
public: | |
void Buffer(class Buffer<wchar_t> *); | |
void Buffer(class Buffer<wchar_t> *, unsigned int); | |
void Buffer(class Buffer<wchar_t> *, const class Buffer<wchar_t> &); | |
void Buffer(class Buffer<wchar_t> *, const wchar_t *, unsigned int); | |
void ~Buffer(class Buffer<wchar_t> *, int); | |
class Buffer<wchar_t> & operator=(class Buffer<wchar_t> *, const class Buffer<wchar_t> &); | |
wchar_t & operator[](const class Buffer<wchar_t> *, unsigned int); | |
wchar_t * operator*(const class Buffer<wchar_t> *); | |
unsigned int getSize(const class Buffer<wchar_t> *); | |
void drop(class Buffer<wchar_t> *); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class SharedBuffer<char> { | |
char * data; /* 0 8 */ | |
unsigned int m_size; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
unsigned int * refcount; /* 16 8 */ | |
public: | |
void SharedBuffer(class SharedBuffer<char> *); | |
void SharedBuffer(class SharedBuffer<char> *, unsigned int); | |
void SharedBuffer(class SharedBuffer<char> *, const class SharedBuffer<char> &); | |
class SharedBuffer<char> & operator=(class SharedBuffer<char> *, const class SharedBuffer<char> &); | |
void SharedBuffer(class SharedBuffer<char> *, const char *, unsigned int); | |
void SharedBuffer(class SharedBuffer<char> *, const class Buffer<char> &); | |
void ~SharedBuffer(class SharedBuffer<char> *, int); | |
char & operator[](const class SharedBuffer<char> *, unsigned int); | |
char * operator*(const class SharedBuffer<char> *); | |
unsigned int getSize(const class SharedBuffer<char> *); | |
class Buffer<char> operator Buffer<char>(const class SharedBuffer<char> *); | |
void drop(class SharedBuffer<char> *); | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* sum members: 20, holes: 1, sum holes: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct ColorContainer { | |
class map<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, std::less<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int> > > colors; /* 0 48 */ | |
void ColorContainer(class ColorContainer *); | |
void ~ColorContainer(class ColorContainer *, int); | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class BanManager { | |
Mutex m_mutex; /* 0 40 */ | |
string m_banfilepath; /* 40 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
StringMap m_ips; /* 72 56 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
bool m_modified; /* 128 1 */ | |
public: | |
void BanManager(class BanManager *, const string &); | |
void ~BanManager(class BanManager *, int); | |
void load(class BanManager *); | |
void save(class BanManager *); | |
bool isIpBanned(class BanManager *, const string &); | |
string getBanDescription(class BanManager *, const string &); | |
string getBanName(class BanManager *, const string &); | |
void add(class BanManager *, const string &, const string &); | |
void remove(class BanManager *, const string &); | |
bool isModified(class BanManager *); | |
/* size: 136, cachelines: 3, members: 4 */ | |
/* padding: 7 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct Nametag { | |
class ISceneNode * parent_node; /* 0 8 */ | |
string nametag_text; /* 8 32 */ | |
class SColor nametag_color; /* 40 4 */ | |
void Nametag(class Nametag *, class ISceneNode *, const string &, const class SColor &); | |
void ~Nametag(class Nametag *, int); | |
/* size: 48, cachelines: 1, members: 3 */ | |
/* padding: 4 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class Camera { | |
class ISceneNode * m_playernode; /* 0 8 */ | |
class ISceneNode * m_headnode; /* 8 8 */ | |
class ICameraSceneNode * m_cameranode; /* 16 8 */ | |
class ISceneManager * m_wieldmgr; /* 24 8 */ | |
class WieldMeshSceneNode * m_wieldnode; /* 32 8 */ | |
class MapDrawControl &const m_draw_control; /* 40 8 */ | |
class Client * m_client; /* 48 8 */ | |
class IVideoDriver * m_driver; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
v3f m_camera_position; /* 64 12 */ | |
v3f m_camera_direction; /* 76 12 */ | |
v3s16 m_camera_offset; /* 88 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
f32 m_aspect; /* 96 4 */ | |
f32 m_fov_x; /* 100 4 */ | |
f32 m_fov_y; /* 104 4 */ | |
f32 m_view_bobbing_anim; /* 108 4 */ | |
s32 m_view_bobbing_state; /* 112 4 */ | |
f32 m_view_bobbing_speed; /* 116 4 */ | |
f32 m_view_bobbing_fall; /* 120 4 */ | |
f32 m_digging_anim; /* 124 4 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
s32 m_digging_button; /* 128 4 */ | |
f32 m_wield_change_timer; /* 132 4 */ | |
struct ItemStack m_wield_item_next; /* 136 104 */ | |
/* --- cacheline 3 boundary (192 bytes) was 48 bytes ago --- */ | |
enum CameraMode m_camera_mode; /* 240 4 */ | |
f32 m_cache_fall_bobbing_amount; /* 244 4 */ | |
f32 m_cache_view_bobbing_amount; /* 248 4 */ | |
f32 m_cache_fov; /* 252 4 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
f32 m_cache_zoom_fov; /* 256 4 */ | |
bool m_cache_view_bobbing; /* 260 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class list<Nametag*, std::allocator<Nametag*> > m_nametags; /* 264 24 */ | |
public: | |
void Camera(class Camera *, class ISceneManager *, class MapDrawControl &, class Client *); | |
void ~Camera(class Camera *, int); | |
class ISceneNode * getPlayerNode(const class Camera *); | |
class ISceneNode * getHeadNode(const class Camera *); | |
class ICameraSceneNode * getCameraNode(const class Camera *); | |
v3f getPosition(const class Camera *); | |
v3f getDirection(const class Camera *); | |
v3s16 getOffset(const class Camera *); | |
f32 getFovX(const class Camera *); | |
f32 getFovY(const class Camera *); | |
f32 getFovMax(const class Camera *); | |
bool successfullyCreated(class Camera *, string &); | |
void step(class Camera *, f32); | |
void update(class Camera *, class LocalPlayer *, f32, f32, f32, class ClientEnvironment &); | |
void updateViewingRange(class Camera *); | |
void setDigging(class Camera *, s32); | |
void wield(class Camera *, const class ItemStack &); | |
void drawWieldedTool(class Camera *, matrix4 *); | |
void toggleCameraMode(class Camera *); | |
enum CameraMode getCameraMode(class Camera *); | |
class Nametag * addNametag(class Camera *, class ISceneNode *, string, class SColor); | |
void removeNametag(class Camera *, class Nametag *); | |
const class list<Nametag*, std::allocator<Nametag*> > & getNametags(class Camera *); | |
void drawNametags(class Camera *); | |
/* size: 288, cachelines: 5, members: 29 */ | |
/* sum members: 283, holes: 2, sum holes: 5 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct MapDrawControl { | |
bool range_all; /* 0 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float wanted_range; /* 4 4 */ | |
u32 wanted_max_blocks; /* 8 4 */ | |
bool show_wireframe; /* 12 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
u32 blocks_drawn; /* 16 4 */ | |
u32 blocks_would_have_drawn; /* 20 4 */ | |
float farthest_drawn; /* 24 4 */ | |
void MapDrawControl(class MapDrawControl *); | |
/* size: 28, cachelines: 1, members: 7 */ | |
/* sum members: 22, holes: 2, sum holes: 6 */ | |
/* last cacheline: 28 bytes */ | |
}; | |
struct ItemPartColor { | |
bool override_base; /* 0 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class SColor color; /* 4 4 */ | |
void ItemPartColor(class ItemPartColor *); | |
void ItemPartColor(class ItemPartColor *, bool, class SColor); | |
/* size: 8, cachelines: 1, members: 2 */ | |
/* sum members: 5, holes: 1, sum holes: 3 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ItemMesh { | |
class IMesh * mesh; /* 0 8 */ | |
class vector<ItemPartColor, std::allocator<ItemPartColor> > buffer_colors; /* 8 24 */ | |
void ItemMesh(class ItemMesh *); | |
/* size: 32, cachelines: 1, members: 2 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class MtEvent { | |
public: | |
int ()(void) * * _vptr.MtEvent; /* 0 8 */ | |
void MtEvent(class MtEvent *, const class MtEvent &); | |
void MtEvent(class MtEvent *); | |
virtual void ~MtEvent(class MtEvent *, int); | |
virtual const char * getType(const class MtEvent *); | |
class MtEvent * checkIs(class MtEvent *, const string &); | |
/* vtable has 1 entries: { | |
[2] = getType((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class MtEventManager { | |
public: | |
int ()(void) * * _vptr.MtEventManager; /* 0 8 */ | |
virtual void ~MtEventManager(class MtEventManager *, int); | |
virtual void put(class MtEventManager *, class MtEvent *); | |
virtual void reg(class MtEventManager *, const char *, event_receive_func, void *); | |
virtual void dereg(class MtEventManager *, const char *, event_receive_func, void *); | |
virtual void reg(class MtEventManager *, class MtEventReceiver *, const char *); | |
virtual void dereg(class MtEventManager *, class MtEventReceiver *, const char *); | |
/* vtable has 5 entries: { | |
[2] = put((null)), | |
[3] = reg((null)), | |
[4] = dereg((null)), | |
[5] = reg((null)), | |
[6] = dereg((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class MtEventReceiver { | |
public: | |
int ()(void) * * _vptr.MtEventReceiver; /* 0 8 */ | |
virtual void ~MtEventReceiver(class MtEventReceiver *, int); | |
virtual void onEvent(class MtEventReceiver *, class MtEvent *); | |
/* vtable has 1 entries: { | |
[2] = onEvent((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class SimpleTriggerEvent : public MtEvent { | |
public: | |
/* class MtEvent <ancestor>; */ /* 0 8 */ | |
const char * type; /* 8 8 */ | |
void SimpleTriggerEvent(class SimpleTriggerEvent *, ); | |
void SimpleTriggerEvent(class SimpleTriggerEvent *, const class SimpleTriggerEvent &); | |
void SimpleTriggerEvent(class SimpleTriggerEvent *, const char *); | |
virtual const char * getType(const class SimpleTriggerEvent *); | |
virtual void ~SimpleTriggerEvent(class SimpleTriggerEvent *, int); | |
/* vtable has 1 entries: { | |
[2] = getType((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 16 != 8 + 0(holes), diff = 8 */ | |
}; | |
struct GenNotifyEvent { | |
enum GenNotifyType type; /* 0 4 */ | |
v3s16 pos; /* 4 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
u32 id; /* 12 4 */ | |
/* size: 16, cachelines: 1, members: 3 */ | |
/* sum members: 14, holes: 1, sum holes: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class GenerateNotifier { | |
u32 m_notify_on; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> > * m_notify_on_deco_ids; /* 8 8 */ | |
class list<GenNotifyEvent, std::allocator<GenNotifyEvent> > m_notify_events; /* 16 24 */ | |
public: | |
void GenerateNotifier(class GenerateNotifier *); | |
void GenerateNotifier(class GenerateNotifier *, u32, class set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> > *); | |
void setNotifyOn(class GenerateNotifier *, u32); | |
void setNotifyOnDecoIds(class GenerateNotifier *, class set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> > *); | |
bool addEvent(class GenerateNotifier *, enum GenNotifyType, v3s16, u32); | |
void getEvents(class GenerateNotifier *, class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<irr::core::vector3d<shor, bool); | |
/* size: 40, cachelines: 1, members: 3 */ | |
/* sum members: 36, holes: 1, sum holes: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class CavesNoiseIntersection { | |
class INodeDefManager * m_ndef; /* 0 8 */ | |
class BiomeManager * m_bmgr; /* 8 8 */ | |
v3s16 m_csize; /* 16 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float m_cave_width; /* 24 4 */ | |
u16 m_ystride; /* 28 2 */ | |
u16 m_zstride_1d; /* 30 2 */ | |
class Noise * noise_cave1; /* 32 8 */ | |
class Noise * noise_cave2; /* 40 8 */ | |
public: | |
void CavesNoiseIntersection(class CavesNoiseIntersection *, class INodeDefManager *, class BiomeManager *, v3s16, class NoiseParams *, class NoiseParams *, s32, float); | |
void ~CavesNoiseIntersection(class CavesNoiseIntersection *, int); | |
void generateCaves(class CavesNoiseIntersection *, class MMVManip *, v3s16, v3s16, u8 *); | |
/* size: 48, cachelines: 1, members: 8 */ | |
/* sum members: 46, holes: 1, sum holes: 2 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class CavernsNoise { | |
class INodeDefManager * m_ndef; /* 0 8 */ | |
v3s16 m_csize; /* 8 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float m_cavern_limit; /* 16 4 */ | |
float m_cavern_taper; /* 20 4 */ | |
float m_cavern_threshold; /* 24 4 */ | |
u16 m_ystride; /* 28 2 */ | |
u16 m_zstride_1d; /* 30 2 */ | |
class Noise * noise_cavern; /* 32 8 */ | |
content_t c_water_source; /* 40 2 */ | |
content_t c_lava_source; /* 42 2 */ | |
public: | |
void CavernsNoise(class CavernsNoise *, class INodeDefManager *, v3s16, class NoiseParams *, s32, float, float, float); | |
void ~CavernsNoise(class CavernsNoise *, int); | |
bool generateCaverns(class CavernsNoise *, class MMVManip *, v3s16, v3s16); | |
/* size: 48, cachelines: 1, members: 10 */ | |
/* sum members: 42, holes: 1, sum holes: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class CavesRandomWalk { | |
public: | |
class MMVManip * vm; /* 0 8 */ | |
class INodeDefManager * ndef; /* 8 8 */ | |
class GenerateNotifier * gennotify; /* 16 8 */ | |
s16 * heightmap; /* 24 8 */ | |
s32 seed; /* 32 4 */ | |
int water_level; /* 36 4 */ | |
int lava_depth; /* 40 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class NoiseParams * np_caveliquids; /* 48 8 */ | |
u16 ystride; /* 56 2 */ | |
s16 min_tunnel_diameter; /* 58 2 */ | |
s16 max_tunnel_diameter; /* 60 2 */ | |
u16 tunnel_routepoints; /* 62 2 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
int part_max_length_rs; /* 64 4 */ | |
bool large_cave; /* 68 1 */ | |
bool large_cave_is_flat; /* 69 1 */ | |
bool flooded; /* 70 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
s16 max_stone_y; /* 72 2 */ | |
v3s16 node_min; /* 74 6 */ | |
v3s16 node_max; /* 80 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
v3f orp; /* 88 12 */ | |
v3s16 of; /* 100 6 */ | |
v3s16 ar; /* 106 6 */ | |
s16 rs; /* 112 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
v3f main_direction; /* 116 12 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
s16 route_y_min; /* 128 2 */ | |
s16 route_y_max; /* 130 2 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class PseudoRandom * ps; /* 136 8 */ | |
content_t c_water_source; /* 144 2 */ | |
content_t c_lava_source; /* 146 2 */ | |
void CavesRandomWalk(class CavesRandomWalk *, class INodeDefManager *, class GenerateNotifier *, s32, int, content_t, content_t); | |
void makeCave(class CavesRandomWalk *, class MMVManip *, v3s16, v3s16, class PseudoRandom *, bool, int, s16 *); | |
void makeTunnel(class CavesRandomWalk *, bool); | |
void carveRoute(class CavesRandomWalk *, v3f, float, bool); | |
bool isPosAboveSurface(class CavesRandomWalk *, v3s16); | |
/* size: 152, cachelines: 3, members: 29 */ | |
/* sum members: 135, holes: 5, sum holes: 13 */ | |
/* padding: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class CavesV6 { | |
public: | |
class MMVManip * vm; /* 0 8 */ | |
class INodeDefManager * ndef; /* 8 8 */ | |
class GenerateNotifier * gennotify; /* 16 8 */ | |
class PseudoRandom * ps; /* 24 8 */ | |
class PseudoRandom * ps2; /* 32 8 */ | |
s16 * heightmap; /* 40 8 */ | |
content_t c_water_source; /* 48 2 */ | |
content_t c_lava_source; /* 50 2 */ | |
int water_level; /* 52 4 */ | |
u16 ystride; /* 56 2 */ | |
s16 min_tunnel_diameter; /* 58 2 */ | |
s16 max_tunnel_diameter; /* 60 2 */ | |
u16 tunnel_routepoints; /* 62 2 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
int part_max_length_rs; /* 64 4 */ | |
bool large_cave; /* 68 1 */ | |
bool large_cave_is_flat; /* 69 1 */ | |
v3s16 node_min; /* 70 6 */ | |
v3s16 node_max; /* 76 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
v3f orp; /* 84 12 */ | |
v3s16 of; /* 96 6 */ | |
v3s16 ar; /* 102 6 */ | |
s16 rs; /* 108 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
v3f main_direction; /* 112 12 */ | |
s16 route_y_min; /* 124 2 */ | |
s16 route_y_max; /* 126 2 */ | |
void CavesV6(class CavesV6 *, class INodeDefManager *, class GenerateNotifier *, int, content_t, content_t); | |
void makeCave(class CavesV6 *, class MMVManip *, v3s16, v3s16, class PseudoRandom *, class PseudoRandom *, bool, int, s16 *); | |
void makeTunnel(class CavesV6 *, bool); | |
void carveRoute(class CavesV6 *, v3f, float, bool, bool); | |
s16 getSurfaceFromHeightmap(class CavesV6 *, v3s16); | |
/* size: 128, cachelines: 2, members: 25 */ | |
/* sum members: 124, holes: 2, sum holes: 4 */ | |
}; | |
class BasicStrfnd<wchar_t> { | |
typedef struct basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > String; | |
/* tag__fprintf: const_type tag not supported! */; | |
String str; /* 0 32 */ | |
size_t pos; /* 32 8 */ | |
public: | |
void BasicStrfnd(class BasicStrfnd<wchar_t> *, const String &); | |
void start(class BasicStrfnd<wchar_t> *, const String &); | |
size_t where(class BasicStrfnd<wchar_t> *); | |
void to(class BasicStrfnd<wchar_t> *, size_t); | |
bool at_end(class BasicStrfnd<wchar_t> *); | |
String what(class BasicStrfnd<wchar_t> *); | |
String next(class BasicStrfnd<wchar_t> *, const String &); | |
String next_esc(class BasicStrfnd<wchar_t> *, const String &, wchar_t); | |
void skip_over(class BasicStrfnd<wchar_t> *, const String &); | |
void ~BasicStrfnd(class BasicStrfnd<wchar_t> *, int); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class IntervalLimiter { | |
protected: | |
float m_accumulator; /* 0 4 */ | |
public: | |
void IntervalLimiter(class IntervalLimiter *); | |
bool step(class IntervalLimiter *, float, float); | |
/* size: 4, cachelines: 1, members: 1 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
struct ClientEnvEvent { | |
union { | |
struct { | |
u8 amount; /* 0 1 */ | |
bool send_to_server; /* 1 1 */ | |
} player_damage; /* 2 */ | |
struct { | |
u16 amount; /* 0 2 */ | |
} player_breath; /* 2 */ | |
}; | |
enum ClientEnvEventType type; /* 0 4 */ | |
union { | |
struct { | |
u8 amount; /* 4 1 */ | |
bool send_to_server; /* 5 1 */ | |
} player_damage; /* 2 */ | |
struct { | |
u16 amount; /* 4 2 */ | |
} player_breath; /* 2 */ | |
}; /* 4 2 */ | |
/* size: 8, cachelines: 1, members: 2 */ | |
/* padding: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class Client : public PeerHandler, public InventoryManager, public IGameDef { | |
public: | |
/* class PeerHandler <ancestor>; */ /* 0 8 */ | |
/* class InventoryManager <ancestor>; */ /* 8 8 */ | |
/* class IGameDef <ancestor>; */ /* 16 8 */ | |
float m_packetcounter_timer; /* 24 4 */ | |
float m_connection_reinit_timer; /* 28 4 */ | |
float m_avg_rtt_timer; /* 32 4 */ | |
float m_playerpos_send_timer; /* 36 4 */ | |
float m_ignore_damage_timer; /* 40 4 */ | |
class IntervalLimiter m_map_timer_and_unload_interval; /* 44 4 */ | |
class IWritableTextureSource * m_tsrc; /* 48 8 */ | |
class IWritableShaderSource * m_shsrc; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class IWritableItemDefManager * m_itemdef; /* 64 8 */ | |
class IWritableNodeDefManager * m_nodedef; /* 72 8 */ | |
class ISoundManager * m_sound; /* 80 8 */ | |
class MtEventManager * m_event; /* 88 8 */ | |
class MeshUpdateThread m_mesh_update_thread; /* 96 0 */ | |
/* XXX 520 bytes hole, try to pack */ | |
/* --- cacheline 9 boundary (576 bytes) was 40 bytes ago --- */ | |
class ClientEnvironment m_env; /* 616 0 */ | |
/* XXX 368 bytes hole, try to pack */ | |
/* --- cacheline 2063 boundary (132032 bytes) was 24 bytes ago --- */ | |
class ParticleManager m_particle_manager; /* 132056 160 */ | |
/* --- cacheline 2065 boundary (132160 bytes) was 56 bytes ago --- */ | |
class Connection m_con; /* 132216 936 */ | |
/* --- cacheline 2080 boundary (133120 bytes) was 32 bytes ago --- */ | |
class IrrlichtDevice * m_device; /* 133152 8 */ | |
class Camera * m_camera; /* 133160 8 */ | |
class Minimap * m_minimap; /* 133168 8 */ | |
bool m_minimap_disabled_by_server; /* 133176 1 */ | |
u8 m_server_ser_ver; /* 133177 1 */ | |
u8 m_proto_ver; /* 133178 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 m_playeritem; /* 133180 2 */ | |
bool m_inventory_updated; /* 133182 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
/* --- cacheline 2081 boundary (133184 bytes) --- */ | |
class Inventory * m_inventory_from_server; /* 133184 8 */ | |
float m_inventory_from_server_age; /* 133192 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class PacketCounter m_packetcounter; /* 133200 48 */ | |
/* --- cacheline 2082 boundary (133248 bytes) --- */ | |
float m_animation_time; /* 133248 4 */ | |
int m_crack_level; /* 133252 4 */ | |
v3s16 m_crack_pos; /* 133256 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class queue<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::deque<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > m_chat_queue; /* 133264 80 */ | |
/* --- cacheline 2083 boundary (133312 bytes) was 32 bytes ago --- */ | |
u32 m_sudo_auth_methods; /* 133344 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
u64 m_map_seed; /* 133352 8 */ | |
string m_playername; /* 133360 32 */ | |
/* --- cacheline 2084 boundary (133376 bytes) was 16 bytes ago --- */ | |
string m_password; /* 133392 32 */ | |
string m_new_password; /* 133424 32 */ | |
/* --- cacheline 2085 boundary (133440 bytes) was 16 bytes ago --- */ | |
enum AuthMechanism m_chosen_auth_mech; /* 133456 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
void * m_auth_data; /* 133464 8 */ | |
bool m_access_denied; /* 133472 1 */ | |
bool m_access_denied_reconnect; /* 133473 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
string m_access_denied_reason; /* 133480 32 */ | |
/* --- cacheline 2086 boundary (133504 bytes) was 8 bytes ago --- */ | |
class queue<ClientEvent, std::deque<ClientEvent, std::allocator<ClientEvent> > > m_client_event_queue; /* 133512 80 */ | |
/* --- cacheline 2087 boundary (133568 bytes) was 24 bytes ago --- */ | |
bool m_itemdef_received; /* 133592 1 */ | |
bool m_nodedef_received; /* 133593 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class ClientMediaDownloader * m_media_downloader; /* 133600 8 */ | |
bool m_time_of_day_set; /* 133608 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float m_last_time_of_day_f; /* 133612 4 */ | |
float m_time_of_day_update_timer; /* 133616 4 */ | |
float m_recommended_send_interval; /* 133620 4 */ | |
float m_removed_sounds_check_timer; /* 133624 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 2088 boundary (133632 bytes) --- */ | |
class unordered_map<int, int, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<int const, int> > > m_sounds_server_to_client; /* 133632 56 */ | |
class unordered_map<int, int, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<int const, int> > > m_sounds_client_to_server; /* 133688 56 */ | |
/* --- cacheline 2089 boundary (133696 bytes) was 48 bytes ago --- */ | |
class unordered_map<int, short unsigned int, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<int const, short unsigned int> > > m_sounds_to_objects; /* 133744 56 */ | |
/* --- cacheline 2090 boundary (133760 bytes) was 40 bytes ago --- */ | |
class unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_privileges; /* 133800 56 */ | |
/* --- cacheline 2091 boundary (133824 bytes) was 32 bytes ago --- */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Inventory*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Inventory*> > > m_detached_inventories; /* 133856 56 */ | |
/* --- cacheline 2092 boundary (133888 bytes) was 24 bytes ago --- */ | |
StringMap m_mesh_data; /* 133912 56 */ | |
/* --- cacheline 2093 boundary (133952 bytes) was 16 bytes ago --- */ | |
enum LocalClientState m_state; /* 133968 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class Database * m_localdb; /* 133976 8 */ | |
class IntervalLimiter m_localdb_save_interval; /* 133984 4 */ | |
u16 m_cache_save_interval; /* 133988 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class ClientScripting * m_script; /* 133992 8 */ | |
bool m_modding_enabled; /* 134000 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ModMetadata*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ModMetadata*> > > m_mod_storages; /* 134008 56 */ | |
/* --- cacheline 2094 boundary (134016 bytes) was 48 bytes ago --- */ | |
float m_mod_storage_save_timer; /* 134064 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class GameUIFlags * m_game_ui_flags; /* 134072 8 */ | |
/* --- cacheline 2095 boundary (134080 bytes) --- */ | |
bool m_shutdown; /* 134080 1 */ | |
void Client(class Client *, class IrrlichtDevice *, const char *, const string &, class MapDrawControl &, class IWritableTextureSource *, class IWritableShaderSource *, class IWritableItemDefManager *, class IWritableNodeDefManager *, class ISoundManager *, class MtEventManager *, bool, class GameUIFlags *); | |
virtual void ~Client(class Client *, int); | |
void initMods(class Client *); | |
void Stop(class Client *); | |
bool isShutdown(class Client *); | |
void connect(class Client *, class Address, const string &, bool); | |
void step(class Client *, float); | |
void handleCommand(class Client *, class NetworkPacket *); | |
void handleCommand_Null(class Client *, class NetworkPacket *); | |
void handleCommand_Deprecated(class Client *, class NetworkPacket *); | |
void handleCommand_Hello(class Client *, class NetworkPacket *); | |
void handleCommand_AuthAccept(class Client *, class NetworkPacket *); | |
void handleCommand_AcceptSudoMode(class Client *, class NetworkPacket *); | |
void handleCommand_DenySudoMode(class Client *, class NetworkPacket *); | |
void handleCommand_InitLegacy(class Client *, class NetworkPacket *); | |
void handleCommand_AccessDenied(class Client *, class NetworkPacket *); | |
void handleCommand_RemoveNode(class Client *, class NetworkPacket *); | |
void handleCommand_AddNode(class Client *, class NetworkPacket *); | |
void handleCommand_BlockData(class Client *, class NetworkPacket *); | |
void handleCommand_Inventory(class Client *, class NetworkPacket *); | |
void handleCommand_TimeOfDay(class Client *, class NetworkPacket *); | |
void handleCommand_ChatMessage(class Client *, class NetworkPacket *); | |
void handleCommand_ActiveObjectRemoveAdd(class Client *, class NetworkPacket *); | |
void handleCommand_ActiveObjectMessages(class Client *, class NetworkPacket *); | |
void handleCommand_Movement(class Client *, class NetworkPacket *); | |
void handleCommand_HP(class Client *, class NetworkPacket *); | |
void handleCommand_Breath(class Client *, class NetworkPacket *); | |
void handleCommand_MovePlayer(class Client *, class NetworkPacket *); | |
void handleCommand_PlayerItem(class Client *, class NetworkPacket *); | |
void handleCommand_DeathScreen(class Client *, class NetworkPacket *); | |
void handleCommand_AnnounceMedia(class Client *, class NetworkPacket *); | |
void handleCommand_Media(class Client *, class NetworkPacket *); | |
void handleCommand_ToolDef(class Client *, class NetworkPacket *); | |
void handleCommand_NodeDef(class Client *, class NetworkPacket *); | |
void handleCommand_CraftItemDef(class Client *, class NetworkPacket *); | |
void handleCommand_ItemDef(class Client *, class NetworkPacket *); | |
void handleCommand_PlaySound(class Client *, class NetworkPacket *); | |
void handleCommand_StopSound(class Client *, class NetworkPacket *); | |
void handleCommand_Privileges(class Client *, class NetworkPacket *); | |
void handleCommand_InventoryFormSpec(class Client *, class NetworkPacket *); | |
void handleCommand_DetachedInventory(class Client *, class NetworkPacket *); | |
void handleCommand_ShowFormSpec(class Client *, class NetworkPacket *); | |
void handleCommand_SpawnParticle(class Client *, class NetworkPacket *); | |
void handleCommand_AddParticleSpawner(class Client *, class NetworkPacket *); | |
void handleCommand_DeleteParticleSpawner(class Client *, class NetworkPacket *); | |
void handleCommand_HudAdd(class Client *, class NetworkPacket *); | |
void handleCommand_HudRemove(class Client *, class NetworkPacket *); | |
void handleCommand_HudChange(class Client *, class NetworkPacket *); | |
void handleCommand_HudSetFlags(class Client *, class NetworkPacket *); | |
void handleCommand_HudSetParam(class Client *, class NetworkPacket *); | |
void handleCommand_HudSetSky(class Client *, class NetworkPacket *); | |
void handleCommand_OverrideDayNightRatio(class Client *, class NetworkPacket *); | |
void handleCommand_LocalPlayerAnimations(class Client *, class NetworkPacket *); | |
void handleCommand_EyeOffset(class Client *, class NetworkPacket *); | |
void handleCommand_SrpBytesSandB(class Client *, class NetworkPacket *); | |
void ProcessData(class Client *, class NetworkPacket *); | |
void Send(class Client *, class NetworkPacket *); | |
void interact(class Client *, u8, const class PointedThing &); | |
void sendNodemetaFields(class Client *, v3s16, const string &, const StringMap &); | |
void sendInventoryFields(class Client *, const string &, const StringMap &); | |
void sendInventoryAction(class Client *, class InventoryAction *); | |
void sendChatMessage(class Client *, const wstring &); | |
void sendChangePassword(class Client *, const string &, const string &); | |
void sendDamage(class Client *, u8); | |
void sendBreath(class Client *, u16); | |
void sendRespawn(class Client *); | |
void sendReady(class Client *); | |
class ClientEnvironment & getEnv(class Client *); | |
class ITextureSource * tsrc(class Client *); | |
class ISoundManager * sound(class Client *); | |
const string & getBuiltinLuaPath(void); | |
const string & getClientModsLuaPath(void); | |
virtual const class vector<ModSpec, std::allocator<ModSpec> > & getMods(const class Client *); | |
virtual const class ModSpec * getModSpec(const class Client *, const string &); | |
void removeNode(class Client *, v3s16); | |
class MapNode getNode(class Client *, v3s16, bool *); | |
void addNode(class Client *, v3s16, class MapNode, bool); | |
void setPlayerControl(class Client *, class PlayerControl &); | |
void selectPlayerItem(class Client *, u16); | |
u16 getPlayerItem(const class Client *); | |
bool getLocalInventoryUpdated(class Client *); | |
void getLocalInventory(class Client *, class Inventory &); | |
virtual class Inventory * getInventory(class Client *, const class InventoryLocation &); | |
virtual void inventoryAction(class Client *, class InventoryAction *); | |
const class list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11:: getConnectedPlayerNames(class Client *); | |
float getAnimationTime(class Client *); | |
int getCrackLevel(class Client *); | |
v3s16 getCrackPos(class Client *); | |
void setCrack(class Client *, int, v3s16); | |
u16 getHP(class Client *); | |
bool checkPrivilege(const class Client *, const string &); | |
bool getChatMessage(class Client *, wstring &); | |
void typeChatMessage(class Client *, const wstring &); | |
u64 getMapSeed(class Client *); | |
void addUpdateMeshTask(class Client *, v3s16, bool, bool); | |
void addUpdateMeshTaskWithEdge(class Client *, v3s16, bool, bool); | |
void addUpdateMeshTaskForNode(class Client *, v3s16, bool, bool); | |
void updateCameraOffset(class Client *, v3s16); | |
class ClientEvent getClientEvent(class Client *); | |
bool accessDenied(const class Client *); | |
bool reconnectRequested(const class Client *); | |
void setFatalError(class Client *, const string &); | |
const string & accessDeniedReason(const class Client *); | |
bool itemdefReceived(class Client *); | |
bool nodedefReceived(class Client *); | |
bool mediaReceived(class Client *); | |
u8 getProtoVersion(class Client *); | |
bool connectedToServer(class Client *); | |
float mediaReceiveProgress(class Client *); | |
void afterContentReceived(class Client *, class IrrlichtDevice *); | |
float getRTT(class Client *); | |
float getCurRate(class Client *); | |
class Minimap * getMinimap(class Client *); | |
void setCamera(class Client *, class Camera *); | |
class Camera * getCamera(class Client *); | |
bool shouldShowMinimap(const class Client *); | |
virtual class IItemDefManager * getItemDefManager(class Client *); | |
virtual class INodeDefManager * getNodeDefManager(class Client *); | |
virtual class ICraftDefManager * getCraftDefManager(class Client *); | |
class ITextureSource * getTextureSource(class Client *); | |
virtual class IShaderSource * getShaderSource(class Client *); | |
class IShaderSource * shsrc(class Client *); | |
class ISceneManager * getSceneManager(class Client *); | |
virtual u16 allocateUnknownNodeId(class Client *, const string &); | |
virtual class ISoundManager * getSoundManager(class Client *); | |
virtual class MtEventManager * getEventManager(class Client *); | |
virtual class ParticleManager * getParticleManager(class Client *); | |
bool checkLocalPrivilege(class Client *, const string &); | |
virtual class IAnimatedMesh * getMesh(class Client *, const string &); | |
virtual string getModStoragePath(const class Client *); | |
virtual bool registerModStorage(class Client *, class ModMetadata *); | |
virtual void unregisterModStorage(class Client *, const string &); | |
bool loadMedia(class Client *, const string &, const string &); | |
void request_media(class Client *, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11); | |
void received_media(class Client *); | |
enum LocalClientState getState(class Client *); | |
void makeScreenshot(class Client *, class IrrlichtDevice *); | |
void pushToChatQueue(class Client *, const wstring &); | |
class ClientScripting * getScript(class Client *); | |
boolconst moddingEnabled(const class Client *); | |
void pushToEventQueue(class Client *, const class ClientEvent &); | |
void showGameChat(class Client *, bool); | |
void showGameHud(class Client *, bool); | |
void showMinimap(class Client *, bool); | |
void showProfiler(class Client *, bool); | |
void showGameFog(class Client *, bool); | |
void showGameDebug(class Client *, bool); | |
virtual void peerAdded(class Client *, class Peer *); | |
virtual void deletingPeer(class Client *, class Peer *, bool); | |
void initLocalMapSaving(class Client *, const class Address &, const string &, bool); | |
void ReceiveAll(class Client *); | |
void Receive(class Client *); | |
void sendPlayerPos(class Client *); | |
void sendPlayerItem(class Client *, u16); | |
void deleteAuthData(class Client *); | |
enum AuthMechanism choseAuthMech(u32); | |
void sendLegacyInit(class Client *, const char *, const char *); | |
void sendInit(class Client *, const string &); | |
void startAuth(class Client *, enum AuthMechanism); | |
void sendDeletedBlocks(class Client *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &); | |
void sendGotBlocks(class Client *, v3s16); | |
void sendRemovedSounds(class Client *, class vector<int, std::allocator<int> > &); | |
string getPlayerName(class Client *); | |
void Client(class Client *, const class Client &); | |
class Client & operator=(class Client *, const class Client &); | |
/* vtable has 18 entries: { | |
[4] = getMods((null)), | |
[5] = getModSpec((null)), | |
[6] = getInventory((null)), | |
[7] = inventoryAction((null)), | |
[8] = getItemDefManager((null)), | |
[9] = getNodeDefManager((null)), | |
[10] = getCraftDefManager((null)), | |
[11] = getShaderSource((null)), | |
[12] = allocateUnknownNodeId((null)), | |
[13] = getSoundManager((null)), | |
[14] = getEventManager((null)), | |
[15] = getParticleManager((null)), | |
[16] = getMesh((null)), | |
[17] = getModStoragePath((null)), | |
[18] = registerModStorage((null)), | |
[19] = unregisterModStorage((null)), | |
[2] = peerAdded((null)), | |
[3] = deletingPeer((null)), | |
} */ | |
/* size: 134088, cachelines: 2096, members: 69 */ | |
/* sum members: 2045, holes: 16, sum holes: 940 */ | |
/* padding: 7 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 134088 != 2045 + 940(holes), diff = 131103 */ | |
}; | |
class ParticleSpawner { | |
class ParticleManager * m_particlemanager; /* 0 8 */ | |
float m_time; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class IGameDef * m_gamedef; /* 16 8 */ | |
class ISceneManager * m_smgr; /* 24 8 */ | |
class LocalPlayer * m_player; /* 32 8 */ | |
u16 m_amount; /* 40 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float m_spawntime; /* 44 4 */ | |
v3f m_minpos; /* 48 12 */ | |
v3f m_maxpos; /* 60 12 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
v3f m_minvel; /* 72 12 */ | |
v3f m_maxvel; /* 84 12 */ | |
v3f m_minacc; /* 96 12 */ | |
v3f m_maxacc; /* 108 12 */ | |
float m_minexptime; /* 120 4 */ | |
float m_maxexptime; /* 124 4 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
float m_minsize; /* 128 4 */ | |
float m_maxsize; /* 132 4 */ | |
class ITexture * m_texture; /* 136 8 */ | |
class vector<float, std::allocator<float> > m_spawntimes; /* 144 24 */ | |
bool m_collisiondetection; /* 168 1 */ | |
bool m_collision_removal; /* 169 1 */ | |
bool m_vertical; /* 170 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 m_attached_id; /* 172 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
struct TileAnimationParams m_animation; /* 176 16 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
u8 m_glow; /* 192 1 */ | |
public: | |
void ParticleSpawner(class ParticleSpawner *, class IGameDef *, class ISceneManager *, class LocalPlayer *, u16, float, v3f, v3f, v3f, v3f, v3f, v3f, float, float, float, float, bool, bool, u16, bool, class ITexture *, u32, const class TileAnimationParams &, u8, class ParticleManager *); | |
void ~ParticleSpawner(class ParticleSpawner *, int); | |
void step(class ParticleSpawner *, float, class ClientEnvironment *); | |
bool get_expired(class ParticleSpawner *); | |
/* size: 200, cachelines: 4, members: 25 */ | |
/* sum members: 184, holes: 4, sum holes: 9 */ | |
/* padding: 7 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ParticleManager { | |
class vector<Particle*, std::allocator<Particle*> > m_particles; /* 0 24 */ | |
class map<unsigned int, ParticleSpawner*, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ParticleSpawner*> > > m_particle_spawners; /* 24 48 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class ClientEnvironment * m_env; /* 72 8 */ | |
Mutex m_particle_list_lock; /* 80 40 */ | |
Mutex m_spawner_list_lock; /* 120 40 */ | |
public: | |
void ParticleManager(class ParticleManager *, class ClientEnvironment *); | |
void ~ParticleManager(class ParticleManager *, int); | |
void step(class ParticleManager *, float); | |
void handleParticleEvent(class ParticleManager *, class ClientEvent *, class Client *, class ISceneManager *, class LocalPlayer *); | |
void addDiggingParticles(class ParticleManager *, class IGameDef *, class ISceneManager *, class LocalPlayer *, v3s16, const class MapNode &, const class ContentFeatures &); | |
void addPunchingParticles(class ParticleManager *, class IGameDef *, class ISceneManager *, class LocalPlayer *, v3s16, const class MapNode &, const class ContentFeatures &); | |
void addNodeParticle(class ParticleManager *, class IGameDef *, class ISceneManager *, class LocalPlayer *, v3s16, const class MapNode &, const class ContentFeatures &); | |
protected: | |
void addParticle(class ParticleManager *, class Particle *); | |
void stepParticles(class ParticleManager *, float); | |
void stepSpawners(class ParticleManager *, float); | |
void clearAll(class ParticleManager *); | |
/* size: 160, cachelines: 3, members: 5 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct MeshUpdateResult { | |
v3s16 p; /* 0 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class MapBlockMesh * mesh; /* 8 8 */ | |
bool ack_block_to_server; /* 16 1 */ | |
void MeshUpdateResult(class MeshUpdateResult *); | |
void MeshUpdateResult(class MeshUpdateResult *, const class MeshUpdateResult &); | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* sum members: 15, holes: 1, sum holes: 2 */ | |
/* padding: 7 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class MutexedQueue<MeshUpdateResult> { | |
protected: | |
class deque<MeshUpdateResult, std::allocator<MeshUpdateResult> > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<MeshUpdateResult> *); | |
bool empty(const class MutexedQueue<MeshUpdateResult> *); | |
void push_back(class MutexedQueue<MeshUpdateResult> *, class MeshUpdateResult); | |
class MeshUpdateResult pop_frontNoEx(class MutexedQueue<MeshUpdateResult> *, u32); | |
class MeshUpdateResult pop_front(class MutexedQueue<MeshUpdateResult> *, u32); | |
class MeshUpdateResult pop_frontNoEx(class MutexedQueue<MeshUpdateResult> *); | |
class MeshUpdateResult pop_back(class MutexedQueue<MeshUpdateResult> *, u32); | |
class MeshUpdateResult pop_backNoEx(class MutexedQueue<MeshUpdateResult> *, u32); | |
class MeshUpdateResult pop_backNoEx(class MutexedQueue<MeshUpdateResult> *); | |
protected: | |
Mutex & getMutex(class MutexedQueue<MeshUpdateResult> *); | |
class deque<MeshUpdateResult, std::allocator<MeshUpdateResult> > & getQueue(class MutexedQueue<MeshUpdateResult> *); | |
public: | |
void ~MutexedQueue(class MutexedQueue<MeshUpdateResult> *, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class PacketCounter { | |
class map<short unsigned int, short unsigned int, std::less<short unsigned int>, std::allocator<std::pair<short unsigned int const, short unsigned int> > > m_packets; /* 0 48 */ | |
public: | |
void PacketCounter(class PacketCounter *); | |
void add(class PacketCounter *, u16); | |
void clear(class PacketCounter *); | |
void print(class PacketCounter *, ostream &); | |
void ~PacketCounter(class PacketCounter *, int); | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class ModConfiguration { | |
class vector<ModSpec, std::allocator<ModSpec> > m_unsatisfied_mods; /* 0 24 */ | |
class vector<ModSpec, std::allocator<ModSpec> > m_sorted_mods; /* 24 24 */ | |
class unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_name_conflicts; /* 48 56 */ | |
public: | |
bool isConsistent(const class ModConfiguration *); | |
class vector<ModSpec, std::allocator<ModSpec> > getMods(class ModConfiguration *); | |
const class vector<ModSpec, std::allocator<ModSpec> > & getUnsatisfiedMods(const class ModConfiguration *); | |
void printUnsatisfiedModsError(const class ModConfiguration *); | |
protected: | |
void ModConfiguration(class ModConfiguration *, const string &); | |
void addModsInPath(class ModConfiguration *, const string &); | |
void addMods(class ModConfiguration *, const class vector<ModSpec, std::allocator<ModSpec> > &); | |
void checkConflictsAndDeps(class ModConfiguration *); | |
void resolveDependencies(class ModConfiguration *); | |
void ModConfiguration(class ModConfiguration *); | |
public: | |
void ~ModConfiguration(class ModConfiguration *, int); | |
/* size: 104, cachelines: 2, members: 3 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class ClientModConfiguration : public ModConfiguration { | |
public: | |
/* class ModConfiguration <ancestor>; */ /* 0 104 */ | |
void ClientModConfiguration(class ClientModConfiguration *, const string &); | |
void ~ClientModConfiguration(class ClientModConfiguration *, int); | |
/* size: 104, cachelines: 2, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 104 != 0 + 0(holes), diff = 104 */ | |
}; | |
struct GameUIFlags { | |
bool show_chat; /* 0 1 */ | |
bool show_hud; /* 1 1 */ | |
bool show_minimap; /* 2 1 */ | |
bool force_fog_off; /* 3 1 */ | |
bool show_debug; /* 4 1 */ | |
bool show_profiler_graph; /* 5 1 */ | |
bool disable_camera_update; /* 6 1 */ | |
/* size: 7, cachelines: 1, members: 7 */ | |
/* last cacheline: 7 bytes */ | |
}; | |
struct TextureUpdateArgs { | |
class IrrlichtDevice * device; /* 0 8 */ | |
class IGUIEnvironment * guienv; /* 8 8 */ | |
u32 last_time_ms; /* 16 4 */ | |
u16 last_percent; /* 20 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
const wchar_t * text_base; /* 24 8 */ | |
class ITextureSource * tsrc; /* 32 8 */ | |
/* size: 40, cachelines: 1, members: 6 */ | |
/* sum members: 38, holes: 1, sum holes: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class IWritableShaderSource : public IShaderSource { | |
public: | |
/* class IShaderSource <ancestor>; */ /* 0 8 */ | |
void IWritableShaderSource(class IWritableShaderSource *); | |
virtual void ~IWritableShaderSource(class IWritableShaderSource *, int); | |
virtual u32 getShaderIdDirect(class IWritableShaderSource *, const string &, u8, u8); | |
virtual class ShaderInfo getShaderInfo(class IWritableShaderSource *, u32); | |
virtual u32 getShader(class IWritableShaderSource *, const string &, u8, u8); | |
virtual void processQueue(class IWritableShaderSource *); | |
virtual void insertSourceShader(class IWritableShaderSource *, const string &, const string &, const string &); | |
virtual void rebuildShaders(class IWritableShaderSource *); | |
virtual void addShaderConstantSetterFactory(class IWritableShaderSource *, class IShaderConstantSetterFactory *); | |
/* vtable has 7 entries: { | |
[2] = getShaderIdDirect((null)), | |
[3] = getShaderInfo((null)), | |
[4] = getShader((null)), | |
[5] = processQueue((null)), | |
[6] = insertSourceShader((null)), | |
[7] = rebuildShaders((null)), | |
[8] = addShaderConstantSetterFactory((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 8 != 0 + 0(holes), diff = 8 */ | |
}; | |
class Database { | |
public: | |
int ()(void) * * _vptr.Database; /* 0 8 */ | |
void Database(class Database *, const class Database &); | |
void Database(class Database *); | |
virtual void ~Database(class Database *, int); | |
virtual void beginSave(class Database *); | |
virtual void endSave(class Database *); | |
virtual bool saveBlock(class Database *, const v3s16 &, const string &); | |
virtual void loadBlock(class Database *, const v3s16 &, string *); | |
virtual bool deleteBlock(class Database *, const v3s16 &); | |
s64 getBlockAsInteger(const v3s16 &); | |
v3s16 getIntegerAsBlock(s64); | |
virtual void listAllLoadableBlocks(class Database *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &); | |
virtual bool initialized(const class Database *); | |
/* vtable has 7 entries: { | |
[2] = beginSave((null)), | |
[3] = endSave((null)), | |
[4] = saveBlock((null)), | |
[5] = loadBlock((null)), | |
[6] = deleteBlock((null)), | |
[7] = listAllLoadableBlocks((null)), | |
[8] = initialized((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class IShaderConstantSetterFactory { | |
public: | |
int ()(void) * * _vptr.IShaderConstantSetterFactory; /* 0 8 */ | |
virtual void ~IShaderConstantSetterFactory(class IShaderConstantSetterFactory *, int); | |
virtual class IShaderConstantSetter * create(class IShaderConstantSetterFactory *); | |
/* vtable has 1 entries: { | |
[2] = create((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class IShaderConstantSetter { | |
public: | |
int ()(void) * * _vptr.IShaderConstantSetter; /* 0 8 */ | |
virtual void ~IShaderConstantSetter(class IShaderConstantSetter *, int); | |
virtual void onSetConstants(class IShaderConstantSetter *, class IMaterialRendererServices *, bool); | |
/* vtable has 1 entries: { | |
[2] = onSetConstants((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class UpdateThread : public Thread { | |
public: | |
/* class Thread <ancestor>; */ /* 0 0 */ | |
/* XXX 144 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
class Semaphore m_update_sem; /* 144 32 */ | |
void UpdateThread(class UpdateThread *, const class UpdateThread &); | |
void UpdateThread(class UpdateThread *, const string &); | |
virtual void ~UpdateThread(class UpdateThread *, int); | |
void deferUpdate(class UpdateThread *); | |
void stop(class UpdateThread *); | |
virtual void * run(class UpdateThread *); | |
protected: | |
virtual void doUpdate(class UpdateThread *); | |
/* vtable has 2 entries: { | |
[2] = run((null)), | |
[3] = doUpdate((null)), | |
} */ | |
/* size: 176, cachelines: 3, members: 2 */ | |
/* sum members: 32, holes: 1, sum holes: 144 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct DistanceSortedActiveObject { | |
class ClientActiveObject * obj; /* 0 8 */ | |
f32 d; /* 8 4 */ | |
void DistanceSortedActiveObject(class DistanceSortedActiveObject *, class ClientActiveObject *, f32); | |
bool operator<(const class DistanceSortedActiveObject *, const class DistanceSortedActiveObject &); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class ClientSimpleObject { | |
public: | |
int ()(void) * * _vptr.ClientSimpleObject; /* 0 8 */ | |
bool m_to_be_removed; /* 8 1 */ | |
void ClientSimpleObject(class ClientSimpleObject *); | |
virtual void ~ClientSimpleObject(class ClientSimpleObject *, int); | |
virtual void step(class ClientSimpleObject *, float); | |
/* vtable has 1 entries: { | |
[2] = step((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 7 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class ClientEnvironment : public Environment { | |
public: | |
/* class Environment <ancestor>; */ /* 0 0 */ | |
/* XXX 104 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) was 40 bytes ago --- */ | |
u16 attachement_parent_ids[65536]; /* 104 131072 */ | |
/* --- cacheline 2049 boundary (131136 bytes) was 40 bytes ago --- */ | |
class ClientMap * m_map; /* 131176 8 */ | |
class LocalPlayer * m_local_player; /* 131184 8 */ | |
class ISceneManager * m_smgr; /* 131192 8 */ | |
/* --- cacheline 2050 boundary (131200 bytes) --- */ | |
class ITextureSource * m_texturesource; /* 131200 8 */ | |
class Client * m_client; /* 131208 8 */ | |
class ClientScripting * m_script; /* 131216 8 */ | |
class IrrlichtDevice * m_irr; /* 131224 8 */ | |
class unordered_map<short unsigned int, ClientActiveObject*, std::hash<short unsigned int>, std::equal_to<short unsigned int>, std::allocator<std::pair<short unsigned int const, ClientActiveObject*> > > m_active_objects; /* 131232 56 */ | |
/* --- cacheline 2051 boundary (131264 bytes) was 24 bytes ago --- */ | |
class vector<ClientSimpleObject*, std::allocator<ClientSimpleObject*> > m_simple_objects; /* 131288 24 */ | |
class queue<ClientEnvEvent, std::deque<ClientEnvEvent, std::allocator<ClientEnvEvent> > > m_client_event_queue; /* 131312 80 */ | |
/* --- cacheline 2053 boundary (131392 bytes) --- */ | |
class IntervalLimiter m_active_object_light_update_interval; /* 131392 4 */ | |
class IntervalLimiter m_lava_hurt_interval; /* 131396 4 */ | |
class IntervalLimiter m_drowning_interval; /* 131400 4 */ | |
class IntervalLimiter m_breathing_interval; /* 131404 4 */ | |
class list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_player_names; /* 131408 24 */ | |
v3s16 m_camera_offset; /* 131432 6 */ | |
void ClientEnvironment(class ClientEnvironment *, const class ClientEnvironment &); | |
void ClientEnvironment(class ClientEnvironment *, class ClientMap *, class ISceneManager *, class ITextureSource *, class Client *, class IrrlichtDevice *); | |
virtual void ~ClientEnvironment(class ClientEnvironment *, int); | |
virtual class Map & getMap(class ClientEnvironment *); | |
class ClientMap & getClientMap(class ClientEnvironment *); | |
class Client * getGameDef(class ClientEnvironment *); | |
void setScript(class ClientEnvironment *, class ClientScripting *); | |
virtual void step(class ClientEnvironment *, float); | |
virtual void setLocalPlayer(class ClientEnvironment *, class LocalPlayer *); | |
class LocalPlayer * getLocalPlayer(class ClientEnvironment *); | |
void addSimpleObject(class ClientEnvironment *, class ClientSimpleObject *); | |
class GenericCAO * getGenericCAO(class ClientEnvironment *, u16); | |
class ClientActiveObject * getActiveObject(class ClientEnvironment *, u16); | |
u16 addActiveObject(class ClientEnvironment *, class ClientActiveObject *); | |
void addActiveObject(class ClientEnvironment *, u16, u8, const string &); | |
void removeActiveObject(class ClientEnvironment *, u16); | |
void processActiveObjectMessage(class ClientEnvironment *, u16, const string &); | |
void damageLocalPlayer(class ClientEnvironment *, u8, bool); | |
void updateLocalPlayerBreath(class ClientEnvironment *, u16); | |
void getActiveObjects(class ClientEnvironment *, v3f, f32, class vector<DistanceSortedActiveObject, std::allocator<DistanceSortedActiveObject> > &); | |
class ClientEnvEvent getClientEvent(class ClientEnvironment *); | |
class ClientActiveObject * getSelectedActiveObject(class ClientEnvironment *, const class line3d<float> &, v3f *, v3s16 *); | |
class PointedThing getPointedThing(class ClientEnvironment *, class line3d<float>, bool, bool); | |
const class list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11:: getPlayerNames(class ClientEnvironment *); | |
void addPlayerName(class ClientEnvironment *, const string &); | |
void removePlayerName(class ClientEnvironment *, const string &); | |
void updateCameraOffset(class ClientEnvironment *, v3s16); | |
v3s16 getCameraOffset(const class ClientEnvironment *); | |
/* vtable has 3 entries: { | |
[3] = getMap((null)), | |
[2] = step((null)), | |
[5] = setLocalPlayer((null)), | |
} */ | |
/* size: 131440, cachelines: 2054, members: 18 */ | |
/* sum members: 131334, holes: 1, sum holes: 104 */ | |
/* padding: 2 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct CollisionInfo { | |
enum CollisionType type; /* 0 4 */ | |
v3s16 node_p; /* 4 6 */ | |
bool bouncy; /* 10 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
v3f old_speed; /* 12 12 */ | |
v3f new_speed; /* 24 12 */ | |
void CollisionInfo(class CollisionInfo *); | |
/* size: 36, cachelines: 1, members: 5 */ | |
/* sum members: 35, holes: 1, sum holes: 1 */ | |
/* last cacheline: 36 bytes */ | |
}; | |
struct PrioritySortedBlockTransfer { | |
float priority; /* 0 4 */ | |
v3s16 pos; /* 4 6 */ | |
u16 peer_id; /* 10 2 */ | |
void PrioritySortedBlockTransfer(class PrioritySortedBlockTransfer *, float, v3s16, u16); | |
bool operator<(const class PrioritySortedBlockTransfer *, const class PrioritySortedBlockTransfer &); | |
void PrioritySortedBlockTransfer(class PrioritySortedBlockTransfer *, const class PrioritySortedBlockTransfer &); | |
/* size: 12, cachelines: 1, members: 3 */ | |
/* last cacheline: 12 bytes */ | |
}; | |
class ClientInterface { | |
class Connection * m_con; /* 0 8 */ | |
Mutex m_clients_mutex; /* 8 40 */ | |
class unordered_map<short unsigned int, RemoteClient*, std::hash<short unsigned int>, std::equal_to<short unsigned int>, std::allocator<std::pair<short unsigned int const, RemoteClient*> > > m_clients; /* 48 56 */ | |
/* --- cacheline 1 boundary (64 bytes) was 40 bytes ago --- */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_clients_names; /* 104 24 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class ServerEnvironment * m_env; /* 128 8 */ | |
Mutex m_env_mutex; /* 136 40 */ | |
float m_print_info_timer; /* 176 4 */ | |
/* Bitfield combined with previous fields */ | |
static const char * statenames[0] /* 0 0 */ | |
public: | |
void ClientInterface(class ClientInterface *, class Connection *); | |
void ~ClientInterface(class ClientInterface *, int); | |
void step(class ClientInterface *, float); | |
class vector<short unsigned int, std::allocator<short unsigned int> > getClientIDs(class ClientInterface *, enum ClientState); | |
const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11 getPlayerNames(const class ClientInterface *); | |
void send(class ClientInterface *, u16, u8, class NetworkPacket *, bool); | |
void sendToAll(class ClientInterface *, class NetworkPacket *); | |
void DeleteClient(class ClientInterface *, u16); | |
void CreateClient(class ClientInterface *, u16); | |
class RemoteClient * getClientNoEx(class ClientInterface *, u16, enum ClientState); | |
class RemoteClient * lockedGetClientNoEx(class ClientInterface *, u16, enum ClientState); | |
enum ClientState getClientState(class ClientInterface *, u16); | |
void setPlayerName(class ClientInterface *, u16, string); | |
u16 getProtocolVersion(class ClientInterface *, u16); | |
void setClientVersion(class ClientInterface *, u16, u8, u8, u8, string); | |
void event(class ClientInterface *, u16, enum ClientStateEvent); | |
void setEnv(class ClientInterface *, class ServerEnvironment *); | |
string state2Name(enum ClientState); | |
protected: | |
void lock(class ClientInterface *); | |
void unlock(class ClientInterface *); | |
class unordered_map<short unsigned int, RemoteClient*, std::hash<short unsigned int>, std::equal_to<short unsigned int>, std::a getClientList(class ClientInterface *); | |
void UpdatePlayerList(class ClientInterface *); | |
/* size: 184, cachelines: 3, members: 7, static members: 1 */ | |
/* padding: 4 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 184 != 184 + 0(holes), diff = 0 */ | |
}; | |
class ClientStateError : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void ClientStateError(class ClientStateError *, ); | |
void ClientStateError(class ClientStateError *, const class ClientStateError &); | |
void ClientStateError(class ClientStateError *, const string &); | |
virtual void ~ClientStateError(class ClientStateError *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct MeshBufList { | |
u8 layer; /* 0 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class SMaterial m; /* 8 176 */ | |
/* XXX last struct has 6 bytes of padding */ | |
/* --- cacheline 2 boundary (128 bytes) was 56 bytes ago --- */ | |
class vector<irr::scene::IMeshBuffer*, std::allocator<irr::scene::IMeshBuffer*> > bufs; /* 184 24 */ | |
void MeshBufList(class MeshBufList *, const class MeshBufList &); | |
void ~MeshBufList(class MeshBufList *, int); | |
void MeshBufList(class MeshBufList *); | |
/* size: 208, cachelines: 4, members: 3 */ | |
/* sum members: 201, holes: 1, sum holes: 7 */ | |
/* paddings: 1, sum paddings: 6 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct MeshBufListList { | |
class vector<MeshBufList, std::allocator<MeshBufList> > lists; /* 0 24 */ | |
void clear(class MeshBufListList *); | |
void add(class MeshBufListList *, class IMeshBuffer *, u8); | |
void ~MeshBufListList(class MeshBufListList *, int); | |
void MeshBufListList(class MeshBufListList *); | |
/* size: 24, cachelines: 1, members: 1 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class ClientMap : public Map, public ISceneNode { | |
public: | |
/* class Map <ancestor>; */ /* 0 0 */ | |
/* XXX 288 bytes hole, try to pack */ | |
/* --- cacheline 4 boundary (256 bytes) was 32 bytes ago --- */ | |
/* class ISceneNode <ancestor>; */ /* 288 264 */ | |
/* XXX last struct has 26 bytes of padding */ | |
/* --- cacheline 8 boundary (512 bytes) was 16 bytes ago --- */ | |
class Client * m_client; /* 528 8 */ | |
aabb3f m_box; /* 536 24 */ | |
class MapDrawControl &const m_control; /* 560 8 */ | |
v3f m_camera_position; /* 568 12 */ | |
/* --- cacheline 9 boundary (576 bytes) was 4 bytes ago --- */ | |
v3f m_camera_direction; /* 580 12 */ | |
f32 m_camera_fov; /* 592 4 */ | |
v3s16 m_camera_offset; /* 596 6 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, MapBlock*> > > m_drawlist; /* 608 48 */ | |
/* --- cacheline 10 boundary (640 bytes) was 16 bytes ago --- */ | |
class set<irr::core::vector2d<short int>, std::less<irr::core::vector2d<short int> >, std::allocator<irr::core::vector2d<short int> > > m_last_drawn_sectors; /* 656 48 */ | |
/* --- cacheline 11 boundary (704 bytes) --- */ | |
bool m_cache_trilinear_filter; /* 704 1 */ | |
bool m_cache_bilinear_filter; /* 705 1 */ | |
bool m_cache_anistropic_filter; /* 706 1 */ | |
void ClientMap(class ClientMap *, int, const void * *, const class ClientMap &); | |
void ClientMap(class ClientMap *, int, const void * *, class Client *, class MapDrawControl &, class ISceneNode *, class ISceneManager *, s32); | |
virtual void ~ClientMap(class ClientMap *, int, const void * *); | |
virtual s32 mapType(const class ClientMap *); | |
virtual void drop(class ClientMap *); | |
void updateCamera(class ClientMap *, v3f, v3f, f32, v3s16); | |
virtual class MapSector * emergeSector(class ClientMap *, v2s16); | |
virtual void OnRegisterSceneNode(class ClientMap *); | |
virtual void render(class ClientMap *); | |
virtual const aabb3f & getBoundingBox(const class ClientMap *); | |
void getBlocksInViewRange(class ClientMap *, v3s16, v3s16 *, v3s16 *); | |
void updateDrawList(class ClientMap *, class IVideoDriver *); | |
void renderMap(class ClientMap *, class IVideoDriver *, s32); | |
int getBackgroundBrightness(class ClientMap *, float, u32, int, bool *); | |
void renderPostFx(class ClientMap *, enum CameraMode); | |
virtual void PrintInfo(class ClientMap *, ostream &); | |
const class MapDrawControl & getControl(const class ClientMap *); | |
f32 getCameraFov(const class ClientMap *); | |
/* vtable has 7 entries: { | |
[2] = mapType((null)), | |
[3] = drop((null)), | |
[4] = emergeSector((null)), | |
[13] = OnRegisterSceneNode((null)), | |
[14] = render((null)), | |
[15] = getBoundingBox((null)), | |
[12] = PrintInfo((null)), | |
} */ | |
/* size: 736, cachelines: 12, members: 14 */ | |
/* sum members: 173, holes: 2, sum holes: 294 */ | |
/* padding: 29 */ | |
/* paddings: 1, sum paddings: 26 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 736 != 173 + 294(holes), diff = 269 */ | |
}; | |
class ClientActiveObject : public ActiveObject { | |
public: | |
/* class ActiveObject <ancestor>; */ /* 0 16 */ | |
/* XXX last struct has 6 bytes of padding */ | |
protected: | |
class Client * m_client; /* 16 8 */ | |
class ClientEnvironment * m_env; /* 24 8 */ | |
/* Bitfield combined with previous fields */ | |
static class unordered_map<short unsigned int, ClientActiveObject* (*)(Client*, ClientEnvironment*), std::hash<short unsigned int>, std::equal_to<short unsigned int>, std::allocator<std::pair<short unsigned int const, ClientActiveObject* (*)(Client*, ClientEnvironment*)> > > m_types /* 0 0 */ | |
typedef class ClientActiveObject * (*Factory)(class Client *, class ClientEnvironment *); | |
public: | |
void ClientActiveObject(class ClientActiveObject *, const class ClientActiveObject &); | |
void ClientActiveObject(class ClientActiveObject *, u16, class Client *, class ClientEnvironment *); | |
virtual void ~ClientActiveObject(class ClientActiveObject *, int); | |
virtual void addToScene(class ClientActiveObject *, class ISceneManager *, class ITextureSource *, class IrrlichtDevice *); | |
virtual void removeFromScene(class ClientActiveObject *, bool); | |
virtual void updateLight(class ClientActiveObject *, u8); | |
virtual void updateLightNoCheck(class ClientActiveObject *, u8); | |
virtual v3s16 getLightPosition(class ClientActiveObject *); | |
virtual aabb3f * getSelectionBox(class ClientActiveObject *); | |
virtual bool getCollisionBox(const class ClientActiveObject *, aabb3f *); | |
virtual bool collideWithObjects(const class ClientActiveObject *); | |
virtual v3f getPosition(class ClientActiveObject *); | |
virtual float getYaw(const class ClientActiveObject *); | |
virtual class ISceneNode * getSceneNode(class ClientActiveObject *); | |
virtual class IMeshSceneNode * getMeshSceneNode(class ClientActiveObject *); | |
virtual class IAnimatedMeshSceneNode * getAnimatedMeshSceneNode(class ClientActiveObject *); | |
virtual class WieldMeshSceneNode * getWieldMeshSceneNode(class ClientActiveObject *); | |
virtual class IBillboardSceneNode * getSpriteSceneNode(class ClientActiveObject *); | |
virtual bool isPlayer(const class ClientActiveObject *); | |
virtual bool isLocalPlayer(const class ClientActiveObject *); | |
virtual void setAttachments(class ClientActiveObject *); | |
virtual bool doShowSelectionBox(class ClientActiveObject *); | |
virtual void updateCameraOffset(class ClientActiveObject *, v3s16); | |
virtual void step(class ClientActiveObject *, float, class ClientEnvironment *); | |
virtual void processMessage(class ClientActiveObject *, const string &); | |
virtual string infoText(class ClientActiveObject *); | |
virtual string debugInfoText(class ClientActiveObject *); | |
virtual void initialize(class ClientActiveObject *, const string &); | |
class ClientActiveObject * create(enum ActiveObjectType, class Client *, class ClientEnvironment *); | |
virtual bool directReportPunch(class ClientActiveObject *, v3f, const class ItemStack *, float); | |
protected: | |
void registerType(u16, Factory); | |
/* vtable has 26 entries: { | |
[5] = addToScene((null)), | |
[6] = removeFromScene((null)), | |
[7] = updateLight((null)), | |
[8] = updateLightNoCheck((null)), | |
[9] = getLightPosition((null)), | |
[10] = getSelectionBox((null)), | |
[1] = getCollisionBox((null)), | |
[2] = collideWithObjects((null)), | |
[11] = getPosition((null)), | |
[12] = getYaw((null)), | |
[13] = getSceneNode((null)), | |
[14] = getMeshSceneNode((null)), | |
[15] = getAnimatedMeshSceneNode((null)), | |
[16] = getWieldMeshSceneNode((null)), | |
[17] = getSpriteSceneNode((null)), | |
[18] = isPlayer((null)), | |
[19] = isLocalPlayer((null)), | |
[20] = setAttachments((null)), | |
[21] = doShowSelectionBox((null)), | |
[22] = updateCameraOffset((null)), | |
[23] = step((null)), | |
[24] = processMessage((null)), | |
[25] = infoText((null)), | |
[26] = debugInfoText((null)), | |
[27] = initialize((null)), | |
[28] = directReportPunch((null)), | |
} */ | |
/* size: 32, cachelines: 1, members: 3, static members: 1 */ | |
/* paddings: 1, sum paddings: 6 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 32 != 16 + 0(holes), diff = 16 */ | |
}; | |
class Clouds : public ISceneNode { | |
public: | |
/* class ISceneNode <ancestor>; */ /* 0 264 */ | |
/* XXX last struct has 26 bytes of padding */ | |
/* --- cacheline 3 boundary (192 bytes) was 48 bytes ago --- */ | |
class SMaterial m_material; /* 240 176 */ | |
/* XXX last struct has 6 bytes of padding */ | |
/* --- cacheline 6 boundary (384 bytes) was 32 bytes ago --- */ | |
aabb3f m_box; /* 416 24 */ | |
s16 m_passed_cloud_y; /* 440 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float m_cloud_y; /* 444 4 */ | |
/* --- cacheline 7 boundary (448 bytes) --- */ | |
u16 m_cloud_radius_i; /* 448 2 */ | |
bool m_enable_3d; /* 450 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
class SColorf m_color; /* 452 16 */ | |
u32 m_seed; /* 468 4 */ | |
v2f m_camera_pos; /* 472 8 */ | |
float m_time; /* 480 4 */ | |
v3s16 m_camera_offset; /* 484 6 */ | |
void Clouds(class Clouds *, int, const void * *, const class Clouds &); | |
void Clouds(class Clouds *, int, const void * *, class ISceneNode *, class ISceneManager *, s32, u32, s16); | |
virtual void ~Clouds(class Clouds *, int, const void * *); | |
virtual void OnRegisterSceneNode(class Clouds *); | |
virtual void render(class Clouds *); | |
virtual const aabb3f & getBoundingBox(const class Clouds *); | |
virtual u32 getMaterialCount(const class Clouds *); | |
virtual class SMaterial & getMaterial(class Clouds *, u32); | |
void step(class Clouds *, float); | |
void update(class Clouds *, v2f, class SColorf); | |
void updateCameraOffset(class Clouds *, v3s16); | |
void readSettings(class Clouds *); | |
/* vtable has 5 entries: { | |
[4] = OnRegisterSceneNode((null)), | |
[6] = render((null)), | |
[10] = getBoundingBox((null)), | |
[27] = getMaterialCount((null)), | |
[26] = getMaterial((null)), | |
} */ | |
/* size: 520, cachelines: 9, members: 12 */ | |
/* sum members: 247, holes: 2, sum holes: 3 */ | |
/* padding: 30 */ | |
/* paddings: 2, sum paddings: 32 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 520 != 247 + 3(holes), diff = 270 */ | |
}; | |
struct collisionMoveResult { | |
bool touching_ground; /* 0 1 */ | |
bool collides; /* 1 1 */ | |
bool collides_xz; /* 2 1 */ | |
bool standing_on_unloaded; /* 3 1 */ | |
bool standing_on_object; /* 4 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class vector<CollisionInfo, std::allocator<CollisionInfo> > collisions; /* 8 24 */ | |
void collisionMoveResult(class collisionMoveResult *); | |
void ~collisionMoveResult(class collisionMoveResult *, int); | |
/* size: 32, cachelines: 1, members: 6 */ | |
/* sum members: 29, holes: 1, sum holes: 3 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct NearbyCollisionInfo { | |
bool is_unloaded; /* 0 1 */ | |
bool is_step_up; /* 1 1 */ | |
bool is_object; /* 2 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
int bouncy; /* 4 4 */ | |
v3s16 position; /* 8 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
aabb3f box; /* 16 24 */ | |
void NearbyCollisionInfo(class NearbyCollisionInfo *, bool, bool, int, const v3s16 &, const aabb3f &); | |
void NearbyCollisionInfo(class NearbyCollisionInfo *, ); | |
void NearbyCollisionInfo(class NearbyCollisionInfo *, const class NearbyCollisionInfo &); | |
/* size: 40, cachelines: 1, members: 6 */ | |
/* sum members: 37, holes: 2, sum holes: 3 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct SmoothTranslator { | |
v3f vect_old; /* 0 12 */ | |
v3f vect_show; /* 12 12 */ | |
v3f vect_aim; /* 24 12 */ | |
f32 anim_counter; /* 36 4 */ | |
f32 anim_time; /* 40 4 */ | |
f32 anim_time_counter; /* 44 4 */ | |
bool aim_is_end; /* 48 1 */ | |
void SmoothTranslator(class SmoothTranslator *); | |
void init(class SmoothTranslator *, v3f); | |
void sharpen(class SmoothTranslator *); | |
void update(class SmoothTranslator *, v3f, bool, float); | |
void translate(class SmoothTranslator *, f32); | |
bool is_moving(class SmoothTranslator *); | |
/* size: 52, cachelines: 1, members: 7 */ | |
/* padding: 3 */ | |
/* last cacheline: 52 bytes */ | |
}; | |
struct PunchDamageResult { | |
bool did_punch; /* 0 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int damage; /* 4 4 */ | |
int wear; /* 8 4 */ | |
void PunchDamageResult(class PunchDamageResult *); | |
/* size: 12, cachelines: 1, members: 3 */ | |
/* sum members: 9, holes: 1, sum holes: 3 */ | |
/* last cacheline: 12 bytes */ | |
}; | |
class TestCAO : public ClientActiveObject { | |
public: | |
/* class ClientActiveObject <ancestor>; */ /* 0 0 */ | |
/* XXX 32 bytes hole, try to pack */ | |
class IMeshSceneNode * m_node; /* 32 8 */ | |
v3f m_position; /* 40 12 */ | |
void TestCAO(class TestCAO *, const class TestCAO &); | |
void TestCAO(class TestCAO *, class Client *, class ClientEnvironment *); | |
virtual void ~TestCAO(class TestCAO *, int); | |
virtual enum ActiveObjectType getType(const class TestCAO *); | |
class ClientActiveObject * create(class Client *, class ClientEnvironment *); | |
virtual void addToScene(class TestCAO *, class ISceneManager *, class ITextureSource *, class IrrlichtDevice *); | |
virtual void removeFromScene(class TestCAO *, bool); | |
virtual void updateLight(class TestCAO *, u8); | |
virtual v3s16 getLightPosition(class TestCAO *); | |
void updateNodePos(class TestCAO *); | |
virtual void step(class TestCAO *, float, class ClientEnvironment *); | |
virtual void processMessage(class TestCAO *, const string &); | |
virtual bool getCollisionBox(const class TestCAO *, aabb3f *); | |
/* vtable has 8 entries: { | |
[0] = getType((null)), | |
[5] = addToScene((null)), | |
[6] = removeFromScene((null)), | |
[7] = updateLight((null)), | |
[9] = getLightPosition((null)), | |
[23] = step((null)), | |
[24] = processMessage((null)), | |
[1] = getCollisionBox((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 3 */ | |
/* sum members: 20, holes: 1, sum holes: 32 */ | |
/* padding: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class ItemCAO : public ClientActiveObject { | |
public: | |
/* class ClientActiveObject <ancestor>; */ /* 0 0 */ | |
/* XXX 32 bytes hole, try to pack */ | |
aabb3f m_selection_box; /* 32 24 */ | |
class IMeshSceneNode * m_node; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
v3f m_position; /* 64 12 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string m_itemstring; /* 80 32 */ | |
string m_infotext; /* 112 32 */ | |
void ItemCAO(class ItemCAO *, const class ItemCAO &); | |
void ItemCAO(class ItemCAO *, class Client *, class ClientEnvironment *); | |
virtual void ~ItemCAO(class ItemCAO *, int); | |
virtual enum ActiveObjectType getType(const class ItemCAO *); | |
class ClientActiveObject * create(class Client *, class ClientEnvironment *); | |
virtual void addToScene(class ItemCAO *, class ISceneManager *, class ITextureSource *, class IrrlichtDevice *); | |
virtual void removeFromScene(class ItemCAO *, bool); | |
virtual void updateLight(class ItemCAO *, u8); | |
virtual v3s16 getLightPosition(class ItemCAO *); | |
void updateNodePos(class ItemCAO *); | |
void updateInfoText(class ItemCAO *); | |
void updateTexture(class ItemCAO *); | |
virtual void step(class ItemCAO *, float, class ClientEnvironment *); | |
virtual void processMessage(class ItemCAO *, const string &); | |
virtual void initialize(class ItemCAO *, const string &); | |
virtual aabb3f * getSelectionBox(class ItemCAO *); | |
virtual v3f getPosition(class ItemCAO *); | |
virtual float getYaw(const class ItemCAO *); | |
virtual string infoText(class ItemCAO *); | |
virtual bool getCollisionBox(const class ItemCAO *, aabb3f *); | |
/* vtable has 13 entries: { | |
[0] = getType((null)), | |
[5] = addToScene((null)), | |
[6] = removeFromScene((null)), | |
[7] = updateLight((null)), | |
[9] = getLightPosition((null)), | |
[23] = step((null)), | |
[24] = processMessage((null)), | |
[27] = initialize((null)), | |
[10] = getSelectionBox((null)), | |
[11] = getPosition((null)), | |
[12] = getYaw((null)), | |
[25] = infoText((null)), | |
[1] = getCollisionBox((null)), | |
} */ | |
/* size: 144, cachelines: 3, members: 6 */ | |
/* sum members: 108, holes: 2, sum holes: 36 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class GenericCAO : public ClientActiveObject { | |
public: | |
/* class ClientActiveObject <ancestor>; */ /* 0 0 */ | |
/* XXX 32 bytes hole, try to pack */ | |
string m_name; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
bool m_is_player; /* 64 1 */ | |
bool m_is_local_player; /* 65 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
struct ObjectProperties m_prop; /* 72 288 */ | |
/* --- cacheline 5 boundary (320 bytes) was 40 bytes ago --- */ | |
class ISceneManager * m_smgr; /* 360 8 */ | |
class IrrlichtDevice * m_irr; /* 368 8 */ | |
class Client * m_client; /* 376 8 */ | |
/* --- cacheline 6 boundary (384 bytes) --- */ | |
aabb3f m_selection_box; /* 384 24 */ | |
class IMeshSceneNode * m_meshnode; /* 408 8 */ | |
class IAnimatedMeshSceneNode * m_animated_meshnode; /* 416 8 */ | |
class WieldMeshSceneNode * m_wield_meshnode; /* 424 8 */ | |
class IBillboardSceneNode * m_spritenode; /* 432 8 */ | |
class Nametag * m_nametag; /* 440 8 */ | |
/* --- cacheline 7 boundary (448 bytes) --- */ | |
v3f m_position; /* 448 12 */ | |
v3f m_velocity; /* 460 12 */ | |
v3f m_acceleration; /* 472 12 */ | |
float m_yaw; /* 484 4 */ | |
s16 m_hp; /* 488 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
struct SmoothTranslator pos_translator; /* 492 52 */ | |
/* XXX last struct has 3 bytes of padding */ | |
/* --- cacheline 8 boundary (512 bytes) was 32 bytes ago --- */ | |
v2f m_tx_size; /* 544 8 */ | |
v2s16 m_tx_basepos; /* 552 4 */ | |
bool m_initial_tx_basepos_set; /* 556 1 */ | |
bool m_tx_select_horiz_by_yawpitch; /* 557 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
v2s32 m_animation_range; /* 560 8 */ | |
int m_animation_speed; /* 568 4 */ | |
int m_animation_blend; /* 572 4 */ | |
/* --- cacheline 9 boundary (576 bytes) --- */ | |
bool m_animation_loop; /* 576 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, irr::core::vector2d<irr::core::vector3d<float> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, irr::core::vector2d<irr::core::vector3d<float> > > > > m_bone_position; /* 584 56 */ | |
/* --- cacheline 10 boundary (640 bytes) --- */ | |
string m_attachment_bone; /* 640 32 */ | |
v3f m_attachment_position; /* 672 12 */ | |
v3f m_attachment_rotation; /* 684 12 */ | |
bool m_attached_to_local; /* 696 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int m_anim_frame; /* 700 4 */ | |
/* --- cacheline 11 boundary (704 bytes) --- */ | |
int m_anim_num_frames; /* 704 4 */ | |
float m_anim_framelength; /* 708 4 */ | |
float m_anim_timer; /* 712 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
ItemGroupList m_armor_groups; /* 720 56 */ | |
/* --- cacheline 12 boundary (768 bytes) was 8 bytes ago --- */ | |
float m_reset_textures_timer; /* 776 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string m_previous_texture_modifier; /* 784 32 */ | |
string m_current_texture_modifier; /* 816 32 */ | |
/* --- cacheline 13 boundary (832 bytes) was 16 bytes ago --- */ | |
bool m_visuals_expired; /* 848 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float m_step_distance_counter; /* 852 4 */ | |
u8 m_last_light; /* 856 1 */ | |
bool m_is_visible; /* 857 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > m_children; /* 864 24 */ | |
void GenericCAO(class GenericCAO *, const class GenericCAO &); | |
void GenericCAO(class GenericCAO *, class Client *, class ClientEnvironment *); | |
virtual void ~GenericCAO(class GenericCAO *, int); | |
class ClientActiveObject * create(class Client *, class ClientEnvironment *); | |
virtual enum ActiveObjectType getType(const class GenericCAO *); | |
virtual void initialize(class GenericCAO *, const string &); | |
void processInitData(class GenericCAO *, const string &); | |
class ClientActiveObject * getParent(class GenericCAO *); | |
virtual bool getCollisionBox(const class GenericCAO *, aabb3f *); | |
virtual bool collideWithObjects(const class GenericCAO *); | |
virtual aabb3f * getSelectionBox(class GenericCAO *); | |
virtual v3f getPosition(class GenericCAO *); | |
virtual float getYaw(const class GenericCAO *); | |
virtual class ISceneNode * getSceneNode(class GenericCAO *); | |
virtual class IMeshSceneNode * getMeshSceneNode(class GenericCAO *); | |
virtual class IAnimatedMeshSceneNode * getAnimatedMeshSceneNode(class GenericCAO *); | |
virtual class WieldMeshSceneNode * getWieldMeshSceneNode(class GenericCAO *); | |
virtual class IBillboardSceneNode * getSpriteSceneNode(class GenericCAO *); | |
virtual bool isPlayer(const class GenericCAO *); | |
virtual bool isLocalPlayer(const class GenericCAO *); | |
bool isVisible(const class GenericCAO *); | |
void setVisible(class GenericCAO *, bool); | |
void setChildrenVisible(class GenericCAO *, bool); | |
virtual void setAttachments(class GenericCAO *); | |
virtual void removeFromScene(class GenericCAO *, bool); | |
virtual void addToScene(class GenericCAO *, class ISceneManager *, class ITextureSource *, class IrrlichtDevice *); | |
void expireVisuals(class GenericCAO *); | |
virtual void updateLight(class GenericCAO *, u8); | |
virtual void updateLightNoCheck(class GenericCAO *, u8); | |
virtual v3s16 getLightPosition(class GenericCAO *); | |
void updateNodePos(class GenericCAO *); | |
virtual void step(class GenericCAO *, float, class ClientEnvironment *); | |
void updateTexturePos(class GenericCAO *); | |
void updateTextures(class GenericCAO *, const string &); | |
void updateAnimation(class GenericCAO *); | |
void updateBonePosition(class GenericCAO *); | |
void updateAttachments(class GenericCAO *); | |
virtual void processMessage(class GenericCAO *, const string &); | |
virtual bool directReportPunch(class GenericCAO *, v3f, const class ItemStack *, float); | |
virtual string debugInfoText(class GenericCAO *); | |
virtual string infoText(class GenericCAO *); | |
/* vtable has 25 entries: { | |
[0] = getType((null)), | |
[27] = initialize((null)), | |
[1] = getCollisionBox((null)), | |
[2] = collideWithObjects((null)), | |
[10] = getSelectionBox((null)), | |
[11] = getPosition((null)), | |
[12] = getYaw((null)), | |
[13] = getSceneNode((null)), | |
[14] = getMeshSceneNode((null)), | |
[15] = getAnimatedMeshSceneNode((null)), | |
[16] = getWieldMeshSceneNode((null)), | |
[17] = getSpriteSceneNode((null)), | |
[18] = isPlayer((null)), | |
[19] = isLocalPlayer((null)), | |
[20] = setAttachments((null)), | |
[6] = removeFromScene((null)), | |
[5] = addToScene((null)), | |
[7] = updateLight((null)), | |
[8] = updateLightNoCheck((null)), | |
[9] = getLightPosition((null)), | |
[23] = step((null)), | |
[24] = processMessage((null)), | |
[28] = directReportPunch((null)), | |
[26] = debugInfoText((null)), | |
[25] = infoText((null)), | |
} */ | |
/* size: 888, cachelines: 14, members: 46 */ | |
/* sum members: 819, holes: 10, sum holes: 69 */ | |
/* paddings: 1, sum paddings: 3 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class SmokePuffCSO : public ClientSimpleObject { | |
public: | |
/* class ClientSimpleObject <ancestor>; */ /* 0 16 */ | |
/* XXX last struct has 7 bytes of padding */ | |
float m_age; /* 12 4 */ | |
class IBillboardSceneNode * m_spritenode; /* 16 8 */ | |
void SmokePuffCSO(class SmokePuffCSO *, const class SmokePuffCSO &); | |
void SmokePuffCSO(class SmokePuffCSO *, class ISceneManager *, class ClientEnvironment *, v3f, v2f); | |
virtual void ~SmokePuffCSO(class SmokePuffCSO *, int); | |
virtual void step(class SmokePuffCSO *, float); | |
/* vtable has 1 entries: { | |
[2] = step((null)), | |
} */ | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* paddings: 1, sum paddings: 7 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 12 + 0(holes), diff = 12 */ | |
}; | |
struct LightFrame { | |
f32 lightsA[8]; /* 0 32 */ | |
f32 lightsB[8]; /* 32 32 */ | |
/* size: 64, cachelines: 1, members: 2 */ | |
}; | |
class MapblockMeshGenerator { | |
struct NeighborData { | |
f32 level; /* 0 4 */ | |
content_t content; /* 4 2 */ | |
bool is_same_liquid; /* 6 1 */ | |
bool top_is_same_liquid; /* 7 1 */ | |
/* size: 8, cachelines: 1, members: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
public: | |
class MeshMakeData * data; /* 0 8 */ | |
class MeshCollector * collector; /* 8 8 */ | |
class INodeDefManager * nodedef; /* 16 8 */ | |
class ISceneManager * smgr; /* 24 8 */ | |
class IMeshManipulator * meshmanip; /* 32 8 */ | |
bool enable_mesh_cache; /* 40 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
v3s16 blockpos_nodes; /* 42 6 */ | |
v3s16 p; /* 48 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
v3f origin; /* 56 12 */ | |
/* --- cacheline 1 boundary (64 bytes) was 4 bytes ago --- */ | |
struct MapNode n; /* 68 4 */ | |
const class ContentFeatures * f; /* 72 8 */ | |
u16 light; /* 80 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
struct LightFrame frame; /* 84 64 */ | |
/* --- cacheline 2 boundary (128 bytes) was 20 bytes ago --- */ | |
class SColor color; /* 148 4 */ | |
struct TileSpec tile; /* 152 152 */ | |
/* --- cacheline 4 boundary (256 bytes) was 48 bytes ago --- */ | |
float scale; /* 304 4 */ | |
bool top_is_same_liquid; /* 308 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
struct TileSpec tile_liquid; /* 312 152 */ | |
/* --- cacheline 7 boundary (448 bytes) was 16 bytes ago --- */ | |
struct TileSpec tile_liquid_top; /* 464 152 */ | |
/* --- cacheline 9 boundary (576 bytes) was 40 bytes ago --- */ | |
content_t c_flowing; /* 616 2 */ | |
content_t c_source; /* 618 2 */ | |
class SColor color_liquid_top; /* 620 4 */ | |
struct NeighborData liquid_neighbors[3][3]; /* 624 72 */ | |
/* --- cacheline 10 boundary (640 bytes) was 56 bytes ago --- */ | |
f32 corner_levels[2][2]; /* 696 16 */ | |
/* Bitfield combined with previous fields */ | |
static stringconst raillike_groupname /* 0 0 */ | |
/* --- cacheline 11 boundary (704 bytes) was 8 bytes ago --- */ | |
int raillike_group; /* 712 4 */ | |
enum PlantlikeStyle draw_style; /* 716 4 */ | |
v3f offset; /* 720 12 */ | |
int rotate_degree; /* 732 4 */ | |
bool random_offset_Y; /* 736 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int face_num; /* 740 4 */ | |
void getSmoothLightFrame(class MapblockMeshGenerator *); | |
u16 blendLight(class MapblockMeshGenerator *, const v3f &); | |
class SColor blendLightColor(class MapblockMeshGenerator *, const v3f &); | |
class SColor blendLightColor(class MapblockMeshGenerator *, const v3f &, const v3f &); | |
void useTile(class MapblockMeshGenerator *, int, bool); | |
void useDefaultTile(class MapblockMeshGenerator *, bool); | |
class TileSpec getTile(class MapblockMeshGenerator *, const v3s16 &); | |
void drawQuad(class MapblockMeshGenerator *, v3f *, const v3s16 &); | |
void drawCuboid(class MapblockMeshGenerator *, const aabb3f &, class TileSpec *, int, const u16 *, const f32 *); | |
void generateCuboidTextureCoords(class MapblockMeshGenerator *, const aabb3f &, f32 *); | |
void drawAutoLightedCuboid(class MapblockMeshGenerator *, aabb3f, const f32 *, class TileSpec *, int); | |
void prepareLiquidNodeDrawing(class MapblockMeshGenerator *, bool); | |
void getLiquidNeighborhood(class MapblockMeshGenerator *, bool); | |
void resetCornerLevels(class MapblockMeshGenerator *); | |
void calculateCornerLevels(class MapblockMeshGenerator *); | |
f32 getCornerLevel(class MapblockMeshGenerator *, int, int); | |
void drawLiquidSides(class MapblockMeshGenerator *, bool); | |
void drawLiquidTop(class MapblockMeshGenerator *, bool); | |
bool isSameRail(class MapblockMeshGenerator *, v3s16); | |
void drawPlantlikeQuad(class MapblockMeshGenerator *, float, float, bool); | |
void drawFirelikeQuad(class MapblockMeshGenerator *, float, float, float, float); | |
void drawLiquidNode(class MapblockMeshGenerator *, bool); | |
void drawGlasslikeNode(class MapblockMeshGenerator *); | |
void drawGlasslikeFramedNode(class MapblockMeshGenerator *); | |
void drawAllfacesNode(class MapblockMeshGenerator *); | |
void drawTorchlikeNode(class MapblockMeshGenerator *); | |
void drawSignlikeNode(class MapblockMeshGenerator *); | |
void drawPlantlikeNode(class MapblockMeshGenerator *); | |
void drawFirelikeNode(class MapblockMeshGenerator *); | |
void drawFencelikeNode(class MapblockMeshGenerator *); | |
void drawRaillikeNode(class MapblockMeshGenerator *); | |
void drawNodeboxNode(class MapblockMeshGenerator *); | |
void drawMeshNode(class MapblockMeshGenerator *); | |
void errorUnknownDrawtype(class MapblockMeshGenerator *); | |
void drawNode(class MapblockMeshGenerator *); | |
void MapblockMeshGenerator(class MapblockMeshGenerator *, class MeshMakeData *, class MeshCollector *); | |
void generate(class MapblockMeshGenerator *); | |
/* size: 744, cachelines: 12, members: 30, static members: 1 */ | |
/* sum members: 761, holes: 5, sum holes: 11 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 744 != 761 + 11(holes), diff = -28 */ | |
}; | |
struct MeshCollector { | |
class vector<PreMeshBuffer, std::allocator<PreMeshBuffer> > prebuffers[2]; /* 0 48 */ | |
bool m_use_tangent_vertices; /* 48 1 */ | |
void MeshCollector(class MeshCollector *, bool); | |
void append(class MeshCollector *, const class TileSpec &, const class S3DVertex *, u32, const u16 *, u32); | |
void append(class MeshCollector *, const class TileLayer &, const class S3DVertex *, u32, const u16 *, u32, u8); | |
void append(class MeshCollector *, const class TileSpec &, const class S3DVertex *, u32, const u16 *, u32, v3f, class SColor, u8); | |
void append(class MeshCollector *, const class TileLayer &, const class S3DVertex *, u32, const u16 *, u32, v3f, class SColor, u8, u8); | |
void applyTileColors(class MeshCollector *); | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* padding: 7 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct PreMeshBuffer { | |
struct TileLayer layer; /* 0 72 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > indices; /* 72 24 */ | |
class vector<irr::video::S3DVertex, std::allocator<irr::video::S3DVertex> > vertices; /* 96 24 */ | |
class vector<irr::video::S3DVertexTangents, std::allocator<irr::video::S3DVertexTangents> > tangent_vertices; /* 120 24 */ | |
/* size: 144, cachelines: 3, members: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class NameIdMapping { | |
class unordered_map<short unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<short unsigned int>, std::equal_to<short unsigned int>, std::allocator<std::pair<short unsigned int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > m_id_to_name; /* 0 56 */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > > m_name_to_id; /* 56 56 */ | |
public: | |
void serialize(const class NameIdMapping *, ostream &); | |
void deSerialize(class NameIdMapping *, istream &); | |
void clear(class NameIdMapping *); | |
void set(class NameIdMapping *, u16, const string &); | |
void removeId(class NameIdMapping *, u16); | |
void eraseName(class NameIdMapping *, const string &); | |
bool getName(const class NameIdMapping *, u16, string &); | |
bool getId(const class NameIdMapping *, const string &, u16 &); | |
u16 size(const class NameIdMapping *); | |
/* size: 112, cachelines: 2, members: 2 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct ActiveObjectMessage { | |
u16 id; /* 0 2 */ | |
bool reliable; /* 2 1 */ | |
/* XXX 5 bytes hole, try to pack */ | |
string datastring; /* 8 32 */ | |
void ActiveObjectMessage(class ActiveObjectMessage *, u16, bool, const string &); | |
void ActiveObjectMessage(class ActiveObjectMessage *, const class ActiveObjectMessage &); | |
void ~ActiveObjectMessage(class ActiveObjectMessage *, int); | |
/* size: 40, cachelines: 1, members: 3 */ | |
/* sum members: 35, holes: 1, sum holes: 5 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class TestSAO : public ServerActiveObject { | |
public: | |
/* class ServerActiveObject <ancestor>; */ /* 0 0 */ | |
/* XXX 184 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 56 bytes ago --- */ | |
float m_timer1; /* 184 4 */ | |
float m_age; /* 188 4 */ | |
void TestSAO(class TestSAO *, ); | |
void TestSAO(class TestSAO *, const class TestSAO &); | |
void TestSAO(class TestSAO *, class ServerEnvironment *, v3f); | |
virtual enum ActiveObjectType getType(const class TestSAO *); | |
class ServerActiveObject * create(class ServerEnvironment *, v3f, const string &); | |
virtual void step(class TestSAO *, float, bool); | |
virtual bool getCollisionBox(const class TestSAO *, aabb3f *); | |
virtual bool collideWithObjects(const class TestSAO *); | |
virtual void ~TestSAO(class TestSAO *, int); | |
/* vtable has 4 entries: { | |
[0] = getType((null)), | |
[13] = step((null)), | |
[1] = getCollisionBox((null)), | |
[2] = collideWithObjects((null)), | |
} */ | |
/* size: 192, cachelines: 3, members: 3 */ | |
/* sum members: 8, holes: 1, sum holes: 184 */ | |
}; | |
class LuaEntitySAO : public UnitSAO { | |
public: | |
/* class UnitSAO <ancestor>; */ /* 0 752 */ | |
/* XXX last struct has 7 bytes of padding */ | |
/* --- cacheline 11 boundary (704 bytes) was 48 bytes ago --- */ | |
string m_init_name; /* 752 32 */ | |
/* --- cacheline 12 boundary (768 bytes) was 16 bytes ago --- */ | |
string m_init_state; /* 784 32 */ | |
bool m_registered; /* 816 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
v3f m_velocity; /* 820 12 */ | |
/* --- cacheline 13 boundary (832 bytes) --- */ | |
v3f m_acceleration; /* 832 12 */ | |
float m_last_sent_yaw; /* 844 4 */ | |
v3f m_last_sent_position; /* 848 12 */ | |
v3f m_last_sent_velocity; /* 860 12 */ | |
float m_last_sent_position_timer; /* 872 4 */ | |
float m_last_sent_move_precision; /* 876 4 */ | |
string m_current_texture_modifier; /* 880 32 */ | |
void LuaEntitySAO(class LuaEntitySAO *, const class LuaEntitySAO &); | |
void LuaEntitySAO(class LuaEntitySAO *, class ServerEnvironment *, v3f, const string &, const string &); | |
virtual void ~LuaEntitySAO(class LuaEntitySAO *, int); | |
virtual enum ActiveObjectType getType(const class LuaEntitySAO *); | |
virtual enum ActiveObjectType getSendType(const class LuaEntitySAO *); | |
virtual void addedToEnvironment(class LuaEntitySAO *, u32); | |
class ServerActiveObject * create(class ServerEnvironment *, v3f, const string &); | |
virtual void step(class LuaEntitySAO *, float, bool); | |
virtual string getClientInitializationData(class LuaEntitySAO *, u16); | |
virtual void getStaticData(const class LuaEntitySAO *, string *); | |
virtual int punch(class LuaEntitySAO *, v3f, const class ToolCapabilities *, class ServerActiveObject *, float); | |
virtual void rightClick(class LuaEntitySAO *, class ServerActiveObject *); | |
virtual void setPos(class LuaEntitySAO *, const v3f &); | |
virtual void moveTo(class LuaEntitySAO *, v3f, bool); | |
virtual float getMinimumSavedMovement(class LuaEntitySAO *); | |
virtual string getDescription(class LuaEntitySAO *); | |
virtual void setHP(class LuaEntitySAO *, s16); | |
virtual s16 getHP(const class LuaEntitySAO *); | |
void setVelocity(class LuaEntitySAO *, v3f); | |
v3f getVelocity(class LuaEntitySAO *); | |
void setAcceleration(class LuaEntitySAO *, v3f); | |
v3f getAcceleration(class LuaEntitySAO *); | |
void setTextureMod(class LuaEntitySAO *, const string &); | |
string getTextureMod(const class LuaEntitySAO *); | |
void setSprite(class LuaEntitySAO *, v2s16, int, float, bool); | |
string getName(class LuaEntitySAO *); | |
virtual bool getCollisionBox(const class LuaEntitySAO *, aabb3f *); | |
virtual bool collideWithObjects(const class LuaEntitySAO *); | |
string getPropertyPacket(class LuaEntitySAO *); | |
void sendPosition(class LuaEntitySAO *, bool, bool); | |
/* vtable has 16 entries: { | |
[0] = getType((null)), | |
[5] = getSendType((null)), | |
[6] = addedToEnvironment((null)), | |
[13] = step((null)), | |
[14] = getClientInitializationData((null)), | |
[15] = getStaticData((null)), | |
[17] = punch((null)), | |
[18] = rightClick((null)), | |
[9] = setPos((null)), | |
[10] = moveTo((null)), | |
[11] = getMinimumSavedMovement((null)), | |
[12] = getDescription((null)), | |
[19] = setHP((null)), | |
[20] = getHP((null)), | |
[1] = getCollisionBox((null)), | |
[2] = collideWithObjects((null)), | |
} */ | |
/* size: 912, cachelines: 15, members: 12 */ | |
/* sum members: 157, holes: 1, sum holes: 3 */ | |
/* paddings: 1, sum paddings: 7 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 912 != 157 + 3(holes), diff = 752 */ | |
}; | |
class PlayerSAO : public UnitSAO { | |
public: | |
/* class UnitSAO <ancestor>; */ /* 0 752 */ | |
/* XXX last struct has 7 bytes of padding */ | |
/* --- cacheline 11 boundary (704 bytes) was 48 bytes ago --- */ | |
class RemotePlayer * m_player; /* 752 8 */ | |
u16 m_peer_id; /* 760 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
/* --- cacheline 12 boundary (768 bytes) --- */ | |
class Inventory * m_inventory; /* 768 8 */ | |
s16 m_damage; /* 776 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class LagPool m_dig_pool; /* 780 8 */ | |
class LagPool m_move_pool; /* 788 8 */ | |
v3f m_last_good_position; /* 796 12 */ | |
float m_time_from_last_teleport; /* 808 4 */ | |
float m_time_from_last_punch; /* 812 4 */ | |
v3s16 m_nocheat_dig_pos; /* 816 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float m_nocheat_dig_time; /* 824 4 */ | |
class IntervalLimiter m_breathing_interval; /* 828 4 */ | |
/* --- cacheline 13 boundary (832 bytes) --- */ | |
class IntervalLimiter m_drowning_interval; /* 832 4 */ | |
class IntervalLimiter m_node_hurt_interval; /* 836 4 */ | |
int m_wield_index; /* 840 4 */ | |
bool m_position_not_sent; /* 844 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_privs; /* 848 48 */ | |
/* --- cacheline 14 boundary (896 bytes) --- */ | |
bool m_is_singleplayer; /* 896 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 m_breath; /* 898 2 */ | |
f32 m_pitch; /* 900 4 */ | |
f32 m_fov; /* 904 4 */ | |
s16 m_wanted_range; /* 908 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
PlayerAttributes m_extra_attributes; /* 912 56 */ | |
/* --- cacheline 15 boundary (960 bytes) was 8 bytes ago --- */ | |
bool m_extended_attributes_modified; /* 968 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float m_physics_override_speed; /* 972 4 */ | |
float m_physics_override_jump; /* 976 4 */ | |
float m_physics_override_gravity; /* 980 4 */ | |
bool m_physics_override_sneak; /* 984 1 */ | |
bool m_physics_override_sneak_glitch; /* 985 1 */ | |
bool m_physics_override_new_move; /* 986 1 */ | |
bool m_physics_override_sent; /* 987 1 */ | |
void PlayerSAO(class PlayerSAO *, const class PlayerSAO &); | |
void PlayerSAO(class PlayerSAO *, class ServerEnvironment *, u16, bool); | |
virtual void ~PlayerSAO(class PlayerSAO *, int); | |
virtual enum ActiveObjectType getType(const class PlayerSAO *); | |
virtual enum ActiveObjectType getSendType(const class PlayerSAO *); | |
virtual string getDescription(class PlayerSAO *); | |
virtual void addedToEnvironment(class PlayerSAO *, u32); | |
virtual void removingFromEnvironment(class PlayerSAO *); | |
virtual bool isStaticAllowed(const class PlayerSAO *); | |
virtual string getClientInitializationData(class PlayerSAO *, u16); | |
virtual void getStaticData(const class PlayerSAO *, string *); | |
virtual void step(class PlayerSAO *, float, bool); | |
void setBasePosition(class PlayerSAO *, const v3f &); | |
virtual void setPos(class PlayerSAO *, const v3f &); | |
virtual void moveTo(class PlayerSAO *, v3f, bool); | |
virtual void setYaw(class PlayerSAO *, float); | |
void setYawAndSend(class PlayerSAO *, float); | |
void setPitch(class PlayerSAO *, float); | |
void setPitchAndSend(class PlayerSAO *, float); | |
f32 getPitch(const class PlayerSAO *); | |
f32 getRadPitch(const class PlayerSAO *); | |
f32 getRadPitchDep(const class PlayerSAO *); | |
void setFov(class PlayerSAO *, float); | |
f32 getFov(const class PlayerSAO *); | |
void setWantedRange(class PlayerSAO *, s16); | |
s16 getWantedRange(const class PlayerSAO *); | |
virtual int punch(class PlayerSAO *, v3f, const class ToolCapabilities *, class ServerActiveObject *, float); | |
virtual void rightClick(class PlayerSAO *, class ServerActiveObject *); | |
virtual void setHP(class PlayerSAO *, s16); | |
void setHPRaw(class PlayerSAO *, s16); | |
s16 readDamage(class PlayerSAO *); | |
u16 getBreath(const class PlayerSAO *); | |
void setBreath(class PlayerSAO *, u16, bool); | |
virtual class Inventory * getInventory(class PlayerSAO *); | |
virtual const class Inventory * getInventory(const class PlayerSAO *); | |
virtual class InventoryLocation getInventoryLocation(const class PlayerSAO *); | |
virtual string getWieldList(const class PlayerSAO *); | |
virtual class ItemStack getWieldedItem(const class PlayerSAO *); | |
class ItemStack getWieldedItemOrHand(const class PlayerSAO *); | |
virtual bool setWieldedItem(class PlayerSAO *, const class ItemStack &); | |
virtual int getWieldIndex(const class PlayerSAO *); | |
void setWieldIndex(class PlayerSAO *, int); | |
void setExtendedAttribute(class PlayerSAO *, const string &, const string &); | |
bool getExtendedAttribute(class PlayerSAO *, const string &, string *); | |
const PlayerAttributes & getExtendedAttributes(class PlayerSAO *); | |
bool extendedAttributesModified(const class PlayerSAO *); | |
void setExtendedAttributeModified(class PlayerSAO *, bool); | |
void disconnected(class PlayerSAO *); | |
class RemotePlayer * getPlayer(class PlayerSAO *); | |
u16 getPeerID(const class PlayerSAO *); | |
v3f getLastGoodPosition(const class PlayerSAO *); | |
float resetTimeFromLastPunch(class PlayerSAO *); | |
void noCheatDigStart(class PlayerSAO *, v3s16); | |
v3s16 getNoCheatDigPos(class PlayerSAO *); | |
float getNoCheatDigTime(class PlayerSAO *); | |
void noCheatDigEnd(class PlayerSAO *); | |
class LagPool & getDigPool(class PlayerSAO *); | |
bool checkMovementCheat(class PlayerSAO *); | |
void updatePrivileges(class PlayerSAO *, const class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_, bool); | |
virtual bool getCollisionBox(const class PlayerSAO *, aabb3f *); | |
virtual bool collideWithObjects(const class PlayerSAO *); | |
void initialize(class PlayerSAO *, class RemotePlayer *, const class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_); | |
v3f getEyePosition(const class PlayerSAO *); | |
v3f getEyeOffset(const class PlayerSAO *); | |
string getPropertyPacket(class PlayerSAO *); | |
void unlinkPlayerSessionAndSave(class PlayerSAO *); | |
/* vtable has 24 entries: { | |
[0] = getType((null)), | |
[5] = getSendType((null)), | |
[12] = getDescription((null)), | |
[6] = addedToEnvironment((null)), | |
[7] = removingFromEnvironment((null)), | |
[16] = isStaticAllowed((null)), | |
[14] = getClientInitializationData((null)), | |
[15] = getStaticData((null)), | |
[13] = step((null)), | |
[9] = setPos((null)), | |
[10] = moveTo((null)), | |
[43] = setYaw((null)), | |
[17] = punch((null)), | |
[18] = rightClick((null)), | |
[19] = setHP((null)), | |
[35] = getInventory((null)), | |
[36] = getInventory((null)), | |
[37] = getInventoryLocation((null)), | |
[39] = getWieldList((null)), | |
[41] = getWieldedItem((null)), | |
[42] = setWieldedItem((null)), | |
[40] = getWieldIndex((null)), | |
[1] = getCollisionBox((null)), | |
[2] = collideWithObjects((null)), | |
} */ | |
/* size: 992, cachelines: 16, members: 32 */ | |
/* sum members: 217, holes: 7, sum holes: 19 */ | |
/* padding: 4 */ | |
/* paddings: 1, sum paddings: 7 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 992 != 217 + 19(holes), diff = 756 */ | |
}; | |
class UnitSAO : public ServerActiveObject { | |
public: | |
/* class ServerActiveObject <ancestor>; */ /* 0 0 */ | |
/* XXX 184 bytes hole, try to pack */ | |
protected: | |
/* --- cacheline 2 boundary (128 bytes) was 56 bytes ago --- */ | |
s16 m_hp; /* 184 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float m_yaw; /* 188 4 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
bool m_properties_sent; /* 192 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
struct ObjectProperties m_prop; /* 200 288 */ | |
/* --- cacheline 7 boundary (448 bytes) was 40 bytes ago --- */ | |
ItemGroupList m_armor_groups; /* 488 56 */ | |
/* --- cacheline 8 boundary (512 bytes) was 32 bytes ago --- */ | |
bool m_armor_groups_sent; /* 544 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
v2f m_animation_range; /* 548 8 */ | |
float m_animation_speed; /* 556 4 */ | |
float m_animation_blend; /* 560 4 */ | |
bool m_animation_loop; /* 564 1 */ | |
bool m_animation_sent; /* 565 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, irr::core::vector2d<irr::core::vector3d<float> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, irr::core::vector2d<irr::core::vector3d<float> > > > > m_bone_position; /* 568 56 */ | |
/* --- cacheline 9 boundary (576 bytes) was 48 bytes ago --- */ | |
bool m_bone_position_sent; /* 624 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int m_attachment_parent_id; /* 628 4 */ | |
class unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > m_attachment_child_ids; /* 632 56 */ | |
/* --- cacheline 10 boundary (640 bytes) was 48 bytes ago --- */ | |
string m_attachment_bone; /* 688 32 */ | |
/* --- cacheline 11 boundary (704 bytes) was 16 bytes ago --- */ | |
v3f m_attachment_position; /* 720 12 */ | |
v3f m_attachment_rotation; /* 732 12 */ | |
bool m_attachment_sent; /* 744 1 */ | |
public: | |
void UnitSAO(class UnitSAO *, const class UnitSAO &); | |
void UnitSAO(class UnitSAO *, class ServerEnvironment *, v3f); | |
virtual void ~UnitSAO(class UnitSAO *, int); | |
virtual void setYaw(class UnitSAO *, float); | |
float getYaw(const class UnitSAO *); | |
f32 getRadYaw(const class UnitSAO *); | |
f32 getRadYawDep(const class UnitSAO *); | |
virtual s16 getHP(const class UnitSAO *); | |
bool isDead(const class UnitSAO *); | |
bool isAttached(const class UnitSAO *); | |
virtual void setArmorGroups(class UnitSAO *, const ItemGroupList &); | |
virtual const ItemGroupList & getArmorGroups(class UnitSAO *); | |
virtual void setAnimation(class UnitSAO *, v2f, float, float, bool); | |
virtual void getAnimation(class UnitSAO *, v2f *, float *, float *, bool *); | |
virtual void setBonePosition(class UnitSAO *, const string &, v3f, v3f); | |
virtual void getBonePosition(class UnitSAO *, const string &, v3f *, v3f *); | |
virtual void setAttachment(class UnitSAO *, int, const string &, v3f, v3f); | |
virtual void getAttachment(class UnitSAO *, int *, string *, v3f *, v3f *); | |
virtual void addAttachmentChild(class UnitSAO *, int); | |
virtual void removeAttachmentChild(class UnitSAO *, int); | |
virtual const class unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > & getAttachmentChildIds(class UnitSAO *); | |
virtual class ObjectProperties * accessObjectProperties(class UnitSAO *); | |
virtual void notifyObjectPropertiesModified(class UnitSAO *); | |
/* vtable has 15 entries: { | |
[43] = setYaw((null)), | |
[20] = getHP((null)), | |
[21] = setArmorGroups((null)), | |
[22] = getArmorGroups((null)), | |
[24] = setAnimation((null)), | |
[25] = getAnimation((null)), | |
[26] = setBonePosition((null)), | |
[27] = getBonePosition((null)), | |
[28] = setAttachment((null)), | |
[29] = getAttachment((null)), | |
[30] = addAttachmentChild((null)), | |
[31] = removeAttachmentChild((null)), | |
[32] = getAttachmentChildIds((null)), | |
[33] = accessObjectProperties((null)), | |
[34] = notifyObjectPropertiesModified((null)), | |
} */ | |
/* size: 752, cachelines: 12, members: 20 */ | |
/* sum members: 544, holes: 6, sum holes: 201 */ | |
/* padding: 7 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class CCraftDefManager : public IWritableCraftDefManager { | |
public: | |
/* class IWritableCraftDefManager <ancestor>; */ /* 0 8 */ | |
class vector<std::map<long unsigned int, std::vector<CraftDefinition*, std::allocator<CraftDefinition*> >, std::less<long unsigned int>, std::allocator<std::pair<long unsigned int const, std::vector<CraftDefinition*, std::allocator<CraftDefinition*> > > > >, std::allocator<std::map<long unsigned int, std::vector<CraftDefinition*, std::allocator<CraftDefinition*> >, std::less<long unsigned int>, std::allocator<std::pair<long unsigned int const, std::vector<CraftDefinition*, std::allocator<CraftDefinition*> > > > > > > m_craft_defs; /* 8 24 */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<CraftDefinition*, std::allocator<CraftDefinition*> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<CraftDefinition*, std::allocator<CraftDefinition*> > > > > m_output_craft_definitions; /* 32 48 */ | |
void CCraftDefManager(class CCraftDefManager *, const class CCraftDefManager &); | |
void CCraftDefManager(class CCraftDefManager *); | |
virtual void ~CCraftDefManager(class CCraftDefManager *, int); | |
virtual bool getCraftResult(const class CCraftDefManager *, class CraftInput &, class CraftOutput &, class vector<ItemStack, std::allocator<ItemStack> > &, bool, class IGameDef *); | |
virtual class vector<CraftDefinition*, std::allocator<CraftDefinition*> > getCraftRecipes(const class CCraftDefManager *, class CraftOutput &, class IGameDef *, unsigned int); | |
virtual bool clearCraftRecipesByOutput(class CCraftDefManager *, const class CraftOutput &, class IGameDef *); | |
virtual bool clearCraftRecipesByInput(class CCraftDefManager *, enum CraftMethod, unsigned int, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11, class IGameDef *); | |
virtual string dump(const class CCraftDefManager *); | |
virtual void registerCraft(class CCraftDefManager *, class CraftDefinition *, class IGameDef *); | |
virtual void clear(class CCraftDefManager *); | |
virtual void initHashes(class CCraftDefManager *, class IGameDef *); | |
/* vtable has 8 entries: { | |
[2] = getCraftResult((null)), | |
[3] = getCraftRecipes((null)), | |
[5] = clearCraftRecipesByOutput((null)), | |
[6] = clearCraftRecipesByInput((null)), | |
[4] = dump((null)), | |
[7] = registerCraft((null)), | |
[8] = clear((null)), | |
[9] = initHashes((null)), | |
} */ | |
/* size: 80, cachelines: 2, members: 3 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 80 != 72 + 0(holes), diff = 8 */ | |
}; | |
class CraftDefinitionFuel : public CraftDefinition { | |
public: | |
/* class CraftDefinition <ancestor>; */ /* 0 8 */ | |
string recipe; /* 8 32 */ | |
string recipe_name; /* 40 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
bool hash_inited; /* 72 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float burntime; /* 76 4 */ | |
struct CraftReplacements replacements; /* 80 24 */ | |
void CraftDefinitionFuel(class CraftDefinitionFuel *); | |
void CraftDefinitionFuel(class CraftDefinitionFuel *, const string &, float, const class CraftReplacements &); | |
virtual void ~CraftDefinitionFuel(class CraftDefinitionFuel *, int); | |
virtual string getName(const class CraftDefinitionFuel *); | |
virtual bool check(const class CraftDefinitionFuel *, const class CraftInput &, class IGameDef *); | |
virtual class CraftOutput getOutput(const class CraftDefinitionFuel *, const class CraftInput &, class IGameDef *); | |
virtual class CraftInput getInput(const class CraftDefinitionFuel *, const class CraftOutput &, class IGameDef *); | |
virtual void decrementInput(const class CraftDefinitionFuel *, class CraftInput &, class vector<ItemStack, std::allocator<ItemStack> > &, class IGameDef *); | |
virtual enum CraftHashType getHashType(const class CraftDefinitionFuel *); | |
virtual u64 getHash(const class CraftDefinitionFuel *, enum CraftHashType); | |
virtual void initHash(class CraftDefinitionFuel *, class IGameDef *); | |
virtual string dump(const class CraftDefinitionFuel *); | |
/* vtable has 9 entries: { | |
[2] = getName((null)), | |
[3] = check((null)), | |
[4] = getOutput((null)), | |
[5] = getInput((null)), | |
[6] = decrementInput((null)), | |
[7] = getHashType((null)), | |
[8] = getHash((null)), | |
[9] = initHash((null)), | |
[10] = dump((null)), | |
} */ | |
/* size: 104, cachelines: 2, members: 6 */ | |
/* sum members: 93, holes: 1, sum holes: 3 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 104 != 93 + 3(holes), diff = 8 */ | |
}; | |
class CraftDefinitionCooking : public CraftDefinition { | |
public: | |
/* class CraftDefinition <ancestor>; */ /* 0 8 */ | |
string output; /* 8 32 */ | |
string recipe; /* 40 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
string recipe_name; /* 72 32 */ | |
bool hash_inited; /* 104 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float cooktime; /* 108 4 */ | |
struct CraftReplacements replacements; /* 112 24 */ | |
void CraftDefinitionCooking(class CraftDefinitionCooking *); | |
void CraftDefinitionCooking(class CraftDefinitionCooking *, const string &, const string &, float, const class CraftReplacements &); | |
virtual void ~CraftDefinitionCooking(class CraftDefinitionCooking *, int); | |
virtual string getName(const class CraftDefinitionCooking *); | |
virtual bool check(const class CraftDefinitionCooking *, const class CraftInput &, class IGameDef *); | |
virtual class CraftOutput getOutput(const class CraftDefinitionCooking *, const class CraftInput &, class IGameDef *); | |
virtual class CraftInput getInput(const class CraftDefinitionCooking *, const class CraftOutput &, class IGameDef *); | |
virtual void decrementInput(const class CraftDefinitionCooking *, class CraftInput &, class vector<ItemStack, std::allocator<ItemStack> > &, class IGameDef *); | |
virtual enum CraftHashType getHashType(const class CraftDefinitionCooking *); | |
virtual u64 getHash(const class CraftDefinitionCooking *, enum CraftHashType); | |
virtual void initHash(class CraftDefinitionCooking *, class IGameDef *); | |
virtual string dump(const class CraftDefinitionCooking *); | |
/* vtable has 9 entries: { | |
[2] = getName((null)), | |
[3] = check((null)), | |
[4] = getOutput((null)), | |
[5] = getInput((null)), | |
[6] = decrementInput((null)), | |
[7] = getHashType((null)), | |
[8] = getHash((null)), | |
[9] = initHash((null)), | |
[10] = dump((null)), | |
} */ | |
/* size: 136, cachelines: 3, members: 7 */ | |
/* sum members: 125, holes: 1, sum holes: 3 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 136 != 125 + 3(holes), diff = 8 */ | |
}; | |
class CraftDefinitionToolRepair : public CraftDefinition { | |
public: | |
/* class CraftDefinition <ancestor>; */ /* 0 8 */ | |
float additional_wear; /* 8 4 */ | |
void CraftDefinitionToolRepair(class CraftDefinitionToolRepair *); | |
void CraftDefinitionToolRepair(class CraftDefinitionToolRepair *, float); | |
virtual void ~CraftDefinitionToolRepair(class CraftDefinitionToolRepair *, int); | |
virtual string getName(const class CraftDefinitionToolRepair *); | |
virtual bool check(const class CraftDefinitionToolRepair *, const class CraftInput &, class IGameDef *); | |
virtual class CraftOutput getOutput(const class CraftDefinitionToolRepair *, const class CraftInput &, class IGameDef *); | |
virtual class CraftInput getInput(const class CraftDefinitionToolRepair *, const class CraftOutput &, class IGameDef *); | |
virtual void decrementInput(const class CraftDefinitionToolRepair *, class CraftInput &, class vector<ItemStack, std::allocator<ItemStack> > &, class IGameDef *); | |
virtual enum CraftHashType getHashType(const class CraftDefinitionToolRepair *); | |
virtual u64 getHash(const class CraftDefinitionToolRepair *, enum CraftHashType); | |
virtual void initHash(class CraftDefinitionToolRepair *, class IGameDef *); | |
virtual string dump(const class CraftDefinitionToolRepair *); | |
/* vtable has 9 entries: { | |
[2] = getName((null)), | |
[3] = check((null)), | |
[4] = getOutput((null)), | |
[5] = getInput((null)), | |
[6] = decrementInput((null)), | |
[7] = getHashType((null)), | |
[8] = getHash((null)), | |
[9] = initHash((null)), | |
[10] = dump((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 16 != 4 + 0(holes), diff = 12 */ | |
}; | |
class CraftDefinitionShapeless : public CraftDefinition { | |
public: | |
/* class CraftDefinition <ancestor>; */ /* 0 8 */ | |
string output; /* 8 32 */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > recipe; /* 40 24 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > recipe_names; /* 64 24 */ | |
bool hash_inited; /* 88 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
struct CraftReplacements replacements; /* 96 24 */ | |
void CraftDefinitionShapeless(class CraftDefinitionShapeless *); | |
void CraftDefinitionShapeless(class CraftDefinitionShapeless *, const string &, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11, const class CraftReplacements &); | |
virtual void ~CraftDefinitionShapeless(class CraftDefinitionShapeless *, int); | |
virtual string getName(const class CraftDefinitionShapeless *); | |
virtual bool check(const class CraftDefinitionShapeless *, const class CraftInput &, class IGameDef *); | |
virtual class CraftOutput getOutput(const class CraftDefinitionShapeless *, const class CraftInput &, class IGameDef *); | |
virtual class CraftInput getInput(const class CraftDefinitionShapeless *, const class CraftOutput &, class IGameDef *); | |
virtual void decrementInput(const class CraftDefinitionShapeless *, class CraftInput &, class vector<ItemStack, std::allocator<ItemStack> > &, class IGameDef *); | |
virtual enum CraftHashType getHashType(const class CraftDefinitionShapeless *); | |
virtual u64 getHash(const class CraftDefinitionShapeless *, enum CraftHashType); | |
virtual void initHash(class CraftDefinitionShapeless *, class IGameDef *); | |
virtual string dump(const class CraftDefinitionShapeless *); | |
/* vtable has 9 entries: { | |
[2] = getName((null)), | |
[3] = check((null)), | |
[4] = getOutput((null)), | |
[5] = getInput((null)), | |
[6] = decrementInput((null)), | |
[7] = getHashType((null)), | |
[8] = getHash((null)), | |
[9] = initHash((null)), | |
[10] = dump((null)), | |
} */ | |
/* size: 120, cachelines: 2, members: 6 */ | |
/* sum members: 105, holes: 1, sum holes: 7 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 120 != 105 + 7(holes), diff = 8 */ | |
}; | |
class CraftDefinitionShaped : public CraftDefinition { | |
public: | |
/* class CraftDefinition <ancestor>; */ /* 0 8 */ | |
string output; /* 8 32 */ | |
unsigned int width; /* 40 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > recipe; /* 48 24 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > recipe_names; /* 72 24 */ | |
bool hash_inited; /* 96 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
struct CraftReplacements replacements; /* 104 24 */ | |
void CraftDefinitionShaped(class CraftDefinitionShaped *); | |
void CraftDefinitionShaped(class CraftDefinitionShaped *, const string &, unsigned int, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11, const class CraftReplacements &); | |
virtual void ~CraftDefinitionShaped(class CraftDefinitionShaped *, int); | |
virtual string getName(const class CraftDefinitionShaped *); | |
virtual bool check(const class CraftDefinitionShaped *, const class CraftInput &, class IGameDef *); | |
virtual class CraftOutput getOutput(const class CraftDefinitionShaped *, const class CraftInput &, class IGameDef *); | |
virtual class CraftInput getInput(const class CraftDefinitionShaped *, const class CraftOutput &, class IGameDef *); | |
virtual void decrementInput(const class CraftDefinitionShaped *, class CraftInput &, class vector<ItemStack, std::allocator<ItemStack> > &, class IGameDef *); | |
virtual enum CraftHashType getHashType(const class CraftDefinitionShaped *); | |
virtual u64 getHash(const class CraftDefinitionShaped *, enum CraftHashType); | |
virtual void initHash(class CraftDefinitionShaped *, class IGameDef *); | |
virtual string dump(const class CraftDefinitionShaped *); | |
/* vtable has 9 entries: { | |
[2] = getName((null)), | |
[3] = check((null)), | |
[4] = getOutput((null)), | |
[5] = getInput((null)), | |
[6] = decrementInput((null)), | |
[7] = getHashType((null)), | |
[8] = getHash((null)), | |
[9] = initHash((null)), | |
[10] = dump((null)), | |
} */ | |
/* size: 128, cachelines: 2, members: 7 */ | |
/* sum members: 109, holes: 2, sum holes: 11 */ | |
/* BRAIN FART ALERT! 128 != 109 + 11(holes), diff = 8 */ | |
}; | |
class Database_Dummy : public Database { | |
public: | |
/* class Database <ancestor>; */ /* 0 8 */ | |
class map<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<long int>, std::allocator<std::pair<long int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > m_database; /* 8 48 */ | |
virtual bool saveBlock(class Database_Dummy *, const v3s16 &, const string &); | |
virtual void loadBlock(class Database_Dummy *, const v3s16 &, string *); | |
virtual bool deleteBlock(class Database_Dummy *, const v3s16 &); | |
virtual void listAllLoadableBlocks(class Database_Dummy *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &); | |
virtual void ~Database_Dummy(class Database_Dummy *, int); | |
/* vtable has 4 entries: { | |
[4] = saveBlock((null)), | |
[5] = loadBlock((null)), | |
[6] = deleteBlock((null)), | |
[7] = listAllLoadableBlocks((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 56 != 48 + 0(holes), diff = 8 */ | |
}; | |
class Database_LevelDB : public Database { | |
public: | |
/* class Database <ancestor>; */ /* 0 8 */ | |
class DB * m_database; /* 8 8 */ | |
void Database_LevelDB(class Database_LevelDB *, const class Database_LevelDB &); | |
void Database_LevelDB(class Database_LevelDB *, const string &); | |
virtual void ~Database_LevelDB(class Database_LevelDB *, int); | |
virtual bool saveBlock(class Database_LevelDB *, const v3s16 &, const string &); | |
virtual void loadBlock(class Database_LevelDB *, const v3s16 &, string *); | |
virtual bool deleteBlock(class Database_LevelDB *, const v3s16 &); | |
virtual void listAllLoadableBlocks(class Database_LevelDB *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &); | |
/* vtable has 4 entries: { | |
[4] = saveBlock((null)), | |
[5] = loadBlock((null)), | |
[6] = deleteBlock((null)), | |
[7] = listAllLoadableBlocks((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 16 != 8 + 0(holes), diff = 8 */ | |
}; | |
class DatabaseException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void DatabaseException(class DatabaseException *, ); | |
void DatabaseException(class DatabaseException *, const class DatabaseException &); | |
void DatabaseException(class DatabaseException *, const string &); | |
virtual void ~DatabaseException(class DatabaseException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class Database_SQLite3 : public Database { | |
public: | |
/* class Database <ancestor>; */ /* 0 8 */ | |
bool m_initialized; /* 8 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
string m_savedir; /* 16 32 */ | |
sqlite3 * m_database; /* 48 8 */ | |
sqlite3_stmt * m_stmt_read; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
sqlite3_stmt * m_stmt_write; /* 64 8 */ | |
sqlite3_stmt * m_stmt_list; /* 72 8 */ | |
sqlite3_stmt * m_stmt_delete; /* 80 8 */ | |
sqlite3_stmt * m_stmt_begin; /* 88 8 */ | |
sqlite3_stmt * m_stmt_end; /* 96 8 */ | |
s64 m_busy_handler_data[2]; /* 104 16 */ | |
void Database_SQLite3(class Database_SQLite3 *, const class Database_SQLite3 &); | |
void Database_SQLite3(class Database_SQLite3 *, const string &); | |
virtual void ~Database_SQLite3(class Database_SQLite3 *, int); | |
virtual void beginSave(class Database_SQLite3 *); | |
virtual void endSave(class Database_SQLite3 *); | |
virtual bool saveBlock(class Database_SQLite3 *, const v3s16 &, const string &); | |
virtual void loadBlock(class Database_SQLite3 *, const v3s16 &, string *); | |
virtual bool deleteBlock(class Database_SQLite3 *, const v3s16 &); | |
virtual void listAllLoadableBlocks(class Database_SQLite3 *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &); | |
virtual bool initialized(const class Database_SQLite3 *); | |
void openDatabase(class Database_SQLite3 *); | |
void createDatabase(class Database_SQLite3 *); | |
void verifyDatabase(class Database_SQLite3 *); | |
void bindPos(class Database_SQLite3 *, sqlite3_stmt *, const v3s16 &, int); | |
int busyHandler(void *, int); | |
/* vtable has 7 entries: { | |
[2] = beginSave((null)), | |
[3] = endSave((null)), | |
[4] = saveBlock((null)), | |
[5] = loadBlock((null)), | |
[6] = deleteBlock((null)), | |
[7] = listAllLoadableBlocks((null)), | |
[8] = initialized((null)), | |
} */ | |
/* size: 120, cachelines: 2, members: 11 */ | |
/* sum members: 105, holes: 1, sum holes: 7 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 120 != 105 + 7(holes), diff = 8 */ | |
}; | |
class FileNotGoodException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void FileNotGoodException(class FileNotGoodException *, ); | |
void FileNotGoodException(class FileNotGoodException *, const class FileNotGoodException &); | |
void FileNotGoodException(class FileNotGoodException *, const string &); | |
virtual void ~FileNotGoodException(class FileNotGoodException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct DebugStack { | |
threadid_t threadid; /* 0 8 */ | |
char stack[50][300]; /* 8 15000 */ | |
/* --- cacheline 234 boundary (14976 bytes) was 32 bytes ago --- */ | |
int stack_i; /* 15008 4 */ | |
int stack_max_i; /* 15012 4 */ | |
void DebugStack(class DebugStack *, threadid_t); | |
void print(class DebugStack *, FILE *, bool); | |
void print(class DebugStack *, ostream &, bool); | |
/* size: 15016, cachelines: 235, members: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class Hud { | |
public: | |
class IVideoDriver * driver; /* 0 8 */ | |
class ISceneManager * smgr; /* 8 8 */ | |
class IGUIEnvironment * guienv; /* 16 8 */ | |
class Client * client; /* 24 8 */ | |
class LocalPlayer * player; /* 32 8 */ | |
class Inventory * inventory; /* 40 8 */ | |
class ITextureSource * tsrc; /* 48 8 */ | |
class SColor crosshair_argb; /* 56 4 */ | |
class SColor selectionbox_argb; /* 60 4 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
bool use_crosshair_image; /* 64 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
string hotbar_image; /* 72 32 */ | |
bool use_hotbar_image; /* 104 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
string hotbar_selected_image; /* 112 32 */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
bool use_hotbar_selected_image; /* 144 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float m_hud_scaling; /* 148 4 */ | |
v3s16 m_camera_offset; /* 152 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
v2u32 m_screensize; /* 160 8 */ | |
v2s32 m_displaycenter; /* 168 8 */ | |
s32 m_hotbar_imagesize; /* 176 4 */ | |
s32 m_padding; /* 180 4 */ | |
class SColor hbar_colors[4]; /* 184 16 */ | |
/* --- cacheline 3 boundary (192 bytes) was 8 bytes ago --- */ | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > m_selection_boxes; /* 200 24 */ | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > m_halo_boxes; /* 224 24 */ | |
v3f m_selection_pos; /* 248 12 */ | |
/* --- cacheline 4 boundary (256 bytes) was 4 bytes ago --- */ | |
v3f m_selection_pos_with_offset; /* 260 12 */ | |
class IMesh * m_selection_mesh; /* 272 8 */ | |
class SColor m_selection_mesh_color; /* 280 4 */ | |
v3f m_selected_face_normal; /* 284 12 */ | |
class SMaterial m_selection_material; /* 296 176 */ | |
/* XXX last struct has 6 bytes of padding */ | |
/* --- cacheline 7 boundary (448 bytes) was 24 bytes ago --- */ | |
bool m_use_selection_mesh; /* 472 1 */ | |
void Hud(class Hud *, class IVideoDriver *, class ISceneManager *, class IGUIEnvironment *, class Client *, class LocalPlayer *, class Inventory *); | |
void ~Hud(class Hud *, int); | |
void drawHotbar(class Hud *, u16); | |
void resizeHotbar(class Hud *); | |
void drawCrosshair(class Hud *); | |
void drawSelectionMesh(class Hud *); | |
void updateSelectionMesh(class Hud *, const v3s16 &); | |
class vector<irr::core::aabbox3d<float>, std::allocator<irr::core::aabbox3d<float> > > * getSelectionBoxes(class Hud *); | |
void setSelectionPos(class Hud *, const v3f &, const v3s16 &); | |
v3f getSelectionPos(const class Hud *); | |
void setSelectionMeshColor(class Hud *, const class SColor &); | |
void setSelectedFaceNormal(class Hud *, const v3f &); | |
void drawLuaElements(class Hud *, const v3s16 &); | |
void drawStatbar(class Hud *, v2s32, u16, u16, string, s32, v2s32, v2s32); | |
void drawItems(class Hud *, v2s32, v2s32, s32, s32, class InventoryList *, u16, u16); | |
void drawItem(class Hud *, const class ItemStack &, const class rect<int> &, bool); | |
/* size: 480, cachelines: 8, members: 30 */ | |
/* sum members: 454, holes: 4, sum holes: 19 */ | |
/* padding: 7 */ | |
/* paddings: 1, sum paddings: 6 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct DungeonParams { | |
s32 seed; /* 0 4 */ | |
content_t c_water; /* 4 2 */ | |
content_t c_river_water; /* 6 2 */ | |
content_t c_wall; /* 8 2 */ | |
content_t c_alt_wall; /* 10 2 */ | |
content_t c_stair; /* 12 2 */ | |
bool diagonal_dirs; /* 14 1 */ | |
bool only_in_ground; /* 15 1 */ | |
v3s16 holesize; /* 16 6 */ | |
u16 corridor_len_min; /* 22 2 */ | |
u16 corridor_len_max; /* 24 2 */ | |
v3s16 room_size_min; /* 26 6 */ | |
v3s16 room_size_max; /* 32 6 */ | |
v3s16 room_size_large_min; /* 38 6 */ | |
v3s16 room_size_large_max; /* 44 6 */ | |
u16 rooms_min; /* 50 2 */ | |
u16 rooms_max; /* 52 2 */ | |
s16 y_min; /* 54 2 */ | |
s16 y_max; /* 56 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
enum GenNotifyType notifytype; /* 60 4 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
struct NoiseParams np_density; /* 64 40 */ | |
struct NoiseParams np_alt_wall; /* 104 40 */ | |
void DungeonParams(class DungeonParams *); | |
/* size: 144, cachelines: 3, members: 22 */ | |
/* sum members: 142, holes: 1, sum holes: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class DungeonGen { | |
public: | |
class MMVManip * vm; /* 0 8 */ | |
class INodeDefManager * ndef; /* 8 8 */ | |
class GenerateNotifier * gennotify; /* 16 8 */ | |
u32 blockseed; /* 24 4 */ | |
class PseudoRandom random; /* 28 4 */ | |
v3s16 csize; /* 32 6 */ | |
content_t c_torch; /* 38 2 */ | |
struct DungeonParams dp; /* 40 144 */ | |
/* --- cacheline 2 boundary (128 bytes) was 56 bytes ago --- */ | |
v3s16 m_pos; /* 184 6 */ | |
v3s16 m_dir; /* 190 6 */ | |
void DungeonGen(class DungeonGen *, class INodeDefManager *, class GenerateNotifier *, class DungeonParams *); | |
void generate(class DungeonGen *, class MMVManip *, u32, v3s16, v3s16); | |
void makeDungeon(class DungeonGen *, v3s16); | |
void makeRoom(class DungeonGen *, v3s16, v3s16); | |
void makeCorridor(class DungeonGen *, v3s16, v3s16, v3s16 &, v3s16 &); | |
void makeDoor(class DungeonGen *, v3s16, v3s16); | |
void makeFill(class DungeonGen *, v3s16, v3s16, u8, class MapNode, u8); | |
void makeHole(class DungeonGen *, v3s16); | |
bool findPlaceForDoor(class DungeonGen *, v3s16 &, v3s16 &); | |
bool findPlaceForRoomDoor(class DungeonGen *, v3s16, v3s16 &, v3s16 &, v3s16 &); | |
void randomizeDir(class DungeonGen *); | |
/* size: 200, cachelines: 4, members: 10 */ | |
/* padding: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class UniqueQueue<irr::core::vector3d<short int> > { | |
class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short int> > > m_set; /* 0 48 */ | |
class queue<irr::core::vector3d<short int>, std::deque<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > > m_queue; /* 48 80 */ | |
public: | |
bool push_back(class UniqueQueue<irr::core::vector3d<short int> > *, const class vector3d<short int> &); | |
void pop_front(class UniqueQueue<irr::core::vector3d<short int> > *); | |
const class vector3d<short int> & front(const class UniqueQueue<irr::core::vector3d<short int> > *); | |
u32 size(const class UniqueQueue<irr::core::vector3d<short int> > *); | |
void ~UniqueQueue(class UniqueQueue<irr::core::vector3d<short int> > *, int); | |
void UniqueQueue(class UniqueQueue<irr::core::vector3d<short int> > *); | |
/* size: 128, cachelines: 2, members: 2 */ | |
}; | |
struct BlockMakeData { | |
class MMVManip * vmanip; /* 0 8 */ | |
u64 seed; /* 8 8 */ | |
v3s16 blockpos_min; /* 16 6 */ | |
v3s16 blockpos_max; /* 22 6 */ | |
v3s16 blockpos_requested; /* 28 6 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class UniqueQueue<irr::core::vector3d<short int> > transforming_liquid; /* 40 128 */ | |
/* --- cacheline 2 boundary (128 bytes) was 40 bytes ago --- */ | |
class INodeDefManager * nodedef; /* 168 8 */ | |
void BlockMakeData(class BlockMakeData *); | |
void ~BlockMakeData(class BlockMakeData *, int); | |
/* size: 176, cachelines: 3, members: 7 */ | |
/* sum members: 170, holes: 1, sum holes: 6 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class EmergeThread : public Thread { | |
public: | |
/* class Thread <ancestor>; */ /* 0 0 */ | |
/* XXX 144 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
bool enable_mapgen_debug_info; /* 144 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int id; /* 148 4 */ | |
class Server * m_server; /* 152 8 */ | |
class ServerMap * m_map; /* 160 8 */ | |
class EmergeManager * m_emerge; /* 168 8 */ | |
class Mapgen * m_mapgen; /* 176 8 */ | |
class Event m_queue_event; /* 184 96 */ | |
/* XXX last struct has 7 bytes of padding */ | |
/* --- cacheline 4 boundary (256 bytes) was 24 bytes ago --- */ | |
class queue<irr::core::vector3d<short int>, std::deque<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > > m_block_queue; /* 280 80 */ | |
void EmergeThread(class EmergeThread *, const class EmergeThread &); | |
void EmergeThread(class EmergeThread *, class Server *, int); | |
virtual void ~EmergeThread(class EmergeThread *, int); | |
virtual void * run(class EmergeThread *); | |
void signal(class EmergeThread *); | |
bool pushBlock(class EmergeThread *, v3s16); | |
void cancelPendingItems(class EmergeThread *); | |
void runCompletionCallbacks(v3s16, enum EmergeAction, const EmergeCallbackList &); | |
bool popBlockEmerge(class EmergeThread *, v3s16 *, class BlockEmergeData *); | |
enum EmergeAction getBlockOrStartGen(class EmergeThread *, v3s16, bool, class MapBlock * *, class BlockMakeData *); | |
class MapBlock * finishGen(class EmergeThread *, v3s16, class BlockMakeData *, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const); | |
/* vtable has 1 entries: { | |
[2] = run((null)), | |
} */ | |
/* size: 360, cachelines: 6, members: 9 */ | |
/* sum members: 213, holes: 2, sum holes: 147 */ | |
/* paddings: 1, sum paddings: 7 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class MapEditEventAreaIgnorer { | |
class VoxelArea * m_ignorevariable; /* 0 8 */ | |
public: | |
void MapEditEventAreaIgnorer(class MapEditEventAreaIgnorer *, class VoxelArea *, const class VoxelArea &); | |
void ~MapEditEventAreaIgnorer(class MapEditEventAreaIgnorer *, int); | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class VersionMismatchException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void VersionMismatchException(class VersionMismatchException *, const string &); | |
virtual void ~VersionMismatchException(class VersionMismatchException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class Environment { | |
public: | |
int ()(void) * * _vptr.Environment; /* 0 8 */ | |
u32 m_added_objects; /* 8 4 */ | |
protected: | |
GenericAtomic m_time_of_day_speed; /* 12 4 */ | |
u32 m_time_of_day; /* 16 4 */ | |
float m_time_of_day_f; /* 20 4 */ | |
float m_time_conversion_skew; /* 24 4 */ | |
bool m_enable_day_night_ratio_override; /* 28 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
u32 m_day_night_ratio_override; /* 32 4 */ | |
Atomic m_day_count; /* 36 4 */ | |
bool m_cache_enable_shaders; /* 40 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float m_cache_active_block_mgmt_interval; /* 44 4 */ | |
float m_cache_abm_interval; /* 48 4 */ | |
float m_cache_nodetimer_interval; /* 52 4 */ | |
class IGameDef * m_gamedef; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
Mutex m_time_lock; /* 64 40 */ | |
public: | |
void Environment(class Environment *, class IGameDef *); | |
virtual void ~Environment(class Environment *, int); | |
virtual void step(class Environment *, f32); | |
virtual class Map & getMap(class Environment *); | |
u32 getDayNightRatio(class Environment *); | |
virtual void setTimeOfDay(class Environment *, u32); | |
u32 getTimeOfDay(class Environment *); | |
float getTimeOfDayF(class Environment *); | |
void stepTimeOfDay(class Environment *, float); | |
void setTimeOfDaySpeed(class Environment *, float); | |
void setDayNightRatioOverride(class Environment *, bool, u32); | |
u32 getDayCount(class Environment *); | |
class IGameDef * getGameDef(class Environment *); | |
void Environment(class Environment *, const class Environment &); | |
class Environment & operator=(class Environment *, const class Environment &); | |
/* vtable has 3 entries: { | |
[2] = step((null)), | |
[3] = getMap((null)), | |
[4] = setTimeOfDay((null)), | |
} */ | |
/* size: 104, cachelines: 2, members: 15 */ | |
/* sum members: 98, holes: 2, sum holes: 6 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class EventManager : public MtEventManager { | |
struct FuncSpec { | |
event_receive_func f; /* 0 8 */ | |
void * d; /* 8 8 */ | |
void FuncSpec(class FuncSpec *, event_receive_func, void *); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct Dest { | |
class list<EventManager::FuncSpec, std::allocator<EventManager::FuncSpec> > funcs; /* 0 24 */ | |
class Dest & operator=(class Dest *, const class Dest &); | |
void ~Dest(class Dest *, int); | |
void Dest(class Dest *); | |
/* size: 24, cachelines: 1, members: 1 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
public: | |
/* class MtEventManager <ancestor>; */ /* 0 8 */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, EventManager::Dest, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, EventManager::Dest> > > m_dest; /* 8 48 */ | |
void EventManager(class EventManager *, const class EventManager &); | |
void EventManager(class EventManager *); | |
void receiverReceive(class MtEvent *, void *); | |
virtual void ~EventManager(class EventManager *, int); | |
virtual void put(class EventManager *, class MtEvent *); | |
virtual void reg(class EventManager *, const char *, event_receive_func, void *); | |
virtual void dereg(class EventManager *, const char *, event_receive_func, void *); | |
virtual void reg(class EventManager *, class MtEventReceiver *, const char *); | |
virtual void dereg(class EventManager *, class MtEventReceiver *, const char *); | |
/* vtable has 5 entries: { | |
[2] = put((null)), | |
[3] = reg((null)), | |
[4] = dereg((null)), | |
[5] = reg((null)), | |
[6] = dereg((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 56 != 48 + 0(holes), diff = 8 */ | |
}; | |
struct QuicktuneValue { | |
union { | |
struct { | |
float current; /* 0 4 */ | |
float min; /* 4 4 */ | |
float max; /* 8 4 */ | |
} value_QVT_FLOAT; /* 12 */ | |
}; | |
enum QuicktuneValueType type; /* 0 4 */ | |
union { | |
struct { | |
float current; /* 4 4 */ | |
float min; /* 8 4 */ | |
float max; /* 12 4 */ | |
} value_QVT_FLOAT; /* 12 */ | |
}; /* 4 12 */ | |
bool modified; /* 16 1 */ | |
void QuicktuneValue(class QuicktuneValue *); | |
string getString(class QuicktuneValue *); | |
void relativeAdd(class QuicktuneValue *, float); | |
/* size: 20, cachelines: 1, members: 3 */ | |
/* padding: 3 */ | |
/* last cacheline: 20 bytes */ | |
}; | |
class QuicktuneShortcutter { | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_names; /* 0 24 */ | |
u32 m_selected_i; /* 24 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string m_message; /* 32 32 */ | |
public: | |
bool hasMessage(class QuicktuneShortcutter *); | |
string getMessage(class QuicktuneShortcutter *); | |
string getSelectedName(class QuicktuneShortcutter *); | |
void next(class QuicktuneShortcutter *); | |
void prev(class QuicktuneShortcutter *); | |
void inc(class QuicktuneShortcutter *); | |
void dec(class QuicktuneShortcutter *); | |
void QuicktuneShortcutter(class QuicktuneShortcutter *); | |
void ~QuicktuneShortcutter(class QuicktuneShortcutter *, int); | |
/* size: 64, cachelines: 1, members: 3 */ | |
/* sum members: 60, holes: 1, sum holes: 4 */ | |
}; | |
class ProfilerGraph { | |
struct Piece { | |
GraphValues values; /* 0 48 */ | |
class Piece & operator=(class Piece *, ); | |
void Piece(class Piece *, const class Piece &); | |
void ~Piece(class Piece *, int); | |
void Piece(class Piece *); | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct Meta { | |
float min; /* 0 4 */ | |
float max; /* 4 4 */ | |
class SColor color; /* 8 4 */ | |
void Meta(class Meta *, float, class SColor); | |
/* size: 12, cachelines: 1, members: 3 */ | |
/* last cacheline: 12 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
class deque<ProfilerGraph::Piece, std::allocator<ProfilerGraph::Piece> > m_log; /* 0 80 */ | |
public: | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
u32 m_log_max_size; /* 80 4 */ | |
void ProfilerGraph(class ProfilerGraph *); | |
void put(class ProfilerGraph *, const GraphValues &); | |
void draw(const class ProfilerGraph *, s32, s32, class IVideoDriver *, class IGUIFont *); | |
void ~ProfilerGraph(class ProfilerGraph *, int); | |
/* size: 88, cachelines: 2, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class SoundMaker { | |
class ISoundManager * m_sound; /* 0 8 */ | |
class INodeDefManager * m_ndef; /* 8 8 */ | |
public: | |
float m_player_step_timer; /* 16 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
struct SimpleSoundSpec m_player_step_sound; /* 24 40 */ | |
/* XXX last struct has 4 bytes of padding */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
struct SimpleSoundSpec m_player_leftpunch_sound; /* 64 40 */ | |
/* XXX last struct has 4 bytes of padding */ | |
struct SimpleSoundSpec m_player_rightpunch_sound; /* 104 40 */ | |
/* XXX last struct has 4 bytes of padding */ | |
void SoundMaker(class SoundMaker *, class ISoundManager *, class INodeDefManager *); | |
void playPlayerStep(class SoundMaker *); | |
void viewBobbingStep(class MtEvent *, void *); | |
void playerRegainGround(class MtEvent *, void *); | |
void playerJump(class MtEvent *, void *); | |
void cameraPunchLeft(class MtEvent *, void *); | |
void cameraPunchRight(class MtEvent *, void *); | |
void nodeDug(class MtEvent *, void *); | |
void playerDamage(class MtEvent *, void *); | |
void playerFallingDamage(class MtEvent *, void *); | |
void registerReceiver(class SoundMaker *, class MtEventManager *); | |
void step(class SoundMaker *, float); | |
void ~SoundMaker(class SoundMaker *, int); | |
/* size: 144, cachelines: 3, members: 6 */ | |
/* sum members: 140, holes: 1, sum holes: 4 */ | |
/* paddings: 3, sum paddings: 12 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class CachedShaderSetting<float, 4ul> { | |
const char * m_name; /* 0 8 */ | |
float m_sent[4]; /* 8 16 */ | |
bool has_been_set; /* 24 1 */ | |
bool is_pixel; /* 25 1 */ | |
protected: | |
void CachedShaderSetting(class CachedShaderSetting<float, 4ul> *, const char *, bool); | |
public: | |
void set(class CachedShaderSetting<float, 4ul> *, const float *, class IMaterialRendererServices *); | |
/* size: 32, cachelines: 1, members: 4 */ | |
/* padding: 6 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class CachedPixelShaderSetting<float, 4ul> : public CachedShaderSetting<float, 4ul> { | |
public: | |
/* class CachedShaderSetting<float, 4ul> <ancestor>; */ /* 0 32 */ | |
/* XXX last struct has 6 bytes of padding */ | |
void CachedPixelShaderSetting(class CachedPixelShaderSetting<float, 4ul> *, const char *); | |
/* size: 32, cachelines: 1, members: 1 */ | |
/* paddings: 1, sum paddings: 6 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 32 != 0 + 0(holes), diff = 32 */ | |
}; | |
class CachedShaderSetting<float, 1ul> { | |
const char * m_name; /* 0 8 */ | |
float m_sent[1]; /* 8 4 */ | |
bool has_been_set; /* 12 1 */ | |
bool is_pixel; /* 13 1 */ | |
protected: | |
void CachedShaderSetting(class CachedShaderSetting<float, 1ul> *, const char *, bool); | |
public: | |
void set(class CachedShaderSetting<float, 1ul> *, const float *, class IMaterialRendererServices *); | |
/* size: 16, cachelines: 1, members: 4 */ | |
/* padding: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class CachedPixelShaderSetting<float, 1ul> : public CachedShaderSetting<float, 1ul> { | |
public: | |
/* class CachedShaderSetting<float, 1ul> <ancestor>; */ /* 0 16 */ | |
/* XXX last struct has 2 bytes of padding */ | |
void CachedPixelShaderSetting(class CachedPixelShaderSetting<float, 1ul> *, const char *); | |
/* size: 16, cachelines: 1, members: 1 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 16 != 0 + 0(holes), diff = 16 */ | |
}; | |
class CachedVertexShaderSetting<float, 1ul> : public CachedShaderSetting<float, 1ul> { | |
public: | |
/* class CachedShaderSetting<float, 1ul> <ancestor>; */ /* 0 16 */ | |
/* XXX last struct has 2 bytes of padding */ | |
void CachedVertexShaderSetting(class CachedVertexShaderSetting<float, 1ul> *, const char *); | |
/* size: 16, cachelines: 1, members: 1 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 16 != 0 + 0(holes), diff = 16 */ | |
}; | |
class CachedShaderSetting<float, 3ul> { | |
const char * m_name; /* 0 8 */ | |
float m_sent[3]; /* 8 12 */ | |
bool has_been_set; /* 20 1 */ | |
bool is_pixel; /* 21 1 */ | |
protected: | |
void CachedShaderSetting(class CachedShaderSetting<float, 3ul> *, const char *, bool); | |
public: | |
void set(class CachedShaderSetting<float, 3ul> *, const float *, class IMaterialRendererServices *); | |
/* size: 24, cachelines: 1, members: 4 */ | |
/* padding: 2 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class CachedPixelShaderSetting<float, 3ul> : public CachedShaderSetting<float, 3ul> { | |
public: | |
/* class CachedShaderSetting<float, 3ul> <ancestor>; */ /* 0 24 */ | |
/* XXX last struct has 2 bytes of padding */ | |
void CachedPixelShaderSetting(class CachedPixelShaderSetting<float, 3ul> *, const char *); | |
/* size: 24, cachelines: 1, members: 1 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 0 + 0(holes), diff = 24 */ | |
}; | |
class CachedVertexShaderSetting<float, 3ul> : public CachedShaderSetting<float, 3ul> { | |
public: | |
/* class CachedShaderSetting<float, 3ul> <ancestor>; */ /* 0 24 */ | |
/* XXX last struct has 2 bytes of padding */ | |
void CachedVertexShaderSetting(class CachedVertexShaderSetting<float, 3ul> *, const char *); | |
/* size: 24, cachelines: 1, members: 1 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 0 + 0(holes), diff = 24 */ | |
}; | |
class CachedShaderSetting<int, 1ul> { | |
const char * m_name; /* 0 8 */ | |
int m_sent[1]; /* 8 4 */ | |
bool has_been_set; /* 12 1 */ | |
bool is_pixel; /* 13 1 */ | |
protected: | |
void CachedShaderSetting(class CachedShaderSetting<int, 1ul> *, const char *, bool); | |
public: | |
void set(class CachedShaderSetting<int, 1ul> *, const int *, class IMaterialRendererServices *); | |
/* size: 16, cachelines: 1, members: 4 */ | |
/* padding: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class CachedPixelShaderSetting<int, 1ul> : public CachedShaderSetting<int, 1ul> { | |
public: | |
/* class CachedShaderSetting<int, 1ul> <ancestor>; */ /* 0 16 */ | |
/* XXX last struct has 2 bytes of padding */ | |
void CachedPixelShaderSetting(class CachedPixelShaderSetting<int, 1ul> *, const char *); | |
/* size: 16, cachelines: 1, members: 1 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 16 != 0 + 0(holes), diff = 16 */ | |
}; | |
class GameGlobalShaderConstantSetter : public IShaderConstantSetter { | |
public: | |
/* class IShaderConstantSetter <ancestor>; */ /* 0 8 */ | |
class Sky * m_sky; /* 8 8 */ | |
bool * m_force_fog_off; /* 16 8 */ | |
f32 * m_fog_range; /* 24 8 */ | |
bool m_fog_enabled; /* 32 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class CachedPixelShaderSetting<float, 4ul> m_sky_bg_color; /* 40 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class CachedPixelShaderSetting<float, 1ul> m_fog_distance; /* 72 16 */ | |
class CachedVertexShaderSetting<float, 1ul> m_animation_timer_vertex; /* 88 16 */ | |
class CachedPixelShaderSetting<float, 1ul> m_animation_timer_pixel; /* 104 16 */ | |
class CachedPixelShaderSetting<float, 3ul> m_day_light; /* 120 24 */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
class CachedPixelShaderSetting<float, 3ul> m_eye_position_pixel; /* 144 24 */ | |
class CachedVertexShaderSetting<float, 3ul> m_eye_position_vertex; /* 168 24 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
class CachedPixelShaderSetting<float, 3ul> m_minimap_yaw; /* 192 24 */ | |
class CachedPixelShaderSetting<int, 1ul> m_base_texture; /* 216 16 */ | |
class CachedPixelShaderSetting<int, 1ul> m_normal_texture; /* 232 16 */ | |
class CachedPixelShaderSetting<int, 1ul> m_texture_flags; /* 248 16 */ | |
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ | |
class Client * m_client; /* 264 8 */ | |
void GameGlobalShaderConstantSetter(class GameGlobalShaderConstantSetter *, const class GameGlobalShaderConstantSetter &); | |
void onSettingsChange(class GameGlobalShaderConstantSetter *, const string &); | |
void settingsCallback(const string &, void *); | |
void setSky(class GameGlobalShaderConstantSetter *, class Sky *); | |
void GameGlobalShaderConstantSetter(class GameGlobalShaderConstantSetter *, class Sky *, bool *, f32 *, class Client *); | |
virtual void ~GameGlobalShaderConstantSetter(class GameGlobalShaderConstantSetter *, int); | |
virtual void onSetConstants(class GameGlobalShaderConstantSetter *, class IMaterialRendererServices *, bool); | |
/* vtable has 1 entries: { | |
[2] = onSetConstants((null)), | |
} */ | |
/* size: 272, cachelines: 5, members: 17 */ | |
/* sum members: 257, holes: 1, sum holes: 7 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 272 != 257 + 7(holes), diff = 8 */ | |
}; | |
struct KeyCache { | |
class KeyPress key[41]; /* 0 1640 */ | |
/* --- cacheline 25 boundary (1600 bytes) was 40 bytes ago --- */ | |
class InputHandler * handler; /* 1640 8 */ | |
void KeyCache(class KeyCache *); | |
void populate(class KeyCache *); | |
void populate_nonchanging(class KeyCache *); | |
void ~KeyCache(class KeyCache *, int); | |
/* size: 1648, cachelines: 26, members: 2 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct FpsControl { | |
u32 last_time; /* 0 4 */ | |
u32 busy_time; /* 4 4 */ | |
u32 sleep_time; /* 8 4 */ | |
/* size: 12, cachelines: 1, members: 3 */ | |
/* last cacheline: 12 bytes */ | |
}; | |
struct CameraOrientation { | |
f32 camera_yaw; /* 0 4 */ | |
f32 camera_pitch; /* 4 4 */ | |
/* size: 8, cachelines: 1, members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct GameRunData { | |
u16 dig_index; /* 0 2 */ | |
u16 new_playeritem; /* 2 2 */ | |
struct PointedThing pointed_old; /* 4 44 */ | |
bool digging; /* 48 1 */ | |
bool ldown_for_dig; /* 49 1 */ | |
bool left_punch; /* 50 1 */ | |
bool update_wielded_item_trigger; /* 51 1 */ | |
bool reset_jump_timer; /* 52 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float nodig_delay_timer; /* 56 4 */ | |
float dig_time; /* 60 4 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
float dig_time_complete; /* 64 4 */ | |
float repeat_rightclick_timer; /* 68 4 */ | |
float object_hit_delay_timer; /* 72 4 */ | |
float time_from_last_punch; /* 76 4 */ | |
class ClientActiveObject * selected_object; /* 80 8 */ | |
float jump_timer; /* 88 4 */ | |
float damage_flash; /* 92 4 */ | |
float update_draw_list_timer; /* 96 4 */ | |
float statustext_time; /* 100 4 */ | |
f32 fog_range; /* 104 4 */ | |
v3f update_draw_list_last_cam_dir; /* 108 12 */ | |
u32 profiler_current_page; /* 120 4 */ | |
u32 profiler_max_page; /* 124 4 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
float time_of_day; /* 128 4 */ | |
float time_of_day_smooth; /* 132 4 */ | |
void GameRunData(class GameRunData *); | |
/* size: 136, cachelines: 3, members: 25 */ | |
/* sum members: 133, holes: 1, sum holes: 3 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct Jitter { | |
f32 max; /* 0 4 */ | |
f32 min; /* 4 4 */ | |
f32 avg; /* 8 4 */ | |
f32 counter; /* 12 4 */ | |
f32 max_sample; /* 16 4 */ | |
f32 min_sample; /* 20 4 */ | |
f32 max_fraction; /* 24 4 */ | |
/* size: 28, cachelines: 1, members: 7 */ | |
/* last cacheline: 28 bytes */ | |
}; | |
struct RunStats { | |
u32 drawtime; /* 0 4 */ | |
struct Jitter dtime_jitter; /* 4 28 */ | |
struct Jitter busy_time_jitter; /* 32 28 */ | |
/* size: 60, cachelines: 1, members: 3 */ | |
/* last cacheline: 60 bytes */ | |
}; | |
class Game { | |
class InputHandler * input; /* 0 8 */ | |
class Client * client; /* 8 8 */ | |
class Server * server; /* 16 8 */ | |
class IWritableTextureSource * texture_src; /* 24 8 */ | |
class IWritableShaderSource * shader_src; /* 32 8 */ | |
class IWritableItemDefManager * itemdef_manager; /* 40 8 */ | |
class IWritableNodeDefManager * nodedef_manager; /* 48 8 */ | |
class GameOnDemandSoundFetcher soundfetcher; /* 56 56 */ | |
/* --- cacheline 1 boundary (64 bytes) was 48 bytes ago --- */ | |
class ISoundManager * sound; /* 112 8 */ | |
bool sound_is_dummy; /* 120 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class SoundMaker * soundmaker; /* 128 8 */ | |
class ChatBackend * chat_backend; /* 136 8 */ | |
class GUIFormSpecMenu * current_formspec; /* 144 8 */ | |
string cur_formname; /* 152 32 */ | |
class EventManager * eventmgr; /* 184 8 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
class QuicktuneShortcutter * quicktune; /* 192 8 */ | |
class GUIChatConsole * gui_chat_console; /* 200 8 */ | |
class MapDrawControl * draw_control; /* 208 8 */ | |
class Camera * camera; /* 216 8 */ | |
class Clouds * clouds; /* 224 8 */ | |
class Sky * sky; /* 232 8 */ | |
class Inventory * local_inventory; /* 240 8 */ | |
class Hud * hud; /* 248 8 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
class Minimap * mapper; /* 256 8 */ | |
struct GameRunData runData; /* 264 136 */ | |
/* --- cacheline 6 boundary (384 bytes) was 16 bytes ago --- */ | |
struct GameUIFlags flags; /* 400 7 */ | |
/* XXX 1 byte hole, try to pack */ | |
class IrrlichtDevice * device; /* 408 8 */ | |
class IVideoDriver * driver; /* 416 8 */ | |
class ISceneManager * smgr; /* 424 8 */ | |
bool * kill; /* 432 8 */ | |
string * error_message; /* 440 8 */ | |
/* --- cacheline 7 boundary (448 bytes) --- */ | |
bool * reconnect_requested; /* 448 8 */ | |
class ISceneNode * skybox; /* 456 8 */ | |
bool random_input; /* 464 1 */ | |
bool simple_singleplayer_mode; /* 465 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
int crack_animation_length; /* 468 4 */ | |
class IGUIStaticText * guitext; /* 472 8 */ | |
class IGUIStaticText * guitext2; /* 480 8 */ | |
class IGUIStaticText * guitext_info; /* 488 8 */ | |
class IGUIStaticText * guitext_status; /* 496 8 */ | |
class IGUIStaticText * guitext_chat; /* 504 8 */ | |
/* --- cacheline 8 boundary (512 bytes) --- */ | |
class IGUIStaticText * guitext_profiler; /* 512 8 */ | |
wstring infotext; /* 520 32 */ | |
wstring m_statustext; /* 552 32 */ | |
/* --- cacheline 9 boundary (576 bytes) was 8 bytes ago --- */ | |
struct KeyCache keycache; /* 584 1648 */ | |
/* --- cacheline 34 boundary (2176 bytes) was 56 bytes ago --- */ | |
class IntervalLimiter profiler_interval; /* 2232 4 */ | |
bool m_cache_doubletap_jump; /* 2236 1 */ | |
bool m_cache_enable_clouds; /* 2237 1 */ | |
bool m_cache_enable_joysticks; /* 2238 1 */ | |
bool m_cache_enable_particles; /* 2239 1 */ | |
/* --- cacheline 35 boundary (2240 bytes) --- */ | |
bool m_cache_enable_fog; /* 2240 1 */ | |
bool m_cache_enable_noclip; /* 2241 1 */ | |
bool m_cache_enable_free_move; /* 2242 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
f32 m_cache_mouse_sensitivity; /* 2244 4 */ | |
f32 m_cache_joystick_frustum_sensitivity; /* 2248 4 */ | |
f32 m_repeat_right_click_time; /* 2252 4 */ | |
f32 m_cache_cam_smoothing; /* 2256 4 */ | |
f32 m_cache_fog_start; /* 2260 4 */ | |
bool m_invert_mouse; /* 2264 1 */ | |
bool m_first_loop_after_window_activation; /* 2265 1 */ | |
bool m_camera_offset_changed; /* 2266 1 */ | |
public: | |
void Game(class Game *); | |
void ~Game(class Game *, int); | |
bool startup(class Game *, bool *, bool, class InputHandler *, class IrrlichtDevice *, const string &, const string &, const string &, string *, u16, string &, bool *, class ChatBackend *, const class SubgameSpec &, bool); | |
void run(class Game *); | |
void shutdown(class Game *); | |
protected: | |
void extendedResourceCleanup(class Game *); | |
bool init(class Game *, const string &, string *, u16, const class SubgameSpec &); | |
bool initSound(class Game *); | |
bool createSingleplayerServer(class Game *, const string &, const class SubgameSpec &, u16, string *); | |
bool createClient(class Game *, const string &, const string &, string *, u16); | |
bool initGui(class Game *); | |
bool connectToServer(class Game *, const string &, const string &, string *, u16, bool *, bool *); | |
bool getServerContent(class Game *, bool *); | |
void updateInteractTimers(class Game *, f32); | |
bool checkConnection(class Game *); | |
bool handleCallbacks(class Game *); | |
void processQueues(class Game *); | |
void updateProfilers(class Game *, const class RunStats &, const class FpsControl &, f32); | |
void addProfilerGraphs(class Game *, const class RunStats &, const class FpsControl &, f32); | |
void updateStats(class Game *, class RunStats *, const class FpsControl &, f32); | |
void processUserInput(class Game *, f32); | |
void processKeyInput(class Game *); | |
void processItemSelection(class Game *, u16 *); | |
void dropSelectedItem(class Game *); | |
void openInventory(class Game *); | |
void openConsole(class Game *, float, const wchar_t *); | |
void toggleFreeMove(class Game *); | |
void toggleFreeMoveAlt(class Game *); | |
void toggleFast(class Game *); | |
void toggleNoClip(class Game *); | |
void toggleCinematic(class Game *); | |
void toggleAutorun(class Game *); | |
void toggleChat(class Game *); | |
void toggleHud(class Game *); | |
void toggleMinimap(class Game *, bool); | |
void toggleFog(class Game *); | |
void toggleDebug(class Game *); | |
void toggleUpdateCamera(class Game *); | |
void toggleProfiler(class Game *); | |
void increaseViewRange(class Game *); | |
void decreaseViewRange(class Game *); | |
void toggleFullViewRange(class Game *); | |
void updateCameraDirection(class Game *, class CameraOrientation *, float); | |
void updateCameraOrientation(class Game *, class CameraOrientation *, float); | |
void updatePlayerControl(class Game *, const class CameraOrientation &); | |
void step(class Game *, f32 *); | |
void processClientEvents(class Game *, class CameraOrientation *); | |
void updateCamera(class Game *, u32, f32); | |
void updateSound(class Game *, f32); | |
void processPlayerInteraction(class Game *, f32, bool, bool); | |
class PointedThing updatePointedThing(class Game *, const class line3d<float> &, bool, bool, const v3s16 &); | |
void handlePointingAtNothing(class Game *, const class ItemStack &); | |
void handlePointingAtNode(class Game *, const class PointedThing &, const class ItemDefinition &, const class ToolCapabilities &, f32); | |
void handlePointingAtObject(class Game *, const class PointedThing &, const class ItemStack &, const v3f &, bool); | |
void handleDigging(class Game *, const class PointedThing &, const v3s16 &, const class ToolCapabilities &, f32); | |
void updateFrame(class Game *, class ProfilerGraph *, class RunStats *, f32, const class CameraOrientation &); | |
void updateGui(class Game *, const class RunStats &, f32, const class CameraOrientation &); | |
void updateProfilerGraphs(class Game *, class ProfilerGraph *); | |
void limitFps(class Game *, class FpsControl *, f32 *); | |
void showOverlayMessage(class Game *, const wchar_t *, float, int, bool); | |
void settingChangedCallback(const string &, void *); | |
void readSettings(class Game *); | |
bool getLeftClicked(class Game *); | |
bool getRightClicked(class Game *); | |
bool isLeftPressed(class Game *); | |
bool isRightPressed(class Game *); | |
bool getLeftReleased(class Game *); | |
bool isKeyDown(class Game *, GameKeyType); | |
bool wasKeyDown(class Game *, GameKeyType); | |
void showPauseMenu(class Game *); | |
/* size: 2272, cachelines: 36, members: 61 */ | |
/* sum members: 2256, holes: 4, sum holes: 11 */ | |
/* padding: 5 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class GameOnDemandSoundFetcher : public OnDemandSoundFetcher { | |
public: | |
/* class OnDemandSoundFetcher <ancestor>; */ /* 0 8 */ | |
class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_fetched; /* 8 48 */ | |
void ~GameOnDemandSoundFetcher(class GameOnDemandSoundFetcher *, int); | |
void GameOnDemandSoundFetcher(class GameOnDemandSoundFetcher *, ); | |
void GameOnDemandSoundFetcher(class GameOnDemandSoundFetcher *, const class GameOnDemandSoundFetcher &); | |
void GameOnDemandSoundFetcher(class GameOnDemandSoundFetcher *); | |
virtual void fetchSounds(class GameOnDemandSoundFetcher *, const string &, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string); | |
/* vtable has 1 entries: { | |
[0] = fetchSounds((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 56 != 48 + 0(holes), diff = 8 */ | |
}; | |
class GameGlobalShaderConstantSetterFactory : public IShaderConstantSetterFactory { | |
public: | |
/* class IShaderConstantSetterFactory <ancestor>; */ /* 0 8 */ | |
class Sky * m_sky; /* 8 8 */ | |
bool * m_force_fog_off; /* 16 8 */ | |
f32 * m_fog_range; /* 24 8 */ | |
class Client * m_client; /* 32 8 */ | |
class vector<GameGlobalShaderConstantSetter*, std::allocator<GameGlobalShaderConstantSetter*> > created_nosky; /* 40 24 */ | |
void GameGlobalShaderConstantSetterFactory(class GameGlobalShaderConstantSetterFactory *, ); | |
void GameGlobalShaderConstantSetterFactory(class GameGlobalShaderConstantSetterFactory *, const class GameGlobalShaderConstantSetterFactory &); | |
void GameGlobalShaderConstantSetterFactory(class GameGlobalShaderConstantSetterFactory *, bool *, f32 *, class Client *); | |
void setSky(class GameGlobalShaderConstantSetterFactory *, class Sky *); | |
virtual class IShaderConstantSetter * create(class GameGlobalShaderConstantSetterFactory *); | |
virtual void ~GameGlobalShaderConstantSetterFactory(class GameGlobalShaderConstantSetterFactory *, int); | |
/* vtable has 1 entries: { | |
[2] = create((null)), | |
} */ | |
/* size: 64, cachelines: 1, members: 6 */ | |
/* BRAIN FART ALERT! 64 != 56 + 0(holes), diff = 8 */ | |
}; | |
class OnDemandSoundFetcher { | |
public: | |
int ()(void) * * _vptr.OnDemandSoundFetcher; /* 0 8 */ | |
void ~OnDemandSoundFetcher(class OnDemandSoundFetcher *, int); | |
void OnDemandSoundFetcher(class OnDemandSoundFetcher *, ); | |
void OnDemandSoundFetcher(class OnDemandSoundFetcher *, const class OnDemandSoundFetcher &); | |
void OnDemandSoundFetcher(class OnDemandSoundFetcher *); | |
virtual void fetchSounds(class OnDemandSoundFetcher *, const string &, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string); | |
/* vtable has 1 entries: { | |
[0] = fetchSounds((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class NodeDugEvent : public MtEvent { | |
public: | |
/* class MtEvent <ancestor>; */ /* 0 8 */ | |
v3s16 p; /* 8 6 */ | |
struct MapNode n; /* 14 4 */ | |
void NodeDugEvent(class NodeDugEvent *, ); | |
void NodeDugEvent(class NodeDugEvent *, const class NodeDugEvent &); | |
void NodeDugEvent(class NodeDugEvent *, v3s16, class MapNode); | |
virtual const char * getType(const class NodeDugEvent *); | |
virtual void ~NodeDugEvent(class NodeDugEvent *, int); | |
/* vtable has 1 entries: { | |
[2] = getType((null)), | |
} */ | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* padding: 6 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 10 + 0(holes), diff = 14 */ | |
}; | |
class PlayerInventoryFormSource : public IFormSource { | |
public: | |
/* class IFormSource <ancestor>; */ /* 0 8 */ | |
class Client * m_client; /* 8 8 */ | |
void PlayerInventoryFormSource(class PlayerInventoryFormSource *, ); | |
void PlayerInventoryFormSource(class PlayerInventoryFormSource *, const class PlayerInventoryFormSource &); | |
void PlayerInventoryFormSource(class PlayerInventoryFormSource *, class Client *); | |
virtual string getForm(class PlayerInventoryFormSource *); | |
virtual void ~PlayerInventoryFormSource(class PlayerInventoryFormSource *, int); | |
/* vtable has 1 entries: { | |
[2] = getForm((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 16 != 8 + 0(holes), diff = 8 */ | |
}; | |
class NodeMetadataFormSource : public IFormSource { | |
public: | |
/* class IFormSource <ancestor>; */ /* 0 8 */ | |
class ClientMap * m_map; /* 8 8 */ | |
v3s16 m_p; /* 16 6 */ | |
void NodeMetadataFormSource(class NodeMetadataFormSource *, ); | |
void NodeMetadataFormSource(class NodeMetadataFormSource *, const class NodeMetadataFormSource &); | |
void NodeMetadataFormSource(class NodeMetadataFormSource *, class ClientMap *, v3s16); | |
virtual string getForm(class NodeMetadataFormSource *); | |
virtual string resolveText(class NodeMetadataFormSource *, string); | |
virtual void ~NodeMetadataFormSource(class NodeMetadataFormSource *, int); | |
/* vtable has 2 entries: { | |
[2] = getForm((null)), | |
[3] = resolveText((null)), | |
} */ | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* padding: 2 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 14 + 0(holes), diff = 10 */ | |
}; | |
struct LocalFormspecHandler : TextDest { | |
/* struct TextDest <ancestor>; */ /* 0 40 */ | |
class Client * m_client; /* 40 8 */ | |
void LocalFormspecHandler(class LocalFormspecHandler *, ); | |
void LocalFormspecHandler(class LocalFormspecHandler *, const class LocalFormspecHandler &); | |
void LocalFormspecHandler(class LocalFormspecHandler *, const string &); | |
void LocalFormspecHandler(class LocalFormspecHandler *, const string &, class Client *); | |
virtual void gotText(class LocalFormspecHandler *, const StringMap &); | |
virtual void ~LocalFormspecHandler(class LocalFormspecHandler *, int); | |
/* vtable has 1 entries: { | |
[3] = gotText((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 2 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 8 + 0(holes), diff = 40 */ | |
}; | |
struct TextDestPlayerInventory : TextDest { | |
/* struct TextDest <ancestor>; */ /* 0 40 */ | |
class Client * m_client; /* 40 8 */ | |
void TextDestPlayerInventory(class TextDestPlayerInventory *, ); | |
void TextDestPlayerInventory(class TextDestPlayerInventory *, const class TextDestPlayerInventory &); | |
void TextDestPlayerInventory(class TextDestPlayerInventory *, class Client *); | |
void TextDestPlayerInventory(class TextDestPlayerInventory *, class Client *, const string &); | |
virtual void gotText(class TextDestPlayerInventory *, const StringMap &); | |
virtual void ~TextDestPlayerInventory(class TextDestPlayerInventory *, int); | |
/* vtable has 1 entries: { | |
[3] = gotText((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 2 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 8 + 0(holes), diff = 40 */ | |
}; | |
struct TextDestNodeMetadata : TextDest { | |
/* struct TextDest <ancestor>; */ /* 0 40 */ | |
v3s16 m_p; /* 40 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class Client * m_client; /* 48 8 */ | |
void TextDestNodeMetadata(class TextDestNodeMetadata *, ); | |
void TextDestNodeMetadata(class TextDestNodeMetadata *, const class TextDestNodeMetadata &); | |
void TextDestNodeMetadata(class TextDestNodeMetadata *, v3s16, class Client *); | |
void gotText(class TextDestNodeMetadata *, const wstring &); | |
virtual void gotText(class TextDestNodeMetadata *, const StringMap &); | |
virtual void ~TextDestNodeMetadata(class TextDestNodeMetadata *, int); | |
/* vtable has 1 entries: { | |
[3] = gotText((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 3 */ | |
/* sum members: 14, holes: 1, sum holes: 2 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 56 != 14 + 2(holes), diff = 40 */ | |
}; | |
class ServerError : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void ServerError(class ServerError *, const string &); | |
virtual void ~ServerError(class ServerError *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class LogOutputBuffer : public ICombinedLogOutput { | |
public: | |
/* class ICombinedLogOutput <ancestor>; */ /* 0 8 */ | |
class queue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > m_buffer; /* 8 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ | |
class Logger &const m_logger; /* 88 8 */ | |
void LogOutputBuffer(class LogOutputBuffer *, const class LogOutputBuffer &); | |
void LogOutputBuffer(class LogOutputBuffer *, class Logger &, enum LogLevel); | |
void ~LogOutputBuffer(class LogOutputBuffer *, int); | |
virtual void logRaw(class LogOutputBuffer *, enum LogLevel, const string &); | |
bool empty(class LogOutputBuffer *); | |
string get(class LogOutputBuffer *); | |
/* vtable has 1 entries: { | |
[0] = logRaw((null)), | |
} */ | |
/* size: 96, cachelines: 2, members: 3 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 96 != 88 + 0(holes), diff = 8 */ | |
}; | |
class GUIChatConsole : public IGUIElement { | |
public: | |
/* class IGUIElement <ancestor>; */ /* 0 320 */ | |
/* XXX last struct has 36 bytes of padding */ | |
/* --- cacheline 4 boundary (256 bytes) was 32 bytes ago --- */ | |
class ChatBackend * m_chat_backend; /* 288 8 */ | |
class Client * m_client; /* 296 8 */ | |
class IMenuManager * m_menumgr; /* 304 8 */ | |
v2u32 m_screensize; /* 312 8 */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
u32 m_animate_time_old; /* 320 4 */ | |
bool m_open; /* 324 1 */ | |
bool m_close_on_enter; /* 325 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
s32 m_height; /* 328 4 */ | |
f32 m_desired_height; /* 332 4 */ | |
f32 m_desired_height_fraction; /* 336 4 */ | |
f32 m_height_speed; /* 340 4 */ | |
u32 m_open_inhibited; /* 344 4 */ | |
u32 m_cursor_blink; /* 348 4 */ | |
f32 m_cursor_blink_speed; /* 352 4 */ | |
f32 m_cursor_height; /* 356 4 */ | |
class ITexture * m_background; /* 360 8 */ | |
class SColor m_background_color; /* 368 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class IGUIFont * m_font; /* 376 8 */ | |
/* --- cacheline 6 boundary (384 bytes) --- */ | |
v2u32 m_fontsize; /* 384 8 */ | |
void GUIChatConsole(class GUIChatConsole *, int, const void * *, const class GUIChatConsole &); | |
void GUIChatConsole(class GUIChatConsole *, int, const void * *, class IGUIEnvironment *, class IGUIElement *, s32, class ChatBackend *, class Client *, class IMenuManager *); | |
virtual void ~GUIChatConsole(class GUIChatConsole *, int, const void * *); | |
void openConsole(class GUIChatConsole *, f32); | |
bool isOpen(const class GUIChatConsole *); | |
bool isOpenInhibited(const class GUIChatConsole *); | |
void closeConsole(class GUIChatConsole *); | |
void closeConsoleAtOnce(class GUIChatConsole *); | |
void setCloseOnEnter(class GUIChatConsole *, bool); | |
f32 getDesiredHeight(const class GUIChatConsole *); | |
void replaceAndAddToHistory(class GUIChatConsole *, wstring); | |
void setCursor(class GUIChatConsole *, bool, bool, f32, f32); | |
virtual void draw(class GUIChatConsole *); | |
bool canTakeFocus(class GUIChatConsole *, class IGUIElement *); | |
virtual bool OnEvent(class GUIChatConsole *, const class SEvent &); | |
virtual void setVisible(class GUIChatConsole *, bool); | |
void reformatConsole(class GUIChatConsole *); | |
void recalculateConsolePosition(class GUIChatConsole *); | |
void animate(class GUIChatConsole *, u32); | |
void drawBackground(class GUIChatConsole *); | |
void drawText(class GUIChatConsole *); | |
void drawPrompt(class GUIChatConsole *); | |
/* vtable has 3 entries: { | |
[8] = draw((null)), | |
[2] = OnEvent((null)), | |
[12] = setVisible((null)), | |
} */ | |
/* size: 424, cachelines: 7, members: 20 */ | |
/* sum members: 98, holes: 2, sum holes: 6 */ | |
/* padding: 32 */ | |
/* paddings: 1, sum paddings: 36 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 424 != 98 + 6(holes), diff = 320 */ | |
}; | |
class GUIEngine { | |
struct clouddata { | |
f32 dtime; /* 0 4 */ | |
u32 lasttime; /* 4 4 */ | |
class Clouds * clouds; /* 8 8 */ | |
class ICameraSceneNode * camera; /* 16 8 */ | |
/* size: 24, cachelines: 1, members: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
public: | |
int ()(void) * * _vptr.GUIEngine; /* 0 8 */ | |
class IrrlichtDevice * m_device; /* 8 8 */ | |
class IGUIElement * m_parent; /* 16 8 */ | |
class IMenuManager * m_menumanager; /* 24 8 */ | |
class ISceneManager * m_smgr; /* 32 8 */ | |
class MainMenuData * m_data; /* 40 8 */ | |
class ISimpleTextureSource * m_texture_source; /* 48 8 */ | |
class ISoundManager * m_sound_manager; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class FormspecFormSource * m_formspecgui; /* 64 8 */ | |
class TextDestGuiEngine * m_buttonhandler; /* 72 8 */ | |
class GUIFormSpecMenu * m_menu; /* 80 8 */ | |
bool &const m_kill; /* 88 8 */ | |
bool m_startgame; /* 96 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class MainMenuScripting * m_script; /* 104 8 */ | |
string m_scriptdir; /* 112 32 */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
image_definition m_textures[4]; /* 144 64 */ | |
/* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */ | |
class IGUIStaticText * m_irr_toplefttext; /* 208 8 */ | |
class EnrichedString m_toplefttext; /* 216 64 */ | |
/* --- cacheline 4 boundary (256 bytes) was 24 bytes ago --- */ | |
bool m_clouds_enabled; /* 280 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
struct clouddata m_cloud; /* 288 24 */ | |
void GUIEngine(class GUIEngine *, const class GUIEngine &); | |
void GUIEngine(class GUIEngine *, class IrrlichtDevice *, class JoystickController *, class IGUIElement *, class IMenuManager *, class ISceneManager *, class MainMenuData *, bool &); | |
virtual void ~GUIEngine(class GUIEngine *, int); | |
class MainMenuScripting * getScriptIface(class GUIEngine *); | |
string getScriptDir(class GUIEngine *); | |
unsigned int queueAsync(class GUIEngine *, const string &, const string &); | |
bool loadMainMenuScript(class GUIEngine *); | |
void run(class GUIEngine *); | |
void updateTopLeftTextSize(class GUIEngine *); | |
void drawBackground(class GUIEngine *, class IVideoDriver *); | |
void drawOverlay(class GUIEngine *, class IVideoDriver *); | |
void drawHeader(class GUIEngine *, class IVideoDriver *); | |
void drawFooter(class GUIEngine *, class IVideoDriver *); | |
bool setTexture(class GUIEngine *, texture_layer, string, bool, unsigned int); | |
bool downloadFile(const string &, const string &); | |
void setTopleftText(class GUIEngine *, const string &); | |
void cloudInit(class GUIEngine *); | |
void cloudPreProcess(class GUIEngine *); | |
void cloudPostProcess(class GUIEngine *); | |
s32 playSound(class GUIEngine *, class SimpleSoundSpec, bool); | |
void stopSound(class GUIEngine *, s32); | |
/* size: 312, cachelines: 5, members: 20 */ | |
/* sum members: 298, holes: 2, sum holes: 14 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class TextDestGuiEngine : public TextDest { | |
public: | |
/* struct TextDest <ancestor>; */ /* 0 40 */ | |
class GUIEngine * m_engine; /* 40 8 */ | |
void TextDestGuiEngine(class TextDestGuiEngine *, ); | |
void TextDestGuiEngine(class TextDestGuiEngine *, const class TextDestGuiEngine &); | |
void TextDestGuiEngine(class TextDestGuiEngine *, class GUIEngine *); | |
virtual void gotText(class TextDestGuiEngine *, const StringMap &); | |
void gotText(class TextDestGuiEngine *, const wstring &); | |
virtual void ~TextDestGuiEngine(class TextDestGuiEngine *, int); | |
/* vtable has 1 entries: { | |
[3] = gotText((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 2 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 48 != 8 + 0(holes), diff = 40 */ | |
}; | |
class MenuMusicFetcher : public OnDemandSoundFetcher { | |
public: | |
/* class OnDemandSoundFetcher <ancestor>; */ /* 0 8 */ | |
class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_fetched; /* 8 48 */ | |
void ~MenuMusicFetcher(class MenuMusicFetcher *, int); | |
void MenuMusicFetcher(class MenuMusicFetcher *, ); | |
void MenuMusicFetcher(class MenuMusicFetcher *, const class MenuMusicFetcher &); | |
void MenuMusicFetcher(class MenuMusicFetcher *); | |
virtual void fetchSounds(class MenuMusicFetcher *, const string &, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string); | |
/* vtable has 1 entries: { | |
[0] = fetchSounds((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 56 != 48 + 0(holes), diff = 8 */ | |
}; | |
class MenuTextureSource : public ISimpleTextureSource { | |
public: | |
/* class ISimpleTextureSource <ancestor>; */ /* 0 8 */ | |
class IVideoDriver * m_driver; /* 8 8 */ | |
class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_to_delete; /* 16 48 */ | |
void MenuTextureSource(class MenuTextureSource *, const class MenuTextureSource &); | |
void MenuTextureSource(class MenuTextureSource *, class IVideoDriver *); | |
virtual void ~MenuTextureSource(class MenuTextureSource *, int); | |
virtual class ITexture * getTexture(class MenuTextureSource *, const string &, u32 *); | |
/* vtable has 1 entries: { | |
[2] = getTexture((null)), | |
} */ | |
/* size: 64, cachelines: 1, members: 3 */ | |
/* BRAIN FART ALERT! 64 != 56 + 0(holes), diff = 8 */ | |
}; | |
class GUIFileSelectMenu : public GUIModalMenu { | |
public: | |
/* class GUIModalMenu <ancestor>; */ /* 0 344 */ | |
/* XXX last struct has 39 bytes of padding */ | |
/* --- cacheline 4 boundary (256 bytes) was 56 bytes ago --- */ | |
wstring m_title; /* 312 32 */ | |
/* --- cacheline 5 boundary (320 bytes) was 24 bytes ago --- */ | |
bool m_accepted; /* 344 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class IGUIElement * m_parent; /* 352 8 */ | |
string m_selectedPath; /* 360 32 */ | |
/* --- cacheline 6 boundary (384 bytes) was 8 bytes ago --- */ | |
class IGUIFileOpenDialog * m_fileOpenDialog; /* 392 8 */ | |
bool m_running; /* 400 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class TextDest * m_text_dst; /* 408 8 */ | |
string m_formname; /* 416 32 */ | |
void GUIFileSelectMenu(class GUIFileSelectMenu *, int, const void * *, const class GUIFileSelectMenu &); | |
void GUIFileSelectMenu(class GUIFileSelectMenu *, int, const void * *, class IGUIEnvironment *, class IGUIElement *, s32, class IMenuManager *, string, string); | |
virtual void ~GUIFileSelectMenu(class GUIFileSelectMenu *, int, const void * *); | |
void removeChildren(class GUIFileSelectMenu *); | |
virtual void regenerateGui(class GUIFileSelectMenu *, v2u32); | |
virtual void drawMenu(class GUIFileSelectMenu *); | |
virtual bool OnEvent(class GUIFileSelectMenu *, const class SEvent &); | |
bool isRunning(class GUIFileSelectMenu *); | |
void setTextDest(class GUIFileSelectMenu *, class TextDest *); | |
void acceptInput(class GUIFileSelectMenu *); | |
/* vtable has 3 entries: { | |
[34] = regenerateGui((null)), | |
[35] = drawMenu((null)), | |
[2] = OnEvent((null)), | |
} */ | |
/* size: 480, cachelines: 8, members: 9 */ | |
/* sum members: 122, holes: 2, sum holes: 14 */ | |
/* padding: 32 */ | |
/* paddings: 1, sum paddings: 39 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 480 != 122 + 14(holes), diff = 344 */ | |
}; | |
class GUIFormSpecMenu : public GUIModalMenu { | |
struct ItemSpec { | |
struct InventoryLocation inventoryloc; /* 0 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
string listname; /* 48 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
s32 i; /* 80 4 */ | |
void ItemSpec(class ItemSpec *); | |
void ItemSpec(class ItemSpec *, const class InventoryLocation &, const string &, s32); | |
bool isValid(const class ItemSpec *); | |
void ItemSpec(class ItemSpec *, const class ItemSpec &); | |
void ~ItemSpec(class ItemSpec *, int); | |
/* size: 88, cachelines: 2, members: 3 */ | |
/* padding: 4 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct ListDrawSpec { | |
struct InventoryLocation inventoryloc; /* 0 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
string listname; /* 48 32 */ | |
v2s32 pos; /* 80 8 */ | |
v2s32 geom; /* 88 8 */ | |
s32 start_item_i; /* 96 4 */ | |
void ListDrawSpec(class ListDrawSpec *); | |
void ListDrawSpec(class ListDrawSpec *, const class InventoryLocation &, const string &, v2s32, v2s32, s32); | |
void ListDrawSpec(class ListDrawSpec *, const class ListDrawSpec &); | |
void ListDrawSpec(class ListDrawSpec *, ); | |
void ~ListDrawSpec(class ListDrawSpec *, int); | |
/* size: 104, cachelines: 2, members: 5 */ | |
/* padding: 4 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct ListRingSpec { | |
struct InventoryLocation inventoryloc; /* 0 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
string listname; /* 48 32 */ | |
void ListRingSpec(class ListRingSpec *); | |
void ListRingSpec(class ListRingSpec *, const class InventoryLocation &, const string &); | |
void ListRingSpec(class ListRingSpec *, const class ListRingSpec &); | |
void ListRingSpec(class ListRingSpec *, ); | |
void ~ListRingSpec(class ListRingSpec *, int); | |
/* size: 80, cachelines: 2, members: 2 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct ImageDrawSpec { | |
string name; /* 0 32 */ | |
string item_name; /* 32 32 */ | |
class IGUIButton * parent_button; /* 64 8 */ | |
v2s32 pos; /* 72 8 */ | |
v2s32 geom; /* 80 8 */ | |
bool scale; /* 88 1 */ | |
bool clip; /* 89 1 */ | |
void ImageDrawSpec(class ImageDrawSpec *); | |
void ImageDrawSpec(class ImageDrawSpec *, const string &, const string &, class IGUIButton *, const v2s32 &, const v2s32 &); | |
void ImageDrawSpec(class ImageDrawSpec *, const string &, const string &, const v2s32 &, const v2s32 &); | |
void ImageDrawSpec(class ImageDrawSpec *, const string &, const v2s32 &, const v2s32 &, bool); | |
void ImageDrawSpec(class ImageDrawSpec *, const string &, const v2s32 &); | |
void ImageDrawSpec(class ImageDrawSpec *, const class ImageDrawSpec &); | |
void ImageDrawSpec(class ImageDrawSpec *, ); | |
void ~ImageDrawSpec(class ImageDrawSpec *, int); | |
/* size: 96, cachelines: 2, members: 7 */ | |
/* padding: 6 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct FieldSpec { | |
string fname; /* 0 32 */ | |
wstring flabel; /* 32 32 */ | |
wstring fdefault; /* 64 32 */ | |
int fid; /* 96 4 */ | |
bool send; /* 100 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
FormspecFieldType ftype; /* 104 4 */ | |
bool is_exit; /* 108 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class rect<int> rect; /* 112 16 */ | |
void FieldSpec(class FieldSpec *); | |
void FieldSpec(class FieldSpec *, const string &, const wstring &, const wstring &, int); | |
void FieldSpec(class FieldSpec *, ); | |
void FieldSpec(class FieldSpec *, const class FieldSpec &); | |
void ~FieldSpec(class FieldSpec *, int); | |
/* size: 128, cachelines: 2, members: 8 */ | |
/* sum members: 122, holes: 2, sum holes: 6 */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct BoxDrawSpec { | |
v2s32 pos; /* 0 8 */ | |
v2s32 geom; /* 8 8 */ | |
class SColor color; /* 16 4 */ | |
void BoxDrawSpec(class BoxDrawSpec *, v2s32, v2s32, class SColor); | |
void BoxDrawSpec(class BoxDrawSpec *, const class BoxDrawSpec &); | |
/* size: 20, cachelines: 1, members: 3 */ | |
/* last cacheline: 20 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct TooltipSpec { | |
wstring tooltip; /* 0 32 */ | |
class SColor bgcolor; /* 32 4 */ | |
class SColor color; /* 36 4 */ | |
void TooltipSpec(class TooltipSpec *); | |
void TooltipSpec(class TooltipSpec *, string, class SColor, class SColor); | |
class TooltipSpec & operator=(class TooltipSpec *, ); | |
void ~TooltipSpec(class TooltipSpec *, int); | |
/* size: 40, cachelines: 1, members: 3 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct StaticTextSpec { | |
wstring text; /* 0 32 */ | |
class rect<int> rect; /* 32 16 */ | |
class IGUIButton * parent_button; /* 48 8 */ | |
void StaticTextSpec(class StaticTextSpec *); | |
void StaticTextSpec(class StaticTextSpec *, const wstring &, const class rect<int> &); | |
void StaticTextSpec(class StaticTextSpec *, const wstring &, const class rect<int> &, class IGUIButton *); | |
void StaticTextSpec(class StaticTextSpec *, const class StaticTextSpec &); | |
void StaticTextSpec(class StaticTextSpec *, ); | |
void ~StaticTextSpec(class StaticTextSpec *, int); | |
/* size: 56, cachelines: 1, members: 3 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct { | |
bool explicit_size; /* 0 1 */ | |
v2f invsize; /* 4 8 */ | |
v2s32 size; /* 12 8 */ | |
v2f32 offset; /* 20 8 */ | |
v2f32 anchor; /* 28 8 */ | |
class rect<int> rect; /* 36 16 */ | |
v2s32 basepos; /* 52 8 */ | |
v2u32 screensize; /* 60 8 */ | |
string focused_fieldname; /* 72 32 */ | |
TableOptions table_options; /* 104 24 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
TableColumns table_columns; /* 128 24 */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, GUITable::DynamicData, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, GUITable::DynamicData> > > table_dyndata; /* 152 56 */ | |
void ~parserData(parserData *, int); | |
void parserData(parserData *); | |
/* size: 208, cachelines: 4, members: 12 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 208 != 201 + 0(holes), diff = 7 */ | |
}; | |
struct { | |
bool key_up; /* 0 1 */ | |
bool key_down; /* 1 1 */ | |
bool key_enter; /* 2 1 */ | |
bool key_escape; /* 3 1 */ | |
/* size: 4, cachelines: 1, members: 4 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
struct clickpos { | |
v2s32 pos; /* 0 8 */ | |
s32 time; /* 8 4 */ | |
void clickpos(class clickpos *); | |
/* size: 12, cachelines: 1, members: 2 */ | |
/* last cacheline: 12 bytes */ | |
}; | |
public: | |
/* class GUIModalMenu <ancestor>; */ /* 0 344 */ | |
/* XXX last struct has 39 bytes of padding */ | |
/* --- cacheline 4 boundary (256 bytes) was 49 bytes ago --- */ | |
bool doPause; /* 305 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
protected: | |
v2s32 padding; /* 308 8 */ | |
v2s32 spacing; /* 316 8 */ | |
/* --- cacheline 5 boundary (320 bytes) was 4 bytes ago --- */ | |
v2s32 imgsize; /* 324 8 */ | |
v2s32 offset; /* 332 8 */ | |
v2s32 pos_offset; /* 340 8 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class stack<irr::core::vector2d<int>, std::deque<irr::core::vector2d<int>, std::allocator<irr::core::vector2d<int> > > > container_stack; /* 352 80 */ | |
/* --- cacheline 6 boundary (384 bytes) was 48 bytes ago --- */ | |
class IrrlichtDevice * m_device; /* 432 8 */ | |
class InventoryManager * m_invmgr; /* 440 8 */ | |
/* --- cacheline 7 boundary (448 bytes) --- */ | |
class ISimpleTextureSource * m_tsrc; /* 448 8 */ | |
class Client * m_client; /* 456 8 */ | |
string m_formspec_string; /* 464 32 */ | |
struct InventoryLocation m_current_inventory_location; /* 496 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
/* --- cacheline 8 boundary (512 bytes) was 32 bytes ago --- */ | |
class vector<GUIFormSpecMenu::ListDrawSpec, std::allocator<GUIFormSpecMenu::ListDrawSpec> > m_inventorylists; /* 544 24 */ | |
class vector<GUIFormSpecMenu::ListRingSpec, std::allocator<GUIFormSpecMenu::ListRingSpec> > m_inventory_rings; /* 568 24 */ | |
/* --- cacheline 9 boundary (576 bytes) was 16 bytes ago --- */ | |
class vector<GUIFormSpecMenu::ImageDrawSpec, std::allocator<GUIFormSpecMenu::ImageDrawSpec> > m_backgrounds; /* 592 24 */ | |
class vector<GUIFormSpecMenu::ImageDrawSpec, std::allocator<GUIFormSpecMenu::ImageDrawSpec> > m_images; /* 616 24 */ | |
/* --- cacheline 10 boundary (640 bytes) --- */ | |
class vector<GUIFormSpecMenu::ImageDrawSpec, std::allocator<GUIFormSpecMenu::ImageDrawSpec> > m_itemimages; /* 640 24 */ | |
class vector<GUIFormSpecMenu::BoxDrawSpec, std::allocator<GUIFormSpecMenu::BoxDrawSpec> > m_boxes; /* 664 24 */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> > > field_close_on_enter; /* 688 56 */ | |
/* --- cacheline 11 boundary (704 bytes) was 40 bytes ago --- */ | |
class vector<GUIFormSpecMenu::FieldSpec, std::allocator<GUIFormSpecMenu::FieldSpec> > m_fields; /* 744 24 */ | |
/* --- cacheline 12 boundary (768 bytes) --- */ | |
class vector<GUIFormSpecMenu::StaticTextSpec, std::allocator<GUIFormSpecMenu::StaticTextSpec> > m_static_texts; /* 768 24 */ | |
class vector<std::pair<GUIFormSpecMenu::FieldSpec, GUITable*>, std::allocator<std::pair<GUIFormSpecMenu::FieldSpec, GUITable*> > > m_tables; /* 792 24 */ | |
class vector<std::pair<GUIFormSpecMenu::FieldSpec, irr::gui::IGUICheckBox*>, std::allocator<std::pair<GUIFormSpecMenu::FieldSpec, irr::gui::IGUICheckBox*> > > m_checkboxes; /* 816 24 */ | |
/* --- cacheline 13 boundary (832 bytes) was 8 bytes ago --- */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, GUIFormSpecMenu::TooltipSpec, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, GUIFormSpecMenu::TooltipSpec> > > m_tooltips; /* 840 48 */ | |
class vector<std::pair<GUIFormSpecMenu::FieldSpec, irr::gui::IGUIScrollBar*>, std::allocator<std::pair<GUIFormSpecMenu::FieldSpec, irr::gui::IGUIScrollBar*> > > m_scrollbars; /* 888 24 */ | |
/* --- cacheline 14 boundary (896 bytes) was 16 bytes ago --- */ | |
class vector<std::pair<GUIFormSpecMenu::FieldSpec, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::allocator<std::pair<GUIFormSpecMenu::FieldSpec, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > > m_dropdowns; /* 912 24 */ | |
class ItemSpec * m_selected_item; /* 936 8 */ | |
u32 m_selected_amount; /* 944 4 */ | |
bool m_selected_dragging; /* 948 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
struct ItemStack m_selected_content_guess; /* 952 104 */ | |
/* --- cacheline 16 boundary (1024 bytes) was 32 bytes ago --- */ | |
struct InventoryLocation m_selected_content_guess_inventory; /* 1056 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
/* --- cacheline 17 boundary (1088 bytes) was 16 bytes ago --- */ | |
v2s32 m_pointer; /* 1104 8 */ | |
v2s32 m_old_pointer; /* 1112 8 */ | |
class IGUIStaticText * m_tooltip_element; /* 1120 8 */ | |
u32 m_tooltip_show_delay; /* 1128 4 */ | |
s32 m_hovered_time; /* 1132 4 */ | |
s32 m_old_tooltip_id; /* 1136 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
wstring m_old_tooltip; /* 1144 32 */ | |
/* --- cacheline 18 boundary (1152 bytes) was 24 bytes ago --- */ | |
bool m_rmouse_auto_place; /* 1176 1 */ | |
bool m_allowclose; /* 1177 1 */ | |
bool m_lock; /* 1178 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
v2u32 m_lockscreensize; /* 1180 8 */ | |
bool m_bgfullscreen; /* 1188 1 */ | |
bool m_slotborder; /* 1189 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class SColor m_bgcolor; /* 1192 4 */ | |
class SColor m_slotbg_n; /* 1196 4 */ | |
class SColor m_slotbg_h; /* 1200 4 */ | |
class SColor m_slotbordercolor; /* 1204 4 */ | |
class SColor m_default_tooltip_bgcolor; /* 1208 4 */ | |
class SColor m_default_tooltip_color; /* 1212 4 */ | |
/* --- cacheline 19 boundary (1216 bytes) --- */ | |
class IFormSource * m_form_src; /* 1216 8 */ | |
class TextDest * m_text_dst; /* 1224 8 */ | |
unsigned int m_formspec_version; /* 1232 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string m_focused_element; /* 1240 32 */ | |
class JoystickController * m_joystick; /* 1272 8 */ | |
typedef class fs_key_pendig; | |
/* --- cacheline 20 boundary (1280 bytes) --- */ | |
fs_key_pendig current_keys_pending; /* 1280 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string current_field_enter_pending; /* 1288 32 */ | |
struct clickpos m_doubleclickdetect[2]; /* 1320 24 */ | |
/* --- cacheline 21 boundary (1344 bytes) --- */ | |
int m_btn_height; /* 1344 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class IGUIFont * m_font; /* 1352 8 */ | |
bool m_remap_dbl_click; /* 1360 1 */ | |
typedef class parserData; | |
public: | |
void GUIFormSpecMenu(class GUIFormSpecMenu *, int, const void * *, const class GUIFormSpecMenu &); | |
void GUIFormSpecMenu(class GUIFormSpecMenu *, int, const void * *, class IrrlichtDevice *, class JoystickController *, class IGUIElement *, s32, class IMenuManager *, class Client *, class ISimpleTextureSource *, class IFormSource *, class TextDest *, bool); | |
virtual void ~GUIFormSpecMenu(class GUIFormSpecMenu *, int, const void * *); | |
void setFormSpec(class GUIFormSpecMenu *, const string &, class InventoryLocation); | |
void setFormSource(class GUIFormSpecMenu *, class IFormSource *); | |
void setTextDest(class GUIFormSpecMenu *, class TextDest *); | |
void allowClose(class GUIFormSpecMenu *, bool); | |
void lockSize(class GUIFormSpecMenu *, bool, v2u32); | |
void removeChildren(class GUIFormSpecMenu *); | |
void setInitialFocus(class GUIFormSpecMenu *); | |
void setFocus(class GUIFormSpecMenu *, const string &); | |
virtual void regenerateGui(class GUIFormSpecMenu *, v2u32); | |
class ItemSpec getItemAtPos(const class GUIFormSpecMenu *, v2s32); | |
void drawList(class GUIFormSpecMenu *, const class ListDrawSpec &, int, bool &); | |
void drawSelectedItem(class GUIFormSpecMenu *); | |
virtual void drawMenu(class GUIFormSpecMenu *); | |
void updateSelectedItem(class GUIFormSpecMenu *); | |
class ItemStack verifySelectedItem(class GUIFormSpecMenu *); | |
void acceptInput(class GUIFormSpecMenu *, FormspecQuitMode); | |
virtual bool preprocessEvent(class GUIFormSpecMenu *, const class SEvent &); | |
virtual bool OnEvent(class GUIFormSpecMenu *, const class SEvent &); | |
virtual bool pausesGame(class GUIFormSpecMenu *); | |
class GUITable * getTable(class GUIFormSpecMenu *, const string &); | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi getDropDownValues(class GUIFormSpecMenu *, const string &); | |
protected: | |
v2s32 getBasePos(const class GUIFormSpecMenu *); | |
void parseElement(class GUIFormSpecMenu *, parserData *, string); | |
void parseSize(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseContainer(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseContainerEnd(class GUIFormSpecMenu *, parserData *); | |
void parseList(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseListRing(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseCheckbox(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseImage(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseItemImage(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseButton(class GUIFormSpecMenu *, parserData *, const string &, const string &); | |
void parseBackground(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseTableOptions(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseTableColumns(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseTable(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseTextList(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseDropDown(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseFieldCloseOnEnter(class GUIFormSpecMenu *, parserData *, const string &); | |
void parsePwdField(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseField(class GUIFormSpecMenu *, parserData *, const string &, const string &); | |
void parseSimpleField(class GUIFormSpecMenu *, parserData *, class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi); | |
void parseTextArea(class GUIFormSpecMenu *, parserData *, class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi, const string &); | |
void parseLabel(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseVertLabel(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseImageButton(class GUIFormSpecMenu *, parserData *, const string &, const string &); | |
void parseItemImageButton(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseTabHeader(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseBox(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseBackgroundColor(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseListColors(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseTooltip(class GUIFormSpecMenu *, parserData *, const string &); | |
bool parseVersionDirect(class GUIFormSpecMenu *, const string &); | |
bool parseSizeDirect(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseScrollBar(class GUIFormSpecMenu *, parserData *, const string &); | |
bool parsePositionDirect(class GUIFormSpecMenu *, parserData *, const string &); | |
void parsePosition(class GUIFormSpecMenu *, parserData *, const string &); | |
bool parseAnchorDirect(class GUIFormSpecMenu *, parserData *, const string &); | |
void parseAnchor(class GUIFormSpecMenu *, parserData *, const string &); | |
void tryClose(class GUIFormSpecMenu *); | |
bool DoubleClickDetection(class GUIFormSpecMenu *, class SEvent); | |
wstring getLabelByID(class GUIFormSpecMenu *, s32); | |
string getNameByID(class GUIFormSpecMenu *, s32); | |
/* vtable has 5 entries: { | |
[34] = regenerateGui((null)), | |
[35] = drawMenu((null)), | |
[36] = preprocessEvent((null)), | |
[2] = OnEvent((null)), | |
[37] = pausesGame((null)), | |
} */ | |
/* size: 1400, cachelines: 22, members: 63 */ | |
/* sum members: 1028, holes: 9, sum holes: 28 */ | |
/* padding: 39 */ | |
/* paddings: 3, sum paddings: 43 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 1400 != 1028 + 28(holes), diff = 344 */ | |
}; | |
struct key_setting { | |
int id; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
const wchar_t * button_name; /* 8 8 */ | |
class KeyPress key; /* 16 40 */ | |
string setting_name; /* 56 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ | |
class IGUIButton * button; /* 88 8 */ | |
void key_setting(class key_setting *); | |
void ~key_setting(class key_setting *, int); | |
/* size: 96, cachelines: 2, members: 5 */ | |
/* sum members: 92, holes: 1, sum holes: 4 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class GUIKeyChangeMenu : public GUIModalMenu { | |
public: | |
/* class GUIModalMenu <ancestor>; */ /* 0 344 */ | |
/* XXX last struct has 39 bytes of padding */ | |
/* --- cacheline 4 boundary (256 bytes) was 49 bytes ago --- */ | |
bool shift_down; /* 305 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
s32 activeKey; /* 308 4 */ | |
class vector<KeyPress, std::allocator<KeyPress> > key_used; /* 312 24 */ | |
/* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */ | |
class IGUIStaticText * key_used_text; /* 336 8 */ | |
class vector<key_setting*, std::allocator<key_setting*> > key_settings; /* 344 24 */ | |
void GUIKeyChangeMenu(class GUIKeyChangeMenu *, int, const void * *, const class GUIKeyChangeMenu &); | |
void GUIKeyChangeMenu(class GUIKeyChangeMenu *, int, const void * *, class IGUIEnvironment *, class IGUIElement *, s32, class IMenuManager *); | |
virtual void ~GUIKeyChangeMenu(class GUIKeyChangeMenu *, int, const void * *); | |
void removeChildren(class GUIKeyChangeMenu *); | |
virtual void regenerateGui(class GUIKeyChangeMenu *, v2u32); | |
virtual void drawMenu(class GUIKeyChangeMenu *); | |
bool acceptInput(class GUIKeyChangeMenu *); | |
virtual bool OnEvent(class GUIKeyChangeMenu *, const class SEvent &); | |
void init_keys(class GUIKeyChangeMenu *); | |
bool resetMenu(class GUIKeyChangeMenu *); | |
void add_key(class GUIKeyChangeMenu *, int, const wchar_t *, const string &); | |
/* vtable has 3 entries: { | |
[34] = regenerateGui((null)), | |
[35] = drawMenu((null)), | |
[2] = OnEvent((null)), | |
} */ | |
/* size: 400, cachelines: 7, members: 6 */ | |
/* sum members: 61, holes: 1, sum holes: 2 */ | |
/* padding: 32 */ | |
/* paddings: 1, sum paddings: 39 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 400 != 61 + 2(holes), diff = 337 */ | |
}; | |
class GUIPasswordChange : public GUIModalMenu { | |
public: | |
/* class GUIModalMenu <ancestor>; */ /* 0 344 */ | |
/* XXX last struct has 39 bytes of padding */ | |
/* --- cacheline 4 boundary (256 bytes) was 56 bytes ago --- */ | |
class Client * m_client; /* 312 8 */ | |
void GUIPasswordChange(class GUIPasswordChange *, int, const void * *, const class GUIPasswordChange &); | |
void GUIPasswordChange(class GUIPasswordChange *, int, const void * *, class IGUIEnvironment *, class IGUIElement *, s32, class IMenuManager *, class Client *); | |
virtual void ~GUIPasswordChange(class GUIPasswordChange *, int, const void * *); | |
void removeChildren(class GUIPasswordChange *); | |
virtual void regenerateGui(class GUIPasswordChange *, v2u32); | |
virtual void drawMenu(class GUIPasswordChange *); | |
bool acceptInput(class GUIPasswordChange *); | |
virtual bool OnEvent(class GUIPasswordChange *, const class SEvent &); | |
/* vtable has 3 entries: { | |
[34] = regenerateGui((null)), | |
[35] = drawMenu((null)), | |
[2] = OnEvent((null)), | |
} */ | |
/* size: 352, cachelines: 6, members: 2 */ | |
/* padding: 32 */ | |
/* paddings: 1, sum paddings: 39 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 352 != 8 + 0(holes), diff = 344 */ | |
}; | |
class GUITable : public IGUIElement { | |
struct DynamicData { | |
s32 selected; /* 0 4 */ | |
s32 scrollpos; /* 4 4 */ | |
s32 keynav_time; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
stringw keynav_buffer; /* 16 24 */ | |
class set<int, std::less<int>, std::allocator<int> > opened_trees; /* 40 48 */ | |
void DynamicData(class DynamicData *); | |
void ~DynamicData(class DynamicData *, int); | |
/* size: 88, cachelines: 2, members: 5 */ | |
/* sum members: 84, holes: 1, sum holes: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct Option { | |
string name; /* 0 32 */ | |
string value; /* 32 32 */ | |
void Option(class Option *, const string &, const string &); | |
void Option(class Option *, const class Option &); | |
void ~Option(class Option *, int); | |
/* size: 64, cachelines: 1, members: 2 */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct TableColumn { | |
string type; /* 0 32 */ | |
class vector<GUITable::Option, std::allocator<GUITable::Option> > options; /* 32 24 */ | |
void TableColumn(class TableColumn *, ); | |
void TableColumn(class TableColumn *, const class TableColumn &); | |
void ~TableColumn(class TableColumn *, int); | |
void TableColumn(class TableColumn *); | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
enum ColumnType { | |
COLUMN_TYPE_TEXT = 0, | |
COLUMN_TYPE_IMAGE = 1, | |
COLUMN_TYPE_COLOR = 2, | |
COLUMN_TYPE_INDENT = 3, | |
COLUMN_TYPE_TREE = 4, | |
}; | |
struct Cell { | |
s32 xmin; /* 0 4 */ | |
s32 xmax; /* 4 4 */ | |
s32 xpos; /* 8 4 */ | |
enum ColumnType content_type; /* 12 4 */ | |
s32 content_index; /* 16 4 */ | |
s32 tooltip_index; /* 20 4 */ | |
class SColor color; /* 24 4 */ | |
bool color_defined; /* 28 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
s32 reported_column; /* 32 4 */ | |
void Cell(class Cell *); | |
/* size: 36, cachelines: 1, members: 9 */ | |
/* sum members: 33, holes: 1, sum holes: 3 */ | |
/* last cacheline: 36 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
struct Row { | |
class Cell * cells; /* 0 8 */ | |
s32 cellcount; /* 8 4 */ | |
s32 indent; /* 12 4 */ | |
s32 visible_index; /* 16 4 */ | |
/* size: 24, cachelines: 1, members: 4 */ | |
/* padding: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
public: | |
/* class IGUIElement <ancestor>; */ /* 0 320 */ | |
/* XXX last struct has 36 bytes of padding */ | |
protected: | |
/* --- cacheline 4 boundary (256 bytes) was 32 bytes ago --- */ | |
class ISimpleTextureSource * m_tsrc; /* 288 8 */ | |
class vector<GUITable::Row, std::allocator<GUITable::Row> > m_rows; /* 296 24 */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
class vector<int, std::allocator<int> > m_visible_rows; /* 320 24 */ | |
bool m_is_textlist; /* 344 1 */ | |
bool m_has_tree_column; /* 345 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
s32 m_selected; /* 348 4 */ | |
s32 m_sel_column; /* 352 4 */ | |
bool m_sel_doubleclick; /* 356 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
s32 m_keynav_time; /* 360 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
stringw m_keynav_buffer; /* 368 24 */ | |
/* --- cacheline 6 boundary (384 bytes) was 8 bytes ago --- */ | |
bool m_border; /* 392 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class SColor m_color; /* 396 4 */ | |
class SColor m_background; /* 400 4 */ | |
class SColor m_highlight; /* 404 4 */ | |
class SColor m_highlight_text; /* 408 4 */ | |
s32 m_rowheight; /* 412 4 */ | |
class IGUIFont * m_font; /* 416 8 */ | |
class IGUIScrollBar * m_scrollbar; /* 424 8 */ | |
class vector<irr::core::string<wchar_t, irr::core::irrAllocator<wchar_t> >, std::allocator<irr::core::string<wchar_t, irr::core::irrAllocator<wchar_t> > > > m_strings; /* 432 24 */ | |
/* --- cacheline 7 boundary (448 bytes) was 8 bytes ago --- */ | |
class vector<irr::video::ITexture*, std::allocator<irr::video::ITexture*> > m_images; /* 456 24 */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > > m_alloc_strings; /* 480 48 */ | |
/* --- cacheline 8 boundary (512 bytes) was 16 bytes ago --- */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > > m_alloc_images; /* 528 48 */ | |
typedef struct vector<GUITable::Option, std::allocator<GUITable::Option> > TableOptions; | |
/* tag__fprintf: const_type tag not supported! */; | |
typedef struct vector<GUITable::TableColumn, std::allocator<GUITable::TableColumn> > TableColumns; | |
/* tag__fprintf: const_type tag not supported! */; | |
public: | |
void GUITable(class GUITable *, int, const void * *, const class GUITable &); | |
void GUITable(class GUITable *, int, const void * *, class IGUIEnvironment *, class IGUIElement *, s32, class rect<int>, class ISimpleTextureSource *); | |
virtual void ~GUITable(class GUITable *, int, const void * *); | |
class Option splitOption(const string &); | |
void setTextList(class GUITable *, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11, bool); | |
void setTable(class GUITable *, const TableOptions &, const TableColumns &, class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi); | |
void clear(class GUITable *); | |
string checkEvent(class GUITable *); | |
s32 getSelected(const class GUITable *); | |
void setSelected(class GUITable *, s32); | |
class DynamicData getDynamicData(const class GUITable *); | |
void setDynamicData(class GUITable *, const class DynamicData &); | |
virtual const c8 * getTypeName(const class GUITable *); | |
virtual void updateAbsolutePosition(class GUITable *); | |
virtual void draw(class GUITable *); | |
virtual bool OnEvent(class GUITable *, const class SEvent &); | |
protected: | |
s32 allocString(class GUITable *, const string &); | |
s32 allocImage(class GUITable *, const string &); | |
void allocationComplete(class GUITable *); | |
void drawCell(class GUITable *, const class Cell *, class SColor, const class rect<int> &, const class rect<int> &); | |
const class Row * getRow(const class GUITable *, s32); | |
bool doesRowStartWith(const class GUITable *, const class Row *, const stringw &); | |
s32 getRowAt(const class GUITable *, s32, bool &); | |
s32 getCellAt(const class GUITable *, s32, s32); | |
void autoScroll(class GUITable *); | |
void updateScrollBar(class GUITable *); | |
void sendTableEvent(class GUITable *, s32, bool); | |
void getOpenedTrees(const class GUITable *, class set<int, std::less<int>, std::allocator<int> > &); | |
void setOpenedTrees(class GUITable *, const class set<int, std::less<int>, std::allocator<int> > &); | |
void openTree(class GUITable *, s32); | |
void closeTree(class GUITable *, s32); | |
void toggleVisibleTree(class GUITable *, s32, int, bool); | |
void alignContent(class Cell *, s32, s32, s32); | |
/* vtable has 4 entries: { | |
[28] = getTypeName((null)), | |
[3] = updateAbsolutePosition((null)), | |
[8] = draw((null)), | |
[2] = OnEvent((null)), | |
} */ | |
/* size: 608, cachelines: 10, members: 23 */ | |
/* sum members: 276, holes: 4, sum holes: 12 */ | |
/* padding: 32 */ | |
/* paddings: 1, sum paddings: 36 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 608 != 276 + 12(holes), diff = 320 */ | |
}; | |
class GUIVolumeChange : public GUIModalMenu { | |
public: | |
/* class GUIModalMenu <ancestor>; */ /* 0 344 */ | |
/* XXX last struct has 39 bytes of padding */ | |
void GUIVolumeChange(class GUIVolumeChange *, int, const void * *, const class GUIVolumeChange &); | |
void GUIVolumeChange(class GUIVolumeChange *, int, const void * *, class IGUIEnvironment *, class IGUIElement *, s32, class IMenuManager *); | |
virtual void ~GUIVolumeChange(class GUIVolumeChange *, int, const void * *); | |
void removeChildren(class GUIVolumeChange *); | |
virtual void regenerateGui(class GUIVolumeChange *, v2u32); | |
virtual void drawMenu(class GUIVolumeChange *); | |
virtual bool OnEvent(class GUIVolumeChange *, const class SEvent &); | |
virtual bool pausesGame(class GUIVolumeChange *); | |
/* vtable has 4 entries: { | |
[34] = regenerateGui((null)), | |
[35] = drawMenu((null)), | |
[2] = OnEvent((null)), | |
[37] = pausesGame((null)), | |
} */ | |
/* size: 344, cachelines: 6, members: 1 */ | |
/* paddings: 1, sum paddings: 39 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 344 != 0 + 0(holes), diff = 344 */ | |
}; | |
struct curl_httppost { | |
class curl_httppost * next; /* 0 8 */ | |
char * name; /* 8 8 */ | |
long int namelength; /* 16 8 */ | |
char * contents; /* 24 8 */ | |
long int contentslength; /* 32 8 */ | |
char * buffer; /* 40 8 */ | |
long int bufferlength; /* 48 8 */ | |
char * contenttype; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class curl_slist * contentheader; /* 64 8 */ | |
class curl_httppost * more; /* 72 8 */ | |
long int flags; /* 80 8 */ | |
char * showfilename; /* 88 8 */ | |
void * userp; /* 96 8 */ | |
curl_off_t contentlen; /* 104 8 */ | |
/* size: 112, cachelines: 2, members: 14 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct curl_slist { | |
char * data; /* 0 8 */ | |
class curl_slist * next; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct CURLMsg { | |
union { | |
void * whatever; /* 8 */ | |
CURLcode result; /* 4 */ | |
}; | |
CURLMSG msg; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
CURL * easy_handle; /* 8 8 */ | |
union { | |
void * whatever; /* 8 */ | |
CURLcode result; /* 4 */ | |
} data; /* 16 8 */ | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* sum members: 20, holes: 1, sum holes: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class CurlHandlePool { | |
class list<void*, std::allocator<void*> > handles; /* 0 24 */ | |
public: | |
void CurlHandlePool(class CurlHandlePool *); | |
void ~CurlHandlePool(class CurlHandlePool *, int); | |
CURL * alloc(class CurlHandlePool *); | |
void free(class CurlHandlePool *, CURL *); | |
/* size: 24, cachelines: 1, members: 1 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class HTTPFetchOngoing { | |
class CurlHandlePool * pool; /* 0 8 */ | |
CURL * curl; /* 8 8 */ | |
CURLM * multi; /* 16 8 */ | |
struct HTTPFetchRequest request; /* 24 216 */ | |
/* --- cacheline 3 boundary (192 bytes) was 48 bytes ago --- */ | |
struct HTTPFetchResult result; /* 240 64 */ | |
/* --- cacheline 4 boundary (256 bytes) was 48 bytes ago --- */ | |
ostringstream oss; /* 304 0 */ | |
/* XXX 376 bytes hole, try to pack */ | |
/* --- cacheline 10 boundary (640 bytes) was 40 bytes ago --- */ | |
class curl_slist * http_header; /* 680 8 */ | |
class curl_httppost * post; /* 688 8 */ | |
public: | |
void HTTPFetchOngoing(class HTTPFetchOngoing *, const class HTTPFetchRequest &, class CurlHandlePool *); | |
void ~HTTPFetchOngoing(class HTTPFetchOngoing *, int); | |
CURLcode start(class HTTPFetchOngoing *, CURLM *); | |
const class HTTPFetchResult * complete(class HTTPFetchOngoing *, CURLcode); | |
const class HTTPFetchRequest & getRequest(const class HTTPFetchOngoing *); | |
const CURL * getEasyHandle(const class HTTPFetchOngoing *); | |
/* size: 696, cachelines: 11, members: 8 */ | |
/* sum members: 320, holes: 1, sum holes: 376 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class CurlFetchThread : public Thread { | |
enum RequestType { | |
RT_FETCH = 0, | |
RT_CLEAR = 1, | |
RT_WAKEUP = 2, | |
}; | |
struct Request { | |
enum RequestType type; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
struct HTTPFetchRequest fetch_request; /* 8 216 */ | |
/* --- cacheline 3 boundary (192 bytes) was 32 bytes ago --- */ | |
class Event * event; /* 224 8 */ | |
void Request(class Request *, ); | |
void Request(class Request *, const class Request &); | |
void ~Request(class Request *, int); | |
void Request(class Request *); | |
/* size: 232, cachelines: 4, members: 3 */ | |
/* sum members: 228, holes: 1, sum holes: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
/* tag__fprintf: const_type tag not supported! */; | |
public: | |
/* class Thread <ancestor>; */ /* 0 0 */ | |
/* XXX 144 bytes hole, try to pack */ | |
protected: | |
CURLM * m_multi; /* 144 8 */ | |
class MutexedQueue<CurlFetchThread::Request> m_requests; /* 152 152 */ | |
/* --- cacheline 4 boundary (256 bytes) was 48 bytes ago --- */ | |
size_t m_parallel_limit; /* 304 8 */ | |
class vector<HTTPFetchOngoing*, std::allocator<HTTPFetchOngoing*> > m_all_ongoing; /* 312 24 */ | |
/* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */ | |
class list<HTTPFetchRequest, std::allocator<HTTPFetchRequest> > m_queued_fetches; /* 336 24 */ | |
public: | |
void CurlFetchThread(class CurlFetchThread *, ); | |
void CurlFetchThread(class CurlFetchThread *, const class CurlFetchThread &); | |
void CurlFetchThread(class CurlFetchThread *, int); | |
void requestFetch(class CurlFetchThread *, const class HTTPFetchRequest &); | |
void requestClear(class CurlFetchThread *, long unsigned int, class Event *); | |
void requestWakeUp(class CurlFetchThread *); | |
protected: | |
void processRequest(class CurlFetchThread *, const class Request &); | |
void processQueued(class CurlFetchThread *, class CurlHandlePool *); | |
void processCurlMessage(class CurlFetchThread *, CURLMsg *); | |
void waitForRequest(class CurlFetchThread *, long int); | |
void waitForIO(class CurlFetchThread *, long int); | |
virtual void * run(class CurlFetchThread *); | |
public: | |
virtual void ~CurlFetchThread(class CurlFetchThread *, int); | |
/* vtable has 1 entries: { | |
[2] = run((null)), | |
} */ | |
/* size: 360, cachelines: 6, members: 6 */ | |
/* sum members: 216, holes: 1, sum holes: 144 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class MutexedQueue<CurlFetchThread::Request> { | |
protected: | |
class deque<CurlFetchThread::Request, std::allocator<CurlFetchThread::Request> > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<CurlFetchThread::Request> *); | |
bool empty(const class MutexedQueue<CurlFetchThread::Request> *); | |
void push_back(class MutexedQueue<CurlFetchThread::Request> *, class Request); | |
class Request pop_frontNoEx(class MutexedQueue<CurlFetchThread::Request> *, u32); | |
class Request pop_front(class MutexedQueue<CurlFetchThread::Request> *, u32); | |
class Request pop_frontNoEx(class MutexedQueue<CurlFetchThread::Request> *); | |
class Request pop_back(class MutexedQueue<CurlFetchThread::Request> *, u32); | |
class Request pop_backNoEx(class MutexedQueue<CurlFetchThread::Request> *, u32); | |
class Request pop_backNoEx(class MutexedQueue<CurlFetchThread::Request> *); | |
protected: | |
Mutex & getMutex(class MutexedQueue<CurlFetchThread::Request> *); | |
class deque<CurlFetchThread::Request, std::allocator<CurlFetchThread::Request> > & getQueue(class MutexedQueue<CurlFetchThread::Request> *); | |
public: | |
void ~MutexedQueue(class MutexedQueue<CurlFetchThread::Request> *, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct MeshTimeInfo { | |
s32 time; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class IMesh * mesh; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* sum members: 12, holes: 1, sum holes: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct ICraftAction : InventoryAction { | |
/* struct InventoryAction <ancestor>; */ /* 0 8 */ | |
u16 count; /* 8 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
struct InventoryLocation craft_inv; /* 16 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
void ICraftAction(class ICraftAction *, ); | |
void ICraftAction(class ICraftAction *, const class ICraftAction &); | |
void ICraftAction(class ICraftAction *); | |
void ICraftAction(class ICraftAction *, istream &); | |
virtual u16 getType(const class ICraftAction *); | |
virtual void serialize(const class ICraftAction *, ostream &); | |
virtual void apply(class ICraftAction *, class InventoryManager *, class ServerActiveObject *, class IGameDef *); | |
virtual void clientApply(class ICraftAction *, class InventoryManager *, class IGameDef *); | |
virtual void ~ICraftAction(class ICraftAction *, int); | |
/* vtable has 4 entries: { | |
[0] = getType((null)), | |
[1] = serialize((null)), | |
[2] = apply((null)), | |
[3] = clientApply((null)), | |
} */ | |
/* size: 64, cachelines: 1, members: 3 */ | |
/* sum members: 50, holes: 1, sum holes: 6 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* BRAIN FART ALERT! 64 != 50 + 6(holes), diff = 8 */ | |
}; | |
struct IDropAction : InventoryAction { | |
/* struct InventoryAction <ancestor>; */ /* 0 8 */ | |
u16 count; /* 8 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
struct InventoryLocation from_inv; /* 16 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
string from_list; /* 64 32 */ | |
s16 from_i; /* 96 2 */ | |
void IDropAction(class IDropAction *, ); | |
void IDropAction(class IDropAction *, const class IDropAction &); | |
void IDropAction(class IDropAction *); | |
void IDropAction(class IDropAction *, istream &); | |
virtual u16 getType(const class IDropAction *); | |
virtual void serialize(const class IDropAction *, ostream &); | |
virtual void apply(class IDropAction *, class InventoryManager *, class ServerActiveObject *, class IGameDef *); | |
virtual void clientApply(class IDropAction *, class InventoryManager *, class IGameDef *); | |
virtual void ~IDropAction(class IDropAction *, int); | |
/* vtable has 4 entries: { | |
[0] = getType((null)), | |
[1] = serialize((null)), | |
[2] = apply((null)), | |
[3] = clientApply((null)), | |
} */ | |
/* size: 104, cachelines: 2, members: 5 */ | |
/* sum members: 84, holes: 1, sum holes: 6 */ | |
/* padding: 6 */ | |
/* paddings: 1, sum paddings: 2 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 104 != 84 + 6(holes), diff = 14 */ | |
}; | |
struct IMoveAction : InventoryAction { | |
/* struct InventoryAction <ancestor>; */ /* 0 8 */ | |
u16 count; /* 8 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
struct InventoryLocation from_inv; /* 16 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
string from_list; /* 64 32 */ | |
s16 from_i; /* 96 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
struct InventoryLocation to_inv; /* 104 48 */ | |
/* XXX last struct has 2 bytes of padding */ | |
/* --- cacheline 2 boundary (128 bytes) was 24 bytes ago --- */ | |
string to_list; /* 152 32 */ | |
s16 to_i; /* 184 2 */ | |
bool move_somewhere; /* 186 1 */ | |
bool caused_by_move_somewhere; /* 187 1 */ | |
u32 move_count; /* 188 4 */ | |
void IMoveAction(class IMoveAction *, ); | |
void IMoveAction(class IMoveAction *, const class IMoveAction &); | |
void IMoveAction(class IMoveAction *); | |
void IMoveAction(class IMoveAction *, istream &, bool); | |
virtual u16 getType(const class IMoveAction *); | |
virtual void serialize(const class IMoveAction *, ostream &); | |
virtual void apply(class IMoveAction *, class InventoryManager *, class ServerActiveObject *, class IGameDef *); | |
virtual void clientApply(class IMoveAction *, class InventoryManager *, class IGameDef *); | |
virtual void ~IMoveAction(class IMoveAction *, int); | |
/* vtable has 4 entries: { | |
[0] = getType((null)), | |
[1] = serialize((null)), | |
[2] = apply((null)), | |
[3] = clientApply((null)), | |
} */ | |
/* size: 192, cachelines: 3, members: 11 */ | |
/* sum members: 172, holes: 2, sum holes: 12 */ | |
/* paddings: 2, sum paddings: 4 */ | |
/* BRAIN FART ALERT! 192 != 172 + 12(holes), diff = 8 */ | |
}; | |
class CItemDefManager : public IWritableItemDefManager { | |
struct ClientCached { | |
class ITexture * inventory_texture; /* 0 8 */ | |
struct ItemMesh wield_mesh; /* 8 32 */ | |
Palette * palette; /* 40 8 */ | |
void ClientCached(class ClientCached *); | |
void ~ClientCached(class ClientCached *, int); | |
/* size: 48, cachelines: 1, members: 3 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
public: | |
/* class IWritableItemDefManager <ancestor>; */ /* 0 8 */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ItemDefinition*, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ItemDefinition*> > > m_item_definitions; /* 8 48 */ | |
StringMap m_aliases; /* 56 56 */ | |
/* --- cacheline 1 boundary (64 bytes) was 48 bytes ago --- */ | |
threadid_t m_main_thread; /* 112 8 */ | |
struct ClientCached m_dummy_clientcached; /* 120 48 */ | |
/* --- cacheline 2 boundary (128 bytes) was 40 bytes ago --- */ | |
class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*> m_clientcached; /* 168 88 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> m_get_clientcached_queue; /* 256 152 */ | |
void CItemDefManager(class CItemDefManager *, const class CItemDefManager &); | |
void CItemDefManager(class CItemDefManager *); | |
virtual void ~CItemDefManager(class CItemDefManager *, int); | |
virtual const class ItemDefinition & get(const class CItemDefManager *, const string &); | |
virtual const string & getAlias(const class CItemDefManager *, const string &); | |
virtual void getAll(const class CItemDefManager *, class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string); | |
virtual bool isKnown(const class CItemDefManager *, const string &); | |
class ClientCached * createClientCachedDirect(const class CItemDefManager *, const string &, class Client *); | |
class ClientCached * getClientCached(const class CItemDefManager *, const string &, class Client *); | |
virtual class ITexture * getInventoryTexture(const class CItemDefManager *, const string &, class Client *); | |
virtual class ItemMesh * getWieldMesh(const class CItemDefManager *, const string &, class Client *); | |
virtual Palette * getPalette(const class CItemDefManager *, const string &, class Client *); | |
virtual class SColor getItemstackColor(const class CItemDefManager *, const class ItemStack &, class Client *); | |
virtual void clear(class CItemDefManager *); | |
virtual void registerItem(class CItemDefManager *, const class ItemDefinition &); | |
virtual void unregisterItem(class CItemDefManager *, const string &); | |
virtual void registerAlias(class CItemDefManager *, const string &, const string &); | |
virtual void serialize(class CItemDefManager *, ostream &, u16); | |
virtual void deSerialize(class CItemDefManager *, istream &); | |
virtual void processQueue(class CItemDefManager *, class IGameDef *); | |
/* vtable has 15 entries: { | |
[2] = get((null)), | |
[3] = getAlias((null)), | |
[4] = getAll((null)), | |
[5] = isKnown((null)), | |
[6] = getInventoryTexture((null)), | |
[7] = getWieldMesh((null)), | |
[8] = getPalette((null)), | |
[9] = getItemstackColor((null)), | |
[11] = clear((null)), | |
[12] = registerItem((null)), | |
[13] = unregisterItem((null)), | |
[14] = registerAlias((null)), | |
[10] = serialize((null)), | |
[15] = deSerialize((null)), | |
[16] = processQueue((null)), | |
} */ | |
/* size: 408, cachelines: 7, members: 7 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 408 != 400 + 0(holes), diff = 8 */ | |
}; | |
class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*> { | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*> > > m_values; /* 0 48 */ | |
Mutex m_mutex; /* 48 40 */ | |
public: | |
void MutexedMap(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached); | |
void set(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached, const class basic_string<char, std::char_traits<char>, std::allocator<char> > &, const class ClientCached * &); | |
bool get(const class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::Client, const class basic_string<char, std::char_traits<char>, std::allocator<char> > &, class ClientCached * *); | |
class vector<CItemDefManager::ClientCached*, std::allocator<CItemDefManager::ClientCached*> > getValues(const class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::Client); | |
void clear(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached); | |
void ~MutexedMap(class MutexedMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached, int); | |
/* size: 88, cachelines: 2, members: 2 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> { | |
public: | |
class basic_string<char, std::char_traits<char>, std::allocator<char> > key; /* 0 32 */ | |
class list<CallerInfo<unsigned char, unsigned char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*>, std::allocator<CallerInfo<unsigned char, unsigned char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*> > > callers; /* 32 24 */ | |
void GetRequest(class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached); | |
void ~GetRequest(class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached, int); | |
void GetRequest(class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached, class basic_string<char, std::char_traits<char>, std::allocator<char> >); | |
void GetRequest(class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached, const class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::Client); | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> > { | |
protected: | |
class deque<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char>, std::allocator<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> > > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:); | |
bool empty(const class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefMa); | |
void push_back(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:, class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached pop_frontNoEx(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:, u32); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached pop_front(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:, u32); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached pop_frontNoEx(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached pop_back(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:, u32); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached pop_backNoEx(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:, u32); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached pop_backNoEx(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:); | |
protected: | |
Mutex & getMutex(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:); | |
class deque<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::Client getQueue(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:); | |
public: | |
void ~MutexedQueue(class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager:, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> { | |
class MutexedQueue<GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> > m_queue; /* 0 152 */ | |
public: | |
bool empty(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCach); | |
void add(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCach, class basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned char, unsigned char, class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCache); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached pop(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCach, unsigned int); | |
class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached pop(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCach); | |
void pushResult(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCach, class GetRequest<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached, class ClientCached *); | |
void ~RequestQueue(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCach, int); | |
void RequestQueue(class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCach); | |
/* size: 152, cachelines: 3, members: 1 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> : public MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> > { | |
public: | |
/* class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> > <ancestor>; */ /* 0 152 */ | |
void ~ResultQueue(class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCache, int); | |
void ResultQueue(class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCache); | |
/* size: 152, cachelines: 3, members: 1 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 152 != 0 + 0(holes), diff = 152 */ | |
}; | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> { | |
public: | |
class basic_string<char, std::char_traits<char>, std::allocator<char> > key; /* 0 32 */ | |
class ClientCached * item; /* 32 8 */ | |
struct pair<unsigned char, unsigned char> caller; /* 40 2 */ | |
void GetResult(class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*); | |
void GetResult(class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, const class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientC); | |
void GetResult(class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, ); | |
void ~GetResult(class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, int); | |
/* size: 48, cachelines: 1, members: 3 */ | |
/* padding: 6 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> > { | |
protected: | |
class deque<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char>, std::allocator<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*, unsigned char, unsigned char> > > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::); | |
bool empty(const class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefMan); | |
void push_back(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::, class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached* pop_frontNoEx(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::, u32); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached* pop_front(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::, u32); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached* pop_frontNoEx(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached* pop_back(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::, u32); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached* pop_backNoEx(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::, u32); | |
class GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached* pop_backNoEx(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::); | |
protected: | |
Mutex & getMutex(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::); | |
class deque<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientC getQueue(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::); | |
public: | |
void ~MutexedQueue(class MutexedQueue<GetResult<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class CallerInfo<unsigned char, unsigned char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCached*> { | |
public: | |
unsigned char caller; /* 0 1 */ | |
unsigned char data; /* 1 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class ResultQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CItemDefManager::ClientCache dest; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 3 */ | |
/* sum members: 10, holes: 1, sum holes: 6 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct table_key { | |
const char * Name; /* 0 8 */ | |
enum EKEY_CODE Key; /* 8 4 */ | |
wchar_t Char; /* 12 4 */ | |
const char * LangName; /* 16 8 */ | |
/* size: 24, cachelines: 1, members: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class UnknownKeycode : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void UnknownKeycode(class UnknownKeycode *, ); | |
void UnknownKeycode(class UnknownKeycode *, const class UnknownKeycode &); | |
void UnknownKeycode(class UnknownKeycode *, const char *); | |
virtual void ~UnknownKeycode(class UnknownKeycode *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
class LocalPlayer : public Player { | |
public: | |
/* class Player <ancestor>; */ /* 0 328 */ | |
/* --- cacheline 5 boundary (320 bytes) was 8 bytes ago --- */ | |
class ClientActiveObject * parent; /* 328 8 */ | |
u16 hp; /* 336 2 */ | |
bool got_teleported; /* 338 1 */ | |
bool isAttached; /* 339 1 */ | |
bool touching_ground; /* 340 1 */ | |
bool in_liquid; /* 341 1 */ | |
bool in_liquid_stable; /* 342 1 */ | |
u8 liquid_viscosity; /* 343 1 */ | |
bool is_climbing; /* 344 1 */ | |
bool swimming_vertical; /* 345 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float physics_override_speed; /* 348 4 */ | |
float physics_override_jump; /* 352 4 */ | |
float physics_override_gravity; /* 356 4 */ | |
bool physics_override_sneak; /* 360 1 */ | |
bool physics_override_sneak_glitch; /* 361 1 */ | |
bool physics_override_new_move; /* 362 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
v3f overridePosition; /* 364 12 */ | |
v3f last_position; /* 376 12 */ | |
/* --- cacheline 6 boundary (384 bytes) was 4 bytes ago --- */ | |
v3f last_speed; /* 388 12 */ | |
float last_pitch; /* 400 4 */ | |
float last_yaw; /* 404 4 */ | |
unsigned int last_keyPressed; /* 408 4 */ | |
u8 last_camera_fov; /* 412 1 */ | |
u8 last_wanted_range; /* 413 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float camera_impact; /* 416 4 */ | |
int last_animation; /* 420 4 */ | |
float last_animation_speed; /* 424 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string hotbar_image; /* 432 32 */ | |
/* --- cacheline 7 boundary (448 bytes) was 16 bytes ago --- */ | |
string hotbar_selected_image; /* 464 32 */ | |
class SColor light_color; /* 496 4 */ | |
float hurt_tilt_timer; /* 500 4 */ | |
float hurt_tilt_strength; /* 504 4 */ | |
v3f m_position; /* 508 12 */ | |
/* --- cacheline 8 boundary (512 bytes) was 8 bytes ago --- */ | |
v3s16 m_sneak_node; /* 520 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
f32 m_sneak_node_bb_ymax; /* 528 4 */ | |
aabb3f m_sneak_node_bb_top; /* 532 24 */ | |
bool m_sneak_node_exists; /* 556 1 */ | |
bool m_need_to_get_new_sneak_node; /* 557 1 */ | |
bool m_sneak_ladder_detected; /* 558 1 */ | |
bool m_ledge_detected; /* 559 1 */ | |
v3s16 m_old_node_below; /* 560 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
string m_old_node_below_type; /* 568 32 */ | |
/* --- cacheline 9 boundary (576 bytes) was 24 bytes ago --- */ | |
bool m_can_jump; /* 600 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 m_breath; /* 602 2 */ | |
f32 m_yaw; /* 604 4 */ | |
f32 m_pitch; /* 608 4 */ | |
bool camera_barely_in_ceiling; /* 612 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
aabb3f m_collisionbox; /* 616 24 */ | |
/* --- cacheline 10 boundary (640 bytes) --- */ | |
class GenericCAO * m_cao; /* 640 8 */ | |
class Client * m_client; /* 648 8 */ | |
void LocalPlayer(class LocalPlayer *, const class LocalPlayer &); | |
void LocalPlayer(class LocalPlayer *, class Client *, const char *); | |
virtual void ~LocalPlayer(class LocalPlayer *, int); | |
virtual void move(class LocalPlayer *, f32, class Environment *, f32); | |
virtual void move(class LocalPlayer *, f32, class Environment *, f32, class vector<CollisionInfo, std::allocator<CollisionInfo> > *); | |
void old_move(class LocalPlayer *, f32, class Environment *, f32, class vector<CollisionInfo, std::allocator<CollisionInfo> > *); | |
void applyControl(class LocalPlayer *, float); | |
v3s16 getStandingNodePos(class LocalPlayer *); | |
v3s16 getFootstepNodePos(class LocalPlayer *); | |
class GenericCAO * getCAO(const class LocalPlayer *); | |
void setCAO(class LocalPlayer *, class GenericCAO *); | |
u32 maxHudId(const class LocalPlayer *); | |
u16 getBreath(const class LocalPlayer *); | |
void setBreath(class LocalPlayer *, u16); | |
v3s16 getLightPosition(const class LocalPlayer *); | |
void setYaw(class LocalPlayer *, f32); | |
f32 getYaw(const class LocalPlayer *); | |
void setPitch(class LocalPlayer *, f32); | |
f32 getPitch(const class LocalPlayer *); | |
void setPosition(class LocalPlayer *, const v3f &); | |
v3f getPosition(const class LocalPlayer *); | |
v3f getEyePosition(const class LocalPlayer *); | |
v3f getEyeOffset(const class LocalPlayer *); | |
void accelerateHorizontal(class LocalPlayer *, const v3f &, f32); | |
void accelerateVertical(class LocalPlayer *, const v3f &, f32); | |
/* vtable has 2 entries: { | |
[2] = move((null)), | |
[3] = move((null)), | |
} */ | |
/* size: 656, cachelines: 11, members: 51 */ | |
/* sum members: 311, holes: 8, sum holes: 17 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 656 != 311 + 17(holes), diff = 328 */ | |
}; | |
class RawLogBuffer : public StringBuffer { | |
public: | |
/* class StringBuffer <ancestor>; */ /* 0 328 */ | |
/* XXX last struct has 4 bytes of padding */ | |
void RawLogBuffer(class RawLogBuffer *, ); | |
void RawLogBuffer(class RawLogBuffer *, const class RawLogBuffer &); | |
void RawLogBuffer(class RawLogBuffer *); | |
virtual void flush(class RawLogBuffer *, const string &); | |
virtual void ~RawLogBuffer(class RawLogBuffer *, int); | |
/* vtable has 1 entries: { | |
[14] = flush((null)), | |
} */ | |
/* size: 328, cachelines: 6, members: 1 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 328 != 0 + 0(holes), diff = 328 */ | |
}; | |
class LogBuffer : public StringBuffer { | |
public: | |
/* class StringBuffer <ancestor>; */ /* 0 328 */ | |
/* XXX last struct has 4 bytes of padding */ | |
/* --- cacheline 5 boundary (320 bytes) was 8 bytes ago --- */ | |
class Logger &const logger; /* 328 8 */ | |
enum LogLevel level; /* 336 4 */ | |
void LogBuffer(class LogBuffer *, ); | |
void LogBuffer(class LogBuffer *, const class LogBuffer &); | |
void LogBuffer(class LogBuffer *, class Logger &, enum LogLevel); | |
virtual void flush(class LogBuffer *, const string &); | |
virtual void ~LogBuffer(class LogBuffer *, int); | |
/* vtable has 1 entries: { | |
[14] = flush((null)), | |
} */ | |
/* size: 344, cachelines: 6, members: 3 */ | |
/* padding: 4 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 344 != 12 + 0(holes), diff = 332 */ | |
}; | |
class StringBuffer : public basic_streambuf<char, std::char_traits<char> > { | |
public: | |
/* class basic_streambuf<char, std::char_traits<char> > <ancestor>; */ /* 0 0 */ | |
/* XXX 64 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
char buffer[256]; /* 64 256 */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
int buffer_index; /* 320 4 */ | |
void StringBuffer(class StringBuffer *, ); | |
void StringBuffer(class StringBuffer *, const class StringBuffer &); | |
void StringBuffer(class StringBuffer *); | |
virtual int overflow(class StringBuffer *, int); | |
virtual void flush(class StringBuffer *, const string &); | |
virtual streamsize xsputn(class StringBuffer *, const char *, streamsize); | |
void push_back(class StringBuffer *, char); | |
virtual void ~StringBuffer(class StringBuffer *, int); | |
/* vtable has 3 entries: { | |
[13] = overflow((null)), | |
[14] = flush((null)), | |
[12] = xsputn((null)), | |
} */ | |
/* size: 328, cachelines: 6, members: 3 */ | |
/* sum members: 260, holes: 1, sum holes: 64 */ | |
/* padding: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ValueSpec { | |
enum ValueType type; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
const char * help; /* 8 8 */ | |
void ValueSpec(class ValueSpec *, enum ValueType, const char *); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* sum members: 12, holes: 1, sum holes: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class ChatEvent { | |
public: | |
enum ChatEventType type; /* 0 4 */ | |
protected: | |
void ChatEvent(class ChatEvent *, enum ChatEventType); | |
/* size: 4, cachelines: 1, members: 1 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
class MutexedQueue<ChatEvent*> { | |
protected: | |
class deque<ChatEvent*, std::allocator<ChatEvent*> > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<ChatEvent*> *); | |
bool empty(const class MutexedQueue<ChatEvent*> *); | |
void push_back(class MutexedQueue<ChatEvent*> *, class ChatEvent *); | |
class ChatEvent * pop_frontNoEx(class MutexedQueue<ChatEvent*> *, u32); | |
class ChatEvent * pop_front(class MutexedQueue<ChatEvent*> *, u32); | |
class ChatEvent * pop_frontNoEx(class MutexedQueue<ChatEvent*> *); | |
class ChatEvent * pop_back(class MutexedQueue<ChatEvent*> *, u32); | |
class ChatEvent * pop_backNoEx(class MutexedQueue<ChatEvent*> *, u32); | |
class ChatEvent * pop_backNoEx(class MutexedQueue<ChatEvent*> *); | |
protected: | |
Mutex & getMutex(class MutexedQueue<ChatEvent*> *); | |
class deque<ChatEvent*, std::allocator<ChatEvent*> > & getQueue(class MutexedQueue<ChatEvent*> *); | |
public: | |
void ~MutexedQueue(class MutexedQueue<ChatEvent*> *, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct ChatInterface { | |
class MutexedQueue<ChatEvent*> command_queue; /* 0 152 */ | |
/* --- cacheline 2 boundary (128 bytes) was 24 bytes ago --- */ | |
class MutexedQueue<ChatEvent*> outgoing_queue; /* 152 152 */ | |
void ~ChatInterface(class ChatInterface *, int); | |
void ChatInterface(class ChatInterface *); | |
/* size: 304, cachelines: 5, members: 2 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class FileLogOutput : public ICombinedLogOutput { | |
public: | |
/* class ICombinedLogOutput <ancestor>; */ /* 0 8 */ | |
ofstream m_stream; /* 8 0 */ | |
void FileLogOutput(class FileLogOutput *, ); | |
void FileLogOutput(class FileLogOutput *, const class FileLogOutput &); | |
void FileLogOutput(class FileLogOutput *); | |
void open(class FileLogOutput *, const string &); | |
virtual void logRaw(class FileLogOutput *, enum LogLevel, const string &); | |
void ~FileLogOutput(class FileLogOutput *, int); | |
/* vtable has 1 entries: { | |
[0] = logRaw((null)), | |
} */ | |
/* size: 520, cachelines: 9, members: 2 */ | |
/* padding: 512 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 520 != 0 + 0(holes), diff = 520 */ | |
}; | |
class Map { | |
public: | |
int ()(void) * * _vptr.Map; /* 0 8 */ | |
protected: | |
ostream &const m_dout; /* 8 8 */ | |
class IGameDef * m_gamedef; /* 16 8 */ | |
class set<MapEventReceiver*, std::less<MapEventReceiver*>, std::allocator<MapEventReceiver*> > m_event_receivers; /* 24 48 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class map<irr::core::vector2d<short int>, MapSector*, std::less<irr::core::vector2d<short int> >, std::allocator<std::pair<const irr::core::vector2d<short int>, MapSector*> > > m_sectors; /* 72 48 */ | |
class MapSector * m_sector_cache; /* 120 8 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
v2s16 m_sector_cache_p; /* 128 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class UniqueQueue<irr::core::vector3d<short int> > m_transforming_liquid; /* 136 128 */ | |
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ | |
class INodeDefManager * m_nodedef; /* 264 8 */ | |
f32 m_transforming_liquid_loop_count_multiplier; /* 272 4 */ | |
u32 m_unprocessed_count; /* 276 4 */ | |
u32 m_inc_trending_up_start_time; /* 280 4 */ | |
bool m_queue_size_timer_started; /* 284 1 */ | |
public: | |
void Map(class Map *, ostream &, class IGameDef *); | |
virtual void ~Map(class Map *, int); | |
virtual s32 mapType(const class Map *); | |
virtual void drop(class Map *); | |
void addEventReceiver(class Map *, class MapEventReceiver *); | |
void removeEventReceiver(class Map *, class MapEventReceiver *); | |
void dispatchEvent(class Map *, class MapEditEvent *); | |
class MapSector * getSectorNoGenerateNoExNoLock(class Map *, v2s16); | |
class MapSector * getSectorNoGenerateNoEx(class Map *, v2s16); | |
class MapSector * getSectorNoGenerate(class Map *, v2s16); | |
virtual class MapSector * emergeSector(class Map *, v2s16); | |
virtual class MapSector * emergeSector(class Map *, v2s16, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const); | |
class MapBlock * getBlockNoCreate(class Map *, v3s16); | |
class MapBlock * getBlockNoCreateNoEx(class Map *, v3s16); | |
virtual class MapBlock * emergeBlock(class Map *, v3s16, bool); | |
class INodeDefManager * getNodeDefManager(class Map *); | |
bool isNodeUnderground(class Map *, v3s16); | |
bool isValidPosition(class Map *, v3s16); | |
void setNode(class Map *, v3s16, class MapNode &); | |
class MapNode getNodeNoEx(class Map *, v3s16, bool *); | |
void addNodeAndUpdate(class Map *, v3s16, class MapNode, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const, bool); | |
void removeNodeAndUpdate(class Map *, v3s16, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const); | |
bool addNodeWithEvent(class Map *, v3s16, class MapNode, bool); | |
bool removeNodeWithEvent(class Map *, v3s16); | |
bool getDayNightDiff(class Map *, v3s16); | |
virtual void beginSave(class Map *); | |
virtual void endSave(class Map *); | |
virtual void save(class Map *, enum ModifiedState); | |
virtual bool saveBlock(class Map *, class MapBlock *); | |
virtual bool deleteBlock(class Map *, v3s16); | |
void timerUpdate(class Map *, float, float, u32, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > *); | |
void unloadUnreferencedBlocks(class Map *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > *); | |
void deleteSectors(class Map *, class vector<irr::core::vector2d<short int>, std::allocator<irr::core::vector2d<short int> > > &); | |
virtual void PrintInfo(class Map *, ostream &); | |
void transformLiquids(class Map *, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const); | |
class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > findNodesWithMetadata(class Map *, v3s16, v3s16); | |
class NodeMetadata * getNodeMetadata(class Map *, v3s16); | |
bool setNodeMetadata(class Map *, v3s16, class NodeMetadata *); | |
void removeNodeMetadata(class Map *, v3s16); | |
class NodeTimer getNodeTimer(class Map *, v3s16); | |
void setNodeTimer(class Map *, const class NodeTimer &); | |
void removeNodeTimer(class Map *, v3s16); | |
class map<irr::core::vector2d<short int>, MapSector*, std::less<irr::core::vector2d<short int> >, std::allocator<std::pair<cons getSectorsPtr(class Map *); | |
void transforming_liquid_add(class Map *, v3s16); | |
s32 transforming_liquid_size(class Map *); | |
bool isBlockOccluded(class Map *, class MapBlock *, v3s16); | |
protected: | |
bool isOccluded(class Map *, v3s16, v3s16, float, float, float, float, u32); | |
void Map(class Map *, const class Map &); | |
class Map & operator=(class Map *, const class Map &); | |
/* vtable has 11 entries: { | |
[2] = mapType((null)), | |
[3] = drop((null)), | |
[4] = emergeSector((null)), | |
[5] = emergeSector((null)), | |
[6] = emergeBlock((null)), | |
[7] = beginSave((null)), | |
[8] = endSave((null)), | |
[9] = save((null)), | |
[10] = saveBlock((null)), | |
[11] = deleteBlock((null)), | |
[12] = PrintInfo((null)), | |
} */ | |
/* size: 288, cachelines: 5, members: 13 */ | |
/* sum members: 281, holes: 1, sum holes: 4 */ | |
/* padding: 3 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class ReflowScan { | |
class Map * m_map; /* 0 8 */ | |
class INodeDefManager * m_ndef; /* 8 8 */ | |
v3s16 m_block_pos; /* 16 6 */ | |
v3s16 m_rel_block_pos; /* 22 6 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class UniqueQueue<irr::core::vector3d<short int> > * m_liquid_queue; /* 32 8 */ | |
class MapBlock * m_lookup[27]; /* 40 216 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
u32 m_lookup_state_bitset; /* 256 4 */ | |
public: | |
void ReflowScan(class ReflowScan *, class Map *, class INodeDefManager *); | |
void scan(class ReflowScan *, class MapBlock *, class UniqueQueue<irr::core::vector3d<short int> > *); | |
class MapBlock * lookupBlock(class ReflowScan *, int, int, int); | |
bool isLiquidFlowableTo(class ReflowScan *, int, int, int); | |
bool isLiquidHorizontallyFlowable(class ReflowScan *, int, int, int); | |
void scanColumn(class ReflowScan *, int, int); | |
/* size: 264, cachelines: 5, members: 7 */ | |
/* sum members: 256, holes: 1, sum holes: 4 */ | |
/* padding: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class MMVManip : public VoxelManipulator { | |
public: | |
/* class VoxelManipulator <ancestor>; */ /* 0 0 */ | |
/* XXX 40 bytes hole, try to pack */ | |
bool m_is_dirty; /* 40 1 */ | |
protected: | |
bool m_create_area; /* 41 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class Map * m_map; /* 48 8 */ | |
class map<irr::core::vector3d<short int>, unsigned char, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, unsigned char> > > m_loaded_blocks; /* 56 48 */ | |
public: | |
void MMVManip(class MMVManip *, const class MMVManip &); | |
void MMVManip(class MMVManip *, class Map *); | |
virtual void ~MMVManip(class MMVManip *, int); | |
virtual void clear(class MMVManip *); | |
void setMap(class MMVManip *, class Map *); | |
void initialEmerge(class MMVManip *, v3s16, v3s16, bool); | |
void blitBackAll(class MMVManip *, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const, bool); | |
/* vtable has 1 entries: { | |
[2] = clear((null)), | |
} */ | |
/* size: 104, cachelines: 2, members: 5 */ | |
/* sum members: 58, holes: 2, sum holes: 46 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct TimeOrderedMapBlock { | |
class MapSector * sect; /* 0 8 */ | |
class MapBlock * block; /* 8 8 */ | |
void TimeOrderedMapBlock(class TimeOrderedMapBlock *, class MapSector *, class MapBlock *); | |
bool operator<(const class TimeOrderedMapBlock *, const class TimeOrderedMapBlock &); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct NodeNeighbor { | |
struct MapNode n; /* 0 4 */ | |
enum NeighborType t; /* 4 4 */ | |
v3s16 p; /* 8 6 */ | |
bool l; /* 14 1 */ | |
void NodeNeighbor(class NodeNeighbor *); | |
void NodeNeighbor(class NodeNeighbor *, const class MapNode &, enum NeighborType, v3s16); | |
class NodeNeighbor & operator=(class NodeNeighbor *, const class NodeNeighbor &); | |
/* size: 16, cachelines: 1, members: 4 */ | |
/* padding: 1 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class ServerMap : public Map { | |
public: | |
/* class Map <ancestor>; */ /* 0 288 */ | |
/* XXX last struct has 3 bytes of padding */ | |
/* --- cacheline 4 boundary (256 bytes) was 32 bytes ago --- */ | |
class MapSettingsManager settings_mgr; /* 288 56 */ | |
/* --- cacheline 5 boundary (320 bytes) was 24 bytes ago --- */ | |
class EmergeManager * m_emerge; /* 344 8 */ | |
string m_savedir; /* 352 32 */ | |
/* --- cacheline 6 boundary (384 bytes) --- */ | |
bool m_map_saving_enabled; /* 384 1 */ | |
bool m_map_metadata_changed; /* 385 1 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class Database * dbase; /* 392 8 */ | |
void ServerMap(class ServerMap *, const class ServerMap &); | |
void ServerMap(class ServerMap *, const string &, class IGameDef *, class EmergeManager *); | |
virtual void ~ServerMap(class ServerMap *, int); | |
virtual s32 mapType(const class ServerMap *); | |
class ServerMapSector * createSector(class ServerMap *, v2s16); | |
bool blockpos_over_mapgen_limit(class ServerMap *, v3s16); | |
bool initBlockMake(class ServerMap *, v3s16, class BlockMakeData *); | |
void finishBlockMake(class ServerMap *, class BlockMakeData *, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const); | |
class MapBlock * createBlock(class ServerMap *, v3s16); | |
virtual class MapBlock * emergeBlock(class ServerMap *, v3s16, bool); | |
class MapBlock * getBlockOrEmerge(class ServerMap *, v3s16); | |
void prepareBlock(class ServerMap *, class MapBlock *); | |
s16 findGroundLevel(class ServerMap *, v2s16); | |
void createDirs(class ServerMap *, string); | |
string getSectorDir(class ServerMap *, v2s16, int); | |
v2s16 getSectorPos(class ServerMap *, const string &); | |
v3s16 getBlockPos(class ServerMap *, const string &, const string &); | |
string getBlockFilename(v3s16); | |
class Database * createDatabase(const string &, const string &, class Settings &); | |
bool loadFromFolders(class ServerMap *); | |
virtual void beginSave(class ServerMap *); | |
virtual void endSave(class ServerMap *); | |
virtual void save(class ServerMap *, enum ModifiedState); | |
void listAllLoadableBlocks(class ServerMap *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &); | |
void listAllLoadedBlocks(class ServerMap *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &); | |
class MapgenParams * getMapgenParams(class ServerMap *); | |
void saveSectorMeta(class ServerMap *, class ServerMapSector *); | |
class MapSector * loadSectorMeta(class ServerMap *, string, bool); | |
bool loadSectorMeta(class ServerMap *, v2s16); | |
virtual bool saveBlock(class ServerMap *, class MapBlock *); | |
bool saveBlock(class MapBlock *, class Database *); | |
void loadBlock(class ServerMap *, const string &, const string &, class MapSector *, bool); | |
class MapBlock * loadBlock(class ServerMap *, v3s16); | |
void loadBlock(class ServerMap *, string *, v3s16, class MapSector *, bool); | |
virtual bool deleteBlock(class ServerMap *, v3s16); | |
void updateVManip(class ServerMap *, v3s16); | |
virtual void PrintInfo(class ServerMap *, ostream &); | |
bool isSavingEnabled(class ServerMap *); | |
u64 getSeed(class ServerMap *); | |
s16 getWaterLevel(class ServerMap *); | |
bool repairBlockLight(class ServerMap *, v3s16, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const); | |
/* vtable has 8 entries: { | |
[2] = mapType((null)), | |
[6] = emergeBlock((null)), | |
[7] = beginSave((null)), | |
[8] = endSave((null)), | |
[9] = save((null)), | |
[10] = saveBlock((null)), | |
[11] = deleteBlock((null)), | |
[12] = PrintInfo((null)), | |
} */ | |
/* size: 400, cachelines: 7, members: 7 */ | |
/* sum members: 106, holes: 1, sum holes: 6 */ | |
/* paddings: 1, sum paddings: 3 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 400 != 106 + 6(holes), diff = 288 */ | |
}; | |
class InvalidFilenameException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void InvalidFilenameException(class InvalidFilenameException *, ); | |
void InvalidFilenameException(class InvalidFilenameException *, const class InvalidFilenameException &); | |
void InvalidFilenameException(class InvalidFilenameException *, const string &); | |
virtual void ~InvalidFilenameException(class InvalidFilenameException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct FastFace { | |
struct TileLayer layer; /* 0 72 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
struct S3DVertex vertices[4]; /* 72 144 */ | |
/* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ | |
bool vertex_0_2_connected; /* 216 1 */ | |
u8 layernum; /* 217 1 */ | |
void FastFace(class FastFace *, const class FastFace &); | |
void FastFace(class FastFace *, ); | |
void ~FastFace(class FastFace *, int); | |
void FastFace(class FastFace *); | |
/* size: 224, cachelines: 4, members: 4 */ | |
/* padding: 6 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct MapgenParams { | |
int ()(void) * * _vptr.MapgenParams; /* 0 8 */ | |
enum MapgenType mgtype; /* 8 4 */ | |
s16 chunksize; /* 12 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
u64 seed; /* 16 8 */ | |
s16 water_level; /* 24 2 */ | |
s16 mapgen_limit; /* 26 2 */ | |
u32 flags; /* 28 4 */ | |
class BiomeParams * bparams; /* 32 8 */ | |
void MapgenParams(class MapgenParams *, const class MapgenParams &); | |
void MapgenParams(class MapgenParams *); | |
virtual void ~MapgenParams(class MapgenParams *, int); | |
virtual void readParams(class MapgenParams *, const class Settings *); | |
virtual void writeParams(const class MapgenParams *, class Settings *); | |
/* vtable has 2 entries: { | |
[2] = readParams((null)), | |
[3] = writeParams((null)), | |
} */ | |
/* size: 40, cachelines: 1, members: 8 */ | |
/* sum members: 38, holes: 1, sum holes: 2 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class Mapgen { | |
public: | |
int ()(void) * * _vptr.Mapgen; /* 0 8 */ | |
s32 seed; /* 8 4 */ | |
int water_level; /* 12 4 */ | |
int mapgen_limit; /* 16 4 */ | |
u32 flags; /* 20 4 */ | |
bool generating; /* 24 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int id; /* 28 4 */ | |
class MMVManip * vm; /* 32 8 */ | |
class INodeDefManager * ndef; /* 40 8 */ | |
u32 blockseed; /* 48 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
s16 * heightmap; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
biome_t * biomemap; /* 64 8 */ | |
v3s16 csize; /* 72 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class BiomeGen * biomegen; /* 80 8 */ | |
class GenerateNotifier gennotify; /* 88 40 */ | |
void Mapgen(class Mapgen *); | |
void Mapgen(class Mapgen *, int, class MapgenParams *, class EmergeManager *); | |
virtual void ~Mapgen(class Mapgen *, int); | |
virtual enum MapgenType getType(const class Mapgen *); | |
u32 getBlockSeed(v3s16, s32); | |
u32 getBlockSeed2(v3s16, s32); | |
s16 findGroundLevelFull(class Mapgen *, v2s16); | |
s16 findGroundLevel(class Mapgen *, v2s16, s16, s16); | |
s16 findLiquidSurface(class Mapgen *, v2s16, s16, s16); | |
void updateHeightmap(class Mapgen *, v3s16, v3s16); | |
void updateLiquid(class Mapgen *, class UniqueQueue<irr::core::vector3d<short int> > *, v3s16, v3s16); | |
void setLighting(class Mapgen *, u8, v3s16, v3s16); | |
void lightSpread(class Mapgen *, class VoxelArea &, v3s16, u8); | |
void calcLighting(class Mapgen *, v3s16, v3s16, v3s16, v3s16, bool); | |
void propagateSunlight(class Mapgen *, v3s16, v3s16, bool); | |
void spreadLight(class Mapgen *, v3s16, v3s16); | |
virtual void makeChunk(class Mapgen *, class BlockMakeData *); | |
virtual int getGroundLevelAtPoint(class Mapgen *, v2s16); | |
virtual int getSpawnLevelAtPoint(class Mapgen *, v2s16); | |
enum MapgenType getMapgenType(const string &); | |
const char * getMapgenName(enum MapgenType); | |
class Mapgen * createMapgen(enum MapgenType, int, class MapgenParams *, class EmergeManager *); | |
class MapgenParams * createMapgenParams(enum MapgenType); | |
void getMapgenNames(class vector<char const*, std::allocator<char const*> > *, bool); | |
bool isLiquidHorizontallyFlowable(class Mapgen *, u32, v3s16); | |
void Mapgen(class Mapgen *, const class Mapgen &); | |
class Mapgen & operator=(class Mapgen *, const class Mapgen &); | |
/* vtable has 4 entries: { | |
[2] = getType((null)), | |
[3] = makeChunk((null)), | |
[4] = getGroundLevelAtPoint((null)), | |
[5] = getSpawnLevelAtPoint((null)), | |
} */ | |
/* size: 128, cachelines: 2, members: 15 */ | |
/* sum members: 119, holes: 3, sum holes: 9 */ | |
}; | |
struct MapgenDesc { | |
const char * name; /* 0 8 */ | |
bool is_user_visible; /* 8 1 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 7 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct BiomeParams { | |
int ()(void) * * _vptr.BiomeParams; /* 0 8 */ | |
s32 seed; /* 8 4 */ | |
void BiomeParams(class BiomeParams *, const class BiomeParams &); | |
void BiomeParams(class BiomeParams *); | |
virtual void readParams(class BiomeParams *, const class Settings *); | |
virtual void writeParams(const class BiomeParams *, class Settings *); | |
virtual void ~BiomeParams(class BiomeParams *, int); | |
/* vtable has 2 entries: { | |
[0] = readParams((null)), | |
[1] = writeParams((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class MapgenBasic : public Mapgen { | |
public: | |
/* class Mapgen <ancestor>; */ /* 0 128 */ | |
protected: | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class EmergeManager * m_emerge; /* 128 8 */ | |
class BiomeManager * m_bmgr; /* 136 8 */ | |
class Noise * noise_filler_depth; /* 144 8 */ | |
v3s16 node_min; /* 152 6 */ | |
v3s16 node_max; /* 158 6 */ | |
v3s16 full_node_min; /* 164 6 */ | |
v3s16 full_node_max; /* 170 6 */ | |
content_t c_stone; /* 176 2 */ | |
content_t c_desert_stone; /* 178 2 */ | |
content_t c_sandstone; /* 180 2 */ | |
content_t c_water_source; /* 182 2 */ | |
content_t c_river_water_source; /* 184 2 */ | |
content_t c_lava_source; /* 186 2 */ | |
content_t c_cobble; /* 188 2 */ | |
content_t c_stair_cobble; /* 190 2 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
content_t c_mossycobble; /* 192 2 */ | |
content_t c_stair_desert_stone; /* 194 2 */ | |
content_t c_sandstonebrick; /* 196 2 */ | |
content_t c_stair_sandstone_block; /* 198 2 */ | |
int ystride; /* 200 4 */ | |
int zstride; /* 204 4 */ | |
int zstride_1d; /* 208 4 */ | |
int zstride_1u1d; /* 212 4 */ | |
u32 spflags; /* 216 4 */ | |
struct NoiseParams np_cave1; /* 220 40 */ | |
/* --- cacheline 4 boundary (256 bytes) was 4 bytes ago --- */ | |
struct NoiseParams np_cave2; /* 260 40 */ | |
struct NoiseParams np_cavern; /* 300 40 */ | |
/* --- cacheline 5 boundary (320 bytes) was 20 bytes ago --- */ | |
float cave_width; /* 340 4 */ | |
float cavern_limit; /* 344 4 */ | |
float cavern_taper; /* 348 4 */ | |
float cavern_threshold; /* 352 4 */ | |
public: | |
void MapgenBasic(class MapgenBasic *, const class MapgenBasic &); | |
void MapgenBasic(class MapgenBasic *, int, class MapgenParams *, class EmergeManager *); | |
virtual void ~MapgenBasic(class MapgenBasic *, int); | |
virtual void generateCaves(class MapgenBasic *, s16, s16); | |
virtual bool generateCaverns(class MapgenBasic *, s16); | |
virtual void generateDungeons(class MapgenBasic *, s16, enum MgStoneType); | |
virtual enum MgStoneType generateBiomes(class MapgenBasic *); | |
virtual void dustTopNodes(class MapgenBasic *); | |
/* vtable has 5 entries: { | |
[6] = generateCaves((null)), | |
[7] = generateCaverns((null)), | |
[8] = generateDungeons((null)), | |
[9] = generateBiomes((null)), | |
[10] = dustTopNodes((null)), | |
} */ | |
/* size: 360, cachelines: 6, members: 32 */ | |
/* padding: 4 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 360 != 228 + 0(holes), diff = 132 */ | |
}; | |
class BiomeGen { | |
public: | |
int ()(void) * * _vptr.BiomeGen; /* 0 8 */ | |
biome_t * biomemap; /* 8 8 */ | |
protected: | |
class BiomeManager * m_bmgr; /* 16 8 */ | |
v3s16 m_pmin; /* 24 6 */ | |
v3s16 m_csize; /* 30 6 */ | |
public: | |
void BiomeGen(class BiomeGen *, const class BiomeGen &); | |
void BiomeGen(class BiomeGen *); | |
virtual void ~BiomeGen(class BiomeGen *, int); | |
virtual enum BiomeGenType getType(const class BiomeGen *); | |
virtual class Biome * calcBiomeAtPoint(const class BiomeGen *, v3s16); | |
virtual void calcBiomeNoise(class BiomeGen *, v3s16); | |
virtual biome_t * getBiomes(class BiomeGen *, s16 *); | |
virtual class Biome * getBiomeAtPoint(const class BiomeGen *, v3s16); | |
virtual class Biome * getBiomeAtIndex(const class BiomeGen *, size_t, s16); | |
/* vtable has 6 entries: { | |
[2] = getType((null)), | |
[3] = calcBiomeAtPoint((null)), | |
[4] = calcBiomeNoise((null)), | |
[5] = getBiomes((null)), | |
[6] = getBiomeAtPoint((null)), | |
[7] = getBiomeAtIndex((null)), | |
} */ | |
/* size: 40, cachelines: 1, members: 5 */ | |
/* padding: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct MapgenSinglenodeParams : MapgenParams { | |
/* struct MapgenParams <ancestor>; */ /* 0 40 */ | |
void MapgenSinglenodeParams(class MapgenSinglenodeParams *, const class MapgenSinglenodeParams &); | |
void MapgenSinglenodeParams(class MapgenSinglenodeParams *); | |
virtual void ~MapgenSinglenodeParams(class MapgenSinglenodeParams *, int); | |
virtual void readParams(class MapgenSinglenodeParams *, const class Settings *); | |
virtual void writeParams(const class MapgenSinglenodeParams *, class Settings *); | |
/* vtable has 2 entries: { | |
[2] = readParams((null)), | |
[3] = writeParams((null)), | |
} */ | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct MapgenFlatParams : MapgenParams { | |
/* struct MapgenParams <ancestor>; */ /* 0 0 */ | |
/* XXX 40 bytes hole, try to pack */ | |
u32 spflags; /* 40 4 */ | |
s16 ground_level; /* 44 2 */ | |
s16 large_cave_depth; /* 46 2 */ | |
float cave_width; /* 48 4 */ | |
float lake_threshold; /* 52 4 */ | |
float lake_steepness; /* 56 4 */ | |
float hill_threshold; /* 60 4 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
float hill_steepness; /* 64 4 */ | |
struct NoiseParams np_terrain; /* 68 40 */ | |
struct NoiseParams np_filler_depth; /* 108 40 */ | |
/* --- cacheline 2 boundary (128 bytes) was 20 bytes ago --- */ | |
struct NoiseParams np_cave1; /* 148 40 */ | |
struct NoiseParams np_cave2; /* 188 40 */ | |
void MapgenFlatParams(class MapgenFlatParams *, const class MapgenFlatParams &); | |
void MapgenFlatParams(class MapgenFlatParams *); | |
virtual void ~MapgenFlatParams(class MapgenFlatParams *, int); | |
virtual void readParams(class MapgenFlatParams *, const class Settings *); | |
virtual void writeParams(const class MapgenFlatParams *, class Settings *); | |
/* vtable has 2 entries: { | |
[2] = readParams((null)), | |
[3] = writeParams((null)), | |
} */ | |
/* size: 232, cachelines: 4, members: 13 */ | |
/* sum members: 188, holes: 1, sum holes: 40 */ | |
/* padding: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class MapgenFlat : public MapgenBasic { | |
public: | |
/* class MapgenBasic <ancestor>; */ /* 0 0 */ | |
/* XXX 356 bytes hole, try to pack */ | |
/* --- cacheline 5 boundary (320 bytes) was 36 bytes ago --- */ | |
s16 ground_level; /* 356 2 */ | |
s16 large_cave_depth; /* 358 2 */ | |
float lake_threshold; /* 360 4 */ | |
float lake_steepness; /* 364 4 */ | |
float hill_threshold; /* 368 4 */ | |
float hill_steepness; /* 372 4 */ | |
class Noise * noise_terrain; /* 376 8 */ | |
void MapgenFlat(class MapgenFlat *, const class MapgenFlat &); | |
void MapgenFlat(class MapgenFlat *, int, class MapgenFlatParams *, class EmergeManager *); | |
virtual void ~MapgenFlat(class MapgenFlat *, int); | |
virtual enum MapgenType getType(const class MapgenFlat *); | |
virtual void makeChunk(class MapgenFlat *, class BlockMakeData *); | |
virtual int getSpawnLevelAtPoint(class MapgenFlat *, v2s16); | |
s16 generateTerrain(class MapgenFlat *); | |
/* vtable has 3 entries: { | |
[2] = getType((null)), | |
[3] = makeChunk((null)), | |
[5] = getSpawnLevelAtPoint((null)), | |
} */ | |
/* size: 384, cachelines: 6, members: 8 */ | |
/* sum members: 28, holes: 1, sum holes: 356 */ | |
}; | |
struct MapgenFractalParams : MapgenParams { | |
/* struct MapgenParams <ancestor>; */ /* 0 0 */ | |
/* XXX 40 bytes hole, try to pack */ | |
u32 spflags; /* 40 4 */ | |
float cave_width; /* 44 4 */ | |
u16 fractal; /* 48 2 */ | |
u16 iterations; /* 50 2 */ | |
v3f scale; /* 52 12 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
v3f offset; /* 64 12 */ | |
float slice_w; /* 76 4 */ | |
float julia_x; /* 80 4 */ | |
float julia_y; /* 84 4 */ | |
float julia_z; /* 88 4 */ | |
float julia_w; /* 92 4 */ | |
struct NoiseParams np_seabed; /* 96 40 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
struct NoiseParams np_filler_depth; /* 136 40 */ | |
struct NoiseParams np_cave1; /* 176 40 */ | |
/* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ | |
struct NoiseParams np_cave2; /* 216 40 */ | |
void MapgenFractalParams(class MapgenFractalParams *, const class MapgenFractalParams &); | |
void MapgenFractalParams(class MapgenFractalParams *); | |
virtual void ~MapgenFractalParams(class MapgenFractalParams *, int); | |
virtual void readParams(class MapgenFractalParams *, const class Settings *); | |
virtual void writeParams(const class MapgenFractalParams *, class Settings *); | |
/* vtable has 2 entries: { | |
[2] = readParams((null)), | |
[3] = writeParams((null)), | |
} */ | |
/* size: 256, cachelines: 4, members: 16 */ | |
/* sum members: 216, holes: 1, sum holes: 40 */ | |
}; | |
class MapgenFractal : public MapgenBasic { | |
public: | |
/* class MapgenBasic <ancestor>; */ /* 0 0 */ | |
/* XXX 356 bytes hole, try to pack */ | |
/* --- cacheline 5 boundary (320 bytes) was 36 bytes ago --- */ | |
u16 formula; /* 356 2 */ | |
bool julia; /* 358 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 fractal; /* 360 2 */ | |
u16 iterations; /* 362 2 */ | |
v3f scale; /* 364 12 */ | |
v3f offset; /* 376 12 */ | |
/* --- cacheline 6 boundary (384 bytes) was 4 bytes ago --- */ | |
float slice_w; /* 388 4 */ | |
float julia_x; /* 392 4 */ | |
float julia_y; /* 396 4 */ | |
float julia_z; /* 400 4 */ | |
float julia_w; /* 404 4 */ | |
class Noise * noise_seabed; /* 408 8 */ | |
void MapgenFractal(class MapgenFractal *, const class MapgenFractal &); | |
void MapgenFractal(class MapgenFractal *, int, class MapgenFractalParams *, class EmergeManager *); | |
virtual void ~MapgenFractal(class MapgenFractal *, int); | |
virtual enum MapgenType getType(const class MapgenFractal *); | |
virtual void makeChunk(class MapgenFractal *, class BlockMakeData *); | |
virtual int getSpawnLevelAtPoint(class MapgenFractal *, v2s16); | |
bool getFractalAtPoint(class MapgenFractal *, s16, s16, s16); | |
s16 generateTerrain(class MapgenFractal *); | |
/* vtable has 3 entries: { | |
[2] = getType((null)), | |
[3] = makeChunk((null)), | |
[5] = getSpawnLevelAtPoint((null)), | |
} */ | |
/* size: 416, cachelines: 7, members: 13 */ | |
/* sum members: 59, holes: 2, sum holes: 357 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class MapgenSinglenode : public Mapgen { | |
public: | |
/* class Mapgen <ancestor>; */ /* 0 0 */ | |
/* XXX 128 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
u32 flags; /* 128 4 */ | |
content_t c_node; /* 132 2 */ | |
u8 set_light; /* 134 1 */ | |
void MapgenSinglenode(class MapgenSinglenode *, const class MapgenSinglenode &); | |
void MapgenSinglenode(class MapgenSinglenode *, int, class MapgenParams *, class EmergeManager *); | |
virtual void ~MapgenSinglenode(class MapgenSinglenode *, int); | |
virtual enum MapgenType getType(const class MapgenSinglenode *); | |
virtual void makeChunk(class MapgenSinglenode *, class BlockMakeData *); | |
virtual int getSpawnLevelAtPoint(class MapgenSinglenode *, v2s16); | |
/* vtable has 3 entries: { | |
[2] = getType((null)), | |
[3] = makeChunk((null)), | |
[5] = getSpawnLevelAtPoint((null)), | |
} */ | |
/* size: 136, cachelines: 3, members: 4 */ | |
/* sum members: 7, holes: 1, sum holes: 128 */ | |
/* padding: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct MapgenV5Params : MapgenParams { | |
/* struct MapgenParams <ancestor>; */ /* 0 0 */ | |
/* XXX 40 bytes hole, try to pack */ | |
u32 spflags; /* 40 4 */ | |
float cave_width; /* 44 4 */ | |
s16 cavern_limit; /* 48 2 */ | |
s16 cavern_taper; /* 50 2 */ | |
float cavern_threshold; /* 52 4 */ | |
struct NoiseParams np_filler_depth; /* 56 40 */ | |
/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */ | |
struct NoiseParams np_factor; /* 96 40 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
struct NoiseParams np_height; /* 136 40 */ | |
struct NoiseParams np_ground; /* 176 40 */ | |
/* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ | |
struct NoiseParams np_cave1; /* 216 40 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
struct NoiseParams np_cave2; /* 256 40 */ | |
struct NoiseParams np_cavern; /* 296 40 */ | |
void MapgenV5Params(class MapgenV5Params *, const class MapgenV5Params &); | |
void MapgenV5Params(class MapgenV5Params *); | |
virtual void ~MapgenV5Params(class MapgenV5Params *, int); | |
virtual void readParams(class MapgenV5Params *, const class Settings *); | |
virtual void writeParams(const class MapgenV5Params *, class Settings *); | |
/* vtable has 2 entries: { | |
[2] = readParams((null)), | |
[3] = writeParams((null)), | |
} */ | |
/* size: 336, cachelines: 6, members: 13 */ | |
/* sum members: 296, holes: 1, sum holes: 40 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class MapgenV5 : public MapgenBasic { | |
public: | |
/* class MapgenBasic <ancestor>; */ /* 0 0 */ | |
/* XXX 360 bytes hole, try to pack */ | |
/* --- cacheline 5 boundary (320 bytes) was 40 bytes ago --- */ | |
class Noise * noise_factor; /* 360 8 */ | |
class Noise * noise_height; /* 368 8 */ | |
class Noise * noise_ground; /* 376 8 */ | |
void MapgenV5(class MapgenV5 *, const class MapgenV5 &); | |
void MapgenV5(class MapgenV5 *, int, class MapgenV5Params *, class EmergeManager *); | |
virtual void ~MapgenV5(class MapgenV5 *, int); | |
virtual enum MapgenType getType(const class MapgenV5 *); | |
virtual void makeChunk(class MapgenV5 *, class BlockMakeData *); | |
virtual int getSpawnLevelAtPoint(class MapgenV5 *, v2s16); | |
int generateBaseTerrain(class MapgenV5 *); | |
/* vtable has 3 entries: { | |
[2] = getType((null)), | |
[3] = makeChunk((null)), | |
[5] = getSpawnLevelAtPoint((null)), | |
} */ | |
/* size: 384, cachelines: 6, members: 4 */ | |
/* sum members: 24, holes: 1, sum holes: 360 */ | |
}; | |
struct MapgenV6Params : MapgenParams { | |
/* struct MapgenParams <ancestor>; */ /* 0 0 */ | |
/* XXX 40 bytes hole, try to pack */ | |
u32 spflags; /* 40 4 */ | |
float freq_desert; /* 44 4 */ | |
float freq_beach; /* 48 4 */ | |
struct NoiseParams np_terrain_base; /* 52 40 */ | |
/* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */ | |
struct NoiseParams np_terrain_higher; /* 92 40 */ | |
/* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ | |
struct NoiseParams np_steepness; /* 132 40 */ | |
struct NoiseParams np_height_select; /* 172 40 */ | |
/* --- cacheline 3 boundary (192 bytes) was 20 bytes ago --- */ | |
struct NoiseParams np_mud; /* 212 40 */ | |
struct NoiseParams np_beach; /* 252 40 */ | |
/* --- cacheline 4 boundary (256 bytes) was 36 bytes ago --- */ | |
struct NoiseParams np_biome; /* 292 40 */ | |
/* --- cacheline 5 boundary (320 bytes) was 12 bytes ago --- */ | |
struct NoiseParams np_cave; /* 332 40 */ | |
struct NoiseParams np_humidity; /* 372 40 */ | |
/* --- cacheline 6 boundary (384 bytes) was 28 bytes ago --- */ | |
struct NoiseParams np_trees; /* 412 40 */ | |
/* --- cacheline 7 boundary (448 bytes) was 4 bytes ago --- */ | |
struct NoiseParams np_apple_trees; /* 452 40 */ | |
void MapgenV6Params(class MapgenV6Params *, const class MapgenV6Params &); | |
void MapgenV6Params(class MapgenV6Params *); | |
virtual void ~MapgenV6Params(class MapgenV6Params *, int); | |
virtual void readParams(class MapgenV6Params *, const class Settings *); | |
virtual void writeParams(const class MapgenV6Params *, class Settings *); | |
/* vtable has 2 entries: { | |
[2] = readParams((null)), | |
[3] = writeParams((null)), | |
} */ | |
/* size: 496, cachelines: 8, members: 15 */ | |
/* sum members: 452, holes: 1, sum holes: 40 */ | |
/* padding: 4 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class MapgenV6 : public Mapgen { | |
public: | |
/* class Mapgen <ancestor>; */ /* 0 0 */ | |
/* XXX 128 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class EmergeManager * m_emerge; /* 128 8 */ | |
int ystride; /* 136 4 */ | |
u32 spflags; /* 140 4 */ | |
v3s16 node_min; /* 144 6 */ | |
v3s16 node_max; /* 150 6 */ | |
v3s16 full_node_min; /* 156 6 */ | |
v3s16 full_node_max; /* 162 6 */ | |
v3s16 central_area_size; /* 168 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
int volume_nodes; /* 176 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class Noise * noise_terrain_base; /* 184 8 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
class Noise * noise_terrain_higher; /* 192 8 */ | |
class Noise * noise_steepness; /* 200 8 */ | |
class Noise * noise_height_select; /* 208 8 */ | |
class Noise * noise_mud; /* 216 8 */ | |
class Noise * noise_beach; /* 224 8 */ | |
class Noise * noise_biome; /* 232 8 */ | |
class Noise * noise_humidity; /* 240 8 */ | |
class NoiseParams * np_cave; /* 248 8 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
class NoiseParams * np_humidity; /* 256 8 */ | |
class NoiseParams * np_trees; /* 264 8 */ | |
class NoiseParams * np_apple_trees; /* 272 8 */ | |
float freq_desert; /* 280 4 */ | |
float freq_beach; /* 284 4 */ | |
content_t c_stone; /* 288 2 */ | |
content_t c_dirt; /* 290 2 */ | |
content_t c_dirt_with_grass; /* 292 2 */ | |
content_t c_sand; /* 294 2 */ | |
content_t c_water_source; /* 296 2 */ | |
content_t c_lava_source; /* 298 2 */ | |
content_t c_gravel; /* 300 2 */ | |
content_t c_desert_stone; /* 302 2 */ | |
content_t c_desert_sand; /* 304 2 */ | |
content_t c_dirt_with_snow; /* 306 2 */ | |
content_t c_snow; /* 308 2 */ | |
content_t c_snowblock; /* 310 2 */ | |
content_t c_ice; /* 312 2 */ | |
content_t c_cobble; /* 314 2 */ | |
content_t c_mossycobble; /* 316 2 */ | |
content_t c_stair_cobble; /* 318 2 */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
content_t c_stair_desert_stone; /* 320 2 */ | |
void MapgenV6(class MapgenV6 *, const class MapgenV6 &); | |
void MapgenV6(class MapgenV6 *, int, class MapgenV6Params *, class EmergeManager *); | |
virtual void ~MapgenV6(class MapgenV6 *, int); | |
virtual enum MapgenType getType(const class MapgenV6 *); | |
virtual void makeChunk(class MapgenV6 *, class BlockMakeData *); | |
virtual int getGroundLevelAtPoint(class MapgenV6 *, v2s16); | |
virtual int getSpawnLevelAtPoint(class MapgenV6 *, v2s16); | |
float baseTerrainLevel(class MapgenV6 *, float, float, float, float); | |
virtual float baseTerrainLevelFromNoise(class MapgenV6 *, v2s16); | |
virtual float baseTerrainLevelFromMap(class MapgenV6 *, v2s16); | |
virtual float baseTerrainLevelFromMap(class MapgenV6 *, int); | |
s16 find_stone_level(class MapgenV6 *, v2s16); | |
bool block_is_underground(class MapgenV6 *, u64, v3s16); | |
s16 find_ground_level_from_noise(class MapgenV6 *, u64, v2s16, s16); | |
float getHumidity(class MapgenV6 *, v2s16); | |
float getTreeAmount(class MapgenV6 *, v2s16); | |
bool getHaveAppleTree(class MapgenV6 *, v2s16); | |
float getMudAmount(class MapgenV6 *, v2s16); | |
virtual float getMudAmount(class MapgenV6 *, int); | |
bool getHaveBeach(class MapgenV6 *, v2s16); | |
bool getHaveBeach(class MapgenV6 *, int); | |
enum BiomeV6Type getBiome(class MapgenV6 *, v2s16); | |
enum BiomeV6Type getBiome(class MapgenV6 *, int, v2s16); | |
u32 get_blockseed(class MapgenV6 *, u64, v3s16); | |
virtual void calculateNoise(class MapgenV6 *); | |
int generateGround(class MapgenV6 *); | |
void addMud(class MapgenV6 *); | |
void flowMud(class MapgenV6 *, s16 &, s16 &); | |
void growGrass(class MapgenV6 *); | |
void placeTreesAndJungleGrass(class MapgenV6 *); | |
virtual void generateCaves(class MapgenV6 *, int); | |
/* vtable has 10 entries: { | |
[2] = getType((null)), | |
[3] = makeChunk((null)), | |
[4] = getGroundLevelAtPoint((null)), | |
[5] = getSpawnLevelAtPoint((null)), | |
[6] = baseTerrainLevelFromNoise((null)), | |
[7] = baseTerrainLevelFromMap((null)), | |
[8] = baseTerrainLevelFromMap((null)), | |
[9] = getMudAmount((null)), | |
[10] = calculateNoise((null)), | |
[11] = generateCaves((null)), | |
} */ | |
/* size: 328, cachelines: 6, members: 41 */ | |
/* sum members: 188, holes: 3, sum holes: 134 */ | |
/* padding: 6 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct MapgenV7Params : MapgenParams { | |
/* struct MapgenParams <ancestor>; */ /* 0 0 */ | |
/* XXX 40 bytes hole, try to pack */ | |
u32 spflags; /* 40 4 */ | |
float cave_width; /* 44 4 */ | |
float float_mount_density; /* 48 4 */ | |
float float_mount_height; /* 52 4 */ | |
s16 floatland_level; /* 56 2 */ | |
s16 shadow_limit; /* 58 2 */ | |
s16 cavern_limit; /* 60 2 */ | |
s16 cavern_taper; /* 62 2 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
float cavern_threshold; /* 64 4 */ | |
struct NoiseParams np_terrain_base; /* 68 40 */ | |
struct NoiseParams np_terrain_alt; /* 108 40 */ | |
/* --- cacheline 2 boundary (128 bytes) was 20 bytes ago --- */ | |
struct NoiseParams np_terrain_persist; /* 148 40 */ | |
struct NoiseParams np_height_select; /* 188 40 */ | |
/* --- cacheline 3 boundary (192 bytes) was 36 bytes ago --- */ | |
struct NoiseParams np_filler_depth; /* 228 40 */ | |
/* --- cacheline 4 boundary (256 bytes) was 12 bytes ago --- */ | |
struct NoiseParams np_mount_height; /* 268 40 */ | |
struct NoiseParams np_ridge_uwater; /* 308 40 */ | |
/* --- cacheline 5 boundary (320 bytes) was 28 bytes ago --- */ | |
struct NoiseParams np_floatland_base; /* 348 40 */ | |
/* --- cacheline 6 boundary (384 bytes) was 4 bytes ago --- */ | |
struct NoiseParams np_float_base_height; /* 388 40 */ | |
struct NoiseParams np_mountain; /* 428 40 */ | |
/* --- cacheline 7 boundary (448 bytes) was 20 bytes ago --- */ | |
struct NoiseParams np_ridge; /* 468 40 */ | |
struct NoiseParams np_cavern; /* 508 40 */ | |
/* --- cacheline 8 boundary (512 bytes) was 36 bytes ago --- */ | |
struct NoiseParams np_cave1; /* 548 40 */ | |
/* --- cacheline 9 boundary (576 bytes) was 12 bytes ago --- */ | |
struct NoiseParams np_cave2; /* 588 40 */ | |
void MapgenV7Params(class MapgenV7Params *, const class MapgenV7Params &); | |
void MapgenV7Params(class MapgenV7Params *); | |
virtual void ~MapgenV7Params(class MapgenV7Params *, int); | |
virtual void readParams(class MapgenV7Params *, const class Settings *); | |
virtual void writeParams(const class MapgenV7Params *, class Settings *); | |
/* vtable has 2 entries: { | |
[2] = readParams((null)), | |
[3] = writeParams((null)), | |
} */ | |
/* size: 632, cachelines: 10, members: 24 */ | |
/* sum members: 588, holes: 1, sum holes: 40 */ | |
/* padding: 4 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class MapgenV7 : public MapgenBasic { | |
public: | |
/* class MapgenBasic <ancestor>; */ /* 0 0 */ | |
/* XXX 356 bytes hole, try to pack */ | |
/* --- cacheline 5 boundary (320 bytes) was 36 bytes ago --- */ | |
float float_mount_density; /* 356 4 */ | |
float float_mount_height; /* 360 4 */ | |
s16 floatland_level; /* 364 2 */ | |
s16 shadow_limit; /* 366 2 */ | |
class Noise * noise_terrain_base; /* 368 8 */ | |
class Noise * noise_terrain_alt; /* 376 8 */ | |
/* --- cacheline 6 boundary (384 bytes) --- */ | |
class Noise * noise_terrain_persist; /* 384 8 */ | |
class Noise * noise_height_select; /* 392 8 */ | |
class Noise * noise_mount_height; /* 400 8 */ | |
class Noise * noise_ridge_uwater; /* 408 8 */ | |
class Noise * noise_floatland_base; /* 416 8 */ | |
class Noise * noise_float_base_height; /* 424 8 */ | |
class Noise * noise_mountain; /* 432 8 */ | |
class Noise * noise_ridge; /* 440 8 */ | |
void MapgenV7(class MapgenV7 *, const class MapgenV7 &); | |
void MapgenV7(class MapgenV7 *, int, class MapgenV7Params *, class EmergeManager *); | |
virtual void ~MapgenV7(class MapgenV7 *, int); | |
virtual enum MapgenType getType(const class MapgenV7 *); | |
virtual void makeChunk(class MapgenV7 *, class BlockMakeData *); | |
virtual int getSpawnLevelAtPoint(class MapgenV7 *, v2s16); | |
float baseTerrainLevelAtPoint(class MapgenV7 *, s16, s16); | |
float baseTerrainLevelFromMap(class MapgenV7 *, int); | |
bool getMountainTerrainAtPoint(class MapgenV7 *, s16, s16, s16); | |
bool getMountainTerrainFromMap(class MapgenV7 *, int, int, s16); | |
bool getFloatlandMountainFromMap(class MapgenV7 *, int, int, s16); | |
void floatBaseExtentFromMap(class MapgenV7 *, s16 *, s16 *, int); | |
int generateTerrain(class MapgenV7 *); | |
void generateRidgeTerrain(class MapgenV7 *); | |
/* vtable has 3 entries: { | |
[2] = getType((null)), | |
[3] = makeChunk((null)), | |
[5] = getSpawnLevelAtPoint((null)), | |
} */ | |
/* size: 448, cachelines: 7, members: 15 */ | |
/* sum members: 92, holes: 1, sum holes: 356 */ | |
}; | |
struct TerrainNoise { | |
s16 x; /* 0 2 */ | |
s16 z; /* 2 2 */ | |
float terrain_height; /* 4 4 */ | |
float * rivers; /* 8 8 */ | |
float * valley; /* 16 8 */ | |
float valley_profile; /* 24 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
float * slope; /* 32 8 */ | |
float inter_valley_fill; /* 40 4 */ | |
/* size: 48, cachelines: 1, members: 8 */ | |
/* sum members: 40, holes: 1, sum holes: 4 */ | |
/* padding: 4 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct MapgenValleysParams : MapgenParams { | |
/* struct MapgenParams <ancestor>; */ /* 0 0 */ | |
/* XXX 40 bytes hole, try to pack */ | |
u32 spflags; /* 40 4 */ | |
s16 large_cave_depth; /* 44 2 */ | |
s16 massive_cave_depth; /* 46 2 */ | |
u16 altitude_chill; /* 48 2 */ | |
u16 lava_features; /* 50 2 */ | |
u16 river_depth; /* 52 2 */ | |
u16 river_size; /* 54 2 */ | |
u16 water_features; /* 56 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float cave_width; /* 60 4 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
struct NoiseParams np_cave1; /* 64 40 */ | |
struct NoiseParams np_cave2; /* 104 40 */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
struct NoiseParams np_filler_depth; /* 144 40 */ | |
struct NoiseParams np_inter_valley_fill; /* 184 40 */ | |
/* --- cacheline 3 boundary (192 bytes) was 32 bytes ago --- */ | |
struct NoiseParams np_inter_valley_slope; /* 224 40 */ | |
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ | |
struct NoiseParams np_rivers; /* 264 40 */ | |
struct NoiseParams np_massive_caves; /* 304 40 */ | |
/* --- cacheline 5 boundary (320 bytes) was 24 bytes ago --- */ | |
struct NoiseParams np_terrain_height; /* 344 40 */ | |
/* --- cacheline 6 boundary (384 bytes) --- */ | |
struct NoiseParams np_valley_depth; /* 384 40 */ | |
struct NoiseParams np_valley_profile; /* 424 40 */ | |
void MapgenValleysParams(class MapgenValleysParams *, const class MapgenValleysParams &); | |
void MapgenValleysParams(class MapgenValleysParams *); | |
virtual void ~MapgenValleysParams(class MapgenValleysParams *, int); | |
virtual void readParams(class MapgenValleysParams *, const class Settings *); | |
virtual void writeParams(const class MapgenValleysParams *, class Settings *); | |
/* vtable has 2 entries: { | |
[2] = readParams((null)), | |
[3] = writeParams((null)), | |
} */ | |
/* size: 464, cachelines: 8, members: 20 */ | |
/* sum members: 422, holes: 2, sum holes: 42 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class MapgenValleys : public MapgenBasic { | |
public: | |
/* class MapgenBasic <ancestor>; */ /* 0 0 */ | |
/* XXX 356 bytes hole, try to pack */ | |
/* --- cacheline 5 boundary (320 bytes) was 36 bytes ago --- */ | |
s16 large_cave_depth; /* 356 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class BiomeGenOriginal * m_bgen; /* 360 8 */ | |
bool humid_rivers; /* 368 1 */ | |
bool use_altitude_chill; /* 369 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float humidity_adjust; /* 372 4 */ | |
s16 cave_water_max_height; /* 376 2 */ | |
s16 lava_max_height; /* 378 2 */ | |
float altitude_chill; /* 380 4 */ | |
/* --- cacheline 6 boundary (384 bytes) --- */ | |
s16 lava_features_lim; /* 384 2 */ | |
s16 massive_cave_depth; /* 386 2 */ | |
float river_depth_bed; /* 388 4 */ | |
float river_size_factor; /* 392 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
float * tcave_cache; /* 400 8 */ | |
s16 water_features_lim; /* 408 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class Noise * noise_inter_valley_fill; /* 416 8 */ | |
class Noise * noise_inter_valley_slope; /* 424 8 */ | |
class Noise * noise_rivers; /* 432 8 */ | |
class Noise * noise_cave1; /* 440 8 */ | |
/* --- cacheline 7 boundary (448 bytes) --- */ | |
class Noise * noise_cave2; /* 448 8 */ | |
class Noise * noise_massive_caves; /* 456 8 */ | |
class Noise * noise_terrain_height; /* 464 8 */ | |
class Noise * noise_valley_depth; /* 472 8 */ | |
class Noise * noise_valley_profile; /* 480 8 */ | |
void MapgenValleys(class MapgenValleys *, const class MapgenValleys &); | |
void MapgenValleys(class MapgenValleys *, int, class MapgenValleysParams *, class EmergeManager *); | |
virtual void ~MapgenValleys(class MapgenValleys *, int); | |
virtual enum MapgenType getType(const class MapgenValleys *); | |
virtual void makeChunk(class MapgenValleys *, class BlockMakeData *); | |
virtual int getSpawnLevelAtPoint(class MapgenValleys *, v2s16); | |
float terrainLevelAtPoint(class MapgenValleys *, s16, s16); | |
void calculateNoise(class MapgenValleys *); | |
virtual int generateTerrain(class MapgenValleys *); | |
float terrainLevelFromNoise(class MapgenValleys *, class TerrainNoise *); | |
float adjustedTerrainLevelFromNoise(class MapgenValleys *, class TerrainNoise *); | |
virtual void generateCaves(class MapgenValleys *, s16, s16); | |
/* vtable has 5 entries: { | |
[2] = getType((null)), | |
[3] = makeChunk((null)), | |
[5] = getSpawnLevelAtPoint((null)), | |
[11] = generateTerrain((null)), | |
[6] = generateCaves((null)), | |
} */ | |
/* size: 488, cachelines: 8, members: 24 */ | |
/* sum members: 118, holes: 5, sum holes: 370 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class MapSector { | |
public: | |
int ()(void) * * _vptr.MapSector; /* 0 8 */ | |
bool differs_from_disk; /* 8 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
protected: | |
class unordered_map<short int, MapBlock*, std::hash<short int>, std::equal_to<short int>, std::allocator<std::pair<short int const, MapBlock*> > > m_blocks; /* 16 56 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class Map * m_parent; /* 72 8 */ | |
v2s16 m_pos; /* 80 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class IGameDef * m_gamedef; /* 88 8 */ | |
class MapBlock * m_block_cache; /* 96 8 */ | |
s16 m_block_cache_y; /* 104 2 */ | |
public: | |
void MapSector(class MapSector *, const class MapSector &); | |
void MapSector(class MapSector *, class Map *, v2s16, class IGameDef *); | |
virtual void ~MapSector(class MapSector *, int); | |
virtual u32 getId(const class MapSector *); | |
void deleteBlocks(class MapSector *); | |
v2s16 getPos(class MapSector *); | |
class MapBlock * getBlockNoCreateNoEx(class MapSector *, s16); | |
class MapBlock * createBlankBlockNoInsert(class MapSector *, s16); | |
class MapBlock * createBlankBlock(class MapSector *, s16); | |
void insertBlock(class MapSector *, class MapBlock *); | |
void deleteBlock(class MapSector *, class MapBlock *); | |
void getBlocks(class MapSector *, MapBlockVect &); | |
bool empty(const class MapSector *); | |
protected: | |
class MapBlock * getBlockBuffered(class MapSector *, s16); | |
/* vtable has 1 entries: { | |
[2] = getId((null)), | |
} */ | |
/* size: 112, cachelines: 2, members: 8 */ | |
/* sum members: 95, holes: 2, sum holes: 11 */ | |
/* padding: 6 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class ClientMapSector : public MapSector { | |
public: | |
/* class MapSector <ancestor>; */ /* 0 112 */ | |
/* XXX last struct has 6 bytes of padding */ | |
void ClientMapSector(class ClientMapSector *, const class ClientMapSector &); | |
void ClientMapSector(class ClientMapSector *, class Map *, v2s16, class IGameDef *); | |
virtual void ~ClientMapSector(class ClientMapSector *, int); | |
virtual u32 getId(const class ClientMapSector *); | |
/* vtable has 1 entries: { | |
[2] = getId((null)), | |
} */ | |
/* size: 112, cachelines: 2, members: 1 */ | |
/* paddings: 1, sum paddings: 6 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 112 != 0 + 0(holes), diff = 112 */ | |
}; | |
class ServerMapSector : public MapSector { | |
public: | |
/* class MapSector <ancestor>; */ /* 0 112 */ | |
/* XXX last struct has 6 bytes of padding */ | |
void ServerMapSector(class ServerMapSector *, const class ServerMapSector &); | |
void ServerMapSector(class ServerMapSector *, class Map *, v2s16, class IGameDef *); | |
virtual void ~ServerMapSector(class ServerMapSector *, int); | |
virtual u32 getId(const class ServerMapSector *); | |
void serialize(class ServerMapSector *, ostream &, u8); | |
class ServerMapSector * deSerialize(istream &, class Map *, v2s16, class map<irr::core::vector2d<short int>, MapSector*, std::less<irr::core::vector2d<short int> >, std::allocator<std::pair<cons, class IGameDef *); | |
/* vtable has 1 entries: { | |
[2] = getId((null)), | |
} */ | |
/* size: 112, cachelines: 2, members: 1 */ | |
/* paddings: 1, sum paddings: 6 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 112 != 0 + 0(holes), diff = 112 */ | |
}; | |
struct vcache { | |
class array<unsigned int, irr::core::irrAllocator<unsigned int> > tris; /* 0 32 */ | |
/* XXX last struct has 4 bytes of padding */ | |
float score; /* 32 4 */ | |
s16 cachepos; /* 36 2 */ | |
u16 NumActiveTris; /* 38 2 */ | |
void ~vcache(class vcache *, int); | |
void vcache(class vcache *); | |
/* size: 40, cachelines: 1, members: 4 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct tcache { | |
u16 ind[3]; /* 0 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float score; /* 8 4 */ | |
bool drawn; /* 12 1 */ | |
/* size: 16, cachelines: 1, members: 3 */ | |
/* sum members: 11, holes: 1, sum holes: 2 */ | |
/* padding: 3 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class f_lru { | |
s32 cache[32]; /* 0 128 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class vcache * vc; /* 128 8 */ | |
class tcache * tc; /* 136 8 */ | |
public: | |
void f_lru(class f_lru *, class vcache *, class tcache *); | |
u32 add(class f_lru *, u16, bool); | |
/* size: 144, cachelines: 3, members: 3 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct CachedMapBlockData { | |
v3s16 p; /* 0 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class MapNode * data; /* 8 8 */ | |
int refcount_from_queue; /* 16 4 */ | |
int last_used_timestamp; /* 20 4 */ | |
void CachedMapBlockData(class CachedMapBlockData *); | |
void ~CachedMapBlockData(class CachedMapBlockData *, int); | |
/* size: 24, cachelines: 1, members: 4 */ | |
/* sum members: 22, holes: 1, sum holes: 2 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct QueuedMeshUpdate { | |
v3s16 p; /* 0 6 */ | |
bool ack_block_to_server; /* 6 1 */ | |
bool urgent; /* 7 1 */ | |
int crack_level; /* 8 4 */ | |
v3s16 crack_pos; /* 12 6 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class MeshMakeData * data; /* 24 8 */ | |
void QueuedMeshUpdate(class QueuedMeshUpdate *); | |
void ~QueuedMeshUpdate(class QueuedMeshUpdate *, int); | |
/* size: 32, cachelines: 1, members: 6 */ | |
/* sum members: 26, holes: 1, sum holes: 6 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class MeshUpdateQueue { | |
enum UpdateMode { | |
FORCE_UPDATE = 0, | |
SKIP_UPDATE_IF_ALREADY_CACHED = 1, | |
}; | |
class Client * m_client; /* 0 8 */ | |
class vector<QueuedMeshUpdate*, std::allocator<QueuedMeshUpdate*> > m_queue; /* 8 24 */ | |
class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short int> > > m_urgents; /* 32 48 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
class map<irr::core::vector3d<short int>, CachedMapBlockData*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, CachedMapBlockData*> > > m_cache; /* 80 48 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
Mutex m_mutex; /* 128 40 */ | |
bool m_cache_enable_shaders; /* 168 1 */ | |
bool m_cache_use_tangent_vertices; /* 169 1 */ | |
bool m_cache_smooth_lighting; /* 170 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
int m_meshgen_block_cache_size; /* 172 4 */ | |
public: | |
void MeshUpdateQueue(class MeshUpdateQueue *, class Client *); | |
void ~MeshUpdateQueue(class MeshUpdateQueue *, int); | |
void addBlock(class MeshUpdateQueue *, class Map *, v3s16, bool, bool); | |
class QueuedMeshUpdate * pop(class MeshUpdateQueue *); | |
u32 size(class MeshUpdateQueue *); | |
class CachedMapBlockData * cacheBlock(class MeshUpdateQueue *, class Map *, v3s16, enum UpdateMode, size_t *); | |
class CachedMapBlockData * getCachedBlock(class MeshUpdateQueue *, const v3s16 &); | |
void fillDataFromMapBlockCache(class MeshUpdateQueue *, class QueuedMeshUpdate *); | |
void cleanupCache(class MeshUpdateQueue *); | |
/* size: 176, cachelines: 3, members: 9 */ | |
/* sum members: 175, holes: 1, sum holes: 1 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class MeshUpdateThread : public UpdateThread { | |
public: | |
/* class UpdateThread <ancestor>; */ /* 0 176 */ | |
/* --- cacheline 2 boundary (128 bytes) was 48 bytes ago --- */ | |
v3s16 m_camera_offset; /* 176 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class MutexedQueue<MeshUpdateResult> m_queue_out; /* 184 152 */ | |
/* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */ | |
class MeshUpdateQueue m_queue_in; /* 336 176 */ | |
/* --- cacheline 8 boundary (512 bytes) --- */ | |
int m_generation_interval; /* 512 4 */ | |
void MeshUpdateThread(class MeshUpdateThread *, ); | |
void MeshUpdateThread(class MeshUpdateThread *, const class MeshUpdateThread &); | |
void MeshUpdateThread(class MeshUpdateThread *, class Client *); | |
void updateBlock(class MeshUpdateThread *, class Map *, v3s16, bool, bool); | |
protected: | |
virtual void doUpdate(class MeshUpdateThread *); | |
public: | |
virtual void ~MeshUpdateThread(class MeshUpdateThread *, int); | |
/* vtable has 1 entries: { | |
[3] = doUpdate((null)), | |
} */ | |
/* size: 520, cachelines: 9, members: 5 */ | |
/* sum members: 338, holes: 1, sum holes: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 520 != 338 + 2(holes), diff = 180 */ | |
}; | |
class Metadata { | |
public: | |
int ()(void) * * _vptr.Metadata; /* 0 8 */ | |
protected: | |
StringMap m_stringvars; /* 8 56 */ | |
public: | |
virtual void ~Metadata(class Metadata *, int); | |
virtual void clear(class Metadata *); | |
virtual bool empty(const class Metadata *); | |
bool operator==(const class Metadata *, const class Metadata &); | |
bool operator!=(const class Metadata *, const class Metadata &); | |
size_t size(const class Metadata *); | |
bool contains(const class Metadata *, const string &); | |
const string & getString(const class Metadata *, const string &, u16); | |
virtual bool setString(class Metadata *, const string &, const string &); | |
const StringMap & getStrings(const class Metadata *); | |
const string & resolveString(const class Metadata *, const string &, u16); | |
/* vtable has 3 entries: { | |
[2] = clear((null)), | |
[3] = empty((null)), | |
[4] = setString((null)), | |
} */ | |
/* size: 64, cachelines: 1, members: 2 */ | |
}; | |
class BiomeManager : public ObjDefManager { | |
public: | |
/* class ObjDefManager <ancestor>; */ /* 0 0 */ | |
/* XXX 48 bytes hole, try to pack */ | |
class Server * m_server; /* 48 8 */ | |
void BiomeManager(class BiomeManager *, const class BiomeManager &); | |
void BiomeManager(class BiomeManager *, class Server *); | |
virtual void ~BiomeManager(class BiomeManager *, int); | |
virtual const char * getObjectTitle(const class BiomeManager *); | |
class Biome * create(enum BiomeType); | |
class BiomeGen * createBiomeGen(class BiomeManager *, enum BiomeGenType, class BiomeParams *, v3s16); | |
class BiomeParams * createBiomeParams(enum BiomeGenType); | |
virtual void clear(class BiomeManager *); | |
/* vtable has 2 entries: { | |
[2] = getObjectTitle((null)), | |
[3] = clear((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* sum members: 8, holes: 1, sum holes: 48 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class Biome : public ObjDef, public NodeResolver { | |
public: | |
/* class ObjDef <ancestor>; */ /* 0 56 */ | |
/* class NodeResolver <ancestor>; */ /* 56 0 */ | |
/* XXX 76 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ | |
u32 flags; /* 132 4 */ | |
content_t c_top; /* 136 2 */ | |
content_t c_filler; /* 138 2 */ | |
content_t c_stone; /* 140 2 */ | |
content_t c_water_top; /* 142 2 */ | |
content_t c_water; /* 144 2 */ | |
content_t c_river_water; /* 146 2 */ | |
content_t c_riverbed; /* 148 2 */ | |
content_t c_dust; /* 150 2 */ | |
s16 depth_top; /* 152 2 */ | |
s16 depth_filler; /* 154 2 */ | |
s16 depth_water_top; /* 156 2 */ | |
s16 depth_riverbed; /* 158 2 */ | |
s16 y_min; /* 160 2 */ | |
s16 y_max; /* 162 2 */ | |
float heat_point; /* 164 4 */ | |
float humidity_point; /* 168 4 */ | |
void Biome(class Biome *, ); | |
void Biome(class Biome *, const class Biome &); | |
void Biome(class Biome *); | |
virtual void resolveNodeNames(class Biome *); | |
virtual void ~Biome(class Biome *, int); | |
/* vtable has 1 entries: { | |
[2] = resolveNodeNames((null)), | |
} */ | |
/* size: 176, cachelines: 3, members: 19 */ | |
/* sum members: 40, holes: 1, sum holes: 76 */ | |
/* padding: 4 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 176 != 40 + 76(holes), diff = 60 */ | |
}; | |
class BiomeGenOriginal : public BiomeGen { | |
public: | |
/* class BiomeGen <ancestor>; */ /* 0 40 */ | |
/* XXX last struct has 4 bytes of padding */ | |
float * heatmap; /* 40 8 */ | |
float * humidmap; /* 48 8 */ | |
class BiomeParamsOriginal * m_params; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class Noise * noise_heat; /* 64 8 */ | |
class Noise * noise_humidity; /* 72 8 */ | |
class Noise * noise_heat_blend; /* 80 8 */ | |
class Noise * noise_humidity_blend; /* 88 8 */ | |
void BiomeGenOriginal(class BiomeGenOriginal *, const class BiomeGenOriginal &); | |
void BiomeGenOriginal(class BiomeGenOriginal *, class BiomeManager *, class BiomeParamsOriginal *, v3s16); | |
virtual void ~BiomeGenOriginal(class BiomeGenOriginal *, int); | |
virtual enum BiomeGenType getType(const class BiomeGenOriginal *); | |
virtual class Biome * calcBiomeAtPoint(const class BiomeGenOriginal *, v3s16); | |
virtual void calcBiomeNoise(class BiomeGenOriginal *, v3s16); | |
virtual biome_t * getBiomes(class BiomeGenOriginal *, s16 *); | |
virtual class Biome * getBiomeAtPoint(const class BiomeGenOriginal *, v3s16); | |
virtual class Biome * getBiomeAtIndex(const class BiomeGenOriginal *, size_t, s16); | |
class Biome * calcBiomeFromNoise(const class BiomeGenOriginal *, float, float, s16); | |
/* vtable has 6 entries: { | |
[2] = getType((null)), | |
[3] = calcBiomeAtPoint((null)), | |
[4] = calcBiomeNoise((null)), | |
[5] = getBiomes((null)), | |
[6] = getBiomeAtPoint((null)), | |
[7] = getBiomeAtIndex((null)), | |
} */ | |
/* size: 96, cachelines: 2, members: 8 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 96 != 56 + 0(holes), diff = 40 */ | |
}; | |
struct BiomeParamsOriginal : BiomeParams { | |
/* struct BiomeParams <ancestor>; */ /* 0 16 */ | |
/* XXX last struct has 4 bytes of padding */ | |
struct NoiseParams np_heat; /* 12 40 */ | |
struct NoiseParams np_humidity; /* 52 40 */ | |
/* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */ | |
struct NoiseParams np_heat_blend; /* 92 40 */ | |
/* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ | |
struct NoiseParams np_humidity_blend; /* 132 40 */ | |
void BiomeParamsOriginal(class BiomeParamsOriginal *, ); | |
void BiomeParamsOriginal(class BiomeParamsOriginal *, const class BiomeParamsOriginal &); | |
void BiomeParamsOriginal(class BiomeParamsOriginal *); | |
virtual void readParams(class BiomeParamsOriginal *, const class Settings *); | |
virtual void writeParams(const class BiomeParamsOriginal *, class Settings *); | |
virtual void ~BiomeParamsOriginal(class BiomeParamsOriginal *, int); | |
/* vtable has 2 entries: { | |
[0] = readParams((null)), | |
[1] = writeParams((null)), | |
} */ | |
/* size: 176, cachelines: 3, members: 5 */ | |
/* padding: 4 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 176 != 160 + 0(holes), diff = 16 */ | |
}; | |
class DecoSchematic : public Decoration { | |
public: | |
/* class Decoration <ancestor>; */ /* 0 312 */ | |
/* --- cacheline 4 boundary (256 bytes) was 56 bytes ago --- */ | |
enum Rotation rotation; /* 312 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
class Schematic * schematic; /* 320 8 */ | |
void DecoSchematic(class DecoSchematic *, ); | |
void DecoSchematic(class DecoSchematic *, const class DecoSchematic &); | |
void DecoSchematic(class DecoSchematic *); | |
virtual size_t generate(class DecoSchematic *, class MMVManip *, class PcgRandom *, v3s16); | |
virtual int getHeight(class DecoSchematic *); | |
virtual void ~DecoSchematic(class DecoSchematic *, int); | |
/* vtable has 2 entries: { | |
[3] = generate((null)), | |
[4] = getHeight((null)), | |
} */ | |
/* size: 328, cachelines: 6, members: 3 */ | |
/* sum members: 12, holes: 1, sum holes: 4 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 328 != 12 + 4(holes), diff = 312 */ | |
}; | |
class Decoration : public ObjDef, public NodeResolver { | |
public: | |
/* class ObjDef <ancestor>; */ /* 0 56 */ | |
/* class NodeResolver <ancestor>; */ /* 56 0 */ | |
/* XXX 76 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ | |
u32 flags; /* 132 4 */ | |
int mapseed; /* 136 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > c_place_on; /* 144 24 */ | |
s16 sidelen; /* 168 2 */ | |
s16 y_min; /* 170 2 */ | |
s16 y_max; /* 172 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
float fill_ratio; /* 176 4 */ | |
struct NoiseParams np; /* 180 40 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 3 boundary (192 bytes) was 32 bytes ago --- */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > c_spawnby; /* 224 24 */ | |
s16 nspawnby; /* 248 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
class unordered_set<unsigned char, std::hash<unsigned char>, std::equal_to<unsigned char>, std::allocator<unsigned char> > biomes; /* 256 56 */ | |
void Decoration(class Decoration *, const class Decoration &); | |
void Decoration(class Decoration *); | |
virtual void ~Decoration(class Decoration *, int); | |
virtual void resolveNodeNames(class Decoration *); | |
bool canPlaceDecoration(class Decoration *, class MMVManip *, v3s16); | |
size_t placeDeco(class Decoration *, class Mapgen *, u32, v3s16, v3s16); | |
virtual size_t generate(class Decoration *, class MMVManip *, class PcgRandom *, v3s16); | |
virtual int getHeight(class Decoration *); | |
/* vtable has 3 entries: { | |
[2] = resolveNodeNames((null)), | |
[3] = generate((null)), | |
[4] = getHeight((null)), | |
} */ | |
/* size: 312, cachelines: 5, members: 13 */ | |
/* sum members: 164, holes: 5, sum holes: 92 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 312 != 164 + 92(holes), diff = 56 */ | |
}; | |
class DecoSimple : public Decoration { | |
public: | |
/* class Decoration <ancestor>; */ /* 0 312 */ | |
/* --- cacheline 4 boundary (256 bytes) was 56 bytes ago --- */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > c_decos; /* 312 24 */ | |
/* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */ | |
s16 deco_height; /* 336 2 */ | |
s16 deco_height_max; /* 338 2 */ | |
u8 deco_param2; /* 340 1 */ | |
void DecoSimple(class DecoSimple *, ); | |
void DecoSimple(class DecoSimple *, const class DecoSimple &); | |
void DecoSimple(class DecoSimple *); | |
virtual void resolveNodeNames(class DecoSimple *); | |
virtual size_t generate(class DecoSimple *, class MMVManip *, class PcgRandom *, v3s16); | |
virtual int getHeight(class DecoSimple *); | |
virtual void ~DecoSimple(class DecoSimple *, int); | |
/* vtable has 3 entries: { | |
[2] = resolveNodeNames((null)), | |
[3] = generate((null)), | |
[4] = getHeight((null)), | |
} */ | |
/* size: 344, cachelines: 6, members: 5 */ | |
/* padding: 3 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 344 != 29 + 0(holes), diff = 315 */ | |
}; | |
class OreVein : public Ore { | |
public: | |
/* class Ore <ancestor>; */ /* 0 288 */ | |
static boolconst NEEDS_NOISE = 1; /* 0 0 */ | |
/* --- cacheline 4 boundary (256 bytes) was 32 bytes ago --- */ | |
float random_factor; /* 288 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class Noise * noise2; /* 296 8 */ | |
void OreVein(class OreVein *, const class OreVein &); | |
void OreVein(class OreVein *); | |
virtual void ~OreVein(class OreVein *, int); | |
virtual void generate(class OreVein *, class MMVManip *, int, u32, v3s16, v3s16, u8 *); | |
/* vtable has 1 entries: { | |
[3] = generate((null)), | |
} */ | |
/* size: 304, cachelines: 5, members: 3, static members: 1 */ | |
/* sum members: 12, holes: 1, sum holes: 4 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 304 != 12 + 4(holes), diff = 288 */ | |
}; | |
class Ore : public ObjDef, public NodeResolver { | |
public: | |
/* class ObjDef <ancestor>; */ /* 0 56 */ | |
/* class NodeResolver <ancestor>; */ /* 56 0 */ | |
/* XXX 74 bytes hole, try to pack */ | |
static boolconst NEEDS_NOISE /* 0 0 */ | |
/* --- cacheline 2 boundary (128 bytes) was 2 bytes ago --- */ | |
content_t c_ore; /* 130 2 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > c_wherein; /* 136 24 */ | |
u32 clust_scarcity; /* 160 4 */ | |
s16 clust_num_ores; /* 164 2 */ | |
s16 clust_size; /* 166 2 */ | |
s16 y_min; /* 168 2 */ | |
s16 y_max; /* 170 2 */ | |
u8 ore_param2; /* 172 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
u32 flags; /* 176 4 */ | |
float nthresh; /* 180 4 */ | |
struct NoiseParams np; /* 184 40 */ | |
/* --- cacheline 3 boundary (192 bytes) was 32 bytes ago --- */ | |
class Noise * noise; /* 224 8 */ | |
class unordered_set<unsigned char, std::hash<unsigned char>, std::equal_to<unsigned char>, std::allocator<unsigned char> > biomes; /* 232 56 */ | |
void Ore(class Ore *, const class Ore &); | |
void Ore(class Ore *); | |
virtual void ~Ore(class Ore *, int); | |
virtual void resolveNodeNames(class Ore *); | |
size_t placeOre(class Ore *, class Mapgen *, u32, v3s16, v3s16); | |
virtual void generate(class Ore *, class MMVManip *, int, u32, v3s16, v3s16, u8 *); | |
/* vtable has 2 entries: { | |
[2] = resolveNodeNames((null)), | |
[3] = generate((null)), | |
} */ | |
/* size: 288, cachelines: 5, members: 15, static members: 1 */ | |
/* sum members: 151, holes: 3, sum holes: 81 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 288 != 151 + 81(holes), diff = 56 */ | |
}; | |
class OreBlob : public Ore { | |
public: | |
/* class Ore <ancestor>; */ /* 0 288 */ | |
static boolconst NEEDS_NOISE = 1; /* 0 0 */ | |
void OreBlob(class OreBlob *, ); | |
void OreBlob(class OreBlob *, const class OreBlob &); | |
void OreBlob(class OreBlob *); | |
virtual void generate(class OreBlob *, class MMVManip *, int, u32, v3s16, v3s16, u8 *); | |
virtual void ~OreBlob(class OreBlob *, int); | |
/* vtable has 1 entries: { | |
[3] = generate((null)), | |
} */ | |
/* size: 288, cachelines: 5, members: 1, static members: 1 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 288 != 0 + 0(holes), diff = 288 */ | |
}; | |
class OrePuff : public Ore { | |
public: | |
/* class Ore <ancestor>; */ /* 0 288 */ | |
static boolconst NEEDS_NOISE = 1; /* 0 0 */ | |
/* --- cacheline 4 boundary (256 bytes) was 32 bytes ago --- */ | |
struct NoiseParams np_puff_top; /* 288 40 */ | |
/* --- cacheline 5 boundary (320 bytes) was 8 bytes ago --- */ | |
struct NoiseParams np_puff_bottom; /* 328 40 */ | |
class Noise * noise_puff_top; /* 368 8 */ | |
class Noise * noise_puff_bottom; /* 376 8 */ | |
void OrePuff(class OrePuff *, const class OrePuff &); | |
void OrePuff(class OrePuff *); | |
virtual void ~OrePuff(class OrePuff *, int); | |
virtual void generate(class OrePuff *, class MMVManip *, int, u32, v3s16, v3s16, u8 *); | |
/* vtable has 1 entries: { | |
[3] = generate((null)), | |
} */ | |
/* size: 384, cachelines: 6, members: 5, static members: 1 */ | |
/* BRAIN FART ALERT! 384 != 96 + 0(holes), diff = 288 */ | |
}; | |
class OreSheet : public Ore { | |
public: | |
/* class Ore <ancestor>; */ /* 0 288 */ | |
static boolconst NEEDS_NOISE = 1; /* 0 0 */ | |
/* --- cacheline 4 boundary (256 bytes) was 32 bytes ago --- */ | |
u16 column_height_min; /* 288 2 */ | |
u16 column_height_max; /* 290 2 */ | |
float column_midpoint_factor; /* 292 4 */ | |
void OreSheet(class OreSheet *, ); | |
void OreSheet(class OreSheet *, const class OreSheet &); | |
void OreSheet(class OreSheet *); | |
virtual void generate(class OreSheet *, class MMVManip *, int, u32, v3s16, v3s16, u8 *); | |
virtual void ~OreSheet(class OreSheet *, int); | |
/* vtable has 1 entries: { | |
[3] = generate((null)), | |
} */ | |
/* size: 296, cachelines: 5, members: 4, static members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 296 != 8 + 0(holes), diff = 288 */ | |
}; | |
class OreScatter : public Ore { | |
public: | |
/* class Ore <ancestor>; */ /* 0 288 */ | |
static boolconst NEEDS_NOISE /* 0 0 */ | |
void OreScatter(class OreScatter *, ); | |
void OreScatter(class OreScatter *, const class OreScatter &); | |
void OreScatter(class OreScatter *); | |
virtual void generate(class OreScatter *, class MMVManip *, int, u32, v3s16, v3s16, u8 *); | |
virtual void ~OreScatter(class OreScatter *, int); | |
/* vtable has 1 entries: { | |
[3] = generate((null)), | |
} */ | |
/* size: 288, cachelines: 5, members: 1, static members: 1 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 288 != 0 + 0(holes), diff = 288 */ | |
}; | |
class OreManager : public ObjDefManager { | |
public: | |
/* class ObjDefManager <ancestor>; */ /* 0 0 */ | |
void OreManager(class OreManager *, const class OreManager &); | |
void OreManager(class OreManager *, class IGameDef *); | |
virtual void ~OreManager(class OreManager *, int); | |
virtual const char * getObjectTitle(const class OreManager *); | |
class Ore * create(enum OreType); | |
virtual void clear(class OreManager *); | |
size_t placeAllOres(class OreManager *, class Mapgen *, u32, v3s16, v3s16); | |
/* vtable has 2 entries: { | |
[2] = getObjectTitle((null)), | |
[3] = clear((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 1 */ | |
/* padding: 48 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class SchematicManager : public ObjDefManager { | |
public: | |
/* class ObjDefManager <ancestor>; */ /* 0 0 */ | |
/* XXX 48 bytes hole, try to pack */ | |
class Server * m_server; /* 48 8 */ | |
void SchematicManager(class SchematicManager *, const class SchematicManager &); | |
void SchematicManager(class SchematicManager *, class Server *); | |
virtual void ~SchematicManager(class SchematicManager *, int); | |
virtual void clear(class SchematicManager *); | |
virtual const char * getObjectTitle(const class SchematicManager *); | |
class Schematic * create(enum SchematicType); | |
/* vtable has 2 entries: { | |
[3] = clear((null)), | |
[2] = getObjectTitle((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* sum members: 8, holes: 1, sum holes: 48 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class Schematic : public ObjDef, public NodeResolver { | |
public: | |
/* class ObjDef <ancestor>; */ /* 0 56 */ | |
/* class NodeResolver <ancestor>; */ /* 56 0 */ | |
/* XXX 80 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
class vector<short unsigned int, std::allocator<short unsigned int> > c_nodes; /* 136 24 */ | |
u32 flags; /* 160 4 */ | |
v3s16 size; /* 164 6 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class MapNode * schemdata; /* 176 8 */ | |
u8 * slice_probs; /* 184 8 */ | |
void Schematic(class Schematic *, const class Schematic &); | |
void Schematic(class Schematic *); | |
virtual void ~Schematic(class Schematic *, int); | |
virtual void resolveNodeNames(class Schematic *); | |
bool loadSchematicFromFile(class Schematic *, const string &, class INodeDefManager *, StringMap *); | |
bool saveSchematicToFile(class Schematic *, const string &, class INodeDefManager *); | |
bool getSchematicFromMap(class Schematic *, class Map *, v3s16, v3s16); | |
bool deserializeFromMts(class Schematic *, istream *, class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi); | |
bool serializeToMts(class Schematic *, ostream *, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11); | |
bool serializeToLua(class Schematic *, ostream *, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11, bool, u32); | |
void blitToVManip(class Schematic *, class MMVManip *, v3s16, enum Rotation, bool); | |
bool placeOnVManip(class Schematic *, class MMVManip *, v3s16, u32, enum Rotation, bool); | |
void placeOnMap(class Schematic *, class ServerMap *, v3s16, u32, enum Rotation, bool); | |
void applyProbabilities(class Schematic *, v3s16, class vector<std::pair<irr::core::vector3d<short int>, unsigned char>, std::allocator<std::pair<irr::core::vector3d<short int>,, class vector<std::pair<short int, unsigned char>, std::allocator<std::pair<short int, unsigned char> > > *); | |
/* vtable has 1 entries: { | |
[2] = resolveNodeNames((null)), | |
} */ | |
/* size: 192, cachelines: 3, members: 7 */ | |
/* sum members: 50, holes: 2, sum holes: 86 */ | |
/* BRAIN FART ALERT! 192 != 50 + 86(holes), diff = 56 */ | |
}; | |
struct MinimapModeDef { | |
bool is_radar; /* 0 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 scan_height; /* 2 2 */ | |
u16 map_size; /* 4 2 */ | |
/* size: 6, cachelines: 1, members: 3 */ | |
/* sum members: 5, holes: 1, sum holes: 1 */ | |
/* last cacheline: 6 bytes */ | |
}; | |
struct QueuedMinimapUpdate { | |
v3s16 pos; /* 0 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class MinimapMapblock * data; /* 8 8 */ | |
void QueuedMinimapUpdate(class QueuedMinimapUpdate *, const class QueuedMinimapUpdate &); | |
class QueuedMinimapUpdate & operator=(class QueuedMinimapUpdate *, const class QueuedMinimapUpdate &); | |
void QueuedMinimapUpdate(class QueuedMinimapUpdate *); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* sum members: 14, holes: 1, sum holes: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class MinimapUpdateThread : public UpdateThread { | |
public: | |
/* class UpdateThread <ancestor>; */ /* 0 176 */ | |
/* --- cacheline 2 boundary (128 bytes) was 48 bytes ago --- */ | |
class MinimapData * data; /* 176 8 */ | |
Mutex m_queue_mutex; /* 184 40 */ | |
/* --- cacheline 3 boundary (192 bytes) was 32 bytes ago --- */ | |
class deque<QueuedMinimapUpdate, std::allocator<QueuedMinimapUpdate> > m_update_queue; /* 224 80 */ | |
/* --- cacheline 4 boundary (256 bytes) was 48 bytes ago --- */ | |
class map<irr::core::vector3d<short int>, MinimapMapblock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, MinimapMapblock*> > > m_blocks_cache; /* 304 48 */ | |
void MinimapUpdateThread(class MinimapUpdateThread *, const class MinimapUpdateThread &); | |
void MinimapUpdateThread(class MinimapUpdateThread *); | |
virtual void ~MinimapUpdateThread(class MinimapUpdateThread *, int); | |
void getMap(class MinimapUpdateThread *, v3s16, s16, s16); | |
void enqueueBlock(class MinimapUpdateThread *, v3s16, class MinimapMapblock *); | |
bool pushBlockUpdate(class MinimapUpdateThread *, v3s16, class MinimapMapblock *); | |
bool popBlockUpdate(class MinimapUpdateThread *, class QueuedMinimapUpdate *); | |
protected: | |
virtual void doUpdate(class MinimapUpdateThread *); | |
/* vtable has 1 entries: { | |
[3] = doUpdate((null)), | |
} */ | |
/* size: 352, cachelines: 6, members: 5 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 352 != 176 + 0(holes), diff = 176 */ | |
}; | |
class ServerModConfiguration : public ModConfiguration { | |
public: | |
/* class ModConfiguration <ancestor>; */ /* 0 104 */ | |
void ServerModConfiguration(class ServerModConfiguration *, const string &); | |
/* size: 104, cachelines: 2, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 104 != 0 + 0(holes), diff = 104 */ | |
}; | |
class ModMetadata : public Metadata { | |
public: | |
/* class Metadata <ancestor>; */ /* 0 0 */ | |
/* XXX 64 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
string m_mod_name; /* 64 32 */ | |
bool m_modified; /* 96 1 */ | |
void ModMetadata(class ModMetadata *, const class ModMetadata &); | |
void ModMetadata(class ModMetadata *, const string &); | |
virtual void ~ModMetadata(class ModMetadata *, int); | |
virtual void clear(class ModMetadata *); | |
bool save(class ModMetadata *, const string &); | |
bool load(class ModMetadata *, const string &); | |
bool isModified(const class ModMetadata *); | |
const string & getModName(const class ModMetadata *); | |
virtual bool setString(class ModMetadata *, const string &, const string &); | |
/* vtable has 2 entries: { | |
[2] = clear((null)), | |
[4] = setString((null)), | |
} */ | |
/* size: 104, cachelines: 2, members: 3 */ | |
/* sum members: 33, holes: 1, sum holes: 64 */ | |
/* padding: 7 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class NodeResolver { | |
public: | |
int ()(void) * * _vptr.NodeResolver; /* 0 8 */ | |
u32 m_nodenames_idx; /* 8 4 */ | |
u32 m_nnlistsizes_idx; /* 12 4 */ | |
class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_nodenames; /* 16 24 */ | |
class vector<long unsigned int, std::allocator<long unsigned int> > m_nnlistsizes; /* 40 24 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class INodeDefManager * m_ndef; /* 64 8 */ | |
bool m_resolve_done; /* 72 1 */ | |
void NodeResolver(class NodeResolver *, const class NodeResolver &); | |
void NodeResolver(class NodeResolver *); | |
virtual void ~NodeResolver(class NodeResolver *, int); | |
virtual void resolveNodeNames(class NodeResolver *); | |
bool getIdFromNrBacklog(class NodeResolver *, content_t *, const string &, content_t); | |
bool getIdsFromNrBacklog(class NodeResolver *, class vector<short unsigned int, std::allocator<short unsigned int> > *, bool, content_t); | |
void nodeResolveInternal(class NodeResolver *); | |
/* vtable has 1 entries: { | |
[2] = resolveNodeNames((null)), | |
} */ | |
/* size: 80, cachelines: 2, members: 7 */ | |
/* padding: 7 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class CNodeDefManager : public IWritableNodeDefManager { | |
public: | |
/* class IWritableNodeDefManager <ancestor>; */ /* 0 8 */ | |
class vector<ContentFeatures, std::allocator<ContentFeatures> > m_content_features; /* 8 24 */ | |
class NameIdMapping m_name_id_mapping; /* 32 112 */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > > m_name_id_mapping_with_aliases; /* 144 56 */ | |
/* --- cacheline 3 boundary (192 bytes) was 8 bytes ago --- */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::list<std::pair<short unsigned int, int>, std::allocator<std::pair<short unsigned int, int> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::list<std::pair<short unsigned int, int>, std::allocator<std::pair<short unsigned int, int> > > > > > m_group_to_items; /* 200 56 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
content_t m_next_id; /* 256 2 */ | |
/* XXX 6 bytes hole, try to pack */ | |
class vector<NodeResolver*, std::allocator<NodeResolver*> > m_pending_resolve_callbacks; /* 264 24 */ | |
bool m_node_registration_complete; /* 288 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
aabb3f m_selection_box_union; /* 292 24 */ | |
class aabbox3d<short int> m_selection_box_int_union; /* 316 12 */ | |
class CNodeDefManager & operator=(class CNodeDefManager *, const class CNodeDefManager &); | |
void CNodeDefManager(class CNodeDefManager *, const class CNodeDefManager &); | |
void CNodeDefManager(class CNodeDefManager *); | |
virtual void ~CNodeDefManager(class CNodeDefManager *, int); | |
void clear(class CNodeDefManager *); | |
virtual class IWritableNodeDefManager * clone(class CNodeDefManager *); | |
virtual const class ContentFeatures & get(const class CNodeDefManager *, content_t); | |
virtual const class ContentFeatures & get(const class CNodeDefManager *, const class MapNode &); | |
virtual bool getId(const class CNodeDefManager *, const string &, content_t &); | |
virtual content_t getId(const class CNodeDefManager *, const string &); | |
virtual bool getIds(const class CNodeDefManager *, const string &, class set<short unsigned int, std::less<short unsigned int>, std::allocator<short unsigned int> > &); | |
virtual const class ContentFeatures & get(const class CNodeDefManager *, const string &); | |
content_t allocateId(class CNodeDefManager *); | |
virtual content_t set(class CNodeDefManager *, const string &, const class ContentFeatures &); | |
virtual content_t allocateDummy(class CNodeDefManager *, const string &); | |
virtual void removeNode(class CNodeDefManager *, const string &); | |
virtual void updateAliases(class CNodeDefManager *, class IItemDefManager *); | |
virtual void applyTextureOverrides(class CNodeDefManager *, const string &); | |
virtual void updateTextures(class CNodeDefManager *, class IGameDef *, void (*)(void *, u32, u32), void *); | |
virtual void serialize(const class CNodeDefManager *, ostream &, u16); | |
virtual void deSerialize(class CNodeDefManager *, istream &); | |
virtual bool getNodeRegistrationStatus(const class CNodeDefManager *); | |
virtual void setNodeRegistrationStatus(class CNodeDefManager *, bool); | |
virtual void pendNodeResolve(class CNodeDefManager *, class NodeResolver *); | |
virtual bool cancelNodeResolveCallback(class CNodeDefManager *, class NodeResolver *); | |
virtual void runNodeResolveCallbacks(class CNodeDefManager *); | |
virtual void resetNodeResolveState(class CNodeDefManager *); | |
virtual void mapNodeboxConnections(class CNodeDefManager *); | |
virtual bool nodeboxConnects(class CNodeDefManager *, class MapNode, class MapNode, u8); | |
virtual class aabbox3d<short int> getSelectionBoxIntUnion(const class CNodeDefManager *); | |
void addNameIdMapping(class CNodeDefManager *, content_t, string); | |
void fixSelectionBoxIntUnion(class CNodeDefManager *); | |
/* vtable has 24 entries: { | |
[14] = clone((null)), | |
[2] = get((null)), | |
[3] = get((null)), | |
[4] = getId((null)), | |
[5] = getId((null)), | |
[6] = getIds((null)), | |
[7] = get((null)), | |
[15] = set((null)), | |
[16] = allocateDummy((null)), | |
[17] = removeNode((null)), | |
[18] = updateAliases((null)), | |
[19] = applyTextureOverrides((null)), | |
[20] = updateTextures((null)), | |
[8] = serialize((null)), | |
[21] = deSerialize((null)), | |
[9] = getNodeRegistrationStatus((null)), | |
[22] = setNodeRegistrationStatus((null)), | |
[10] = pendNodeResolve((null)), | |
[11] = cancelNodeResolveCallback((null)), | |
[23] = runNodeResolveCallbacks((null)), | |
[24] = resetNodeResolveState((null)), | |
[25] = mapNodeboxConnections((null)), | |
[12] = nodeboxConnects((null)), | |
[13] = getSelectionBoxIntUnion((null)), | |
} */ | |
/* size: 328, cachelines: 6, members: 10 */ | |
/* sum members: 311, holes: 2, sum holes: 9 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 328 != 311 + 9(holes), diff = 8 */ | |
}; | |
class NodeMetadata : public Metadata { | |
public: | |
/* class Metadata <ancestor>; */ /* 0 0 */ | |
/* XXX 64 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class Inventory * m_inventory; /* 64 8 */ | |
void NodeMetadata(class NodeMetadata *, const class NodeMetadata &); | |
void NodeMetadata(class NodeMetadata *, class IItemDefManager *); | |
virtual void ~NodeMetadata(class NodeMetadata *, int); | |
void serialize(const class NodeMetadata *, ostream &); | |
void deSerialize(class NodeMetadata *, istream &); | |
virtual void clear(class NodeMetadata *); | |
virtual bool empty(const class NodeMetadata *); | |
class Inventory * getInventory(class NodeMetadata *); | |
/* vtable has 2 entries: { | |
[2] = clear((null)), | |
[3] = empty((null)), | |
} */ | |
/* size: 72, cachelines: 2, members: 2 */ | |
/* sum members: 8, holes: 1, sum holes: 64 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ObjDefManager { | |
public: | |
int ()(void) * * _vptr.ObjDefManager; /* 0 8 */ | |
protected: | |
class INodeDefManager * m_ndef; /* 8 8 */ | |
class vector<ObjDef*, std::allocator<ObjDef*> > m_objects; /* 16 24 */ | |
enum ObjDefType m_objtype; /* 40 4 */ | |
public: | |
void ObjDefManager(class ObjDefManager *, class IGameDef *, enum ObjDefType); | |
virtual void ~ObjDefManager(class ObjDefManager *, int); | |
virtual const char * getObjectTitle(const class ObjDefManager *); | |
virtual void clear(class ObjDefManager *); | |
virtual class ObjDef * getByName(const class ObjDefManager *, const string &); | |
virtual ObjDefHandle add(class ObjDefManager *, class ObjDef *); | |
virtual class ObjDef * get(const class ObjDefManager *, ObjDefHandle); | |
virtual class ObjDef * set(class ObjDefManager *, ObjDefHandle, class ObjDef *); | |
virtual u32 addRaw(class ObjDefManager *, class ObjDef *); | |
virtual class ObjDef * getRaw(const class ObjDefManager *, u32); | |
virtual class ObjDef * setRaw(class ObjDefManager *, u32, class ObjDef *); | |
size_t getNumObjects(const class ObjDefManager *); | |
enum ObjDefType getType(const class ObjDefManager *); | |
class INodeDefManager * getNodeDef(const class ObjDefManager *); | |
u32 validateHandle(const class ObjDefManager *, ObjDefHandle); | |
ObjDefHandle createHandle(u32, enum ObjDefType, u32); | |
bool decodeHandle(ObjDefHandle, u32 *, enum ObjDefType *, u32 *); | |
void ObjDefManager(class ObjDefManager *, const class ObjDefManager &); | |
class ObjDefManager & operator=(class ObjDefManager *, const class ObjDefManager &); | |
/* vtable has 9 entries: { | |
[2] = getObjectTitle((null)), | |
[3] = clear((null)), | |
[4] = getByName((null)), | |
[5] = add((null)), | |
[6] = get((null)), | |
[7] = set((null)), | |
[8] = addRaw((null)), | |
[9] = getRaw((null)), | |
[10] = setRaw((null)), | |
} */ | |
/* size: 48, cachelines: 1, members: 4 */ | |
/* padding: 4 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class Particle : public ISceneNode { | |
public: | |
/* class ISceneNode <ancestor>; */ /* 0 264 */ | |
/* XXX last struct has 26 bytes of padding */ | |
/* --- cacheline 3 boundary (192 bytes) was 48 bytes ago --- */ | |
struct S3DVertex m_vertices[4]; /* 240 144 */ | |
/* --- cacheline 6 boundary (384 bytes) --- */ | |
float m_time; /* 384 4 */ | |
float m_expiration; /* 388 4 */ | |
class ClientEnvironment * m_env; /* 392 8 */ | |
class IGameDef * m_gamedef; /* 400 8 */ | |
aabb3f m_box; /* 408 24 */ | |
aabb3f m_collisionbox; /* 432 24 */ | |
/* --- cacheline 7 boundary (448 bytes) was 8 bytes ago --- */ | |
class SMaterial m_material; /* 456 176 */ | |
/* XXX last struct has 6 bytes of padding */ | |
/* --- cacheline 9 boundary (576 bytes) was 56 bytes ago --- */ | |
v2f m_texpos; /* 632 8 */ | |
/* --- cacheline 10 boundary (640 bytes) --- */ | |
v2f m_texsize; /* 640 8 */ | |
v3f m_pos; /* 648 12 */ | |
v3f m_velocity; /* 660 12 */ | |
v3f m_acceleration; /* 672 12 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class LocalPlayer * m_player; /* 688 8 */ | |
float m_size; /* 696 4 */ | |
class SColor m_base_color; /* 700 4 */ | |
/* --- cacheline 11 boundary (704 bytes) --- */ | |
class SColor m_color; /* 704 4 */ | |
bool m_collisiondetection; /* 708 1 */ | |
bool m_collision_removal; /* 709 1 */ | |
bool m_vertical; /* 710 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
v3s16 m_camera_offset; /* 712 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
struct TileAnimationParams m_animation; /* 720 16 */ | |
float m_animation_time; /* 736 4 */ | |
int m_animation_frame; /* 740 4 */ | |
u8 m_glow; /* 744 1 */ | |
void Particle(class Particle *, int, const void * *, const class Particle &); | |
void Particle(class Particle *, int, const void * *, class IGameDef *, class ISceneManager *, class LocalPlayer *, class ClientEnvironment *, v3f, v3f, v3f, float, float, bool, bool, bool, class ITexture *, v2f, v2f, const class TileAnimationParams &, u8, class SColor); | |
virtual void ~Particle(class Particle *, int, const void * *); | |
virtual const aabb3f & getBoundingBox(const class Particle *); | |
virtual u32 getMaterialCount(const class Particle *); | |
virtual class SMaterial & getMaterial(class Particle *, u32); | |
virtual void OnRegisterSceneNode(class Particle *); | |
virtual void render(class Particle *); | |
void step(class Particle *, float); | |
bool get_expired(class Particle *); | |
void updateLight(class Particle *); | |
void updateVertices(class Particle *); | |
/* vtable has 5 entries: { | |
[10] = getBoundingBox((null)), | |
[27] = getMaterialCount((null)), | |
[26] = getMaterial((null)), | |
[4] = OnRegisterSceneNode((null)), | |
[6] = render((null)), | |
} */ | |
/* size: 776, cachelines: 13, members: 26 */ | |
/* sum members: 498, holes: 3, sum holes: 7 */ | |
/* padding: 31 */ | |
/* paddings: 2, sum paddings: 32 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 776 != 498 + 7(holes), diff = 271 */ | |
}; | |
class PathCost { | |
public: | |
bool valid; /* 0 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int value; /* 4 4 */ | |
int direction; /* 8 4 */ | |
bool updated; /* 12 1 */ | |
void PathCost(class PathCost *); | |
void PathCost(class PathCost *, const class PathCost &); | |
class PathCost & operator=(class PathCost *, const class PathCost &); | |
/* size: 16, cachelines: 1, members: 4 */ | |
/* sum members: 10, holes: 1, sum holes: 3 */ | |
/* padding: 3 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class PathGridnode { | |
public: | |
bool valid; /* 0 1 */ | |
bool target; /* 1 1 */ | |
bool source; /* 2 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
int totalcost; /* 4 4 */ | |
v3s16 sourcedir; /* 8 6 */ | |
v3s16 pos; /* 14 6 */ | |
class PathCost directions[4]; /* 20 64 */ | |
/* --- cacheline 1 boundary (64 bytes) was 20 bytes ago --- */ | |
bool is_element; /* 84 1 */ | |
char type; /* 85 1 */ | |
void PathGridnode(class PathGridnode *); | |
void PathGridnode(class PathGridnode *, const class PathGridnode &); | |
class PathGridnode & operator=(class PathGridnode *, const class PathGridnode &); | |
class PathCost getCost(class PathGridnode *, v3s16); | |
void setCost(class PathGridnode *, v3s16, const class PathCost &); | |
/* size: 88, cachelines: 2, members: 9 */ | |
/* sum members: 85, holes: 1, sum holes: 1 */ | |
/* padding: 2 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class Pathfinder { | |
int m_max_index_x; /* 0 4 */ | |
int m_max_index_y; /* 4 4 */ | |
int m_max_index_z; /* 8 4 */ | |
int m_searchdistance; /* 12 4 */ | |
int m_maxdrop; /* 16 4 */ | |
int m_maxjump; /* 20 4 */ | |
int m_min_target_distance; /* 24 4 */ | |
bool m_prefetch; /* 28 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
v3s16 m_start; /* 30 6 */ | |
v3s16 m_destination; /* 36 6 */ | |
class aabbox3d<short int> m_limits; /* 42 12 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class GridNodeContainer * m_nodes_container; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
class ServerEnvironment * m_env; /* 64 8 */ | |
public: | |
void Pathfinder(class Pathfinder *); | |
void ~Pathfinder(class Pathfinder *, int); | |
class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > getPath(class Pathfinder *, class ServerEnvironment *, v3s16, v3s16, unsigned int, unsigned int, unsigned int, PathAlgorithm); | |
v3s16 getRealPos(class Pathfinder *, v3s16); | |
v3s16 getIndexPos(class Pathfinder *, v3s16); | |
class PathGridnode & getIndexElement(class Pathfinder *, v3s16); | |
class PathGridnode & getIdxElem(class Pathfinder *, s16, s16, s16); | |
v3s16 invert(class Pathfinder *, v3s16); | |
bool isValidIndex(class Pathfinder *, v3s16); | |
v3f tov3f(class Pathfinder *, v3s16); | |
int getXZManhattanDist(class Pathfinder *, v3s16); | |
v3s16 getDirHeuristic(class Pathfinder *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &, class PathGridnode &); | |
bool buildCostmap(class Pathfinder *); | |
class PathCost calcCost(class Pathfinder *, v3s16, v3s16); | |
bool updateAllCosts(class Pathfinder *, v3s16, v3s16, int, int); | |
bool updateCostHeuristic(class Pathfinder *, v3s16, v3s16, int, int); | |
void buildPath(class Pathfinder *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &, v3s16, int); | |
/* size: 72, cachelines: 2, members: 13 */ | |
/* sum members: 69, holes: 2, sum holes: 3 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class GridNodeContainer { | |
public: | |
int ()(void) * * _vptr.GridNodeContainer; /* 0 8 */ | |
protected: | |
class Pathfinder * m_pathf; /* 8 8 */ | |
public: | |
void GridNodeContainer(class GridNodeContainer *, const class GridNodeContainer &); | |
void GridNodeContainer(class GridNodeContainer *); | |
virtual class PathGridnode & access(class GridNodeContainer *, v3s16); | |
virtual void ~GridNodeContainer(class GridNodeContainer *, int); | |
protected: | |
void initNode(class GridNodeContainer *, v3s16, class PathGridnode *); | |
/* vtable has 1 entries: { | |
[0] = access((null)), | |
} */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class MapGridNodeContainer : public GridNodeContainer { | |
public: | |
/* class GridNodeContainer <ancestor>; */ /* 0 16 */ | |
class map<irr::core::vector3d<short int>, PathGridnode, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const irr::core::vector3d<short int>, PathGridnode> > > m_nodes; /* 16 48 */ | |
void MapGridNodeContainer(class MapGridNodeContainer *, const class MapGridNodeContainer &); | |
virtual void ~MapGridNodeContainer(class MapGridNodeContainer *, int); | |
void MapGridNodeContainer(class MapGridNodeContainer *, class Pathfinder *); | |
virtual class PathGridnode & access(class MapGridNodeContainer *, v3s16); | |
/* vtable has 1 entries: { | |
[0] = access((null)), | |
} */ | |
/* size: 64, cachelines: 1, members: 2 */ | |
/* BRAIN FART ALERT! 64 != 48 + 0(holes), diff = 16 */ | |
}; | |
class ArrayGridNodeContainer : public GridNodeContainer { | |
public: | |
/* class GridNodeContainer <ancestor>; */ /* 0 16 */ | |
v3s16 m_dimensions; /* 16 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
int m_x_stride; /* 24 4 */ | |
int m_y_stride; /* 28 4 */ | |
class vector<PathGridnode, std::allocator<PathGridnode> > m_nodes_array; /* 32 24 */ | |
void ArrayGridNodeContainer(class ArrayGridNodeContainer *, const class ArrayGridNodeContainer &); | |
virtual void ~ArrayGridNodeContainer(class ArrayGridNodeContainer *, int); | |
void ArrayGridNodeContainer(class ArrayGridNodeContainer *, class Pathfinder *, v3s16); | |
virtual class PathGridnode & access(class ArrayGridNodeContainer *, v3s16); | |
/* vtable has 1 entries: { | |
[0] = access((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 5 */ | |
/* sum members: 38, holes: 1, sum holes: 2 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 56 != 38 + 2(holes), diff = 16 */ | |
}; | |
struct utsname { | |
char sysname[65]; /* 0 65 */ | |
/* --- cacheline 1 boundary (64 bytes) was 1 bytes ago --- */ | |
char nodename[65]; /* 65 65 */ | |
/* --- cacheline 2 boundary (128 bytes) was 2 bytes ago --- */ | |
char release[65]; /* 130 65 */ | |
/* --- cacheline 3 boundary (192 bytes) was 3 bytes ago --- */ | |
char version[65]; /* 195 65 */ | |
/* --- cacheline 4 boundary (256 bytes) was 4 bytes ago --- */ | |
char machine[65]; /* 260 65 */ | |
/* --- cacheline 5 boundary (320 bytes) was 5 bytes ago --- */ | |
char domainname[65]; /* 325 65 */ | |
/* size: 390, cachelines: 7, members: 6 */ | |
/* last cacheline: 6 bytes */ | |
}; | |
struct _XExtData { | |
int number; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class _XExtData * next; /* 8 8 */ | |
int (*free_private)(class _XExtData *); /* 16 8 */ | |
XPointer private_data; /* 24 8 */ | |
/* size: 32, cachelines: 1, members: 4 */ | |
/* sum members: 28, holes: 1, sum holes: 4 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct Entity { | |
int id; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string name; /* 8 32 */ | |
void Entity(class Entity *, ); | |
void Entity(class Entity *, const class Entity &); | |
void ~Entity(class Entity *, int); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* sum members: 36, holes: 1, sum holes: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class ItemStackRow : public ItemStack { | |
public: | |
/* struct ItemStack <ancestor>; */ /* 0 104 */ | |
/* --- cacheline 1 boundary (64 bytes) was 40 bytes ago --- */ | |
int id; /* 104 4 */ | |
class ItemStackRow & operator=(class ItemStackRow *, const class ItemStack &); | |
void ItemStackRow(class ItemStackRow *, const class ItemStackRow &); | |
void ~ItemStackRow(class ItemStackRow *, int); | |
void ItemStackRow(class ItemStackRow *); | |
/* size: 112, cachelines: 2, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 48 bytes */ | |
/* BRAIN FART ALERT! 112 != 4 + 0(holes), diff = 108 */ | |
}; | |
struct ActionRow { | |
int id; /* 0 4 */ | |
int actor; /* 4 4 */ | |
time_t timestamp; /* 8 8 */ | |
int type; /* 16 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string location; /* 24 32 */ | |
string list; /* 56 32 */ | |
/* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ | |
int index; /* 88 4 */ | |
int add; /* 92 4 */ | |
class ItemStackRow stack; /* 96 112 */ | |
/* XXX last struct has 4 bytes of padding */ | |
/* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */ | |
int nodeMeta; /* 208 4 */ | |
int x; /* 212 4 */ | |
int y; /* 216 4 */ | |
int z; /* 220 4 */ | |
int oldNode; /* 224 4 */ | |
int oldParam1; /* 228 4 */ | |
int oldParam2; /* 232 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string oldMeta; /* 240 32 */ | |
/* --- cacheline 4 boundary (256 bytes) was 16 bytes ago --- */ | |
int newNode; /* 272 4 */ | |
int newParam1; /* 276 4 */ | |
int newParam2; /* 280 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string newMeta; /* 288 32 */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
int guessed; /* 320 4 */ | |
void ActionRow(class ActionRow *, const class ActionRow &); | |
void ~ActionRow(class ActionRow *, int); | |
void ActionRow(class ActionRow *); | |
/* size: 328, cachelines: 6, members: 22 */ | |
/* sum members: 312, holes: 3, sum holes: 12 */ | |
/* padding: 4 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class RollbackManager : public IRollbackManager { | |
public: | |
/* class IRollbackManager <ancestor>; */ /* 0 8 */ | |
class IGameDef * gamedef; /* 8 8 */ | |
string current_actor; /* 16 32 */ | |
bool current_actor_is_guess; /* 48 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class list<RollbackAction, std::allocator<RollbackAction> > action_todisk_buffer; /* 56 24 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
class list<RollbackAction, std::allocator<RollbackAction> > action_latest_buffer; /* 80 24 */ | |
string database_path; /* 104 32 */ | |
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ | |
sqlite3 * db; /* 136 8 */ | |
sqlite3_stmt * stmt_insert; /* 144 8 */ | |
sqlite3_stmt * stmt_replace; /* 152 8 */ | |
sqlite3_stmt * stmt_select; /* 160 8 */ | |
sqlite3_stmt * stmt_select_range; /* 168 8 */ | |
sqlite3_stmt * stmt_select_withActor; /* 176 8 */ | |
sqlite3_stmt * stmt_knownActor_select; /* 184 8 */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
sqlite3_stmt * stmt_knownActor_insert; /* 192 8 */ | |
sqlite3_stmt * stmt_knownNode_select; /* 200 8 */ | |
sqlite3_stmt * stmt_knownNode_insert; /* 208 8 */ | |
class vector<Entity, std::allocator<Entity> > knownActors; /* 216 24 */ | |
class vector<Entity, std::allocator<Entity> > knownNodes; /* 240 24 */ | |
void RollbackManager(class RollbackManager *, const class RollbackManager &); | |
void RollbackManager(class RollbackManager *, const string &, class IGameDef *); | |
virtual void ~RollbackManager(class RollbackManager *, int); | |
virtual void reportAction(class RollbackManager *, const class RollbackAction &); | |
virtual string getActor(class RollbackManager *); | |
virtual bool isActorGuess(class RollbackManager *); | |
virtual void setActor(class RollbackManager *, const string &, bool); | |
virtual string getSuspect(class RollbackManager *, v3s16, float, float); | |
virtual void flush(class RollbackManager *); | |
void addAction(class RollbackManager *, const class RollbackAction &); | |
class list<RollbackAction, std::allocator<RollbackAction> > getEntriesSince(class RollbackManager *, time_t); | |
virtual class list<RollbackAction, std::allocator<RollbackAction> > getNodeActors(class RollbackManager *, v3s16, int, time_t, int); | |
virtual class list<RollbackAction, std::allocator<RollbackAction> > getRevertActions(class RollbackManager *, const string &, time_t); | |
void registerNewActor(class RollbackManager *, int, const string &); | |
void registerNewNode(class RollbackManager *, int, const string &); | |
int getActorId(class RollbackManager *, const string &); | |
int getNodeId(class RollbackManager *, const string &); | |
const char * getActorName(class RollbackManager *, int); | |
const char * getNodeName(class RollbackManager *, int); | |
bool createTables(class RollbackManager *); | |
bool initDatabase(class RollbackManager *); | |
bool registerRow(class RollbackManager *, const class ActionRow &); | |
class list<ActionRow, std::allocator<ActionRow> >const actionRowsFromSelect(class RollbackManager *, sqlite3_stmt *); | |
class ActionRow actionRowFromRollbackAction(class RollbackManager *, const class RollbackAction &); | |
class list<RollbackAction, std::allocator<RollbackAction> >const rollbackActionsFromActionRows(class RollbackManager *, const class list<ActionRow, std::allocator<ActionRow> > &); | |
class list<ActionRow, std::allocator<ActionRow> >const getRowsSince(class RollbackManager *, time_t, const string &); | |
class list<ActionRow, std::allocator<ActionRow> >const getRowsSince_range(class RollbackManager *, time_t, v3s16, int, int); | |
class list<RollbackAction, std::allocator<RollbackAction> >const getActionsSince_range(class RollbackManager *, time_t, v3s16, int, int); | |
class list<RollbackAction, std::allocator<RollbackAction> >const getActionsSince(class RollbackManager *, time_t, const string &); | |
void migrate(class RollbackManager *, const string &); | |
float getSuspectNearness(bool, v3s16, time_t, v3s16, time_t); | |
/* vtable has 8 entries: { | |
[0] = reportAction((null)), | |
[1] = getActor((null)), | |
[2] = isActorGuess((null)), | |
[3] = setActor((null)), | |
[4] = getSuspect((null)), | |
[7] = flush((null)), | |
[8] = getNodeActors((null)), | |
[9] = getRevertActions((null)), | |
} */ | |
/* size: 264, cachelines: 5, members: 19 */ | |
/* sum members: 249, holes: 1, sum holes: 7 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 264 != 249 + 7(holes), diff = 8 */ | |
}; | |
struct z_stream_s { | |
Bytef * next_in; /* 0 8 */ | |
uInt avail_in; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
uLong total_in; /* 16 8 */ | |
Bytef * next_out; /* 24 8 */ | |
uInt avail_out; /* 32 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
uLong total_out; /* 40 8 */ | |
char * msg; /* 48 8 */ | |
class internal_state * state; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
alloc_func zalloc; /* 64 8 */ | |
free_func zfree; /* 72 8 */ | |
voidpf opaque; /* 80 8 */ | |
int data_type; /* 88 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
uLong adler; /* 96 8 */ | |
uLong reserved; /* 104 8 */ | |
/* size: 112, cachelines: 2, members: 14 */ | |
/* sum members: 100, holes: 3, sum holes: 12 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct internal_state { | |
int dummy; /* 0 4 */ | |
/* size: 4, cachelines: 1, members: 1 */ | |
/* last cacheline: 4 bytes */ | |
}; | |
class MapEventReceiver { | |
public: | |
int ()(void) * * _vptr.MapEventReceiver; /* 0 8 */ | |
void MapEventReceiver(class MapEventReceiver *, ); | |
void MapEventReceiver(class MapEventReceiver *, const class MapEventReceiver &); | |
void MapEventReceiver(class MapEventReceiver *); | |
void ~MapEventReceiver(class MapEventReceiver *, int); | |
class MapEventReceiver & operator=(class MapEventReceiver *, ); | |
class MapEventReceiver & operator=(class MapEventReceiver *, const class MapEventReceiver &); | |
virtual void onMapEditEvent(class MapEventReceiver *, class MapEditEvent *); | |
/* vtable has 1 entries: { | |
[0] = onMapEditEvent((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
struct ChatEventTimeInfo : ChatEvent { | |
/* class ChatEvent <ancestor>; */ /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
u64 game_time; /* 8 8 */ | |
u32 time; /* 16 4 */ | |
void ChatEventTimeInfo(class ChatEventTimeInfo *, u64, u32); | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* sum members: 12, holes: 1, sum holes: 4 */ | |
/* padding: 4 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 24 != 12 + 4(holes), diff = 8 */ | |
}; | |
struct ChatEventNick : ChatEvent { | |
/* class ChatEvent <ancestor>; */ /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string nick; /* 8 32 */ | |
void ChatEventNick(class ChatEventNick *, enum ChatEventType, const string &); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* sum members: 32, holes: 1, sum holes: 4 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 32 + 4(holes), diff = 4 */ | |
}; | |
struct ChatEventChat : ChatEvent { | |
/* class ChatEvent <ancestor>; */ /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string nick; /* 8 32 */ | |
wstring evt_msg; /* 40 32 */ | |
void ChatEventChat(class ChatEventChat *, const string &, const wstring &); | |
/* size: 72, cachelines: 2, members: 3 */ | |
/* sum members: 64, holes: 1, sum holes: 4 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 72 != 64 + 4(holes), diff = 4 */ | |
}; | |
struct MediaInfo { | |
string path; /* 0 32 */ | |
string sha1_digest; /* 32 32 */ | |
void MediaInfo(class MediaInfo *, const string &, const string &); | |
class MediaInfo & operator=(class MediaInfo *, ); | |
void ~MediaInfo(class MediaInfo *, int); | |
/* size: 64, cachelines: 1, members: 2 */ | |
}; | |
class MutexedVariable<double> { | |
public: | |
double m_value; /* 0 8 */ | |
Mutex m_mutex; /* 8 40 */ | |
void MutexedVariable(class MutexedVariable<double> *, const double &); | |
double get(class MutexedVariable<double> *); | |
void set(class MutexedVariable<double> *, const double &); | |
/* size: 48, cachelines: 1, members: 2 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class Server : public PeerHandler, public MapEventReceiver, public InventoryManager, public IGameDef { | |
public: | |
/* class PeerHandler <ancestor>; */ /* 0 8 */ | |
/* class MapEventReceiver <ancestor>; */ /* 8 8 */ | |
/* class InventoryManager <ancestor>; */ /* 16 8 */ | |
/* class IGameDef <ancestor>; */ /* 24 8 */ | |
class Address m_bind_addr; /* 32 36 */ | |
/* XXX last struct has 2 bytes of padding */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
Mutex m_env_mutex; /* 72 40 */ | |
string m_path_world; /* 112 32 */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
struct SubgameSpec m_gamespec; /* 144 208 */ | |
/* --- cacheline 5 boundary (320 bytes) was 32 bytes ago --- */ | |
bool m_simple_singleplayer_mode; /* 352 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
u16 m_max_chatmessage_length; /* 354 2 */ | |
bool m_dedicated; /* 356 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class MutexedVariable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > m_async_fatal_error; /* 360 72 */ | |
/* --- cacheline 6 boundary (384 bytes) was 48 bytes ago --- */ | |
float m_liquid_transform_timer; /* 432 4 */ | |
float m_liquid_transform_every; /* 436 4 */ | |
float m_masterserver_timer; /* 440 4 */ | |
float m_emergethread_trigger_timer; /* 444 4 */ | |
/* --- cacheline 7 boundary (448 bytes) --- */ | |
float m_savemap_timer; /* 448 4 */ | |
class IntervalLimiter m_map_timer_and_unload_interval; /* 452 4 */ | |
class ServerEnvironment * m_env; /* 456 8 */ | |
class Connection m_con; /* 464 936 */ | |
/* --- cacheline 21 boundary (1344 bytes) was 56 bytes ago --- */ | |
class BanManager * m_banmanager; /* 1400 8 */ | |
/* --- cacheline 22 boundary (1408 bytes) --- */ | |
class IRollbackManager * m_rollback; /* 1408 8 */ | |
bool m_enable_rollback_recording; /* 1416 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class EmergeManager * m_emerge; /* 1424 8 */ | |
class ServerScripting * m_script; /* 1432 8 */ | |
class IWritableItemDefManager * m_itemdef; /* 1440 8 */ | |
class IWritableNodeDefManager * m_nodedef; /* 1448 8 */ | |
class IWritableCraftDefManager * m_craftdef; /* 1456 8 */ | |
class EventManager * m_event; /* 1464 8 */ | |
/* --- cacheline 23 boundary (1472 bytes) --- */ | |
class vector<ModSpec, std::allocator<ModSpec> > m_mods; /* 1472 24 */ | |
float m_step_dtime; /* 1496 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
Mutex m_step_dtime_mutex; /* 1504 40 */ | |
/* --- cacheline 24 boundary (1536 bytes) was 8 bytes ago --- */ | |
float m_lag; /* 1544 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class ServerThread * m_thread; /* 1552 8 */ | |
float m_time_of_day_send_timer; /* 1560 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class MutexedVariable<double> m_uptime; /* 1568 48 */ | |
/* --- cacheline 25 boundary (1600 bytes) was 16 bytes ago --- */ | |
class ClientInterface m_clients; /* 1616 184 */ | |
/* XXX last struct has 4 bytes of padding */ | |
/* --- cacheline 28 boundary (1792 bytes) was 8 bytes ago --- */ | |
class queue<con::PeerChange, std::deque<con::PeerChange, std::allocator<con::PeerChange> > > m_peer_change_queue; /* 1800 80 */ | |
/* --- cacheline 29 boundary (1856 bytes) was 24 bytes ago --- */ | |
bool m_shutdown_requested; /* 1880 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
string m_shutdown_msg; /* 1888 32 */ | |
/* --- cacheline 30 boundary (1920 bytes) --- */ | |
bool m_shutdown_ask_reconnect; /* 1920 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float m_shutdown_timer; /* 1924 4 */ | |
class ChatInterface * m_admin_chat; /* 1928 8 */ | |
string m_admin_nick; /* 1936 32 */ | |
class queue<MapEditEvent*, std::deque<MapEditEvent*, std::allocator<MapEditEvent*> > > m_unsent_map_edit_queue; /* 1968 80 */ | |
/* --- cacheline 32 boundary (2048 bytes) --- */ | |
bool m_ignore_map_edit_events; /* 2048 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
class VoxelArea m_ignore_map_edit_events_area; /* 2050 12 */ | |
u16 m_ignore_map_edit_events_peer_id; /* 2062 2 */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, MediaInfo, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, MediaInfo> > > m_media; /* 2064 56 */ | |
/* --- cacheline 33 boundary (2112 bytes) was 8 bytes ago --- */ | |
class unordered_map<int, ServerPlayingSound, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<int const, ServerPlayingSound> > > m_playing_sounds; /* 2120 56 */ | |
/* --- cacheline 34 boundary (2176 bytes) --- */ | |
s32 m_next_sound_id; /* 2176 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Inventory*, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Inventory*> > > m_detached_inventories; /* 2184 48 */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > m_detached_inventories_player; /* 2232 48 */ | |
/* --- cacheline 35 boundary (2240 bytes) was 40 bytes ago --- */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ModMetadata*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ModMetadata*> > > m_mod_storages; /* 2280 56 */ | |
/* --- cacheline 36 boundary (2304 bytes) was 32 bytes ago --- */ | |
float m_mod_storage_save_timer; /* 2336 4 */ | |
void Server(class Server *, const string &, const class SubgameSpec &, bool, bool, bool, class ChatInterface *); | |
virtual void ~Server(class Server *, int); | |
void start(class Server *, class Address); | |
void stop(class Server *); | |
void step(class Server *, float); | |
void AsyncRunStep(class Server *, bool); | |
void Receive(class Server *); | |
class PlayerSAO * StageTwoClientInit(class Server *, u16); | |
void handleCommand(class Server *, class NetworkPacket *); | |
void handleCommand_Null(class Server *, class NetworkPacket *); | |
void handleCommand_Deprecated(class Server *, class NetworkPacket *); | |
void handleCommand_Init(class Server *, class NetworkPacket *); | |
void handleCommand_Init_Legacy(class Server *, class NetworkPacket *); | |
void handleCommand_Init2(class Server *, class NetworkPacket *); | |
void handleCommand_RequestMedia(class Server *, class NetworkPacket *); | |
void handleCommand_ReceivedMedia(class Server *, class NetworkPacket *); | |
void handleCommand_ClientReady(class Server *, class NetworkPacket *); | |
void handleCommand_GotBlocks(class Server *, class NetworkPacket *); | |
void handleCommand_PlayerPos(class Server *, class NetworkPacket *); | |
void handleCommand_DeletedBlocks(class Server *, class NetworkPacket *); | |
void handleCommand_InventoryAction(class Server *, class NetworkPacket *); | |
void handleCommand_ChatMessage(class Server *, class NetworkPacket *); | |
void handleCommand_Damage(class Server *, class NetworkPacket *); | |
void handleCommand_Password(class Server *, class NetworkPacket *); | |
void handleCommand_PlayerItem(class Server *, class NetworkPacket *); | |
void handleCommand_Respawn(class Server *, class NetworkPacket *); | |
void handleCommand_Interact(class Server *, class NetworkPacket *); | |
void handleCommand_RemovedSounds(class Server *, class NetworkPacket *); | |
void handleCommand_NodeMetaFields(class Server *, class NetworkPacket *); | |
void handleCommand_InventoryFields(class Server *, class NetworkPacket *); | |
void handleCommand_FirstSrp(class Server *, class NetworkPacket *); | |
void handleCommand_SrpBytesA(class Server *, class NetworkPacket *); | |
void handleCommand_SrpBytesM(class Server *, class NetworkPacket *); | |
void ProcessData(class Server *, class NetworkPacket *); | |
void Send(class Server *, class NetworkPacket *); | |
void process_PlayerPos(class Server *, class RemotePlayer *, class PlayerSAO *, class NetworkPacket *); | |
void setTimeOfDay(class Server *, u32); | |
virtual void onMapEditEvent(class Server *, class MapEditEvent *); | |
virtual class Inventory * getInventory(class Server *, const class InventoryLocation &); | |
virtual void setInventoryModified(class Server *, const class InventoryLocation &, bool); | |
wstring getStatusString(class Server *); | |
double getUptime(const class Server *); | |
bool getShutdownRequested(const class Server *); | |
void requestShutdown(class Server *, const string &, bool, float); | |
s32 playSound(class Server *, const class SimpleSoundSpec &, const class ServerSoundParams &); | |
void stopSound(class Server *, s32); | |
class set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string getPlayerEffectivePrivs(class Server *, const string &); | |
bool checkPriv(class Server *, const string &, const string &); | |
void reportPrivsModified(class Server *, const string &); | |
void reportInventoryFormspecModified(class Server *, const string &); | |
void setIpBanned(class Server *, const string &, const string &); | |
void unsetIpBanned(class Server *, const string &); | |
string getBanDescription(class Server *, const string &); | |
void notifyPlayer(class Server *, const char *, const wstring &); | |
void notifyPlayers(class Server *, const wstring &); | |
void spawnParticle(class Server *, const string &, v3f, v3f, v3f, float, float, bool, bool, bool, const string &, const class TileAnimationParams &, u8); | |
u32 addParticleSpawner(class Server *, u16, float, v3f, v3f, v3f, v3f, v3f, v3f, float, float, float, float, bool, bool, class ServerActiveObject *, bool, const string &, const string &, const class TileAnimationParams &, u8); | |
void deleteParticleSpawner(class Server *, const string &, u32); | |
class Inventory * createDetachedInventory(class Server *, const string &, const string &); | |
class ServerScripting * getScriptIface(class Server *); | |
bool rollbackRevertActions(class Server *, const class list<RollbackAction, std::allocator<RollbackAction> > &, class list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_); | |
virtual class IItemDefManager * getItemDefManager(class Server *); | |
virtual class INodeDefManager * getNodeDefManager(class Server *); | |
virtual class ICraftDefManager * getCraftDefManager(class Server *); | |
virtual u16 allocateUnknownNodeId(class Server *, const string &); | |
virtual class MtEventManager * getEventManager(class Server *); | |
virtual class IRollbackManager * getRollbackManager(class Server *); | |
virtual class EmergeManager * getEmergeManager(class Server *); | |
class IWritableItemDefManager * getWritableItemDefManager(class Server *); | |
class IWritableNodeDefManager * getWritableNodeDefManager(class Server *); | |
class IWritableCraftDefManager * getWritableCraftDefManager(class Server *); | |
virtual const class vector<ModSpec, std::allocator<ModSpec> > & getMods(const class Server *); | |
virtual const class ModSpec * getModSpec(const class Server *, const string &); | |
void getModNames(class Server *, class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basi); | |
string getBuiltinLuaPath(class Server *); | |
virtual string getWorldPath(const class Server *); | |
virtual string getModStoragePath(const class Server *); | |
bool isSingleplayer(class Server *); | |
void setAsyncFatalError(class Server *, const string &); | |
bool showFormspec(class Server *, const char *, const string &, const string &); | |
class Map & getMap(class Server *); | |
class ServerEnvironment & getEnv(class Server *); | |
u32 hudAdd(class Server *, class RemotePlayer *, class HudElement *); | |
bool hudRemove(class Server *, class RemotePlayer *, u32); | |
bool hudChange(class Server *, class RemotePlayer *, u32, enum HudElementStat, void *); | |
bool hudSetFlags(class Server *, class RemotePlayer *, u32, u32); | |
bool hudSetHotbarItemcount(class Server *, class RemotePlayer *, s32); | |
s32 hudGetHotbarItemcount(const class Server *, class RemotePlayer *); | |
void hudSetHotbarImage(class Server *, class RemotePlayer *, string); | |
string hudGetHotbarImage(class Server *, class RemotePlayer *); | |
void hudSetHotbarSelectedImage(class Server *, class RemotePlayer *, string); | |
const string & hudGetHotbarSelectedImage(const class Server *, class RemotePlayer *); | |
class Address getPeerAddress(class Server *, u16); | |
bool setLocalPlayerAnimations(class Server *, class RemotePlayer *, v2s32 *, f32); | |
bool setPlayerEyeOffset(class Server *, class RemotePlayer *, v3f, v3f); | |
bool setSky(class Server *, class RemotePlayer *, const class SColor &, const string &, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11); | |
bool overrideDayNightRatio(class Server *, class RemotePlayer *, bool, float); | |
virtual void peerAdded(class Server *, class Peer *); | |
virtual void deletingPeer(class Server *, class Peer *, bool); | |
void DenySudoAccess(class Server *, u16); | |
void DenyAccessVerCompliant(class Server *, u16, u16, enum AccessDeniedCode, const string &, bool); | |
void DenyAccess(class Server *, u16, enum AccessDeniedCode, const string &); | |
void acceptAuth(class Server *, u16, bool); | |
void DenyAccess_Legacy(class Server *, u16, const wstring &); | |
bool getClientConInfo(class Server *, u16, rtt_stat_type, float *); | |
bool getClientInfo(class Server *, u16, enum ClientState *, u32 *, u8 *, u16 *, u8 *, u8 *, u8 *, string *); | |
void printToConsoleOnly(class Server *, const string &); | |
void SendPlayerHPOrDie(class Server *, class PlayerSAO *); | |
void SendPlayerBreath(class Server *, class PlayerSAO *); | |
void SendInventory(class Server *, class PlayerSAO *); | |
void SendMovePlayer(class Server *, u16); | |
virtual bool registerModStorage(class Server *, class ModMetadata *); | |
virtual void unregisterModStorage(class Server *, const string &); | |
void SendMovement(class Server *, u16); | |
void SendHP(class Server *, u16, u8); | |
void SendBreath(class Server *, u16, u16); | |
void SendAccessDenied(class Server *, u16, enum AccessDeniedCode, const string &, bool); | |
void SendAccessDenied_Legacy(class Server *, u16, const wstring &); | |
void SendDeathscreen(class Server *, u16, bool, v3f); | |
void SendItemDef(class Server *, u16, class IItemDefManager *, u16); | |
void SendNodeDef(class Server *, u16, class INodeDefManager *, u16); | |
void SetBlocksNotSent(class Server *, class map<irr::core::vector3d<short int>, MapBlock*, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<const); | |
void SendChatMessage(class Server *, u16, const wstring &); | |
void SendTimeOfDay(class Server *, u16, u16, f32); | |
void SendPlayerHP(class Server *, u16); | |
void SendLocalPlayerAnimations(class Server *, u16, v2s32 *, f32); | |
void SendEyeOffset(class Server *, u16, v3f, v3f); | |
void SendPlayerPrivileges(class Server *, u16); | |
void SendPlayerInventoryFormspec(class Server *, u16); | |
void SendShowFormspecMessage(class Server *, u16, const string &, const string &); | |
void SendHUDAdd(class Server *, u16, u32, class HudElement *); | |
void SendHUDRemove(class Server *, u16, u32); | |
void SendHUDChange(class Server *, u16, u32, enum HudElementStat, void *); | |
void SendHUDSetFlags(class Server *, u16, u32, u32); | |
void SendHUDSetParam(class Server *, u16, u16, const string &); | |
void SendSetSky(class Server *, u16, const class SColor &, const string &, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11); | |
void SendOverrideDayNightRatio(class Server *, u16, bool, float); | |
void sendRemoveNode(class Server *, v3s16, u16, class vector<short unsigned int, std::allocator<short unsigned int> > *, float); | |
void sendAddNode(class Server *, v3s16, class MapNode, u16, class vector<short unsigned int, std::allocator<short unsigned int> > *, float, bool); | |
void setBlockNotSent(class Server *, v3s16); | |
void SendBlockNoLock(class Server *, u16, class MapBlock *, u8, u16); | |
void SendBlocks(class Server *, float); | |
void fillMediaCache(class Server *); | |
void sendMediaAnnouncement(class Server *, u16); | |
void sendRequestedMedia(class Server *, u16, const class vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11); | |
void sendDetachedInventory(class Server *, const string &, u16); | |
void sendDetachedInventories(class Server *, u16); | |
void SendAddParticleSpawner(class Server *, u16, u16, u16, float, v3f, v3f, v3f, v3f, v3f, v3f, float, float, float, float, bool, bool, u16, bool, const string &, u32, const class TileAnimationParams &, u8); | |
void SendDeleteParticleSpawner(class Server *, u16, u32); | |
void SendSpawnParticle(class Server *, u16, u16, v3f, v3f, v3f, float, float, bool, bool, bool, const string &, const class TileAnimationParams &, u8); | |
u32 SendActiveObjectRemoveAdd(class Server *, u16, const string &); | |
void SendActiveObjectMessages(class Server *, u16, const string &, bool); | |
void DiePlayer(class Server *, u16); | |
void RespawnPlayer(class Server *, u16); | |
void DeleteClient(class Server *, u16, enum ClientDeletionReason); | |
void UpdateCrafting(class Server *, class RemotePlayer *); | |
void handleChatInterfaceEvent(class Server *, class ChatEvent *); | |
wstring handleChat(class Server *, const string &, const wstring &, const wstring &, bool, class RemotePlayer *); | |
void handleAdminChat(class Server *, const class ChatEventChat *); | |
v3f findSpawnPos(class Server *); | |
class RemoteClient * getClient(class Server *, u16, enum ClientState); | |
class RemoteClient * getClientNoEx(class Server *, u16, enum ClientState); | |
string getPlayerName(class Server *, u16); | |
class PlayerSAO * getPlayerSAO(class Server *, u16); | |
class PlayerSAO * emergePlayer(class Server *, const char *, u16, u16); | |
void handlePeerChanges(class Server *); | |
void Server(class Server *, const class Server &); | |
class Server & operator=(class Server *, const class Server &); | |
/* vtable has 18 entries: { | |
[4] = onMapEditEvent((null)), | |
[5] = getInventory((null)), | |
[6] = setInventoryModified((null)), | |
[7] = getItemDefManager((null)), | |
[8] = getNodeDefManager((null)), | |
[9] = getCraftDefManager((null)), | |
[10] = allocateUnknownNodeId((null)), | |
[11] = getEventManager((null)), | |
[12] = getRollbackManager((null)), | |
[13] = getEmergeManager((null)), | |
[14] = getMods((null)), | |
[15] = getModSpec((null)), | |
[16] = getWorldPath((null)), | |
[17] = getModStoragePath((null)), | |
[2] = peerAdded((null)), | |
[3] = deletingPeer((null)), | |
[18] = registerModStorage((null)), | |
[19] = unregisterModStorage((null)), | |
} */ | |
/* size: 2344, cachelines: 37, members: 55 */ | |
/* sum members: 2266, holes: 11, sum holes: 42 */ | |
/* padding: 4 */ | |
/* paddings: 2, sum paddings: 6 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 2344 != 2266 + 42(holes), diff = 36 */ | |
}; | |
struct SendableMedia { | |
string name; /* 0 32 */ | |
string path; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
string data; /* 64 32 */ | |
void SendableMedia(class SendableMedia *, const string &, const string &, const string &); | |
void SendableMedia(class SendableMedia *, ); | |
void ~SendableMedia(class SendableMedia *, int); | |
/* size: 96, cachelines: 2, members: 3 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class ServerThread : public Thread { | |
public: | |
/* class Thread <ancestor>; */ /* 0 0 */ | |
/* XXX 144 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
class Server * m_server; /* 144 8 */ | |
void ServerThread(class ServerThread *, ); | |
void ServerThread(class ServerThread *, const class ServerThread &); | |
void ServerThread(class ServerThread *, class Server *); | |
virtual void * run(class ServerThread *); | |
virtual void ~ServerThread(class ServerThread *, int); | |
/* vtable has 1 entries: { | |
[2] = run((null)), | |
} */ | |
/* size: 152, cachelines: 3, members: 2 */ | |
/* sum members: 8, holes: 1, sum holes: 144 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class ClientNotFoundException : public BaseException { | |
public: | |
/* class BaseException <ancestor>; */ /* 0 40 */ | |
void ClientNotFoundException(class ClientNotFoundException *, ); | |
void ClientNotFoundException(class ClientNotFoundException *, const class ClientNotFoundException &); | |
void ClientNotFoundException(class ClientNotFoundException *, const char *); | |
virtual void ~ClientNotFoundException(class ClientNotFoundException *, int); | |
/* size: 40, cachelines: 1, members: 1 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 40 != 0 + 0(holes), diff = 40 */ | |
}; | |
struct ABMWithState { | |
class ActiveBlockModifier * abm; /* 0 8 */ | |
float timer; /* 8 4 */ | |
void ABMWithState(class ABMWithState *, class ActiveBlockModifier *); | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* padding: 4 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct LBMContentMapping { | |
typedef struct map<short unsigned int, std::vector<LoadingBlockModifierDef*, std::allocator<LoadingBlockModifierDef*> >, std::less<short unsigned int>, std::allocator<std::pair<short unsigned int const, std::vector<LoadingBlockModifierDef*, std::allocator<LoadingBlockModifierDef*> > > > > container_map; | |
container_map map; /* 0 48 */ | |
class vector<LoadingBlockModifierDef*, std::allocator<LoadingBlockModifierDef*> > lbm_list; /* 48 24 */ | |
void deleteContents(class LBMContentMapping *); | |
void addLBM(class LBMContentMapping *, class LoadingBlockModifierDef *, class IGameDef *); | |
const class vector<LoadingBlockModifierDef*, std::allocator<LoadingBlockModifierDef*> > * lookup(const class LBMContentMapping *, content_t); | |
void LBMContentMapping(class LBMContentMapping *); | |
void ~LBMContentMapping(class LBMContentMapping *, int); | |
/* size: 72, cachelines: 2, members: 2 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class LBMManager { | |
bool m_query_mode; /* 0 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, LoadingBlockModifierDef*, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, LoadingBlockModifierDef*> > > m_lbm_defs; /* 8 48 */ | |
typedef struct map<unsigned int, LBMContentMapping, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, LBMContentMapping> > > lbm_lookup_map; | |
lbm_lookup_map m_lbm_lookup; /* 56 48 */ | |
public: | |
void LBMManager(class LBMManager *); | |
void ~LBMManager(class LBMManager *, int); | |
void addLBMDef(class LBMManager *, class LoadingBlockModifierDef *); | |
void loadIntroductionTimes(class LBMManager *, const string &, class IGameDef *, u32); | |
string createIntroductionTimesString(class LBMManager *); | |
void applyLBMs(class LBMManager *, class ServerEnvironment *, class MapBlock *, u32); | |
const_iterator getLBMsIntroducedAfter(class LBMManager *, u32); | |
/* size: 104, cachelines: 2, members: 3 */ | |
/* sum members: 97, holes: 1, sum holes: 7 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class ServerEnvironment : public Environment { | |
public: | |
/* class Environment <ancestor>; */ /* 0 0 */ | |
/* XXX 104 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) was 40 bytes ago --- */ | |
class ServerMap * m_map; /* 104 8 */ | |
class ServerScripting * m_script; /* 112 8 */ | |
class Server * m_server; /* 120 8 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
stringconst m_path_world; /* 128 32 */ | |
ActiveObjectMap m_active_objects; /* 160 56 */ | |
/* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ | |
class queue<ActiveObjectMessage, std::deque<ActiveObjectMessage, std::allocator<ActiveObjectMessage> > > m_active_object_messages; /* 216 80 */ | |
/* --- cacheline 4 boundary (256 bytes) was 40 bytes ago --- */ | |
float m_send_recommended_timer; /* 296 4 */ | |
class IntervalLimiter m_object_management_interval; /* 300 4 */ | |
class ActiveBlockList m_active_blocks; /* 304 96 */ | |
/* --- cacheline 6 boundary (384 bytes) was 16 bytes ago --- */ | |
class IntervalLimiter m_active_blocks_management_interval; /* 400 4 */ | |
class IntervalLimiter m_active_block_modifier_interval; /* 404 4 */ | |
class IntervalLimiter m_active_blocks_nodemetadata_interval; /* 408 4 */ | |
int m_active_block_interval_overload_skip; /* 412 4 */ | |
u32 m_game_time; /* 416 4 */ | |
float m_game_time_fraction_counter; /* 420 4 */ | |
u32 m_last_clear_objects_time; /* 424 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<ABMWithState, std::allocator<ABMWithState> > m_abms; /* 432 24 */ | |
/* --- cacheline 7 boundary (448 bytes) was 8 bytes ago --- */ | |
class LBMManager m_lbm_mgr; /* 456 104 */ | |
/* --- cacheline 8 boundary (512 bytes) was 48 bytes ago --- */ | |
float m_recommended_send_interval; /* 560 4 */ | |
float m_max_lag_estimate; /* 564 4 */ | |
class vector<RemotePlayer*, std::allocator<RemotePlayer*> > m_players; /* 568 24 */ | |
/* --- cacheline 9 boundary (576 bytes) was 16 bytes ago --- */ | |
class IntervalLimiter m_particle_management_interval; /* 592 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class unordered_map<unsigned int, float, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, float> > > m_particle_spawners; /* 600 56 */ | |
/* --- cacheline 10 boundary (640 bytes) was 16 bytes ago --- */ | |
class unordered_map<unsigned int, short unsigned int, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, short unsigned int> > > m_particle_spawner_attachments; /* 656 56 */ | |
void ServerEnvironment(class ServerEnvironment *, const class ServerEnvironment &); | |
void ServerEnvironment(class ServerEnvironment *, class ServerMap *, class ServerScripting *, class Server *, const string &); | |
virtual void ~ServerEnvironment(class ServerEnvironment *, int); | |
virtual class Map & getMap(class ServerEnvironment *); | |
class ServerMap & getServerMap(class ServerEnvironment *); | |
class ServerScripting * getScriptIface(class ServerEnvironment *); | |
class Server * getGameDef(class ServerEnvironment *); | |
float getSendRecommendedInterval(class ServerEnvironment *); | |
void kickAllPlayers(class ServerEnvironment *, enum AccessDeniedCode, const string &, bool); | |
void saveLoadedPlayers(class ServerEnvironment *); | |
void savePlayer(class ServerEnvironment *, class RemotePlayer *); | |
class RemotePlayer * loadPlayer(class ServerEnvironment *, const string &, class PlayerSAO *); | |
void addPlayer(class ServerEnvironment *, class RemotePlayer *); | |
void removePlayer(class ServerEnvironment *, class RemotePlayer *); | |
void saveMeta(class ServerEnvironment *); | |
void loadMeta(class ServerEnvironment *); | |
void loadDefaultMeta(class ServerEnvironment *); | |
u32 addParticleSpawner(class ServerEnvironment *, float); | |
u32 addParticleSpawner(class ServerEnvironment *, float, u16); | |
void deleteParticleSpawner(class ServerEnvironment *, u32, bool); | |
class ServerActiveObject * getActiveObject(class ServerEnvironment *, u16); | |
u16 addActiveObject(class ServerEnvironment *, class ServerActiveObject *); | |
void getAddedActiveObjects(class ServerEnvironment *, class PlayerSAO *, s16, s16, class set<short unsigned int, std::less<short unsigned int>, std::allocator<short unsigned int> > &, class queue<short unsigned int, std::deque<short unsigned int, std::allocator<short unsigned int> > > &); | |
void getRemovedActiveObjects(class ServerEnvironment *, class PlayerSAO *, s16, s16, class set<short unsigned int, std::less<short unsigned int>, std::allocator<short unsigned int> > &, class queue<short unsigned int, std::deque<short unsigned int, std::allocator<short unsigned int> > > &); | |
class ActiveObjectMessage getActiveObjectMessage(class ServerEnvironment *); | |
void activateBlock(class ServerEnvironment *, class MapBlock *, u32); | |
void addActiveBlockModifier(class ServerEnvironment *, class ActiveBlockModifier *); | |
void addLoadingBlockModifierDef(class ServerEnvironment *, class LoadingBlockModifierDef *); | |
bool setNode(class ServerEnvironment *, v3s16, const class MapNode &); | |
bool removeNode(class ServerEnvironment *, v3s16); | |
bool swapNode(class ServerEnvironment *, v3s16, const class MapNode &); | |
void getObjectsInsideRadius(class ServerEnvironment *, class vector<short unsigned int, std::allocator<short unsigned int> > &, v3f, float); | |
void clearObjects(class ServerEnvironment *, enum ClearObjectsMode); | |
virtual void step(class ServerEnvironment *, float); | |
bool line_of_sight(class ServerEnvironment *, v3f, v3f, float, v3s16 *); | |
u32 getGameTime(const class ServerEnvironment *); | |
void reportMaxLagEstimate(class ServerEnvironment *, float); | |
float getMaxLagEstimate(class ServerEnvironment *); | |
class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short getForceloadedBlocks(class ServerEnvironment *); | |
void setStaticForActiveObjectsInBlock(class ServerEnvironment *, v3s16, bool, v3s16); | |
class RemotePlayer * getPlayer(class ServerEnvironment *, u16); | |
class RemotePlayer * getPlayer(class ServerEnvironment *, const char *); | |
u16 addActiveObjectRaw(class ServerEnvironment *, class ServerActiveObject *, bool, u32); | |
void removeRemovedObjects(class ServerEnvironment *); | |
void activateObjects(class ServerEnvironment *, class MapBlock *, u32); | |
void deactivateFarObjects(class ServerEnvironment *, bool); | |
/* vtable has 2 entries: { | |
[3] = getMap((null)), | |
[2] = step((null)), | |
} */ | |
/* size: 712, cachelines: 12, members: 25 */ | |
/* sum members: 600, holes: 3, sum holes: 112 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class ActiveBlockList { | |
public: | |
class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short int> > > m_list; /* 0 48 */ | |
class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short int> > > m_forceloaded_list; /* 48 48 */ | |
void update(class ActiveBlockList *, class vector<irr::core::vector3d<short int>, std::allocator<irr::core::vector3d<short int> > > &, s16, class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short , class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short ); | |
bool contains(class ActiveBlockList *, v3s16); | |
void clear(class ActiveBlockList *); | |
void ~ActiveBlockList(class ActiveBlockList *, int); | |
void ActiveBlockList(class ActiveBlockList *); | |
/* size: 96, cachelines: 2, members: 2 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct ActiveABM { | |
class ActiveBlockModifier * abm; /* 0 8 */ | |
int chance; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class set<short unsigned int, std::less<short unsigned int>, std::allocator<short unsigned int> > required_neighbors; /* 16 48 */ | |
void ActiveABM(class ActiveABM *, ); | |
void ActiveABM(class ActiveABM *, const class ActiveABM &); | |
void ~ActiveABM(class ActiveABM *, int); | |
void ActiveABM(class ActiveABM *); | |
/* size: 64, cachelines: 1, members: 3 */ | |
/* sum members: 60, holes: 1, sum holes: 4 */ | |
}; | |
class ABMHandler { | |
class ServerEnvironment * m_env; /* 0 8 */ | |
class vector<std::vector<ActiveABM, std::allocator<ActiveABM> >*, std::allocator<std::vector<ActiveABM, std::allocator<ActiveABM> >*> > m_aabms; /* 8 24 */ | |
public: | |
void ABMHandler(class ABMHandler *, class vector<ABMWithState, std::allocator<ABMWithState> > &, float, class ServerEnvironment *, bool); | |
void ~ABMHandler(class ABMHandler *, int); | |
u32 countObjects(class ABMHandler *, class MapBlock *, class ServerMap *, u32 &); | |
void apply(class ABMHandler *, class MapBlock *); | |
/* size: 32, cachelines: 1, members: 2 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
class ServerActiveObject : public ActiveObject { | |
public: | |
/* class ActiveObject <ancestor>; */ /* 0 16 */ | |
/* XXX last struct has 6 bytes of padding */ | |
u16 m_known_by_count; /* 10 2 */ | |
bool m_removed; /* 12 1 */ | |
bool m_pending_deactivation; /* 13 1 */ | |
bool m_static_exists; /* 14 1 */ | |
/* XXX 1 byte hole, try to pack */ | |
v3s16 m_static_block; /* 16 6 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class queue<ActiveObjectMessage, std::deque<ActiveObjectMessage, std::allocator<ActiveObjectMessage> > > m_messages_out; /* 24 80 */ | |
protected: | |
/* --- cacheline 1 boundary (64 bytes) was 40 bytes ago --- */ | |
class ServerEnvironment * m_env; /* 104 8 */ | |
v3f m_base_position; /* 112 12 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
class unordered_set<unsigned int, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<unsigned int> > m_attached_particle_spawners; /* 128 56 */ | |
/* Bitfield combined with previous fields */ | |
static class map<short unsigned int, ServerActiveObject* (*)(ServerEnvironment*, irr::core::vector3d<float>, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&), std::less<short unsigned int>, std::allocator<std::pair<short unsigned int const, ServerActiveObject* (*)(ServerEnvironment*, irr::core::vector3d<float>, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)> > > m_types /* 0 0 */ | |
typedef class ServerActiveObject * (*Factory)(class ServerEnvironment *, v3f, const string &); | |
public: | |
void ServerActiveObject(class ServerActiveObject *, const class ServerActiveObject &); | |
void ServerActiveObject(class ServerActiveObject *, class ServerEnvironment *, v3f); | |
virtual void ~ServerActiveObject(class ServerActiveObject *, int); | |
virtual enum ActiveObjectType getSendType(const class ServerActiveObject *); | |
virtual void addedToEnvironment(class ServerActiveObject *, u32); | |
virtual void removingFromEnvironment(class ServerActiveObject *); | |
virtual bool environmentDeletes(const class ServerActiveObject *); | |
class ServerActiveObject * create(enum ActiveObjectType, class ServerEnvironment *, u16, v3f, const string &); | |
v3f getBasePosition(class ServerActiveObject *); | |
void setBasePosition(class ServerActiveObject *, v3f); | |
class ServerEnvironment * getEnv(class ServerActiveObject *); | |
virtual void setPos(class ServerActiveObject *, const v3f &); | |
virtual void moveTo(class ServerActiveObject *, v3f, bool); | |
virtual float getMinimumSavedMovement(class ServerActiveObject *); | |
virtual string getDescription(class ServerActiveObject *); | |
virtual void step(class ServerActiveObject *, float, bool); | |
virtual string getClientInitializationData(class ServerActiveObject *, u16); | |
virtual void getStaticData(const class ServerActiveObject *, string *); | |
virtual bool isStaticAllowed(const class ServerActiveObject *); | |
virtual int punch(class ServerActiveObject *, v3f, const class ToolCapabilities *, class ServerActiveObject *, float); | |
virtual void rightClick(class ServerActiveObject *, class ServerActiveObject *); | |
virtual void setHP(class ServerActiveObject *, s16); | |
virtual s16 getHP(const class ServerActiveObject *); | |
virtual void setArmorGroups(class ServerActiveObject *, const ItemGroupList &); | |
virtual const ItemGroupList & getArmorGroups(class ServerActiveObject *); | |
virtual void setPhysicsOverride(class ServerActiveObject *, float, float, float); | |
virtual void setAnimation(class ServerActiveObject *, v2f, float, float, bool); | |
virtual void getAnimation(class ServerActiveObject *, v2f *, float *, float *, bool *); | |
virtual void setBonePosition(class ServerActiveObject *, const string &, v3f, v3f); | |
virtual void getBonePosition(class ServerActiveObject *, const string &, v3f *, v3f *); | |
virtual void setAttachment(class ServerActiveObject *, int, const string &, v3f, v3f); | |
virtual void getAttachment(class ServerActiveObject *, int *, string *, v3f *, v3f *); | |
virtual void addAttachmentChild(class ServerActiveObject *, int); | |
virtual void removeAttachmentChild(class ServerActiveObject *, int); | |
virtual const class unordered_set<int, std::hash<int>, std::equal_to<int>, std::allocator<int> > & getAttachmentChildIds(class ServerActiveObject *); | |
virtual class ObjectProperties * accessObjectProperties(class ServerActiveObject *); | |
virtual void notifyObjectPropertiesModified(class ServerActiveObject *); | |
virtual class Inventory * getInventory(class ServerActiveObject *); | |
virtual const class Inventory * getInventory(const class ServerActiveObject *); | |
virtual class InventoryLocation getInventoryLocation(const class ServerActiveObject *); | |
virtual void setInventoryModified(class ServerActiveObject *); | |
virtual string getWieldList(const class ServerActiveObject *); | |
virtual int getWieldIndex(const class ServerActiveObject *); | |
virtual class ItemStack getWieldedItem(const class ServerActiveObject *); | |
virtual bool setWieldedItem(class ServerActiveObject *, const class ItemStack &); | |
void attachParticleSpawner(class ServerActiveObject *, u32); | |
void detachParticleSpawner(class ServerActiveObject *, u32); | |
protected: | |
void registerType(u16, Factory); | |
/* vtable has 38 entries: { | |
[5] = getSendType((null)), | |
[6] = addedToEnvironment((null)), | |
[7] = removingFromEnvironment((null)), | |
[8] = environmentDeletes((null)), | |
[9] = setPos((null)), | |
[10] = moveTo((null)), | |
[11] = getMinimumSavedMovement((null)), | |
[12] = getDescription((null)), | |
[13] = step((null)), | |
[14] = getClientInitializationData((null)), | |
[15] = getStaticData((null)), | |
[16] = isStaticAllowed((null)), | |
[17] = punch((null)), | |
[18] = rightClick((null)), | |
[19] = setHP((null)), | |
[20] = getHP((null)), | |
[21] = setArmorGroups((null)), | |
[22] = getArmorGroups((null)), | |
[23] = setPhysicsOverride((null)), | |
[24] = setAnimation((null)), | |
[25] = getAnimation((null)), | |
[26] = setBonePosition((null)), | |
[27] = getBonePosition((null)), | |
[28] = setAttachment((null)), | |
[29] = getAttachment((null)), | |
[30] = addAttachmentChild((null)), | |
[31] = removeAttachmentChild((null)), | |
[32] = getAttachmentChildIds((null)), | |
[33] = accessObjectProperties((null)), | |
[34] = notifyObjectPropertiesModified((null)), | |
[35] = getInventory((null)), | |
[36] = getInventory((null)), | |
[37] = getInventoryLocation((null)), | |
[38] = setInventoryModified((null)), | |
[39] = getWieldList((null)), | |
[40] = getWieldIndex((null)), | |
[41] = getWieldedItem((null)), | |
[42] = setWieldedItem((null)), | |
} */ | |
/* size: 184, cachelines: 3, members: 10, static members: 1 */ | |
/* sum members: 167, holes: 3, sum holes: 7 */ | |
/* paddings: 1, sum paddings: 6 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 184 != 167 + 7(holes), diff = 10 */ | |
}; | |
class SourceShaderCache { | |
StringMap m_programs; /* 0 56 */ | |
public: | |
void insert(class SourceShaderCache *, const string &, const string &, const string &, bool); | |
string get(class SourceShaderCache *, const string &, const string &); | |
string getOrLoad(class SourceShaderCache *, const string &, const string &); | |
string readFile(class SourceShaderCache *, const string &); | |
void ~SourceShaderCache(class SourceShaderCache *, int); | |
void SourceShaderCache(class SourceShaderCache *); | |
/* size: 56, cachelines: 1, members: 1 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class CachedShaderSetting<float, 16ul> { | |
const char * m_name; /* 0 8 */ | |
float m_sent[16]; /* 8 64 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
bool has_been_set; /* 72 1 */ | |
bool is_pixel; /* 73 1 */ | |
protected: | |
void CachedShaderSetting(class CachedShaderSetting<float, 16ul> *, const char *, bool); | |
public: | |
void set(class CachedShaderSetting<float, 16ul> *, const float *, class IMaterialRendererServices *); | |
/* size: 80, cachelines: 2, members: 4 */ | |
/* padding: 6 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
class CachedVertexShaderSetting<float, 16ul> : public CachedShaderSetting<float, 16ul> { | |
public: | |
/* class CachedShaderSetting<float, 16ul> <ancestor>; */ /* 0 80 */ | |
/* XXX last struct has 6 bytes of padding */ | |
void CachedVertexShaderSetting(class CachedVertexShaderSetting<float, 16ul> *, const char *); | |
/* size: 80, cachelines: 2, members: 1 */ | |
/* paddings: 1, sum paddings: 6 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 80 != 0 + 0(holes), diff = 80 */ | |
}; | |
class ShaderCallback : public IShaderConstantSetCallBack { | |
public: | |
/* class IShaderConstantSetCallBack <ancestor>; */ /* 0 32 */ | |
/* XXX last struct has 24 bytes of padding */ | |
class vector<IShaderConstantSetter*, std::allocator<IShaderConstantSetter*> > m_setters; /* 8 24 */ | |
void ShaderCallback(class ShaderCallback *, int, const void * *, const class ShaderCallback &); | |
void ShaderCallback(class ShaderCallback *, int, const void * *, const class vector<IShaderConstantSetterFactory*, std::allocator<IShaderConstantSetterFactory*> > &); | |
virtual void ~ShaderCallback(class ShaderCallback *, int, const void * *); | |
virtual void OnSetConstants(class ShaderCallback *, class IMaterialRendererServices *, s32); | |
/* vtable has 1 entries: { | |
[1] = OnSetConstants((null)), | |
} */ | |
/* size: 56, cachelines: 1, members: 2 */ | |
/* padding: 24 */ | |
/* paddings: 1, sum paddings: 24 */ | |
/* last cacheline: 56 bytes */ | |
/* BRAIN FART ALERT! 56 != 24 + 0(holes), diff = 32 */ | |
}; | |
class ShaderSource : public IWritableShaderSource { | |
public: | |
/* class IWritableShaderSource <ancestor>; */ /* 0 8 */ | |
threadid_t m_main_thread; /* 8 8 */ | |
class IrrlichtDevice * m_device; /* 16 8 */ | |
class SourceShaderCache m_sourcecache; /* 24 56 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
class vector<ShaderInfo, std::allocator<ShaderInfo> > m_shaderinfo_cache; /* 80 24 */ | |
Mutex m_shaderinfo_cache_mutex; /* 104 40 */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
class RequestQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char, unsigned char> m_get_shader_queue; /* 144 152 */ | |
/* --- cacheline 4 boundary (256 bytes) was 40 bytes ago --- */ | |
class vector<IShaderConstantSetterFactory*, std::allocator<IShaderConstantSetterFactory*> > m_setter_factories; /* 296 24 */ | |
/* --- cacheline 5 boundary (320 bytes) --- */ | |
class vector<ShaderCallback*, std::allocator<ShaderCallback*> > m_callbacks; /* 320 24 */ | |
void ShaderSource(class ShaderSource *, const class ShaderSource &); | |
void ShaderSource(class ShaderSource *, class IrrlichtDevice *); | |
virtual void ~ShaderSource(class ShaderSource *, int); | |
virtual u32 getShaderIdDirect(class ShaderSource *, const string &, u8, u8); | |
virtual u32 getShader(class ShaderSource *, const string &, u8, u8); | |
virtual class ShaderInfo getShaderInfo(class ShaderSource *, u32); | |
virtual void processQueue(class ShaderSource *); | |
virtual void insertSourceShader(class ShaderSource *, const string &, const string &, const string &); | |
virtual void rebuildShaders(class ShaderSource *); | |
virtual void addShaderConstantSetterFactory(class ShaderSource *, class IShaderConstantSetterFactory *); | |
/* vtable has 7 entries: { | |
[2] = getShaderIdDirect((null)), | |
[4] = getShader((null)), | |
[3] = getShaderInfo((null)), | |
[5] = processQueue((null)), | |
[6] = insertSourceShader((null)), | |
[7] = rebuildShaders((null)), | |
[8] = addShaderConstantSetterFactory((null)), | |
} */ | |
/* size: 344, cachelines: 6, members: 9 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 344 != 336 + 0(holes), diff = 8 */ | |
}; | |
class MainShaderConstantSetterFactory : public IShaderConstantSetterFactory { | |
public: | |
/* class IShaderConstantSetterFactory <ancestor>; */ /* 0 8 */ | |
void MainShaderConstantSetterFactory(class MainShaderConstantSetterFactory *, ); | |
void MainShaderConstantSetterFactory(class MainShaderConstantSetterFactory *, const class MainShaderConstantSetterFactory &); | |
void MainShaderConstantSetterFactory(class MainShaderConstantSetterFactory *); | |
virtual class IShaderConstantSetter * create(class MainShaderConstantSetterFactory *); | |
virtual void ~MainShaderConstantSetterFactory(class MainShaderConstantSetterFactory *, int); | |
/* vtable has 1 entries: { | |
[2] = create((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 8 != 0 + 0(holes), diff = 8 */ | |
}; | |
class MainShaderConstantSetter : public IShaderConstantSetter { | |
public: | |
/* class IShaderConstantSetter <ancestor>; */ /* 0 8 */ | |
class CachedVertexShaderSetting<float, 16ul> m_world_view_proj; /* 8 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ | |
class CachedVertexShaderSetting<float, 16ul> m_world; /* 88 80 */ | |
void MainShaderConstantSetter(class MainShaderConstantSetter *, const class MainShaderConstantSetter &); | |
void MainShaderConstantSetter(class MainShaderConstantSetter *); | |
virtual void ~MainShaderConstantSetter(class MainShaderConstantSetter *, int); | |
virtual void onSetConstants(class MainShaderConstantSetter *, class IMaterialRendererServices *, bool); | |
/* vtable has 1 entries: { | |
[2] = onSetConstants((null)), | |
} */ | |
/* size: 168, cachelines: 3, members: 3 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 168 != 160 + 0(holes), diff = 8 */ | |
}; | |
class Sky : public ISceneNode { | |
public: | |
/* class ISceneNode <ancestor>; */ /* 0 264 */ | |
/* XXX last struct has 26 bytes of padding */ | |
/* --- cacheline 3 boundary (192 bytes) was 48 bytes ago --- */ | |
aabb3f m_box; /* 240 24 */ | |
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ | |
class SMaterial m_materials[5]; /* 264 880 */ | |
/* --- cacheline 17 boundary (1088 bytes) was 56 bytes ago --- */ | |
bool m_visible; /* 1144 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
class SColor m_fallback_bg_color; /* 1148 4 */ | |
/* --- cacheline 18 boundary (1152 bytes) --- */ | |
bool m_first_update; /* 1152 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float m_time_of_day; /* 1156 4 */ | |
float m_time_brightness; /* 1160 4 */ | |
bool m_sunlight_seen; /* 1164 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
float m_brightness; /* 1168 4 */ | |
float m_cloud_brightness; /* 1172 4 */ | |
bool m_clouds_visible; /* 1176 1 */ | |
bool m_directional_colored_fog; /* 1177 1 */ | |
/* XXX 2 bytes hole, try to pack */ | |
class SColorf m_bgcolor_bright_f; /* 1180 16 */ | |
class SColorf m_skycolor_bright_f; /* 1196 16 */ | |
class SColorf m_cloudcolor_bright_f; /* 1212 16 */ | |
/* --- cacheline 19 boundary (1216 bytes) was 12 bytes ago --- */ | |
class SColor m_bgcolor; /* 1228 4 */ | |
class SColor m_skycolor; /* 1232 4 */ | |
class SColorf m_cloudcolor_f; /* 1236 16 */ | |
v3f m_stars[200]; /* 1252 2400 */ | |
/* --- cacheline 57 boundary (3648 bytes) was 4 bytes ago --- */ | |
struct S3DVertex m_star_vertices[800]; /* 3652 28800 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 507 boundary (32448 bytes) was 8 bytes ago --- */ | |
class ITexture * m_sun_texture; /* 32456 8 */ | |
class ITexture * m_moon_texture; /* 32464 8 */ | |
class ITexture * m_sun_tonemap; /* 32472 8 */ | |
class ITexture * m_moon_tonemap; /* 32480 8 */ | |
void Sky(class Sky *, int, const void * *, ); | |
void Sky(class Sky *, int, const void * *, const class Sky &); | |
void Sky(class Sky *, int, const void * *, class ISceneNode *, class ISceneManager *, s32, class ITextureSource *); | |
virtual void OnRegisterSceneNode(class Sky *); | |
virtual void render(class Sky *); | |
virtual const aabb3f & getBoundingBox(const class Sky *); | |
virtual class SMaterial & getMaterial(class Sky *, u32); | |
virtual u32 getMaterialCount(const class Sky *); | |
void update(class Sky *, float, float, float, bool, enum CameraMode, float, float); | |
float getBrightness(class Sky *); | |
const class SColor & getBgColor(const class Sky *); | |
const class SColor & getSkyColor(const class Sky *); | |
bool getCloudsVisible(class Sky *); | |
const class SColorf & getCloudColor(class Sky *); | |
virtual void setVisible(class Sky *, bool); | |
void setFallbackBgColor(class Sky *, const class SColor &); | |
float m_horizon_blend(class Sky *); | |
class SColor m_mix_scolor(class Sky *, class SColor, class SColor, f32); | |
class SColorf m_mix_scolorf(class Sky *, class SColorf, class SColorf, f32); | |
virtual void ~Sky(class Sky *, int, const void * *); | |
/* vtable has 6 entries: { | |
[4] = OnRegisterSceneNode((null)), | |
[6] = render((null)), | |
[10] = getBoundingBox((null)), | |
[26] = getMaterial((null)), | |
[27] = getMaterialCount((null)), | |
[16] = setVisible((null)), | |
} */ | |
/* size: 32512, cachelines: 508, members: 25 */ | |
/* sum members: 32233, holes: 5, sum holes: 15 */ | |
/* padding: 24 */ | |
/* paddings: 1, sum paddings: 26 */ | |
/* BRAIN FART ALERT! 32512 != 32233 + 15(holes), diff = 264 */ | |
}; | |
struct sockaddr { | |
sa_family_t sa_family; /* 0 2 */ | |
char sa_data[14]; /* 2 14 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct addrinfo { | |
int ai_flags; /* 0 4 */ | |
int ai_family; /* 4 4 */ | |
int ai_socktype; /* 8 4 */ | |
int ai_protocol; /* 12 4 */ | |
socklen_t ai_addrlen; /* 16 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class sockaddr * ai_addr; /* 24 8 */ | |
char * ai_canonname; /* 32 8 */ | |
class addrinfo * ai_next; /* 40 8 */ | |
/* size: 48, cachelines: 1, members: 8 */ | |
/* sum members: 44, holes: 1, sum holes: 4 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
class DummySoundManager : public ISoundManager { | |
public: | |
/* class ISoundManager <ancestor>; */ /* 0 8 */ | |
void DummySoundManager(class DummySoundManager *, ); | |
void DummySoundManager(class DummySoundManager *, const class DummySoundManager &); | |
void DummySoundManager(class DummySoundManager *); | |
virtual bool loadSoundFile(class DummySoundManager *, const string &, const string &); | |
virtual bool loadSoundData(class DummySoundManager *, const string &, const string &); | |
virtual void updateListener(class DummySoundManager *, v3f, v3f, v3f, v3f); | |
virtual void setListenerGain(class DummySoundManager *, float); | |
virtual int playSound(class DummySoundManager *, const string &, bool, float); | |
virtual int playSoundAt(class DummySoundManager *, const string &, bool, float, v3f); | |
virtual void stopSound(class DummySoundManager *, int); | |
virtual bool soundExists(class DummySoundManager *, int); | |
virtual void updateSoundPosition(class DummySoundManager *, int, v3f); | |
virtual void ~DummySoundManager(class DummySoundManager *, int); | |
/* vtable has 9 entries: { | |
[2] = loadSoundFile((null)), | |
[3] = loadSoundData((null)), | |
[4] = updateListener((null)), | |
[5] = setListenerGain((null)), | |
[6] = playSound((null)), | |
[7] = playSoundAt((null)), | |
[8] = stopSound((null)), | |
[9] = soundExists((null)), | |
[10] = updateSoundPosition((null)), | |
} */ | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
/* BRAIN FART ALERT! 8 != 0 + 0(holes), diff = 8 */ | |
}; | |
struct vorbis_info { | |
int version; /* 0 4 */ | |
int channels; /* 4 4 */ | |
long int rate; /* 8 8 */ | |
long int bitrate_upper; /* 16 8 */ | |
long int bitrate_nominal; /* 24 8 */ | |
long int bitrate_lower; /* 32 8 */ | |
long int bitrate_window; /* 40 8 */ | |
void * codec_setup; /* 48 8 */ | |
/* size: 56, cachelines: 1, members: 8 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
struct vorbis_dsp_state { | |
int analysisp; /* 0 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
vorbis_info * vi; /* 8 8 */ | |
float * * pcm; /* 16 8 */ | |
float * * pcmret; /* 24 8 */ | |
int pcm_storage; /* 32 4 */ | |
int pcm_current; /* 36 4 */ | |
int pcm_returned; /* 40 4 */ | |
int preextrapolate; /* 44 4 */ | |
int eofflag; /* 48 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
long int lW; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
long int W; /* 64 8 */ | |
long int nW; /* 72 8 */ | |
long int centerW; /* 80 8 */ | |
ogg_int64_t granulepos; /* 88 8 */ | |
ogg_int64_t sequence; /* 96 8 */ | |
ogg_int64_t glue_bits; /* 104 8 */ | |
ogg_int64_t time_bits; /* 112 8 */ | |
ogg_int64_t floor_bits; /* 120 8 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
ogg_int64_t res_bits; /* 128 8 */ | |
void * backend_state; /* 136 8 */ | |
/* size: 144, cachelines: 3, members: 20 */ | |
/* sum members: 136, holes: 2, sum holes: 8 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct vorbis_block { | |
float * * pcm; /* 0 8 */ | |
oggpack_buffer opb; /* 8 40 */ | |
long int lW; /* 48 8 */ | |
long int W; /* 56 8 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
long int nW; /* 64 8 */ | |
int pcmend; /* 72 4 */ | |
int mode; /* 76 4 */ | |
int eofflag; /* 80 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
ogg_int64_t granulepos; /* 88 8 */ | |
ogg_int64_t sequence; /* 96 8 */ | |
vorbis_dsp_state * vd; /* 104 8 */ | |
void * localstore; /* 112 8 */ | |
long int localtop; /* 120 8 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
long int localalloc; /* 128 8 */ | |
long int totaluse; /* 136 8 */ | |
class alloc_chain * reap; /* 144 8 */ | |
long int glue_bits; /* 152 8 */ | |
long int time_bits; /* 160 8 */ | |
long int floor_bits; /* 168 8 */ | |
long int res_bits; /* 176 8 */ | |
void * internal; /* 184 8 */ | |
/* size: 192, cachelines: 3, members: 21 */ | |
/* sum members: 188, holes: 1, sum holes: 4 */ | |
}; | |
struct alloc_chain { | |
void * ptr; /* 0 8 */ | |
class alloc_chain * next; /* 8 8 */ | |
/* size: 16, cachelines: 1, members: 2 */ | |
/* last cacheline: 16 bytes */ | |
}; | |
struct vorbis_comment { | |
char * * user_comments; /* 0 8 */ | |
int * comment_lengths; /* 8 8 */ | |
int comments; /* 16 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
char * vendor; /* 24 8 */ | |
/* size: 32, cachelines: 1, members: 4 */ | |
/* sum members: 28, holes: 1, sum holes: 4 */ | |
/* last cacheline: 32 bytes */ | |
}; | |
struct OggVorbis_File { | |
void * datasource; /* 0 8 */ | |
int seekable; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
ogg_int64_t offset; /* 16 8 */ | |
ogg_int64_t end; /* 24 8 */ | |
ogg_sync_state oy; /* 32 32 */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
int links; /* 64 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
ogg_int64_t * offsets; /* 72 8 */ | |
ogg_int64_t * dataoffsets; /* 80 8 */ | |
long int * serialnos; /* 88 8 */ | |
ogg_int64_t * pcmlengths; /* 96 8 */ | |
vorbis_info * vi; /* 104 8 */ | |
vorbis_comment * vc; /* 112 8 */ | |
ogg_int64_t pcm_offset; /* 120 8 */ | |
/* --- cacheline 2 boundary (128 bytes) --- */ | |
int ready_state; /* 128 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
long int current_serialno; /* 136 8 */ | |
int current_link; /* 144 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
double bittrack; /* 152 8 */ | |
double samptrack; /* 160 8 */ | |
ogg_stream_state os; /* 168 408 */ | |
/* --- cacheline 9 boundary (576 bytes) --- */ | |
vorbis_dsp_state vd; /* 576 144 */ | |
/* --- cacheline 11 boundary (704 bytes) was 16 bytes ago --- */ | |
vorbis_block vb; /* 720 192 */ | |
/* --- cacheline 14 boundary (896 bytes) was 16 bytes ago --- */ | |
ov_callbacks callbacks; /* 912 32 */ | |
/* size: 944, cachelines: 15, members: 22 */ | |
/* sum members: 928, holes: 4, sum holes: 16 */ | |
/* last cacheline: 48 bytes */ | |
}; | |
struct SoundBuffer { | |
ALenum format; /* 0 4 */ | |
ALsizei freq; /* 4 4 */ | |
ALuint buffer_id; /* 8 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class vector<char, std::allocator<char> > buffer; /* 16 24 */ | |
void ~SoundBuffer(class SoundBuffer *, int); | |
void SoundBuffer(class SoundBuffer *); | |
/* size: 40, cachelines: 1, members: 4 */ | |
/* sum members: 36, holes: 1, sum holes: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
struct BufferSource { | |
const char * buf; /* 0 8 */ | |
size_t cur_offset; /* 8 8 */ | |
size_t len; /* 16 8 */ | |
/* size: 24, cachelines: 1, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct PlayingSound { | |
ALuint source_id; /* 0 4 */ | |
bool loop; /* 4 1 */ | |
/* size: 8, cachelines: 1, members: 2 */ | |
/* padding: 3 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
class OpenALSoundManager : public ISoundManager { | |
public: | |
/* class ISoundManager <ancestor>; */ /* 0 8 */ | |
class OnDemandSoundFetcher * m_fetcher; /* 8 8 */ | |
ALCdevice * m_device; /* 16 8 */ | |
ALCcontext * m_context; /* 24 8 */ | |
int m_next_id; /* 32 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<SoundBuffer*, std::allocator<SoundBuffer*> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<SoundBuffer*, std::allocator<SoundBuffer*> > > > > m_buffers; /* 40 56 */ | |
/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */ | |
class unordered_map<int, PlayingSound*, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<int const, PlayingSound*> > > m_sounds_playing; /* 96 56 */ | |
/* --- cacheline 2 boundary (128 bytes) was 24 bytes ago --- */ | |
v3f m_listener_pos; /* 152 12 */ | |
bool m_is_initialized; /* 164 1 */ | |
void OpenALSoundManager(class OpenALSoundManager *, const class OpenALSoundManager &); | |
void OpenALSoundManager(class OpenALSoundManager *, class OnDemandSoundFetcher *); | |
virtual void ~OpenALSoundManager(class OpenALSoundManager *, int); | |
void addBuffer(class OpenALSoundManager *, const string &, class SoundBuffer *); | |
class SoundBuffer * getBuffer(class OpenALSoundManager *, const string &); | |
class PlayingSound * createPlayingSound(class OpenALSoundManager *, class SoundBuffer *, bool, float); | |
class PlayingSound * createPlayingSoundAt(class OpenALSoundManager *, class SoundBuffer *, bool, float, v3f); | |
int playSoundRaw(class OpenALSoundManager *, class SoundBuffer *, bool, float); | |
int playSoundRawAt(class OpenALSoundManager *, class SoundBuffer *, bool, float, v3f); | |
void deleteSound(class OpenALSoundManager *, int); | |
class SoundBuffer * getFetchBuffer(class OpenALSoundManager *, const string &); | |
void maintain(class OpenALSoundManager *); | |
virtual bool loadSoundFile(class OpenALSoundManager *, const string &, const string &); | |
virtual bool loadSoundData(class OpenALSoundManager *, const string &, const string &); | |
virtual void updateListener(class OpenALSoundManager *, v3f, v3f, v3f, v3f); | |
virtual void setListenerGain(class OpenALSoundManager *, float); | |
virtual int playSound(class OpenALSoundManager *, const string &, bool, float); | |
virtual int playSoundAt(class OpenALSoundManager *, const string &, bool, float, v3f); | |
virtual void stopSound(class OpenALSoundManager *, int); | |
virtual bool soundExists(class OpenALSoundManager *, int); | |
virtual void updateSoundPosition(class OpenALSoundManager *, int, v3f); | |
/* vtable has 9 entries: { | |
[2] = loadSoundFile((null)), | |
[3] = loadSoundData((null)), | |
[4] = updateListener((null)), | |
[5] = setListenerGain((null)), | |
[6] = playSound((null)), | |
[7] = playSoundAt((null)), | |
[8] = stopSound((null)), | |
[9] = soundExists((null)), | |
[10] = updateSoundPosition((null)), | |
} */ | |
/* size: 168, cachelines: 3, members: 9 */ | |
/* sum members: 153, holes: 1, sum holes: 4 */ | |
/* padding: 3 */ | |
/* last cacheline: 40 bytes */ | |
/* BRAIN FART ALERT! 168 != 153 + 4(holes), diff = 11 */ | |
}; | |
struct GameFindPath { | |
string path; /* 0 32 */ | |
bool user_specific; /* 32 1 */ | |
void GameFindPath(class GameFindPath *, const string &, bool); | |
void GameFindPath(class GameFindPath *, ); | |
void ~GameFindPath(class GameFindPath *, int); | |
/* size: 40, cachelines: 1, members: 2 */ | |
/* padding: 7 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > { | |
protected: | |
class deque<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > m_queue; /* 0 80 */ | |
/* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ | |
Mutex m_mutex; /* 80 40 */ | |
class Semaphore m_signal; /* 120 32 */ | |
public: | |
void MutexedQueue(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *); | |
bool empty(const class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > ); | |
void push_back(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *, class pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >); | |
class pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > pop_frontNoEx(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *, u32); | |
class pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > pop_front(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *, u32); | |
class pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > pop_frontNoEx(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *); | |
class pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > pop_back(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *, u32); | |
class pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > pop_backNoEx(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *, u32); | |
class pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > pop_backNoEx(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *); | |
protected: | |
Mutex & getMutex(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *); | |
class deque<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocat getQueue(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *); | |
public: | |
void ~MutexedQueue(class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *, int); | |
/* size: 152, cachelines: 3, members: 3 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
class TerminalChatConsole : public Thread { | |
struct CursesInitHelper { | |
class TerminalChatConsole * cons; /* 0 8 */ | |
void CursesInitHelper(class CursesInitHelper *, class TerminalChatConsole *); | |
void ~CursesInitHelper(class CursesInitHelper *, int); | |
/* size: 8, cachelines: 1, members: 1 */ | |
/* last cacheline: 8 bytes */ | |
}; | |
public: | |
/* class Thread <ancestor>; */ /* 0 0 */ | |
/* XXX 144 bytes hole, try to pack */ | |
/* --- cacheline 2 boundary (128 bytes) was 16 bytes ago --- */ | |
int m_log_level; /* 144 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
string m_nick; /* 152 32 */ | |
u8 m_utf8_bytes_to_wait; /* 184 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
/* --- cacheline 3 boundary (192 bytes) --- */ | |
string m_pending_utf8_bytes; /* 192 32 */ | |
class list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > m_nicks; /* 224 24 */ | |
int m_cols; /* 248 4 */ | |
int m_rows; /* 252 4 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
bool m_can_draw_text; /* 256 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
bool * m_kill_requested; /* 264 8 */ | |
class ChatBackend m_chat_backend; /* 272 328 */ | |
/* --- cacheline 9 boundary (576 bytes) was 24 bytes ago --- */ | |
class ChatInterface * m_chat_interface; /* 600 8 */ | |
class TermLogOutput m_log_output; /* 608 160 */ | |
/* --- cacheline 12 boundary (768 bytes) --- */ | |
bool m_esc_mode; /* 768 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
u64 m_game_time; /* 776 8 */ | |
u32 m_time_of_day; /* 784 4 */ | |
void TerminalChatConsole(class TerminalChatConsole *, ); | |
void TerminalChatConsole(class TerminalChatConsole *, const class TerminalChatConsole &); | |
void TerminalChatConsole(class TerminalChatConsole *); | |
void setup(class TerminalChatConsole *, class ChatInterface *, bool *, const string &); | |
virtual void * run(class TerminalChatConsole *); | |
void clearKillStatus(class TerminalChatConsole *); | |
void stopAndWaitforThread(class TerminalChatConsole *); | |
void initOfCurses(class TerminalChatConsole *); | |
void deInitOfCurses(class TerminalChatConsole *); | |
void draw_text(class TerminalChatConsole *); | |
void typeChatMessage(class TerminalChatConsole *, const wstring &); | |
void handleInput(class TerminalChatConsole *, int, bool &); | |
void step(class TerminalChatConsole *, int); | |
virtual void ~TerminalChatConsole(class TerminalChatConsole *, int); | |
/* vtable has 1 entries: { | |
[2] = run((null)), | |
} */ | |
/* size: 792, cachelines: 13, members: 16 */ | |
/* sum members: 619, holes: 5, sum holes: 169 */ | |
/* padding: 4 */ | |
/* last cacheline: 24 bytes */ | |
}; | |
struct _win_st { | |
struct pdat { | |
short int _pad_y; /* 0 2 */ | |
short int _pad_x; /* 2 2 */ | |
short int _pad_top; /* 4 2 */ | |
short int _pad_left; /* 6 2 */ | |
short int _pad_bottom; /* 8 2 */ | |
short int _pad_right; /* 10 2 */ | |
/* size: 12, cachelines: 1, members: 6 */ | |
/* last cacheline: 12 bytes */ | |
}; | |
short int _cury; /* 0 2 */ | |
short int _curx; /* 2 2 */ | |
short int _maxy; /* 4 2 */ | |
short int _maxx; /* 6 2 */ | |
short int _begy; /* 8 2 */ | |
short int _begx; /* 10 2 */ | |
short int _flags; /* 12 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
attr_t _attrs; /* 16 4 */ | |
chtype _bkgd; /* 20 4 */ | |
bool _notimeout; /* 24 1 */ | |
bool _clear; /* 25 1 */ | |
bool _leaveok; /* 26 1 */ | |
bool _scroll; /* 27 1 */ | |
bool _idlok; /* 28 1 */ | |
bool _idcok; /* 29 1 */ | |
bool _immed; /* 30 1 */ | |
bool _sync; /* 31 1 */ | |
bool _use_keypad; /* 32 1 */ | |
/* XXX 3 bytes hole, try to pack */ | |
int _delay; /* 36 4 */ | |
class ldat * _line; /* 40 8 */ | |
short int _regtop; /* 48 2 */ | |
short int _regbottom; /* 50 2 */ | |
int _parx; /* 52 4 */ | |
int _pary; /* 56 4 */ | |
/* XXX 4 bytes hole, try to pack */ | |
/* --- cacheline 1 boundary (64 bytes) --- */ | |
WINDOW * _parent; /* 64 8 */ | |
struct pdat _pad; /* 72 12 */ | |
short int _yoffset; /* 84 2 */ | |
/* XXX 2 bytes hole, try to pack */ | |
cchar_t _bkgrnd; /* 88 28 */ | |
int _color; /* 116 4 */ | |
/* size: 120, cachelines: 2, members: 29 */ | |
/* sum members: 109, holes: 4, sum holes: 11 */ | |
/* last cacheline: 56 bytes */ | |
}; | |
class TermLogOutput : public ILogOutput { | |
public: | |
/* class ILogOutput <ancestor>; */ /* 0 8 */ | |
class MutexedQueue<std::pair<LogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > queue; /* 8 152 */ | |
void TermLogOutput(class TermLogOutput *, ); | |
void TermLogOutput(class TermLogOutput *, const class TermLogOutput &); | |
void TermLogOutput(class TermLogOutput *); | |
void ~TermLogOutput(class TermLogOutput *, int); | |
virtual void logRaw(class TermLogOutput *, enum LogLevel, const string &); | |
virtual void log(class TermLogOutput *, enum LogLevel, const string &, const string &, const string &, const string &); | |
/* vtable has 2 entries: { | |
[0] = logRaw((null)), | |
[1] = log((null)), | |
} */ | |
/* size: 160, cachelines: 3, members: 2 */ | |
/* last cacheline: 32 bytes */ | |
/* BRAIN FART ALERT! 160 != 152 + 0(holes), diff = 8 */ | |
}; | |
class VoxelManipulator { | |
public: | |
int ()(void) * * _vptr.VoxelManipulator; /* 0 8 */ | |
class VoxelArea m_area; /* 8 12 */ | |
/* XXX 4 bytes hole, try to pack */ | |
class MapNode * m_data; /* 24 8 */ | |
u8 * m_flags; /* 32 8 */ | |
/* Bitfield combined with previous fields */ | |
static class MapNodeconst ContentIgnoreNode /* 0 0 */ | |
void VoxelManipulator(class VoxelManipulator *, const class VoxelManipulator &); | |
void VoxelManipulator(class VoxelManipulator *); | |
virtual void ~VoxelManipulator(class VoxelManipulator *, int); | |
class MapNode getNode(class VoxelManipulator *, v3s16); | |
class MapNode getNodeNoEx(class VoxelManipulator *, v3s16); | |
class MapNode getNodeNoExNoEmerge(class VoxelManipulator *, v3s16); | |
class MapNode & getNodeRefUnsafe(class VoxelManipulator *, const v3s16 &); | |
const class MapNode & getNodeRefUnsafeCheckFlags(class VoxelManipulator *, const v3s16 &); | |
u8 & getFlagsRefUnsafe(class VoxelManipulator *, v3s16); | |
bool exists(class VoxelManipulator *, v3s16); | |
class MapNode & getNodeRef(class VoxelManipulator *, v3s16); | |
void setNode(class VoxelManipulator *, v3s16, const class MapNode &); | |
void setNodeNoRef(class VoxelManipulator *, v3s16, const class MapNode &); | |
bool setNodeNoEmerge(class VoxelManipulator *, v3s16, class MapNode); | |
bool setNodeNoEmerge(class VoxelManipulator *, s32, class MapNode); | |
virtual void clear(class VoxelManipulator *); | |
void print(class VoxelManipulator *, ostream &, class INodeDefManager *, enum VoxelPrintMode); | |
void addArea(class VoxelManipulator *, const class VoxelArea &); | |
void copyFrom(class VoxelManipulator *, class MapNode *, const class VoxelArea &, v3s16, v3s16, v3s16); | |
void copyTo(class VoxelManipulator *, class MapNode *, const class VoxelArea &, v3s16, v3s16, v3s16); | |
void clearFlag(class VoxelManipulator *, u8); | |
void unspreadLight(class VoxelManipulator *, enum LightBank, v3s16, u8, class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short , class INodeDefManager *); | |
void unspreadLight(class VoxelManipulator *, enum LightBank, class map<irr::core::vector3d<short int>, unsigned char, std::less<irr::core::vector3d<short int> >, std::allocator<std::pair<c, class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short , class INodeDefManager *); | |
void spreadLight(class VoxelManipulator *, enum LightBank, v3s16, class INodeDefManager *); | |
void spreadLight(class VoxelManipulator *, enum LightBank, class set<irr::core::vector3d<short int>, std::less<irr::core::vector3d<short int> >, std::allocator<irr::core::vector3d<short , class INodeDefManager *); | |
/* vtable has 1 entries: { | |
[2] = clear((null)), | |
} */ | |
/* size: 40, cachelines: 1, members: 4, static members: 1 */ | |
/* sum members: 36, holes: 1, sum holes: 4 */ | |
/* last cacheline: 40 bytes */ | |
}; | |
class ExtrusionMeshCache : public IReferenceCounted { | |
public: | |
/* class IReferenceCounted <ancestor>; */ /* 0 24 */ | |
/* XXX last struct has 4 bytes of padding */ | |
class map<int, irr::scene::IMesh*, std::less<int>, std::allocator<std::pair<int const, irr::scene::IMesh*> > > m_extrusion_meshes; /* 24 48 */ | |
/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ | |
class IMesh * m_cube; /* 72 8 */ | |
void ExtrusionMeshCache(class ExtrusionMeshCache *, const class ExtrusionMeshCache &); | |
void ExtrusionMeshCache(class ExtrusionMeshCache *); | |
virtual void ~ExtrusionMeshCache(class ExtrusionMeshCache *, int); | |
class IMesh * create(class ExtrusionMeshCache *, class dimension2d<unsigned int>); | |
class IMesh * createCube(class ExtrusionMeshCache *); | |
/* size: 80, cachelines: 2, members: 3 */ | |
/* paddings: 1, sum paddings: 4 */ | |
/* last cacheline: 16 bytes */ | |
/* BRAIN FART ALERT! 80 != 56 + 0(holes), diff = 24 */ | |
}; | |
class WieldMeshSceneNode : public ISceneNode { | |
public: | |
/* class ISceneNode <ancestor>; */ /* 0 264 */ | |
/* XXX last struct has 26 bytes of padding */ | |
/* --- cacheline 3 boundary (192 bytes) was 48 bytes ago --- */ | |
class IMeshSceneNode * m_meshnode; /* 240 8 */ | |
enum E_MATERIAL_TYPE m_material_type; /* 248 4 */ | |
bool m_lighting; /* 252 1 */ | |
bool m_enable_shaders; /* 253 1 */ | |
bool m_anisotropic_filter; /* 254 1 */ | |
bool m_bilinear_filter; /* 255 1 */ | |
/* --- cacheline 4 boundary (256 bytes) --- */ | |
bool m_trilinear_filter; /* 256 1 */ | |
/* XXX 7 bytes hole, try to pack */ | |
class vector<ItemPartColor, std::allocator<ItemPartColor> > m_colors; /* 264 24 */ | |
class SColor m_base_color; /* 288 4 */ | |
aabb3f m_bounding_box; /* 292 24 */ | |
void WieldMeshSceneNode(class WieldMeshSceneNode *, int, const void * *, const class WieldMeshSceneNode &); | |
void WieldMeshSceneNode(class WieldMeshSceneNode *, int, const void * *, class ISceneNode *, class ISceneManager *, s32, bool); | |
virtual void ~WieldMeshSceneNode(class WieldMeshSceneNode *, int, const void * *); | |
void setCube(class WieldMeshSceneNode *, const class ContentFeatures &, v3f, class ITextureSource *); | |
void setExtruded(class WieldMeshSceneNode *, const string &, v3f, class ITextureSource *, u8); | |
void setItem(class WieldMeshSceneNode *, const class ItemStack &, class Client *); | |
void setColor(class WieldMeshSceneNode *, class SColor); | |
class IMesh * getMesh(class WieldMeshSceneNode *); | |
virtual void render(class WieldMeshSceneNode *); | |
virtual const aabb3f & getBoundingBox(const class WieldMeshSceneNode *); | |
void changeToMesh(class WieldMeshSceneNode *, class IMesh *); | |
/* vtable has 2 entries: { | |
[6] = render((null)), | |
[10] = getBoundingBox((null)), | |
} */ | |
/* size: 344, cachelines: 6, members: 11 */ | |
/* sum members: 69, holes: 1, sum holes: 7 */ | |
/* padding: 28 */ | |
/* paddings: 1, sum paddings: 26 */ | |
/* last cacheline: 24 bytes */ | |
/* BRAIN FART ALERT! 344 != 69 + 7(holes), diff = 268 */ | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment