Skip to content

Commit

Permalink
Dynamically acquire hook address
Browse files Browse the repository at this point in the history
  • Loading branch information
Gamepiaynmo committed Mar 4, 2021
1 parent 1ca4e40 commit 6d9d906
Show file tree
Hide file tree
Showing 13 changed files with 127 additions and 117 deletions.
58 changes: 29 additions & 29 deletions BMLMod.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -887,42 +887,42 @@ void BMLMod::OnProcess() {
}

if (IsInTravelCam()) {
if (im->IsKeyDown(CKKEY_W)) m_travelCam->Translate(&VxVector(0, 0, 0.2f * deltaTime), m_travelCam);
if (im->IsKeyDown(CKKEY_S)) m_travelCam->Translate(&VxVector(0, 0, -0.2f * deltaTime), m_travelCam);
if (im->IsKeyDown(CKKEY_A)) m_travelCam->Translate(&VxVector(-0.2f * deltaTime, 0, 0), m_travelCam);
if (im->IsKeyDown(CKKEY_D)) m_travelCam->Translate(&VxVector(0.2f * deltaTime, 0, 0), m_travelCam);
if (im->IsKeyDown(CKKEY_SPACE)) m_travelCam->Translate(&VxVector(0, 0.2f * deltaTime, 0));
if (im->IsKeyDown(CKKEY_LSHIFT)) m_travelCam->Translate(&VxVector(0, -0.2f * deltaTime, 0));
if (im->IsKeyDown(CKKEY_W)) m_travelCam->Translate(VxVector(0, 0, 0.2f * deltaTime), m_travelCam);
if (im->IsKeyDown(CKKEY_S)) m_travelCam->Translate(VxVector(0, 0, -0.2f * deltaTime), m_travelCam);
if (im->IsKeyDown(CKKEY_A)) m_travelCam->Translate(VxVector(-0.2f * deltaTime, 0, 0), m_travelCam);
if (im->IsKeyDown(CKKEY_D)) m_travelCam->Translate(VxVector(0.2f * deltaTime, 0, 0), m_travelCam);
if (im->IsKeyDown(CKKEY_SPACE)) m_travelCam->Translate(VxVector(0, 0.2f * deltaTime, 0));
if (im->IsKeyDown(CKKEY_LSHIFT)) m_travelCam->Translate(VxVector(0, -0.2f * deltaTime, 0));
VxVector delta;
im->GetMouseRelativePosition(delta);
m_travelCam->Rotate(&VxVector(0, 1, 0), -delta.x * 2 / m_bml->GetRenderContext()->GetWidth());
m_travelCam->Rotate(&VxVector(1, 0, 0), -delta.y * 2 / m_bml->GetRenderContext()->GetWidth(), m_travelCam);
m_travelCam->Rotate(VxVector(0, 1, 0), -delta.x * 2 / m_bml->GetRenderContext()->GetWidth());
m_travelCam->Rotate(VxVector(1, 0, 0), -delta.y * 2 / m_bml->GetRenderContext()->GetWidth(), m_travelCam);
}
else if (m_camOn->GetBoolean()) {
if (im->IsKeyPressed(m_cam45->GetKey())) {
m_camOrientRef->Rotate(&VxVector(0, 1, 0), PI / 4, m_camOrientRef);
m_camOrient->SetQuaternion(&VxQuaternion(), m_camOrientRef);
m_camOrientRef->Rotate(VxVector(0, 1, 0), PI / 4, m_camOrientRef);
m_camOrient->SetQuaternion(VxQuaternion(), m_camOrientRef);
}
if (im->IsKeyDown(m_camRot[0]->GetKey())) {
m_camOrientRef->Rotate(&VxVector(0, 1, 0), -0.01f * deltaTime, m_camOrientRef);
m_camOrient->SetQuaternion(&VxQuaternion(), m_camOrientRef);
m_camOrientRef->Rotate(VxVector(0, 1, 0), -0.01f * deltaTime, m_camOrientRef);
m_camOrient->SetQuaternion(VxQuaternion(), m_camOrientRef);
}
if (im->IsKeyDown(m_camRot[1]->GetKey())) {
m_camOrientRef->Rotate(&VxVector(0, 1, 0), 0.01f * deltaTime, m_camOrientRef);
m_camOrient->SetQuaternion(&VxQuaternion(), m_camOrientRef);
m_camOrientRef->Rotate(VxVector(0, 1, 0), 0.01f * deltaTime, m_camOrientRef);
m_camOrient->SetQuaternion(VxQuaternion(), m_camOrientRef);
}
if (im->IsKeyDown(m_camY[0]->GetKey()))
m_camPos->Translate(&VxVector(0, 0.15f * deltaTime, 0), m_camOrientRef);
m_camPos->Translate(VxVector(0, 0.15f * deltaTime, 0), m_camOrientRef);
if (im->IsKeyDown(m_camY[1]->GetKey()))
m_camPos->Translate(&VxVector(0, -0.15f * deltaTime, 0), m_camOrientRef);
m_camPos->Translate(VxVector(0, -0.15f * deltaTime, 0), m_camOrientRef);
if (im->IsKeyDown(m_camZ[0]->GetKey())) {
VxVector position;
m_camPos->GetPosition(&position, m_camOrientRef);
position.z = (std::min)(position.z + 0.1f * deltaTime, -0.1f);
m_camPos->SetPosition(&position, m_camOrientRef);
m_camPos->SetPosition(position, m_camOrientRef);
}
if (im->IsKeyDown(m_camZ[1]->GetKey()))
m_camPos->Translate(&VxVector(0, 0, -0.1f * deltaTime), m_camOrientRef);
m_camPos->Translate(VxVector(0, 0, -0.1f * deltaTime), m_camOrientRef);
if (im->IsKeyDown(m_camReset->GetKey())) {
VxQuaternion rotation;
m_camOrientRef->GetQuaternion(&rotation, m_camTarget);
Expand All @@ -932,9 +932,9 @@ void BMLMod::OnProcess() {
rotation = rotation + VxQuaternion();
rotation *= 0.5f;
}
m_camOrientRef->SetQuaternion(&rotation, m_camTarget);
m_camOrient->SetQuaternion(&VxQuaternion(), m_camOrientRef);
m_camPos->SetPosition(&VxVector(0, 35, -22), m_camOrient);
m_camOrientRef->SetQuaternion(rotation, m_camTarget);
m_camOrient->SetQuaternion(VxQuaternion(), m_camOrientRef);
m_camPos->SetPosition(VxVector(0, 35, -22), m_camOrient);
}
}

Expand All @@ -961,17 +961,17 @@ void BMLMod::OnProcess() {

if (m_curSel >= 0) {
m_curObj = static_cast<CK3dEntity*>(ctx->CopyObject(m_pBalls[m_curSel]));
m_curObj->SetPosition(&VxVector(0, 5, 0), m_camTarget);
m_curObj->SetPosition(VxVector(0, 5, 0), m_camTarget);
m_curObj->Show();
}
}
else if (im->oIsKeyDown(m_addBall[m_curSel]->GetKey())) {
if (im->oIsKeyDown(m_moveKeys[0]->GetKey())) m_curObj->Translate(&VxVector(0, 0, 0.1f * deltaTime), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[1]->GetKey())) m_curObj->Translate(&VxVector(0, 0, -0.1f * deltaTime), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[2]->GetKey())) m_curObj->Translate(&VxVector(-0.1f * deltaTime, 0, 0), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[3]->GetKey())) m_curObj->Translate(&VxVector(0.1f * deltaTime, 0, 0), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[4]->GetKey())) m_curObj->Translate(&VxVector(0, 0.1f * deltaTime, 0), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[5]->GetKey())) m_curObj->Translate(&VxVector(0, -0.1f * deltaTime, 0), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[0]->GetKey())) m_curObj->Translate(VxVector(0, 0, 0.1f * deltaTime), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[1]->GetKey())) m_curObj->Translate(VxVector(0, 0, -0.1f * deltaTime), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[2]->GetKey())) m_curObj->Translate(VxVector(-0.1f * deltaTime, 0, 0), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[3]->GetKey())) m_curObj->Translate(VxVector(0.1f * deltaTime, 0, 0), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[4]->GetKey())) m_curObj->Translate(VxVector(0, 0.1f * deltaTime, 0), m_camOrientRef);
if (im->oIsKeyDown(m_moveKeys[5]->GetKey())) m_curObj->Translate(VxVector(0, -0.1f * deltaTime, 0), m_camOrientRef);
}
else {
CKMesh* mesh = m_curObj->GetMesh(0);
Expand Down Expand Up @@ -1551,7 +1551,7 @@ void GuiModCategory::SetVisible(bool visible) {
Gui::SetVisible(visible);
if (visible) {
std::vector<Property*> &props = m_config->GetCategory(m_category.c_str()).props;
for (int i = 0; i < props.size(); i++) {
for (size_t i = 0; i < props.size(); i++) {
Property* prop = props[i];
m_data[i]->CopyValue(prop);
std::pair<BGui::Element*, BGui::Element*> input = m_inputs[i];
Expand Down
2 changes: 1 addition & 1 deletion BuildVer.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#define BML_MAJOR_VER 0
#define BML_MINOR_VER 3
#define BML_BUILD_VER 31
#define BML_BUILD_VER 32
43 changes: 23 additions & 20 deletions Gui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,73 +99,76 @@ CKBOOL InputHook::oIsKeyReleased(CKDWORD iKey) {
}

bool InputHook::InitHook() {
if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac12a0),
LPBYTE imAddr = reinterpret_cast<LPBYTE>(GetModuleHandle("Dx5InputManager.dll"));
if (imAddr == nullptr) return false;

if (MH_CreateHook(imAddr + 0x12a0,
*reinterpret_cast<LPVOID*>(&InputHook::mIsKeyDown),
reinterpret_cast<LPVOID*>(&InputHook::mIsKeyDown)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac12a0)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x12a0) != MH_OK) {
return false;
}

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac12e0),
if (MH_CreateHook(imAddr + 0x12e0,
*reinterpret_cast<LPVOID*>(&InputHook::mIsKeyUp),
reinterpret_cast<LPVOID*>(&InputHook::mIsKeyUp)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac12e0)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x12e0) != MH_OK) {
return false;
}

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac1310),
if (MH_CreateHook(imAddr + 0x1310,
*reinterpret_cast<LPVOID*>(&InputHook::mIsKeyToggled),
reinterpret_cast<LPVOID*>(&InputHook::mIsKeyToggled)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac1310)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x1310) != MH_OK) {
return false;
}

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac1220),
if (MH_CreateHook(imAddr + 0x1220,
*reinterpret_cast<LPVOID*>(&InputHook::mGetKeyboardState),
reinterpret_cast<LPVOID*>(&InputHook::mGetKeyboardState)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac1220)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x1220) != MH_OK) {
return false;
}

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac1230),
if (MH_CreateHook(imAddr + 0x1230,
*reinterpret_cast<LPVOID*>(&InputHook::mGetNumberOfKeyInBuffer),
reinterpret_cast<LPVOID*>(&InputHook::mGetNumberOfKeyInBuffer)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac1230)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x1230) != MH_OK) {
return false;
}

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac1240),
if (MH_CreateHook(imAddr + 0x1240,
*reinterpret_cast<LPVOID*>(&InputHook::mGetKeyFromBuffer),
reinterpret_cast<LPVOID*>(&InputHook::mGetKeyFromBuffer)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac1240)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x1240) != MH_OK) {
return false;
}

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac1360),
if (MH_CreateHook(imAddr + 0x1360,
*reinterpret_cast<LPVOID*>(&InputHook::mIsMouseButtonDown),
reinterpret_cast<LPVOID*>(&InputHook::mIsMouseButtonDown)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac1360)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x1360) != MH_OK) {
return false;
}

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac1370),
if (MH_CreateHook(imAddr + 0x1370,
*reinterpret_cast<LPVOID*>(&InputHook::mIsMouseClicked),
reinterpret_cast<LPVOID*>(&InputHook::mIsMouseClicked)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac1370)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x1370) != MH_OK) {
return false;
}

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac1390),
if (MH_CreateHook(imAddr + 0x1390,
*reinterpret_cast<LPVOID*>(&InputHook::mIsMouseToggled),
reinterpret_cast<LPVOID*>(&InputHook::mIsMouseToggled)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac1390)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x1390) != MH_OK) {
return false;
}

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x24ac13b0),
if (MH_CreateHook(imAddr + 0x13b0,
*reinterpret_cast<LPVOID*>(&InputHook::mGetMouseButtonsState),
reinterpret_cast<LPVOID*>(&InputHook::mGetMouseButtonsState)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x24ac13b0)) != MH_OK) {
|| MH_EnableHook(imAddr + 0x13b0) != MH_OK) {
return false;
}

Expand Down
14 changes: 10 additions & 4 deletions ModLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,16 @@ void ModLoader::Init() {

m_logger->Info("Step Hook created");

if (MH_CreateHook(reinterpret_cast<LPVOID>(0x25681C30), &ObjectLoader,
HMODULE narratives = GetModuleHandle("Narratives.dll");
if (narratives == nullptr) {
m_logger->Error("Get Narratives Address Failed");
return;
}

LPVOID objectLoadAddr = reinterpret_cast<LPBYTE>(narratives) + 0x1C30;
if (MH_CreateHook(objectLoadAddr, &ObjectLoader,
reinterpret_cast<LPVOID*>(&m_objectLoader)) != MH_OK
|| MH_EnableHook(reinterpret_cast<LPVOID>(0x25681C30)) != MH_OK) {
|| MH_EnableHook(objectLoadAddr) != MH_OK) {
m_logger->Error("Create Object Loader Hook Failed");
return;
}
Expand Down Expand Up @@ -368,8 +375,7 @@ int ModLoader::ObjectLoader(const CKBehaviorContext& behcontext) {
beh->GetLocalParameterValue(0, &dynamic);

XObjectArray* oarray = *(XObjectArray**)beh->GetOutputParameterWriteDataPtr(0);
CKObject* masterobject = NULL;
beh->GetOutputParameterObject(1);
CKObject* masterobject = beh->GetOutputParameterObject(1);
BOOL isMap = !strcmp(beh->GetOwnerScript()->GetName(), "Levelinit_build");

m_instance->BroadcastCallback(&IMod::OnLoadObject, std::bind(&IMod::OnLoadObject, std::placeholders::_1, filename, isMap,
Expand Down
3 changes: 2 additions & 1 deletion RegisterBB.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,8 @@ void RegisterCallback(XObjectDeclarationArray* reg, CKSTRING name, CKSTRING desc
->SetProcessFunction([callback](HookParams* params) {
callback();
return false;
})->Build());
})
->Build());
}

void RegisterBBs(XObjectDeclarationArray* reg) {
Expand Down
40 changes: 20 additions & 20 deletions virtools/CK3dEntity.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,55 +116,55 @@ NAKED CKERROR CK3dEntity::RemoveMesh(CKMesh* mesh) {
JUMPV(0x100);
}

NAKED void CK3dEntity::LookAt(const VxVector* Pos, CK3dEntity* Ref, CKBOOL KeepChildren) {
NAKED void CK3dEntity::LookAt(const VxVector& Pos, CK3dEntity* Ref, CKBOOL KeepChildren) {
JUMPV(0x104);
}

NAKED void CK3dEntity::Rotate(float X, float Y, float Z, float Angle, CK3dEntity* Ref, CKBOOL KeepChildren) {
JUMPV(0x108);
}

NAKED void CK3dEntity::Rotate(const VxVector* Axis, float Angle, CK3dEntity* Ref, CKBOOL KeepChildren) {
NAKED void CK3dEntity::Rotate(const VxVector& Axis, float Angle, CK3dEntity* Ref, CKBOOL KeepChildren) {
JUMPV(0x10c);
}

NAKED void CK3dEntity::Translate(float X, float Y, float Z, CK3dEntity* Ref, CKBOOL KeepChildren) {
JUMPV(0x110);
}

NAKED void CK3dEntity::Translate(const VxVector* Vect, CK3dEntity* Ref, CKBOOL KeepChildren) {
NAKED void CK3dEntity::Translate(const VxVector& Vect, CK3dEntity* Ref, CKBOOL KeepChildren) {
JUMPV(0x114);
}

NAKED void CK3dEntity::AddScale(float X, float Y, float Z, CKBOOL KeepChildren, CKBOOL Local) {
JUMPV(0x118);
}

NAKED void CK3dEntity::AddScale(const VxVector* Scale, CKBOOL KeepChildren, CKBOOL Local) {
NAKED void CK3dEntity::AddScale(const VxVector& Scale, CKBOOL KeepChildren, CKBOOL Local) {
JUMPV(0x11c);
}

NAKED void CK3dEntity::SetPosition(float X, float Y, float Z, CK3dEntity* Ref, CKBOOL KeepChildren) {
JUMPV(0x120);
}

NAKED void CK3dEntity::SetPosition(const VxVector* Pos, CK3dEntity* Ref, CKBOOL KeepChildren) {
NAKED void CK3dEntity::SetPosition(const VxVector& Pos, CK3dEntity* Ref, CKBOOL KeepChildren) {
JUMPV(0x124);
}

NAKED void CK3dEntity::GetPosition(VxVector* Pos, CK3dEntity* Ref) const {
JUMPV(0x128);
}

NAKED void CK3dEntity::SetOrientation(const VxVector* Dir, const VxVector* Up, const VxVector* Right, CK3dEntity* Ref, CKBOOL KeepChildren) {
NAKED void CK3dEntity::SetOrientation(const VxVector& Dir, const VxVector& Up, const VxVector* Right, CK3dEntity* Ref, CKBOOL KeepChildren) {
JUMPV(0x12c);
}

NAKED void CK3dEntity::GetOrientation(VxVector* Dir, VxVector* Up, VxVector* Right, CK3dEntity* Ref) {
JUMPV(0x130);
}

NAKED void CK3dEntity::SetQuaternion(const VxQuaternion* Quat, CK3dEntity* Ref, CKBOOL KeepChildren, BOOL KeepScale) {
NAKED void CK3dEntity::SetQuaternion(const VxQuaternion& Quat, CK3dEntity* Ref, CKBOOL KeepChildren, BOOL KeepScale) {
JUMPV(0x134);
}

Expand All @@ -176,35 +176,35 @@ NAKED void CK3dEntity::SetScale(float X, float Y, float Z, CKBOOL KeepChildren,
JUMPV(0x13c);
}

NAKED void CK3dEntity::SetScale(const VxVector* Scale, CKBOOL KeepChildren, CKBOOL Local) {
NAKED void CK3dEntity::SetScale(const VxVector& Scale, CKBOOL KeepChildren, CKBOOL Local) {
JUMPV(0x140);
}

NAKED void CK3dEntity::GetScale(VxVector* Scale, CKBOOL Local) {
JUMPV(0x144);
}

NAKED CKBOOL CK3dEntity::ConstructWorldMatrix(const VxVector* Pos, const VxVector* Scale, const VxQuaternion* Quat) {
NAKED CKBOOL CK3dEntity::ConstructWorldMatrix(const VxVector& Pos, const VxVector& Scale, const VxQuaternion& Quat) {
JUMPV(0x148);
}

NAKED CKBOOL CK3dEntity::ConstructWorldMatrixEx(const VxVector* Pos, const VxVector* Scale, const VxQuaternion* Quat, const VxQuaternion* Shear, float Sign) {
NAKED CKBOOL CK3dEntity::ConstructWorldMatrixEx(const VxVector& Pos, const VxVector& Scale, const VxQuaternion& Quat, const VxQuaternion& Shear, float Sign) {
JUMPV(0x14c);
}

NAKED CKBOOL CK3dEntity::ConstructLocalMatrix(const VxVector* Pos, const VxVector* Scale, const VxQuaternion* Quat) {
NAKED CKBOOL CK3dEntity::ConstructLocalMatrix(const VxVector& Pos, const VxVector& Scale, const VxQuaternion& Quat) {
JUMPV(0x150);
}

NAKED CKBOOL CK3dEntity::ConstructLocalMatrixEx(const VxVector* Pos, const VxVector* Scale, const VxQuaternion* Quat, const VxQuaternion* Shear, float Sign) {
NAKED CKBOOL CK3dEntity::ConstructLocalMatrixEx(const VxVector& Pos, const VxVector& Scale, const VxQuaternion& Quat, const VxQuaternion& Shear, float Sign) {
JUMPV(0x154);
}

NAKED CKBOOL CK3dEntity::Render(CKRenderContext* Dev, CKDWORD Flags) {
JUMPV(0x158);
}

NAKED int CK3dEntity::RayIntersection(const VxVector* Pos1, const VxVector* Pos2, VxIntersectionDesc* Desc, CK3dEntity* Ref, CK_RAYINTERSECTION iOptions) {
NAKED int CK3dEntity::RayIntersection(const VxVector& Pos1, const VxVector& Pos2, VxIntersectionDesc* Desc, CK3dEntity* Ref, CK_RAYINTERSECTION iOptions) {
JUMPV(0x15c);
}

Expand Down Expand Up @@ -236,27 +236,27 @@ NAKED const VxMatrix& CK3dEntity::GetInverseWorldMatrix() const {
JUMPV(0x178);
}

NAKED void CK3dEntity::Transform(VxVector* Dest, const VxVector* Src, CK3dEntity* Ref) const {
NAKED void CK3dEntity::Transform(VxVector* Dest, const VxVector& Src, CK3dEntity* Ref) const {
JUMPV(0x17c);
}

NAKED void CK3dEntity::InverseTransform(VxVector* Dest, const VxVector* Src, CK3dEntity* Ref) const {
NAKED void CK3dEntity::InverseTransform(VxVector* Dest, const VxVector& Src, CK3dEntity* Ref) const {
JUMPV(0x180);
}

NAKED void CK3dEntity::TransformVector(VxVector* Dest, const VxVector* Src, CK3dEntity* Ref) const {
NAKED void CK3dEntity::TransformVector(VxVector* Dest, const VxVector& Src, CK3dEntity* Ref) const {
JUMPV(0x184);
}

NAKED void CK3dEntity::InverseTransformVector(VxVector* Dest, const VxVector* Src, CK3dEntity* Ref) const {
NAKED void CK3dEntity::InverseTransformVector(VxVector* Dest, const VxVector& Src, CK3dEntity* Ref) const {
JUMPV(0x188);
}

NAKED void CK3dEntity::TransformMany(VxVector* Dest, const VxVector* Src, int count, CK3dEntity* Ref) const {
NAKED void CK3dEntity::TransformMany(VxVector* Dest, const VxVector& Src, int count, CK3dEntity* Ref) const {
JUMPV(0x18c);
}

NAKED void CK3dEntity::InverseTransformMany(VxVector* Dest, const VxVector* Src, int count, CK3dEntity* Ref) const {
NAKED void CK3dEntity::InverseTransformMany(VxVector* Dest, const VxVector& Src, int count, CK3dEntity* Ref) const {
JUMPV(0x190);
}

Expand Down Expand Up @@ -308,7 +308,7 @@ NAKED const VxBbox& CK3dEntity::GetBoundingBox(CKBOOL Local) {
JUMPV(0x1c0);
}

NAKED CKBOOL CK3dEntity::SetBoundingBox(const VxBbox* BBox, CKBOOL Local) {
NAKED CKBOOL CK3dEntity::SetBoundingBox(const VxBbox& BBox, CKBOOL Local) {
JUMPV(0x1c4);
}

Expand Down
Loading

0 comments on commit 6d9d906

Please sign in to comment.