From 99c490ce52f78d8ef1025cbab41d4de6f8d530c6 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Sun, 25 Dec 2011 12:57:23 +0900 Subject: [PATCH] Get glsl running as a null renderer. This means that nq-glslx can get through demo1, demo2, demo3 and bigass1 without crashing. However, nothing is rendered, so unless you like black, it's not very interesting. --- libs/video/renderer/glsl/glsl_main.c | 152 +++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) diff --git a/libs/video/renderer/glsl/glsl_main.c b/libs/video/renderer/glsl/glsl_main.c index 5a08f4f73..6f20b1619 100644 --- a/libs/video/renderer/glsl/glsl_main.c +++ b/libs/video/renderer/glsl/glsl_main.c @@ -33,6 +33,13 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$"; +#ifdef HAVE_STRING_H +# include "string.h" +#endif +#ifdef HAVE_STRINGS_H +# include "strings.h" +#endif + #include "QF/cvar.h" #include "QF/render.h" #include "QF/screen.h" @@ -81,6 +88,7 @@ R_RenderView (void) VISIBLE void R_Init (void) { + R_InitParticles (); } VISIBLE void @@ -101,6 +109,11 @@ SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs) VISIBLE void R_NewMap (model_t *worldmodel, struct model_s **models, int num_models) { + memset (&r_worldentity, 0, sizeof (r_worldentity)); + r_worldentity.model = worldmodel; + + R_FreeAllEntities (); + R_ClearParticles (); } VISIBLE void @@ -144,9 +157,148 @@ R_LineGraph (int x, int y, int *h_vals, int count) { } +static void +particle_explosion (const vec3_t org) +{ +} + +static void +teleport_splash (const vec3_t org) +{ +} + +static void +rocket_trail (const entity_t *ent) +{ +} + +static void +grenade_trail (const entity_t *ent) +{ +} + +static void +blob_explosion (const vec3_t org) +{ +} + +static void +lava_splash (const vec3_t org) +{ +} + +static void +blood_puff_effect (const vec3_t org, int count) +{ +} + +static void +gunshot_effect (const vec3_t org, int count) +{ +} + +static void +lightnight_blood_effect (const vec3_t org) +{ +} + +static inline void // FIXME: inline? +run_particle_effect (const vec3_t org, const vec3_t dir, int color, + int count) +{ +} + +static void +spike_effect (const vec3_t org) +{ +} + +static void +super_spike_effect (const vec3_t org) +{ +} + +static void +knight_spike_effect (const vec3_t org) +{ +} + +static void +wiz_spike_effect (const vec3_t org) +{ +} + +static void +blood_trail (const entity_t *ent) +{ +} + +static void +slight_blood_trail (const entity_t *ent) +{ +} + +static void +wiz_trail (const entity_t *ent) +{ +} + +static void +flame_trail (const entity_t *ent) +{ +} + +static void +voor_trail (const entity_t *ent) +{ +} + +static void +dark_field_particles (const entity_t *ent) +{ +} + +static void +entity_particles (const entity_t *ent) +{ +} + +static void +particle_explosion_2 (const vec3_t org, int colorStart, int colorLength) +{ +} + +static void +glow_trail (const entity_t *ent, int glow_color) +{ +} + VISIBLE void R_InitParticles (void) { + R_BlobExplosion = blob_explosion; + R_LavaSplash = lava_splash; + R_BloodPuffEffect = blood_puff_effect; + R_GunshotEffect = gunshot_effect; + R_LightningBloodEffect = lightnight_blood_effect; + R_RunParticleEffect = run_particle_effect; + R_SpikeEffect = spike_effect; + R_SuperSpikeEffect = super_spike_effect; + R_KnightSpikeEffect = knight_spike_effect; + R_WizSpikeEffect = wiz_spike_effect; + R_BloodTrail = blood_trail; + R_SlightBloodTrail = slight_blood_trail; + R_WizTrail = wiz_trail; + R_FlameTrail = flame_trail; + R_VoorTrail = voor_trail; + R_DarkFieldParticles = dark_field_particles; + R_EntityParticles = entity_particles; + R_ParticleExplosion2 = particle_explosion_2; + R_GlowTrail = glow_trail; + R_ParticleExplosion = particle_explosion; + R_TeleportSplash = teleport_splash; + R_RocketTrail = rocket_trail; + R_GrenadeTrail = grenade_trail; } VISIBLE void