| 2933 | } |
| 2934 | |
| 2935 | static uint8_t* CheckBufferOrString(lua_State* L, int index, uint32_t* data_size) |
| 2936 | { |
| 2937 | dmScript::LuaHBuffer* lua_buffer = dmScript::ToBuffer(L, index); |
| 2938 | if (lua_buffer) |
| 2939 | { |
| 2940 | dmBuffer::HBuffer buffer = dmGameSystem::UnpackLuaBuffer(lua_buffer); |
| 2941 | |
| 2942 | uint8_t* data = 0; |
| 2943 | dmBuffer::GetBytes(buffer, (void**)&data, data_size); |
| 2944 | return data; |
| 2945 | } |
| 2946 | else if (lua_isstring(L, index)) |
| 2947 | { |
| 2948 | size_t string_len; |
| 2949 | uint8_t* data = (uint8_t*)luaL_checklstring(L, -1, &string_len); |
| 2950 | *data_size = (uint32_t)string_len; |
| 2951 | return data; |
| 2952 | } |
| 2953 | luaL_error(L, "The field must be using either a buffer or a string."); |
| 2954 | return 0; |
| 2955 | } |
| 2956 | |
| 2957 | |
| 2958 | /*# Creates a sound data resource (.oggc/.opusc/.wavc) |
no test coverage detected