Changeset - r3489:00300d2c428c
[Not reviewed]
master
0 3 0
peter1138 - 18 years ago 2006-04-09 18:25:31
peter1138@openttd.org
(svn r4340) Add force {FORCE} to the units system. This is currently unused.
3 files changed with 24 insertions and 3 deletions:
0 comments (0 inline, 0 general)
lang/english.txt
Show inline comments
 
@@ -334,6 +334,10 @@ STR_UNITS_VOLUME_LONG_IMPERIAL          
 
STR_UNITS_VOLUME_LONG_METRIC                                    :{COMMA} litre{P "" s}
 
STR_UNITS_VOLUME_LONG_SI                                        :{COMMA} m³
 

	
 
STR_UNITS_FORCE_IMPERIAL                                        :{COMMA}x10^3 lbf
 
STR_UNITS_FORCE_METRIC                                          :{COMMA} ton force
 
STR_UNITS_FORCE_SI                                              :{COMMA} kN
 

	
 
############ range for menu	starts
 
STR_0154_OPERATING_PROFIT_GRAPH                                 :Operating profit graph
 
STR_0155_INCOME_GRAPH                                           :Income graph
strgen/strgen.c
Show inline comments
 
@@ -450,6 +450,7 @@ static const CmdStruct _cmd_structs[] = 
 
	{"VOLUME_S",        EmitEscapedByte, 17, 1, 0},
 
	{"WEIGHT",          EmitEscapedByte, 18, 1, 0},
 
	{"WEIGHT_S",        EmitEscapedByte, 19, 1, 0},
 
	{"FORCE",           EmitEscapedByte, 20, 1, 0},
 

	
 
	{"P", EmitPlural, 0, 0, C_DONTCOUNT},					// plural specifier
 
	{"G", EmitGender, 0, 0, C_DONTCOUNT},					// gender specifier
strings.c
Show inline comments
 
@@ -495,26 +495,33 @@ typedef struct Units {
 
	int v_s;           ///< Shift for volume
 
	StringID s_volume; ///< Short string for volume
 
	StringID l_volume; ///< Long string for volume
 
	int f_m;           ///< Multiplier for force
 
	int f_s;           ///< Shift for force
 
	StringID force;    ///< String for force
 
} Units;
 

	
 
/* Unit conversions */
 
static const Units units[] = {
 
	{ // Imperial (Original)
 
	{ // Imperial (Original, mph, hp, metric ton, litre, metric ton force)
 
		  10,  4, STR_UNITS_VELOCITY_IMPERIAL,
 
		   1,  0, STR_UNITS_POWER_IMPERIAL,
 
		   1,  0, STR_UNITS_WEIGHT_SHORT_METRIC, STR_UNITS_WEIGHT_LONG_METRIC,
 
		1000,  0, STR_UNITS_VOLUME_SHORT_METRIC, STR_UNITS_VOLUME_LONG_METRIC,
 
		 835, 13, STR_UNITS_FORCE_METRIC,
 
	},
 
	{ // Metric
 
	{ // Metric (km/h, hp, metric ton, litre, metric ton force)
 
		   1,  0, STR_UNITS_VELOCITY_METRIC,
 
		   1,  0, STR_UNITS_POWER_METRIC,
 
		   1,  0, STR_UNITS_WEIGHT_SHORT_METRIC, STR_UNITS_WEIGHT_LONG_METRIC,
 
		1000,  0, STR_UNITS_VOLUME_SHORT_METRIC, STR_UNITS_VOLUME_LONG_METRIC,
 
		 835, 13, STR_UNITS_FORCE_METRIC,
 
	},
 
	{ // SI
 
	{ // SI (m/s, kilowatt, kilogram, cubic metres, kilonewton)
 
		 284, 10, STR_UNITS_VELOCITY_SI,
 
		 764, 10, STR_UNITS_POWER_SI,
 
		1000,  0, STR_UNITS_WEIGHT_SHORT_SI, STR_UNITS_WEIGHT_LONG_SI,
 
		   1,  0, STR_UNITS_VOLUME_SHORT_SI, STR_UNITS_VOLUME_LONG_SI,
 
		   1,  0, STR_UNITS_FORCE_SI,
 
	},
 
};
 

	
 
@@ -725,6 +732,15 @@ static char *FormatString(char *buff, co
 
				break;
 
			}
 

	
 
			case 20: { // {FORCE}
 
				int32 args[1];
 
				assert(_opt_ptr->units < lengthof(units));
 
				args[0] = GetInt32(&argv) * units[_opt_ptr->units].f_m >> units[_opt_ptr->units].f_s;
 
				buff = FormatString(buff, GetStringPtr(units[_opt_ptr->units].force), args, modifier >> 24);
 
				modifier = 0;
 
				break;
 
			}
 

	
 
			default:
 
				error("!invalid escape sequence in string");
 
			}
0 comments (0 inline, 0 general)