Technically, users only need to install the “C++ MFC for latest v143
build tools (x86 & x64)” component if they’re going to build the editor.
This commit tells users to install that component regardless of whether
or not they’re going to build the editor. This commit could have added
another step that said “install this component if you’re going to build
the editor”, but I thought that adding an additional step would make
things slightly harder for users with little benefit. After all, users
only need to install the MFC component once, and there’s a chance that
they’ll already have it installed.
Fixes#472.
Before this change was made, I had tried building Descent 3 on Windows
for the first time. The instructions for building Descent 3 on Windows
were unclear, inaccurate and they messed up my installation of Windows.
(See #332 for details).
I started working on this commit in order to prevent that situation from
happening again. I ended up revamping the entire build instructions
section.
The biggest change that I made was making it so that users only need to
look at the instructions for their own platforms. Before this change,
you had to look at the “Building” heading and read the sentence that was
directly beneath it. If you don’t do what that sentence says, then the
instructions won’t work. Unfortunately, the way that the instructions
were laid out drew the reader’s eye away from that sentence.
Specifically, the instructions would draw the reader’s attention towards
the subheading for their specific platform. This commit makes it so that
each platform-specific subsection contains everything that users of that
platform need to know.
Another change that I made has to do with Git. Previously, the
instructions said “Build steps below assume you have already cloned the
repository and entered it locally.” They never told users how to make
sure that Git is installed or how to create a clone of the repository.
They also didn’t tell Windows users that the clone of Descent3 should
not be entered until after VCPKG_ROOT has been set. In other words, if a
Windows user had followed the instructions exactly as they were written,
then they would have ended up with a clone of vcpkg inside of their
clone of Descent3 (not using submodules!). This commit adds explicit
instructions for installing Git and cloning Descent3. It also makes sure
that Descent3 is only cloned after all dependencies have been installed.
I also made a Visual Studio-related changes in this commit. Previously,
the instructions for Windows said “Requires Visual Studio 2022 and C++
Tools (cmake and vcpkg)”, but the instructions never told users how to
make sure that they had those things. This commit adds explicit
instructions for how to make sure that you have Visual Studio and the
required components installed.
Another change that this commit makes has to do with vcpkg. Before this
commit, the Windows build instructions had you manually set up vcpkg.
This was redundant because the instructions also had you install Visual
Studio 2022 with the “Desktop development with C++” workload. That
workload comes with vcpkg [1], so setting up vcpkg manually was
unnecessary. This commit removes the parts about installing vcpkg.
(Thanks to @Lgt2x for this idea [2].)
The commit also adds sentences to the ends of the platform-specific
build instructions that tell users where the built files get put. This
is technically redundant since the Usage instructions already tell users
where to find the built files. Even though those sentences are
redundant, I still included them because they make the instructions
easier to use.
This commit also makes a minor capitalization-related change.
Previously, the build instructions said “Building - MacOS”. The official
capitalization has been “macOS” since 2016 [3][4].
Another minor change that this commit makes has to do with the Ubuntu
and Fedora build instructions. This commit adds the sentence “Run these
commands:” to each of those sections. I only added that sentence in
order to make the Ubuntu and Fedora sections more consistent with the
Windows and macOS sections. The Windows and macOS sections use that
sentence as part of a numbered list.
[1]: <https://learn.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community?view=vs-2022#desktop-development-with-c>
[2]: <https://github.com/DescentDevelopers/Descent3/pull/413#discussion_r1624974614>
[3]: <https://www.businessinsider.com/wwdc-2016-os-x-becomes-macos-2016-6>
[4]: <https://www.apple.com/macos>
This type of console is enabled only with `-svgalib` and `-dedicated` options. Since there no svgalib direct support (which is pretty old and too specific to Linux tech), it's better completely remove this code for simplicity and reducing external dependencies.
Removed `-svgalib` option as unused now.
This commit revamps the usage instructions in order to accomplish two
goals:
1. Make the instructions easier to follow by turning them into a
numbered list.
2. Make sure that macOS and Linux users install all of the built
libraries for their platforms.
0b41a1b (CMake: expose BUILD_TESTNG option, rename LOGGER to
ENABLE_LOGGER, 2024-04-29) had originally introduced this change. It
looks like d132a1c (Merge pull request #251 from
winterheart/pstring-unittests, 2024-05-01) unintentionally removed this
change.
When the compilation instructions were first written [1], it made sense
to tell users to install the 32-bit version of libXext. At the time,
compiling Descent 3 on Linux required running a pre-compiled
hogUtils-i686 binary, and that binary depended on libXext.
As of 1765d07 (Remove now unused hogUtils-i686, 2024-04-21), the
hogUtils binary no longer exists, so there’s no need to install a 32-bit
version of libXext.
[1]: f929310 (Update README.md, 2024-04-20)
2d4d82d (Accurately find the linux artifacts (#80), 2024-04-19) made it
so that make no longer gets used as a part of the build process, but it
didn’t remove make from the list of build dependencies.
Before this change, the README included a Discord invite link using
CommonMark’s regular link syntax [1]. When a link’s text and destination
are the same, you can use an autolink [2] to avoid repeating yourself.
This change replaces the regular link with an autolink.
[1]: <https://spec.commonmark.org/0.31.2/#links>
[2]: <https://spec.commonmark.org/0.31.2/#autolinks>