mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-24 00:31:16 +00:00
33 lines
654 B
C++
33 lines
654 B
C++
#ifndef DECOMP_H
|
|
#define DECOMP_H
|
|
|
|
#define DECOMP_STATIC_ASSERT(V) namespace { typedef int foo[(V)?1:-1]; }
|
|
#define DECOMP_SIZE_ASSERT(T, S) DECOMP_STATIC_ASSERT(sizeof(T) == S)
|
|
|
|
#ifndef _countof
|
|
#define _countof(arr) sizeof(arr) / sizeof(arr[0])
|
|
#endif
|
|
|
|
typedef unsigned char undefined;
|
|
typedef unsigned short undefined2;
|
|
typedef unsigned int undefined4;
|
|
|
|
#ifdef ISLE_BUILD_PATCH
|
|
|
|
class PatchHook
|
|
{
|
|
public:
|
|
PatchHook(void *p_ourFunc, void *p_origFunc);
|
|
};
|
|
|
|
#define PATCH_HOOK(ourFunc, origFunc) \
|
|
static PatchHook _patchHook_##__COUNTER__ ((void *)ourFunc, (void *)origFunc)
|
|
|
|
#else
|
|
|
|
#define PATCH_HOOK(ourFunc, origFunc)
|
|
|
|
#endif
|
|
|
|
#endif // DECOMP_H
|