|
Post by sfranzyshen on Jul 5, 2011 9:38:55 GMT -5
I am trying to figure out what quake2 engines have a 3d hud? what I mean by 3d hud is 2d icons are replaced with 3d objects.
I know Quake 2 Berserker has it but are there other Q2 engines with this support? Or any engine tutorial to show how its done?
|
|
|
Post by Kaal979 on Jul 5, 2011 20:10:05 GMT -5
Dunno. But can you maybe help me with a mod that delivers visible muzzle flashes? This would be good since q2max has outstanding graphics overall but the gunfires look unrealistic.
|
|
|
Post by sfranzyshen on Jul 6, 2011 10:15:37 GMT -5
|
|
|
Post by sfranzyshen on Jul 6, 2011 10:18:42 GMT -5
|
|
|
Post by sfranzyshen on Jul 8, 2011 10:32:16 GMT -5
I have been working on adapting this code into the Jake2 engine. I have got the basic function working. However, I am stuck on dropping the background color. Kirk Barnes example code uses refdef.rdflag RDF_NOCLEAR quake2xp.svn.sourceforge.net/viewvc/quake2xp/trunk/client/cl_hud.c?revision=5&view=markupwww.quakedev.com/forums/index.php/topic,1645.0.html and this isn't in 3.21 code ... so I looked at R_SetupFrame and made the changes. Now the background drops out, but the game view is limited to just behind the active weapon model (the rest of the screen is frozen) and the models frames appear to layer over top each other (next frame overlaying the last frame) ... I can hit the ~ key and enter console commands ... but the console is never drawn (except for the area under the active weapon model) I am guessing that changes upstream from this code have changed the function of this code. Here are the changes in the code ... FROM: (3.21 code) for (i=0 ; i<4 ; i++) v_blend[i] = r_newrefdef.blend[i];
c_brush_polys = 0; c_alias_polys = 0; // clear out the portion of the screen that the NOWORLDMODEL defines if ( r_newrefdef.rdflags & RDF_NOWORLDMODEL ) { qglEnable( GL_SCISSOR_TEST ); qglClearColor( 0.3, 0.3, 0.3, 1 ); qglScissor( r_newrefdef.x, vid.height - r_newrefdef.height - r_newrefdef.y, r_newrefdef.width, r_newrefdef.height ); qglClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); qglClearColor( 1, 0, 0.5, 0.5 ); qglDisable( GL_SCISSOR_TEST ); }
TO: (quake2xp code) for (i=0 ; i<4 ; i++) v_blend[i] = r_newrefdef.blend[i];
// clear out the portion of the screen that the NOWORLDMODEL defines if ( r_newrefdef.rdflags & RDF_NOWORLDMODEL ) { qglEnable( GL_SCISSOR_TEST );
qglScissor(r_newrefdef.x, vid.height - r_newrefdef.height - r_newrefdef.y, r_newrefdef.width, r_newrefdef.height); if (!(r_newrefdef.rdflags & RDF_NOCLEAR)) { qglClearColor(0.35, 0.35, 0.35, 1); qglClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); qglClearColor(0.35, 0.35, 0.35, 1); } else qglClear(GL_DEPTH_BUFFER_BIT); qglDisable(GL_SCISSOR_TEST); }
any help would be greatly appreciated!
|
|
|
Post by sfranzyshen on Jul 8, 2011 14:42:26 GMT -5
|
|