Commit Graph

48 Commits

Author SHA1 Message Date
4cd3a3dabd [refactor] src/contrib, src/mingw -> vendor 2021-03-13 02:58:57 +01:00
Gent S
45b8f8f581 Add RacingManager 2020-12-21 16:18:08 -05:00
CakeLancelot
b1375c69f5
Add lsqlite3 flag to Windows section of Makefile as well 2020-12-14 10:39:26 -06:00
454e0284af Remove vendored libsqlite from the repository
We now link to the system's library.

Windows implementation pending. MSVC build will be broken for a short
while.
2020-12-14 03:44:58 +01:00
Kamil
c2f640fd97 RIP ORM 2020-12-13 19:51:09 -05:00
8ebabac7c0 Various bugfixes
* Fixed Nano stamina not being halved on respawn
* Reverted the default argument to terminate() change because MSVC is
undable to disambiguate the function pointer passed to sigaction()
* Fatal errors during init (like in TableData) can just call exit(1)
directly anyway (missing "OpenFusion: terminated." be damned)
* Switched to a slightly more portable syntax for getting the version
in the Makefile
* We shouldn't join the shard thread in the signal handler because the
thread the signal handler ends up running in is undefined behaviour and
we don't strictly need to join it anyway

Many of these issues were discovered on OpenBSD.
2020-12-06 05:25:23 +01:00
269315ca09 Support for poll() (ie. WSAPoll()) on Windows 2020-12-05 22:47:50 +01:00
c6112d04da Implemented player position monitor interface 2020-12-02 20:19:34 +01:00
JadeShrineMaiden
b8f586bc10
Groups, Group Nano powers and Revive (#129)
* Initial Group Implementation

* Request/refuse/join and leave groups.
* Chat into groups.
* Get status updates on every group member each tick.
* Owner leaving the group destroys the entire group.

* Added more nano powers

* Revive for both variants work.
* Many nano powers now have a group variant working.
* Enemy checks for aggro before retreating.
* Enemies keep aggro on dead players with revive nanos out.

* Further Nano powers + Bugfixes

* Infection damage now relies on bitcondition flags.
* Antidote power now works.
* Improved how groups handle leaving players.
* Fixed mob aggro range.
* Group Healing is now functional.
* Possibly fixed the player being unselectable bug.
* Fixed indentations.

* Dismiss nano when starting a MSS ride

* Sneak, Invisibility and Bugfixes

* Sneak and invisibility affect mob aggro.
* Possibly bugfixed equips not showing to other players.
* Aggro checking is less likely to cause nullptr related crashes.

* Group PR cleanup.

* Made sure to label all hacky workarounds
* Implemented the Antidote nano power the right way
* Cleaned up the way various little things are written

Didn't have the opportunity to actually test groups.

Co-authored-by: CakeLancelot <CakeLancelot@users.noreply.github.com>
Co-authored-by: CPunch <sethtstubbs@gmail.com>
Co-authored-by: dongresource <dongresource@protonmail.com>
2020-10-05 01:54:08 +02:00
5068b38c5e
Merge pull request #100 from SengokuNadeko/master
Buddy System
2020-09-25 00:48:01 -05:00
006d1000c7 Add Address Sanitizer suppression list.
This replaces the unnecessary deallocations on program termination.
Passing in the suppression list environment variable via setenv()
doesn't seem to work, so I've added a comment in the Makefile to explain
invocation.
2020-09-24 23:11:14 +02:00
FinnHornhoover
a05bb15697 fixed makefile append and mingw bugs 2020-09-21 02:12:34 +03:00
FinnHornhoover
27df1bd7d0 fixed indent 2020-09-20 01:24:42 +03:00
Raymonf
6a05ce4504
Add BuddyManager to Makefile 2020-09-19 17:16:47 -04:00
f4db0830ba huge refactoring, chunking added 2020-09-17 17:45:43 -05:00
e03da83ff3 Rearranged the codebase a little.
* Deleted empty Player.cpp
* Moved the helper functions from the obsolete CNStructs.cpp into
main.cpp and deleted it
* Renamed CombatManager to MobManager, as that will likely become it's
main focus soon
2020-09-16 21:46:15 +02:00
efda6673b5 Print server version when starting up.
Also added -ldl to fix cmake compilation on Unix systems.
2020-09-16 20:12:56 +02:00
CakeLancelot
29e53117e7
Merge pull request #72 from FinnHornhoover/msys-mingw-compile-fix
Warnings and compile errors for MSYS2 MinGW64
2020-09-13 07:35:32 -05:00
FinnHornhoover
91f512d740 added version checking for GCC 2020-09-12 22:27:03 +03:00
eb1ad6bb37 switched to dumped XDT & moved to a submodule 2020-09-09 12:06:22 -05:00
FinnHornhoover
266fddbffa fixed warnings and compile errors for msys2 2020-09-08 03:41:13 +03:00
FinnHornhoover
a8c88a9bd9 disabled unknown pragma warnings 2020-09-06 19:40:13 +03:00
FinnHornhoover
038ce984c5 O3 fix for mingw g++ 2020-09-06 18:52:50 +03:00
266ca8b8c6 temp fix for mingw 2020-09-04 14:12:01 -05:00
05d035717d and here too 2020-09-02 22:49:51 -05:00
f41bf0ace2 switched to -O2 optimizations 2020-09-02 22:49:38 -05:00
kamilprzyb
359991e274 added back accidentaly removed files in Makefile 2020-09-02 18:05:18 +02:00
kamilprzyb
11801c1f89 Rewrote DB to use ORM, added all remaining features to LoginServer and refactored it 2020-09-02 00:37:09 +02:00
73c67a814d Fix checking of header timestamps.
This is implemented in such a way that a change in one of our headers
won't cause recompilation of large C dependancies. It's a bit hacky, but
it works.
2020-08-31 22:40:33 +02:00
0aeac0f6f3 Improve the Makefile so we don't have to recompile the libs every time. 2020-08-31 22:40:33 +02:00
Eperty123
437063d78a Add experimental TransportManager 2020-08-29 13:43:33 +02:00
322bc46604 Support plain POSIX make.
Also standardized the new variable names.
2020-08-28 22:54:28 +02:00
64accecc30 Initial implementation of CombatManager.
Overflow detection must still be implemented.
2020-08-28 22:18:28 +02:00
darkredtitan
5cf7225f52
Tried to manually merge kamilprzyb and main repo's code (#45)
* Merge kamilprzyb and main repo's code

* Update Makefile by FunnHornhoover

* Update Makefile by FinnHornhoover

* Add flag to Makefile by FinnHornhoover

* Remove extra line from makefile

* Remove lbcrypt from Makefile

* Fix flag to Makefile by FinnHornhoover

* Reimplement potential fix for tutorial blackscreen by Dongresources

* Update CMakeLists.txt

* Update CMakeLists.txt

* Reinsert Jade's changes

* Cosmetic Changes to Databases .h & .cpp

* Remove CMakeSettings.json

* Update Makefile by Finn Hornhoover

* More cosmetic changes to Databases.cpp

* More cosmetic changes to Databases.cpp

* Remove unnecessary line (CMakeSettings.json)

* Fix CNLoginServer.cpp

* More cosmetic Changes to Database.hpp, edit Database.cpp to use JSON library onstead of json11 library, and delete json11 library files

* Delete json11 library files

* Delete JSON library to reupload

* Reupload JSON library from main repo

* Reupload JSON library from main repo

* Fix syntax error

* Fix Makefile

* Remove commented line of code to be like master

Co-authored-by: CPunch <sethtstubbs@gmail.com>
2020-08-28 13:02:03 -05:00
Onii-chan
afbf309c7e
Add player revive, vehicle mount/dismount and more (#33) 2020-08-24 16:04:56 -05:00
1281fdaaf0 Add -Wall to Makefile. 2020-08-23 18:30:23 +02:00
43f2def80b Report unhandled packets in string form. 2020-08-22 19:19:46 +02:00
0ac600e223 Extracted all packet ids to a single, definitive enum.
It also contains other constant values that might be relevant at some
point.
2020-08-22 17:25:42 +02:00
bbd6c5b532 moved header libraries 2020-08-21 21:03:12 -05:00
FinnHornhoover
786ee5f4f4
fixed PROTOCOL_VERSION not being defined (#23) 2020-08-21 19:37:59 -05:00
dongresource
df18f3ccd1
PROTOCOL_VERSION, test items, MOTD fix (#18)
* Cleaned up protocol selection.

* cmake now works even if protocol option is omitted
* make now supports protocol selection
* removed PACKET_VERSION/CNPROTO_VERSION* redundancy
* ubuntu appveyor script has yet to be written
* cleaned up some trailing spaces

* Add some test items.

Ironically, this change is untested.

* [bugfix] Transmit MOTD when entering the game, not when loading screen fades.

This fixes unnecessary retransmission when /warping.
2020-08-21 12:38:45 -05:00
JadeShrineMaiden
aa2adcd9e2
Items Implementation (#11)
* Item Manager (Initial Implementation)

* Item Manager (Second Phase)

* Item Manager (Phase Three)

* Not Working Code

* Inventory Implementation (Complete?)

* Items Implementation

-Fixed Indentations
-Final touches to make it all work

* Update Makefile

* Added small comments

-- needs to be fixed
2020-08-20 21:10:14 -05:00
6843faeb8d fixed windows makefile 2020-08-20 13:31:40 -05:00
b94f602537 fixed window build 2020-08-20 12:05:01 -05:00
dongresource
fa5f194cc7
Standardized Makefile. (#7)
* Standardized Makefile.

* Incremental compilation
* C++ compilers are called CXX
* Removed excessive comments for well-understood things
* Added clean target
* Proper .PHONY usage
* Updated .gitignore for object files (+ ctags, and vim temp files)

* Add mkdir -p bin.
2020-08-20 12:03:15 -05:00
8e87a3f102 release makefile 2020-08-18 20:35:48 -05:00
24d30a05bf added heartbeat support 2020-08-18 20:34:39 -05:00
9d366e3720 inital commit 2020-08-18 15:42:30 -05:00