Skip to content

XeTrinityz/ThatSkyLoader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sky: Children of the Light

Note: This repo is by XeTrinityz created from the original project by Lukas which is no longer maintained. This repo includes significant optimizations and enhancements to the original codebase.

Overview

ThatSkyLoader is a powerful mod loader for Sky: Children of the Light on PC. It integrates with the game through a Vulkan layer, allowing for dynamic loading and management of mods without modifying the original game files.

Features

  • Dynamic Mod Loading: Load and unload mods at runtime
  • User-Friendly Interface: ImGui-based interface for managing mods
  • Mod Management: Enable/disable mods individually
  • Custom Font Support: Configurable font settings for the mod interface
  • Vulkan Integration: Seamless integration with the game's rendering pipeline

Prerequisites

  • Windows 10 or later
  • Visual Studio 2022 with C++ development tools
  • CMake 3.20 or higher
  • x64 Native Tools Command Prompt for VS 2022

Installation

1. Clone the Repository

git clone https://github.com/XeTrinityz/ThatSkyLoader.git
cd ThatSkyLoader

2. Extract Dependencies

Before building, extract the compressed library files:

# Extract libmem.7z in the lib/release directory
7z x lib/release/libmem.7z -o./lib/release/

3. Build the Project

Due to linking issues with libmem in Visual Studio, build using the command line:

# Open x64 Native Tools Command Prompt for VS 2022
mkdir build
cd build
cmake .. -G "NMake Makefiles" -D CMAKE_BUILD_TYPE="Release"
nmake

4. Installation

After building, the mod loader will be available as powrprof.dll in the lib/release directory. To install:

  1. Copy powrprof.dll to your Sky: Children of the Light installation directory
  2. Create a mods folder in the same directory if it doesn't exist
  3. Place your mod files (.dll) in the mods folder

Usage

  1. Launch Sky: Children of the Light
  2. Use the interface to enable/disable mods
  3. Enjoy your modded gameplay experience!

Creating Mods

Mods for ThatSkyLoader are DLL files that follow a specific API. A basic mod structure includes:

// Example mod structure
extern "C" {
    // Required mod info function
    __declspec(dllexport) ModInfo GetModInfo() {
        ModInfo info;
        info.name = "Example Mod";
        info.version = "1.0.0";
        info.author = "Your Name";
        info.description = "A simple example mod";
        return info;
    }
    
    // Called when the mod is loaded
    __declspec(dllexport) bool OnLoad() {
        // Initialization code
        return true;
    }
    
    // Called when the mod is unloaded
    __declspec(dllexport) void OnUnload() {
        // Cleanup code
    }
}

Project Structure

  • src/ - Source code files
    • layer.cpp - Vulkan layer implementation
    • mod_loader.cpp - Core mod loading functionality
    • menu.cpp - ImGui interface implementation
    • main.cpp - Entry point
  • include/ - Header files
  • lib/ - External libraries

Contributing

Contributions are welcome! This fork is actively maintained by XeTrinityz. Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the terms of the license included with the repository.

Contact

For questions or issues specific to this optimized fork, please contact XeTrinityz or open an issue on GitHub.


Made with ❤️ for the Sky: Children of the Light community

About

A mod loader for the game Sky: Children of the Light

Resources

License

Stars

Watchers

Forks