Skip to content

Custom configuration language used for Cacao bindings and offsets

License

Notifications You must be signed in to change notification settings

camila314/Broma

Repository files navigation

Broma

Broma is a C++-like language and parser designed to generate "bindings" for C++ classes and functions in external native binaries. Here's some example bindings:

class BindedClass {
	void bindedFunction() = mac 0xd5db0, win 0x3c8d, ios 0xa83bc;

	int m_member1;
	int m_member2;
}

class OtherBindedClass : BindedClass {
	virtual void otherBindedFunction() = mac 0x7e3bc, win 0x5a1c, ios 0x8e412;

	// win and ios addresses have not been found yet, will not generate
	static int staticFunction(int a, bool c) = mac 0x74bd3;

	// Embed c++ code
	inline int getIndex(int index) {
		return m_myVector[index];
	} 

	// templates supported
	std::vector<int> m_myVector;
}

This language is primarily designed for use in the Geometry Dash modding framework Geode, and most of the language features are tailored for that usecase.

About

Custom configuration language used for Cacao bindings and offsets

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages