MCPcopy Create free account
hub / github.com/DavidColson/Polybox / SetImpl

Function SetImpl

source/userdata.cpp:6–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4// ***********************************************************************
5
6void SetImpl(lua_State* L, UserData* pUserData, i32 index, i32 startParam) {
7 // now grab as many integers as you can find and put them in the userdata from the starting index
8 // while until none or nil
9 i32 paramCounter = startParam;
10 switch(pUserData->type) {
11 case Type::Float32: {
12 f32* pData = (f32*)pUserData->pData;
13 pData += index;
14 while (lua_isnumber(L, paramCounter) == 1) {
15 *pData = (f32)lua_tonumber(L, paramCounter);
16 pData++; paramCounter++;
17 }
18 break;
19 }
20 case Type::Int32: {
21 i32* pData = (i32*)pUserData->pData;
22 pData += index;
23 while (lua_isnumber(L, paramCounter) == 1) {
24 *pData = (i32)lua_tointeger(L, paramCounter);
25 pData++; paramCounter++;
26 }
27 break;
28 }
29 case Type::Int16: {
30 i16* pData = (i16*)pUserData->pData;
31 pData += index;
32 while (lua_isnumber(L, paramCounter) == 1) {
33 *pData = (i16)lua_tointeger(L, paramCounter);
34 pData++; paramCounter++;
35 }
36 break;
37 }
38 case Type::Uint8: {
39 u8* pData = (u8*)pUserData->pData;
40 pData += index;
41 while (lua_isnumber(L, paramCounter) == 1) {
42 *pData = (u8)lua_tounsigned(L, paramCounter);
43 pData++; paramCounter++;
44 }
45 break;
46 }
47 }
48}
49
50// ***********************************************************************
51

Callers 5

NewVecFunction · 0.85
NewQuatFunction · 0.85
SetFunction · 0.85
Set2DFunction · 0.85
NewIndexFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected