X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosrtxon;a=blobdiff_plain;f=src%2Fdos%2Fmain.c;fp=src%2Fdos%2Fmain.c;h=0b3747eb5aa38cacc887aa8bc01cc02d79783671;hp=018ed515fad7e54cd1cabda6f81889b10fce9fcd;hb=ac1dd983cb211904ca6c74ca28ceb5e83aa09527;hpb=4621a049a4889c5a6845a08e9c0a4d6634ab8556 diff --git a/src/dos/main.c b/src/dos/main.c index 018ed51..0b3747e 100644 --- a/src/dos/main.c +++ b/src/dos/main.c @@ -10,21 +10,16 @@ #include "timer.h" #include "gfx.h" #include "vmath.h" -#include "sball.h" #include "cfgopt.h" #include "logger.h" #include "tinyfps.h" #undef NOKEYB -static int handle_sball_event(sball_event *ev); -static void recalc_sball_matrix(float *xform); - static int quit; static int use_mouse; static long fbsize; -static int use_sball; static vec3_t pos = {0, 0, 0}; static quat_t rot = {0, 0, 0, 1}; @@ -61,10 +56,6 @@ int main(int argc, char **argv) return 1; } - if(opt.sball && sball_init() == 0) { - use_sball = 1; - } - reset_timer(); while(!quit) { @@ -83,14 +74,6 @@ int main(int argc, char **argv) if(use_mouse) { mouse_bmask = read_mouse(&mouse_x, &mouse_y); } - if(use_sball && sball_pending()) { - sball_event ev; - printf("got sball event\n"); - while(sball_getevent(&ev)) { - handle_sball_event(&ev); - } - recalc_sball_matrix(sball_matrix); - } time_msec = get_msec(); demo_draw(); @@ -102,9 +85,6 @@ break_evloop: #ifndef NOKEYB kb_shutdown(); #endif - if(use_sball) { - sball_shutdown(); - } return 0; } @@ -130,50 +110,3 @@ void swap_buffers(void *pixels) } } } - - -#define TX(ev) ((ev)->motion.motion[0]) -#define TY(ev) ((ev)->motion.motion[1]) -#define TZ(ev) ((ev)->motion.motion[2]) -#define RX(ev) ((ev)->motion.motion[3]) -#define RY(ev) ((ev)->motion.motion[4]) -#define RZ(ev) ((ev)->motion.motion[5]) - -static int handle_sball_event(sball_event *ev) -{ - switch(ev->type) { - case SBALL_EV_MOTION: - if(RX(ev) | RY(ev) | RZ(ev)) { - float rx = (float)RX(ev); - float ry = (float)RY(ev); - float rz = (float)RZ(ev); - float axis_len = sqrt(rx * rx + ry * ry + rz * rz); - if(axis_len > 0.0) { - rot = quat_rotate(rot, axis_len * 0.001, -rx / axis_len, - -ry / axis_len, -rz / axis_len); - } - } - - pos.x += TX(ev) * 0.001; - pos.y += TY(ev) * 0.001; - pos.z += TZ(ev) * 0.001; - break; - - case SBALL_EV_BUTTON: - if(ev->button.pressed) { - pos = v3_cons(0, 0, 0); - rot = quat_cons(1, 0, 0, 0); - } - break; - } - - return 0; -} - -void recalc_sball_matrix(float *xform) -{ - quat_to_mat(xform, rot); - xform[12] = pos.x; - xform[13] = pos.y; - xform[14] = pos.z; -}