Skip to content
This repository has been archived by the owner on Jan 13, 2023. It is now read-only.

Releases: incomingstick/OpenRPG

v0.5.2

26 Jan 18:29
47dcf3f
Compare
Choose a tag to compare
v0.5.2 Pre-release
Pre-release

Added

  • Added a openrpg.json file to our data/ folder allowing us to better tell when we have found our data folder
  • Created cpp files for expanding platform dependent code and build them into the core library. If platform dependent code is needed, the module will need to compile against the Core library
    • NOTE: This may end up as it's own platform library if it starts to get large

Fixed

  • Added more check locations to both export.js as well as the LOCATE_DATA() function in the Utils module. The lack of these locations was causing OpenRPG to be unable to locate our data/
  • There is a bug in GCC-8 (used to compiled the prebuilts with TravisCI) that does not link to libraries correctly on Linux systems when using C++17, this has been resolved here by switching GCC-8 to GCC-9 on TravisCI.
  • A typo causing the include/core/platform/unix.h header to never be used
  • A bug in the Core libarary that was causing a crash on Windows and an infinite loop on Linux machines

v0.5.1

13 Jan 23:15
aab2851
Compare
Choose a tag to compare
v0.5.1 Pre-release
Pre-release

Added

  • After installing you can now run man openrpg for Unix style Man Pages thanks to @var-username
  • Calling npm install on this package will attemmpt to download the prebuild binaries from the matching github release putting it in dist/ (if dist/ already exists, it is cleared). build.js attempts to determine the correct node or electron version to download, and if one cannot be found we fall back to the core libaries. If build.js is still unable to locate the files, or the sha512 checksum fails, nothing is downloaded.

Changed

  • Moved the ASSET_LOC from a preprocessor definition to a Core module function that searches multiple locations until it finds our data directory, throwing an error if no data can be found
  • Core now takes advantage of the STL C++17 Filesystem library to locate our data folder using an array of paths
  • Updated README.md with NodeJS info and updates to the build scripts, as well as some reorganization of pertinent information.
  • Check and specify system architecture in build.bat

v0.5.0

29 Dec 03:25
46d2253
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

There is likely a TON that has changed that is not noted below. This release is a HUGE one, so we likely missed something. If you notice something is missing, please open a PR to fix it (with commit citations please)!

Added

  • We are now on the Arch User Repository and supporting Arch as our first Linux distro, as it is what I (@incomingstick) use!
    • You can use the PKGBUILD branch of this Repo to build from makepkg that way
    • Clone us out of the AUR yourself by running git clone https://aur.archlinux.org/openrpg-git.git && cd openrpg-git && makepkg -si
    • You can use your favorite AUR helper, such as yay
      • Run $ yay -S openrpg
  • We have improved our CMake logic to include the use of CPack for packaging, for all supported OS's! Check out our downloads page for your systems installer!
  • Build scripts now include a package target for packaging with CPack
  • NodeJS and npm integrated into the project workflow. You can now use npm and subsequently cmake-js to compile an additional orpgAddon.node binary that is a compiled Node module.
    • This NodeJS addon aims to be a complete wrap of the C++ libraries. As such, most functions and classes should operate as you would expect the C++ counterpart.
    • Expose the VERSION preprocessor definition via the ORPG_VERSION() function
  • An ASCII character sheet in data/ thanks to @var-username
    • data/character_sheets/ascii_char_sheet
    • "data/character_sheets/Blank ASCII Character Sheet.txt"
  • Added build info for Windows and improved the Unix documentation
  • Added an uninstall target to CMake and Make, allowing for the use of make uninstall to... uninstall
    • cmake_uninstall.cmake.in
  • build.sh has a ton of new commands, including an uninstall command $ ./build.sh uninstall
  • This Changelog! You are likely looking at CHANGELOG.md
  • The OGL is now in our main LICENSE, in addition to the OSL, to hopefully cover our bases with that stuff... hopefully we don't accidentally use copyright WotC stuff, or anyones stuff for that matter
  • We now generate export headers via CMake for the Windows DLLs to ensure proper linking
  • Some suggested vim settings, if thats your editor of choice
  • TravisCI Windows builds! We are now testing Windows via TravisCI, as well as AppVeyor
  • OSC XCode8 tests on TravisCI!
  • Lots of namespacing to help prevent name collision when our project is used, the structure is as follows:
    • ORPG
    • ORPG::Core
    • ORPG::Utils
    • ORPG::Roll
    • ORPG::Names
    • ORPG::Character
  • NameGenerator class now has a constructor that takes a file location as a std::string, here are some important notes:
    • By creating this constructor we are allowing an end user to specify the location the namelist we will read from. It is extremely important we explore any possible security implications of this further. I @incomingstick) do think it could prove a beneficial feature to allow end users to specify namelists.
    • I, @incomingstick, created this function specifically to help the test suite. When testing on a fresh system, we are built before we test, but the release builds defines ASSET_LOC as: "/usr/local/data/openrpg" Because of this, it attempts to check a folder that has not been installed yet, and we need a way to point NameGenerator to our source data folder.
  • Character module now takes full advantage of our Names library to allow for the use of first and last names
  • Added the Elf race to the Characters library
    • class Elf : public Character
    • class HighElf : public Elf
  • CharacterFactory class has a new constructor that takes a name as a std::string
  • Character library has a new class, Skill that helps represent the 5e Skill in a better way, and makes use of the new EnumSkill enum to pair score to human readable tags thanks to @var-username
  • ExpressionParser now handles the modulo operation!

Changed

  • Building Libraries as Dynamic instead of Static, because why wouldn't a game want Dynamic/Shared libraries!
  • Split .github/ISSUE_TEMPLATE.md into two files:
    • .github/FEATURE_REQUEST.md
    • .github/BUG_REPORT.md
  • Renamed int random(...) to int randomInt(...) in the Utils namespace thanks to @var-username
  • Fixed some install locations to better form to different platforms
  • build.bat now has actual commands such as > .\build.bat clean, or > .\build.bat rebuild as well as better error reporting
  • Make sure we don't accidentally add some packaged/compressed files to the repo, cuz that would be obnoxious
  • Lots of "auto-fication" across the project, as well as other C++11 improvements
  • Lots of restructuring within the files themeselves to help keep things better organized
  • Lots of additional documention comments throughout the project for you other devs out there
  • levels[] is now an externally definded global variable renamed to EXP[] in the include/character/character.h header, so you must link to the Character library to use is
  • The Skills struct is now a class that acts as a wrapper of sorts for the Skill class and the EnumSkill enum thanks to @var-username
  • Character class now uses the Skills class internally and has a new function to interface with it via void update_skills() thanks to @var-username
  • Some header guards improved to better show their purpose in the project file system

Fixed

  • Typo in the Warforged namelist that gave "Zealot" a period (was "Zealot.")
  • Consistant URL usage for openrpg.io
  • Better CMake output to help you developers understand whats going where / when.
  • When installed on some systems, the creation of a data folder could potentially cause VSCode to fail to open
  • Linking issues when running make check could cause some tests to fail, on some systems
  • Issue when running make check on a release build, that caused the tests to be unable to locate the data assets
  • A bug that would cause some divide by zero operations, as well as preventing the rolling of a 1 sided die thanks to @tehguy
  • A typo in the roll parser test that was incorrectly validating d6's thanks to @pashcovich
  • Missing note in Core::print_basic_help() about how to exit OpenRPG.
  • Fixed a bug in the ExpressionTree where the globalReadOffset was not being reset when a new expression was set
  • Fixed a bug when stringing multiple rolls together that would causing the tree to parse an expression such as 2d6+4d8 as (2d6+4)d8
    • Honestly there are a TON of bug fixes with the roll parser now that we are using the Mocha test suite
  • Fixed a bug in NameGenerator that wasn't resetting the raceFile when a new race was set
  • Fixed version sheild in CHANGELOG.md (it still had the '-dev'affix)

Removed

  • Obliterated the old Name Generator test src/tests/name-generator-test.cpp

v0.4.0-dev

31 May 18:34
f220acb
Compare
Choose a tag to compare
v0.4.0-dev Pre-release
Pre-release
Merge branch 'patch-v0.4.0-dev'

v0.3.0-dev

24 Apr 21:08
a3964ae
Compare
Choose a tag to compare
v0.3.0-dev Pre-release
Pre-release
Merge branch 'patch-v0.3.0-dev'

v0.2.0-dev

19 Feb 04:40
Compare
Choose a tag to compare
v0.2.0-dev Pre-release
Pre-release
updated README.md

v0.1.0-dev

31 Jan 18:42
Compare
Choose a tag to compare
v0.1.0-dev Pre-release
Pre-release
Merge branch 'patch-v0.1.0-dev'

v0.0.3-dev

20 Jan 02:09
Compare
Choose a tag to compare
v0.0.3-dev Pre-release
Pre-release
Merge branch 'patch-v0.0.3-dev'

Merge pull request #3 from incomingstick/patch-v0.0.2-dev

21 May 03:40
Compare
Choose a tag to compare
Patch v0.0.2-dev