#ifndef __STATES_H__ #define __STATES_H__ #define XY_AXIS 1 #define Z_AXIS 2 #define NO_AXIS 3 #include /* the state of the event handler which buttons are pressed, mouse position, etc. */ typedef struct _EventState_ { int leftmouse_down, middlemouse_down, rightmouse_down; int shift_key, redraw; int arrowup, arrowdown, arrowleft, arrowright; int pad0, pad1, pad2, pad3, pad4, pad5, pad6, pad7, pad8, pad9; short mouse_pos[2], mouse_pos2[2], lastmouse_pos[2]; float mouse_speed; int cursor_on_main, cursor_on_menu; /* game events */ int speed_up, speed_down, brake, turn_left, turn_right, tilt_down, tilt_up; } EventState; /* the state of the renderer, which modes are on/off, etc. */ typedef struct _renderstate_ { long orgview[2], sizeview[2]; long winview; int shading, texmap, num_lights, wire_frame, persp, envmap; int stereo_on, aspect_on, backface_on, concave_on, zbuffer_on, alpha_on; float xrot, yrot, zrot, dx, dy, dz, scale_factor, txr, tyr, tzr; float cop[3], vrp[3], dcop[3], dvrp[3]; float theta, phi, cv_rad, sensitivity, twoside, eye_sep; int axis, eyemode; int frames, num_polygons; int lights_on, depth_cue_on, fog_on, smooth_on, motif_mode, timeout; short bg_r, bg_g, bg_b, on_r, on_g, on_b, intensity; float left, right, bottom, top, near, far, angle, twist; struct timeval run_time, frame_time; int auto_rotate, auto_wobble, dither_on, bg_size[2], bg_on; float init_wobble_angle, wobble_amplitude, wobble_period; char *bg_file; unsigned long *bg_data; } RenderState; void init_event_state(EventState *events); void init_render_state(RenderState *state); #endif /* __STATES_H__ */