An open API service indexing awesome lists of open source software.

https://github.com/ghostrider-05/rl-dummy-classes2

Autogenerated dummy classes for Rocket League map making
https://github.com/ghostrider-05/rl-dummy-classes2

Last synced: 2 months ago
JSON representation

Autogenerated dummy classes for Rocket League map making

Awesome Lists containing this project

README

        

# Autogenerated [dummy classes][dc]

[!["Supported version"](https://img.shields.io/badge/Rocket%20League-v2.49-blue)](https://www.rocketleague.com/news/patch-notes-v2-49/)
[!["Recompile warning"](https://img.shields.io/badge/Recompile%20warnings-49-orange)](https://github.com/ghostrider-05/RL-dummy-classes2/issues/4)
[![Chat on Discord](https://img.shields.io/badge/chat-discord-5865F2?logo=discord)][discord]

Is a class working incorrect? [Create an issue](https://github.com/ghostrider-05/RL-dummy-classes2/issues)

## Getting started

> [!WARNING]
> If you get recompile errors, you likely already have the [Dummy Classes][dc] installed without deleting the folders. You don't need to change any autogenerated class to get it to recompile!

1. If you already have the [Dummy Classes][dc] installed, remove the dummy classes in these folders in `/Development/Src/` (continue to the next step if you don't have them installed):
- `AkAudio`
- `ProjectX`
- `TAGame`
2. [Download the `Src` folder](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/ghostrider-05/RL-dummy-classes2/tree/main/Src)
3. Extract the downloaded folder to `UDK/{UDK name}/Development/`
4. Recompile the classes
5. If you want to go back: delete the same folders as in step 1, download the [Dummy classes][dc] or [UDK classes](https://cdn.ghostrider-05.com/Src.zip) and do steps 3 and 4 again.

If preferred, you can also use [svn export](https://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.export.html) or `git sparse-checkout`.

Example commands for git

### Installing

1. [Install Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) on your system. If you already have Git, you can skip this step.
1. Create a git project and add the autogenerated classes:

```sh
# Change this to your folder where UDK is installed
cd ./UDK/{UDK name}/Development/
git init
git remote add origin https://github.com/ghostrider-05/RL-dummy-classes2
git config core.sparsecheckout true
echo "Src/*" >> .git/info/sparse-checkout
git pull --depth=1 origin main
```

### Updating

To update when new classes are added, run the following commands:

```sh
# Go back to the /Development/ folder
cd ./UDK/{UDK name}/Development/
# Fetch updated classes
git pull --depth=1 origin main
# Recompile classes
cd ../Binaries/Win32/
UDK make -full
```

That's it!

## Configuration

Extractor

[config.toml](./config.toml) is the configuration file for adding more options during the extraction.

Top level:

- `Version`: the current version of the game to extract

`AssetExtraction`:

- `IgnoredFlags`: these variable flags will be removed during the extraction
- `IgnoredDefaultProperties`: default properties that contain these words will be commented

Descriptions

Fill the [`description.toml`](./description.toml) configuration with the class descriptions.
When running the CI this file will be merged with the classes to combine the descriptions.

Special classes:

- `_DummyClass`: this will hold some descriptions commonly used in extracting the classes.
- `_ApplyToAll_DummyClass`: all properties listed in this class will be applied to all classes that have that property. Specify that property on a class to overwrite the descriptions or set it to empty to remove it.

Descriptions can be defined for:

- `Variables`
- `Structures.{Structure name}`
- `Enums`
- `DefaultVariables`
- `NodeInputs`
- `NodeOutputs`
- `NodeVariables`

All types use the property name as the key, except for the `Node*` types. These use the index of the link.
Example:

```toml
[MyClass.Variables]
PropertyName="Something interesting"

[MyKismetNode.NodeInputs]
0="The first input link"
```

## Replication blocks

> [!WARNING]
> These replication statements may not be correct. Please check the official documentation or ask help in [the Rocket League mapmaking discord server][discord].

If a class has replicated variables, there will be a `replicated` block at the bottom of the class.

```c++
replicated
{
if (statementCode) // The replication condition
Location; // The variables that will be replicated when the condition is true
}
```

If a statement is not known, a comment will be placed behind the default statement.

## Changelog

The [changelog](CHANGELOG.md) will show the difference between an installation of [the dummy classes][dc] at a certain commit (see the description of the changelog) and the autogenerated dummy classes.

The [Engine changelog](/ci/changelog/CHANGELOG_Engine.md) will contain a list of changes you could make to relevant classes in `/Engine/Classes/`.

You can also fetch the changelog (in JSON) from the GitHub API from the outputted files:

- [kismet.json](/ci/changelog/kismet.json): lists new and deleted kismet nodes when switching from [the dummy classes](/ci/changelog/CHANGELOG_Engine.md).
- [classes.json](CHANGELOG.md): lists new and deleted classes, including kismet nodes, when switching from [the dummy classes](CHANGELOG.md).
- [extracted.json](/ci/changelog/extracted.json): lists all [`AkAudio`, `ProjectX` and `TAGame` classes](/Src/) in [JSON format](/ci/changelog/extracted-schema.json).

## Credits

Made using [Martinn's decryption tools](https://github.com/Martinii89/Unreal-Library).

[dc]: https://github.com/RocketLeagueMapMaking/RL-dummy-classes
[discord]: https://discord.com/channels/711882968200904715/1075042356765659137