mirror of
https://github.com/dhewm/dhewm3.git
synced 2024-12-02 09:13:51 +00:00
Fix several bugs from iodoom3 bugtracker
rhyskidd@gmail.com found them (with PVS studio IIRC), reported them and posted patches. Some of the patches were incorrect so I rewrote them.
This commit is contained in:
parent
1e087d9bf6
commit
94cd0ee559
4 changed files with 6 additions and 11 deletions
|
@ -1257,8 +1257,8 @@ bool idGameLocal::InitFromSaveGame( const char *mapName, idRenderWorld *renderWo
|
||||||
|
|
||||||
if ( !InhibitEntitySpawn( mapEnt->epairs ) ) {
|
if ( !InhibitEntitySpawn( mapEnt->epairs ) ) {
|
||||||
CacheDictionaryMedia( &mapEnt->epairs );
|
CacheDictionaryMedia( &mapEnt->epairs );
|
||||||
const char *classname = mapEnt->epairs.GetString( "classname" );
|
const char *classname;
|
||||||
if ( classname != '\0' ) {
|
if ( mapEnt->epairs.GetString( "classname", "", &classname ) ) {
|
||||||
FindEntityDef( classname, false );
|
FindEntityDef( classname, false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1626,8 +1626,9 @@ void idGameLocal::GetShakeSounds( const idDict *dict ) {
|
||||||
const char *soundShaderName;
|
const char *soundShaderName;
|
||||||
idStr soundName;
|
idStr soundName;
|
||||||
|
|
||||||
soundShaderName = dict->GetString( "s_shader" );
|
if ( dict->GetString( "s_shader", "", &soundShaderName )
|
||||||
if ( soundShaderName != '\0' && dict->GetFloat( "s_shakes" ) != 0.0f ) {
|
&& dict->GetFloat( "s_shakes" ) != 0.0f )
|
||||||
|
{
|
||||||
soundShader = declManager->FindSound( soundShaderName );
|
soundShader = declManager->FindSound( soundShaderName );
|
||||||
|
|
||||||
for ( int i = 0; i < soundShader->GetNumSounds(); i++ ) {
|
for ( int i = 0; i < soundShader->GetNumSounds(); i++ ) {
|
||||||
|
|
|
@ -399,8 +399,6 @@ void idRenderModelLiquid::InitFromFile( const char *fileName ) {
|
||||||
} else if ( !token.Icmp( "shader" ) ) {
|
} else if ( !token.Icmp( "shader" ) ) {
|
||||||
parser.ReadToken( &token );
|
parser.ReadToken( &token );
|
||||||
shader = declManager->FindMaterial( token );
|
shader = declManager->FindMaterial( token );
|
||||||
} else if ( !token.Icmp( "seed" ) ) {
|
|
||||||
seed = parser.ParseInt();
|
|
||||||
} else if ( !token.Icmp( "update_rate" ) ) {
|
} else if ( !token.Icmp( "update_rate" ) ) {
|
||||||
rate = parser.ParseFloat();
|
rate = parser.ParseFloat();
|
||||||
if ( ( rate <= 0.0f ) || ( rate > 60.0f ) ) {
|
if ( ( rate <= 0.0f ) || ( rate > 60.0f ) ) {
|
||||||
|
|
|
@ -4285,7 +4285,7 @@ void CXYWnd::Paste()
|
||||||
|
|
||||||
int nLen = g_Clipboard.GetLength();
|
int nLen = g_Clipboard.GetLength();
|
||||||
char *pBuffer = new char[nLen + 1];
|
char *pBuffer = new char[nLen + 1];
|
||||||
memset(pBuffer, 0, sizeof(pBuffer));
|
memset(pBuffer, 0, sizeof(*pBuffer) * (nLen + 1));
|
||||||
g_Clipboard.Read(pBuffer, nLen);
|
g_Clipboard.Read(pBuffer, nLen);
|
||||||
pBuffer[nLen] = '\0';
|
pBuffer[nLen] = '\0';
|
||||||
Map_ImportBuffer(pBuffer, !(GetAsyncKeyState(VK_SHIFT) & 0x8000));
|
Map_ImportBuffer(pBuffer, !(GetAsyncKeyState(VK_SHIFT) & 0x8000));
|
||||||
|
|
|
@ -1565,10 +1565,6 @@ bool idCameraPosition::parseToken( const idStr &key, idParser *src ) {
|
||||||
name = token;
|
name = token;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if ( !key.Icmp( "time" ) ) {
|
|
||||||
time = src->ParseInt();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
src->Error( "unknown camera position key: %s", key.c_str() );
|
src->Error( "unknown camera position key: %s", key.c_str() );
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue