Fixed all errors (now compile & link)

This commit is contained in:
L 2023-05-09 17:50:29 +02:00
parent b96afa380c
commit 521af45611
12 changed files with 117 additions and 123 deletions

View file

@ -320,33 +320,14 @@ void Message_Key( int key ) {
if (key == K_ESCAPE) {
Key_SetCatcher( Key_GetCatcher( ) & ~KEYCATCH_MESSAGE );
Field_Clear( &chatField );
return;
}
if ( key == K_ENTER || key == K_KP_ENTER )
{
if ( chatField.buffer[0] && cls.state == CA_ACTIVE ) {
if (chat_playerNum != -1 )
Com_sprintf( buffer, sizeof( buffer ), "tell %i \"%s\"\n", chat_playerNum, chatField.buffer );
else if (chat_team)
Com_sprintf( buffer, sizeof( buffer ), "say_team \"%s\"\n", chatField.buffer );
else
Com_sprintf( buffer, sizeof( buffer ), "say \"%s\"\n", chatField.buffer );
CL_AddReliableCommand( buffer );
}
Key_SetCatcher( Key_GetCatcher( ) & ~KEYCATCH_MESSAGE );
Field_Clear( &chatField );
return;
}
Field_KeyDownEvent( &chatField, key );
}
//============================================================================
@ -1320,10 +1301,6 @@ Key_SetCatcher
====================
*/
void Key_SetCatcher( int catcher ) {
// If the catcher state is changing, clear all key states
if( catcher != keyCatchers )
Key_ClearStates( );
keyCatchers = catcher;
}

View file

@ -3654,6 +3654,8 @@ CL_GamespyServers_f
#define MAX_GAMESPYSERVERS 16
void CL_GamespyServers_f( void ) {
// FIXME: unimplemented
#if 0
char buffer[10240];
int bytesRead;
@ -3759,6 +3761,7 @@ void CL_GamespyServers_f( void ) {
Com_Printf("%d servers parsed (total %d)\n", numservers, total);
Cvar_Set( "dm_serverstatus", "Server List Received.");
Cvar_SetValue( "dm_servercount", total );
#endif
}

View file

@ -1321,7 +1321,7 @@ void Com_Init( char *commandLine ) {
// override anything from the config files with command line args
Com_StartupVariable( "config" );
config = Cvar_Get( "config", "openmohaa.cfg", 0 );
config = Cvar_Get( "config", "omconfig.cfg", 0 );
if( strlen( config->string ) <= 1 )
{

View file

@ -1860,3 +1860,13 @@ void RE_LoadWorldMap( const char *name ) {
ri.FS_FreeFile( buffer );
}
int RE_MapVersion(void)
{
// FIXME: unimplemented
return 0;
}
void RE_PrintBSPFileSizes(void)
{
// FIXME: unimplemented
}

View file

@ -278,79 +278,6 @@ void RE_DrawBackground_DrawPixels( int cols, int rows, int bgr, byte *data ) {
// FIXME: stub
}
/*
=============
RE_StretchRaw
Stretches a raw 32 bit power of 2 bitmap image over the given screen rectangle.
Used for cinematics.
=============
*/
void RE_StretchRaw( int x, int y, int w, int h, int cols, int rows, int components, const byte *data ) {
int i, j;
int start, end;
if (!tr.registered) {
return;
}
R_SyncRenderThread();
// we definately want to sync every frame for the cinematics
qglFinish();
start = end = 0;
if (r_speeds->integer) {
start = ri.Milliseconds();
}
// make sure rows and cols are powers of 2
for (i = 0; (1 << i) < cols; i++) {
}
for (j = 0; (1 << j) < rows; j++) {
}
if ((1 << i) != cols || (1 << j) != rows) {
ri.Error(ERR_DROP, "Draw_StretchRaw: size not a power of 2: %i by %i", cols, rows);
}
GL_Bind(tr.scratchImage[0]);
// if the scratchImage isn't in the format we want, specify it as a new texture
if (cols != tr.scratchImage[0]->width || rows != tr.scratchImage[0]->height) {
tr.scratchImage[0]->width = tr.scratchImage[0]->uploadWidth = cols;
tr.scratchImage[0]->height = tr.scratchImage[0]->uploadHeight = rows;
qglTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, cols, rows, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
}
else {
// otherwise, just subimage upload it so that drivers can tell we are going to be changing
// it and don't try and do a texture compression
qglTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, cols, rows, GL_RGBA, GL_UNSIGNED_BYTE, data);
}
if (r_speeds->integer) {
end = ri.Milliseconds();
ri.Printf(PRINT_ALL, "qglTexSubImage2D %i, %i: %i msec\n", cols, rows, end - start);
}
RB_SetGL2D();
qglColor3f(tr.identityLight, tr.identityLight, tr.identityLight);
qglBegin(GL_QUADS);
qglTexCoord2f(0.5f / cols, 0.5f / rows);
qglVertex2f(x, y);
qglTexCoord2f((cols - 0.5f) / cols, 0.5f / rows);
qglVertex2f(x + w, y);
qglTexCoord2f((cols - 0.5f) / cols, (rows - 0.5f) / rows);
qglVertex2f(x + w, y + h);
qglTexCoord2f(0.5f / cols, (rows - 0.5f) / rows);
qglVertex2f(x, y + h);
qglEnd();
}
/*
================
AddBox

View file

@ -1403,7 +1403,7 @@ static void LoadJPG( const char *filename, unsigned char **pic, int *width, int
cinfo.err = jpeg_std_error(&jerr);
/* Now we can initialize the JPEG decompression object. */
jpeg_create_decompress(&cinfo);
jpeg_CreateDecompress(&cinfo);
/* Step 2: specify data source (eg, a file) */
@ -1728,7 +1728,7 @@ void SaveJPG(char * filename, int quality, int image_width, int image_height, un
*/
cinfo.err = jpeg_std_error(&jerr);
/* Now we can initialize the JPEG compression object. */
jpeg_create_compress(&cinfo);
jpeg_CreateDecompress(&cinfo);
/* Step 2: specify data destination (eg, a file) */
/* Note: steps 2 and 3 can be done in either order. */

View file

@ -148,6 +148,46 @@ int max_polys;
cvar_t *r_maxpolyverts;
int max_polyverts;
cvar_t* r_staticlod;
cvar_t* r_lodscale;
cvar_t* r_lodcap;
cvar_t* r_lodviewmodelcap;
cvar_t* r_uselod;
cvar_t* lod_LOD;
cvar_t* lod_minLOD;
cvar_t* lod_maxLOD;
cvar_t* lod_LOD_slider;
cvar_t* lod_curve_0_val;
cvar_t* lod_curve_1_val;
cvar_t* lod_curve_2_val;
cvar_t* lod_curve_3_val;
cvar_t* lod_curve_4_val;
cvar_t* lod_edit_0;
cvar_t* lod_edit_1;
cvar_t* lod_edit_2;
cvar_t* lod_edit_3;
cvar_t* lod_edit_4;
cvar_t* lod_curve_0_slider;
cvar_t* lod_curve_1_slider;
cvar_t* lod_curve_2_slider;
cvar_t* lod_curve_3_slider;
cvar_t* lod_curve_4_slider;
cvar_t* lod_pitch_val;
cvar_t* lod_zee_val;
cvar_t* lod_mesh;
cvar_t* lod_meshname;
cvar_t* lod_tikiname;
cvar_t* lod_metric;
cvar_t* lod_tris;
cvar_t* lod_position;
cvar_t* lod_save;
cvar_t* lod_tool;
cvar_t* r_numdebuglines;
cvar_t* r_showSkeleton;
void ( APIENTRY * qglMultiTexCoord2fARB )( GLenum texture, GLfloat s, GLfloat t );
void ( APIENTRY * qglActiveTextureARB )( GLenum texture );
void ( APIENTRY * qglClientActiveTextureARB )( GLenum texture );
@ -1108,9 +1148,6 @@ void R_Init( void ) {
R_ModelInit();
R_InitFreeType();
err = qglGetError();
if ( err != GL_NO_ERROR )
ri.Printf (PRINT_ALL, "glGetError() = 0x%x\n", err);
@ -1144,8 +1181,6 @@ void RE_Shutdown( qboolean destroyWindow ) {
R_DeleteTextures();
}
R_DoneFreeType();
// shut down platform specific OpenGL stuff
if ( destroyWindow ) {
GLimp_Shutdown();
@ -1154,6 +1189,29 @@ void RE_Shutdown( qboolean destroyWindow ) {
tr.registered = qfalse;
}
/*
** RE_BeginRegistration
*/
void RE_BeginRegistration(glconfig_t* glconfigOut) {
// FIXME: redo
R_Init();
*glconfigOut = glConfig;
R_SyncRenderThread();
tr.viewCluster = -1; // force markleafs to regenerate
R_ClearFlares();
RE_ClearScene();
tr.registered = qtrue;
// NOTE: this sucks, for some reason the first stretch pic is never drawn
// without this we'd see a white flash on a level load because the very
// first time the level shot would not be drawn
RE_StretchPic(0, 0, 0, 0, 0, 0, 1, 1, 0);
}
/*
=============

View file

@ -30,6 +30,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "tr_public.h"
#include "qgl.h"
#ifdef __cplusplus
extern "C" {
#endif
#define GL_INDEX_TYPE GL_UNSIGNED_INT
typedef unsigned int glIndex_t;
@ -1624,10 +1628,6 @@ typedef struct shaderCommands_s
extern shaderCommands_t tess;
#ifdef __cplusplus
extern "C" {
#endif
void RB_BeginSurface(shader_t *shader, int fogNum );
void RB_EndSurface(void);
void RB_CheckOverflow( int verts, int indexes );
@ -1812,6 +1812,7 @@ void RE_SetFrameNumber(int frameNumber);
void R_UpdatePoseInternal(refEntity_t* model);
void RB_SkelMesh(skelSurfaceGame_t* sf);
void RB_StaticMesh(staticSurface_t* staticSurf);
void R_AddSkelSurfaces(trRefEntity_t* ent);
/*
=============================================================
@ -1845,6 +1846,24 @@ UTIL
*/
int RE_GetShaderHeight(qhandle_t hShader);
int RE_GetShaderWidth(qhandle_t hShader);
void RB_StreamBegin(shader_t* shader);
void RB_StreamEnd(void);
void RB_StreamBeginDrawSurf(void);
void RB_StreamEndDrawSurf(void);
static void addTriangle(void);
void RB_Vertex3fv(vec3_t v);
void RB_Vertex3f(vec_t x, vec_t y, vec_t z);
void RB_Vertex2f(vec_t x, vec_t y);
void RB_Color4f(vec_t r, vec_t g, vec_t b, vec_t a);
void RB_Color3f(vec_t r, vec_t g, vec_t b);
void RB_Color3fv(vec3_t col);
void RB_Color4bv(unsigned char* colors);
void RB_Texcoord2f(float s, float t);
void RB_Texcoord2fv(vec2_t st);
void R_DrawDebugNumber(const vec3_t org, float number, float scale, float r, float g, float b, int precision);
void R_DebugRotatedBBox(const vec3_t org, vec3_t ang, vec3_t mins, vec3_t maxs, float r, float g, float b, float alpha);
int RE_GetShaderWidth(qhandle_t hShader);
int RE_GetShaderHeight(qhandle_t hShader);
/*
=============================================================
@ -1895,10 +1914,6 @@ RENDERER BACK END COMMAND QUEUE
=============================================================
*/
#ifdef __cplusplus
}
#endif
#define MAX_RENDER_COMMANDS 0x40000
typedef struct {
@ -2023,10 +2038,9 @@ void RE_BeginFrame( stereoFrame_t stereoFrame );
void RE_EndFrame( int *frontEndMsec, int *backEndMsec );
void SaveJPG(char * filename, int quality, int image_width, int image_height, unsigned char *image_buffer);
// font stuff
void R_InitFreeType();
void R_DoneFreeType();
void RE_RegisterFont(const char *fontName, int pointSize, fontInfo_t *font);
#ifdef __cplusplus
}
#endif
#endif //TR_LOCAL_H

View file

@ -24,6 +24,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "../cgame/tr_types.h"
#ifdef __cplusplus
extern "C" {
#endif
#define REF_API_VERSION 14
typedef struct dtiki_s dtiki_t;
@ -236,4 +240,8 @@ refexport_t*GetRefAPI( int apiVersion, refimport_t *rimp );
qboolean R_ImageExists(const char* name);
#ifdef __cplusplus
}
#endif
#endif // __TR_PUBLIC_H

View file

@ -557,9 +557,6 @@ void RB_DeformTessGeometry( void ) {
case DEFORM_MOVE:
RB_CalcMoveVertexes( ds );
break;
case DEFORM_PROJECTION_SHADOW:
RB_ProjectionShadowDeform();
break;
case DEFORM_AUTOSPRITE:
AutospriteDeform();
break;

View file

@ -57,7 +57,7 @@ typedef enum {
#define TRY_PFD_FAIL_SOFT 1
#define TRY_PFD_FAIL_HARD 2
#define WINDOW_CLASS_NAME "Quake 3: Arena"
#define WINDOW_CLASS_NAME PRODUCT_NAME_FULL
static void GLW_InitExtensions( void );
static rserr_t GLW_SetMode( const char *drivername,

View file

@ -33,10 +33,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include <io.h>
#include <conio.h>
#define CD_BASEDIR "quake3"
#define CD_EXE "quake3.exe"
#define CD_BASEDIR "openmohaa"
#define CD_EXE "openmohaa.exe"
#define CD_BASEDIR_LINUX "bin\\x86\\glibc-2.1"
#define CD_EXE_LINUX "quake3"
#define CD_EXE_LINUX "openmohaa"
#define MEM_THRESHOLD 96*1024*1024
static char sys_cmdline[MAX_STRING_CHARS];