Files
dusklight/libs/JSystem/include/JSystem/JSupport/JSupport.h
T
Luke Street 4df8ccc871 Reorganize library code into libs/ (#3119)
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}

* Update configure.py and project.py for new libs structure

* Refactor `#include <dolphin/x.h>` -> `<x.h>`

* Remove `__REVOLUTION_SDK__` forwards from dolphin

* Fix dolphin/ references in revolution

* Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__`

* Always build TRK against dolphin headers

* Resolve revolution SDK header resolution issues
2026-03-01 14:35:36 -08:00

53 lines
958 B
C++

#ifndef JSUPPORT_H
#define JSUPPORT_H
#ifdef __REVOLUTION_SDK__
#include <revolution.h>
#else
#include <dolphin.h>
#endif
#include <stdint.h>
/**
* @ingroup jsystem-jsupport
*
*/
template <typename T>
T* JSUConvertOffsetToPtr(const void* ptr, uintptr_t offset) {
return offset == 0 ? NULL : (T*)((intptr_t)ptr + (intptr_t)offset);
}
/**
* @ingroup jsystem-jsupport
*
*/
template <typename T>
T* JSUConvertOffsetToPtr(const void* ptr, const void* offset) {
T* ret;
if (offset == 0) {
ret = NULL;
} else {
ret = (T*)((intptr_t)ptr + (intptr_t)offset);
}
return ret;
}
inline u8 JSULoNibble(u8 param_0) { return param_0 & 0x0f; }
inline u8 JSUHiNibble(u8 param_0) {return param_0 >> 4; }
inline u8 JSULoByte(u16 in) {
return in & 0xff;
}
inline u8 JSUHiByte(u16 in) {
return in >> 8;
}
inline u16 JSUHiHalf(u32 in) {
return (in >> 16);
}
inline u16 JSULoHalf(u32 param_0) {return param_0; }
#endif