Skip to content
forked from camila314/Broma

Custom configuration language used for Geode bindings and offsets

License

Notifications You must be signed in to change notification settings

geode-sdk/Broma

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 Geode bindings and offsets

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.2%
  • CMake 1.1%
  • Other 0.7%