mirror of
https://github.com/dhewm/dhewm3.git
synced 2024-11-27 06:32:27 +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 ) ) {
|
||||
CacheDictionaryMedia( &mapEnt->epairs );
|
||||
const char *classname = mapEnt->epairs.GetString( "classname" );
|
||||
if ( classname != '\0' ) {
|
||||
const char *classname;
|
||||
if ( mapEnt->epairs.GetString( "classname", "", &classname ) ) {
|
||||
FindEntityDef( classname, false );
|
||||
}
|
||||
}
|
||||
|
@ -1626,8 +1626,9 @@ void idGameLocal::GetShakeSounds( const idDict *dict ) {
|
|||
const char *soundShaderName;
|
||||
idStr soundName;
|
||||
|
||||
soundShaderName = dict->GetString( "s_shader" );
|
||||
if ( soundShaderName != '\0' && dict->GetFloat( "s_shakes" ) != 0.0f ) {
|
||||
if ( dict->GetString( "s_shader", "", &soundShaderName )
|
||||
&& dict->GetFloat( "s_shakes" ) != 0.0f )
|
||||
{
|
||||
soundShader = declManager->FindSound( soundShaderName );
|
||||
|
||||
for ( int i = 0; i < soundShader->GetNumSounds(); i++ ) {
|
||||
|
|
|
@ -399,8 +399,6 @@ void idRenderModelLiquid::InitFromFile( const char *fileName ) {
|
|||
} else if ( !token.Icmp( "shader" ) ) {
|
||||
parser.ReadToken( &token );
|
||||
shader = declManager->FindMaterial( token );
|
||||
} else if ( !token.Icmp( "seed" ) ) {
|
||||
seed = parser.ParseInt();
|
||||
} else if ( !token.Icmp( "update_rate" ) ) {
|
||||
rate = parser.ParseFloat();
|
||||
if ( ( rate <= 0.0f ) || ( rate > 60.0f ) ) {
|
||||
|
|
|
@ -4285,7 +4285,7 @@ void CXYWnd::Paste()
|
|||
|
||||
int nLen = g_Clipboard.GetLength();
|
||||
char *pBuffer = new char[nLen + 1];
|
||||
memset(pBuffer, 0, sizeof(pBuffer));
|
||||
memset(pBuffer, 0, sizeof(*pBuffer) * (nLen + 1));
|
||||
g_Clipboard.Read(pBuffer, nLen);
|
||||
pBuffer[nLen] = '\0';
|
||||
Map_ImportBuffer(pBuffer, !(GetAsyncKeyState(VK_SHIFT) & 0x8000));
|
||||
|
|
|
@ -1565,10 +1565,6 @@ bool idCameraPosition::parseToken( const idStr &key, idParser *src ) {
|
|||
name = token;
|
||||
return true;
|
||||
}
|
||||
else if ( !key.Icmp( "time" ) ) {
|
||||
time = src->ParseInt();
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
src->Error( "unknown camera position key: %s", key.c_str() );
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue