Releases: crankycyclops/trogdor-pp
Releases · crankycyclops/trogdor-pp
0.91.5
- Update build system so that the install_dev target can use $DESTDIR
0.91.4
- Modified the build system so that dev files (headers and pkgconfig files) are installed only as a separate optional target
0.91.3
- Modified the build system so that pkgconfig files can be written to a custom location
0.91.2
- Auto-generate version.h
- Properly version libtrogdord
0.91.1
- Entities no longer have their own Lua states, which is wasteful. Instead, there is only one shared state per game.
0.91.0
Added
- trogdord can now authenticate with redis using an optional username and password
- trogdord can now also be configured via environment variables, which take precedence over trogdord.ini
Changed
- The timer period (tick interval) can now be changed after the timer's started and can be configured via a game definition file
- trogdord now only listens on 127.0.0.1 or ::1 by default
Fixed
- Added missing validation for ALLOCATE_RESOURCE AST operation
0.90.0
Added
- Added room connection descriptions (Connection descriptions feature #72 ), a more flexible way to generate room descriptions that can be updated dynamically when those connections change. This new feature shouldn't have any impact on older projects.
- Wrote two new Lua methods, Being:insertIntoInventory() and Being:removeFromInventory() to replace functionality previously served by the now removed method Thing:setLocation.
- Implemented Lua function Resource.new() to create new Resources from within Lua
- Implemented Lua methods Game::getEntity(), Game:start(), Game:stop(), and Game::inProgress()
- Added LuaState::getLuaVersion(), which returns the version of Lua the core library was built against
- Added LuaEntity::err() to allow writing to an Entity's error stream
- Started writing unit tests for the LuaState class
- Unit tests are now built and run against Lua 5.1, 5.2, and 5.3
- Trogdord can now listen on IPv6 as well as IPv4, and can also be configured to listen for requests only from certain IP addresses
Changed
- Reimplemented the items in a Being's inventory using std::weak_ptr. Any code that calls Being::getInventoryObjects() or Being::getInventoryObjectsByName() will have to be adjusted to take this change into account.
- Game::removeEntity() now enforces a more complete set of rules and no longer returns a boolean value (instead, it throws an exception if anything goes wrong.)
- Object::setOwner() is now protected and an Object can only be inserted into a Being's inventory by calling Being::insertIntoInventory().
- Thing::setLocation() is now protected and a Thing can only be inserted into a Place by calling Place::insertThing().
- Removed Lua method Thing:setLocation().
- Many formerly private members and methods in trogdor::LuaState are now protected to make unit testing easier
Fixed
- It turns out that the Tangible and Resource types weren't being registered with Lua. This was uncovered by my new unit tests and has been fixed.
- Fixed a bug that affected the way the Lua Resource type was registered
- Did some minor refactoring and code cleanup
0.80.0
- Added extension loading for custom functionality to trogdord on platforms that support libdl
- Split the build into multiple CMake files, making things more modular (I'm hoping to eventually spin each item out into its own repository)
0.70.0
Introduces the SQLite3 serialization format and improves trogdord's handling of dumped games.
0.60.0
Version 0.60.0 introduces state features, making it possible to dump and restore game state to disk.