File diff r15587:cbaa53b54547 → r15588:8aad267fa5ef
src/newgrf_config.cpp
Show inline comments
 
@@ -17,6 +17,7 @@
 
#include "network/network_func.h"
 
#include "gfx_func.h"
 
#include "newgrf_text.h"
 
#include "window_func.h"
 

	
 
#include "fileio_func.h"
 
#include "fios.h"
 
@@ -196,6 +197,35 @@ GRFParameterInfo::~GRFParameterInfo()
 
}
 

	
 
/**
 
 * Get the value of this user-changeable parameter from the given config.
 
 * @param config The GRFConfig to get the value from.
 
 * @return The value of this parameter.
 
 */
 
uint32 GRFParameterInfo::GetValue(struct GRFConfig *config) const
 
{
 
	/* GB doesn't work correctly with nbits == 32, so handle that case here. */
 
	if (this->num_bit == 32) return config->param[this->param_nr];
 
	return GB(config->param[this->param_nr], this->first_bit, this->num_bit);
 
}
 

	
 
/**
 
 * Set the value of this user-changeable parameter in the given config.
 
 * @param config The GRFConfig to set the value in.
 
 * @param value The new value.
 
 */
 
void GRFParameterInfo::SetValue(struct GRFConfig *config, uint32 value)
 
{
 
	/* SB doesn't work correctly with nbits == 32, so handle that case here. */
 
	if (this->num_bit == 32) {
 
		config->param[this->param_nr] = value;
 
	} else {
 
		SB(config->param[this->param_nr], this->first_bit, this->num_bit, value);
 
	}
 
	config->num_params = max<uint>(config->num_params, this->param_nr + 1);
 
	SetWindowClassesDirty(WC_GAME_OPTIONS); // Is always the newgrf window
 
}
 

	
 
/**
 
 * Update the palettes of the graphics from the config file.
 
 * This is needed because the config file gets read and parsed
 
 * before the palette is chosen (one can configure the base