1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-02-21 20:27:13 +01:00

Don't use overloads in the foreach algorithm for simplicity and performance reasons.

This commit is contained in:
Sandu Liviu Catalin 2016-10-31 18:34:27 +02:00
parent 8239aef551
commit 07caa7eb52

View File

@ -695,122 +695,147 @@ void Register(HSQUIRRELVM vm)
Table each_ns(vm); Table each_ns(vm);
each_ns.Bind(_SC("Blip"), Table(vm) each_ns.Bind(_SC("Blip"), Table(vm)
.Overload(_SC("Active"), &Entity< CBlip >::EachActive) .Func(_SC("Active"), &Entity< CBlip >::EachActive)
.Overload(_SC("TagEquals"), &Entity< CBlip >::EachWhereTagEquals) .Func(_SC("TagEquals"), &Entity< CBlip >::EachWhereTagEquals)
.Overload(_SC("TagBegins"), &Entity< CBlip >::EachWhereTagBegins) .Func(_SC("TagBegins"), &Entity< CBlip >::EachWhereTagBegins)
.Overload(_SC("TagEnds"), &Entity< CBlip >::EachWhereTagEnds) .Func(_SC("TagEnds"), &Entity< CBlip >::EachWhereTagEnds)
.Overload(_SC("TagContains"), &Entity< CBlip >::EachWhereTagContains) .Func(_SC("TagContains"), &Entity< CBlip >::EachWhereTagContains)
.Overload(_SC("TagMatches"), &Entity< CBlip >::EachWhereTagMatches) .Func(_SC("TagMatches"), &Entity< CBlip >::EachWhereTagMatches)
.Overload(_SC("Active"), &Entity< CBlip >::EachActiveData)
.Overload(_SC("TagEquals"), &Entity< CBlip >::EachWhereTagEqualsData)
.Overload(_SC("TagBegins"), &Entity< CBlip >::EachWhereTagBeginsData)
.Overload(_SC("TagEnds"), &Entity< CBlip >::EachWhereTagEndsData)
.Overload(_SC("TagContains"), &Entity< CBlip >::EachWhereTagContainsData)
.Overload(_SC("TagMatches"), &Entity< CBlip >::EachWhereTagMatchesData)
); );
each_ns.Bind(_SC("Checkpoint"), Table(vm) each_ns.Bind(_SC("Checkpoint"), Table(vm)
.Overload(_SC("Active"), &Entity< CCheckpoint >::EachActive) .Func(_SC("Active"), &Entity< CCheckpoint >::EachActive)
.Overload(_SC("TagEquals"), &Entity< CCheckpoint >::EachWhereTagEquals) .Func(_SC("TagEquals"), &Entity< CCheckpoint >::EachWhereTagEquals)
.Overload(_SC("TagBegins"), &Entity< CCheckpoint >::EachWhereTagBegins) .Func(_SC("TagBegins"), &Entity< CCheckpoint >::EachWhereTagBegins)
.Overload(_SC("TagEnds"), &Entity< CCheckpoint >::EachWhereTagEnds) .Func(_SC("TagEnds"), &Entity< CCheckpoint >::EachWhereTagEnds)
.Overload(_SC("TagContains"), &Entity< CCheckpoint >::EachWhereTagContains) .Func(_SC("TagContains"), &Entity< CCheckpoint >::EachWhereTagContains)
.Overload(_SC("TagMatches"), &Entity< CCheckpoint >::EachWhereTagMatches) .Func(_SC("TagMatches"), &Entity< CCheckpoint >::EachWhereTagMatches)
.Overload(_SC("Active"), &Entity< CCheckpoint >::EachActiveData)
.Overload(_SC("TagEquals"), &Entity< CCheckpoint >::EachWhereTagEqualsData)
.Overload(_SC("TagBegins"), &Entity< CCheckpoint >::EachWhereTagBeginsData)
.Overload(_SC("TagEnds"), &Entity< CCheckpoint >::EachWhereTagEndsData)
.Overload(_SC("TagContains"), &Entity< CCheckpoint >::EachWhereTagContainsData)
.Overload(_SC("TagMatches"), &Entity< CCheckpoint >::EachWhereTagMatchesData)
); );
each_ns.Bind(_SC("Keybind"), Table(vm) each_ns.Bind(_SC("Keybind"), Table(vm)
.Overload(_SC("Active"), &Entity< CKeybind >::EachActive) .Func(_SC("Active"), &Entity< CKeybind >::EachActive)
.Overload(_SC("TagEquals"), &Entity< CKeybind >::EachWhereTagEquals) .Func(_SC("TagEquals"), &Entity< CKeybind >::EachWhereTagEquals)
.Overload(_SC("TagBegins"), &Entity< CKeybind >::EachWhereTagBegins) .Func(_SC("TagBegins"), &Entity< CKeybind >::EachWhereTagBegins)
.Overload(_SC("TagEnds"), &Entity< CKeybind >::EachWhereTagEnds) .Func(_SC("TagEnds"), &Entity< CKeybind >::EachWhereTagEnds)
.Overload(_SC("TagContains"), &Entity< CKeybind >::EachWhereTagContains) .Func(_SC("TagContains"), &Entity< CKeybind >::EachWhereTagContains)
.Overload(_SC("TagMatches"), &Entity< CKeybind >::EachWhereTagMatches) .Func(_SC("TagMatches"), &Entity< CKeybind >::EachWhereTagMatches)
.Overload(_SC("Active"), &Entity< CKeybind >::EachActiveData)
.Overload(_SC("TagEquals"), &Entity< CKeybind >::EachWhereTagEqualsData)
.Overload(_SC("TagBegins"), &Entity< CKeybind >::EachWhereTagBeginsData)
.Overload(_SC("TagEnds"), &Entity< CKeybind >::EachWhereTagEndsData)
.Overload(_SC("TagContains"), &Entity< CKeybind >::EachWhereTagContainsData)
.Overload(_SC("TagMatches"), &Entity< CKeybind >::EachWhereTagMatchesData)
); );
each_ns.Bind(_SC("Object"), Table(vm) each_ns.Bind(_SC("Object"), Table(vm)
.Overload(_SC("Active"), &Entity< CObject >::EachActive) .Func(_SC("Active"), &Entity< CObject >::EachActive)
.Overload(_SC("TagEquals"), &Entity< CObject >::EachWhereTagEquals) .Func(_SC("TagEquals"), &Entity< CObject >::EachWhereTagEquals)
.Overload(_SC("TagBegins"), &Entity< CObject >::EachWhereTagBegins) .Func(_SC("TagBegins"), &Entity< CObject >::EachWhereTagBegins)
.Overload(_SC("TagEnds"), &Entity< CObject >::EachWhereTagEnds) .Func(_SC("TagEnds"), &Entity< CObject >::EachWhereTagEnds)
.Overload(_SC("TagContains"), &Entity< CObject >::EachWhereTagContains) .Func(_SC("TagContains"), &Entity< CObject >::EachWhereTagContains)
.Overload(_SC("TagMatches"), &Entity< CObject >::EachWhereTagMatches) .Func(_SC("TagMatches"), &Entity< CObject >::EachWhereTagMatches)
.Overload(_SC("Active"), &Entity< CObject >::EachActiveData)
.Overload(_SC("TagEquals"), &Entity< CObject >::EachWhereTagEqualsData)
.Overload(_SC("TagBegins"), &Entity< CObject >::EachWhereTagBeginsData)
.Overload(_SC("TagEnds"), &Entity< CObject >::EachWhereTagEndsData)
.Overload(_SC("TagContains"), &Entity< CObject >::EachWhereTagContainsData)
.Overload(_SC("TagMatches"), &Entity< CObject >::EachWhereTagMatchesData)
); );
each_ns.Bind(_SC("Pickup"), Table(vm) each_ns.Bind(_SC("Pickup"), Table(vm)
.Overload(_SC("Active"), &Entity< CPickup >::EachActive) .Func(_SC("Active"), &Entity< CPickup >::EachActive)
.Overload(_SC("TagEquals"), &Entity< CPickup >::EachWhereTagEquals) .Func(_SC("TagEquals"), &Entity< CPickup >::EachWhereTagEquals)
.Overload(_SC("TagBegins"), &Entity< CPickup >::EachWhereTagBegins) .Func(_SC("TagBegins"), &Entity< CPickup >::EachWhereTagBegins)
.Overload(_SC("TagEnds"), &Entity< CPickup >::EachWhereTagEnds) .Func(_SC("TagEnds"), &Entity< CPickup >::EachWhereTagEnds)
.Overload(_SC("TagContains"), &Entity< CPickup >::EachWhereTagContains) .Func(_SC("TagContains"), &Entity< CPickup >::EachWhereTagContains)
.Overload(_SC("TagMatches"), &Entity< CPickup >::EachWhereTagMatches) .Func(_SC("TagMatches"), &Entity< CPickup >::EachWhereTagMatches)
.Overload(_SC("Active"), &Entity< CPickup >::EachActiveData)
.Overload(_SC("TagEquals"), &Entity< CPickup >::EachWhereTagEqualsData)
.Overload(_SC("TagBegins"), &Entity< CPickup >::EachWhereTagBeginsData)
.Overload(_SC("TagEnds"), &Entity< CPickup >::EachWhereTagEndsData)
.Overload(_SC("TagContains"), &Entity< CPickup >::EachWhereTagContainsData)
.Overload(_SC("TagMatches"), &Entity< CPickup >::EachWhereTagMatchesData)
); );
each_ns.Bind(_SC("Player"), Table(vm) each_ns.Bind(_SC("Player"), Table(vm)
.Overload(_SC("Active"), &Entity< CPlayer >::EachActive) .Func(_SC("Active"), &Entity< CPlayer >::EachActive)
.Overload(_SC("TagEquals"), &Entity< CPlayer >::EachWhereTagEquals) .Func(_SC("TagEquals"), &Entity< CPlayer >::EachWhereTagEquals)
.Overload(_SC("TagBegins"), &Entity< CPlayer >::EachWhereTagBegins) .Func(_SC("TagBegins"), &Entity< CPlayer >::EachWhereTagBegins)
.Overload(_SC("TagEnds"), &Entity< CPlayer >::EachWhereTagEnds) .Func(_SC("TagEnds"), &Entity< CPlayer >::EachWhereTagEnds)
.Overload(_SC("TagContains"), &Entity< CPlayer >::EachWhereTagContains) .Func(_SC("TagContains"), &Entity< CPlayer >::EachWhereTagContains)
.Overload(_SC("TagMatches"), &Entity< CPlayer >::EachWhereTagMatches) .Func(_SC("TagMatches"), &Entity< CPlayer >::EachWhereTagMatches)
.Overload(_SC("NameEquals"), &Player_EachWhereNameEquals) .Func(_SC("NameEquals"), &Player_EachWhereNameEquals)
.Overload(_SC("NameBegins"), &Player_EachWhereNameBegins) .Func(_SC("NameBegins"), &Player_EachWhereNameBegins)
.Overload(_SC("NameEnds"), &Player_EachWhereNameEnds) .Func(_SC("NameEnds"), &Player_EachWhereNameEnds)
.Overload(_SC("NameContains"), &Player_EachWhereNameContains) .Func(_SC("NameContains"), &Player_EachWhereNameContains)
.Overload(_SC("NameMatches"), &Player_EachWhereNameMatches) .Func(_SC("NameMatches"), &Player_EachWhereNameMatches)
.Overload(_SC("Active"), &Entity< CPlayer >::EachActiveData)
.Overload(_SC("TagEquals"), &Entity< CPlayer >::EachWhereTagEqualsData)
.Overload(_SC("TagBegins"), &Entity< CPlayer >::EachWhereTagBeginsData)
.Overload(_SC("TagEnds"), &Entity< CPlayer >::EachWhereTagEndsData)
.Overload(_SC("TagContains"), &Entity< CPlayer >::EachWhereTagContainsData)
.Overload(_SC("TagMatches"), &Entity< CPlayer >::EachWhereTagMatchesData)
.Overload(_SC("NameEquals"), &Player_EachWhereNameEqualsData)
.Overload(_SC("NameBegins"), &Player_EachWhereNameBeginsData)
.Overload(_SC("NameEnds"), &Player_EachWhereNameEndsData)
.Overload(_SC("NameContains"), &Player_EachWhereNameContainsData)
.Overload(_SC("NameMatches"), &Player_EachWhereNameMatchesData)
); );
each_ns.Bind(_SC("Vehicle"), Table(vm) each_ns.Bind(_SC("Vehicle"), Table(vm)
.Overload(_SC("Active"), &Entity< CVehicle >::EachActive) .Func(_SC("Active"), &Entity< CVehicle >::EachActive)
.Overload(_SC("TagEquals"), &Entity< CVehicle >::EachWhereTagEquals) .Func(_SC("TagEquals"), &Entity< CVehicle >::EachWhereTagEquals)
.Overload(_SC("TagBegins"), &Entity< CVehicle >::EachWhereTagBegins) .Func(_SC("TagBegins"), &Entity< CVehicle >::EachWhereTagBegins)
.Overload(_SC("TagEnds"), &Entity< CVehicle >::EachWhereTagEnds) .Func(_SC("TagEnds"), &Entity< CVehicle >::EachWhereTagEnds)
.Overload(_SC("TagContains"), &Entity< CVehicle >::EachWhereTagContains) .Func(_SC("TagContains"), &Entity< CVehicle >::EachWhereTagContains)
.Overload(_SC("TagMatches"), &Entity< CVehicle >::EachWhereTagMatches) .Func(_SC("TagMatches"), &Entity< CVehicle >::EachWhereTagMatches)
.Overload(_SC("Active"), &Entity< CVehicle >::EachActiveData)
.Overload(_SC("TagEquals"), &Entity< CVehicle >::EachWhereTagEqualsData)
.Overload(_SC("TagBegins"), &Entity< CVehicle >::EachWhereTagBeginsData)
.Overload(_SC("TagEnds"), &Entity< CVehicle >::EachWhereTagEndsData)
.Overload(_SC("TagContains"), &Entity< CVehicle >::EachWhereTagContainsData)
.Overload(_SC("TagMatches"), &Entity< CVehicle >::EachWhereTagMatchesData)
); );
RootTable(vm).Bind(_SC("SqForeach"), each_ns); RootTable(vm).Bind(_SC("SqForeach"), each_ns);
Table exeach_ns(vm);
exeach_ns.Bind(_SC("Blip"), Table(vm)
.Func(_SC("Active"), &Entity< CBlip >::EachActiveData)
.Func(_SC("TagEquals"), &Entity< CBlip >::EachWhereTagEqualsData)
.Func(_SC("TagBegins"), &Entity< CBlip >::EachWhereTagBeginsData)
.Func(_SC("TagEnds"), &Entity< CBlip >::EachWhereTagEndsData)
.Func(_SC("TagContains"), &Entity< CBlip >::EachWhereTagContainsData)
.Func(_SC("TagMatches"), &Entity< CBlip >::EachWhereTagMatchesData)
);
exeach_ns.Bind(_SC("Checkpoint"), Table(vm)
.Func(_SC("Active"), &Entity< CCheckpoint >::EachActiveData)
.Func(_SC("TagEquals"), &Entity< CCheckpoint >::EachWhereTagEqualsData)
.Func(_SC("TagBegins"), &Entity< CCheckpoint >::EachWhereTagBeginsData)
.Func(_SC("TagEnds"), &Entity< CCheckpoint >::EachWhereTagEndsData)
.Func(_SC("TagContains"), &Entity< CCheckpoint >::EachWhereTagContainsData)
.Func(_SC("TagMatches"), &Entity< CCheckpoint >::EachWhereTagMatchesData)
);
exeach_ns.Bind(_SC("Keybind"), Table(vm)
.Func(_SC("Active"), &Entity< CKeybind >::EachActiveData)
.Func(_SC("TagEquals"), &Entity< CKeybind >::EachWhereTagEqualsData)
.Func(_SC("TagBegins"), &Entity< CKeybind >::EachWhereTagBeginsData)
.Func(_SC("TagEnds"), &Entity< CKeybind >::EachWhereTagEndsData)
.Func(_SC("TagContains"), &Entity< CKeybind >::EachWhereTagContainsData)
.Func(_SC("TagMatches"), &Entity< CKeybind >::EachWhereTagMatchesData)
);
exeach_ns.Bind(_SC("Object"), Table(vm)
.Func(_SC("Active"), &Entity< CObject >::EachActiveData)
.Func(_SC("TagEquals"), &Entity< CObject >::EachWhereTagEqualsData)
.Func(_SC("TagBegins"), &Entity< CObject >::EachWhereTagBeginsData)
.Func(_SC("TagEnds"), &Entity< CObject >::EachWhereTagEndsData)
.Func(_SC("TagContains"), &Entity< CObject >::EachWhereTagContainsData)
.Func(_SC("TagMatches"), &Entity< CObject >::EachWhereTagMatchesData)
);
exeach_ns.Bind(_SC("Pickup"), Table(vm)
.Func(_SC("Active"), &Entity< CPickup >::EachActiveData)
.Func(_SC("TagEquals"), &Entity< CPickup >::EachWhereTagEqualsData)
.Func(_SC("TagBegins"), &Entity< CPickup >::EachWhereTagBeginsData)
.Func(_SC("TagEnds"), &Entity< CPickup >::EachWhereTagEndsData)
.Func(_SC("TagContains"), &Entity< CPickup >::EachWhereTagContainsData)
.Func(_SC("TagMatches"), &Entity< CPickup >::EachWhereTagMatchesData)
);
exeach_ns.Bind(_SC("Player"), Table(vm)
.Func(_SC("Active"), &Entity< CPlayer >::EachActiveData)
.Func(_SC("TagEquals"), &Entity< CPlayer >::EachWhereTagEqualsData)
.Func(_SC("TagBegins"), &Entity< CPlayer >::EachWhereTagBeginsData)
.Func(_SC("TagEnds"), &Entity< CPlayer >::EachWhereTagEndsData)
.Func(_SC("TagContains"), &Entity< CPlayer >::EachWhereTagContainsData)
.Func(_SC("TagMatches"), &Entity< CPlayer >::EachWhereTagMatchesData)
.Func(_SC("NameEquals"), &Player_EachWhereNameEqualsData)
.Func(_SC("NameBegins"), &Player_EachWhereNameBeginsData)
.Func(_SC("NameEnds"), &Player_EachWhereNameEndsData)
.Func(_SC("NameContains"), &Player_EachWhereNameContainsData)
.Func(_SC("NameMatches"), &Player_EachWhereNameMatchesData)
);
exeach_ns.Bind(_SC("Vehicle"), Table(vm)
.Func(_SC("Active"), &Entity< CVehicle >::EachActiveData)
.Func(_SC("TagEquals"), &Entity< CVehicle >::EachWhereTagEqualsData)
.Func(_SC("TagBegins"), &Entity< CVehicle >::EachWhereTagBeginsData)
.Func(_SC("TagEnds"), &Entity< CVehicle >::EachWhereTagEndsData)
.Func(_SC("TagContains"), &Entity< CVehicle >::EachWhereTagContainsData)
.Func(_SC("TagMatches"), &Entity< CVehicle >::EachWhereTagMatchesData)
);
RootTable(vm).Bind(_SC("SqForeachEx"), exeach_ns);
Table count_ns(vm); Table count_ns(vm);
count_ns.Bind(_SC("Blip"), Table(vm) count_ns.Bind(_SC("Blip"), Table(vm)