Changeset - r17827:e2ae8a6fd081
[Not reviewed]
master
0 2 0
frosch - 13 years ago 2011-07-03 13:53:42
frosch@openttd.org
(svn r22628) -Codechange: Allow passing the textref stack values to use to StartTextRefStackUsage() instead of always using the temporary NewGRF registers.
2 files changed with 5 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/newgrf_text.cpp
Show inline comments
 
@@ -969,8 +969,9 @@ void RestoreTextRefStackBackup(struct Te
 
 * normal string parameters again.
 
 *
 
 * @param numEntries number of entries to copy from the registers
 
 * @param values values to copy onto the stack; if NULL the temporary NewGRF registers will be used instead
 
 */
 
void StartTextRefStackUsage(byte numEntries)
 
void StartTextRefStackUsage(byte numEntries, const uint32 *values)
 
{
 
	extern TemporaryStorageArray<int32, 0x110> _temp_store;
 

	
 
@@ -978,8 +979,9 @@ void StartTextRefStackUsage(byte numEntr
 

	
 
	byte *p = _newgrf_textrefstack->stack;
 
	for (uint i = 0; i < numEntries; i++) {
 
		uint32 value = values != NULL ? values[i] : _temp_store.GetValue(0x100 + i);
 
		for (uint j = 0; j < 32; j += 8) {
 
			*p = GB(_temp_store.GetValue(0x100 + i), j, 8);
 
			*p = GB(value, j, 8);
 
			p++;
 
		}
 
	}
src/newgrf_text.h
Show inline comments
 
@@ -34,7 +34,7 @@ void CleanUpGRFText(struct GRFText *grft
 

	
 
bool CheckGrfLangID(byte lang_id, byte grf_version);
 

	
 
void StartTextRefStackUsage(byte numEntries);
 
void StartTextRefStackUsage(byte numEntries, const uint32 *values = NULL);
 
void StopTextRefStackUsage();
 
void SwitchToNormalRefStack();
 
void SwitchToErrorRefStack();
0 comments (0 inline, 0 general)