Compare commits

..

No commits in common. "82fcbb6fed218a59a45a692665c2fd3fec8c2f56" and "7facb3a9d15ccd293e5e09b19983eb92b6e5cdff" have entirely different histories.

3 changed files with 9 additions and 105 deletions

View File

@ -214,7 +214,7 @@ static inline size_t game_nextid() {
} }
static inline void game_claimentid(size_t i) { static inline void game_claimentid(size_t i) {
Game.entities.freeIDs[i / 64] |= 1UL << (i % 64); Game.entities.freeIDs[i / 64] |= 1 << (i % 64);
} }
static inline int game_componentcomparator(const void *a, const void *b) { static inline int game_componentcomparator(const void *a, const void *b) {

View File

@ -1427,29 +1427,7 @@ static struct Module {
int ref; int ref;
} *modules; } *modules;
static int luaapi_require(lua_State *L) { static int luaapi_require(lua_State *L) {
char *name = strdup(lua_tostring(L, 1)); const char *name = lua_tostring(L, 1);
size_t nameLen = strlen(name);
while(*name == '.' && nameLen) {
memmove(name, name + 1, --nameLen);
}
for(int i = 1; i < nameLen;) {
if(name[i] == '.' && name[i - 1] == '.') {
memmove(name + i + 1, name + i, --nameLen - i);
} else i++;
}
for(int i = 0; i < nameLen;) {
if(!isalpha(name[i]) && !isdigit(name[i]) && name[i] != '_' && name[i] != '-') {
memmove(name + i + 1, name + i, --nameLen - i);
} else i++;
}
if(nameLen == 0) {
free(name);
return 0;
}
for(size_t i = 0; i < moduleCount; i++) { for(size_t i = 0; i < moduleCount; i++) {
if(!strcmp(modules[i].name, name)) { if(!strcmp(modules[i].name, name)) {
@ -1491,7 +1469,6 @@ static int game_load(lua_State *L) {
static int dagame_cleanup(lua_State *L) { static int dagame_cleanup(lua_State *L) {
luaapi_cleanup(); luaapi_cleanup();
LuaapiCamFocus = false;
return 0; return 0;
} }
@ -1864,10 +1841,6 @@ static int dagame_draw(lua_State *L) {
} else { } else {
lua_pop(L, 1); lua_pop(L, 1);
lua_getfield(L, 1, "font");
struct k3Font *font = *(void**) lua_touserdata(L, -1);
lua_pop(L, 1);
lua_getfield(L, 1, "align"); lua_getfield(L, 1, "align");
lua_getfield(L, 1, "r"); lua_getfield(L, 1, "r");
@ -1882,6 +1855,9 @@ static int dagame_draw(lua_State *L) {
lua_getfield(L, 1, "x"); lua_getfield(L, 1, "x");
lua_getfield(L, 1, "y"); lua_getfield(L, 1, "y");
lua_getfield(L, 1, "font");
struct k3Font *font = *(void**) lua_touserdata(L, 1);
struct k3RectF rect; struct k3RectF rect;
k3FontSz(font, lua_tonumber(L, -4), lua_tostring(L, -3), &rect); k3FontSz(font, lua_tonumber(L, -4), lua_tostring(L, -3), &rect);
@ -2287,67 +2263,6 @@ static int dagame_net_punch(lua_State *L) {
return 0; return 0;
} }
static int dagame_mdl_desc_append(lua_State *L) {
float offsetX = lua_tonumber(L, 3);
float offsetY = lua_tonumber(L, 4);
float offsetZ = lua_tonumber(L, 5);
lua_getfield(L, 1, "positions");
lua_getfield(L, 2, "positions");
lua_len(L, -2);
lua_len(L, -2);
size_t bigPositions = lua_tointeger(L, -2);
size_t smallPositions = lua_tointeger(L, -1);
lua_pop(L, 2);
for(size_t i = 1; i <= smallPositions; i += 3) {
lua_rawgeti(L, -1, i + 0);
lua_rawgeti(L, -2, i + 1);
lua_rawgeti(L, -3, i + 2);
float posX = lua_tonumber(L, -3) + offsetX;
float posY = lua_tonumber(L, -2) + offsetY;
float posZ = lua_tonumber(L, -1) + offsetZ;
lua_pop(L, 3);
lua_pushnumber(L, posX);
lua_rawseti(L, -3, bigPositions + i + 0);
lua_pushnumber(L, posY);
lua_rawseti(L, -3, bigPositions + i + 1);
lua_pushnumber(L, posZ);
lua_rawseti(L, -3, bigPositions + i + 2);
}
lua_pop(L, 2);
lua_getfield(L, 1, "indices");
lua_getfield(L, 2, "indices");
lua_len(L, -1);
size_t smallIndices = lua_tointeger(L, -1);
lua_pop(L, 1);
lua_len(L, -2);
size_t bigIndices = lua_tointeger(L, -1);
lua_pop(L, 1);
bigPositions /= 3;
for(size_t i = 1; i <= smallIndices; i++) {
lua_rawgeti(L, -1, i);
size_t j = lua_tointeger(L, -1);
lua_pop(L, 1);
lua_pushinteger(L, j + bigPositions);
lua_rawseti(L, -3, ++bigIndices);
}
lua_pop(L, 2);
return 0;
}
#include<GLFW/glfw3.h> #include<GLFW/glfw3.h>
static int os_time(lua_State *L) { static int os_time(lua_State *L) {
lua_pushnumber(L, glfwGetTime() - LuaapiStartTime); lua_pushnumber(L, glfwGetTime() - LuaapiStartTime);
@ -2469,9 +2384,6 @@ void luaapi_init() {
lua_pushcfunction(L, dagame_mdl); lua_pushcfunction(L, dagame_mdl);
lua_setfield(L, -2, "mdl"); lua_setfield(L, -2, "mdl");
lua_pushcfunction(L, dagame_mdl_desc_append);
lua_setfield(L, -2, "trimesh_desc_concat");
lua_pushcfunction(L, dagame_trimesh); lua_pushcfunction(L, dagame_trimesh);
lua_setfield(L, -2, "trimesh"); lua_setfield(L, -2, "trimesh");
@ -3043,19 +2955,12 @@ static int parse_glsl_table(struct k3Mat *mat) {
} }
lua_pop(L, 1); lua_pop(L, 1);
char prefix[512]; char prefix[272];
const char *prefixfmt; snprintf(prefix, sizeof(prefix), "#version %lu\n%s", vsVer, defs);
if(k3IsSoftSkinning) {
prefixfmt = "#version %lu\n%s";
} else {
prefixfmt = "#version %lu\n#define k3_GPU_SKINNING\n%s";
}
snprintf(prefix, sizeof(prefix), prefixfmt, vsVer, defs);
char *vsSrc = read_full_file(prefix, "assets/mdl/", vsFile, ""); char *vsSrc = read_full_file(prefix, "assets/mdl/", vsFile, "");
snprintf(prefix, sizeof(prefix), prefixfmt, fsVer, defs); snprintf(prefix, sizeof(prefix), "#version %lu\n%s", fsVer, defs);
char *fsSrc = read_full_file(prefix, "assets/mdl/", fsFile, ""); char *fsSrc = read_full_file(prefix, "assets/mdl/", fsFile, "");
k3Log(k3_INFO, "Attempting to compile \"%s\" & \"%s\"...", vsFile, fsFile); k3Log(k3_INFO, "Attempting to compile \"%s\" & \"%s\"...", vsFile, fsFile);

View File

@ -351,7 +351,6 @@ static int eng_init() {
printf("GL vendor: %s\n", glGetString(GL_VENDOR)); printf("GL vendor: %s\n", glGetString(GL_VENDOR));
k3SetLogCallback(k4k3LogCallback); k3SetLogCallback(k4k3LogCallback);
k3Init(); k3Init();
k3BatchInit(); k3BatchInit();
@ -501,7 +500,7 @@ int main(int argc_, char **argv_) {
// INIT LEVEL // INIT LEVEL
game_init(); game_init();
luaapi_load(k4_get_arg("script") ? k4_get_arg("script") : "init"); luaapi_load(k4_get_arg("script") ? k4_get_arg("script") : "lvl1");
// //
LuaapiStartTime = glfwGetTime(); LuaapiStartTime = glfwGetTime();