ACSUtils Wiki

An ACS library for ZDoom-based ports

User Tools

Site Tools


new:array

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
new:array [2018/02/21 00:11] korshunnew:array [2018/02/21 13:57] (current) korshun
Line 2: Line 2:
  
 <note warning>These functions will be added in ACSUtils 1.8.0</note> <note warning>These functions will be added in ACSUtils 1.8.0</note>
 +
 +Array sorting and shuffling functions use script names as callbacks.
  
 ===== SortArray ===== ===== SortArray =====
Line 13: Line 15:
  
 The sorted array may actually be an array of objects with multiple fields. ''lt'' can implement multi-field sorting. ''swap'' can swap all fields in the two array cells. The sorted array may actually be an array of objects with multiple fields. ''lt'' can implement multi-field sorting. ''swap'' can swap all fields in the two array cells.
 +
 +<note important>''SortArray'' can sort up to ~2000 elements before hitting ZDoom's 2 million instructions per tic runaway limit. Maximum element count may depend on callback complexity and the initial state of the array.</note>
  
 Example: sorting a simple array of numbers: Example: sorting a simple array of numbers:
Line 73: Line 77:
 function void BuildScoreboard(void) function void BuildScoreboard(void)
 { {
 +    // Clear scoreboard
 +    NumPlayers = 0;
 +
     // Fill scoreboard without sorting     // Fill scoreboard without sorting
     for (int player = 0; player < MAX_PLAYERS; player++)     for (int player = 0; player < MAX_PLAYERS; player++)
new/array.1519164682.txt.gz · Last modified: 2018/02/21 00:11 by korshun