65 Commits

Author SHA1 Message Date
Lemongrass3110
9139a21adc
Resolved a few size_t related warnings (#8085)
Disabled warnings in libconfig only for MSVS
2024-02-28 21:05:18 +01:00
Singe Horizontal
53f1c5bb80
Default multi-processor compilation on VS (#8029) 2023-12-11 21:30:48 +01:00
Vincent Stumpf
d6ba042e1e
Upgrade yaml-cpp to remove warning (#7825) 2023-06-18 22:39:49 -07:00
Vincent Stumpf
6bb29c0743
add nlohmann json to better support web service (#7325) 2022-10-08 20:18:04 -07:00
Vincent Stumpf
0ac52d0bb4
Initial support for web service for newer clients (#5731)
Co-authored-by: Jittapan Pluemsumran <secret@rathena.org>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-08-16 15:10:18 +02:00
Jittapan Pluemsumran
d1b7061f5a
YAML loading optimization (#5997)
* Use rapidyaml library to parse YAML databases instead of yaml-cpp.
* Drastically reduces the parse time for yaml databases.
* Removes yaml-cpp content from main servers, except for tool emitter.
Co-authored-by: Vincent Stumpf <vincents.995@gmail.com>
Co-authored-by: Atemo <capucrath@gmail.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-03-30 16:38:52 -04:00
Lemongrass3110
7c271d7edc
Disabled iterator sanity checks on VS (#3760)
Fixes #3750

Thanks to @teededung and @aleos89
2018-12-18 18:51:56 +01:00
Lemongrass3110
4633ab5ca1
Fixed CMake on Windows (#3204)
It is now usable in Visual Studio as well
2018-06-21 00:26:40 +02:00
Lemongrass3110
801d3ed942
Moved common, config and mapcache to C++ (#3200)
Dropped BETA_THREAD_TEST and everything around it
Dropped mt19937
Replaced msinttypes with cinttypes
Removed IRC link and updated README name
2018-06-14 21:51:58 +02:00
lighta
618b9356fc
Fix #2591 spinlock issue. (#2637)
* Fix #2591 spinlock issue.
Add basic_test, for few integration test.
Add thread_local_storage support in cmake
Fix thread.c for linux and fix small typo
2017-11-26 22:30:17 -04:00
Lemongrass3110
a2e8d02752 Respect the default platform toolset (#2609)
With this you will not have to upgrade your solution everytime you clone a fresh copy of rAthena and the problem with having to stash between branch switches should also be gone.
If you want to compile it for another toolset you simply have to set the target toolset by yourself.
2017-11-19 12:19:36 -05:00
Aleos
c4a364be2c
Initial work for map server to C++ (#2565)
* Initial progression of moving the map-server to C++ format.
* Converted all core files to .cpp and header files to .hpp.
* Refactored the refine database parser to utilize native YAML C++.
Thanks to @Jeybla and @lighta for their help!
2017-11-02 17:39:03 -04:00
lighta
611dee0753 Fix cmake (#2554)
* Fix cmake
Thanks to @secretdataz for help. (cherry-picked from refactor)
2017-10-30 13:19:27 -04:00
aleos
ac1cf0499a Follow up to dcbb2df
* Adjusted the checks to one-line.
* Corrected the map-server from spitting out an error for the achievements import file.
2017-08-08 21:12:20 -04:00
aleos
dcbb2df776 Corrected YAML file parsing
* Fixes #2323.
* YAML file parsing will now properly catch and display warnings when unable to read a file.
Thanks to @CairoLee!
2017-08-08 20:50:09 -04:00
Lemongrass3110
1e63f892d9 Fixed release mode building of map-server
Related to #2294

Thanks to @keitenai and @admkakaroto
2017-07-28 15:11:28 +02:00
Aleos
7f5411da07 Initial release of the Achievement System (#2044)
* Information based on kRO patch notes.
- http://ro.gnjoy.com/news/update/View.asp?seq=163&curpage=1
* Includes Title System which is integrated into the Achievement System.
* Includes RODEX integration for rewards.
* Added new atcommand reloadachievementdb.
* Added new script commands achievementinfo, achievementadd, achievementremove, achievementcomplete, and achievementexists.
Thanks to @Lux-uri, @RagnarokNova, @Lemongrass3110, and @Tokeiburu for their help!
2017-07-27 09:33:03 -04:00
Lemongrass3110
da036de523 Follow up to 4a2574c and 76786e2 2017-06-27 18:44:23 +02:00
Jittapan Pluemsumran
4a2574c599 Migrate core source files to C++. Add yaml-cpp project as dependency (#2207)
By updating to this commit, Linux users have to regenerate Makefiles by re-running the configure script.

* Added yaml-cpp project as a 3rdparty library
* Migrated source files core to C++
* Updated configure scripts
* Make Linux installations compile *.cpp files
* Made server components' main source file C++
* Also made headers CPP-aware.

* Added basic C wrapper for yaml-cpp library
* YAML-node path is delimited by periods.
* Basic integer types and string are supported.
* Strings returned from this wrapper have to be freed with malloc.h::aFree
* Arrays (sequence) is supported with iterator wrapper.
* Remember to free every wrapper you create!

* Add yaml-cpp as dependency of common project
* Made the repo not ignore *.yml files

Thanks to @aleos89 and @Lemongrass3110.
2017-06-25 23:33:24 +07:00
Lemongrass3110
07b2ef28a0 Added Visual Studio x64 support
Removed the .dll files for the libraries from the root directory.
They are now copied from the 3rdparty folder when your build finishes and the project requires them.
If you clean your project they will also automatically be removed from the root directory again.

Updated libraries:
MySQL 5.0.20 -> 6.1.9
PCRE 8.30 -> 8.33.0.1 UTF8

Both Win32 and x64 are now supported. Remember to clean and build when you switch the target platform, otherwise you will end up with the wrong .dll files at runtime.
2017-04-28 13:40:08 +02:00
Lemongrass3110
4348ef3b89 Added a -D equivalent for msbuild
Fixes appveyor not building in pre-renewal mode
See original commit 15b4050
2017-04-26 03:44:37 +02:00
Lemongrass3110
bfeb697933 Redirected build output into the .vs folder 2017-04-26 03:38:08 +02:00
Jittapan Pluemsumran
fcba7b7213
Added missing EOL in project files 2017-04-25 23:11:58 +07:00
Florian Wilkemeyer
4f47f1fab0 Added Visual Studio 2013 Solution && Clean Project Files with proper dependencies
- x64/AMD64 Support prepared (will be added in a followup commit, it needs some changes in 3rdpary libs)
2016-04-25 12:49:35 +02:00
Lemongrass3110
9efd319900 Updated ZLIB
Upgraded from version 1.2.7 to the latest version 1.2.8

Source:
http://www.zlib.net/
2016-04-07 01:02:15 +02:00
Lighta
3625aaaf55 libconfig 1.4.9 followUp
Removing, yacc and bison file causing issues.
preconpiled .c and .h would suffice.
2014-12-23 04:03:24 -05:00
lighta
629af3be48 Fix GCC 4.9 plugin needed to handle lto object 2014-12-19 16:22:58 -05:00
lighta
78bcd82039 Update libconfig to 1.4.9 2014-12-19 03:10:07 -05:00
aleos89
2d2991a1fd TXT reference removal from emulator.
- Removed any remaining TXT and SQL references from files.
- The 'make sql' command is now replaced by 'make server'.
- Removed account.engine feature as it is no longer needed.
- Moved login and IP ban configs to inter_athena.conf.
- Cleaned up cmake files.
- Miscellaneous clean ups.
2014-09-03 17:44:35 -04:00
aleos89
62a2813adc Bug Fixes
* Fixed Concentration ending when Frenzy is used. (bugreport:8942)
* Fixed Hells Plant hitting Ghost element enemies. (bugreport:8799)
* Forced guild notice changes to save immediately. (bugreport:8961)
* Fixed Cart Tornado damage formula. (bugreport:9065)
* Adjust Amistr's Castling to now switch to any target type. Still needs skill switching support. (bugreport:1784)
* Removed hard coded 1 second skill duration reduction for Spore Explosion.
* Fixed the party window not displaying the correct map name when in an instance. (bugreport:7949)
* Fixed hatching a pet causing client disconnections. (bugreport:9059) (Hercules 533ff4f)
* Updated Kagerou/Oboro skill cast times. (bugreport:9035)
* Removed deprecated negative nameid value for getitem/getitem2.
* Renamed incuvate to incubate throughout source and SQL.
* Added skill ID to the error display for battle_calc_attack to help resolve issues. (bugreport:8876)
* Cleaned and corrected some Sorcerer Elemental skills. (bugreport:9058)
* Cleaned up some more compile warnings.
2014-06-27 15:45:35 -04:00
lighta
82a1c702dc Upd Makefile
Fix small typo in intif.h, ifndef was being unused.
Upd Makefile to simplify libconfig inclusion
2014-05-03 03:05:58 -04:00
brianluau
638642450a - Added svn:eol-style=native property on some recently added text files.
- Fixed a typo in script_commands.txt (bugreport:5998)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16278 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-06-12 15:33:46 +00:00
blacksirius
b3b21e6e8c Fixed bugreport:5990 OSX compiling error / warnings
Bug in Detail:
 - Misplaced LDFLAGS uage in some Makefile templates (by passing them to the compiler not to the linker.)
 - Wrong usage of volatile (a functions return value couldnt be declared to return volatile :D )
 - Unsupported Inline ASM using lock xchg operation on llvm-gcc .. (apple loves this ..)

Fixed by:
 - Removed unnecessary LDFLAGS 
 - Removed unnecessary volatile declarator
 - Replaced InterlockedExchange and InterlockedExchange64 with gcc intrinsics. 



git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16270 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-06-11 23:31:19 +00:00
blacksirius
d1746e052d feature merge bs-coreoptimize->trunk: Build Output Cleanup, Makefile Common Dependency Handling
- "Optimized" the build Output using Makefiles - to Kernel style build output.
- Changed dependency handling to common (core), by generating one lib file (ar) and link against that
	instead of assigning all deps individually in every subproject
- Changed header dependency handling in Subproject makefiles - requiring all common/ headers. 



git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16198 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-06-01 10:46:02 +00:00
eathenabot
c83a410390 * Merged changes ONLY eAthena 15107.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16172 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-31 05:06:05 +00:00
eathenabot
d254bb1fb9 * Merged changes up to eAthena 15105.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16171 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-31 05:02:00 +00:00
eathenabot
b1c851fe59 * Merged changes ONLY eAthena 15104.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16170 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-31 04:32:31 +00:00
eathenabot
397538e535 * Merged changes ONLY eAthena 15101.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16169 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-31 04:27:27 +00:00
eathenabot
e648c0ed79 * Merged changes ONLY eAthena 15100.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16168 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-31 04:24:46 +00:00
eathenabot
2f87c4dd0b - Full revert of r16105 and r16106.
* Merged changes up to eAthena 15094.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16110 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-13 17:14:43 +00:00
eathenabot
1798cf32c4 * Merged changes up to eAthena 15096.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16106 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-12 20:31:55 +00:00
eathenabot
0769329223 * Merged changes up to eAthena 15095.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16105 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-12 20:14:01 +00:00
eathenabot
cc095606bf * Merged changes up to eAthena 15094.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16096 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-11 02:37:53 +00:00
shennetsind
a80b8bad6c Clearing a few dozen buildbot warnings. MAKE THE TREE GREEN! <3PEKKLE
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16036 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-02 03:26:26 +00:00
flaviojs
083ff3d160 - Fixed CMake compilation (libconfig integrated into common_base).
- Chanced libconfig.h include directives to double-quoted form (never use the system version of libconfig.h).
- Removed ShowError/ShowNotice from sig plugin (showmsg.c depends on core.c).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15737 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-20 16:59:07 +00:00
gepard1984
e314187787 Updated CMakeLists (follow-up to r15572, r15586) (patch provided by Saithis, pid:82588).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15651 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02 19:57:29 +00:00
shennetsind
08059c9f61 Fixed gcc warnings on libconfig.c
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15591 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-17 15:57:41 +00:00
gepard1984
a2424f2c92 Fixed libconfig compiling issues in CentOS 5 (follow-up to r15572) (pid:78747).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15584 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-15 16:14:06 +00:00
gepard1984
22f0714c07 - Added libconfig (configuration file library: http://www.hyperrealm.com/libconfig/):
- Updated VS9/10 project files.
   - Updated `configure` & `Makefile`s.
 - New GM, Commands & Permissions system:
   - '''This is a backwards compatibility breaking update''', please read tid:58877
   - Replaced GM levels with Player Groups.
   - Commands permissions & other privileges now depend on group, not GM level.
 - `@help` command improvements: requires "commandname" param and shows more detailed info about commands.
 - Modified GM whisper system to deliver messages basing on permissions, not GM level.
 - Remote trade request is now possible only if player is allowed to use `@trade` command as well.
 - Added a proper permission to use `/changemaptype` command.
 - `clif_displaymessage` is now capable of displaying multiline messages.
 - All `ACMD_FUNC`s are static now, and the only way to invoke them is with `is_atcommand()`; all client commands (starting with `/`) are now translated into corresponding atcommands (with exception of `/kick` used on monster, as there is no atcommand to kill single monster).
 - Removed nonsense "bot check" triggering when player blocked (`/ex`) Server.
 - Merged `@monster`, `@monsterbig` and `@monstersmall`.
 - Improved flow of atcommand execution to avoid revealing info about online players or existing commands to non-privileged players.
 - Merged `atcommand` and `charcommand` script functions (`charcommand` is aliased to `atcommand`).
   - Fixed `atcommand` script function reading unknown memory area (possible access violation).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15572 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-13 01:19:04 +00:00
brianluau
00367cd7b7 - Removed more trailing tabs.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15527 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-01-30 20:17:55 +00:00