Skip to content

Latest commit

 

History

History
661 lines (545 loc) · 24.7 KB

CHANGELOG.md

File metadata and controls

661 lines (545 loc) · 24.7 KB

Change Log

  • Nothing

Added

  • Deliver Ambassador Gremus scenario.
  • Scripts can CpuShip orders.

Changed

  • Clean up the GUI code.
  • SpaceObject:takeDamage allows setting the origin, frequency and system_target.

Fixed

  • Different approach to prevent the radar from capturing clicks. #498

Changed

  • Allow spawning explosions from scripts.

Fixed

  • Hang on start of tutorial with no tutorial selected.
  • Add DMX cues for system status. #506

Changed

  • Make lower sector naming more logical.
  • Reduced the amount of debug symbols in release builds.

Fixed

  • Custom buttons for single pilot ships.
  • Case of OpenAL32.dll filename to match what was generated by the openal-soft sources.

Added

  • Compiler optimization flags.
  • Attempt to make Philips Hue hardware work.
  • Script function to play sound files on the server.

Changed

  • Pacing for beam aiming practise.
  • Select selectable objects instead of targetable.
  • Blackhole text in regard to escaping with different types of engines.
  • Moved hardware devices to a separate directory.

Fixed

  • Rendering of far away planets. Now done in multiple passes.
  • Ship template was updating the wrong template. Fixes #494
  • Tutorial correctly states that hull is only repaired when docked. Fixes #495
  • Typos
  • Custom fuction being removed before getting called. Fixes #501
  • Missile Volley AI never firing. Fixes #500

Removed

  • GameMasterUI class. Issue #491

Added

  • Game Master slides to control combat speed.
  • Random object creation helper functions.
  • Joystick controls for single pilot screen.
  • Weapon hotkeys for tactical and single pilot screens.

Changed

  • Can set a description on each object based on scan state.
  • Darken screen when your ship is destroyed.

Fixed

  • (Possibly) Crash on the relay station when your ship is destroyed.
  • Main screen buttons properly reset state on target follow selection.
  • Spelling on Birth of the Atlantis scenario.
  • TOGGLE_AIM_LOCK will only work if button state is properly set.

Added

  • Number of hotkeys for the tactical, engineering+ and single pilot screens.
  • Hotkeys to navigate between the screens
  • Attempt to disable screen saving when netbooting
  • "Can be destroyed" flag for ship objects
  • 3D sprite for black hole
  • script function to set the number and maximum of probes

Changed

  • Adjusted the tutorial

Fixed

  • Typo in the tutorial
  • Communication dialogs not opening for second time on Game Master screens
  • Options.ini diffusion

Added

  • Tutorial menu
  • Default hotkeys
  • F1 shows the available hotkeys

Changed

  • Re-factored the all tutorial into individual stations

Fixed

  • Joystick bug that allowed the combat power to cool down while moving backwards

Added

  • 5U circle around players on the Game Master screen
  • Target drone for the quick basic scenario to practice firing missiles
  • setShieldFrequency function
  • getEnergy/setEnergy functions that take max_energy_level into consideration
  • CMake error if DRMINGW_ROOT is not set

Changed

  • Improved callback handling to prevent closures from being deleted while in use
  • Renamed shield system to shield generators
  • Timing of rescue ship in Beacon of Light scenario

Fixed

  • Operations screen not being able to select things
  • Set RESOURCE__BASE__DIR to fix missing resource directory when compling on FreeBSD
  • Null pointer exception in getSystemHealth

Added

  • Operations tutorial (disabled)
  • Option to loop tutorials from the command line
  • Reset button when the tutorial is looping
  • variant of the basic scenario that waits for the game master to start it so crews can get used to the interface
  • Fully scanned ships now show frequencies and subsystem status in the science screen sidebar pages
  • Scanned targets subsystems are colored red when damaged
  • Ship control codes, which prevent a player from selecting a ship without the correct code
  • setControlCode(string control_code) to add a control code to a ship via script or template
  • Player page for the game master tweaks panel, to set control codes, see energy levels and manned stations
  • Show the effectiveness of the beam subsystem on the Engineering screen (effects the rotation speed)
  • Place/delete waypoints from the Operations screen
  • Sound volume can be set in the options
  • Help overlay and keyboard hotkey display
  • Basic build instructions
  • Relay can hack ship subsystems
  • Planets can orbit other objects
  • Scrolling banner of information for the cinematic screen
  • Show planets in the 3D world

Changed

  • Adjusted the nebula in the basic scenario
  • Avoid spawing asteroids on the player start position
  • Game master friendly spawned ships are already scanned when created
  • Expanded utils.lua (more documentation, setCirclePos and vectorFromAngle)
  • Avoid spawning black holes too close to stations in the basic scenario
  • Updated fighters and advanced gunships to the new template
  • Systems become degraded when low on power (< 10%)
  • Increased the height of the frequency graphs for better contrast
  • Radar signatures can be referenced in scripts
  • Game masters can change object callsigns and descriptions
  • Replaced the hotkey system with something better
  • Revised the options menu
  • Improved the cinematic screen

Fixed

  • Prevent bad use of faction friend/foe calls from crashing the game
  • Game crashed if the game master presses a button that is removed durring event handling
  • Calls for reinforcements were impeded
  • Science screen from overlapping or running off the bottom edge of the screen
  • Orders not showing on the game master screen
  • Text entry fields #373

Fixed

  • Fix issues preventing JC-88 from jumping in the Birth of Atlantis scenario
  • Initialize beam and turret arc values to fix crashes when drawing beam arcs on Odin dreadnoughts

Added

  • New scenarios
    • Quick Basic scenario (for quick setup and with a time limit)
    • The Birth of Atlantis scenario, with less combat and focused more on features
  • New ships and ship options
    • Jump Carrier ship template, capable of quickly carrying docked ships across extremely long distances
    • Maximum jump drive distance configurable per ship (setJumpDriveRange())
    • Beam turrets, an option to make beam weapons rotate within an arc (setBeamWeaponTurret())
    • Stations repair the hull of any docked ship
    • Flag to toggle whether ships and stations share energy with docked ships (setSharesEnergyWithDocked())
    • Option for player ships to have automatic coolant distribution (setAutoCoolant())
  • New sounds
    • Self-destruct sequence
    • Shields up/down
  • New Game Master screen features
    • Player ships' radar range indicators
    • Button to copy Lua script lines for selected objects to the clipboard
    • Option for the Game Master to intercept and respond to all player hails
    • Player ship selection on the game master screen
  • New Engineering(+) screen features
    • Show the effects of boosting subsystem power
    • Flashing overheating warning icon
  • New Science/Operations screen features
    • Target's hull information
  • New Tactical screen features
    • Combat manuever controls
  • New Relay/comms features
    • Ship's log overlay, which replaces the log screen
    • Colors for ship's log entries
  • New spectator views
    • Top-down 3D view UI to follow a player ship (press H to expose UI)
    • Cinematic view; fly-by camera that follows player ship, with optional target lock. Same keyboard controls as top-down 3D view
  • New main screen controls
    • Overlays can be displayed on the main screen
    • Target lock view, selectable if a player has a weapons station and main screen controls
    • Comms windows on main screen, selectable if a player has a comms station
  • Game log and log viewer features (/logs/index.html)
    • Show the probe radius
    • Zoom slider
    • More faction colors
    • File picker input
    • Log station factions to game state log
  • New scripting features
    • Scripts can move player crew positions (transferPlayersToShip(), transferPlayersAtPositionToShip()) and check if a station is occupied (hasPlayerAtPosition())
    • Scenario type identifiers
    • Scenario descriptions can span multiple lines
    • utils.lua function to create a grid of objects
  • Search list for Linux serial devices
  • On-screen keyboard for text communications on touchscreen devices

Changed

  • AI
    • AI ships refill missiles when docked at a station
    • AI takes advantage of non-standard jump drive ranges
  • Crew station interfaces
    • Alert overlay size reduced
    • Edges of warp jammers are more obvious
  • Weapons/Tactical station interfaces
    • Aim lock buttons moved
    • Weapon tube control width reduced
  • Relay station interface
    • Distant sector designations improved
    • Database view margins standardized
    • Change Relay's zoom control to a slider
  • Science/Operations station interface
    • Synchronize the Science/Operations screen's zoom slider behavior with the mouse wheel zoom
    • Adjust Science station layout to avoid overlaps
    • Adjust Science info sidebar's database lookup button size and position to avoid overlap
    • Move Operations screen communication buttons to avoid overlapping the radar
  • Engineering(+) station interface
    • Only show combat recharge modifier on Engineering screen's Maneuverability subsystem if the ship has combat maneuvers available
    • Engineering subsystem bars are more visible
    • Moved shield buttons on Engineering+ screen to avoid overlap
  • Ship selection screen interface
    • Show which crew stations are occupied by players
    • Show how many players occupy each ship
    • Changed Ship Window angle selection to a slider
    • Changed selectors with only two options into toggle buttons
    • Show server's long-range radar range in U instead of raw values
    • Reworded headings and buttons
  • Scripting
    • Moved callsigns and setCallSign() to spaceObject, allowing scripts to assign callsigns to any object
  • Game state logging (/logs/) and log viewer (/logs/index.html)
    • Draw non-ship objects as circles
    • Sector designations
    • Moved the scenario loading code out of the scenario selection screeen
    • Show ship and station factions
    • Reset coordinates when loading a log if they are not a number
    • Move game state logging from server creation to start of scenario
    • Scale objects with zoom
    • Cap mouse wheel changes to avoid breaking the zoom
  • Ships and ship options
    • Player ship hulls strengthened
    • Repair speeds increased slightly
  • Expand and restyle the HTTP API sandbox (/www/index.html)
  • Auto connect selects on filters rather than index

Fixed

  • Crew station interfaces
    • Missile tube state changes are more accurately reflected on the Weapons screen
    • Sector name rendering at edge of radar improved
    • Communications "OK" button doesn't overlap notification text
  • Expand slider ranges on Game Master screen's Tweak UI
  • Game state logging (/logs/) and log viewer (/logs/index.html)
    • Operations screen's communication buttons from appearing in the database view
    • Autoplay on game state log viewer
    • Game state logger performance
  • Resolve issues with the weapons phase of the tutorial
  • When exiting a scenario while using auto-connect, return to the auto-connect screen instead of ship selection
  • Setting on_value on hardware blink effects

Removed

  • Swear words from communication scripts
  • Text from red/yellow alert overlays

Added

  • New web folder content (/www/index.html)
    • HTTP API examples and sandbox
  • Game state logs (/logs/) and log viewer (/logs/index.html)
    • Basic log viewer using HTML and Javascript
  • Top-down 3D spectator view controls
    • Top-down controls for zooming (R and F) and panning (WASD)
    • Lock camera to player ships with L
    • Select player ships with J and K
    • GUI controls; visibility toggled with H
  • Game Master screen interface features
    • Button to copy Lua script lines for all objects to clipboard
    • Buttons to create an asteroid or supply
  • Single Pilot interface features
    • Combat manuever controls
  • Helms station interface features
    • Missile tube indicators for helm
  • Science station interface features
    • Raw scanner overlay on probe view
    • Button to open the Database view for the targeted ship
  • Weapons station interface features
    • Icon for HVLI ammo
  • Music features
    • Music playback on clients
    • Option to toggle music playback; defaults to play music only on Main Screen clients, with options to always or never play music
  • Faction communications for Ktlitans
  • AI ships include missile counts in status reports
  • Basic logging of model pack contents

Changed

  • Game Master screen
    • Ship Tweak UI elements standardized
    • Tweak UI's speed slider range expanded to 35
    • Missile storage capacity and amount converted to sliders
    • Warp and jump drive toggles converted to toggle buttons
  • Engineering station interface
    • New Engineering ship room background
    • Shields reduce more damage when overpowered
  • Ships and ship features
    • When a ship takes hull damage, damage only 1 random subsystem instead of 5
  • Helms/Tactical/Single Pilot station interface
    • Combat maneuver control is a two-dimensional rectangle instead of two sliders, allowing boosting and strafing at the same time
  • Weapons/Tactical station interface
    • Improved the weapons UI when the shield frequency feature is disabled
  • Replaced std::stoi calls with toInt() for consistency
  • Standardized Database screen margins and distance between elements
  • Ship and station communication scripts edited

Fixed

  • Window title is "EmptyEpsilon" on all platforms
  • Communications button usable on Single Pilot screen
  • Game state logging (/logs/)
    • Log information on stations
    • Game state log entry converted to Boolean
    • Small fixes to the game state logger
  • Correctly modify player ship in Edge of Space scenario
  • Fix system-to-shield connection on ships with more than 2 shields

Added

  • Station descriptions
  • Name of missile tube on the firing button
  • Show the "ship destroyed" dialog even if the game is paused
  • Game state logging (/logs/)
    • Log the game state to JSON during gameplay for post-game analytics
  • Ships and ship options
    • Flavia and Flavia Falcon light transport frigate, to replace the deprecated tug
    • Player variant of the Flavia (Flavia P.Falcon)
    • Starhammer II corvette ship template
    • Player variant of the Piranha frigate ship template
    • Defense platform ship template, to replace deprecated weapons platform
    • Ship templates to replace strikeship and advanaced striker
    • Beam weapon and engine emitter positions on some models
    • Extra set of 3d models for use as frigates
  • Headless server options
  • Allow tweaking weapon tube details and availability at load time
  • Allow game master to change a ship's callsign

Changed

  • Scenarios
    • Use new ship templates in scenarios
    • Use new power/coolant request functions in the tutorial
  • Crew station interfaces
    • Reduce alert overlay
  • Science Database content
    • Add faction descriptions to Science database
    • Moved descriptions in the database to the rightmost column
    • Add ship descriptions
  • Weapons/Tactical station interface
    • Label directional facing of weapons tubes
  • Relay station interface
    • Waypoints can be dragged to change their position
    • Limit number of waypoints to 9
  • AI
    • Prevent AI from firing missiles on scan probes
    • Improve AI missile behavior
  • Ships and ship options
    • Adjust model sizes
    • Adjust beam weapon ranges
    • Allow scripts to set the number of repair crews in a ship template
  • Use pngcrush to reduce file sizes

Fixed

  • Parts of the tutorial failing to appear
  • Docking hardware event
  • Iterating over the small_objects map doesn't modify it
  • Ready button's enabled state on ship selection screen
  • HVLI fires in correct direction
  • Nebula positioning

Added

  • Try to support uDMX hardware
  • Stalker sniper-type cruiser ship template
  • Direction to waypoints outside radar range on Helms screen
  • Waypoint color settings in colors.ini
  • Basic scenario Game Master improvements
    • Game Master functions to manually spawn enemy waves and random allies
    • Blank variant with no enemies and no victory condition
    • Game Master functions to manually award victory
  • Comments to scenario code
  • Freighter ship templates

Changed

  • Clicking outside of a target on the Weapons station unselects the current target
  • Reverse default order of weapon tube rows on Weapons/Tactical screens
  • Shield frequency configuration moved from Engineering station to Weapons
  • Power Management screen shows both the actual and requested levels of power and coolant for subsystems
  • Move the alert overlay behind controls
  • Docking is now defined by which classes are allowed to dock with a ship
  • Improved the feedback of the "Link to Science" button on Relay
  • Edit tutorial text

Removed

  • Custom ship template in the PvP scenario

Fixed

  • Friendly ship broadcasts
  • Adjust ship station selection button
  • hacked ships communications pointing to old script in Ghost from the Past scenario
  • missile AI only fires the tubes with a targeting solution
  • AI only tries to jump with the drive is charged
  • main screen controls
  • station selection overlap
  • broadcast to friendlies

Changed

  • Use generic distance unit (U) instead of kilometers/km
  • Waypoint rendering
  • Improve use of forward declarations
  • Use a different icon for weapons tubes that can launch only mines

Removed

  • gui2.h catch all header

Fixed

  • Science cannot select targets when probe view is active
  • Prevent multiple simultaneous communications to the same object
  • Fix a compile warning

Added

  • icon to show missle tube direction
  • corvette class ships disabled
  • player variant of the corvette class ship disabled
  • frigate variations disabled
  • abort the game on script errors in important files
  • ship templates can be copied
  • quick debug button to show all ship models in a single overview
  • all colors of the new models to the model_data
  • allow combat manuvering data to be set on active ships
  • added functions to remove game master function buttons
  • allow the amount of repair crew to be set per ship template and at runtime
  • functions to get the current radar range
  • draw the engine/tube/beam positions in the rotating model view when debugging
  • allow the beam weapon energy and heat to be set per beam
  • missile tubes have a direction

Changed

  • increase system power usage
  • power and coolant take time to change
  • append callsign when broadcasting
  • msgamedev model to point in the proper direction
  • slight improvement to the database view when there are lots of items
  • science database uses a tree structure
  • how the probe link is implemented in science
  • player cruiser and missile cruiser use the directional tubes
  • mines are fired in the direction of the tube
  • missile path projections are only shown when loaded
  • station selection from row of buttons to a drop down
  • transparent wormhole images
  • higher resolution blackhole image

Removed

  • custom ship templates from the Ghost from the Past scenario
  • obsolete functions

Fixed

  • crash when models are ot found
  • slight layout
  • database scroll bar overlapping with database entry
  • label in game master screen for laser damage
  • asking a friendlies status made it defend the player
  • do not drain energy from docked ship when energy is full
  • player spaceships and stations from being incorrectly reported as not used models
  • margin calculations
  • game master script buttons overlayed with ship orders

Added

  • allow the game master to close communications
  • allow safe destory of GuiElements
  • allow clipboard paste in text fields
  • function to shutdown the game
  • function to get what the game master has selected.
  • examples of how to use the addGMFunction
  • option to set margins on controls
  • function to change the scenario to a different one.
  • log to a file in windows
  • allow the user to specify the serial port for DMX with or without /dev/ on linux
  • server can register with the online master server
  • browsing for LAN and internet servers
  • server password
  • 4 new ship models
  • scan probe model
  • logging to show which model data deinitions are not used by ship templates
  • damage/power indicator for beam info
  • engineering column icons
  • show current frequency on the beam and shield curves in engineering

Changed

  • improve the dynamic layout of the ship selection screen for wide screens
  • improve the dynamic layout of the serer start screen using the new column auto layout
  • changed the default release log level to info
  • use a different icon for the warp and jump drives
  • server screen uses less magic numbers
  • return to the scenario selection instead of closing the server
  • improve science radar positions on wide screens
  • improve the layout of engineering controls
  • system icons updated

Fixed

  • unfocusElement which only worked for the top level element of the tree
  • possibly fixes keyboard related crashes
  • changes to server name were never applied
  • scroll bar look
  • touchscreen calibration
  • main screen first person view rotating like an idiot

Added

  • indication that chat has changed on game master chat dialogs that are minimized
  • image for the resize corner
  • include ship tweaks when exporting from the game master screen with F5
  • icons for Tactical and Single Pilot
  • option to tweak ships from the game master interface
  • indicators ticks for power and coolant
  • function to broadcast faction messages
  • AI ships inform when taking new orders
  • state to let the communication officer to know when the other side closed communication
  • option to abort docking
  • scan state for ships
  • icons for each support OS
  • joystick controls for 3/4 player tactical screens
  • allow for direct and hex value entry
  • per station settings for which weapons they supply

Changed

  • cursor blinks in text emptry field
  • constrain resizable dialogs to the window
  • game master can have multiple sessions
  • updated icons for stations
  • updated logo on the main menu
  • more realistic asteroid texture
  • new cursor design
  • resized button icons to fit better
  • round beam range on 100m intervals
  • game master screen now has multiple pages
  • broadcast function has three thresholds: allies, neutral, all
  • new shield, hull and self destruct icons
  • increased the sharpness of the skybox
  • updated the star field image
  • images for active/disabled/hovered buttons
  • images for regular/focused text inputs
  • updated colors
  • alpha transparency for UI elements

Fixed

  • text centering
  • shield icon using speed icon
  • inverted pause button
  • create button visible through the cancel button on game master screen
  • clicking outside the radar circle but inside its reactangle caused callbacks