This repository contains source code of Jenova Runtime for Godot Engine and It's a part of Projekt J.E.N.O.V.A
Projekt J.E.N.O.V.A is a comprehensive collection of modular components for the Godot Engine, designed to deliver major enhancements and break through the limitations of current development workflows. By bringing fully-featured C++ scripting directly into the Godot Editor, it enables the use of modern C++20/C++23 standards within Godot in a manner similar to GDScript.
Jenova Framework empowers developers to build entire games or applications natively in C/C++ with ease and stability. It supports seamless integration of cutting-edge technologies and allowing direct integration of OpenCV, CUDA, Vulkan, OpenMP and any other modern C++ features seamlessly, All supported by the powerful backend.
For more information and to view the full feature list, check out the details here.
This repository contains the full source code of Jenova Runtime, a full-featured scripting backend with a wide range of capabilities including a Build System, Compiler Interface, Script Objects, Script Language, Script Instances, Script Interpreter and more.
- If you want to report an issue or bug create a new thread at Issues.
- If you have any questions you can create a new thread at Discussions.
- More details on the build process can be found at Documentation.
Jenova Core has following dependencies :
- AsmJIT
- LibArchive
- LibLZMA
- LibCurl
- LibFastZLib
- LibTinyCC
- LibPThread
- JSON++
- FileWatch
- ArgParse++
- Base64++
Important
- Edit base64.hpp namespace to
base64 - Only header file
libtcc.his required from TinyCC beside static library - In FileWatch.hpp change
_callback(file.first, file.second);to_callback(_path + "/" + file.first, file.second); - By using Jenova Builder, All the dependencies are downloaded, manipulated and compiled automatically.
Jenova Runtime can be built on Windows x64 and Linux x64 using Jenova Builder.
Prerequisites:
- Python (3.10+)
- CMake (3.20+)
- Ninja (1.11+)
- Python packages:
pip install requests py7zr colored
Windows x64: Requires Visual Studio (2022+) with C++20 support or the AiO Toolchain.
Linux x64: Compatible with Clang++ (18+) and G++ (13+).
For detailed build instructions and more information, see the Build Guide.
As of Jenova Runtime 0.4.0.0 LTS, Godot 4.7 Stable is the minimum required version due to breaking changes in godot-cpp. While it is still possible to build 0.4.0.0+ for Godot 4.2–4.6 with minor modifications, the official builder is now fully migrated and fine-tuned for Godot 4.7 only.
While the public source code of Jenova is ~90% identical to the proprietary version, a few specific features have been removed or disabled.
-
Jenova Emulator Connector is removed and will be made available later as an addon in the Package Manager.
-
A.K.I.R.A JIT is removed from the public source code. This component was responsible for executing obfuscated code using a proprietary highly secured VM.
-
Code Encryption and Key System has been omitted from the public version to protect critical proprietary algorithms. However, Code Compression is fully included, Developers can add their own encryption on top of the existing buffering system.
-
Jenova Code Virtualizer/Sandbox removed due to reliance on the proprietary SecureAngel™ 2.0 technology.
Jenova Proprietary version includes only Microsoft Visual C++ (MSVC) and Microsoft LLVM Clang (Clang-cl) compilers and is compatible only with Windows. Open-Source version, however, is fully ported to Linux and includes support for MSVC, Clang-cl, MinGW GCC and LLVM on Windows as well as GCC and LLVM Clang on Linux.
Important
The proprietary version has been deprecated and is no longer maintained. All future development efforts are now focused exclusively on the open-source version, which will continue to incorporate enhancements from the previous proprietary releases, with the exception of security-related features.
Developed & Designed By Hamid.Memar (MemarDesign™ LLC.)
