Skip to content

Commit

Permalink
Merge branch 'master' into i18n-scienceDB
Browse files Browse the repository at this point in the history
  • Loading branch information
daid authored Apr 9, 2020
2 parents 1d4e869 + 5f4e19d commit 25f4acd
Show file tree
Hide file tree
Showing 90 changed files with 4,624 additions and 1,765 deletions.
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,55 @@
# Change Log

## [2020-04-09]

### Added

- Options menu settings to allow radar views on Helms, Weapons, and Science stations (and their derivative crew 3/4 stations) to rotate around the player ship, instead of the ship rotating within the radar view.
- Adjustable and customizable impulse engine sounds.
- Options menu settings for enabling impulse engine sounds across all stations, main screen only, or disabled, as well as setting its volume separate from master sound and music.
- `setImpulseSoundFile()` ship template function to set a custom engine sound.
- Default impulse sound moved from `resources/engine.wav` to `resources/sfx/engine.wav`.
- New engine sound for the MP52 Hornet.
- Power Management station keybindings, sharing Engineering's.
- `SpaceShip::setWarpSpeed()` scripting function to set a ship's speed per warp level.
- Optional control code for the Spectate station.
- Translation markers added to many more game features, including player stations and weapon names.
- Custom functions added to Ship Log screen.
- `autoconnect_address` option to specify a server to autoconnect to, instead of relying on server autodiscovery.
- Toggleable player ship capabilities in ship templates, scripting, and the GM tweak menu: scanning (`canScan()`), hacking (`canHack()`), docking (`canDock()`), combat maneuvering (`canCombatManeuver()`), self destruction (`canSelfDestruct()`), and probe launching (`canLaunchProbe()`)
- `set` and `getSelfDestructDamage` and `SelfDestructSize` scripting functions to modify player ship self-destruction explosion size and damage.
- Probe radar radius is now visible on the GM screen.
- Mission clock on Relay and GM screens counts up from 0 seconds at the start of each scenario. Ship's Log UI is now also synchronized to this clock for consistency.
- `SpaceObject::onDestroyed()` callback when an object is destroyed, even if not by damage.

### Changed

- Reducing coolant in a system distributes it automatically to other systems, even if they are all empty.
- Warp drive energy usage scales to system damage and power level.
- Options menu is paginated to accommodate additional options.
- Black holes do even more damage closer to their center; more objects sucked into a black hole should be destroyed by damage and trigger the appropriate callback.
- Borderline Fever scenario refactoring
- Added expedite dock function to Relay, added show player ship details on player console, added enemy behavior change option, reorganized GM buttons, GM buttons to display player ship details, take advantage of resizable asteroids by randomly resizing them, Added cartography office to relay for stations when docked, added possibility to revive repair crew, added possibility to recover lost coolant, handle rare nil case for angle of attack, reduce average size of warp jammer range
- Delta Quadrant Patrol Duty scenario refactoring
- Add status summary to relay screen, Localize variables, Take advantage of resizable asteroids through randomization, fix beam presence recognition code, Add goods randomization arrays, Add list of player ship names for Crucible and Maverick as well as set up code, fix check for warp drive presence on player ship, fix placement of station Research-19, Change station Maverick to Malthus, Switch to placing station data in comms_data structure, fix transport handling, Add cartography office, fix Kojak mission, remove old diagnostic code, simplify freighter cargo interaction, fix reference to global getLongRangeRadarRange (deprecated), add chance for repair crew to be revived
- Defender Hunter scenario refactoring
- Move constant definitions to their own function, Fix player ship beam determination code, Add goods randomization tables, move station placement function list creation to its own function, localize variables, move station data to comms_data structure, take advantage of resizable asteroids through randomization, add possibility of repair crew revival, add possibility of coolant recovery
- Escape scenario refactoring
- Update goods handling, switch to putting more data in comms_data structure for stations, add use case for another set of debris, make asteroids vary in size at random, add freighter communication options, add more junk yard dogs, add more harassing Exuari during repair journey, add Engineering messages when max repairable health reached

### Fixed

- Tutorial no longer crashes when started.
- Missile tube sizes and HVLI projectiles are properly replicated to clients.
- Warp/glitch shaders no longer affect paused games.
- Persistent scripting storage (ie. `ScriptStorage.get()`) is no longer wiped upon load in a new EE instance.
- Engineering station no longer sometimes crashes while loading.
- Fixed some situations that could cause crew screens to crash when selecting Main Screen controls on Linux builds.
- Ship's Log screen no longer overlaps some station selection controls.
- Destroyed player ships no longer persist and appear multiple times in the ship selection screen.
- Joystick event handling no longer results in crew stations persisting after a player exits them.
- When the window is resized, the rendered area no longer shifts out of the window's bounds when warp/jump/glitch effects occur.

## [2020-03-22]

### Added
Expand Down
11 changes: 10 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ set(SOURCES
src/screenComponents/missileTubeControls.cpp
src/screenComponents/selfDestructIndicator.cpp
src/screenComponents/viewport3d.cpp
src/screenComponents/viewportMainScreen.cpp
src/screenComponents/selfDestructEntry.cpp
src/screenComponents/dockingButton.cpp
src/screenComponents/shieldsEnableButton.cpp
Expand Down Expand Up @@ -176,6 +177,7 @@ set(SOURCES
src/screenComponents/lightsOut.cpp
src/screenComponents/miniGame.cpp
src/screenComponents/mineSweeper.cpp
src/screenComponents/impulseSound.cpp
src/gui/colorConfig.cpp
src/gui/hotkeyConfig.cpp
src/gui/joystickConfig.cpp
Expand Down Expand Up @@ -250,7 +252,7 @@ set(SOURCES
src/hardware/devices/philipsHueDevice.cpp
)
if(WIN32)
list(APPEND SOURCES EmptyEpsilon.rc)
list(APPEND SOURCES EmptyEpsilon.rc src/discord.cpp)
endif()

foreach(SP_SOURCE
Expand Down Expand Up @@ -419,6 +421,12 @@ if(WIN32)
include_directories(${DRMINGW_ROOT}/include/)
target_link_libraries(${EXECUTABLE_NAME} exchndl)
endif()
if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/discord/lib/x86/discord_game_sdk.dll.lib")
file(DOWNLOAD "https://dl-game-sdk.discordapp.net/latest/discord_game_sdk.zip" "${CMAKE_CURRENT_BINARY_DIR}/discord/game_sdk.zip" TIMEOUT 60 TLS_VERIFY ON)
execute_process(COMMAND ${CMAKE_COMMAND} -E tar -xf "${CMAKE_CURRENT_BINARY_DIR}/discord/game_sdk.zip" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/discord")
endif()
target_link_libraries(${EXECUTABLE_NAME} "${CMAKE_CURRENT_BINARY_DIR}/discord/lib/x86/discord_game_sdk.dll.lib")
target_include_directories(${EXECUTABLE_NAME} PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/discord/c/")
elseif(ANDROID)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--whole-archive ${SFML_INSTALL_PATH}/lib/${ANDROID_ABI}/libsfml-main.a -Wl,--no-whole-archive")
target_link_libraries(${EXECUTABLE_NAME} log android EGL)
Expand Down Expand Up @@ -455,6 +463,7 @@ if(WIN32)
install(FILES ${DRMINGW_ROOT}/bin/symsrv.dll DESTINATION .)
install(FILES ${DRMINGW_ROOT}/bin/symsrv.yes DESTINATION .)
endif()
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/discord/lib/x86/discord_game_sdk.dll" DESTINATION .)

install(DIRECTORY resources DESTINATION .)
install(DIRECTORY scripts DESTINATION .)
Expand Down
75 changes: 75 additions & 0 deletions icon-captain.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions icons-font.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
The icons-font contains some of the ingame icons in a font format. This gives a nice vector rendering, allowing to render at any scale.

Characters are:
* a: Dock
* b: Energy
* c: Heading
* d: Target lock
* e: Overheating
* f: Armor (unused)
* g: Speed
* h: Engineering (alternative, not used)
* i: Helms (alternative, not used)
* j: Relay
* k: Science
* l: Weapons
* m: EMP
* n: Homing missile
* o: Mine
* p: Nuke
* q: Engineering
* r: Helms
* s: (unused)
* t: Engineering+ (unused)
* u: Tactical (unused)
* v: Operations (unused)
Binary file added icons-font.ttf
Binary file not shown.
File renamed without changes.
Binary file added resources/sfx/engine_fighter.wav
Binary file not shown.
11 changes: 11 additions & 0 deletions resources/sfx/source.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,14 @@ explosion from UFO: Alien Invason
Sounds (c) by Michel Baradari apollo-music.de
Licensed under CC BY 3.0 http://creativecommons.org/licenses/by/3.0/
Hosted on opengameart.org

===engine.wav===
Sound (c) Garrett "Oznogon" Guillotte
Released into the Public Domain

===engine_fighter.wav===
F-15 Avionics Sound Cockpit View
F-15 Eagle SFX sound library
Sound (c) SoundFX.studio
Licensed under CC BY-NC 3.0 https://creativecommons.org/licenses/by-nc/3.0/
Retrieved from https://freesound.org/s/456269/
Loading

0 comments on commit 25f4acd

Please sign in to comment.