mirror of
https://github.com/zeldaret/st
synced 2026-06-18 23:36:49 -04:00
Decompile ActorManager_001.cpp (#31)
* started ActorManager_001.cpp * create, ctor, dtor * prog * fix build * fix build issues * progress * struct comments * match ClearInstance
This commit is contained in:
@@ -14,3 +14,15 @@
|
||||
#define SET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] |= 1 << ((pos) & 0x1F))
|
||||
#define UNSET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] &= ~(1 << ((pos) & 0x1F)))
|
||||
#define FLAG(index, pos) (((index) << 5) | ((pos) & 0x1F))
|
||||
|
||||
//! TODO: improve or remove? idk
|
||||
#define VA_NARGS_IMPL(_1, _2, _3, _4, N, ...) N
|
||||
#define VA_NARGS(...) VA_NARGS_IMPL(__VA_ARGS__, 4, 3, 2, 1)
|
||||
#define GET_FLAGS_1(f1) (1 << (f1))
|
||||
#define GET_FLAGS_2(f1, f2) GET_FLAGS_1(f1) | (1 << (f2))
|
||||
#define GET_FLAGS_3(f1, f2, f3) GET_FLAGS_2(f1, f2) | (1 << (f3))
|
||||
#define GET_FLAGS_4(f1, f2, f3, f4) GET_FLAGS_3(f1, f2, f3) | (1 << (f4))
|
||||
#define GET_FLAGS_IMPL2(N, ...) GET_FLAGS_##N(__VA_ARGS__)
|
||||
#define GET_FLAGS_IMPL(N, ...) GET_FLAGS_IMPL2(N, __VA_ARGS__)
|
||||
#define GET_FLAGS(...) GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__)
|
||||
#define SET_FLAGS(arr, ...) (*(u32 *) arr = GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__))
|
||||
|
||||
Reference in New Issue
Block a user