rathena liteweight portable compiler

Demonstration how anacondaq rathena/hercules compiler works. Use this version. 2024

The instructions are in the archive.
It’s very simple, download the500MB archive, unpack it – write a command in cmder – get exactly the same result that you will get with Visual Studio Community 2022.

Current version: 2024-03-23

The most important thing: this is a completely free file and compiler. Use it freely.


I provide you with the opportunity to download just a 300-500MB archive for compiling the emulator.
The video demonstration is above.

Instruction how to use:

  1. Download
  2. extract
  3. with cd/dir go to folder of emulator
  4. run command below to compile src code.
  5. thats it, so easy. nothing required to install

for rAthena:

Flags:

rAthena:
configuration:
— Release
— Debug

Platforms:
— Win32
— x64

For building rAthena you need execute the command:

msbuild rAthena.sln /p:Configuration=Debug /p:Platform=x64

for Hercules (old):
configuration:
— Release
— Debug

Platform:
— Win32

For building Hercules you need execute the command:

msbuild Hercules.sln /p:Configuration=Debug /p:Platform=Win32

means -> open Hercules.sln, select Debug for Win32

Note: hercules using v143 api, maybe later i will provide an update to cover this too

Optionally you can read about build tools here:
https://learn.microsoft.com/en-us/cpp/build/msbuild-visual-cpp?view=msvc-170

History: Why is this needed?


In short, I have been paying attention to this issue since 2015, when support for old versions of Visual C++ Express was removed.
For those who don’t understand how it was, let me explain: the compiler weighed around 200MB and was economical for traffic and disk space.
Then the software was updated, and now to compile the emulator, you need to download 10 gigabytes of data and install about 12-15 gigabytes on the disk to set up a full-fledged environment only for one purpose – for compilation.

I am 99.999% sure that almost all of you do not use the development environment for its intended purpose. Hence, you do not need these files.
And downloading and storing tens of gigabytes of data for one function is a bad idea.

My old irrelevant projects:

1. BuildTools Version 2017 (not actual)

Old not actual version. In 2024 – buildtools size ~ same as complete studio package.

This project is an evolution of two previous ones. Please do not download them. I am only publishing them for historical reference on how the idea evolved over the years.

The oldest version: Rathena board topic
Archive on the topic (if it is deleted): web_archive

This version used BuildTools instead of Visual Studio Community. The space was reduced by 10 times, but unfortunately, this version is not relevant and does not work as needed for 2024, or the size of BuildTools C++ is equivalent to a full-fledged graphical development environment.

2. Cygwin version (2018, not actual too)

Then there was an attempt to compile as in Linux using Cygwin.

This approach involved using the gcc / cmake console compiler and translating the resulting source code through the Cygwin interpreter into a working application for Windows. Unfortunately, this project has a lot of performance problems and vulnerabilities, and by 2024, it is not compatible with the emulator. I can fix this, but there is no more point in it.

And finally, the current version for 2024 (first video)

Just scroll up to the top to download it.