https://github.com/cloudyluna/lunac
Modded THOL's client/server for my personal use
https://github.com/cloudyluna/lunac
Last synced: 4 months ago
JSON representation
Modded THOL's client/server for my personal use
- Host: GitHub
- URL: https://github.com/cloudyluna/lunac
- Owner: cloudyluna
- Created: 2025-01-22T03:57:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-23T07:56:15.000Z (over 1 year ago)
- Last Synced: 2025-03-24T07:55:38.838Z (about 1 year ago)
- Language: Makefile
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LUNAC
A personal modded client (and server) based on THOL vanilla client v20319.
Just exploring..that's all.
## Features & Changes
- On-screen chat log panel to retain last spoken 17 messages from
nearby players. Can be toggled on or off with `SHIFT+L` key.

- Quick mark object coordinates on hover when there's no given argument.

### Technical
- Consistent and automatically formatted OneLife's `C++` code using
`clang-format` formatter. It uses the default `Microsoft`'s recommended style.
- Compilable with C++ 23 standard and `clang` 19.4+.
- Simple development flow with `flake.nix` and Makefile.
- `cppcheck`, clang ASAN and many other clang based tools are available
for use.
## Building
### Requirements
- Standalone `nix` package manager or NixOS with `flake` feature enabled.
1. Recursively clone the project with: `git clone --recurse-submodules https://github.com/cloudyluna/LUNAC`
2. `cd` into the repository.
3. Run `nix develop` or enable `direnv` with `direnv allow`. Wait for the nix development environment to load.
4. Run `make` to build both `client` and the `server`.
Optionally, run `make run-client` to run the client directly.
`OPTIMIZATION` flags for `Makefile` includes:
- `debug` - optimized build for compilation speed. the default with full warnings.
- `debug_no_warn` - same as `debug` but with warnings surpressed.
- `debug_asan` - (experimental) optimized for clang address sanitizer.
- `fast` - optimized for runtime speed `-O3`.
Example: `make client OPTIMIZATION=fast`