Skip to content

Commit

Permalink
Proofread COPYING, rewrite README for release.
Browse files Browse the repository at this point in the history
  • Loading branch information
DaloLorn committed Jan 29, 2022
1 parent ea67650 commit de5f1a0
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 39 deletions.
6 changes: 3 additions & 3 deletions COPYING
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
All Star Ruler 2 source code is licensed under the MIT open source license. Third party code contained in this repository is subject to their project's license.
All Star Ruler 2 and OpenSR source code is licensed under the MIT open-source license. Third-party code contained in this repository is subject to their respective projects' licenses.

Licenses for third party projects are contained in relevant source folders as LICENSE- files.
Licenses for third-party projects are contained in the relevant source folders as `LICENSE-*` files.

All contained art assets, images and 3d models are licensed under the Creative Commons CC-BY-NC 2.0 license as found at https://creativecommons.org/licenses/by-nc/2.0/legalcode.
All contained art assets, images and 3D models are licensed under the Creative Commons CC-BY-NC 2.0 license, as found at https://creativecommons.org/licenses/by-nc/2.0/legalcode.

=======

Expand Down
83 changes: 47 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,83 @@
# Star Ruler 2
Star Ruler 2 is a massive scale 4X/RTS set in space. Explore dozens, hundreds,
or even thousands of systems in a galaxy of your choosing, expand across its
# Open Star Ruler
Developed by Blind Mind Studios from 2011-2017 and first launched in March 2015,
Star Ruler 2 is a massive-scale 4X/RTS set in space. Explore dozens, hundreds,
or even thousands of systems in a galaxy (or galaxies) of your choosing, expand across their
planets, exploit the resources you find, and ultimately exterminate any who
stand in your way. The fate of your empire depends on your ability to master
the economy, field a military, influence galactic politics, and learn what you
can about the universe.

## What is this?
This repository contains the full source code needed to build Star Ruler 2.
Open Star Ruler is a community-led attempt to maintain and upgrade the original game
with as little impact as possible upon its compatibility with the commercially distributed
binaries from Steam and GOG.

Blind Mind Studios has been inactive for a few years now, so we decided to
open-source the game as a whole and allow anyone interested in how its engine works
to tinker with it.
## What is this?
This repository contains the source code and build automation for OpenSR's
fork of the Starflare engine, originally developed by Blind Mind Studios. It is used
solely to develop engine-side improvements to OpenSR.

## Building the Game
The Star Ruler 2.exe contained in the main folder is just a launcher. To run
the game you will need to build the binary for your platform from source.
The `Star Ruler 2.exe` contained in the main folder is just a launcher. To run
the game, you will need to build the binaries for your platform from source, and
insert them into your working copy of the OpenStarRuler-Data repository.

(Alternatively, if you're only interested in playing the game,
you can use the OpenSR Launchpad to install the game without building it yourself.)

### Building on Windows
You will need Visual Studio 2017 to build Star Ruler 2 on windows. Simply open the
visual studio solution in source/msvc/Star Ruler 2/, and build the "Star Ruler 2" project
in either Debug or Non-Steam Release configuration.
You will need Visual Studio 2017 to build Star Ruler 2 on Windows. Simply open the
Visual Studio solution in `source/msvc/Star Ruler 2/`, and build the `Star Ruler 2` project
in either the `Debug` or the `Non-Steam Release` configuration.

Please note that while the built exe ends up in the bin/win64/ directory, it expects to be
Please note that while the built executable ends up in the `bin/win64/` directory, it expects to be
started with its working directory set to the main directory (where the
launcher exe is). So when debugging from visual studio, make sure the 'Working
Directory' configuration property is set to ../../..
launcher and the `data`, `locales`, and `scripts` folders are). So when debugging from Visual Studio,
make sure the `Working Directory` configuration property is set to your working copy of OpenSR-Data.

### Building on Linux
The equivalent launcher on linux is StarRuler2.sh. To build the binary files on linux,
make sure your working directory is set to the main directory (the one with StarRuler2.sh in it),
then run `make -f source/linux/Makefile compile` to compile the binary.
To build the binary files on Linux,
make sure your working directory is set to the main directory (the root folder of this repository),
then run `make -f source/linux/Makefile compile` to compile the binaries.

Afterward, run the `StarRuler2.sh` shell script to start the game.

Several dependencies are required to build on linux, including libpng, zlib,
Several dependencies are required to build on Linux, including: libpng, zlib,
GLEW, GLU, freetype2, libvorbisfile, libvorbis, libogg, libopenal, libbz2,
libXRandR, and libcurl.


## Differences with Commercial Version
* The music is not part of the open source release of Star Ruler 2. The data/music/ directory from the commercial
release can be copied directly into the data/ directory of an open-source build. The music will be detected and played.
* All code for accessing the SteamWorks API has been removed. The game platform abstraction layer game\_platform.h has
* The game's soundtrack was never open-sourced, and the OpenSR team has not chosen any replacements.
The OpenSR Launchpad can install OpenSR as an upgrade on top of an existing commercial installation.
The commercial version's music will then automatically be detected and played.
* All code for accessing the SteamWorks API has been removed. The game platform abstraction layer `game_platform.h` has
been kept intact, so other mod-sharing platforms could potentially be integrated into the game.
* Code for the automatic game patcher that is part of the GOG.com release is part of the repository, but the functionality
is disabled, since it relies on delta updates and will not work with modified open source versions.
is disabled, since it relies on delta updates and does not work with OpenSR at this time.
* While the actual source code is probably still compatible with 32-bit platforms, project files and external dependencies for
32-bit builds are not included in this repository.
32-bit builds were not included in the source dump, nor have they been replicated by the OpenSR team at this time.

## FAQ
### Can I Play Multiplayer with Steam/GOG versions?
Yes. The base open source version is multiplayer-compatible with the commercial versions. If you make multiplayer-incompatible
changes to the open source version, please remember to change the MP\_VERSION identifier in scripts/definitions/version.as,
so things do not break from people with incompatible versions trying to join each other.
In theory (see #1). The original open-source dump by Blind Mind was stated to be multiplayer-compatible with the commercial versions.
However, in practice, there have occasionally been anomalies and unexplained crashes that may not have been fully resolved yet.

If you absolutely must make multiplayer-incompatible changes to the open source version,
please remember to change the `MP_VERSION` identifier in the `scripts/definitions/version.as` file
in the OpenStarRuler-Data repository, so things do not break from people with incompatible versions trying to join each other.
Be advised that multiplayer-incompatible changes to the Starflare engine are to be avoided whenever possible until further notice,
and that unless it is absolutely necessary, multiplayer-incompatible changes to the game data should be submitted to the OpenSR Modpack,
*not* OpenSR-Data. Pull requests not adhering to these criteria will be held under severe scrutiny and probably rejected.

### Does this have the Wake of the Heralds DLC Expansion?
Yes. The code has been modified to bypass all DLC checks and unlock it by default. The Wake of the Heralds content
is always available in the open-source version.
Yes. Blind Mind modified the code to bypass all DLC checks and unlock it by default. The Wake of the Heralds content
is always available in OpenSR.

### Is there a Community?
Most Star Ruler 2 community activity is centered around the [Steam Forums](https://steamcommunity.com/app/282590/discussions/)
(it is possible to post without owning the game on steam), and the [Discord Server for Rising Stars](https://discord.gg/9YyXgbh),
one of the largest SR2 mod projects.
(it is possible to post without owning the game on Steam, though Steam activity has dropped off considerably), and the [OpenSR Discord](https://discord.gg/sUJKJDc).

## Licensing
Star Ruler 2 source code is licensed as MIT, art assets are licensed as CC-BY-NC 2.0.
Star Ruler 2 and OpenSR source code are licensed as MIT, art assets are licensed as CC-BY-NC 2.0.

Some third party code is contained in this repository as dependencies. Licenses for those projects are contained in the appropriate source folders.
Some third-party code is contained in this repository as dependencies. Licenses for those projects are contained in the appropriate source folders.

See the COPYING file for more information.

0 comments on commit de5f1a0

Please sign in to comment.