User:Geoff the Medio/ReleaseNotes

From FreeOrionWiki
Jump to: navigation, search

The following is most of the v0.3.15 release notes:

  • Added scriptable species definitions in species.txt. Species have names, icons, focus settings, evironmental preferences, food consumption and effects associated with them. Many data-table based meter modifications have been moved into species effects, including population and health dependence on planet environment level for a species.
  • Removed secondary focus setting, and removed the balanced focus option. Planets now have only a single focus selection, all of which much be specific and (hopefully) more interesting to play with and easier to create content for.
  • Made focus settings moddable as part of Species defintions. Available foci on a planet can depend on arbitrary conditions, which may make for interesting gameplay changes with advancing tech or situational changes during a game. Each species can have a distinct set of available foci as well.
  • Fixed issue with custom ship designs that would frequently crash the game when they were built.
  • Modified behaviour of design screen when modifying a design: the incomplete design's info is now shown in the encyclopedia panel whenever the design is modified or if the main panel is clicks. Clicking a part or hull once shows info about that part or hull, as before. The information about ship designs in the encyclopedia is also greatly expanded.
  • Added right-click popup menu command on the list of completed designs on the design screen: "Delete Design". This lets players remove designs from the list that appears on the production screen, and from the completed designs list itself on the design screen.
  • Added species property to planets and to ships, which is used when colonizing to determine the species of the new colony. Built colony ships get the species of the planet where they were built.
  • Added an indication of ships' species next to the design name of a ship on the fleets window, and planets' species in their population tooltip.
  • Modified colonization UI to require a *single* colony ship to be selected before showing the colonize button for colonizable planets. The colonize button now shows the initial (determined by the colony ship capacity) and target planet population (determined by the species to be colonizing) on the colonize button.
  • Added some Python library files in a zip in the main FreeOrion directory in the Win32 installer. This should fix issues with nonfunctional AI when Python hasn't been installed on a user's system.
  • Removed the homeworld special, and modified species to track all the planets which are their homeworld, which are set during universe generation. Multiple planets can be a homeworld for a species, which is helpful as there are presently only two species available.
  • Fixed (hopefully) some issues with directories-finding code on Linux.
  • Modified apperance of meter bars on the sidepanel, to support showing current value, change in current value, and target / max value, even if the target is less than the current value.
  • Added a food consumption meter type, which is shown on the planet panels on the sidepanel, next to health and population.
  • Planet population icons use their species icon, rather than a generic population icon.
  • Added a droplist to pick species during single or multiplayer game setup.
  • Replaced contents of empire_names.txt with various generic empire names, rather than the species names that were there, since species are now a separate concept from empires.
  • Modified how empires and players information are stored in and retreived from save files, to make it easier to get this information when loading games without needing to load the whole save file
  • Made loading games much less likely to crash the client or server. Any errors that occur will abort the load and (hopefully) show an error message, and likely return the player to the intro screen, rather than crash.
  • Fixed issue with saving or attempting to write to an unwritable log file, which could previously crash the client or server.
  • Added some logging of the time it takes to execute various initialization tasks, to help future performance tuing.
  • Added an "inherent" meter cause type, for a few default/basic meter levels that are set automatically to make the game mechanics, particularly for stealth, work better.
  • Reworked Meter concept. Now meters have just a single value, instead of a current a max as before. Some meters have associated meters that are used like a max or target value, but not all, which is useful because various uses of meters don't need a max or a target value.
  • Added new meter types for max and target meters, as these are now separate meters internally.
  • Modified the population growth mechanics to account for food allocation meter values and the possibility of larger population than target population.
  • Removed upper bounds on meter values. This may cause some UI problems if values are larger than can be shown in the available space, but we'll deal with this when it becomes a problem.
  • Modified tooltips to handle new paired (or unpaired) meters.
  • Changed clickable links in sitrep entries and encyclopedia entries to be always distinctly coloured rather than underlined when moused over.
  • Modified effect parsing for new meter system, and accordingly updated content files.
  • Moved various data table-based meter modifications into effects.
  • Modified parts palette on the design screen to not show buttons for classes of parts for which none exist.
  • Changed resource output calculation to use meter values, rather than a more complicated multiplication and scaling between meter value and planet population. The resource output can still depend on population by making the effect that sets the resource meter value depend on population. This makes understanding output and where it comes from simpler.
  • Tweaked colour of industry meters.
  • Added Dump functions to various gamestate objects, which can be used for debugging or logging.
  • Added numerous content scripting object properies and modified existing ones, including adding a string property type, and properties such as object name, species, building type name, planet focus, ship design id, fleet id of a ship, planet id of a building, system id for any object, final and next and previous system id for ships, and the number of ships in a fleet.
  • Added a SetSpecies effect and a Species condition.
  • Changed Homeworld condition to use new system of species having one or more homeworld objects, rather than working with a special. Homeworld condition can match any homeworld, or can take a list of species names whose homeworlds should be matched.
  • Modified FocusType condition to take a list of focus type names to match. Planets with those foci will be matched.
  • Modified BuildingType condition to takte a list of building type names.
  • Fixed some issues with CMake build system.
  • Wrapped some code in try-catch blocks to prevent some crashes when parsing stringtable entries.
  • Fixed issue where empires would lose visibility of starved planets, and never actually observe them being stared, so would perpetually think they were in the state they were immediatly before starving.
  • Disabled the message box that popped up to inform players they had won, as this was annoying, particularly when playing a game with no AIs, in which case a player would always win on the first or second turn.
  • Replaced ship health meters with structure and max structure, as health meters were changed to health and target health, and it doesn't make sense to have more structure (-al integrity) than the max, even though a planet could have (temporarily) more health than its long term stable health value.
  • Renamed some tooltip resource "production" strings to "output", to avoid confusion with the separate "production" concept in game.
  • Consolidated some stringtable entries related to meter tooltips, which now use standard meter name stringtable entries.
  • Modified victory sitreps by adding a text parameter that can be filled in with an entry in the stringtable by the client.
  • Added VarText support (in stringtable entries) for building types, specials, ship hulls and parts.
  • Fixed some meter value discrepancies between server and client.
  • Changed conditions and effects evaluation to use the initial value of a meter on a given turn, so that meter values can be repeatedly recalculated and not accumulate as a result.
  • Removed several resource output object properties from content scripting, since these are now redundant with the resource meter values.
  • Added new hull design backgrounds.
  • Removed unused ship icons.
  • Fixed some app bundle isues on MacOSX
  • Removed "previous" value from meters... which contained the value of the meter on the previous turn, as this wasn't being used anywhere.
  • Tweaked behaviour of code that sets default rendering settings dependent on graphics card GL version support, which is intended to reduce the number of crashes on older rendering hardware.
  • Tweaked behaviour of stealth threshold slider on galaxy map.
  • Fixed crash when clicking between FleetWnd and other windows and the map surface.
  • Added initial code to 3D combat system to support cached rendering of objects.
  • Improved simultaneous server/client combat timestep updating.
  • Fixed issue with server logging that was shutting down before all logging was complete. This should make server log files more useful after crashes.
  • Fixed a minor graphical glitch on the encyclpedia panel, where a border line wouldn't be rendered.
  • Fixed issue with autogenerated condition / effect descriptions that treated a "Value" in a SetMeter effect as a property of the source object, rather than the target object that is should be.
  • Various stringtable changes / updates, etc.