Skip to content

Jenova-Framework/Jenova-Runtime

Repository files navigation

Jenova-Framework-Banner

Jenova Runtime (Core)

This repository contains source code of Jenova Runtime for Godot Engine and It's a part of Projekt J.E.N.O.V.A

Jenova-Screenshot

Jenova Runtime (Windows-x64) Jenova Runtime (Linux-64)

Overview

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.

Jenova Runtime (Core)

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.

Issue/Bug Reports and Questions

  • 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.

Dependencies

Jenova Core has following dependencies :

Important

  • Edit base64.hpp namespace to base64
  • Only header file libtcc.h is 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.

Build Systems

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.

Godot Compatibility

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.

Open Source vs Proprietary

While the public source code of Jenova is ~90% identical to the proprietary version, a few specific features have been removed or disabled.

These changes include :

  • 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.

Cross-Platform

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.

RepoBeats


Developed & Designed By Hamid.Memar (MemarDesign™ LLC.)

About

Jenova Runtime is a component for the Godot Engine that brings fully-featured C++ scripting directly into the engine.

Topics

Resources

License

Stars

Watchers

Forks

Contributors