[GIT Mirror] A portal decoder for NMS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tion a5c30bb9e0 Remove unneeded/leftover files from previous versions 4 months ago
doxy Official version bump to 0.7 4 months ago
images Remove unneeded/leftover files from previous versions 4 months ago
include Official version bump to 0.7 4 months ago
src Version bump to 0.7 4 months ago
test Merge changes from 0.7-prepolish. Mainly code cleanup 4 months ago
CMakeLists.txt Official version bump to 0.7 4 months ago
LICENSE Add v0.6 files 6 months ago
README.md Version bump to 0.7 4 months ago

README.md

qportals

A portal decoder for the game No Man’s Sky™. Converts portal addresses into coordinates and vice versa.

preview

Getting Started

Prerequisites

  • Qt5 + headers >= 5.6
    • Modules: Core, Gui, Widgets, Sql (sqlite3), Tests
  • C++11 compatible compiler, such as GCC or clang
  • CMake >= 3.7.2
  • Doxygen >= 1.8.8, for api documentation

Installing

cd qportals
mkdir build
cd build
cmake ..
make

As an example, if using ninja generator:

cmake -G Ninja ..
ninja

Other build options available:

# Build the GUI application. Default is ON.
WITH_GUI=ON|OFF

# Build the CLI application. Default is ON.
WITH_CLI=ON|OFF
# Build the unit tests. Default is OFF.
WITH_TESTS=ON|OFF
# Build api documentation with doxygen. Default is OFF.
WITH_DOCS=ON|OFF
# Debug: Build the application with some address sanitizer options enabled.
# Note: This option IS NOT meant to be used together with valgrind.
# Default is OFF.
WITH_ASAN=ON|OFF

Example of building the GUI, unit tests, and documentation with the ninja generator:

cd qportals
mkdir build
cd build
cmake -G Ninja -DWITH_CLI=OFF -DWITH_TESTS=ON -DWITH_DOCS=ON ..
ninja

Running the tests

Assuming tests were built during the above step:

cd build
ctest -j0

There is one test executable, coords-test, which tests several edge cases for coordinate and glyph code inputs. A successful test will have output similar to the following:

Test project /home/tion/qt/qportals/build

Start 1: QTest-CoordinateObject

1/1 Test #1: QTest-CoordinateObject ……….. Passed 0.02 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) = 0.02 sec

or if run on its own test/coords-test:

********* Start testing of coordinateDataTest *********
Config: Using QtTest library 5.13.0, Qt 5.13.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 9.1.0)
PASS   : coordinateDataTest::initTestCase()
PASS   : coordinateDataTest::instantiation()
PASS   : coordinateDataTest::variousCoordinates()
PASS   : coordinateDataTest::variousGlyphcodes()
PASS   : coordinateDataTest::invalidCharacters()
PASS   : coordinateDataTest::cleanupTestCase()
Totals: 6 passed, 0 failed, 0 skipped, 0 blacklisted, 6ms
********* Finished testing of coordinateDataTest *********

Versioning

All releases on and after 0.7 use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the GNU General Public License 3.0 - see the license file for details.

Acknowledgements