Mercurial > hg > openttd
changeset 2033:11a31e2e25bb draft
(svn r2542) -Add: [GPMI] Added GPMI (http://sourceforge.net/projects/libgpmi/)
support to OpenTTD in preperation of AIScripts (long term). It is OFF
by default. Add GPMI:=1 to Makefile.config to enable.
author | truelight <truelight@openttd.org> |
---|---|
date | Sun, 10 Jul 2005 14:57:43 +0000 |
parents | 7ba3fd3bf03a |
children | 601fea54c5ae |
files | Makefile debug.c debug.h makefiledir/Makefile.config_writer openttd.c |
diffstat | 5 files changed, 47 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile +++ b/Makefile @@ -386,6 +386,15 @@ CFLAGS += $(BASECFLAGS) +# See if we want to enable GPMI +ifdef GPMI +CFLAGS += -DGPMI +GPMI_STATIC_PATH = `gpmi-config --static` +LDFLAGS += -rdynamic `gpmi-config --libs` +# Static link paths into the game +LDFLAGS += $(GPMI_STATIC_PATH)/paths-static.o +endif + ifdef UNIX CDEFS += -DUNIX endif
--- a/debug.c +++ b/debug.c @@ -15,6 +15,9 @@ int _debug_spritecache_level; int _debug_oldloader_level; int _debug_pbs_level; +#ifdef GPMI +int _debug_gpmi_level; +#endif /* GPMI */ int _debug_npf_level; @@ -46,6 +49,9 @@ DEBUG_LEVEL(spritecache), DEBUG_LEVEL(oldloader), DEBUG_LEVEL(pbs), +#ifdef GPMI + DEBUG_LEVEL(gpmi), +#endif DEBUG_LEVEL(npf) }; #undef DEBUG_LEVEL @@ -120,3 +126,10 @@ return dbgstr; } + +#ifdef GPMI +void gpmi_debug_openttd(int level, char *s) +{ + DEBUG(gpmi, level)("[GPMI] %s", s); +} +#endif /* GPMI */
--- a/debug.h +++ b/debug.h @@ -15,6 +15,9 @@ extern int _debug_spritecache_level; extern int _debug_oldloader_level; extern int _debug_pbs_level; +#ifdef GPMI + extern int _debug_gpmi_level; +#endif /* GPMI */ extern int _debug_npf_level; #endif @@ -23,4 +26,8 @@ void SetDebugString(const char *s); const char *GetDebugString(void); +#ifdef GPMI +void gpmi_debug_openttd(int level, char *s); +#endif /* GPMI */ + #endif
--- a/makefiledir/Makefile.config_writer +++ b/makefiledir/Makefile.config_writer @@ -29,6 +29,7 @@ $(call CONFIG_LINE,SUPRESS_LANG_ERRORS:=$(SUPRESS_LANG_ERRORS)) $(call CONFIG_LINE,WITH_NETWORK:=$(WITH_NETWORK)) $(call CONFIG_LINE,DEDICATED:=$(DEDICATED)) + $(call CONFIG_LINE,GPMI:=$(GPMI)) $(call CONFIG_LINE,) $(call CONFIG_LINE,\# Disable asserts. Leave them on for easier bug finding)
--- a/openttd.c +++ b/openttd.c @@ -37,6 +37,11 @@ #include <stdarg.h> +#ifdef GPMI +#include <gpmi.h> +#include <gpmi/packages/paths.h> +#endif /* GPMI */ + void GenerateWorld(int mode, uint log_x, uint log_y); void CallLandscapeTick(void); void IncreaseDate(void); @@ -593,6 +598,18 @@ DeterminePaths(); CheckExternalFiles(); +#ifdef GPMI + /* Set the debug proc */ + gpmi_debug_proc = &gpmi_debug_openttd; + + /* Initialize GPMI */ + gpmi_init(); + + /* Add our paths so we can find our own packages */ + gpmi_path_append(&gpmi_path_modules, "gpmi/modules"); + gpmi_path_append(&gpmi_path_packages, "gpmi/packages"); +#endif /* GPMI */ + #ifdef UNIX // We must fork here, or we'll end up without some resources we need (like sockets) if (_dedicated_forks)