diff --git a/Makefile.bundle.in b/Makefile.bundle.in index bb4b093140..794c6d7338 100644 --- a/Makefile.bundle.in +++ b/Makefile.bundle.in @@ -60,6 +60,9 @@ ifdef OSXAPP $(Q)cp "$(ROOT_DIR)/os/macosx/openttd.icns" "$(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/openttd.icns" $(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)/" diff --git a/Makefile.src.in b/Makefile.src.in index 0e42012bdb..2b268731d5 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 f5389ea55e..401bcc9484 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 @@ -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); + 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); + 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 */