Skip to content

Commit 2c76575

Browse files
authored
Merge branch 'master' into Jibauni
2 parents 9c89e26 + f0298e3 commit 2c76575

File tree

294 files changed

+1339
-19684
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

294 files changed

+1339
-19684
lines changed

.github/workflows/cd.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- name: Install dependencies
2929
run: |
3030
sudo apt-get update
31-
sudo apt-get install -y --no-install-recommends libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libgles2-mesa-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev fuse
31+
sudo apt-get install -y --no-install-recommends libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libgles2-mesa-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev libfuse2
3232
- name: Setup sccache
3333
uses: ./.github/sccache
3434
- name: Adjust version strings

.github/workflows/cd_release.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Install dependencies
2323
run: |
2424
sudo apt-get update
25-
sudo apt-get install -y --no-install-recommends libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libgles2-mesa-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev fuse
25+
sudo apt-get install -y --no-install-recommends libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libgles2-mesa-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev libfuse2
2626
- name: Setup sccache
2727
uses: ./.github/sccache
2828
- uses: lukka/get-cmake@latest

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
- name: Install development dependencies
5757
run: |
5858
sudo apt-get update
59-
sudo apt-get install -y --no-install-recommends libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libgles2-mesa-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev libosmesa6 mesa-utils libglvnd-dev x11-utils
59+
sudo apt-get install -y --no-install-recommends libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libgles2-mesa-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev libosmesa6 mesa-utils libglvnd-dev x11-utils catch2
6060
- name: Disable VM sound card
6161
run: |
6262
sudo sh -c 'echo "pcm.!default { type plug slave.pcm \"null\" }" >> /etc/asound.conf'

CMakeLists.txt

+12-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ cmake_dependent_option(ES_CREATE_BUNDLE "Create a Bundle instead of an executabl
1414
# Support Debug and Release configurations.
1515
set(CMAKE_CONFIGURATION_TYPES "Debug" "Release" CACHE STRING "" FORCE)
1616

17-
# Use C++17 without any compiler specific extensions.
18-
set(CMAKE_CXX_STANDARD 17 CACHE STRING "")
17+
# Use C++20 without any compiler specific extensions.
18+
set(CMAKE_CXX_STANDARD 20 CACHE STRING "")
1919
set(CMAKE_CXX_STANDARD_REQUIRED ON)
2020
set(CMAKE_CXX_EXTENSIONS OFF)
2121
# Use LTO for Release builds only.
@@ -109,6 +109,16 @@ add_subdirectory(source)
109109
add_library(ExternalLibraries INTERFACE)
110110
target_link_libraries(EndlessSkyLib PUBLIC ExternalLibraries)
111111

112+
# Enable sanitizers on debug builds, depending on platform support.
113+
if(NOT WIN32)
114+
set(SANITIZER_OPTS "-g" "-fsanitize=address,undefined,pointer-compare,pointer-subtract,unreachable,builtin,integer-divide-by-zero,vla-bound,null,return,signed-integer-overflow,bounds,alignment,bool,enum,pointer-overflow")
115+
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
116+
list(APPEND SANITIZER_OPTS "-fno-omit-frame-pointer" "-fsanitize=leak,vptr")
117+
endif()
118+
endif()
119+
target_compile_options(EndlessSkyLib PUBLIC $<$<CONFIG:Debug>:${SANITIZER_OPTS}>)
120+
target_link_options(EndlessSkyLib PUBLIC $<$<CONFIG:Debug>:${SANITIZER_OPTS}>)
121+
112122
# The 'mingw32' lib needs to be linked first.
113123
if(MINGW)
114124
target_link_libraries(ExternalLibraries INTERFACE mingw32)

SConstruct

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Help(opts.GenerateHelpText(env))
6060
# $ CXXFLAGS=-msse3 scons
6161
# $ CXXFLAGS=-march=native scons
6262
# or modify the `flags` variable:
63-
flags = ["-std=c++17", "-Wall", "-pedantic-errors", "-Wold-style-cast", "-fno-rtti"]
63+
flags = ["-std=c++20", "-Wall", "-pedantic-errors", "-Wold-style-cast", "-fno-rtti"]
6464
if env["mode"] != "debug":
6565
flags += ["-Werror", "-O3", "-flto"]
6666
env.Append(LINKFLAGS = ["-O3", "-flto"])

copyright

+3
Original file line numberDiff line numberDiff line change
@@ -2769,12 +2769,15 @@ Comment: Derived from works by Michael Zahniser (under the same license).
27692769
Files:
27702770
images/_menu/haze-dark-nebula*
27712771
images/effect/incipias?flare/*
2772+
images/effect/horizon?grappler*
27722773
images/effect/plasma?exhaust*
27732774
images/effect/plasma?particle*
27742775
images/effect/stagnation?beam?impact*
27752776
images/effect/star?tail*
2777+
images/hardpoint/horizon?grappler*
27762778
images/hardpoint/stagnation?beam*
27772779
images/outfit/gas?class?shield*
2780+
images/outfit/horizon?grappler*
27782781
images/outfit/liquid?class?shield*
27792782
images/outfit/metallic?hydrogen?cell*
27802783
images/outfit/mh?*

data/_ui/tooltips.txt

+3
Original file line numberDiff line numberDiff line change
@@ -1303,6 +1303,9 @@ tip "Fleet: Gather around me"
13031303
`Command your fleet to gather around your flagship. If only some escorts are selected, only sends the command to those escorts. You can also command escorts to gather around another ship by right clicking on a friendly ship.`
13041304
`With <shift>, change the formation pattern in your fleet.`
13051305

1306+
tip "Fleet: Toggle hold fire"
1307+
`Command your fleet to stop firing except if they are given a specific target to shoot at afterwards. If only some escorts are selected, only sends the command to those escorts.`
1308+
13061309
tip "Fleet: Hold position"
13071310
`Command your fleet to hold its current position. If only some escorts are selected, only sends the command to those escorts. This command can also be sent by right clicking on empty space.`
13081311

data/gamerules.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ gamerules
2424
"universal ramscoop" true
2525

2626
# An attempt to spawn a person ship happens on average every this many frames.
27-
# DEFAULT: 36000 frames (ten minutes)
27+
# DEFAULT: 72000 frames (twenty minutes)
2828
# ALLOWABLE VALUES: any integer >= 1
29-
"person spawn period" 36000
29+
"person spawn period" 72000
3030

3131
# While an attempt to spawn a person ship is made on average every number of frames specified
3232
# above, a person ship may still not spawn. Each person ship has a "weight" associated with them

data/gegno/gegno I corroboration.txt

+17-2
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@ mission "Battle over Zydee"
249249
` However, a few moments later, the Scin suddenly start scurrying to their ships. Based on your experiences so far, you haven't gotten close enough to alarm them. They begin taking off one by one in a hurried fashion, but not toward you - the <ship>'s sensors suddenly begin picking up a large Gegno Vi fleet entering the system. It appears that this place is turning into a battlefield, and getting caught up in the middle of it is likely something you should avoid.`
250250
accept
251251
on enter "Kneirc"
252+
event "gegno: vi occupy zydee" 1 3
252253
fail
253254

254255
npc
@@ -313,6 +314,21 @@ mission "Battle over Zydee"
313314
"Coesite" 4
314315
"Halite" 6
315316

317+
# Zydee becomes occupied by the Vi even if the player doesn't find the above mission.
318+
mission "Vi Occupy Zydee"
319+
invisible
320+
landing
321+
to offer
322+
or
323+
has "Gegno Anticipation: offered"
324+
has "Gegno Apprehension: offered"
325+
not "event: gegno: vi occupy zydee"
326+
not "Gegno Genocide Defense: offered"
327+
to complete
328+
never
329+
on offer
330+
fail
331+
event "gegno: vi occupy zydee" 1 3
316332

317333
mission "Curious Civilians"
318334
invisible
@@ -420,7 +436,7 @@ mission "Gegno Suspicions"
420436
decline
421437

422438
on decline
423-
event "gegno: quarg talks" 11
439+
event "gegno: quarg talks" 8
424440

425441

426442
mission "Under the Nose"
@@ -548,7 +564,6 @@ mission "Return to Giaru Gegno"
548564
not "Gegno Genocide Defense: offered"
549565
on enter
550566
dialog `Upon departure from <origin>, you receive an incoming message. "Greetings, human <first> <last>. This message is from Adrauni. Return to <planet> at the first opportunity given to you."`
551-
accept
552567
on complete
553568
fail "Scin Surveillance"
554569
fail "Veering Vi A"

data/gegno/gegno events.txt

+22
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,28 @@ event "gegno: quarg talks"
2929
event "gegno: apprehension"
3030

3131

32+
event "gegno: vi occupy zydee"
33+
system "Vesvii"
34+
fleet "Scin Warfleet" 2700
35+
fleet "Vi Warfleet" 2400
36+
system "Kneirc"
37+
government "Gegno Vi"
38+
attributes "gegno" "vi"
39+
fleet "Small Vi" 1400
40+
fleet "Vi Warfleet" 3300
41+
fleet "Small Scin" 1900
42+
fleet "Scin Warfleet" 3000
43+
planet "Zydee"
44+
attributes "gegno" "vi" "moon"
45+
description `There is evidence that the nearby Gegno Scin have attempted to establish a presence on this barren moon in the form of several partially-constructed buildings and landing zones scattered about the surface. In recent times, however, the opposing Gegno Vi have fielded their own forces to take control of the system, and have begun a number of operations to convert existing infrastructure and set up posts of their own, claiming the moon in their name.`
46+
spaceport `The Vi have made makeshift landing zones and outposts, such as this one, for the group of warriors they've distributed across the moon. Although their numbers are no more than than that of a small village, those who are present have accomplished a considerable amount during their time on the surface while the fleets above defend them.`
47+
government "Gegno Vi"
48+
"required reputation" 1
49+
planet "Ghneoe"
50+
description `Ghneoe's orbital period is dominated by a very long dry season due to the binary stars at the system's center. However, during a short portion of the year, Ghneoe experiences an intense water cycle that results in a boom of greenery and wildlife activity, developing a short-lived but flourishing ecosystem. Much of the flora and fauna have adapted to such drastic shifts in climate, and return to a dormant state once the intense heat cycle returns.`
51+
description ` Unlike its moon, Ghneoe sees little to no colonization efforts from either the Gegno Vi or Scin, perhaps due to the abnormal weather cycles, continued system warfare, or a combination of both.`
52+
53+
3254
event "gegno: unified defense"
3355
government "Gegno Vi"
3456
"attitude toward"

0 commit comments

Comments
 (0)