Fix everything on windows;

This commit is contained in:
bjorn 2018-02-22 21:01:34 -08:00
parent f5fa9a4e5c
commit 8fb3421658
6 changed files with 37 additions and 28 deletions

View File

@ -220,13 +220,16 @@ set(LOVR_SRC
src/api/filesystem.c
src/api/graphics.c
src/api/headset.c
src/api/lovr.c
src/api/math.c
src/api/physics.c
src/api/thread.c
src/api/timer.c
src/api/types/animator.c
src/api/types/audioStream.c
src/api/types/blob.c
src/api/types/canvas.c
src/api/types/channel.c
src/api/types/collider.c
src/api/types/controller.c
src/api/types/font.c
@ -242,6 +245,7 @@ set(LOVR_SRC
src/api/types/source.c
src/api/types/texture.c
src/api/types/textureData.c
src/api/types/thread.c
src/api/types/transform.c
src/api/types/vertexData.c
src/api/types/world.c
@ -277,6 +281,8 @@ set(LOVR_SRC
src/lib/stb/stb_image.c
src/lib/stb/stb_image_write.c
src/lib/stb/stb_vorbis.c
src/lib/tinycthread/tinycthread.c
src/lib/tinycthread/tinycthread.h
src/lib/vec/vec.c
src/lovr.c
src/luax.c
@ -289,6 +295,8 @@ set(LOVR_SRC
src/math/vec3.c
src/physics/physics.c
src/resources/shaders.c
src/thread/channel.c
src/thread/thread.c
src/timer/timer.c
src/util.c
)

View File

@ -166,17 +166,17 @@ int l_lovrHeadsetGetDisplayDimensions(lua_State* L) {
}
int l_lovrHeadsetGetClipDistance(lua_State* L) {
float near, far;
lovrHeadsetGetClipDistance(&near, &far);
lua_pushnumber(L, near);
lua_pushnumber(L, far);
float clipNear, clipFar;
lovrHeadsetGetClipDistance(&clipNear, &clipFar);
lua_pushnumber(L, clipNear);
lua_pushnumber(L, clipFar);
return 2;
}
int l_lovrHeadsetSetClipDistance(lua_State* L) {
float near = luaL_checknumber(L, 1);
float far = luaL_checknumber(L, 2);
lovrHeadsetSetClipDistance(near, far);
float clipNear = luaL_checknumber(L, 1);
float clipFar = luaL_checknumber(L, 2);
lovrHeadsetSetClipDistance(clipNear, clipFar);
return 0;
}

View File

@ -86,17 +86,17 @@ void lovrHeadsetGetDisplayDimensions(int* width, int* height) {
headset->getDisplayDimensions(width, height);
}
void lovrHeadsetGetClipDistance(float* near, float* far) {
void lovrHeadsetGetClipDistance(float* clipNear, float* clipFar) {
if (!headset) {
*near = *far = 0.f;
*clipNear = *clipFar = 0.f;
return;
}
headset->getClipDistance(near, far);
headset->getClipDistance(clipNear, clipFar);
}
void lovrHeadsetSetClipDistance(float near, float far) {
void lovrHeadsetSetClipDistance(float clipNear, float clipFar) {
if (headset) {
headset->setClipDistance(near, far);
headset->setClipDistance(clipNear, clipFar);
}
}

View File

@ -334,19 +334,19 @@ static void openvrGetDisplayDimensions(int* width, int* height) {
}
}
static void openvrGetClipDistance(float* near, float* far) {
static void openvrGetClipDistance(float* clipNear, float* clipFar) {
if (!state.isInitialized) {
*near = *far = 0.f;
*clipNear = *clipFar = 0.f;
} else {
*near = state.clipNear;
*far = state.clipFar;
*clipNear = state.clipNear;
*clipFar = state.clipFar;
}
}
static void openvrSetClipDistance(float near, float far) {
static void openvrSetClipDistance(float clipNear, float clipFar) {
if (!state.isInitialized) return;
state.clipNear = near;
state.clipFar = far;
state.clipNear = clipNear;
state.clipFar = clipFar;
}
static float openvrGetBoundsWidth() {

View File

@ -230,27 +230,27 @@ mat4 mat4_setTransform(mat4 m, float x, float y, float z, float sx, float sy, fl
return mat4_scale(m, sx, sy, sz);
}
mat4 mat4_orthographic(mat4 m, float left, float right, float top, float bottom, float near, float far) {
mat4 mat4_orthographic(mat4 m, float left, float right, float top, float bottom, float clipNear, float clipFar) {
float rl = right - left;
float tb = top - bottom;
float fn = far - near;
float fn = clipFar - clipNear;
mat4_identity(m);
m[0] = 2 / rl;
m[5] = 2 / tb;
m[10] = -2 / fn;
m[12] = -(left + right) / rl;
m[13] = -(top + bottom) / tb;
m[14] = -(far + near) / fn;
m[14] = -(clipFar + clipNear) / fn;
m[15] = 1;
return m;
}
mat4 mat4_perspective(mat4 m, float near, float far, float fovy, float aspect) {
float range = tan(fovy * .5f) * near;
float sx = (2.0f * near) / (range * aspect + range * aspect);
float sy = near / range;
float sz = -(far + near) / (far - near);
float pz = (-2.0f * far * near) / (far - near);
mat4 mat4_perspective(mat4 m, float clipNear, float clipFar, float fovy, float aspect) {
float range = tan(fovy * .5f) * clipNear;
float sx = (2.0f * clipNear) / (range * aspect + range * aspect);
float sy = clipNear / range;
float sz = -(clipFar + clipNear) / (clipFar - clipNear);
float pz = (-2.0f * clipFar * clipNear) / (clipFar - clipNear);
mat4_identity(m);
m[0] = sx;
m[5] = sy;

View File

@ -1,4 +1,5 @@
#include "lib/vec/vec.h"
#include "lib/tinycthread/tinycthread.h"
#include <stdint.h>
#include <stddef.h>
#include <setjmp.h>