From 2bd349d6c61ae24f3c89aa8be0d01abb0b6d526d Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:11:42 -0400 Subject: [PATCH 01/20] Fix char cast compiler warning and print more descriptive error message when loading of pixmap fails. --- radiant/gtkmisc.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/radiant/gtkmisc.cpp b/radiant/gtkmisc.cpp index 8217b00b..4f88dc99 100644 --- a/radiant/gtkmisc.cpp +++ b/radiant/gtkmisc.cpp @@ -671,10 +671,9 @@ void load_pixmap( const char* filename, GtkWidget* widget, GdkPixmap **gdkpixmap bmp_to_pixmap( str.GetBuffer(), gdkpixmap, mask ); if ( *gdkpixmap == NULL ) { - printf( "gdkpixmap was null\n" ); - gchar *dummy[] = { "1 1 1 1", " c None", " " }; - printf( "calling gdk_pixmap_create_from_xpm_d\n" ); - *gdkpixmap = gdk_pixmap_create_from_xpm_d( gdk_get_default_root_window(), mask, NULL, dummy ); + Sys_Printf( "Failed to load_pixmap %s, creating default pixmap\n", str.GetBuffer() ); + const gchar *dummy[] = { "1 1 1 1", " c None", " " }; + *gdkpixmap = gdk_pixmap_create_from_xpm_d( gdk_get_default_root_window(), mask, NULL, (gchar **)dummy ); } } From fad4aff018ea3836d16a66ae9cb86053c5030cc6 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:12:25 -0400 Subject: [PATCH 02/20] Use newer, simpler API to set window icon, and update window icon with current branding (affects Mac / Linux only). --- install/bitmaps/icon.png | Bin 407 -> 10579 bytes radiant/mainframe.cpp | 14 ++++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/install/bitmaps/icon.png b/install/bitmaps/icon.png index b42e1c9a882ca12b9030c834eabb34a1076581be..88fdea55f204a2ffe1ac3fabd6d1fe40e3c992ae 100644 GIT binary patch literal 10579 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 literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv#^NA%Cx&(BWL|<~l0AZa85pY6 z7#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=Y_eC&cwX!~YH-o1x=B1H=FS z|HFT8`U2!JmIV0)GdMiEkp|)`*1akU3T^vI+&d;6D&Fiel;p!^(;1$y` zPLp^0qaEen&)$})xbp#HtHdE|VgDpuF^#tlcbjt5nQw_?2bso)dv#{MdZV$>FF@8kal^^MTCX zGi&3&{bIks%%R5+&p7c!|AWW#@4aEQbLHpU9F)Hu=rYw3*NBpo#FA92window, NULL, pixmap, mask ); + CString icon = g_strBitmapsPath; + icon += "icon.png"; + + GError *error = NULL; + + gtk_window_set_icon_from_file( GTK_WINDOW( window ), icon.GetBuffer(), &error ); + if ( error != NULL ) { + Sys_Printf( "Failed to load icon: %s\n", error->message ); + g_error_free( error ); + } } #endif From 576823a4e3178103d173da94f61a9221a936f964 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:16:00 -0400 Subject: [PATCH 03/20] Fix another char cast in gtkmisc.cpp. --- radiant/gtkmisc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radiant/gtkmisc.cpp b/radiant/gtkmisc.cpp index 4f88dc99..6259d14b 100644 --- a/radiant/gtkmisc.cpp +++ b/radiant/gtkmisc.cpp @@ -706,8 +706,8 @@ bool WINAPI load_plugin_bitmap( const char* filename, void **gdkpixmap, void **m bmp_to_pixmap( str.GetBuffer(), (GdkPixmap **)gdkpixmap, (GdkBitmap **)mask ); if ( *gdkpixmap == NULL ) { - gchar *dummy[] = { "1 1 1 1", " c None", " " }; - *gdkpixmap = gdk_pixmap_create_from_xpm_d( gdk_get_default_root_window(), (GdkBitmap **)mask, NULL, dummy ); + const gchar *dummy[] = { "1 1 1 1", " c None", " " }; + *gdkpixmap = gdk_pixmap_create_from_xpm_d( gdk_get_default_root_window(), (GdkBitmap **)mask, NULL, (gchar **)dummy ); return false; } } From c8fb5b9b5b1f56d65e06c5cb9cec77c11df90d1f Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:22:34 -0400 Subject: [PATCH 04/20] Remove unused variable. Fix char cast. Finish conditionalizing of splash_screen. Addresses all of the compiler warnings for main.cpp. --- radiant/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/radiant/main.cpp b/radiant/main.cpp index 96eb5f12..720ef62f 100644 --- a/radiant/main.cpp +++ b/radiant/main.cpp @@ -92,6 +92,7 @@ gint try_destroy_splash( gpointer data ){ return FALSE; } +#ifndef SKIP_SPLASH static void create_splash() { splash_screen = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(splash_screen), "Splash Screen"); @@ -111,6 +112,7 @@ static void create_splash() { while(gtk_events_pending()) gtk_main_iteration(); } +#endif // ============================================================================= // Loki stuff @@ -413,10 +415,8 @@ void error_redirect( const gchar *domain, GLogLevelFlags log_level, const gchar int main( int argc, char* argv[] ) { const char *libgl; - char *ptr; int i, j, k; - /* Rambetter on Sat Nov 13, 2010: @@ -461,7 +461,7 @@ int main( int argc, char* argv[] ) { _after_ gtk_init(), I chose to fix this problem via environment variable. I think it's cleaner that way. */ - putenv( "LC_NUMERIC=C" ); + putenv( (char *)"LC_NUMERIC=C" ); // Use the same environment variable for resolving libGL as libgtkglext does. libgl = getenv("GDK_GL_LIBGL_PATH"); From 23e78ebdf4b5a285e95a66e848339830ab86bd49 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:24:23 -0400 Subject: [PATCH 05/20] Fix another char cast. --- radiant/mainframe.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radiant/mainframe.cpp b/radiant/mainframe.cpp index 8499b88c..805bc6e8 100644 --- a/radiant/mainframe.cpp +++ b/radiant/mainframe.cpp @@ -2088,7 +2088,7 @@ enum }; static const GtkTargetEntry clipboard_targets[] = { - { "RADIANT_CLIPPINGS", 0, RADIANT_CLIPPINGS, }, + { (gchar *)"RADIANT_CLIPPINGS", 0, RADIANT_CLIPPINGS, }, }; static void clipboard_get( GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, gpointer user_data_or_owner ){ From 6b3915d8f2996d56190dd831f662af0c77e4d328 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:28:31 -0400 Subject: [PATCH 06/20] Fully conditionalize the prefab path preference. Fixes the last compiler warning in preferences.cpp. --- radiant/preferences.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/radiant/preferences.cpp b/radiant/preferences.cpp index 31b6603c..de86a87f 100644 --- a/radiant/preferences.cpp +++ b/radiant/preferences.cpp @@ -514,6 +514,8 @@ static void OnBtnBrowseEditor( GtkWidget *widget, gpointer data ){ } #endif +#define PREFERENCES_HAVE_PREFAB_PATH 0 +#if PREFERENCES_HAVE_PREFAB_PATH static void OnBtnBrowseprefab( GtkWidget *widget, gpointer data ){ PrefsDlg *dlg = (PrefsDlg*)data; char *path = dlg->m_strPrefabPath; @@ -532,6 +534,7 @@ static void OnBtnBrowseprefab( GtkWidget *widget, gpointer data ){ free( dir ); } } +#endif static void OnBtnBrowseuserini( GtkWidget *widget, gpointer data ){ PrefsDlg *dlg = (PrefsDlg*)data; @@ -2503,7 +2506,7 @@ void PrefsDlg::BuildDialog(){ (GtkAttachOptions) ( 0 ), 1, 0 ); AddDialogData( entry, &m_strPrefabPath, DLG_ENTRY_TEXT ); -#if 0 +#if PREFERENCES_HAVE_PREFAB_PATH // browse button button = gtk_button_new_with_label( "..." ); gtk_widget_show( button ); From 128d4669c5742800d521ed1761852658dd3dac31 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:33:19 -0400 Subject: [PATCH 07/20] set no_patch=true for Quake2 and Quake2World. --- radiant/preferences.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/radiant/preferences.cpp b/radiant/preferences.cpp index de86a87f..87ab8bc8 100644 --- a/radiant/preferences.cpp +++ b/radiant/preferences.cpp @@ -3607,6 +3607,7 @@ void CGameInstall::Run() { case GAME_Q2: { fprintf( fg, " prefix=\".quake2\"\n" ); fprintf( fg, " basegame=\"baseq2\"\n" ); + fprintf( fg, " no_patch=\"true\"\n" ); break; } case GAME_Q3: { @@ -3636,6 +3637,7 @@ void CGameInstall::Run() { fprintf( fg, " prefix=\".quake2world\"\n" ); fprintf( fg, " prefix_win32=\"Quake2World\"\n"); fprintf( fg, " basegame=\"default\"\n" ); + fprintf( fg, " no_patch=\"true\"\n" ); break; } case GAME_WARSOW: { From 14b0178515298756ad704dcb35bf640edeba8947 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:33:44 -0400 Subject: [PATCH 08/20] set no_patch=true for UFO:AI as well. --- radiant/preferences.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/radiant/preferences.cpp b/radiant/preferences.cpp index 87ab8bc8..3645a3ed 100644 --- a/radiant/preferences.cpp +++ b/radiant/preferences.cpp @@ -3631,6 +3631,7 @@ void CGameInstall::Run() { case GAME_UFOAI: { fprintf( fg, " prefix=\".ufoai\"\n" ); fprintf( fg, " basegame=\"base\"\n" ); + fprintf( fg, " no_patch=\"true\"\n" ); break; } case GAME_Q2W: { From 8184ba89d4f554a8279ac680efee8dde429f22b7 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:37:47 -0400 Subject: [PATCH 09/20] Remove unused static function ResizeImage. I'm not sure why we would want this in qgl.c to begin with. --- radiant/qgl.c | 40 ---------------------------------------- 1 file changed, 40 deletions(-) diff --git a/radiant/qgl.c b/radiant/qgl.c index 881e616e..cc502621 100644 --- a/radiant/qgl.c +++ b/radiant/qgl.c @@ -1054,46 +1054,6 @@ void WINAPI gluPerspective2( GLdouble fovy, GLdouble aspect, GLdouble zNear, GLd qglFrustum( -y * aspect, y * aspect, -y, y, zNear, zFar ); } -static void* WINAPI ResizeImage( GLubyte* old_image, int srcw, int srch, int destw, int desth ){ - int i, j; - float sx, sy; - GLubyte* new_image = (GLubyte *)malloc( destw * desth * 4 * sizeof( GLubyte ) ); - if ( new_image == NULL ) { - return NULL; - } - - if ( destw > 1 ) { - sx = (GLfloat) ( srcw - 1 ) / (GLfloat) ( destw - 1 ); - } - else{ - sx = (GLfloat) ( srcw - 1 ); - } - if ( desth > 1 ) { - sy = (GLfloat) ( srch - 1 ) / (GLfloat) ( desth - 1 ); - } - else{ - sy = (GLfloat) ( srch - 1 ); - } - - for ( i = 0; i < desth; i++ ) - { - GLint ii = (GLint)( i * sy ); - for ( j = 0; j < destw; j++ ) - { - GLint jj = (GLint)( j * sx ); - GLubyte *src = old_image + ( ii * srcw + jj ) * 4; - GLubyte *dst = new_image + ( i * destw + j ) * 4; - - *dst++ = *src++; - *dst++ = *src++; - *dst++ = *src++; - *dst++ = *src++; - } - } - - return new_image; -} - #define CEILING( A, B ) ( ( A ) % ( B ) == 0 ? ( A ) / ( B ) : ( A ) / (B)+1 ) typedef struct glu_error_struct From abfecbecfa0b3706a7d8cdd27b799f76ccf24d11 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:39:35 -0400 Subject: [PATCH 10/20] Comment out unused variable. This one looks like we could potentially need it again someday, so I'll not delete it. --- radiant/surfacedialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radiant/surfacedialog.cpp b/radiant/surfacedialog.cpp index 0b6a467e..38bb106d 100644 --- a/radiant/surfacedialog.cpp +++ b/radiant/surfacedialog.cpp @@ -67,7 +67,7 @@ static void OnTest( GtkWidget *widget, gpointer data ){ Sys_FPrintf( SYS_WRN, "Expected single face selection\n" ); return; } - brush_t *b = reinterpret_cast( g_ptrSelectedFaceBrushes.GetAt( 0 ) ); + //brush_t *b = reinterpret_cast( g_ptrSelectedFaceBrushes.GetAt( 0 ) ); face_t *selFace = reinterpret_cast( g_ptrSelectedFaces.GetAt( 0 ) ); // get the ST axis base for the face vec3_t texS,texT; From dc575b2e2f8a22acd011a7e496fb03c7de7d9315 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:47:03 -0400 Subject: [PATCH 11/20] Fix uninitialized variable warnings and really retarded syntax (which I think might have had unintended side effects.) Clipper tool works in all 3 view types. --- radiant/xywindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radiant/xywindow.cpp b/radiant/xywindow.cpp index 55b4ae96..3a0812b7 100644 --- a/radiant/xywindow.cpp +++ b/radiant/xywindow.cpp @@ -1810,7 +1810,7 @@ void XYWnd::DropClipPoint( guint32 nFlags, int pointx, int pointy ){ // g_pParentWnd->ActiveXY()->GetViewType() // cf VIEWTYPE defintion: enum VIEWTYPE {YZ, XZ, XY}; int nViewType = g_pParentWnd->ActiveXY()->GetViewType(); - int nDim = ( nViewType == YZ ) ? nDim = 0 : ( ( nViewType == XZ ) ? nDim = 1 : nDim = 2 ); + int nDim = ( nViewType == YZ ) ? 0 : ( ( nViewType == XZ ) ? 1 : 2 ); //(*pPt)[nDim] = g_qeglobals.d_work_max[nDim]; vec3_t mid; Select_GetMid( mid ); @@ -1834,7 +1834,7 @@ void XYWnd::DropPathPoint( guint32 nFlags, int pointx, int pointy ){ // g_pParentWnd->ActiveXY()->GetViewType() // cf VIEWTYPE definition: enum VIEWTYPE {YZ, XZ, XY}; int nViewType = g_pParentWnd->ActiveXY()->GetViewType(); - int nDim = ( nViewType == YZ ) ? nDim = 0 : ( ( nViewType == XZ ) ? nDim = 1 : nDim = 2 ); + int nDim = ( nViewType == YZ ) ? 0 : ( ( nViewType == XZ ) ? 1 : 2 ); g_PathPoints[g_nPathCount].m_ptClip[nDim] = g_qeglobals.d_work_max[nDim]; g_nPathCount++; From 75b26411c37958a6af2311083017439b070c76b9 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:49:23 -0400 Subject: [PATCH 12/20] Move static variable declaration into implementation file, since that's where it belongs. Fixes a compiler warning. --- plugins/vfsqlpk3/qlvfs.cpp | 5 ++++- plugins/vfsqlpk3/qlvfs.h | 4 +--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/vfsqlpk3/qlvfs.cpp b/plugins/vfsqlpk3/qlvfs.cpp index 6ce6eaf8..fb0a3fd4 100644 --- a/plugins/vfsqlpk3/qlvfs.cpp +++ b/plugins/vfsqlpk3/qlvfs.cpp @@ -9,6 +9,9 @@ #include "stdio.h" #include "qlvfs.h" +static FILE *xored_open_files[MAX_FILE_HANDLES]; +static int xor_max_pos = 0; + /* Luigi Auriemma's quakelivedec.c */ static unsigned char quakelive_xor[] = "\xcf\x8e\x8e\x4c\xd0\xd9\x30\xce\x07\x32\x27\x64\xed\x16\x06\x12" @@ -175,4 +178,4 @@ int fclose_ql (FILE* stream) { ret = fclose((FILE *)stream); return ret; -} \ No newline at end of file +} diff --git a/plugins/vfsqlpk3/qlvfs.h b/plugins/vfsqlpk3/qlvfs.h index 58555c3b..80cdbaf7 100644 --- a/plugins/vfsqlpk3/qlvfs.h +++ b/plugins/vfsqlpk3/qlvfs.h @@ -1,7 +1,5 @@ #define MAX_FILE_HANDLES 8192 //64 // qcommon.h -static FILE *xored_open_files[MAX_FILE_HANDLES]; -static int xor_max_pos = 0; FILE* fopen_ql (const char* filename, const char* mode); size_t fread_ql (void *ptr, size_t size, size_t nmeb, FILE *stream); -int fclose_ql (FILE* stream); \ No newline at end of file +int fclose_ql (FILE* stream); From 5ed95d5bdd78b7613846d9adf7eb2981ccf34292 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:51:38 -0400 Subject: [PATCH 13/20] Fix signedness warning by casting. --- libs/picomodel/picointernal.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/picomodel/picointernal.c b/libs/picomodel/picointernal.c index d8d316a0..d4fd8b44 100644 --- a/libs/picomodel/picointernal.c +++ b/libs/picomodel/picointernal.c @@ -761,8 +761,8 @@ picoParser_t *_pico_new_parser( picoByte_t *buffer, int bufSize ){ return NULL; } /* setup */ - p->buffer = buffer; - p->cursor = buffer; + p->buffer = (char *)buffer; + p->cursor = p->buffer; p->bufSize = bufSize; p->max = p->buffer + bufSize; p->curLine = 1; /* sea: new */ From 3ddd0fca0cdc17e2113f066d74a44c3ea314f617 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:53:55 -0400 Subject: [PATCH 14/20] Fix a few more char casts. --- plugins/spritemodel/plugin.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/spritemodel/plugin.cpp b/plugins/spritemodel/plugin.cpp index 5d7766dd..e73fd988 100644 --- a/plugins/spritemodel/plugin.cpp +++ b/plugins/spritemodel/plugin.cpp @@ -153,10 +153,10 @@ static const char *PLUGIN_COMMANDS = "About..."; static const char *PLUGIN_ABOUT = "Sprite Model loading module v0.2 for GTKRadiant\n\n" "By Hydra!"; -char *supportedmodelformats[] = {"spr","bmp","tga","jpg","hlw",NULL}; // NULL is list delimiter +const char *supportedmodelformats[] = {"spr","bmp","tga","jpg","hlw",NULL}; // NULL is list delimiter static void add_model_apis( CSynapseClient& client ){ - char **ext; + const char **ext; for ( ext = supportedmodelformats; *ext != NULL; ext++ ) { client.AddAPI( MODEL_MAJOR, *ext, sizeof( _QERPlugModelTable ) ); @@ -164,7 +164,7 @@ static void add_model_apis( CSynapseClient& client ){ } static bool model_is_supported( const char* extension ){ - char **ext; + const char **ext; for ( ext = supportedmodelformats; *ext != NULL; ext++ ) { if ( stricmp( extension,*ext ) == 0 ) { @@ -175,7 +175,7 @@ static bool model_is_supported( const char* extension ){ } void init_filetypes(){ - char **ext; + const char **ext; for ( ext = supportedmodelformats; *ext != NULL; ext++ ) { GetFileTypeRegistry()->addType( MODEL_MAJOR, filetype_t( "sprite", *ext ) ); From 2f403e160bfb558f0c48722928f142493625ba8e Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 09:58:56 -0400 Subject: [PATCH 15/20] Use intptr_t for pointer offset magic in TexTool. Fixes a couple compiler warnings. --- plugins/textool/TexTool.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/textool/TexTool.cpp b/plugins/textool/TexTool.cpp index c173c2fc..ed478628 100644 --- a/plugins/textool/TexTool.cpp +++ b/plugins/textool/TexTool.cpp @@ -37,7 +37,7 @@ static void dialog_button_callback( GtkWidget *widget, gpointer data ){ ret = (int*)g_object_get_data( G_OBJECT( parent ), "ret" ); *loop = 0; - *ret = (int)data; + *ret = (intptr_t) data; } static gint dialog_delete_callback( GtkWidget *widget, GdkEvent* event, gpointer data ){ @@ -243,7 +243,7 @@ const char* QERPlug_Init( void* hApp, void *pWidget ){ GtkWidget* pMainWidget = static_cast( pWidget ); g_pMainWnd = pMainWidget; - size = (int)( (winding_t *)0 )->points[MAX_POINTS_ON_WINDING]; + size = (intptr_t)( (winding_t *)0 )->points[MAX_POINTS_ON_WINDING]; g_pSelectedFaceWinding = (winding_t *)malloc( size ); memset( g_pSelectedFaceWinding, 0, size ); return "Texture tools for Radiant"; From 21a7ab44c7e54ad01ed205678fa418954609f826 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 10:14:29 -0400 Subject: [PATCH 16/20] Re-define fileHandle_t as void * so that it is 64-bit safe. Fixes 4 compiler warnings and potentially some broken code. --- contrib/camera/misc.h | 2 +- libs/splines/q_shared.h | 5 +---- libs/splines/splines.h | 2 -- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/contrib/camera/misc.h b/contrib/camera/misc.h index 6dee0b25..8a53fce3 100644 --- a/contrib/camera/misc.h +++ b/contrib/camera/misc.h @@ -31,7 +31,7 @@ const char* ExtractFilename( const char* path ); bool FileExists( const char *filename ); int Q_stricmp( const char *s1, const char *s2 ); -typedef int fileHandle_t; +typedef void * fileHandle_t; #define qfalse false #define qtrue true diff --git a/libs/splines/q_shared.h b/libs/splines/q_shared.h index d194615d..9805fa8e 100644 --- a/libs/splines/q_shared.h +++ b/libs/splines/q_shared.h @@ -212,10 +212,7 @@ typedef unsigned char byte; #define EQUAL_EPSILON 0.001 -typedef int qhandle_t; -typedef int sfxHandle_t; -typedef int fileHandle_t; -typedef int clipHandle_t; +typedef void * fileHandle_t; typedef enum { INVALID_JOINT = -1 diff --git a/libs/splines/splines.h b/libs/splines/splines.h index f55525b8..6a395e73 100644 --- a/libs/splines/splines.h +++ b/libs/splines/splines.h @@ -35,8 +35,6 @@ #include "util_str.h" #include "math_vector.h" -typedef int fileHandle_t; - extern void glBox( idVec3 &color, idVec3 &point, float size ); extern void glLabeledPoint( idVec3 &color, idVec3 &point, float size, const char *label ); From 8910ffc600992674bff6573a706572c2819d7e73 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 10:14:48 -0400 Subject: [PATCH 17/20] Use intptr_t again when casting gpointer to integers. --- contrib/prtview/LoadPortalFileDialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/prtview/LoadPortalFileDialog.cpp b/contrib/prtview/LoadPortalFileDialog.cpp index bd0439e3..4b25ce50 100644 --- a/contrib/prtview/LoadPortalFileDialog.cpp +++ b/contrib/prtview/LoadPortalFileDialog.cpp @@ -37,7 +37,7 @@ static void dialog_button_callback( GtkWidget *widget, gpointer data ){ ret = (int*)g_object_get_data( G_OBJECT( parent ), "ret" ); *loop = 0; - *ret = (int)data; + *ret = (intptr_t)data; } static gint dialog_delete_callback( GtkWidget *widget, GdkEvent* event, gpointer data ){ @@ -60,7 +60,7 @@ static void file_sel_callback( GtkWidget *widget, gpointer data ){ filename = (char**)g_object_get_data( G_OBJECT( parent ), "filename" ); *loop = 0; - if ( (int)data == IDOK ) { + if ( (intptr_t)data == IDOK ) { *filename = g_strdup( gtk_file_selection_get_filename( GTK_FILE_SELECTION( parent ) ) ); } } From a6fbf511a21982ff42e5380aee5440642a8da540 Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 10:16:11 -0400 Subject: [PATCH 18/20] Yet another char cast fix. --- contrib/bobtoolz/shapes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/bobtoolz/shapes.cpp b/contrib/bobtoolz/shapes.cpp index e7e2de32..6609058e 100644 --- a/contrib/bobtoolz/shapes.cpp +++ b/contrib/bobtoolz/shapes.cpp @@ -621,7 +621,7 @@ void MakeBevel( vec3_t vMin, vec3_t vMax ){ } - g_FuncTable.m_pfnCommitPatchHandleToMap( nIndex, pm, "textures/common/caulk" ); + g_FuncTable.m_pfnCommitPatchHandleToMap( nIndex, pm, (char *)"textures/common/caulk" ); } void BuildCornerStairs( vec3_t vMin, vec3_t vMax, int nSteps, const char* mainTexture, const char* riserTex ){ From 0dae74569473fd9024f26b56f1c75def777e0c0a Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 10:18:51 -0400 Subject: [PATCH 19/20] Again, use intptr_t when casting from gpointer to int. --- contrib/bobtoolz/dialogs/dialogs-gtk.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/bobtoolz/dialogs/dialogs-gtk.cpp b/contrib/bobtoolz/dialogs/dialogs-gtk.cpp index 7e4ac81a..768190ec 100644 --- a/contrib/bobtoolz/dialogs/dialogs-gtk.cpp +++ b/contrib/bobtoolz/dialogs/dialogs-gtk.cpp @@ -82,7 +82,7 @@ static void dialog_button_callback( GtkWidget *widget, gpointer data ){ ret = (int*)g_object_get_data( G_OBJECT( parent ), "ret" ); *loop = 0; - *ret = (int)data; + *ret = (intptr_t)data; } static gint dialog_delete_callback( GtkWidget *widget, GdkEvent* event, gpointer data ){ From 83f039dbd750e36fb3f43e26aa2d08306c9b13ca Mon Sep 17 00:00:00 2001 From: jdolan Date: Sun, 7 Jul 2013 10:20:18 -0400 Subject: [PATCH 20/20] Comment out unused variables in gtkgensurf plugin. --- contrib/gtkgensurf/triangle.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/gtkgensurf/triangle.c b/contrib/gtkgensurf/triangle.c index 8d4e0c98..5bf1a1db 100644 --- a/contrib/gtkgensurf/triangle.c +++ b/contrib/gtkgensurf/triangle.c @@ -622,8 +622,8 @@ static struct memorypool splaynodes; /* Variables that maintain the bad triangle queues. The tails are pointers */ /* to the pointers that have to be filled in to enqueue an item. */ -static struct badface *queuefront[64]; -static struct badface **queuetail[64]; +//static struct badface *queuefront[64]; +//static struct badface **queuetail[64]; static REAL xmin, xmax, ymin, ymax; /* x and y bounds. */ static REAL xminextreme; /* Nonexistent x value used as a flag in sweepline. */