5d05b9d3e9
This ports id Software's Quake to run on the SDL plugin runtime. The source code originated from id under the GPLv2 license. I used https://github.com/ahefner/sdlquake as the base of my port. Performance is, unsurprisingly, not on par with what you're probably used to on PC. I average about 10FPS on ipod6g, but it's still playable. Sound works well enough, but in-game music is not supported. I've written ARM assembly routines for the inner sound loop. Make sure you turn the "brightness" all the way down, or colors will look funky. To run, extract Quake's data files to /.rockbox/quake. Have fun! Change-Id: I4285036e967d7f0722802d43cf2096c808ca5799
143 lines
2.4 KiB
Text
143 lines
2.4 KiB
Text
|
|
/* file generated by qcc, do not modify */
|
|
|
|
typedef struct
|
|
{ int pad[28];
|
|
int self;
|
|
int other;
|
|
int world;
|
|
float time;
|
|
float frametime;
|
|
float force_retouch;
|
|
string_t mapname;
|
|
float deathmatch;
|
|
float coop;
|
|
float teamplay;
|
|
float serverflags;
|
|
float total_secrets;
|
|
float total_monsters;
|
|
float found_secrets;
|
|
float killed_monsters;
|
|
float parm1;
|
|
float parm2;
|
|
float parm3;
|
|
float parm4;
|
|
float parm5;
|
|
float parm6;
|
|
float parm7;
|
|
float parm8;
|
|
float parm9;
|
|
float parm10;
|
|
float parm11;
|
|
float parm12;
|
|
float parm13;
|
|
float parm14;
|
|
float parm15;
|
|
float parm16;
|
|
vec3_t v_forward;
|
|
vec3_t v_up;
|
|
vec3_t v_right;
|
|
float trace_allsolid;
|
|
float trace_startsolid;
|
|
float trace_fraction;
|
|
vec3_t trace_endpos;
|
|
vec3_t trace_plane_normal;
|
|
float trace_plane_dist;
|
|
int trace_ent;
|
|
float trace_inopen;
|
|
float trace_inwater;
|
|
int msg_entity;
|
|
func_t main;
|
|
func_t StartFrame;
|
|
func_t PlayerPreThink;
|
|
func_t PlayerPostThink;
|
|
func_t ClientKill;
|
|
func_t ClientConnect;
|
|
func_t PutClientInServer;
|
|
func_t ClientDisconnect;
|
|
func_t SetNewParms;
|
|
func_t SetChangeParms;
|
|
} globalvars_t;
|
|
|
|
typedef struct
|
|
{
|
|
float modelindex;
|
|
vec3_t absmin;
|
|
vec3_t absmax;
|
|
float ltime;
|
|
float movetype;
|
|
float solid;
|
|
vec3_t origin;
|
|
vec3_t oldorigin;
|
|
vec3_t velocity;
|
|
vec3_t angles;
|
|
vec3_t avelocity;
|
|
vec3_t punchangle;
|
|
string_t classname;
|
|
string_t model;
|
|
float frame;
|
|
float skin;
|
|
float effects;
|
|
vec3_t mins;
|
|
vec3_t maxs;
|
|
vec3_t size;
|
|
func_t touch;
|
|
func_t use;
|
|
func_t think;
|
|
func_t blocked;
|
|
float nextthink;
|
|
int groundentity;
|
|
float health;
|
|
float frags;
|
|
float weapon;
|
|
string_t weaponmodel;
|
|
float weaponframe;
|
|
float currentammo;
|
|
float ammo_shells;
|
|
float ammo_nails;
|
|
float ammo_rockets;
|
|
float ammo_cells;
|
|
float items;
|
|
float takedamage;
|
|
int chain;
|
|
float deadflag;
|
|
vec3_t view_ofs;
|
|
float button0;
|
|
float button1;
|
|
float button2;
|
|
float impulse;
|
|
float fixangle;
|
|
vec3_t v_angle;
|
|
float idealpitch;
|
|
string_t netname;
|
|
int enemy;
|
|
float flags;
|
|
float colormap;
|
|
float team;
|
|
float max_health;
|
|
float teleport_time;
|
|
float armortype;
|
|
float armorvalue;
|
|
float waterlevel;
|
|
float watertype;
|
|
float ideal_yaw;
|
|
float yaw_speed;
|
|
int aiment;
|
|
int goalentity;
|
|
float spawnflags;
|
|
string_t target;
|
|
string_t targetname;
|
|
float dmg_take;
|
|
float dmg_save;
|
|
int dmg_inflictor;
|
|
int owner;
|
|
vec3_t movedir;
|
|
string_t message;
|
|
float sounds;
|
|
string_t noise;
|
|
string_t noise1;
|
|
string_t noise2;
|
|
string_t noise3;
|
|
} entvars_t;
|
|
|
|
#define PROGHEADER_CRC 5927
|