This is a list of main features of S3_2-alpha4 relative to freeciv-3.1. General: ======== - Gtk4-client is now the default - Gtk3-client has been dropped - Concept of modpack metafiles added - Wrap setting is made separate from the topology setting - 'Threaded' AI module has been completely dropped. 'Tex' remains - "Clean Pollution" and "Clean Fallout" have been merged to one "Clean" action and activity - Actions have been split from game.ruleset to new actions.ruleset - Orders pre-defined to units are executed only after other other Turn Change activities, so they more closely resemble player doing those orders manually Non-ruleset rules: ================== - Revolen change speed is scaled to total number of players - After revolution has finished, and player can freely select new government, the actual government change now happens only at the next turn change - One does not end to war with someone they have never met, even for their ally - Longer city names supported - Score information contains "Units used" count Included rulesets: ================== - Opponent cities are not revealed just because they trade with one of your cities civ2civ3 -------- - Storm unit, randomly moving on Oceans, added - Reworked disaster frequency settings in the ruleset so that user has meaningful control over them with the "disasters" server setting classic ------- - Land units on Mountains get a vision bonus Multiplayer ----------- - Land units on Mountains get a vision bonus Sandbox: (CHECK full list) -------- - In general; rules demonstrating each new ruleset engine feature added - New policies - Higher production for higher pollution - Higher veteran levels for higher build costs civ1: ----- civ2: ----- - Freights get doubled trade revenue bonus alien: ------ - Replaced Grassland terrain by Savannah nations: -------- - New nations: - Alaskan - Dagestan - Donetsk - Luhansk - Tuvalu - Toki Ponan - Northern Irish - Louisianian - Minnesotan - Poyaisian - Conch Custom rulesets: ================ - Added "Counters" concept. Only city counters exist in freeciv-3.2 - Maximum number of ruleset items increase: - User unit class flags -> 25 - User unit type flags -> 50 - Extra types -> 250 - Tech types -> 400 - Unit types -> 300 - Multipliers -> 50 - Base "Max_Rates" effect is now mandatory - Wrap requirement is made separate from the topology requirement - Nuke radius is configurable by a new Nuke_Blast_Radius_1_sq effect - New improvement genus "Convert", used for things like Coinage - New CityStatus requirement types - "Starved" - "Disorder" / "Celebration" - "Transferred" - New achievement types - "Killer" - "Rich" - New actions - "Wipe Units" - "Bombard Lethal" - "Spy Escape" - "Transport Load" - "Teleport" - "Teleport Conquer" - "Teleport Enter" - "Teleport Enter Conquer" - "Teleport Frighten" - "Teleport Frighten Conquer" - "Collect Ransom" - New Small Wonder Visibility value "Embassy" - Unit_No_Lose_Pop can depend on - Specific action - Specific unit - It's possible to make attacks to destroy size 1 city - Unhardcoded NoAggressive distance with new no_aggr_near_city extra property - Fake generalized actions - Transport Load (3) - Transport Board (3) - Transport Embark (4) - Attack (2) - Suicide Attack (2) - Bombard Lethal (2) - Bombard (4) - New TerrainAlter requirement types "CanBase" and "CanPlace" - New CityTile requirement type "Worked" - New Unit type flag "RandomMovement" - New "Border_Strength_Pct" effect - New "Action_Resist_Pct" effect to make it possible for target properties to affect action success probability - min_tech_cost can now be defined independently from base_tech_cost - New "Output_Bonus_Absolute" effect - Support for Self-Provided Goods added - New requirement range "Tile", in many cases replacing "Local" - There can be "Tile" range building requirements for a city with the building in the tile - Resources can be given their relative frequencies on each terrain - New unit role "BarbarianBoatTech" - New latitude requirement types "MinLatitude" and "MaxLatitude" - 'alltemperate' and 'singlepole' obsoleted by latitude bounds - Player is now allowed to build units in a city that has its impr_req building even if player would be unable to build such a building - User effects can instruct the way AI should evaluate their worth - User is notified about new governments enabled by a building - Hardcoded limitation that cause "Hut" extras cannot appear on frozen terrains is gone - New "SharedTiles" clause type added - Units now have full requirement vector - New requirement type "OriginalOwner" (currently only for "City" range) - New "Tech_Parasite_Pct_Max" effect similar to "Tech_Parasite" but scaling to amount of players - "Upkeep_Factor" effect now supports Unit Type, and derived, requirements - Homeless units can have gold upkeep - "Trade_Revenue_Bonus" effect now considers unit type requirements - Diplrel requirement type snow supports values "Has team embassy" and "Hosts team embassy" - New ruleset setting "ubuilder_nationality" to tell if a pop-cost unit will always have nationality of its builder, or that of most citizens that went to building it - "Growth_Food" is split, so that when city shrinks, new "Shrink_Food" effect is used instead - New "Activity_Time" effect to override time activity would take by old less flexible rules - New waste effects that consider only what would otherwise be the surplus of the city - "Surplus_Waste_Pct" - "Surplus_Waste_Pct_By_Rel_Distance" - New "BuildingFlag" requirement type - Add user flags support for Buildings - Casus Belli now supported for successful Surgical Strike actions - Increased hard limit of city trade routes to 20 - New EnterBorders terrain flag type - Terrain clean times are now defined separately for each extra - Second alt (fallback) graphics tag support added for units - Second alt (fallback) graphics tag support added for removal activity icon - Second alt (fallback) graphics tag support added for buildings - Second alt (fallback) graphics tag support added for terrains - "Attack_Bonus" effect can now have requirements related to the unit instance (formerly only unit type level was considered) - Units that can always defend when transported, without leaving the transport - Resource identifiers are no longer mandatory. They are needed for backward compatibility only, e.g., for older savegames - All extras can now be resources, i.e., there's no longer separate maximum number of resources - Added support for extras that impose ZoC themselves (even if empty) - New "PlayerFlag" and "PlayerState" requirement types - New unit "FormAge" requirement type, counting age from latest Upgrade or Conversion - Alt terrain graphics tag is now optional - Support for second alternative sound tag for buildings added - Unit_Vision_Radius_Sq can now have unit granularity requirements - ui_name_road renamed as ui_name_build_road for consistency with other infra building actions - Unit age requirements are supported also on the client side - New effect type Impr_Upkeep_Reduction - "Settlers" flag is no longer mantadory for "Build Base" action enablers - Governments now have sound tags for sounds to play when switching to that government - Output_Penalty_Tile celebration rules unhardcoded, i.e., celebration no longer cancel the effect unless so defined - New "Site" requirement type. It's the same as "Building", except that it doesn't care about building obsoletion - Also FoW cities contain information about the original owner Custom scenarios: ================ - Support for scenario player autoselect (/autotake) added Lua scripting: -------------- - fcdb context improvements: - lua_io module is available - New "conn_established" signal - New auth.get_cmdlevel() and auth.set_cmdlevel() methods - Support for database capstr - Added "game_start" signal, and concept of game's dbid - New Player:lose() method - Directions now have a 'cardinal' property - Research information API added - 'unit_lost' signals reports loss because of lack of shield upkeep by reason 'upkeep' - Player:give_bulbs() can be targeted to a certain tech in multiresearch mode - Infrapoints API added: - Player:change_infrapoints() - Player:infrapoints() - Added City:transfer() method - Added effects.tile_bonus() method - Reworked version functions - Deprecated fc_version() - New name_version(), comparable_version(), and version_string() - New versions_compare() method - Added server.popup_image() method - Added Player:primary_capital() method - Added vision checking methods - Tile:known() - Tile:seen() - Unit:seen() - Added edit.unit_add_hitpoints() method - Added edit.unit_add_movepoints() method Server operation: ================= - New "ailevel" server setting - Admin can lock specific settings with new 'lock' and 'unlock' commands - New server setting to control number of cities in the Top Cities report - When authentication via sqlite database enabled, the database gets automatically created if it doesn't exist - New "luatimeout" server setting - /list server command can now list supported AI types - xml registry root node is now case insensitive Settings: --------- - Saving bzip2 compressed savegames is no longer possible - Zstd is now the default savegame compression method - New aitype setting AI: === - Reworked the way want to build space parts is calculated Clients: ======== - Experimental sdl3-client added - SDL3_mixer support added - New "silent_when_not_in_focus" client option - Support for city style specific citizen sprites added - Tile info tells latitude - Framework for user confirmation of risky actions - Support for activity specific main unit sprites - Audio tag "e_game_quit" renamed as "e_client_quit" - New "send_desired_settings" client option - Support using scaled up svg flags on diplodlg Qt is currently the only gui to implement this - New "followtag_override" client option - Improved how the default tileset and topology gets selected - New sound effect tags for client entering or leaving the game - Player infrapoints count can be changed in the editor mode - Client now has always correct information about edit mode Fog of War state gtk: ---- - Audio is paused when the client loses focus - Added "About Current Musicset" help menu entry - Provide longer version of the Wonders of the World report when "MERGED" messages and chat layout used qt: --- - Paradrop no longer shares menu entry and keyboard key with Clean Pollution - Provide longer version of the Wonders of the World report - Nations dialog panel options are saved - Added "About Current Musicset" help menu entry sdl2: ----- - Generic languages specific fonts support in themes - Initial screen resolution is adjusted by the base font size - Font size client option added - Theme has a new color definition for "No Contact" contact state Tools: ====== Ruledit: -------- - Standard comments are saved also for individual entries within sections - Adding and removing buildings supported in non-experimental builds too - Adding and removing techs supported in non-experimental builds too - effect definitions can contain a comment persistent over ruleset load/save cycles Modpack Installers: ------------------- - Multiple files_? sections supported, each with their own baseURL Manual Generator: ----------------- - Unit Classes page added Art === - Extra specific removal action icon supported for Pillage - Musicspec now supports name, version, summary and description fields - sdl2 theme icon "unkeep_coin" renamed as "upkeep_coin" - Amplio2 and derived tilesets have volcano terrain sprites - Supplied tilesets except Alio have Nets extra sprites - Added tags for all amplio2 and trident extra units - Trident and hex2t tilesets have Highway extra sprites - stdsounds soundet additions: - Sound for switching government added cimpletoon: ----------- - Added Storm unit graphics Build & Portability: ==================== - Meson based build is no longer considered experimental - For Cygwin, it's clearly the recommended build system - Official Windows Installers are built with meson - SDL_mixer version 2.0.6 is now minimum requirement for audio support - Added support for cross-compiling installers from Windows from Linux using Meson - Meson based build now supports project definition files - Project definition files can define project homepage - Meson based build now supports emscripten builds - Msys2 snapshot now from 241102 - Portable (non installer) versions of Windows (msys2) builds made - Flatpaks can be built outside srcdir, and it's the recommended method - Flatpaks are now built with meson - New Qt Modpack Installer flatpak - Meson based build single boolean configure option 'ruledit' replaced by 'tools' array, and made build of also other tools configurable - Meson based build has an option to use specific python interpreter binary Other: ======