#Removing class_names

1 messages · Page 1 of 1 (latest)

brittle swallow
#

Hello,

This is a very technical feedback request that highlights an issue we’ve been dealing with for a long time. Buckshot Roulette is running on Godot v4.1.1, which is currently experiencing a bug with any script that uses class_name. Extending a script that uses class_name leads to errors. This has been a known issue for quite some time: https://github.com/godotengine/godot/issues/83542

Because of this issue, we who have been developing the Buckshot Roulette Mod Loader have had to rely on delta patching to install the Mod Loader. Delta patching is a process used to create a “difference” file between two files whereby one can be converted into the other. It doesn’t matter what the two files are; the file is essentially used as a check to make sure the user has a copy of the original file before creating the modded version. (1/3)

GitHub

Godot version v4.1.2.stable.official [399c9dc] v4.2.beta1.official [b137180] System information Godot v4.1.2.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3080 (NVI...

#

Godot natively supports running scripts and mods without going through this process. The —script flag can be used to specify any mods or extra scripts to be run instead of the main scene. If we had access to this for the Mod Loader, we would be able to supply just the Mod Loader files on their own. This would also allow for better integration with mod loaders like Thunderstore.

However, due to the Godot bug and the presence of class_name all throughout Buckshot, we have to manually remove all class names every time the game experiences a major upgrade. But we’ve been able to do it. What we’re currently working with is an ideal version of Buckshot - one that forgoes class_name entirely for maximum mod compatibility. (2/3)

#

I’m requesting that Buckshot Roulette be patched to remove all references to classes from all scripts. This is not difficult at this point, since we already have these scripts to work with for the Mod Loader. This change to the game would ultimately involve minimal effort to implement and would have massive improvements for the modding community. Although it would slightly change how future coding is done by requiring class_names to be hard-coded as consts, it would be worth it given the existence of this Godot bug.

I’d also request that this patch extend to the itch.io version, and that itch.io users receive an update to the game that essentially does nothing for them. The using_steam variable can be used to hide the multiplayer button while keeping parity between the files of the two versions.

Please feel free to follow up if you need any more information. I’m happy to explain anything further! (3/3)