ko4life-net / ko

Open source development of the game Knight Online. This is a reversed engineered old version of the game aiming to replicate the nostalgic experience we all once had <3
MIT License
48 stars 21 forks source link
3d-graphics directx game knight-online mmorpg tcp-client-server

Knight Online

This is the official Knight Online repository containing sources for the game, server and tools.

This is the main project which focuses only on source development. Its corresponding submodules are fetched automatically via the config.cmd script and maintained under the following projects:

Prerequisite

Getting Started

To get started, clone this repository:

git clone https://github.com/ko4life-net/ko.git

and then double click on the config.cmd script in the root directory.

After configuring the project is done, you can now start the Visual Studio solution (*.sln) file of your preference under the src directory.

Code formatting / Linting

This project is using clang-format from LLVM project to ensure consistency in the entire codebase and to make it easier for everyone to contribute.

When a pull-request is created, automated checks will test your changes to check for possible linting issues. Your pull-request will not be reviewed or considered to be merged if the linter checks are failing.

Therefore and to avoid further confusion, please run the format.ps1 script before submitting your code.

Visual Studio has baked-in support for clang-format and will automatically detect the .clang-format file. However it uses an older version of clang-format, which is not supporting all of the configurations we use. You may want to configure your Visual Studio to the clang-format we have in ko-vendor. Please follow the following steps to do so:

Now whenever you hit CTRL + K / D keyboard shortcut, clang-format will automatically format your code as configured in this project.