X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fgaw%2Fgawswtnl.c;h=c307f8a53415e819168e2b6d810e08a34087e8f0;hb=86ea36402d2ba296db0950d85e18c50f7ee7006b;hp=4930e0994ba3bfb4de2ce9acf1894ca9a9f5b1a6;hpb=d6c18f77cb710c5e4069fd12fde0dbed76f3a131;p=retroray diff --git a/src/gaw/gawswtnl.c b/src/gaw/gawswtnl.c index 4930e09..c307f8a 100644 --- a/src/gaw/gawswtnl.c +++ b/src/gaw/gawswtnl.c @@ -100,6 +100,11 @@ void gaw_viewport(int x, int y, int w, int h) st.vport[3] = h; } +void gaw_get_viewport(int *vp) +{ + memcpy(vp, st.vport, sizeof st.vport); +} + void gaw_matrix_mode(int mode) { st.mmode = mode; @@ -182,7 +187,7 @@ void gaw_rotate(float deg, float x, float y, float z) { static float m[16]; - float angle = M_PI * deg / 180.0f; + float angle = CGM_PI * deg / 180.0f; float sina = sin(angle); float cosa = cos(angle); float one_minus_cosa = 1.0f - cosa; @@ -261,7 +266,7 @@ void gaw_perspective(float vfov_deg, float aspect, float znear, float zfar) { static float m[16]; - float vfov = M_PI * vfov_deg / 180.0f; + float vfov = CGM_PI * vfov_deg / 180.0f; float s = 1.0f / tan(vfov * 0.5f); float range = znear - zfar; @@ -318,7 +323,7 @@ void gaw_alpha_func(int func, float ref) void gaw_zoffset(float offs) { - st.zoffs = offs; + st.zoffs = offs * 0.1; } #define CLAMP(x, a, b) ((x) < (a) ? (a) : ((x) > (b) ? (b) : (x))) @@ -540,7 +545,9 @@ void gaw_draw_indexed(int prim, const unsigned int *idxarr, int nidx) float oow = 1.0f / v[i].w; v[i].x *= oow; v[i].y *= oow; - v[i].z += st.zoffs; + if(st.opt & (1 << GAW_POLYGON_OFFSET)) { + v[i].z += st.zoffs; + } if(st.opt & (1 << GAW_DEPTH_TEST)) { v[i].z *= oow; }