core/logic/GameConfigs.cpp
changeset 4303 915476a973a5
parent 4254 614308e8e6c8
child 4313 ef638270abbf
     1.1 --- a/core/logic/GameConfigs.cpp	Sat Mar 29 14:14:00 2014 -0400
     1.2 +++ b/core/logic/GameConfigs.cpp	Sat Mar 29 14:22:53 2014 -0400
     1.3 @@ -559,7 +559,9 @@
     1.4  				smcore.LogError("[SM] Unrecognized library \"%s\" (gameconf \"%s\")", 
     1.5  					s_TempSig.library, 
     1.6  					m_CurFile);
     1.7 -			} else {
     1.8 +			}
     1.9 +			else if (s_TempSig.sig[0])
    1.10 +			{
    1.11  				if (s_TempSig.sig[0] == '@')
    1.12  				{
    1.13  #if defined PLATFORM_WINDOWS
    1.14 @@ -594,28 +596,28 @@
    1.15  					}
    1.16  #endif
    1.17  				}
    1.18 -				if (final_addr)
    1.19 +
    1.20 +				if (!final_addr)
    1.21  				{
    1.22 -					goto skip_find;
    1.23 -				}
    1.24 -				/* First, preprocess the signature */
    1.25 -				unsigned char real_sig[511];
    1.26 -				size_t real_bytes;
    1.27 -				size_t length;
    1.28 +					/* First, preprocess the signature */
    1.29 +					unsigned char real_sig[511];
    1.30 +					size_t real_bytes;
    1.31 +					size_t length;
    1.32  
    1.33 -				real_bytes = 0;
    1.34 -				length = strlen(s_TempSig.sig);
    1.35 +					real_bytes = 0;
    1.36 +					length = strlen(s_TempSig.sig);
    1.37  
    1.38 -				real_bytes = UTIL_DecodeHexString(real_sig, sizeof(real_sig), s_TempSig.sig);
    1.39 +					real_bytes = UTIL_DecodeHexString(real_sig, sizeof(real_sig), s_TempSig.sig);
    1.40  
    1.41 -				if (real_bytes >= 1)
    1.42 -				{
    1.43 -					final_addr = g_MemUtils.FindPattern(addrInBase, (char*)real_sig, real_bytes);
    1.44 +					if (real_bytes >= 1)
    1.45 +					{
    1.46 +						final_addr = g_MemUtils.FindPattern(addrInBase, (char*) real_sig, real_bytes);
    1.47 +					}
    1.48  				}
    1.49 +
    1.50 +				m_Sigs.replace(m_offset, final_addr);
    1.51  			}
    1.52  
    1.53 -skip_find:
    1.54 -			m_Sigs.replace(m_offset, final_addr);
    1.55  			m_ParseState = PSTATE_GAMEDEFS_SIGNATURES;
    1.56  
    1.57  			break;