feat(profile): update 3.3.5a profile

This commit is contained in:
phaneron 2024-11-27 01:59:15 -05:00
parent 9053d61b6b
commit e1bab2b375
186 changed files with 1204 additions and 43942 deletions

View file

@ -0,0 +1,24 @@
#ifndef COMMON_ARRAY_H
#define COMMON_ARRAY_H
#include "storm/array.h"
#define COMMON_SIMPLE_SORTED_ARRAY(T) STORM_TS_GROWABLE_ARRAY(T); \
typedef struct CSimpleSortedArray_##T CSimpleSortedArray_##T; \
struct CSimpleSortedArray_##T { \
TSGrowableArray_##T m_array; \
uint32_t m_count; \
uint32_t m_maxcount; \
uint32_t m_iterator; \
};
#define COMMON_SIMPLE_SORTED_ARRAY_POINTER_TO(T) STORM_TS_GROWABLE_ARRAY_POINTER_TO(T); \
typedef struct CSimpleSortedArray_pointer_to_##T CSimpleSortedArray_pointer_to_##T; \
struct CSimpleSortedArray_pointer_to_##T { \
TSGrowableArray_pointer_to_##T m_array; \
uint32_t m_count; \
uint32_t m_maxcount; \
uint32_t m_iterator; \
};
#endif

View file

@ -0,0 +1,63 @@
#ifndef COMMON_DATA_MANAGER_H
#define COMMON_DATA_MANAGER_H
DECLARE_STRUCT(CBaseManaged);
DECLARE_STRUCT(CDataMgr);
DECLARE_ENUM(CBaseManaged__ManagedTypeIds);
DECLARE_ENUM(CBaseManaged__ManagedFlags);
#include "system/types.h"
#include "common/handle.h"
#include "storm/array.h"
#include "storm/list.h"
#include "tempest/vector.h"
typedef HOBJECT HDATAMGR;
STORM_TS_FIXED_ARRAY_POINTER_TO(CBaseManaged);
STORM_TS_LIST(CBaseManaged);
enum CBaseManaged__ManagedTypeIds {
// TODO
COORD = 3,
FLOAT = 6,
DATATYPEIDS = 7
};
enum CBaseManaged__ManagedFlags {
ALWAYSUPDATE = 0x1,
READONLY = 0x2,
REQUIRESUPDATE = 0x4,
UPDATED = 0x8,
};
struct CBaseManaged {
void* v_vtable;
TSLink_CBaseManaged m_link;
uint8_t m_dataTypeId;
uint8_t m_flags;
void (*m_updateFcn)(float, void*, void*);
void* m_updateData;
float m_updatePriority;
};
// class CDataMgr : public CHandleObject
struct CDataMgr {
CHandleObject b_base;
TSFixedArray_pointer_to_CBaseManaged m_managedArray;
TSExplicitList_CBaseManaged m_updateList;
};
// class TManaged<T> : public CBaseManaged
#define COMMON_T_MANAGED(T) \
typedef struct TManaged_##T TManaged_##T; \
struct TManaged_##T { \
CBaseManaged b_base; \
T m_data; \
};
// declare types
COMMON_T_MANAGED(float);
COMMON_T_MANAGED(C3Vector);
#endif

View file

@ -0,0 +1,39 @@
#ifndef COMMON_DATA_RECYCLER_H
#define COMMON_DATA_RECYCLER_H
#include "system/types.h"
DECLARE_STRUCT(CDataRecycler);
DECLARE_STRUCT(CDataRecycler__vtable);
DECLARE_STRUCT(CDataRecycler__NodeBlock);
DECLARE_STRUCT(CDataRecycler__Node);
struct CDataRecycler__vtable {
void* v_fn_00;
void* v_fn_01;
void* v_fn_02;
void* v_fn_03;
void* v_fn_04;
};
struct CDataRecycler__Node {
CDataRecycler__Node* m_next;
void* m_data;
uint32_t m_bytes;
};
struct CDataRecycler__NodeBlock {
CDataRecycler__NodeBlock* m_next;
CDataRecycler__Node m_nodes[1];
};
struct CDataRecycler {
CDataRecycler__vtable* v_vtable;
int32_t m_nodesRecyclable;
uint32_t m_nodesPerBlock;
CDataRecycler__NodeBlock* m_nodeBlockList;
CDataRecycler__Node* m_nodeFullList;
CDataRecycler__Node* m_nodeEmptyList;
};
#endif

View file

@ -0,0 +1,21 @@
#ifndef COMMON_HANDLE_H
#define COMMON_HANDLE_H
#include "system/types.h"
#if !defined(DECLARE_HANDLE)
#define DECLARE_HANDLE(name) \
typedef struct name##__ { \
int32_t unused; \
}* name
#endif
DECLARE_STRUCT(CHandleObject);
struct CHandleObject {
int32_t m_refcount;
};
DECLARE_HANDLE(HOBJECT);
#endif

View file

@ -0,0 +1,43 @@
#ifndef COMMON_INSTANCE_H
#define COMMON_INSTANCE_H
#include "system/types.h"
#include "storm/list.h"
#include "storm/thread.h"
// TSList<T>
// TSLinkedNode<T>
// TInstanceId<T>
// TSingletonInstanceId<T>
#define COMMON_INSTANCE_ID(T) \
STORM_TS_LIST(T); \
typedef struct TInstanceId_##T TInstanceId_##T; \
typedef struct TSingletonInstanceId_##T TSingletonInstanceId_##T; \
struct TInstanceId_##T { \
TSLinkedNode_##T b_base; \
uint32_t m_id; \
}; \
struct TSingletonInstanceId_##T { \
TInstanceId_##T b_base; \
};
#define COMMON_INSTANCE_ID_TABLE(T) \
STORM_TS_LIST(T); \
typedef struct TInstanceIdTable_##T TInstanceIdTable_##T; \
struct TInstanceIdTable_##T { \
SCritSect m_idCritSect; \
uint32_t m_id; \
int32_t m_idWrapped; \
CSRWLock m_idLock[8]; \
TSList_##T m_idList[8]; \
};
// template <class T>
// class TExtraInstanceRecyclable
typedef struct TExtraInstanceRecyclable TExtraInstanceRecyclable;
struct TExtraInstanceRecyclable {
uint32_t m_recycleBytes;
};
#endif

View file

@ -0,0 +1,14 @@
#ifndef COMMON_RC_STRING_H
#define COMMON_RC_STRING_H
#include "common/refcount.h"
DECLARE_STRUCT(RCString);
// struct RCString : TRefCnt
struct RCString {
TRefCnt b_base;
uint8_t* m_str;
};
#endif

View file

@ -0,0 +1,11 @@
#ifndef COMMON_REF_COUNT_H
#define COMMON_REF_COUNT_H
DECLARE_STRUCT(TRefCnt);
struct TRefCnt {
void* vfptr;
uint32_t m_refcnt;
};
#endif

View file

@ -0,0 +1,36 @@
#ifndef COMMON_STATUS_H
#define COMMON_STATUS_H
#include "storm/list.h"
DECLARE_ENUM(STATUS_TYPE);
DECLARE_STRUCT(CStatus);
DECLARE_STRUCT(CStatus__STATUSENTRY);
enum STATUS_TYPE {
STATUS_INFO = 0x0,
STATUS_WARNING = 0x1,
STATUS_ERROR = 0x2,
STATUS_FATAL = 0x3,
STATUS_NUMTYPES = 0x4
};
STORM_TS_LIST(CStatus__STATUSENTRY);
struct CStatus__STATUSENTRY {
char* text;
STATUS_TYPE severity;
TSLink_CStatus__STATUSENTRY link;
};
struct CStatus {
TSExplicitList_CStatus__STATUSENTRY statusList;
};
// class CWOWClientStatus : public CStatus {
// public:
// HSLOG m_logFile = nullptr;
// };
#endif