Compare commits

...

8 Commits

Author SHA1 Message Date
Arron Vinyard
08124b0c5b
Merge 4d43cd83eb into 1819f491b5 2025-11-25 23:21:49 +00:00
dependabot[bot]
1819f491b5
Bump actions/checkout from 5 to 6 (#2378)
Some checks failed
Continuous Integration / ${{ matrix.os_short }}-${{ matrix.compiler_cc }} (clang, clang++, ubuntu-latest, linux) (push) Has been cancelled
Continuous Integration / ${{ matrix.os_short }}-${{ matrix.compiler_cc }} (clang-14, clang++-14, ubuntu-22.04, linux) (push) Has been cancelled
Continuous Integration / ${{ matrix.os_short }}-${{ matrix.compiler_cc }} (msvc, windows-latest, win) (push) Has been cancelled
hl2sdk-mock tests / mock (push) Has been cancelled
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 15:55:07 +00:00
Arron Vinyard
4d43cd83eb Change Sort(Custom/Func)1D params from int to any 2022-05-04 05:51:35 -04:00
Arron Vinyard
bb3b73684a
Fix SortFunc2D typedef 2022-04-10 18:41:18 -04:00
Arron Vinyard
7cc392392d
Update smn_sorting.cpp 2022-04-10 17:52:52 -04:00
Arron Vinyard
38ae529a4d
Update adt_array.inc 2022-04-10 17:43:34 -04:00
Arron Vinyard
83f00a920c
Update adt_array.inc 2022-04-10 17:42:48 -04:00
Arron Vinyard
c0b0eb4b73
Change sort optional parameters from Handle to any
Not seeing any particular reason why the optional parameter needs to exclusively be a handle.

This change shouldn't break any API.
2022-04-10 17:38:26 -04:00
8 changed files with 31 additions and 35 deletions

View File

@ -36,7 +36,7 @@ jobs:
MYSQL_VERSION: '5.7'
MMSOURCE_VERSION: '1.12'
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
submodules: recursive
path: sourcemod

View File

@ -12,20 +12,20 @@ jobs:
mock:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
name: Clone sourcemod
with:
submodules: recursive
path: sourcemod
- uses: actions/checkout@v5
- uses: actions/checkout@v6
name: Clone metamod-source
with:
repository: alliedmodders/metamod-source
submodules: recursive
path: metamod-source
- uses: actions/checkout@v5
- uses: actions/checkout@v6
name: Clone hl2sdk-mock
with:
repository: alliedmodders/hl2sdk-mock

View File

@ -25,7 +25,7 @@ jobs:
env:
ARCH: x86,x86_64
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
submodules: recursive

View File

@ -10,7 +10,7 @@ jobs:
update_translations:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
submodules: recursive

View File

@ -15,7 +15,7 @@ jobs:
check_translations:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
name: Setup Python 3.10

View File

@ -342,7 +342,7 @@ static cell_t sm_SortStrings(IPluginContext *pContext, const cell_t *params)
struct sort_info
{
IPluginFunction *pFunc;
Handle_t hndl;
cell_t data;
cell_t array_addr;
cell_t *array_base;
cell_t *array_remap;
@ -364,7 +364,7 @@ int sort1d_amx_custom(const void *elem1, const void *elem2)
pf->PushCell(c1);
pf->PushCell(c2);
pf->PushCell(g_SortInfo.array_addr);
pf->PushCell(g_SortInfo.hndl);
pf->PushCell(g_SortInfo.data);
pf->Invoke(&result);
return result;
@ -386,7 +386,7 @@ static cell_t sm_SortCustom1D(IPluginContext *pContext, const cell_t *params)
sort_info oldinfo = g_SortInfo;
DetectExceptions eh(pContext);
g_SortInfo.hndl = params[4];
g_SortInfo.data = params[4];
g_SortInfo.array_addr = params[1];
g_SortInfo.array_remap = NULL;
g_SortInfo.array_base = NULL;
@ -419,7 +419,7 @@ static int sort2d_amx_custom_legacy(const void *elem1, const void *elem2)
g_SortInfo.pFunc->PushCell(c1_addr);
g_SortInfo.pFunc->PushCell(c2_addr);
g_SortInfo.pFunc->PushCell(g_SortInfo.array_addr);
g_SortInfo.pFunc->PushCell(g_SortInfo.hndl);
g_SortInfo.pFunc->PushCell(g_SortInfo.data);
g_SortInfo.pFunc->Invoke(&result);
return result;
@ -451,7 +451,7 @@ static cell_t sm_SortCustom2D_Legacy(IPluginContext *pContext, const cell_t *par
DetectExceptions eh(pContext);
g_SortInfo.pFunc = pFunction;
g_SortInfo.hndl = params[4];
g_SortInfo.data = params[4];
g_SortInfo.array_addr = params[1];
g_SortInfo.eh = &eh;
@ -495,7 +495,7 @@ static int sort2d_amx_custom(const void *elem1, const void *elem2)
g_SortInfo.pFunc->PushCell(iv1);
g_SortInfo.pFunc->PushCell(iv2);
g_SortInfo.pFunc->PushCell(g_SortInfo.array_addr);
g_SortInfo.pFunc->PushCell(g_SortInfo.hndl);
g_SortInfo.pFunc->PushCell(g_SortInfo.data);
g_SortInfo.pFunc->Invoke(&result);
return result;
@ -522,7 +522,7 @@ static cell_t sm_SortCustom2D(IPluginContext *pContext, const cell_t *params)
DetectExceptions eh(pContext);
g_SortInfo.pFunc = pFunction;
g_SortInfo.hndl = params[4];
g_SortInfo.data = params[4];
g_SortInfo.array_addr = params[1];
g_SortInfo.eh = &eh;
@ -630,7 +630,7 @@ struct sort_infoADT
cell_t *array_base;
cell_t array_bsize;
Handle_t array_hndl;
Handle_t hndl;
cell_t data;
ExceptionHandler *eh;
};
@ -646,7 +646,7 @@ int sort_adtarray_custom(const void *elem1, const void *elem2)
pf->PushCell(((cell_t) ((cell_t *) elem1 - g_SortInfoADT.array_base)) / g_SortInfoADT.array_bsize);
pf->PushCell(((cell_t) ((cell_t *) elem2 - g_SortInfoADT.array_base)) / g_SortInfoADT.array_bsize);
pf->PushCell(g_SortInfoADT.array_hndl);
pf->PushCell(g_SortInfoADT.hndl);
pf->PushCell(g_SortInfoADT.data);
pf->Invoke(&result);
return result;
@ -681,7 +681,7 @@ static cell_t sm_SortADTArrayCustom(IPluginContext *pContext, const cell_t *para
g_SortInfoADT.array_base = array;
g_SortInfoADT.array_bsize = (cell_t) blocksize;
g_SortInfoADT.array_hndl = params[1];
g_SortInfoADT.hndl = params[3];
g_SortInfoADT.data = params[3];
g_SortInfoADT.eh = &eh;
qsort(array, arraysize, blocksize * sizeof(cell_t), sort_adtarray_custom);

View File

@ -239,8 +239,8 @@ methodmap ArrayList < Handle {
// Custom sorts an ADT Array. You must pass in a comparison function.
//
// @param sortfunc Sort comparison function to use
// @param hndl Optional Handle to pass through the comparison calls.
public native void SortCustom(SortFuncADTArray sortfunc, Handle hndl=INVALID_HANDLE);
// @param data Optional Handle or value to pass through the comparison calls.
public native void SortCustom(SortFuncADTArray sortfunc, any data=0);
// Retrieve the size of the array.
property int Length {

View File

@ -90,12 +90,12 @@ native void SortStrings(char[][] array, int array_size, SortOrder order = Sort_A
* @param elem1 First element to compare.
* @param elem2 Second element to compare.
* @param array Array that is being sorted (order is undefined).
* @param hndl Handle optionally passed in while sorting.
* @param data Handle or value optionally passed in while sorting.
* @return -1 if first should go before second
* 0 if first is equal to second
* 1 if first should go after second
*/
typedef SortFunc1D = function int (int elem1, int elem2, const int[] array, Handle hndl);
typedef SortFunc1D = function int (any elem1, any elem2, const any[] array, any data);
/**
* Sorts a custom 1D array. You must pass in a comparison function.
@ -103,9 +103,9 @@ typedef SortFunc1D = function int (int elem1, int elem2, const int[] array, Hand
* @param array Array to sort.
* @param array_size Size of the array to sort.
* @param sortfunc Sort function.
* @param hndl Optional Handle to pass through the comparison calls.
* @param data Optional Handle or value to pass through the comparison calls.
*/
native void SortCustom1D(int[] array, int array_size, SortFunc1D sortfunc, Handle hndl=INVALID_HANDLE);
native void SortCustom1D(any[] array, int array_size, SortFunc1D sortfunc, any data=0);
/**
* Sort comparison function for 2D array elements (sub-arrays).
@ -114,16 +114,12 @@ native void SortCustom1D(int[] array, int array_size, SortFunc1D sortfunc, Handl
* @param elem1 First array to compare.
* @param elem2 Second array to compare.
* @param array Array that is being sorted (order is undefined).
* @param hndl Handle optionally passed in while sorting.
* @param data Handle or value optionally passed in while sorting.
* @return -1 if first should go before second
* 0 if first is equal to second
* 1 if first should go after second
*/
typeset SortFunc2D
{
function int (int[] elem1, int[] elem2, const int[][] array, Handle hndl);
function int (char[] elem1, char[] elem2, const char[][] array, Handle hndl);
};
typedef SortFunc2D = function int (any[] elem1, any[] elem2, const any[][] array, any data);
/**
* Sorts a custom 2D array. You must pass in a comparison function.
@ -131,9 +127,9 @@ typeset SortFunc2D
* @param array Array to sort.
* @param array_size Size of the major array to sort (first index, outermost).
* @param sortfunc Sort comparison function to use.
* @param hndl Optional Handle to pass through the comparison calls.
* @param data Optional Handle or value to pass through the comparison calls.
*/
native void SortCustom2D(any[][] array, int array_size, SortFunc2D sortfunc, Handle hndl=INVALID_HANDLE);
native void SortCustom2D(any[][] array, int array_size, SortFunc2D sortfunc, any data=0);
/**
* Sort an ADT Array. Specify the type as Integer, Float, or String.
@ -152,18 +148,18 @@ native void SortADTArray(Handle array, SortOrder order, SortType type);
* @param index1 First index to compare.
* @param index2 Second index to compare.
* @param array Array that is being sorted (order is undefined).
* @param hndl Handle optionally passed in while sorting.
* @param data Handle or value optionally passed in while sorting.
* @return -1 if first should go before second
* 0 if first is equal to second
* 1 if first should go after second
*/
typedef SortFuncADTArray = function int (int index1, int index2, Handle array, Handle hndl);
typedef SortFuncADTArray = function int (int index1, int index2, Handle array, any data);
/**
* Custom sorts an ADT Array. You must pass in a comparison function.
*
* @param array Array Handle to sort
* @param sortfunc Sort comparison function to use
* @param hndl Optional Handle to pass through the comparison calls.
* @param data Optional Handle or value to pass through the comparison calls.
*/
native void SortADTArrayCustom(Handle array, SortFuncADTArray sortfunc, Handle hndl=INVALID_HANDLE);
native void SortADTArrayCustom(Handle array, SortFuncADTArray sortfunc, any data=0);