diff options
-rw-r--r-- | Makefile.bundle.in | 3 | ||||
-rw-r--r-- | Makefile.src.in | 5 | ||||
-rw-r--r-- | src/video/sdl_v.cpp | 26 |
3 files changed, 20 insertions, 14 deletions
diff --git a/Makefile.bundle.in b/Makefile.bundle.in index bb4b09314..794c6d733 100644 --- a/Makefile.bundle.in +++ b/Makefile.bundle.in @@ -61,6 +61,9 @@ ifdef OSXAPP $(Q)$(ROOT_DIR)/os/macosx/plistgen.sh "$(BUNDLE_DIR)/$(OSXAPP)" "$(REV)" $(Q)cp "$(ROOT_DIR)/os/macosx/splash.png" "$(DATA_DIR)" endif +ifeq ($(OS),UNIX) + $(Q)cp "$(ROOT_DIR)/media/openttd.32.bmp" "$(DATA_DIR)/" +endif $(Q)cp "$(BIN_DIR)/$(TTD)" "$(TTD_DIR)/" $(Q)cp "$(BIN_DIR)/ai/"compat_*.nut "$(AI_DIR)/" $(Q)cp "$(BIN_DIR)/data/"*.grf "$(DATA_DIR)/" diff --git a/Makefile.src.in b/Makefile.src.in index 0e42012bd..2b268731d 100644 --- a/Makefile.src.in +++ b/Makefile.src.in @@ -249,7 +249,10 @@ $(OBJS_RC): %.o: $(SRC_DIR)/%.rc $(FILE_DEP) $(Q)$(WINDRES) -o $@ -I `basename $<` $< $(BIN_DIR)/$(TTD): $(TTD) - $(Q)cp $< $@ + $(Q)cp $(TTD) $(BIN_DIR)/$(TTD) +ifeq ($(OS), UNIX) + $(Q)cp $(MEDIA_DIR)/openttd.32.bmp $(BIN_DIR)/data/ +endif $(TTD): $(OBJS) $(CONFIG_CACHE_LINKER) $(E) '$(STAGE) Linking $@' diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp index f5389ea55..401bcc948 100644 --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -22,6 +22,7 @@ #include "../progress.h" #include "../core/random_func.hpp" #include "../core/math_func.hpp" +#include "../fileio_func.h" #include "sdl_v.h" #include <SDL.h> @@ -203,10 +204,6 @@ static void GetAvailableVideoMode(uint *w, uint *h) *h = _resolutions[best].height; } -#ifndef ICON_DIR -#define ICON_DIR "media" -#endif - #ifdef WIN32 /* Let's redefine the LoadBMP macro with because we are dynamically * loading SDL and need to 'SDL_CALL' all functions */ @@ -226,15 +223,18 @@ static bool CreateMainSurface(uint w, uint h) if (bpp == 0) usererror("Can't use a blitter that blits 0 bpp for normal visuals"); - /* Give the application an icon */ - icon = SDL_CALL SDL_LoadBMP(ICON_DIR PATHSEP "openttd.32.bmp"); - if (icon != NULL) { - /* Get the colourkey, which will be magenta */ - uint32 rgbmap = SDL_CALL SDL_MapRGB(icon->format, 255, 0, 255); - - SDL_CALL SDL_SetColorKey(icon, SDL_SRCCOLORKEY, rgbmap); - SDL_CALL SDL_WM_SetIcon(icon, NULL); - SDL_CALL SDL_FreeSurface(icon); + char icon_path[MAX_PATH]; + if (FioFindFullPath(icon_path, lengthof(icon_path), BASESET_DIR, "openttd.32.bmp") != NULL) { + /* Give the application an icon */ + icon = SDL_CALL SDL_LoadBMP(icon_path); + if (icon != NULL) { + /* Get the colourkey, which will be magenta */ + uint32 rgbmap = SDL_CALL SDL_MapRGB(icon->format, 255, 0, 255); + + SDL_CALL SDL_SetColorKey(icon, SDL_SRCCOLORKEY, rgbmap); + SDL_CALL SDL_WM_SetIcon(icon, NULL); + SDL_CALL SDL_FreeSurface(icon); + } } /* DO NOT CHANGE TO HWSURFACE, IT DOES NOT WORK */ |