This plugin enables the use of Live++ by Molecular Matter inside of Cryengine.

Live++ // CRYENGINE

This plugin enables the use of Live++ by Molecular Matter inside of Cryengine.
Live++ allows for easy hot-reloading and on the fly changes to native C++ code.

Prerequirements

A valid License and the Live++ sdk is required.

Building from source

  • Clone this Repository into your code/plugins folder.
  • Place the Live++ SDK into the SDK folder.
  • Add Live++ to your cmake setup.

    add_subdirectory(Live++/Module) in CryPlugins/CMakeLists.txt

  • Build with PLUGIN_LIVE++ enabled, the required binaries will be copied to your output folder.

Usage

Simple:

  • Make sure the Live++ plugin dll and the Live++ folder are in your binary directory. (Building from source copies them there)

  • Enable Live++ for your Plugin/Project/Library via the console commands or the module list

    //Enables these Modules during runtime
    lpp_EnableModules "MyGame MyPlugin.dll" 
    //List of enabled modules. Can be set in cfg before startup
    lpp_enabledModules  "MyGame MyPlugin.dll" 
    //Enables Live++ for all loaded Plugins
    lpp_enableForAllPlugins 1
  • Use Live++ as specefied in the documentation

    Note: This does not enable all required compiler settings for your module. It should still work for basic code changes.

Advanced:

  • Same steps as simple
  • Add this code snippet to the CMakeLists.txt of the project you want to enable Live++ for:
    include(PATH_TO_LIVE++_REPO/Live++.cmake)
    LIVEPP_ENABLE_FOR_TARGET(${THIS_PROJECT})
  • The Live++ settings can now be enabled/disabled on a per Project basis in the CMake GUI

API

This Plugin offers an easy API to interact with Live++ functionality.
Listeners for Patch and Compile events can be implemented as well.

The API is defined and documented in Interface/ILive++.h and can be used like any other Cryengine plugin.

Console Variables

//Manually triggers a Live++ recompile
lpp_DoRecompile

/*
Enables the specified modules for live++ usage.
If no extension is specified, .dll will be assumed.
*/
lpp_EnableModules

/*
Disables the specified modules for live++ usage.
If no extension is specified, .dll will be assumed.
*/
lpp_DisableModules

//Enables the current executable to be used with Live++
lpp_enableForExecutable

//Enables Live++ for all loaded engine plugins
lpp_enableForAllPlugins

//Enables the Live++ exception handler instead of the internal one
lpp_useExceptionHandler

//Use the cryengine cmake build system for Live++. --NOT IMPLEMENTED
lpp_useExternalBuildSystem

/*
Stage at which a Live++ Sync Point should be triggered.
0: No automatic sync point
1: pre-update
2: post-update
*/
lpp_syncPointMode 

//Allow the use of external manual sync point calls through the api.
lpp_allowExternalSyncPoints 

//Sets Live++ to load modules asynchronously --Does nothing right now
lpp_enableModulesAsync

/*
List of modules that are enabled for Live++.
If read from config, these modules will be loaded on startup.
If no extension is specified, .dll will be assumed.
*/
lpp_enabledModules 

//Override name for the Live++ process group. Project name + version by default
lpp_groupNameOverride
Owner
Philipp Gehring
DISCLAIMER - This is my personal GitHub, no liabilities or responsibilities will be assumed.
Philipp Gehring
Similar Resources

WIP - Material para uma live stream que estou preparando

C para devs PHP ATENÇÃO: Este projeto ainda está em progresso. A estrutura e conteúdo aqui provavelmente ainda estão muito confusas. Eu não recomendo

Feb 24, 2022

A demo of the relevant blog post: Hook Heaps and Live Free

A demo of the relevant blog post: Hook Heaps and Live Free

LockdExeDemo A demo of the relevant blog post: Hook Heaps and Live Free DEMO Explanation There are 2 compile types. The first is an EXE. The EXE requi

Nov 28, 2022

Wtf Riot? I just want to close League of Legends and live my life. Leave me alone. F*ck corporate adware.

RiotKiller Wtf Riot? Anyways... This application launches League of Legends by calling RiotClientServices.exe --launch-product=league_of_legends --lau

Mar 29, 2022

Live wallpapers for the X window system

Live wallpapers for the X window system

xlivebg - live wallpapers for the X window system About xlivebg is a live wallpaper framework, and collection of live wallpapers, for the X window sys

Aug 19, 2022

A single file header-only live reload solution for C, written in C++

A single file header-only live reload solution for C, written in C++

cr.h A single file header-only live reload solution for C, written in C++: simple public API, 3 functions to use only (and another to export); works a

Dec 2, 2022

Enables Permanent UART output across boots. Supports PS4 version 6.72 only for now

Enables Permanent UART for PS4. Requires a 5.05/6.72/7.02 Jailbroken PS4. To build, you require ps4-sdk from Scene-Collective/ps4-payload-sdk In the t

May 12, 2022

Custom linux kernel module that re-enables fn-keys on the Gigabyte Aero 15 SB

aerofnkeys Custom HID Quirks Driver that fixes function keys not working in the Gigabyte Aero 15 SB on Linux. Works by intercepting non-HID compliant

Aug 30, 2022

MAXREFDES1277 is a reference design that enables the evaluation of MAX17853/52 for battery management in a 48V system.

MAXREFDES1277 is a reference design that enables the evaluation of MAX17853/52 for battery management in a 48V system.

MAXREFDES1277 The MAXREFDES1277 reference design enables quick evaluation of MAX17853/52 for battery management in a 48V system. It can be used to tes

Dec 2, 2021

Avian is an experimental digital currency that enables instant payments to anyone, anywhere in the world.

Avian is an experimental digital currency that enables instant payments to anyone, anywhere in the world.

Avian Network [AVN] What is Avian? Avian is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Avian use

Nov 8, 2022
LightAIMD - A lightweight ab initio molecular dynamics simulation program

LightAIMD - Ubuntu 20.04 Build LightAIMD is a lightweight AIMD (ab initio molecular dynamics) simulation program for simulating aperiodic molecular sy

Nov 27, 2022
A gdnative plugin for Godot's UWP export to add xbox live integration

GodotXbox Current instructions for setting up DLL, steps to setup project for contributing/modifying are coming soon. It should be noted that Godot's

Oct 31, 2022
T-HYDRA is a modified version of original thc-hydra for better use inside Termux .
 T-HYDRA is a modified version of original thc-hydra for better use inside Termux .

T-HYDRA is a modified version of original thc-hydra for better use inside Termux . Earlier , hydra pakage had been with Termux repositories. Then afte

Nov 25, 2022
This Program Enables And Disables Hyper-V Hypervisor So You Can Use Other Virtualisation Tools Such As (VMware, VirtualBox) Simultaneously.

Hyper-V-Switch This Program Enables And Disables Hyper-V Hypervisor So You Can Use Other Virtualisation Tools Such As (VMware, VirtualBox) Simultaneou

Nov 10, 2022
Draw a triangle inside Electron's window using DirectX 11, mixing web and native content.
Draw a triangle inside Electron's window using DirectX 11, mixing web and native content.

Draw a triangle inside Electron's window using DirectX 11, mixing web and native content. Limitations The native content is rendered over a child wind

Jul 12, 2022
Spacex Storage is an offchain storage work inspector of Mannheim Network running inside TEE enclave.

Spacex Storage Spacex Storage is an offchain storage work inspector of Mannheim Network running inside TEE enclave. Contribution Thank you for conside

Oct 21, 2022
tabbed window manager that can tile windows inside floating containers

shod ┌───────────────────────┐ │ │ ┌─────┼────

Nov 19, 2022
A collection of code snippets and examples showing syntax and capabilities of VEX language inside SideFX Houdini
A collection of code snippets and examples showing syntax and capabilities of VEX language inside SideFX Houdini

VEX tutorial A collection of code snippets and examples showing syntax and capabilities of VEX language inside SideFX Houdini by Juraj Tomori How to u

Nov 23, 2022
Simple ATTiny85 based PS/2 to Amiga keyboard protocol converter that fits inside the keyboard.
Simple ATTiny85 based PS/2 to Amiga keyboard protocol converter that fits inside the keyboard.

Simple ATTiny85 based PS/2 to Amiga keyboard protocol converter that fits inside the keyboard.

May 6, 2022
This repo contains example software for the Kernelcon 2021 Hack Live! badge - the Hacker HotKey.
This repo contains example software for the Kernelcon 2021 Hack Live! badge - the Hacker HotKey.

Hacker HotKey This repo contains example software for the Kernelcon 2021 Hack Live! badge - the Hacker HotKey. Default Hotkey Mapping Hacker Hotkey is

Jan 24, 2022