Releases: DarkflameUniverse/DarkflameServer
V3.1.1
What's Changed
Major Fix
- fix: Release removes password generation for accounts by @EmosewaMC in #1738
Other fixes
- feat: Entity message handling and a usage of said message handling by @EmosewaMC in #1737
- fix: REMOVEME by @EmosewaMC in #1733
- fix: Use proper session flag checks and move save nullptr check to a more logical place by @EmosewaMC in #1734
Full Changelog: v3.1.0...v3.1.1
v3.1.0
What's Changed
Features
- feat: Chat Web API (now with no threading) by @aronwk-aaron in #1715
- feat: Replace calls to system function in server startups by @jadebenn in #1691
- feat: implement rest of equipment scripts by @EmosewaMC in #1714
Fixes
- fix: wealth shooting gallery bugs by @EmosewaMC in #1702
- fix: add child loading by @EmosewaMC in #1706
- fix: property entrance component optional by @EmosewaMC in #1707
- fix: Add missing racing scripts by @EmosewaMC in #1708
- fix: add minimum g++ version by @EmosewaMC in #1711
- fix: first attack being weaponless by @EmosewaMC in #1709
- fix: update player container on shutdown by @EmosewaMC in #1704
- fix: online notification playing even when a player hasnt fully logged out by @EmosewaMC in #1703
- fix: ignore unused scripts from loading by @EmosewaMC in #1713
- fix: weaponless world load by @EmosewaMC in #1718
- fix: flashing rebuilds not flashing and bricks not appearing from templates without destroyable components but with is_smashable set. by @EmosewaMC in #1721
- fix: friends not updating and using incorrect world by @EmosewaMC in #1724
- fix: friends by @EmosewaMC in #1726
- fix: use generated bcrypt password for internal master connections by @EmosewaMC in #1720
- fix: Remove added physics objects by @EmosewaMC in #1727
- fix: incorrect knockback parameters by @EmosewaMC in #1729
- fix: lego club teleport by @EmosewaMC in #1731
- fix: missing comma in Servers file by @EmosewaMC in #1730
- fix: reduce networked traffic for QuickBuildComponent Serialization by @EmosewaMC in #1732
Chores
- chore: remove httplib by @aronwk-aaron in #1723
- chore: readme updates by @EmosewaMC in #1712
Full Changelog: v3.0.1...v3.1.0
v3.0.1
What's Changed
- feat: start car races if you "equip" the car near the car pad; add more old ns scripts to ignore list by @EmosewaMC in #1681
- fix: Create resServer and logs if it doesnt exist and update readme by @EmosewaMC in #1686
- chore: remove unneeded Component.cpp, forward declare dependencies, and make Component definition header-only by @jadebenn in #1688
- fix: skip non-files for migrations by @EmosewaMC in #1690
- feat: add ns race server script and ignore 3 scripts from pet cove by @EmosewaMC in #1682
- fix: folder and file checks by @EmosewaMC in #1692
- fix: remove bandwidth limit by @EmosewaMC in #1693
- fix: use encoding on latin1 strings from cdclient by @EmosewaMC in #1694
- fix: use simpler converter for latin1 by @EmosewaMC in #1695
- fix: use correct res path for fdb check by @EmosewaMC in #1699
- fix: remove dead loop by @EmosewaMC in #1700
Full Changelog: v3.0.0...v3.0.1
v3.0.0
What's Changed
New Features and updates
- feat: allow SQLite database backend by @EmosewaMC in #1663
- feat: Inventory Brick and Model groups by @EmosewaMC in #1587
- feat: add millisecond tracking for racing by @EmosewaMC in #1615
- feat: Command Sorting by @Tiernan-Alderman in #1580
- feat: Help Command Pagination by @Tiernan-Alderman in #1581
- feat: Client commands stubbing by @Tiernan-Alderman in #1592
- feat: Property Behavior Saving by @EmosewaMC in #1586
- feat: allow for teleporting to player or relative position by @EmosewaMC in #1683
- feat: Remove reinterpret_casts from AG race timer script and add method and chat command to get current server uptime by @jadebenn in #1673
- feat: spectate command by @aronwk-aaron in #1608
- feat: add error reporting for failed charxml by @EmosewaMC in #1642
- feat: Add some save data tests by @EmosewaMC in #1623
- feat: Observers and deferred implementations by @Wincent01 in #1599
- feat: Make use of CMake presets to enable easy switching between debug and release configurations on all platforms by @jadebenn in #1439
- feat: re-write leaderboards again and fully remove mysql dependency outside of database by @EmosewaMC in #1662
- refactor: Rewrite AMF and property behavior logic to use smart pointers, references, and string_views over raw pointers and std::string& by @jadebenn in #1452
Fixes
- fix: use after free in mission progression after removing item from inventory by @EmosewaMC in #1567
- fix: vanity - add atm to fv race place by @Terrev in #1570
- fix: mail crash from underflow and document variables by @EmosewaMC in #1582
- fix: add include guards for slash commands by @EmosewaMC in #1569
- fix: undefined behavior in scripts and sirens issue by @EmosewaMC in #1577
- chore: CppScripts refactor by @Tiernan-Alderman in #1579
- fix: prevent building in a folder which contains spaces by @EmosewaMC in #1583
- fix: moving platforms resetting on each player entering a world by @EmosewaMC in #1588
- fix: Falling Off Edge in Pet Puzzle by @Tiernan-Alderman in #1584
- fix: Reward reputation always if possible by @EmosewaMC in #1590
- feat: add remaining item extra save data to saving by @EmosewaMC in #1591
- fix: vendor item stale reference by @EmosewaMC in #1594
- fix: Ignore Script L_AG_SENTINAL_GUARD.lua by @Tiernan-Alderman in #1597
- fix: I Can Do It On My Own not being completable for anyone except the killer of the spider queen by @EmosewaMC in #1596
- fix: players using non-car skills in a race by @EmosewaMC in #1601
- fix: add back missing scripts from scripts refactor by @EmosewaMC in #1600
- chore: split VE script up by @Tiernan-Alderman in #1598
- fix: Dockerfile vanity COPY by @SpeedyFireCyclone in #1604
- fix: use after free and uninitialized memory by @EmosewaMC in #1603
- fix: dimantling items from not the model inventory by @EmosewaMC in #1605
- fix: skill desync when picking up powerups or casting server side calculations by @EmosewaMC in #1602
- Fix g++ 14 by @Wincent01 in #1610
- fix: master not using table data, remove 2 noisy logs by @EmosewaMC in #1613
- fix: prevent moving items between inventories under cetain circumsances by @aronwk-aaron in #1595
- fix: compiler issue on newer gcc versions by @EmosewaMC in #1621
- feat: add admin account creation options from cli by @EmosewaMC in #1620
- fix: echo skill cast down to client for some server skills by @EmosewaMC in #1619
- fix: move mission progression location for racing by @EmosewaMC in #1614
- fix: add larger behavior fields for saving by @EmosewaMC in #1616
- fix: Use the correct bit field for checking whether or not to decrement progress by @EmosewaMC in #1631
- fix: mission related preconditions by @Wincent01 in #1634
- fix: ag navmesh near button at monument by @EmosewaMC in #1626
- fix: log in world server main loop by @EmosewaMC in #1633
- chore: optimize chat server reads and fix crash by @EmosewaMC in #1606
- fix: nullptr crashes in PetComponent AddDrainImaginationTimer and Deactivate by @EmosewaMC in #1639
- fix: use macros so we can use more properties with the mysql driver by @EmosewaMC in #1640
- fix: crash on character create screen; character order by @EmosewaMC in #1645
- fix: chat server crash by @EmosewaMC in #1644
- fix: remove ninjago missions items for completed missions by @EmosewaMC in #1643
- chore: consolidate the messagetype enums into a single namespace by @jadebenn in #1647
- fix: press the enter key once (aka nl @ eof) by @jadebenn in #1648
- fix: laggy property models (and probably more) by @EmosewaMC in #1646
- fix: Misspelling for Treasure in PetComponent files by @Tiernan-Alderman in #1617
- fix: Cache compiler variables so external tools can recognize the compiler in use by @jadebenn in #1649
- fix: normalize mixed slashes when looking for files by @aronwk-aaron in #1654
- fix: stack traces work again by @EmosewaMC in #1653
- fix: Remove database requirements for Property Entrance Component and greatly simplify logic by @EmosewaMC in #1650
- fix: Player activated switches by @EmosewaMC in #1655
- fix: Old level files not loading by @EmosewaMC in #1656
- fix: crash with bad id by @EmosewaMC in #1657
- fix: logging uninitialized memory by @EmosewaMC in #1658
- fix: use generic exception catching by @EmosewaMC in #1661
- fix: abstract ugc rockets and cars from GameMessages by @EmosewaMC in #1660
- fix: update sqlite by @EmosewaMC in #1665
- fix: avant gardens switches by @EmosewaMC in #1667
- fix: use current binary directory mariadb shared object and dont override env variable by @EmosewaMC in #1669
- fix: ignore CMakeUserPresets.json by @EmosewaMC in #1672
- fix: better vanity checks by @EmosewaMC in #1666
- fix: leaderboard not in...
v2.3.0
What's Changed
Features
- feat: Dragonmaw by @EmosewaMC in #1562
- Dragonmaw Chasm Race track fully works now!
- feat: Add MovingAI pathing for NPCs without combatAI by @EmosewaMC in #1509
- Heimleich Stewblaster, Cleaner Robots, and other non-combat NPCs move around now!
- feat: refactor vanity by @aronwk-aaron in #1477
- The vanity system is now more robust, modular and versatile to add simple modifications via the server!
- feat: refactor slash commands system into more scalable system by @aronwk-aaron in #1510
Fixes
- fix: Remove Avant Gardens special case patch by @EmosewaMC in #1462
- chore: Remove unnecessary heap allocations by @jadebenn in #1478
- chore: Change AuthPackets to use BitStream references by @jadebenn in #1475
- chore: Convert EchoSyncSkill to use BitStream references by @jadebenn in #1473
- chore: Change EchoStartSkill to use BitStream reference by @jadebenn in #1472
- chore: Change LDFFormat to use BitStream references by @jadebenn in #1467
- chore: Convert game message bit stream raw pointers to references by @jadebenn in #1465
- chore: Change Mail to use BitStream references by @jadebenn in #1474
- chore: Convert DoClientProjectileImpact to use bitstream refs by @jadebenn in #1471
- chore: Convert AMFSerialize to use bitstream references by @jadebenn in #1466
- chore: Convert LeaderboardManager to use BitStream refs by @jadebenn in #1469
- chore: Change dServer and related code to use BitStream references by @jadebenn in #1476
- chore: Change entity and component logic to use bitstream references by @jadebenn in #1468
- chore: Change AMF to use references by @jadebenn in #1479
- chore: remove extra speed class by @EmosewaMC in #1480
- fix: LUP scripts and wandering vendor script by @EmosewaMC in #1483
- fix: default chat to the correct port when no option is given by @aronwk-aaron in #1484
- fix: FrameStats serialization by @EmosewaMC in #1481
- feat: move all ldf config to be in xml by @aronwk-aaron in #1482
- Delete unused cpp file by @jadebenn in #1485
- fix: remove void* by @EmosewaMC in #1487
- fix: Specify path for included files in Loot and CharacterComponent by @EmosewaMC in #1488
- fix: plaques would crash when interacting with no data provided by @aronwk-aaron in #1486
- fix: Dissolve more CMake dependencies by @Xiphoseer in #1387
- chore: Set default symbol visibility to hidden in CMAKE by @jadebenn in #1490
- feat: Provide SerializeEntity constant reference overload by @jadebenn in #1491
- chore: add info to debug logs by @EmosewaMC in #1495
- fix: Remove multiple Script syntax by @EmosewaMC in #1496
- fix: commendation vendor cant accept missions by @EmosewaMC in #1497
- chore: Less verbose name for enum underlying type casts by @jadebenn in #1494
- chore: Table Loading Improvements by @jadebenn in #1492
- feat: add further MovementAI skeleton by @EmosewaMC in #1499
- fix: plaques not giving progress by @EmosewaMC in #1500
- fix: update serialization, remove unused variable by @EmosewaMC in #1501
- chore: supress warnings on external library headers and actually get rid of the last old-style casts by @jadebenn in #1502
- fix: Update switch behavior by @EmosewaMC in #1503
- chore: Remove
new
s in Behavior members by @EmosewaMC in #1504 - fix: movement ai remove goto, do todo, remove unused call by @EmosewaMC in #1505
- fix: remove extra access of PlayerData by @EmosewaMC in #1513
- chore: Shorten BehaviorTemplate enum name by @EmosewaMC in #1512
- chore: unbreak the stacktraces by @jadebenn in #1516
- chore: Update cmake version in README by @jadebenn in #1518
- fix: stewblaster stopping for non-players by @EmosewaMC in #1521
- fix: leaderboard update idempotency by @EmosewaMC in #1520
- fix: update InterruptBehavior to current knowledge by @EmosewaMC in #1523
- fix: more restrictive std::from_chars for floating point by @EmosewaMC in #1524
- chore: remove chat_internal and processes everything over chat connection by @aronwk-aaron in #1508
- fix: update if check in object by @EmosewaMC in #1528
- chore: replace whitelist and blacklist with inclusive terms by @EmosewaMC in #1530
- chore: Remove dpEntity pointers from collision checking by @jadebenn in #1529
- chore: const return oversight by @jadebenn in #1532
- chore: disable non-standard volatile behavior on MSVC by @jadebenn in #1534
- fix: ignore whitespace in TryParse by @EmosewaMC in #1536
- fix: player jittering when picking up loot by @EmosewaMC in #1537
- chore: remove usage of xmldoc as a ptr by @EmosewaMC in #1538
- chore: Fix use of uninitialized variable by @jadebenn in #1540
- chore: update check to check size in loop by @EmosewaMC in #1541
- chore: split out slash commands into multiple files by @aronwk-aaron in #1539
- fix: Add exception inheritance for CppSQLite3Exception, harder try catch re-throw in exception handler by @EmosewaMC in #1544
- fix: console sound in Nexus Tower by @EmosewaMC in #1547
- chore: Use string to access SQLite columns by @EmosewaMC in #1535
- chore: Nitpicking-utils by @jadebenn in #1549
- feat: slashcommands for showall, findplayer, get/openhttpmoninfo, and debug world packet by @aronwk-aaron in #1545
- chore: Convert heap allocation to optional by @jadebenn in #1553
- chore: move the pet minigame table loading logic out of petcomponent by @jadebenn in #1551
- feat: add nlohmann/json lib by @aronwk-aaron in #1552
- Use volume for mariadb persistence by @Xiphoseer in #1555
- fix: out of order physics updates by @EmosewaMC in #1558
- chore: remove md5 new by @EmosewaMC in #1560
- chore: remove json by @aronwk-aaron in #1561
- chore: Remove anti-cheat break savings by @EmosewaMC in #1559
...
v2.2.0
What's Changed
- chore: Move static Player functions and internal linkage to manager class by @EmosewaMC in #1412
- chore: remove all raw packet reading from chat packet handler by @aronwk-aaron in #1415
- chore: Move Player ghosting functionality to GhostComponent by @EmosewaMC in #1413
- feat: Add announcement for mismatched fdb by @EmosewaMC in #1424
- fix: uninitialized variable in PlayerContainer by @EmosewaMC in #1423
- fix: turn warnings into errors by @EmosewaMC in #1425
- chore: remove singleton for dpWorld by @EmosewaMC in #1427
- chore: Upgrade Ubuntu to 22.04 for CI runs by @jadebenn in #1432
- chore: Use references instead of pointers in StringifiedEnum.h by @jadebenn in #1430
- fix: spiders spawn camping in Avant Gardens by @EmosewaMC in #1422
- chore: Misc. component cleanup by @jadebenn in #1433
- Add warning about docker-compose on windows by @Xiphoseer in #1438
- fix: faction changes not allowing updated targets by @EmosewaMC in #1437
- refactor: allow usage of NiPoint3 and NiQuaternion in constexpr context by @jadebenn in #1414
- chore: upgrade MacOS build settings for better C++20 compatibility by @jadebenn in #1435
- chore: Update render component and delete unused code by @jadebenn in #1429
- chore: nitpicks on rendercomponent changes by @jadebenn in #1440
- chore: Player class removal by @EmosewaMC in #1445
- chore: Remove transitive include for Detour, remove unused fields by @EmosewaMC in #1450
- chore: Use vector instead of forward_list for dpGrid for ~50% physics loop speed improvement by @EmosewaMC in #1447
- chore: Convert CDClientManager to be a namespace by @EmosewaMC in #1431
- chore: Move database storage containers to be translation unit local to allow for safe references by @EmosewaMC in #1434
- chore: remove SHA512, move md5 to thirdparty by @EmosewaMC in #1443
- refactor: Change TryParse implementation by @jadebenn in #1442
- chore: General cleanup roundup by @jadebenn in #1444
- chore: make predefined name unique when the name files are not provided by @aronwk-aaron in #1453
- fix: fix no effect playing when picking up item by @EmosewaMC in #1455
- fix: Remove hard coded groups for spawners by @EmosewaMC in #1454
- chore: use ranges in EntityManager and touch up by @EmosewaMC in #1451
- chore: remove copy pasted logic in PhantomPhysics by @EmosewaMC in #1446
- fix: close trade window when one player ends the trade by @EmosewaMC in #1457
- refactor: Rewrite BehaviorMessage classes to use member initialization, preferred member naming conventions, and const-ref getters by @jadebenn in #1456
- fix: EntityManager incorrectly inverted statement by @EmosewaMC in #1459
- chore: Remove anonymous namespace from GeneralUtils.h by @jadebenn in #1460
- chore: Update Amf3.h member naming scheme by @jadebenn in #1463
- fix: Use set for buff removal by @EmosewaMC in #1464
- feat: achievement vendor and vendor feedback by @aronwk-aaron in #1461
Full Changelog: v2.1.0...v2.2.0
v2.1.0
What's Changed
Fixes
- fix: crash when resetting missions and remove old code by @EmosewaMC in #1395
- fix: activity id not using overridden id by @EmosewaMC in #1400
- fix: Docker Compose README by @Xiphoseer in #1403
Chores
- feat: fully reading auth packets and use stamps by @aronwk-aaron in #1398
- chore: Update Commands documentation by @HailStorm32 in #1396
- chore: replace macro with anonymous namespace function by @jadebenn in #1394
- chore: Remove pointer management in PlayerContainer by @EmosewaMC in #1397
- chore: Consolidate logger setup and add better handling of packets by @EmosewaMC in #1389
- chore: change timers to not use ptrs by @EmosewaMC in #1399
- chore: make dNet only depend on dCommon libraries by @EmosewaMC in #1401
- chore: continue work on removing raw packet reading by @aronwk-aaron in #1404
- chore: Assorted pet improvements by @jadebenn in #1402
- chore: remove non cstdint integer types in CDClientTables by @EmosewaMC in #1405
- chore: update noninformative comments to be informative by @EmosewaMC in #1407
- chore: Simplify and move Player functionality to relevant component by @EmosewaMC in #1408
- chore: Add ghost component by @EmosewaMC in #1409
- chore: default size to 33 on LU(W)Strings by @aronwk-aaron in #1410
Full Changelog: v2.0.0...v2.1.0
v2.0.0 - First Updated Release!
v2.0.0 Release!
First updated release!
Over the past two years, many fixes have been made and we are glad to do a second official release.
But due to the amount of changes without a release, we are just letting GitHub auto-generate the release notes.
We are planning on doing more incremental releases to avoid this bloated changelog going forward.
Attached you can find the source and compiled builds for windows, macos, and linux!
You can also check out our official docker container here!
Below you can find an auto-generated list of all the changes, fixes, and improvements over the past two years!
What's Changed
- Corrected apt install command for ubuntu by @XenoTrixx in #6
- Note that the zlib -dev package is needed by @luxaritas in #3
- Small fixes for windows clang compile by @m888r in #17
- change repo url in worldconfig.ini to be correct by @aronwk-aaron in #34
- Strip carriage return from text files by @na-2n in #38
- change default network version to unmodded client by @na-2n in #11
- Try to load from original zone path before a lowercased one by @na-2n in #44
- Modified README specifying CMakeVariables outside the Python box by @JoachimFlottorp in #13
- Update NPC.xml by @Arkannex in #15
- Important note for WSL2 users by @TheLongestRose in #43
- Revert "Try to load from original zone path before a lowercased one" by @codeshaunted in #85
- Add note to readme about cmake version to build by @StefanH-AT in #2
- Windows fixes by @Jettford in #88
- Pull Request to fix chat messages by @JoachimFlottorp in #91
- Make 0_initial.sql compatible with MySQL by @Ramen2X in #68
- separate AgSpaceStuff and AgShipShake by @red031000 in #83
- Revert "separate AgSpaceStuff and AgShipShake" by @codeshaunted in #116
- Update CONTRIBUTING.md to include commit guidelines by @MickVermeulen in #130
- Update BaseEnemyMech script to change the default faction by @MickVermeulen in #134
- Add issue templates by @MickVermeulen in #136
- Fix spelling by @Daystar1998 in #147
- Add note to readme for troubleshooting tips with script editing by @StefanH-AT in #132
- Allow on the fly minifig editing by @Jettford in #170
- Patched coin exploit by @Jettford in #180
- Moonbase fix by @Jettford in #151
- increased the exchange rate of the nimbus station console to 5 faction tokens for 25 maelstrom infected bricks by @Nordegraf in #187
- Fix #164: Implement Buccaneer Valiant special ability by @MickVermeulen in #177
- Add ship shake to not log about being missing by @Jettford in #150
- Fix issue templates by @MickVermeulen in #239
- Correct documentation for /instanceinfo by @sersorrel in #233
- Implement FDB Checksum by @Jettford in #189
- Implemented die roll animations for the Lego Dice item by @ckawell in #236
- Crux Prime named enemy fix by @EmosewaMC in #254
- fixed a bug where the smashedTimes counter was falsely incremented by @Nordegraf in #258
- Add port recycling to instance creation by @anarcal in #222
- Make loot accurate to the loot drop rates during live. by @Jettford in #216
- Added include to Loot.h to allow the server to build on GCP.… by @saltshaker in #284
- ChatServer respawn after crash by @cuzitsjonny in #276
- Add GitHub Actions Workflow by @Xiphoseer in #248
- Fix loot crash by @Wincent01 in #294
- Team loot fixes by @Jettford in #304
- Master server fixes by @Jettford in #332
- Update script value to that in the lua file by @Jettford in #331
- More windows fixes by @Jettford in #329
- Damage Buff source fix - inventor beehive bug by @m888r in #306
- Fix resurrecting in BONS by @Jettford in #334
- Set
build.sh
as executable & updateREADME.md
to acknowledgebuild.sh
's existence by @maxdelayer in #14 - Fix initial character XML being malformed by @Marcono1234 in #325
- Portal Stun Time Reductions by @Verathian in #289
- Add basic CTest infrastructure by @Xiphoseer in #340
- Implemented sourceType for SendSetCurrency by @EmosewaMC in #291
- Added Log content additions by @cooltrain7 in #203
- Add windows CI by @Xiphoseer in #352
- Completely automated docker setup by @TheNoim in #90
- Change the win delay to increase time to get BONS loot by @Jettford in #365
- Remove IP Logging by @Jettford in #353
- Fix issue #268 : wrong shirt colors in the character selection by @Racater in #293
- BoNS Time Smash Fix by @Verathian in #290
- Fixed a bug where Chaos Cleaner would accidentally add a Maelstrom Dagger to your inventory by @EmosewaMC in #370
- Added Bat Lord Full Set Bonus by @EmosewaMC in #375
- Fixed an issue where Gate Crasher task was progressed when eaten by a shark by @EmosewaMC in #372
- Fixed an issue where repeatable missions were not rewarding the items they should be rewarding by @EmosewaMC in #357
- Changed banana drop spawn Y height to prevent them from getting stuck on the trees by @EmosewaMC in #383
- Update CMake minimum requirement by @ThexXTURBOXx in #380
- Changed Script Created for Apes on Crux Prime to allow for Anchor QuickBuilds by @EmosewaMC in #388
- Clearer Error Message on Misconfiguration by @TheMatt2 in #385
- Add zone 1700 to list of accessible zones by @enteryournamehere in #87
- Fixed Battle of Nimbus Station achievements being repeatable by @EmosewaMC in #387
- Added joined a faction flag by @EmosewaMC in #386
- Remove dependency by @TheMatt2 in #400
- Fixed an issue where the Avant Gardens Survival buff station was not spawning and implemented its' script by @EmosewaMC in #397
- Fix Area of Effect Behavior Targets by @CodeAX2 in #339
- Added support for flags in macros by @EmosewaMC in #410
- Implement JetPack behavior and remove hardcoded JetPacks by @codeshaunted in https://github.com/DarkflameUn...
First public release!
This is our first public release for our game's server code!
We spent a lot of our spare time making this a reality and making sure it would work for our needs.
There are a lot of things that we could have and wanted to improve; but there's no point for us to keep the source hidden anymore.
We hope you all enjoy tinkering with the source, and experiencing the game once more :)
Per aspera ad astra!
-The DLU Team.