2014-07-12 09:46:14 +02:00
|
|
|
#include "stdafx.h"
|
2014-09-09 17:44:02 +02:00
|
|
|
#include "Emu/Memory/Memory.h"
|
2014-08-16 18:20:16 +02:00
|
|
|
#include "Emu/SysCalls/Modules.h"
|
2014-08-23 22:40:04 +02:00
|
|
|
|
2014-08-16 18:20:16 +02:00
|
|
|
#include "cellGem.h"
|
2013-09-28 04:36:57 +02:00
|
|
|
|
2015-02-18 17:22:06 +01:00
|
|
|
extern Module cellGem;
|
2013-09-28 04:36:57 +02:00
|
|
|
|
2014-09-09 17:44:02 +02:00
|
|
|
struct cellGemInternal
|
|
|
|
|
{
|
|
|
|
|
bool m_bInitialized;
|
2015-02-11 22:09:48 +01:00
|
|
|
CellGemAttribute attribute;
|
2014-09-09 17:44:02 +02:00
|
|
|
|
|
|
|
|
cellGemInternal()
|
|
|
|
|
: m_bInitialized(false)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
cellGemInternal cellGemInstance;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
int cellGemCalibrate()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemClearStatusFlags()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemConvertVideoFinish()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemConvertVideoStart()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemEnableCameraPitchAngleCorrection()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemEnableMagnetometer()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemEnd()
|
|
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellGem.Warning("cellGemEnd()");
|
2014-09-12 16:28:02 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
|
|
|
|
cellGemInstance.m_bInitialized = false;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemFilterState()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemForceRGB()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetAccelerometerPositionInDevice()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetAllTrackableHues()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetCameraState()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetEnvironmentLightingColor()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetHuePixels()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetImageState()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetInertialState()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-02-11 22:09:48 +01:00
|
|
|
int cellGemGetInfo(vm::ptr<CellGemInfo> info)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellGem.Warning("cellGemGetInfo(info=0x%x)", info.addr());
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2015-02-11 22:09:48 +01:00
|
|
|
info->max_connect = cellGemInstance.attribute.max_connect;
|
|
|
|
|
// TODO: Support many controllers to be connected
|
|
|
|
|
info->now_connect = 1;
|
|
|
|
|
info->status[0] = CELL_GEM_STATUS_READY;
|
|
|
|
|
info->port[0] = 7;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-01-12 19:12:06 +01:00
|
|
|
s32 cellGemGetMemorySize(s32 max_connect)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellGem.Warning("cellGemGetMemorySize(max_connect=%d)", max_connect);
|
2014-08-16 18:20:16 +02:00
|
|
|
|
|
|
|
|
if (max_connect > CELL_GEM_MAX_NUM)
|
|
|
|
|
return CELL_GEM_ERROR_INVALID_PARAMETER;
|
|
|
|
|
|
2014-09-09 23:18:21 +02:00
|
|
|
return 1024 * 1024 * max_connect; // 1 MB * max_connect
|
2013-09-28 04:36:57 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetRGB()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetRumble()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetState()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetStatusFlags()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemGetTrackerHue()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemHSVtoRGB()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2014-09-09 17:44:02 +02:00
|
|
|
int cellGemInit(vm::ptr<CellGemAttribute> attribute)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellGem.Warning("cellGemInit(attribute_addr=0x%x)", attribute.addr());
|
2014-09-09 17:44:02 +02:00
|
|
|
|
|
|
|
|
if (cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_ALREADY_INITIALIZED;
|
|
|
|
|
|
|
|
|
|
cellGemInstance.m_bInitialized = true;
|
2015-02-11 22:09:48 +01:00
|
|
|
cellGemInstance.attribute = *attribute;
|
2014-09-09 17:44:02 +02:00
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemInvalidateCalibration()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemIsTrackableHue()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemPrepareCamera()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemPrepareVideoConvert()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemReset()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemSetRumble()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemSetYaw()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemTrackHues()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemUpdateFinish()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemUpdateStart()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cellGemWriteExternalPort()
|
|
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellGem);
|
2014-10-18 20:14:16 +02:00
|
|
|
|
|
|
|
|
if (!cellGemInstance.m_bInitialized)
|
|
|
|
|
return CELL_GEM_ERROR_UNINITIALIZED;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-02-23 16:09:52 +01:00
|
|
|
Module cellGem("cellGem", []()
|
2014-09-22 21:00:28 +02:00
|
|
|
{
|
|
|
|
|
cellGemInstance.m_bInitialized = false;
|
|
|
|
|
|
2015-02-23 16:09:52 +01:00
|
|
|
//REG_FUNC(cellGem, cellGemAttributeInit);
|
2015-02-20 14:58:40 +01:00
|
|
|
REG_FUNC(cellGem, cellGemCalibrate);
|
|
|
|
|
REG_FUNC(cellGem, cellGemClearStatusFlags);
|
|
|
|
|
REG_FUNC(cellGem, cellGemConvertVideoFinish);
|
|
|
|
|
REG_FUNC(cellGem, cellGemConvertVideoStart);
|
|
|
|
|
REG_FUNC(cellGem, cellGemEnableCameraPitchAngleCorrection);
|
|
|
|
|
REG_FUNC(cellGem, cellGemEnableMagnetometer);
|
|
|
|
|
REG_FUNC(cellGem, cellGemEnd);
|
|
|
|
|
REG_FUNC(cellGem, cellGemFilterState);
|
|
|
|
|
REG_FUNC(cellGem, cellGemForceRGB);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetAccelerometerPositionInDevice);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetAllTrackableHues);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetCameraState);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetEnvironmentLightingColor);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetHuePixels);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetImageState);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetInertialState);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetInfo);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetMemorySize);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetRGB);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetRumble);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetState);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetStatusFlags);
|
|
|
|
|
REG_FUNC(cellGem, cellGemGetTrackerHue);
|
2015-02-23 16:09:52 +01:00
|
|
|
//REG_FUNC(cellGem, cellGemGetVideoConvertSize);
|
2015-02-20 14:58:40 +01:00
|
|
|
REG_FUNC(cellGem, cellGemHSVtoRGB);
|
|
|
|
|
REG_FUNC(cellGem, cellGemInit);
|
|
|
|
|
REG_FUNC(cellGem, cellGemInvalidateCalibration);
|
|
|
|
|
REG_FUNC(cellGem, cellGemIsTrackableHue);
|
|
|
|
|
REG_FUNC(cellGem, cellGemPrepareCamera);
|
|
|
|
|
REG_FUNC(cellGem, cellGemPrepareVideoConvert);
|
2015-02-23 16:09:52 +01:00
|
|
|
//REG_FUNC(cellGem, cellGemReadExternalPortDeviceInfo);
|
2015-02-20 14:58:40 +01:00
|
|
|
REG_FUNC(cellGem, cellGemReset);
|
|
|
|
|
REG_FUNC(cellGem, cellGemSetRumble);
|
|
|
|
|
REG_FUNC(cellGem, cellGemSetYaw);
|
|
|
|
|
REG_FUNC(cellGem, cellGemTrackHues);
|
|
|
|
|
REG_FUNC(cellGem, cellGemUpdateFinish);
|
|
|
|
|
REG_FUNC(cellGem, cellGemUpdateStart);
|
2015-02-23 16:09:52 +01:00
|
|
|
//REG_FUNC(cellGem, cellGemVideoConvertAttributeInit);
|
|
|
|
|
//REG_FUNC(cellGem, cellGemVideoConvertAttributeInitRgba);
|
2015-02-20 14:58:40 +01:00
|
|
|
REG_FUNC(cellGem, cellGemWriteExternalPort);
|
2015-02-18 17:22:06 +01:00
|
|
|
});
|