Skip to main content

Header Scripts

In this chapter you'll learn about Header Scripts to share symbols between C++ scripts.

Purpose

Besides C++ Scripts, Jenova also provides C++ Header Scripts. They can be used to define Objects, Classes, Interfaces, and Values shared between different C++ Scripts.

In C++, You can use symbols from other sources using extern without using a header. However, using a header makes it easier to import and share symbols across different source files.

Using extern Keyword

Here's a quick example showing the usage of the extern keyword :

Jenova C++ Script (SceneManager.cpp)
void ChangeCurrentScene(String& targetScene)
{
...
}
Jenova C++ Script (Button.cpp)
// Import Symbol
extern void ChangeCurrentScene(String& targetScene);

...

// Use Imported Symbol
void OnButtonClick(String& targetScene)
{
ChangeCurrentScene("Main Menu");
}

Using Headers

Here's a quick example showing the usage of headers :

Jenova C++ Script (SceneManager.h)
void ChangeCurrentScene(String& targetScene);
Jenova C++ Script (SceneManager.cpp)
void ChangeCurrentScene(String& targetScene)
{
...
}
Jenova C++ Script (Button.cpp)
// Import Scene Manager Header
#include "SceneManager.h"

...

// Use Imported Symbol
void OnButtonClick(String& targetScene)
{
ChangeCurrentScene("Main Menu");
}

Usecase

To Add a new C++ Header, Simply use Create New > Script... in FileSystem and set Language to C++ Header.

GuideImage_JenovaPackageManagerCompilers

Create Script Dialogue, Adding a new C++ Header to the project.

Now you can include your header in any C++ Script.

Note

C++ Headers are included in the build system from your project path.

For example, if you place a header file named Helpers.hpp in res://Headers, you should use the following include line:

#include <Headers/Helpers.hpp>