Feature #1211 ยป 0003-Drop-3D-stuff.patch
| client/Makefile.am | ||
|---|---|---|
|
$(top_builddir)/common/libfreeciv.la \
|
||
|
$(INTLLIBS) $(CLIENT_LIBS) $(CLIENTICON) \
|
||
|
$(TINYCTHR_LIBS) $(MAPIMG_WAND_LIBS) \
|
||
|
$(gui_3d_libs) \
|
||
|
$(gui_gtk3_22_libs)
|
||
|
endif
|
||
| ... | ... | |
|
$(top_builddir)/common/libfreeciv.la \
|
||
|
$(INTLLIBS) $(CLIENT_LIBS) $(CLIENTICON) \
|
||
|
$(TINYCTHR_LIBS) $(MAPIMG_WAND_LIBS) \
|
||
|
$(gui_3d_libs) \
|
||
|
$(gui_gtk4_libs)
|
||
|
endif
|
||
| ... | ... | |
|
$(top_builddir)/common/libfreeciv.la \
|
||
|
$(INTLLIBS) $(CLIENT_LIBS) $(CLIENTICON) \
|
||
|
$(TINYCTHR_LIBS) $(MAPIMG_WAND_LIBS) \
|
||
|
$(gui_3d_libs) \
|
||
|
$(gui_gtk5_libs)
|
||
|
endif
|
||
| client/gui-gtk-3.22/gui_main.c | ||
|---|---|---|
|
gui_properties.animations = FALSE;
|
||
|
gui_properties.views.isometric = TRUE;
|
||
|
gui_properties.views.overhead = TRUE;
|
||
|
#ifdef GTK3_3D_ENABLED
|
||
|
gui_properties.views.d3 = TRUE;
|
||
|
#else /* GTK3_3D_ENABLED */
|
||
|
gui_properties.views.d3 = FALSE;
|
||
|
#endif /* GTK3_3D_ENABLED */
|
||
|
}
|
||
| client/gui-gtk-4.0/gui_main.c | ||
|---|---|---|
|
gui_properties.animations = TRUE;
|
||
|
gui_properties.views.isometric = TRUE;
|
||
|
gui_properties.views.overhead = TRUE;
|
||
|
#ifdef GTK3_3D_ENABLED
|
||
|
gui_properties.views.d3 = TRUE;
|
||
|
#else /* GTK3_3D_ENABLED */
|
||
|
gui_properties.views.d3 = FALSE;
|
||
|
#endif /* GTK3_3D_ENABLED */
|
||
|
}
|
||
| client/gui-gtk-5.0/gui_main.c | ||
|---|---|---|
|
gui_properties.animations = TRUE;
|
||
|
gui_properties.views.isometric = TRUE;
|
||
|
gui_properties.views.overhead = TRUE;
|
||
|
#ifdef GTK3_3D_ENABLED
|
||
|
gui_properties.views.d3 = TRUE;
|
||
|
#else /* GTK3_3D_ENABLED */
|
||
|
gui_properties.views.d3 = FALSE;
|
||
|
#endif /* GTK3_3D_ENABLED */
|
||
|
}
|
||
| client/gui-qt/gui_main.cpp | ||
|---|---|---|
|
gui_properties.animations = FALSE;
|
||
|
gui_properties.views.isometric = TRUE;
|
||
|
gui_properties.views.overhead = TRUE;
|
||
|
gui_properties.views.d3 = FALSE;
|
||
|
}
|
||
| client/gui-sdl2/gui_main.c | ||
|---|---|---|
|
gui_properties.animations = FALSE;
|
||
|
gui_properties.views.isometric = TRUE;
|
||
|
gui_properties.views.overhead = TRUE;
|
||
|
gui_properties.views.d3 = FALSE;
|
||
|
}
|
||
| client/gui-sdl3/gui_main.c | ||
|---|---|---|
|
gui_properties.animations = FALSE;
|
||
|
gui_properties.views.isometric = TRUE;
|
||
|
gui_properties.views.overhead = TRUE;
|
||
|
gui_properties.views.d3 = FALSE;
|
||
|
}
|
||
| client/gui_properties.h | ||
|---|---|---|
|
struct {
|
||
|
bool isometric;
|
||
|
bool overhead;
|
||
|
bool d3;
|
||
|
} views;
|
||
|
};
|
||
| client/tilespec.c | ||
|---|---|---|
|
case TS_OVERHEAD:
|
||
|
vsup = gui_properties.views.overhead;
|
||
|
break;
|
||
|
case TS_3D:
|
||
|
vsup = gui_properties.views.d3;
|
||
|
break;
|
||
|
}
|
||
|
if (!vsup) {
|
||
| client/tilespec.h | ||
|---|---|---|
|
#define SPECENUM_VALUE0NAME N_("Overhead")
|
||
|
#define SPECENUM_VALUE1 TS_ISOMETRIC
|
||
|
#define SPECENUM_VALUE1NAME N_("Isometric")
|
||
|
#define SPECENUM_VALUE2 TS_3D
|
||
|
#define SPECENUM_VALUE2NAME N_("3D")
|
||
|
#include "specenum_gen.h"
|
||
|
#define SPECENUM_NAME fog_style
|
||
| configure.ac | ||
|---|---|---|
|
fi
|
||
|
done
|
||
|
AC_ARG_WITH([3d],
|
||
|
[AS_HELP_STRING([--with-3d], [build WIP 3D support to gtk3.22-client])],
|
||
|
[AC_DEFINE([GTK3_3D_ENABLED], [1], [3D support built to gtk3.22-client])
|
||
|
enable_3d=true])
|
||
|
gui_3d_libs=""
|
||
|
if test x$enable_3d = xtrue ; then
|
||
|
AC_CHECK_LIB([GL], [glBegin], [gui_3d_libs="-lGL"],
|
||
|
[AC_MSG_ERROR([libGL needed for 3D support not found])])
|
||
|
fi
|
||
|
AC_ARG_ENABLE([gitrev],
|
||
|
AS_HELP_STRING([--enable-gitrev], [get git revision to version information]),
|
||
|
[case "${enableval}" in
|
||
| ... | ... | |
|
AM_CONDITIONAL([SRV_LIB],
|
||
|
[test "x$server" = "xyes" || test "x$fcmanual" = "xyes" || test "x$ruledit" = "xyes" || test "x$fcruleup" = "xyes"])
|
||
|
AC_SUBST([gui_3d_libs])
|
||
|
AC_SUBST([gui_gtk3_22_cflags])
|
||
|
AC_SUBST([gui_gtk3_22_libs])
|
||
|
AC_SUBST([gui_gtk3_22_ldflags])
|
||
| data/3d.tilespec | ||
|---|---|---|
|
[tilespec]
|
||
|
; Format and options of this tilespec file:
|
||
|
options = "+Freeciv-tilespec-3.3-Devel-2024-Nov-16"
|
||
|
; A simple name for the tileset specified by this file:
|
||
|
name = "Trident"
|
||
|
priority = 5
|
||
|
; There`s no separate versioning in tilesets part of main freeciv distribution
|
||
|
;version = ""
|
||
|
; Summary and full description of the tileset.
|
||
|
summary = _("Basic small overhead tileset.")
|
||
|
;description = ""
|
||
|
; TODO: add more overall information fields on tiles,
|
||
|
; eg, authors, colors, etc.
|
||
|
; What is the primary ruleset this tileset is meant for.
|
||
|
;for_ruleset = ""
|
||
|
; Basic tile sizes:
|
||
|
normal_tile_width = 30
|
||
|
normal_tile_height = 30
|
||
|
small_tile_width = 15
|
||
|
small_tile_height = 20
|
||
|
; The height svg flags should be drawn to, if they are used
|
||
|
svg_height = 44
|
||
|
; Basic tile style.
|
||
|
type = "3D"
|
||
|
is_hex = FALSE
|
||
|
; Was old iso style
|
||
|
fog_style = "Darkness"
|
||
|
; Was darkness style "CardinalFull" (15 sprites)
|
||
|
darkness_style = "Corner"
|
||
|
; offset the flags by this amount when drawing units
|
||
|
unit_flag_offset_x = 0
|
||
|
unit_flag_offset_y = 0
|
||
|
city_flag_offset_x = 0
|
||
|
city_flag_offset_y = 0
|
||
|
; offset the city occupied sprite by this amount
|
||
|
occupied_offset_x = 0
|
||
|
occupied_offset_y = 0
|
||
|
; offset the units by this amount
|
||
|
unit_offset_x = 0
|
||
|
unit_offset_y = 0
|
||
|
; offset of the normal activity icons
|
||
|
activity_offset_x = 0
|
||
|
activity_offset_y = 0
|
||
|
; offset of the selected unit sprites
|
||
|
select_offset_x = 0
|
||
|
select_offset_y = 0
|
||
|
; offset of the unit stack size number sprites
|
||
|
stack_size_offset_x = 0
|
||
|
stack_size_offset_y = 0
|
||
|
; offset the cities by this amount
|
||
|
city_offset_x = 0
|
||
|
city_offset_y = 0
|
||
|
; offset the city size number by this amount
|
||
|
; This is relative to full sprite origin.
|
||
|
city_size_offset_x = 0
|
||
|
city_size_offset_y = 0
|
||
|
; offset the city bar text by this amount (from the city tile origin)
|
||
|
citybar_offset_y = 27
|
||
|
; offset the tile label text by this amount
|
||
|
tilelabel_offset_y = 10
|
||
|
; offset the upkeep icons by this amount from the top of the unit itself.
|
||
|
; The default is the normal tile height, which means that the upkeep icons
|
||
|
; appear below the unit icon if the unit icons are equal to tile height
|
||
|
; (typical in overhead tileset), or overlay lower part of the unit icon,
|
||
|
; if unit icon is higher than tiles (typical in iso tilesets)
|
||
|
;unit_upkeep_offset_y = 0
|
||
|
; Like unit_upkeep_offset_y, but to be used in case there`s only small
|
||
|
; space for the overall icon produced. Defaults to unit_upkeep_offset_y -
|
||
|
; not having alternative layout.
|
||
|
; Set it to overlay lower part of the unit icon instead of taking extra
|
||
|
; space below.
|
||
|
unit_upkeep_small_offset_y = 20
|
||
|
; For tilesets with oriented units, the directional sprite to use to
|
||
|
; represent a unit type rather than a specific unit from the map
|
||
|
; (e.g., in worklists, editor, and online help). Does not have to be a
|
||
|
; valid direction for the tileset.
|
||
|
;unit_default_orientation = "s"
|
||
|
; How long (number of refreshes) it takes to move from an animation
|
||
|
; frame to the next.
|
||
|
time_per_frame = 3
|
||
|
; The map is rendered in "layers", just like any decent image editor
|
||
|
; supports. The setting below allows to change the layer drawing order. The
|
||
|
; first layer in the list will be drawn below the others; the second on top
|
||
|
; of it, and so on. No layer can be omitted from the list, nor can new ones
|
||
|
; be added.
|
||
|
;layer_order =
|
||
|
; "Background", ; Background color (if enabled, the player color where there
|
||
|
; ; are units or cities). You probably want to leave this
|
||
|
; ; first.
|
||
|
; "Terrain1", ; The three terrain layers. See sections [layerN] below.
|
||
|
; "Darkness", ; Darkness (unseen tiles)
|
||
|
; "Terrain2",
|
||
|
; "Terrain3",
|
||
|
; "Water", ; All extras with "River" style.
|
||
|
; "Roads", ; All extras with style "RoadAllSeparate",
|
||
|
; ; "RoadParityCombined" or "RoadAllCombined".
|
||
|
; "Special1", ; 1st layer for extras with style "3Layers", "Single2" or
|
||
|
; ; "Single1".
|
||
|
; "Grid1", ; Grid layer for isometric tilesets.
|
||
|
; "City1", ; City and walls.
|
||
|
; "Special2", ; 2nd layer for extras with "3Layers" and "Single2" styles.
|
||
|
; "Fog", ; Fog of war (on tiles one knows but doesn`t see).
|
||
|
; "Unit", ; Units except the selected one(s).
|
||
|
; "Special3", ; 3rd layer for extras with "3Layers" style, and base flags.
|
||
|
; "City2", ; City size when the city bar is disabled.
|
||
|
; "Grid2", ; Second grid layer (overhead tilesets only).
|
||
|
; "Overlays", ; Tile output sprites.
|
||
|
; "TileLabel", ; Tile labels ("Scorched spot").
|
||
|
; "CityBar", ; The city bar with name, production, food, ...
|
||
|
; "FocusUnit", ; The focused unit(s).
|
||
|
; "Goto", ; Goto turn count and intermediate points, *not* goto lines.
|
||
|
; "WorkerTask", ; The unit task indicators ("G", "S", ...).
|
||
|
; "Editor", ; Editor stuff (selected tile and start points).
|
||
|
; "InfraWork" ; Icons for the extras being placed.
|
||
|
; This is special because it gets freed and reloaded as required:
|
||
|
main_intro_file = "misc/intro"
|
||
|
; Below, the graphics spec files; must be somewhere (anywhere) in
|
||
|
; the data path. Order may be important for color allocation on
|
||
|
; low-color systems, and if there are any duplicate tags (lattermost
|
||
|
; tag is used).
|
||
|
files =
|
||
|
"misc/overlays.spec",
|
||
|
"misc/citybar.spec",
|
||
|
"trident/tiles.spec",
|
||
|
"trident/earth.spec",
|
||
|
"misc/small.spec",
|
||
|
"misc/events.spec",
|
||
|
"misc/governments.spec",
|
||
|
"misc/specialists.spec",
|
||
|
"trident/units.spec",
|
||
|
"trident/select.spec",
|
||
|
"misc/flags.spec",
|
||
|
"misc/shields.spec",
|
||
|
"misc/cursors.spec",
|
||
|
"trident/grid.spec",
|
||
|
"trident/roads.spec",
|
||
|
"misc/buildings.spec",
|
||
|
"misc/space.spec",
|
||
|
"misc/techs.spec",
|
||
|
"misc/treaty.spec",
|
||
|
"misc/icons.spec",
|
||
|
"misc/editor.spec",
|
||
|
"trident/fog.spec",
|
||
|
"trident/cities.spec",
|
||
|
"trident/explosions.spec"
|
||
|
; Include color definitions
|
||
|
*include "misc/colors.tilespec"
|
||
|
; Terrain info - see README.graphics
|
||
|
[layer0]
|
||
|
match_types = "desert", "forest", "grassland", "hills", "jungle", "mountains", "water", "plains", "swamp", "tundra"
|
||
|
[layer1]
|
||
|
match_types = "water", "land"
|
||
|
[layer2]
|
||
|
match_types = "water", "arctic"
|
||
|
; Water graphics referenced by terrain.ruleset
|
||
|
;
|
||
|
[tile_coast]
|
||
|
tag = "coast"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "water"
|
||
|
layer0_match_with = "water"
|
||
|
layer0_sprite_type = "corner"
|
||
|
layer1_match_type = "water"
|
||
|
layer1_match_with = "water"
|
||
|
layer2_match_type = "water"
|
||
|
layer2_match_with = "water"
|
||
|
[tile_floor]
|
||
|
tag = "floor"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "water"
|
||
|
layer0_match_with = "water"
|
||
|
layer0_sprite_type = "corner"
|
||
|
layer1_match_type = "water"
|
||
|
layer1_match_with = "water"
|
||
|
layer2_match_type = "water"
|
||
|
layer2_match_with = "water"
|
||
|
[tile_lake]
|
||
|
tag = "lake"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "water"
|
||
|
layer0_match_with = "water"
|
||
|
layer0_sprite_type = "corner"
|
||
|
layer1_match_type = "water"
|
||
|
layer1_match_with = "water"
|
||
|
layer2_match_type = "water"
|
||
|
layer2_match_with = "water"
|
||
|
[tile_inaccessible]
|
||
|
tag = "inaccessible"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "water"
|
||
|
layer0_match_with = "water"
|
||
|
layer0_sprite_type = "corner"
|
||
|
layer1_match_type = "water"
|
||
|
layer1_match_with = "water"
|
||
|
layer2_match_type = "water"
|
||
|
layer2_match_with = "water"
|
||
|
; Land graphics referenced by terrain.ruleset
|
||
|
;
|
||
|
[tile_arctic]
|
||
|
tag = "arctic"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "tundra"
|
||
|
layer0_match_with = "tundra"
|
||
|
layer1_match_type = "water"
|
||
|
layer1_match_with = "water"
|
||
|
layer2_match_type = "arctic"
|
||
|
[tile_desert]
|
||
|
tag = "desert"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "desert"
|
||
|
layer0_match_with = "desert"
|
||
|
layer1_match_type = "land"
|
||
|
layer2_match_type = "water"
|
||
|
[tile_forest]
|
||
|
tag = "forest"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "forest"
|
||
|
layer0_match_with = "forest"
|
||
|
layer1_match_type = "land"
|
||
|
layer2_match_type = "water"
|
||
|
[tile_grassland]
|
||
|
tag = "grassland"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "grassland"
|
||
|
layer1_match_type = "land"
|
||
|
layer2_match_type = "water"
|
||
|
[tile_hills]
|
||
|
tag = "hills"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "hills"
|
||
|
layer0_match_with = "hills"
|
||
|
layer1_match_type = "land"
|
||
|
layer2_match_type = "water"
|
||
|
[tile_jungle]
|
||
|
tag = "jungle"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "jungle"
|
||
|
layer0_match_with = "jungle"
|
||
|
layer1_match_type = "land"
|
||
|
layer2_match_type = "water"
|
||
|
[tile_mountains]
|
||
|
tag = "mountains"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "mountains"
|
||
|
layer0_match_with = "mountains"
|
||
|
layer1_match_type = "land"
|
||
|
layer2_match_type = "water"
|
||
|
[tile_plains]
|
||
|
tag = "plains"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "plains"
|
||
|
layer0_match_with = "plains"
|
||
|
layer1_match_type = "land"
|
||
|
layer2_match_type = "water"
|
||
|
[tile_swamp]
|
||
|
tag = "swamp"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "swamp"
|
||
|
layer0_match_with = "swamp"
|
||
|
layer1_match_type = "land"
|
||
|
layer2_match_type = "water"
|
||
|
[tile_tundra]
|
||
|
tag = "tundra"
|
||
|
blend_layer = 0
|
||
|
num_layers = 3
|
||
|
layer0_match_type = "tundra"
|
||
|
layer0_match_with = "tundra"
|
||
|
layer1_match_type = "land"
|
||
|
layer2_match_type = "water"
|
||
|
[extras]
|
||
|
styles =
|
||
|
{ "name", "style"
|
||
|
"road.road", "RoadParityCombined"
|
||
|
"road.rail", "RoadParityCombined"
|
||
|
"road.maglev", "RoadParityCombined"
|
||
|
"road.river", "River"
|
||
|
"tx.irrigation", "Cardinals"
|
||
|
"tx.farmland", "Cardinals"
|
||
|
"tx.mine", "Single1"
|
||
|
"tx.oil_mine", "Single1"
|
||
|
"tx.oil_rig", "Single1"
|
||
|
"tx.pollution", "Single2"
|
||
|
"tx.fallout", "Single2"
|
||
|
"tx.village", "Single1"
|
||
|
"base.outpost", "3Layer"
|
||
|
"base.fortress", "3Layer"
|
||
|
"base.airstrip", "3Layer"
|
||
|
"base.airbase", "3Layer"
|
||
|
"base.buoy", "3Layer"
|
||
|
"extra.ruins", "3Layer"
|
||
|
"ts.gold", "Single1"
|
||
|
"ts.iron", "Single1"
|
||
|
"ts.tundra_game", "Single1"
|
||
|
"ts.furs", "Single1"
|
||
|
"ts.coal", "Single1"
|
||
|
"ts.fish", "Single1"
|
||
|
"ts.fruit", "Single1"
|
||
|
"ts.gems", "Single1"
|
||
|
"ts.buffalo", "Single1"
|
||
|
"ts.wheat", "Single1"
|
||
|
"ts.oasis", "Single1"
|
||
|
"ts.peat", "Single1"
|
||
|
"ts.pheasant", "Single1"
|
||
|
"ts.grassland_resources", "Single1"
|
||
|
"ts.arctic_ivory", "Single1"
|
||
|
"ts.silk", "Single1"
|
||
|
"ts.spice", "Single1"
|
||
|
"ts.whales", "Single1"
|
||
|
"ts.wine", "Single1"
|
||
|
"ts.oil", "Single1"
|
||
|
"ts.horses", "Single1"
|
||
|
"ts.seals", "Single1"
|
||
|
}
|
||