mirror of
https://git.suyu.dev/suyu/Yucom.git
synced 2026-01-02 04:34:29 +01:00
Add vrclient
This commit is contained in:
parent
0b2c856af7
commit
a89b44235a
241 changed files with 128805 additions and 0 deletions
100
vrclient_x64/struct_converters_101.cpp
Normal file
100
vrclient_x64/struct_converters_101.cpp
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "vrclient_private.h"
|
||||
#include "vrclient_defs.h"
|
||||
#include "openvr_v1.0.1/openvr.h"
|
||||
using namespace vr;
|
||||
extern "C" {
|
||||
#include "struct_converters.h"
|
||||
struct winVREvent_t_101 {
|
||||
uint32_t eventType;
|
||||
vr::TrackedDeviceIndex_t trackedDeviceIndex;
|
||||
float eventAgeSeconds;
|
||||
vr::VREvent_Data_t data;
|
||||
} __attribute__ ((ms_struct));
|
||||
|
||||
void struct_VREvent_t_101_lin_to_win(void *l, void *w)
|
||||
{
|
||||
struct winVREvent_t_101 *win = (struct winVREvent_t_101 *)w;
|
||||
VREvent_t *lin = (VREvent_t *)l;
|
||||
win->eventType = lin->eventType;
|
||||
win->trackedDeviceIndex = lin->trackedDeviceIndex;
|
||||
win->eventAgeSeconds = lin->eventAgeSeconds;
|
||||
win->data = lin->data;
|
||||
}
|
||||
|
||||
struct winVRControllerState001_t_101 {
|
||||
uint32_t unPacketNum;
|
||||
uint64_t ulButtonPressed;
|
||||
uint64_t ulButtonTouched;
|
||||
vr::VRControllerAxis_t rAxis[5];
|
||||
} __attribute__ ((ms_struct));
|
||||
|
||||
void struct_VRControllerState001_t_101_lin_to_win(void *l, void *w)
|
||||
{
|
||||
struct winVRControllerState001_t_101 *win = (struct winVRControllerState001_t_101 *)w;
|
||||
VRControllerState001_t *lin = (VRControllerState001_t *)l;
|
||||
win->unPacketNum = lin->unPacketNum;
|
||||
win->ulButtonPressed = lin->ulButtonPressed;
|
||||
win->ulButtonTouched = lin->ulButtonTouched;
|
||||
memcpy(win->rAxis, lin->rAxis, sizeof(win->rAxis));
|
||||
}
|
||||
|
||||
struct winRenderModel_TextureMap_t_101 {
|
||||
uint16_t unWidth;
|
||||
uint16_t unHeight;
|
||||
const uint8_t * rubTextureMapData;
|
||||
|
||||
RenderModel_TextureMap_t *linux_side;
|
||||
} __attribute__ ((ms_struct));
|
||||
|
||||
struct winRenderModel_TextureMap_t_101 *struct_RenderModel_TextureMap_t_101_wrap(void *l)
|
||||
{
|
||||
struct winRenderModel_TextureMap_t_101 *win = (struct winRenderModel_TextureMap_t_101 *)malloc(sizeof(*win));
|
||||
RenderModel_TextureMap_t *lin = (RenderModel_TextureMap_t *)l;
|
||||
win->unWidth = lin->unWidth;
|
||||
win->unHeight = lin->unHeight;
|
||||
win->rubTextureMapData = lin->rubTextureMapData;
|
||||
win->linux_side = lin;
|
||||
return win;
|
||||
}
|
||||
|
||||
struct RenderModel_TextureMap_t *struct_RenderModel_TextureMap_t_101_unwrap(winRenderModel_TextureMap_t_101 *w)
|
||||
{
|
||||
RenderModel_TextureMap_t *ret = w->linux_side;
|
||||
free(w);
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct winRenderModel_t_101 {
|
||||
const vr::RenderModel_Vertex_t * rVertexData;
|
||||
uint32_t unVertexCount;
|
||||
const uint16_t * rIndexData;
|
||||
uint32_t unTriangleCount;
|
||||
vr::TextureID_t diffuseTextureId;
|
||||
|
||||
RenderModel_t *linux_side;
|
||||
} __attribute__ ((ms_struct));
|
||||
|
||||
struct winRenderModel_t_101 *struct_RenderModel_t_101_wrap(void *l)
|
||||
{
|
||||
struct winRenderModel_t_101 *win = (struct winRenderModel_t_101 *)malloc(sizeof(*win));
|
||||
RenderModel_t *lin = (RenderModel_t *)l;
|
||||
win->rVertexData = lin->rVertexData;
|
||||
win->unVertexCount = lin->unVertexCount;
|
||||
win->rIndexData = lin->rIndexData;
|
||||
win->unTriangleCount = lin->unTriangleCount;
|
||||
win->diffuseTextureId = lin->diffuseTextureId;
|
||||
win->linux_side = lin;
|
||||
return win;
|
||||
}
|
||||
|
||||
struct RenderModel_t *struct_RenderModel_t_101_unwrap(winRenderModel_t_101 *w)
|
||||
{
|
||||
RenderModel_t *ret = w->linux_side;
|
||||
free(w);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue