Skip to content

Commit 40731ff

Browse files
Fix B
1 parent 9b508ad commit 40731ff

4 files changed

Lines changed: 339 additions & 98 deletions

File tree

LunaDll/LuaMain/LuaProxyFFI.cpp

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)