mirror of https://github.com/OpenTTD/OpenTTD
(svn r22991) [1.1] -Backport from trunk:
- Fix: Old TTO/TTD savegames could get non-stop via orders upon savegame loading, even when those orders did not exist back then. This 'conversion' feature is something for TTDPatch and old OpenTTD savegames [FS#4716] (r22914) - Fix: The icon would (almost) never be shown for SDL builds [FS#4617] (r22910) - Fix: The name of the heightmap glitches in the 'play heightmap' window (r22902) - Fix: Locks would be incorrectly assembled (r22108)release/1.1
parent
526e7294a3
commit
4284b8abb3
|
@ -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)/"
|
||||
|
|
|
@ -248,7 +248,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 $@'
|
||||
|
|
|
@ -86,7 +86,6 @@ enum GenerateLandscapeWindowWidgets {
|
|||
GLAND_LANDSCAPE_PULLDOWN, ///< Dropdown 'Land generator'
|
||||
|
||||
GLAND_HEIGHTMAP_NAME_TEXT, ///< Heightmap name
|
||||
GLAND_HEIGHTMAP_NAME_SPACER, ///< Spacer used for aligning items in the second column nicely
|
||||
GLAND_HEIGHTMAP_SIZE_TEXT, ///< Size of heightmap
|
||||
GLAND_HEIGHTMAP_ROTATION_PULLDOWN, ///< Dropdown 'Heightmap rotation'
|
||||
|
||||
|
@ -249,45 +248,47 @@ static const NWidgetPart _nested_heightmap_load_widgets[] = {
|
|||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_ROTATION, STR_NULL), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
/* Widgets at the right of the labels. */
|
||||
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
|
||||
NWidget(WWT_EMPTY, COLOUR_ORANGE, GLAND_HEIGHTMAP_NAME_TEXT), SetFill(1, 0),
|
||||
/* Mapsize X * Y. */
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(0, 4, 0),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_MAPSIZE_X_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BY, STR_NULL), SetPadding(1, 0, 0, 0), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_EDITBOX, COLOUR_WHITE, GLAND_RANDOM_EDITBOX), SetDataTip(STR_MAPGEN_RANDOM_SEED_OSKTITLE, STR_MAPGEN_RANDOM_SEED_HELP), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_TREE_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_HEIGHTMAP_ROTATION_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VERTICAL), SetPIP(0, 4, 0),
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0),
|
||||
NWidget(WWT_EMPTY, COLOUR_ORANGE, GLAND_HEIGHTMAP_NAME_TEXT), SetFill(1, 0),
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(0, 5, 0),
|
||||
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, GLAND_HEIGHTMAP_NAME_SPACER), SetFill(1, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE_LABEL, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_LINE_HEIGHT, STR_NULL), SetFill(1, 1),
|
||||
/* Mapsize X * Y. */
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(0, 4, 0),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_MAPSIZE_X_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_BY, STR_NULL), SetPadding(1, 0, 0, 0), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_MAPSIZE_Y_PULLDOWN), SetDataTip(STR_JUST_INT, STR_NULL), SetFill(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_TOWN_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_INDUSTRY_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_EDITBOX, COLOUR_WHITE, GLAND_RANDOM_EDITBOX), SetDataTip(STR_MAPGEN_RANDOM_SEED_OSKTITLE, STR_MAPGEN_RANDOM_SEED_HELP), SetFill(1, 1),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_TREE_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, GLAND_HEIGHTMAP_ROTATION_PULLDOWN), SetDataTip(STR_JUST_STRING, STR_NULL), SetFill(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, GLAND_HEIGHTMAP_NAME_SPACER), SetFill(1, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE, GLAND_HEIGHTMAP_SIZE_TEXT), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE, STR_NULL), SetFill(1, 0),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_IMGBTN, COLOUR_ORANGE, GLAND_START_DATE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD), SetFill(0, 1),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, GLAND_START_DATE_TEXT), SetDataTip(STR_BLACK_DATE_LONG, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_IMGBTN, COLOUR_ORANGE, GLAND_START_DATE_UP), SetDataTip(SPR_ARROW_UP, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD), SetFill(0, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_IMGBTN, COLOUR_ORANGE, GLAND_SNOW_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_LINE_DOWN), SetFill(0, 1),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, GLAND_SNOW_LEVEL_TEXT), SetDataTip(STR_BLACK_INT, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_IMGBTN, COLOUR_ORANGE, GLAND_SNOW_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_LINE_UP), SetFill(0, 1),
|
||||
NWidget(NWID_VERTICAL), SetPIP(0, 4, 0),
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(0, 3, 0),
|
||||
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE_LABEL, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_DATE, STR_NULL), SetFill(1, 1),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE), SetDataTip(STR_MAPGEN_SNOW_LINE_HEIGHT, STR_NULL), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VERTICAL, NC_EQUALSIZE), SetPIP(0, 4, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_ORANGE, GLAND_HEIGHTMAP_SIZE_TEXT), SetDataTip(STR_MAPGEN_HEIGHTMAP_SIZE, STR_NULL), SetFill(1, 0),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_IMGBTN, COLOUR_ORANGE, GLAND_START_DATE_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD), SetFill(0, 1),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, GLAND_START_DATE_TEXT), SetDataTip(STR_BLACK_DATE_LONG, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_IMGBTN, COLOUR_ORANGE, GLAND_START_DATE_UP), SetDataTip(SPR_ARROW_UP, STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD), SetFill(0, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_IMGBTN, COLOUR_ORANGE, GLAND_SNOW_LEVEL_DOWN), SetDataTip(SPR_ARROW_DOWN, STR_MAPGEN_SNOW_LINE_DOWN), SetFill(0, 1),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, GLAND_SNOW_LEVEL_TEXT), SetDataTip(STR_BLACK_INT, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_IMGBTN, COLOUR_ORANGE, GLAND_SNOW_LEVEL_UP), SetDataTip(SPR_ARROW_UP, STR_MAPGEN_SNOW_LINE_UP), SetFill(0, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, GLAND_RANDOM_BUTTON), SetDataTip(STR_MAPGEN_RANDOM, STR_MAPGEN_RANDOM_HELP), SetFill(1, 0),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREEN, GLAND_GENERATE_BUTTON), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, GLAND_RANDOM_BUTTON), SetDataTip(STR_MAPGEN_RANDOM, STR_MAPGEN_RANDOM_HELP), SetFill(1, 0),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREEN, GLAND_GENERATE_BUTTON), SetDataTip(STR_MAPGEN_GENERATE, STR_NULL), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(0, 9), SetFill(1, 1),
|
||||
|
@ -531,7 +532,6 @@ struct GenerateLandscapeWindow : public QueryStringBaseWindow {
|
|||
*size = maxdim(GetStringBoundingBox(STR_MAPGEN_BORDER_RANDOM), maxdim(GetStringBoundingBox(STR_MAPGEN_BORDER_WATER), GetStringBoundingBox(STR_MAPGEN_BORDER_FREEFORM)));
|
||||
break;
|
||||
|
||||
case GLAND_HEIGHTMAP_NAME_SPACER:
|
||||
case GLAND_HEIGHTMAP_NAME_TEXT:
|
||||
size->width = 0;
|
||||
break;
|
||||
|
@ -552,12 +552,7 @@ struct GenerateLandscapeWindow : public QueryStringBaseWindow {
|
|||
{
|
||||
switch (widget) {
|
||||
case GLAND_HEIGHTMAP_NAME_TEXT: {
|
||||
/* Little bit of a hack going on here; just to get the widgets
|
||||
* spaced without doing much magic. The space we can draw on is
|
||||
* covered by both the spacer and text widgets, so take their
|
||||
* outer most boundaries (left and right) as draw locations. */
|
||||
const NWidgetBase *nwi_spacer = this->GetWidget<NWidgetBase>(GLAND_HEIGHTMAP_NAME_SPACER);
|
||||
DrawString(min(r.left, nwi_spacer->pos_x), max<int>(r.right, nwi_spacer->pos_x + nwi_spacer->current_x), r.top, this->name, TC_ORANGE);
|
||||
DrawString(r.left, r.right, r.top, this->name, TC_ORANGE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,12 +10,11 @@
|
|||
/** @file order_sl.cpp Code handling saving and loading of orders */
|
||||
|
||||
#include "../stdafx.h"
|
||||
#include "../order_base.h"
|
||||
#include "../order_backup.h"
|
||||
#include "../settings_type.h"
|
||||
#include "../network/network.h"
|
||||
|
||||
#include "saveload.h"
|
||||
#include "saveload_internal.h"
|
||||
|
||||
/**
|
||||
* Converts this order from an old savegame's version;
|
||||
|
@ -27,7 +26,7 @@ void Order::ConvertFromOldSavegame()
|
|||
this->flags = 0;
|
||||
|
||||
/* First handle non-stop - use value from savegame if possible, else use value from config file */
|
||||
if (_settings_client.gui.sg_new_nonstop || (IsSavegameVersionBefore(22) && _settings_client.gui.new_nonstop)) {
|
||||
if (_settings_client.gui.sg_new_nonstop || (IsSavegameVersionBefore(22) && _savegame_type != SGT_TTO && _savegame_type != SGT_TTD && _settings_client.gui.new_nonstop)) {
|
||||
/* OFB_NON_STOP */
|
||||
this->SetNonStopType((old_flags & 8) ? ONSF_NO_STOP_AT_ANY_STATION : ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);
|
||||
} else {
|
||||
|
|
|
@ -20,32 +20,34 @@ struct WaterDrawTileStruct {
|
|||
};
|
||||
|
||||
#define BEGIN(image) { 0, 0, 0, 0, 0, 0, image }
|
||||
#define END(y) { 0x80, y, 0, 0, 0, 0, 0 }
|
||||
|
||||
/** Constructor macro for a terminating WaterDrawTileStruct entry in an array */
|
||||
#define TILE_SEQ_END() { 0x80, 0, 0, 0, 0, 0, 0 }
|
||||
|
||||
static const WaterDrawTileStruct _shipdepot_display_seq_1[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 15, 0, 16, 1, 0x14, 0xFE8 | (1 << PALETTE_MODIFIER_COLOUR) },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _shipdepot_display_seq_2[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 16, 1, 0x14, 0xFEA },
|
||||
{ 0, 15, 0, 16, 1, 0x14, 0xFE6 | (1 << PALETTE_MODIFIER_COLOUR) },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _shipdepot_display_seq_3[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 15, 0, 0, 1, 0x10, 0x14, 0xFE9 | (1 << PALETTE_MODIFIER_COLOUR) },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _shipdepot_display_seq_4[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 1, 16, 0x14, 0xFEB },
|
||||
{ 15, 0, 0, 1, 16, 0x14, 0xFE7 | (1 << PALETTE_MODIFIER_COLOUR) },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct * const _shipdepot_display_seq[] = {
|
||||
|
@ -59,84 +61,84 @@ static const WaterDrawTileStruct _lock_display_seq_0[] = {
|
|||
BEGIN(1),
|
||||
{ 0, 0, 0, 0x10, 1, 0x14, 0 + 1 },
|
||||
{ 0, 0xF, 0, 0x10, 1, 0x14, 4 + 1 },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_1[] = {
|
||||
BEGIN(0),
|
||||
{ 0, 0, 0, 1, 0x10, 0x14, 0 },
|
||||
{ 0xF, 0, 0, 1, 0x10, 0x14, 4 },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_2[] = {
|
||||
BEGIN(2),
|
||||
{ 0, 0, 0, 0x10, 1, 0x14, 0 + 2 },
|
||||
{ 0, 0xF, 0, 0x10, 1, 0x14, 4 + 2 },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_3[] = {
|
||||
BEGIN(3),
|
||||
{ 0, 0, 0, 1, 0x10, 0x14, 0 + 3 },
|
||||
{ 0xF, 0, 0, 1, 0x10, 0x14, 4 + 3 },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_0b[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 0x10, 1, 0x14, 8 + 1 },
|
||||
{ 0, 0xF, 0, 0x10, 1, 0x14, 12 + 1 },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_1b[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 0x1, 0x10, 0x14, 8 },
|
||||
{ 0xF, 0, 0, 0x1, 0x10, 0x14, 12 },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_2b[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 0x10, 1, 0x14, 8 + 2 },
|
||||
{ 0, 0xF, 0, 0x10, 1, 0x14, 12 + 2 },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_3b[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 1, 0x10, 0x14, 8 + 3 },
|
||||
{ 0xF, 0, 0, 1, 0x10, 0x14, 12 + 3 },
|
||||
END(0)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_0t[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 0x10, 1, 0x14, 16 + 1 },
|
||||
{ 0, 0xF, 0, 0x10, 1, 0x14, 20 + 1 },
|
||||
END(8)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_1t[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 0x1, 0x10, 0x14, 16 },
|
||||
{ 0xF, 0, 0, 0x1, 0x10, 0x14, 20 },
|
||||
END(8)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_2t[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 0x10, 1, 0x14, 16 + 2 },
|
||||
{ 0, 0xF, 0, 0x10, 1, 0x14, 20 + 2 },
|
||||
END(8)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct _lock_display_seq_3t[] = {
|
||||
BEGIN(0xFDD),
|
||||
{ 0, 0, 0, 1, 0x10, 0x14, 16 + 3 },
|
||||
{ 0xF, 0, 0, 1, 0x10, 0x14, 20 + 3 },
|
||||
END(8)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const WaterDrawTileStruct * const _lock_display_seq[] = {
|
||||
|
@ -157,4 +159,4 @@ static const WaterDrawTileStruct * const _lock_display_seq[] = {
|
|||
};
|
||||
|
||||
#undef BEGIN
|
||||
#undef END
|
||||
#undef TILE_SEQ_END
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "../genworld.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);
|
||||
char icon_path[MAX_PATH];
|
||||
if (FioFindFullPath(icon_path, lengthof(icon_path), DATA_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 */
|
||||
|
|
|
@ -647,7 +647,8 @@ static void DrawWaterTileStruct(const TileInfo *ti, const WaterDrawTileStruct *w
|
|||
/** Draw a lock tile. */
|
||||
static void DrawWaterLock(const TileInfo *ti)
|
||||
{
|
||||
const WaterDrawTileStruct *wdts = _lock_display_seq[GetSection(ti->tile)];
|
||||
int section = GetSection(ti->tile);
|
||||
const WaterDrawTileStruct *wdts = _lock_display_seq[section];
|
||||
|
||||
/* Draw ground sprite. */
|
||||
SpriteID image = wdts++->image;
|
||||
|
@ -675,7 +676,8 @@ static void DrawWaterLock(const TileInfo *ti)
|
|||
if (base == 0) {
|
||||
/* If no custom graphics, use defaults. */
|
||||
base = SPR_LOCK_BASE;
|
||||
zoffs = ti->z > wdts[3].delta_y ? 24 : 0;
|
||||
uint8 z_threshold = section >= 8 ? 8 : 0;
|
||||
zoffs = ti->z > z_threshold ? 24 : 0;
|
||||
}
|
||||
|
||||
DrawWaterTileStruct(ti, wdts, base, zoffs, PAL_NONE, CF_LOCKS);
|
||||
|
|
Loading…
Reference in New Issue