summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newgrf_config.c17
-rw-r--r--newgrf_config.h1
-rw-r--r--newgrf_gui.c21
3 files changed, 20 insertions, 19 deletions
diff --git a/newgrf_config.c b/newgrf_config.c
index aecdf4055..ac7b60fd5 100644
--- a/newgrf_config.c
+++ b/newgrf_config.c
@@ -6,6 +6,7 @@
#include "macros.h"
#include "debug.h"
#include "variables.h"
+#include "string.h"
#include "saveload.h"
#include "md5.h"
#include "newgrf.h"
@@ -261,6 +262,22 @@ const GRFConfig *GetGRFConfig(uint32 grfid)
}
+/* Build a space separated list of parameters, and terminate */
+char *GRFBuildParamList(char *dst, const GRFConfig *c, const char *last)
+{
+ uint i;
+
+ /* Return an empty string if there are no parameters */
+ if (c->num_params == 0) return strecpy(dst, "", last);
+
+ for (i = 0; i < c->num_params; i++) {
+ if (i > 0) dst = strecpy(dst, " ", last);
+ dst += snprintf(dst, last - dst, "%d", c->param[i]);
+ }
+ return dst;
+}
+
+
static const SaveLoad _grfconfig_desc[] = {
SLE_STR(GRFConfig, filename, SLE_STR, 0x40),
SLE_VAR(GRFConfig, grfid, SLE_UINT32),
diff --git a/newgrf_config.h b/newgrf_config.h
index 870ace532..45d0e270d 100644
--- a/newgrf_config.h
+++ b/newgrf_config.h
@@ -40,6 +40,7 @@ void ClearGRFConfigList(GRFConfig *config);
void ResetGRFConfig(bool defaults);
bool IsGoodGRFConfigList(void);
bool FillGRFDetails(GRFConfig *config);
+char *GRFBuildParamList(char *dst, const GRFConfig *c, const char *last);
/* In newgrf_gui.c */
void ShowNewGRFSettings(bool editable, bool show_params, GRFConfig **config);
diff --git a/newgrf_gui.c b/newgrf_gui.c
index ae14401a9..c2e76a021 100644
--- a/newgrf_gui.c
+++ b/newgrf_gui.c
@@ -7,28 +7,11 @@
#include "gfx.h"
#include "gui.h"
#include "window.h"
-#include "strings.h"
#include "table/strings.h"
#include "table/sprites.h"
#include "newgrf_config.h"
-/* Build a space separated list of parameters, and terminate */
-static char *BuildParamList(char *dst, const GRFConfig *c, const char *last)
-{
- uint i;
-
- /* Return an empty string if there are no parameters */
- if (c->num_params == 0) return strecpy(dst, "", last);
-
- for (i = 0; i < c->num_params; i++) {
- if (i > 0) dst = strecpy(dst, " ", last);
- dst += snprintf(dst, last - dst, "%d", c->param[i]);
- }
- return dst;
-}
-
-
/** Parse an integerlist string and set each found value
* @param p the string to be parsed. Each element in the list is seperated by a
* comma or a space character
@@ -80,7 +63,7 @@ static void ShowNewGRFInfo(const GRFConfig *c, uint x, uint y, uint w, bool show
/* Show GRF parameter list */
if (show_params) {
if (c->num_params > 0) {
- BuildParamList(buff, c, lastof(buff));
+ GRFBuildParamList(buff, c, lastof(buff));
SetDParamStr(0, buff);
} else {
SetDParam(0, STR_01A9_NONE);
@@ -401,7 +384,7 @@ static void NewGRFWndProc(Window *w, WindowEvent *e)
char buff[512];
if (WP(w, newgrf_d).sel == NULL) break;
- BuildParamList(buff, WP(w, newgrf_d).sel, lastof(buff));
+ GRFBuildParamList(buff, WP(w, newgrf_d).sel, lastof(buff));
ShowQueryString(BindCString(buff), STR_NEWGRF_PARAMETER_QUERY, 63, 250, w->window_class, w->window_number, CS_ALPHANUMERAL);
break;
}