Changeset - r22548:e350bbe3b5af
[Not reviewed]
master
0 4 0
frosch - 7 years ago 2017-02-26 19:40:32
frosch@openttd.org
(svn r27755) -Codechange: Move TAB_SIZE to strings_type.h and use it consistently.
4 files changed with 13 insertions and 9 deletions:
0 comments (0 inline, 0 general)
src/language.h
Show inline comments
 
@@ -16,13 +16,12 @@
 
#ifdef WITH_ICU_SORT
 
#include <unicode/coll.h>
 
#endif /* WITH_ICU_SORT */
 
#include "strings_type.h"
 

	
 
static const uint8 CASE_GENDER_LEN = 16; ///< The (maximum) length of a case/gender string.
 
static const uint8 MAX_NUM_GENDERS =  8; ///< Maximum number of supported genders.
 
static const uint8 MAX_NUM_CASES   = 16; ///< Maximum number of supported cases.
 

	
 
static const uint TAB_SIZE_BITS    = 11;                  ///< The number of bits used for the tab size.
 
static const uint TAB_SIZE         = 1 << TAB_SIZE_BITS;  ///< The number of values in a tab.
 
static const uint TAB_COUNT_BITS   = 5;                   ///< The number of bits used for the amount of tabs.
 
static const uint TAB_COUNT        = 1 << TAB_COUNT_BITS; ///< The amount of tabs.
 

	
src/newgrf_text.cpp
Show inline comments
 
@@ -36,7 +36,6 @@
 
#include "safeguards.h"
 

	
 
#define GRFTAB  28
 
#define TABSIZE 11
 

	
 
/**
 
 * Explains the newgrf shift bit positioning.
 
@@ -159,7 +158,7 @@ struct GRFTextEntry {
 

	
 

	
 
static uint _num_grf_texts = 0;
 
static GRFTextEntry _grf_text[(1 << TABSIZE) * 3];
 
static GRFTextEntry _grf_text[TAB_SIZE * 3];
 
static byte _currentLangID = GRFLX_ENGLISH;  ///< by default, english is used.
 

	
 
/**
 
@@ -696,7 +695,7 @@ StringID AddGRFString(uint32 grfid, uint
 

	
 
	grfmsg(3, "Added 0x%X: grfid %08X string 0x%X lang 0x%X string '%s'", id, grfid, stringid, newtext->langid, newtext->text);
 

	
 
	return (GRFTAB << TABSIZE) + id;
 
	return MakeStringID(GRFTAB, 0) + id; // Id reaches across multiple tabs
 
}
 

	
 
/**
 
@@ -706,7 +705,7 @@ StringID GetGRFStringID(uint32 grfid, ui
 
{
 
	for (uint id = 0; id < _num_grf_texts; id++) {
 
		if (_grf_text[id].grfid == grfid && _grf_text[id].stringid == stringid) {
 
			return (GRFTAB << TABSIZE) + id;
 
			return MakeStringID(GRFTAB, 0) + id; // Id reaches across multiple tabs
 
		}
 
	}
 

	
src/strings_func.h
Show inline comments
 
@@ -24,7 +24,7 @@
 
 */
 
static inline uint GetStringTab(StringID str)
 
{
 
	return GB(str, 11, 5);
 
	return GB(str, TAB_SIZE_BITS, 5);
 
}
 

	
 
/**
 
@@ -34,7 +34,7 @@ static inline uint GetStringTab(StringID
 
 */
 
static inline uint GetStringIndex(StringID str)
 
{
 
	return GB(str, 0, 11);
 
	return GB(str, 0, TAB_SIZE_BITS);
 
}
 

	
 
/**
 
@@ -45,7 +45,8 @@ static inline uint GetStringIndex(String
 
 */
 
static inline StringID MakeStringID(uint tab, uint index)
 
{
 
	return tab << 11 | index;
 
	assert(index < TAB_SIZE);
 
	return tab << TAB_SIZE_BITS | index;
 
}
 

	
 
class StringParameters {
src/strings_type.h
Show inline comments
 
@@ -26,6 +26,11 @@ enum TextDirection {
 
	TD_RTL, ///< Text is written right-to-left by default
 
};
 

	
 
/** Number of bits for the StringIndex within a StringTab */
 
static const uint TAB_SIZE_BITS       = 11;
 
/** Number of strings per StringTab */
 
static const uint TAB_SIZE            = 1 << TAB_SIZE_BITS;
 

	
 
/** Special string constants */
 
enum SpecialStrings {
 

	
0 comments (0 inline, 0 general)