feat(profile): added definitions for a handful of UI objects

This commit is contained in:
phaneron 2024-09-30 17:19:28 -04:00
parent ac20b7a227
commit 8ff5db67f2
39 changed files with 4484 additions and 183 deletions

View file

@ -7,8 +7,8 @@
#include "storm/list.h"
#define STORM_TS_HASH(T, K) \
STORM_TS_LIST(T) \
STORM_TS_GROWABLE_ARRAY(TSList_##T) \
STORM_TS_LIST(T); \
STORM_TS_GROWABLE_ARRAY(TSList_##T); \
typedef struct TSHashTable_##T##_##K TSHashTable_##T##_##K; \
typedef struct TSHashObject_##T##_##K TSHashObject_##T##_##K; \
struct TSHashTable_##T##_##K { \
@ -22,7 +22,7 @@ struct TSHashObject_##T##_##K { \
TSLink_##T m_linktoslot; \
TSLink_##T m_linktofull; \
K m_key; \
};
}
DECLARE_STRUCT(HASHKEY_PTR);
DECLARE_STRUCT(HASHKEY_STR);

View file

@ -3,22 +3,18 @@
#include "system/types.h"
// to make an object self referential
// forward-declare 'struct Object_type' as 'Object_type'
// then define 'struct Object_type'
// TSLink<T>
#define STORM_TS_LINK(T) typedef struct TSLink_##T TSLink_##T; \
struct TSLink_##T { \
TSLink_##T* m_prevlink; \
T* m_next; \
};
}
// TSList<T>
// TSExplicitList<T>
// TSLinkedNode<T>
#define STORM_TS_LIST(T) \
STORM_TS_LINK(T) \
STORM_TS_LINK(T); \
typedef struct TSList_##T TSList_##T; \
typedef struct TSList_##T TSExplicitList_##T; \
typedef struct TSLinkedNode_##T TSLinkedNode_##T; \
@ -28,6 +24,7 @@ struct TSList_##T { \
}; \
struct TSLinkedNode_##T { \
TSLink_##T m_link; \
};
}; \
typedef TSList_##T TSExplicitList_##T
#endif

View file

@ -23,9 +23,9 @@ typedef struct TSTimerPriority_##T TSTimerPriority_##T; \
struct TSTimerPriority_##T { \
CSBasePriority b_base; \
T m_val; \
};
}
#define STORM_TS_PRIORITY_QUEUE(T) \
typedef CSBasePriorityQueue TSPriorityQueue_##T;
typedef CSBasePriorityQueue TSPriorityQueue_##T
#endif