@@ -496,29 +496,35 @@ typedef struct ExtendedPlayerFields_\
496496} ExtendedPlayerFields;" ;
497497 }
498498
499- FFI_EXPORT (unsigned int ) LunaLuaCollisionMatrixAllocateIndex( )
499+ FFI_EXPORT (FFIString*) LunaLuaCollisionMatrixGetGroupFromIndex( unsigned int groupIndex )
500500 {
501- return gCollisionMatrix .allocateIndex ();
501+ std::string const & collisionGroup = gCollisionMatrix .getGroupFromIndex (groupIndex);
502+
503+ static FFIString collisionGroupFFI;
504+ collisionGroupFFI.buf = collisionGroup.c_str ();
505+ collisionGroupFFI.size = collisionGroup.size ();
506+
507+ return &collisionGroupFFI;
502508 }
503509
504- FFI_EXPORT (void ) LunaLuaCollisionMatrixIncrementReferenceCount(unsigned int group)
505- {
506- gCollisionMatrix .incrementReferenceCount (group);
510+ FFI_EXPORT (unsigned int ) LunaLuaCollisionMatrixAssignGroup(unsigned int previousGroupIndex, char const * newGroup) {
511+ return gCollisionMatrix .assignGroup (previousGroupIndex, newGroup);
507512 }
508513
509- FFI_EXPORT (void ) LunaLuaCollisionMatrixDecrementReferenceCount(unsigned int group)
510- {
511- gCollisionMatrix .decrementReferenceCount (group);
514+ FFI_EXPORT (bool ) LunaLuaCollisionMatrixGetGroupsCollide(char const * i, char const * j) {
515+ return gCollisionMatrix .getGroupsCollide (i, j);
512516 }
513517
514- FFI_EXPORT (void ) LunaLuaGlobalCollisionMatrixSetIndicesCollide(unsigned int first, unsigned int second, bool collide)
515- {
516- gCollisionMatrix .setIndicesCollide (first, second, collide);
518+ FFI_EXPORT (bool ) LunaLuaCollisionMatrixGetGroupIndexCollidesWithGroup(unsigned int i, char const * j) {
519+ return gCollisionMatrix .getGroupsCollide (i, j);
517520 }
518521
519- FFI_EXPORT (bool ) LunaLuaGlobalCollisionMatrixGetIndicesCollide(unsigned int first, unsigned int second)
520- {
521- return gCollisionMatrix .getIndicesCollide (first, second);
522+ FFI_EXPORT (bool ) LunaLuaCollisionMatrixGetGroupIndicesCollide(unsigned int i, unsigned int j) {
523+ return gCollisionMatrix .getGroupsCollide (i, j);
524+ }
525+
526+ FFI_EXPORT (void ) LunaLuaCollisionMatrixSetGroupsCollide(char const * i, char const * j, bool collides) {
527+ return gCollisionMatrix .setGroupsCollide (i, j, collides);
522528 }
523529
524530 FFI_EXPORT (void ) LunaLuaSetPlayerFilterBounceFix(bool enable)
0 commit comments