diff options
author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2008-11-10 23:55:22 +0000 |
---|---|---|
committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2008-11-10 23:55:22 +0000 |
commit | 8ba546241137c6c1c43751b25e40bbaf610658a1 (patch) | |
tree | a677c3ad74326acc217842a2d927328597cfe3c8 /code/renderer/tr_model.c | |
parent | b1613ef65246cc89a1e40e35c6e07080c56ea00b (diff) | |
download | ioquake3-aero-8ba546241137c6c1c43751b25e40bbaf610658a1.tar.gz ioquake3-aero-8ba546241137c6c1c43751b25e40bbaf610658a1.zip |
* Fix some new GCC 4.3 warnings
* Fix many many strict aliasing warnings, now that it's re-enabled
git-svn-id: svn://svn.icculus.org/quake3/trunk@1487 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/renderer/tr_model.c')
-rw-r--r-- | code/renderer/tr_model.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/code/renderer/tr_model.c b/code/renderer/tr_model.c index d721e2f..5355580 100644 --- a/code/renderer/tr_model.c +++ b/code/renderer/tr_model.c @@ -83,7 +83,10 @@ asked for again. */ qhandle_t RE_RegisterModel( const char *name ) { model_t *mod; - unsigned *buf; + union { + unsigned *u; + void *v; + } buf; int lod; int ident; qboolean loaded = qfalse; @@ -151,19 +154,19 @@ qhandle_t RE_RegisterModel( const char *name ) { { int filesize; - filesize = ri.FS_ReadFile(name, (void **) &buf); - if(!buf) + filesize = ri.FS_ReadFile(name, (void **) &buf.v); + if(!buf.u) { ri.Printf (PRINT_WARNING,"RE_RegisterModel: couldn't load %s\n", name); mod->type = MOD_BAD; return 0; } - ident = LittleLong(*(unsigned *)buf); + ident = LittleLong(*(unsigned *)buf.u); if(ident == MDR_IDENT) - loaded = R_LoadMDR(mod, buf, filesize, name); + loaded = R_LoadMDR(mod, buf.u, filesize, name); - ri.FS_FreeFile (buf); + ri.FS_FreeFile (buf.v); if(!loaded) { @@ -184,26 +187,26 @@ qhandle_t RE_RegisterModel( const char *name ) { else Com_sprintf(namebuf, sizeof(namebuf), "%s.%s", filename, fext); - ri.FS_ReadFile( namebuf, (void **)&buf ); - if ( !buf ) { + ri.FS_ReadFile( namebuf, &buf.v ); + if ( !buf.u ) { continue; } loadmodel = mod; - ident = LittleLong(*(unsigned *)buf); + ident = LittleLong(*(unsigned *)buf.u); if ( ident == MD4_IDENT ) { - loaded = R_LoadMD4( mod, buf, name ); + loaded = R_LoadMD4( mod, buf.u, name ); } else { if ( ident != MD3_IDENT ) { ri.Printf (PRINT_WARNING,"RE_RegisterModel: unknown fileid for %s\n", name); goto fail; } - loaded = R_LoadMD3( mod, lod, buf, name ); + loaded = R_LoadMD3( mod, lod, buf.u, name ); } - ri.FS_FreeFile (buf); + ri.FS_FreeFile (buf.v); if ( !loaded ) { if ( lod == 0 ) { |