(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.
This commit is contained in:
truelight 2005-07-10 14:57:43 +00:00
parent b45eee3157
commit 3c9456dd45
5 changed files with 47 additions and 0 deletions

View File

@ -386,6 +386,15 @@ endif
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

13
debug.c
View File

@ -15,6 +15,9 @@ int _debug_net_level;
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 @@ typedef struct DebugLevel {
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 @@ const char *GetDebugString(void)
return dbgstr;
}
#ifdef GPMI
void gpmi_debug_openttd(int level, char *s)
{
DEBUG(gpmi, level)("[GPMI] %s", s);
}
#endif /* GPMI */

View File

@ -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 CDECL debug(const char *s, ...);
void SetDebugString(const char *s);
const char *GetDebugString(void);
#ifdef GPMI
void gpmi_debug_openttd(int level, char *s);
#endif /* GPMI */
#endif

View File

@ -29,6 +29,7 @@ $(MAKE_CONFIG):
$(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)

View File

@ -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 @@ int ttd_main(int argc, char* argv[])
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)