From fb45fb3dfffe59fb06a65e99c826e398f66d204a Mon Sep 17 00:00:00 2001 From: Aaron Griffith Date: Thu, 8 Sep 2011 07:34:35 -0400 Subject: [PATCH] added label metadata to rendermodes (no more ugly map labels) --- overviewer_core/googlemap.py | 11 +++++++++-- overviewer_core/src/rendermode-cave.c | 3 ++- overviewer_core/src/rendermode-lighting.c | 3 ++- overviewer_core/src/rendermode-mineral.c | 3 ++- overviewer_core/src/rendermode-night.c | 3 ++- overviewer_core/src/rendermode-normal.c | 3 ++- overviewer_core/src/rendermode-overlay.c | 3 ++- overviewer_core/src/rendermode-spawn.c | 3 ++- overviewer_core/src/rendermodes.c | 4 ++++ overviewer_core/src/rendermodes.h | 2 ++ 10 files changed, 29 insertions(+), 9 deletions(-) diff --git a/overviewer_core/googlemap.py b/overviewer_core/googlemap.py index 50ff422..b30fa05 100644 --- a/overviewer_core/googlemap.py +++ b/overviewer_core/googlemap.py @@ -23,7 +23,7 @@ from time import strftime, localtime import json import util -from c_overviewer import get_render_mode_inheritance +from c_overviewer import get_render_mode_inheritance, get_render_mode_info import overviewer_version """ @@ -130,8 +130,15 @@ class MapGen(object): #config = config.replace("{bg_color}", self.bg_color) + # helper function to get a label for the given rendermode + def get_render_mode_label(rendermode): + info = get_render_mode_info(rendermode) + if 'label' in info: + return info['label'] + return rendermode.capitalize() + # create generated map type data, from given quadtrees - maptypedata = map(lambda q: {'label' : q.rendermode.capitalize(), + maptypedata = map(lambda q: {'label' : get_render_mode_label(q.rendermode), 'path' : q.tiledir, 'bg_color': self.bg_color, 'overlay' : 'overlay' in get_render_mode_inheritance(q.rendermode), diff --git a/overviewer_core/src/rendermode-cave.c b/overviewer_core/src/rendermode-cave.c index 61469cd..5e3336c 100644 --- a/overviewer_core/src/rendermode-cave.c +++ b/overviewer_core/src/rendermode-cave.c @@ -316,7 +316,8 @@ const RenderModeOption rendermode_cave_options[] = { }; RenderModeInterface rendermode_cave = { - "cave", "render only caves", + "cave", "Cave", + "render only caves", rendermode_cave_options, &rendermode_lighting, sizeof(RenderModeCave), diff --git a/overviewer_core/src/rendermode-lighting.c b/overviewer_core/src/rendermode-lighting.c index 7fa6c24..1774e1a 100644 --- a/overviewer_core/src/rendermode-lighting.c +++ b/overviewer_core/src/rendermode-lighting.c @@ -356,7 +356,8 @@ const RenderModeOption rendermode_lighting_options[] = { }; RenderModeInterface rendermode_lighting = { - "lighting", "draw shadows from the lighting data", + "lighting", "Lighting", + "draw shadows from the lighting data", rendermode_lighting_options, &rendermode_normal, sizeof(RenderModeLighting), diff --git a/overviewer_core/src/rendermode-mineral.c b/overviewer_core/src/rendermode-mineral.c index e3887b9..858333b 100644 --- a/overviewer_core/src/rendermode-mineral.c +++ b/overviewer_core/src/rendermode-mineral.c @@ -154,7 +154,8 @@ const RenderModeOption rendermode_mineral_options[] = { }; RenderModeInterface rendermode_mineral = { - "mineral", "draws a colored overlay showing where ores are located", + "mineral", "Mineral", + "draws a colored overlay showing where ores are located", rendermode_mineral_options, &rendermode_overlay, sizeof(RenderModeMineral), diff --git a/overviewer_core/src/rendermode-night.c b/overviewer_core/src/rendermode-night.c index 32281a6..6e08aaf 100644 --- a/overviewer_core/src/rendermode-night.c +++ b/overviewer_core/src/rendermode-night.c @@ -66,7 +66,8 @@ rendermode_night_draw(void *data, RenderState *state, PyObject *src, PyObject *m } RenderModeInterface rendermode_night = { - "night", "like \"lighting\", except at night", + "night", "Night", + "like \"lighting\", except at night", NULL, &rendermode_lighting, sizeof(RenderModeNight), diff --git a/overviewer_core/src/rendermode-normal.c b/overviewer_core/src/rendermode-normal.c index 5c0ac4f..d85a298 100644 --- a/overviewer_core/src/rendermode-normal.c +++ b/overviewer_core/src/rendermode-normal.c @@ -299,7 +299,8 @@ const RenderModeOption rendermode_normal_options[] = { }; RenderModeInterface rendermode_normal = { - "normal", "nothing special, just render the blocks", + "normal", "Normal", + "nothing special, just render the blocks", rendermode_normal_options, NULL, sizeof(RenderModeNormal), diff --git a/overviewer_core/src/rendermode-overlay.c b/overviewer_core/src/rendermode-overlay.c index b909e33..17b760b 100644 --- a/overviewer_core/src/rendermode-overlay.c +++ b/overviewer_core/src/rendermode-overlay.c @@ -134,7 +134,8 @@ rendermode_overlay_draw(void *data, RenderState *state, PyObject *src, PyObject } RenderModeInterface rendermode_overlay = { - "overlay", "base rendermode for informational overlays", + "overlay", "Overlay", + "base rendermode for informational overlays", NULL, NULL, sizeof(RenderModeOverlay), diff --git a/overviewer_core/src/rendermode-spawn.c b/overviewer_core/src/rendermode-spawn.c index ffd478e..a5c0a27 100644 --- a/overviewer_core/src/rendermode-spawn.c +++ b/overviewer_core/src/rendermode-spawn.c @@ -114,7 +114,8 @@ rendermode_spawn_draw(void *data, RenderState *state, PyObject *src, PyObject *m } RenderModeInterface rendermode_spawn = { - "spawn", "draws a red overlay where monsters can spawn at night", + "spawn", "Spawn", + "draws a red overlay where monsters can spawn at night", NULL, &rendermode_overlay, sizeof(RenderModeSpawn), diff --git a/overviewer_core/src/rendermodes.c b/overviewer_core/src/rendermodes.c index 45ff887..ff7858d 100644 --- a/overviewer_core/src/rendermodes.c +++ b/overviewer_core/src/rendermodes.c @@ -312,6 +312,10 @@ PyObject *get_render_mode_info(PyObject *self, PyObject *args) { PyDict_SetItemString(info, "name", tmp); Py_DECREF(tmp); + tmp = PyString_FromString(render_modes[i]->label); + PyDict_SetItemString(info, "label", tmp); + Py_DECREF(tmp); + tmp = PyString_FromString(render_modes[i]->description); PyDict_SetItemString(info, "description", tmp); Py_DECREF(tmp); diff --git a/overviewer_core/src/rendermodes.h b/overviewer_core/src/rendermodes.h index a59fe0b..310bf0e 100644 --- a/overviewer_core/src/rendermodes.h +++ b/overviewer_core/src/rendermodes.h @@ -48,6 +48,8 @@ typedef struct _RenderModeInterface RenderModeInterface; struct _RenderModeInterface { /* the name of this mode */ const char *name; + /* the label to use in the map */ + const char *label; /* the short description of this render mode */ const char *description;