From e26ff8ffe3ef04cc3cb2e1aaf19174d2e682c2e0 Mon Sep 17 00:00:00 2001 From: Bukz Date: Wed, 3 Apr 2013 23:13:28 +0000 Subject: [PATCH] removed MDArray, wait for Cube 2 backport of nested lists git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@7452 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- config/docs.cfg | 33 ------- config/mdarray.cfg | 216 --------------------------------------------- config/scripts.cfg | 1 - 3 files changed, 250 deletions(-) delete mode 100644 config/mdarray.cfg diff --git a/config/docs.cfg b/config/docs.cfg index 07cf3f45..b08ad3da 100644 --- a/config/docs.cfg +++ b/config/docs.cfg @@ -268,39 +268,6 @@ docargument [V] [the list to browse] [] [0]; docargument [N] [the alias containing the current element value.] [] [0]; docargument [body] [the body to execute on each iteration] [] [0]; docexample [looplist "zero one two three" number [ echo $number ]] []; -docident [MDArray_Add_To_Subarray] [Adds a string to an existing subarray in a cubescript multidimensional array.]; -docargument [A] [name of alias (multidimensional array)] [] [0]; -docargument [N] [name of target subarray to add to] [] [0]; -docargument [C] [string to add to target subarray] [] [0]; -docexample [MDArray_New_Subarray test list1 "this is part of list1"; MDArray_Add_To_Subarray test list1 "and so is this"; echo (MDArray_Get test list1 -1)] [Output: "this is part of list1" "and so is this"]; -docident [MDArray_Delete_Subarray] [Deletes an entire subarray from an existing cubescript multidimensional array.]; -docargument [A] [name of alias (multidimensional array)] [] [0]; -docargument [N] [name of target subarray to delete] [] [0]; -docident [MDArray_Get] [Returns a subarray or a subarray element of a cubescript multidimensional array.]; -docargument [A] [name of alias (multidimensional array)] [] [0]; -docargument [N] [name of target subarray to get] [] [0]; -docargument [E] [element # of subarray to get (-1 to return the whole subarray)] [] [0]; -docexample [MDArray_New_Subarray test words "how now brown cow"; echo (MDArray_Get test words -1); echo (MDArray_Get test words 2)] [Output: how now brown cow]; -docident [MDArray_Get_All_Subarray_Names] [Returns a list of all subarray names in a cubescript multidimensional array.]; -docargument [A] [name of alias (multidimensional array)] [] [0]; -docexample [MDArray_New_Subarray test chars "a b c d e f"; MDArray_New_Subarray test words "how now brown cow"; echo (MDArray_Get_All_Subarray_Names test)] [Output: chars words]; -docident [MDArray_Get_Subarray_Count] [Returns the number of subarrays in a cubescript multidimensional array.]; -docargument [A] [name of alias (multidimensional array)] [] [0]; -docident [MDArray_Modify_Subarray] [Modifies a subarray element of a cubescript multidimensional array.]; -docargument [A] [name of alias (multidimensional array)] [] [0]; -docargument [N] [name of target subarray to modify] [] [0]; -docargument [E] [element # of subarray to modify] [] [0]; -docargument [C] [new value of subarray element] [] [0]; -docexample [MDArray_New_Subarray test numbers "1 2 3 4 5"; MDArray_Modify_Subarray test numbers 2 9; echo (MDArray_Get test numbers -1)] [Output: 1 2 9 4 5]; -docident [MDArray_New_Subarray] [Adds a subarray to a cubescript multidimensional array. (alias)]; -docargument [A] [name of alias (multidimensional array)] [] [0]; -docargument [N] [name of subarray to create] [] [0]; -docargument [C] [subarray content (string)] [] [0]; -docexample [MDArray_New_Subarray test words "how now brown cow"; echo (MDArray_Get test words -1); echo (MDArray_Get test words 2)] [Output: how now brown cow]; -docident [MDArray_Search] [Returns a list of all subarray names that have content matching a specific keyword.]; -docargument [A] [name of alias (multidimensional array)] [] [0]; -docargument [K] [keyword to search for] [] [0]; -docexample [MDArray_New_Subarray test words "how now brown cow"; MDArray_New_Subarray test days "monday tuesday wednesday thursday friday saturday sunday"; MDArray_New_Subarray test sentences [ "his shirt was brown" "her shirt was white" ]; echo (MDArray_Search test brown)] [Output: words sentences]; docident [mod] [Performs a modulo operation.]; docargument [A] [the dividend] [] [0]; docargument [B] [the divisor] [] [0]; diff --git a/config/mdarray.cfg b/config/mdarray.cfg deleted file mode 100644 index 539404f9..00000000 --- a/config/mdarray.cfg +++ /dev/null @@ -1,216 +0,0 @@ -// Cubescript Multidimensional Arrays -persistidents 0 - -islists = [ - bool = 0 - loop il (listlen $arg1) [ - if (> (listlen (at $arg1 $il)) 1) [ - bool = 1; break - ] - ] - result $bool -] - -countQuotes = [ - numquotes = 0 - loop cq (strlen $arg1) [ - if (testchar (substr $arg1 $cq 1) 8) [ - ++ numquotes - ] - ] - result $numquotes -] - -getQuotePosition = [ - open_q = -1 - loop gqp (strlen $arg1) [ - if (testchar (substr $arg1 $gqp 1) 8) [ - open_q = $gqp - break - ] - ] -] - -reverseString = [ - oldstr = $arg1 - newstr = [] - loop ri (strlen $oldstr) [ - newstr = (concatword $newstr (substr $oldstr (* (+ $ri 1) -1) 1)) - ] - result $newstr -] -// returns the subarray name of a open bracket position in an existing mdarray -extractSubarrayName = [ - open_bracket_pos = $arg2 - subarray_name = [] - - loop esn (strlen $arg1) [ - tmpchar = (substr $arg1 (- $open_bracket_pos (+ $esn 2)) 1) - if (testchar $tmpchar 7) break [ - if (&& (! (strcmp $tmpchar "[")) (! (strcmp $tmpchar "]"))) [ - subarray_name = (concatword $subarray_name $tmpchar) - ] - ] - ] - result (reverseString $subarray_name) -] -// adds a new subarray to an existing mdarray -MDArray_New_Subarray = [ - if (= (findlist (getalias $arg1) $arg2) -1) [ - add2list $arg1 $arg2 - if (islists $arg3) [ - add2list $arg1 (addpunct (concatword [ ] $arg3 [ ]) 1) - ] [ - add2list $arg1 (addpunct (concatword [ ] (addpunct $arg3) [ ]) 1) - ] - ] -] -// finds the open and close bracket pair positions of a subarray in an existing mdarray -MDArray_Get_Bracket_Positions = [ - targ1 = $arg1 - targ2 = $arg2 - open_bracket_pos = (+ (strpos $targ1 $targ2) (+ (strlen $targ2) 1)) - close_bracket_pos = -1 - - loop mgp (- (strlen $targ1) $open_bracket_pos) [ - next_char = (+ (+ $open_bracket_pos $mgp) 1) - if (strstr (substr $targ1 $next_char 1) "]") [ - close_bracket_pos = $next_char - break - ] - ] -] -// returns either an entire subarray or a single element from a subarray of an existing mdarray -MDArray_Get = [ - marg1 = $arg1 - marg2 = $arg2 - marg3 = $arg3 - mdarray = (getalias $marg1) - target = (findlist $mdarray $marg2) - - if (!= $target -1) [ - MDArray_Get_Bracket_Positions $mdarray $marg2 - if (!= $close_bracket_pos -1) [ - ++ open_bracket_pos // skip the bracket itself when extracting the subarray with the line below - -- close_bracket_pos - subarray = (substr $mdarray $open_bracket_pos (- $close_bracket_pos $open_bracket_pos)) - - if (= (countQuotes $subarray) 2) [ - getQuotePosition $subarray - if (&& (checkrange $open_q 0 1) (testchar (substr $subarray -1) 8)) [ // beginning/end quotes need to be trimmed from single-list subarrays - subarray = (substr $subarray (+ $open_q 1)) - subarray = (substr $subarray 0 (- (strlen $subarray) 1)) - ] - ] - - if (= $marg3 -1) [ - result $subarray - ] [ result (at $subarray $marg3) ] - ] - ] [ echo (red)Error: $marg2 is not a subarray of $marg1 ] -] -// returns a list of all opening bracket "[" positions in an existing mdarray -MDArray_Get_All_Opening_Bracket_Positions = [ - o_positions = [] - loop mga (strlen $arg1) [ - if (strcmp (substr $arg1 $mga 1) "[") [ - add2list o_positions $mga - ] - ] - if (listlen $o_positions) [ - result $o_positions - ] [ result -1 ] -] -// returns the number of subarrays in an existing mdarray -MDArray_Get_Subarray_Count = [ - result (listlen (MDArray_Get_All_Opening_Bracket_Positions (getalias $arg1))) -] -// returns a list of all subarray names in an existing mdarray -MDArray_Get_All_Subarray_Names = [ - opening_brackets = (MDArray_Get_All_Opening_Bracket_Positions (getalias $arg1)) - subarray_names = [] - - loop mgn (listlen $opening_brackets) [ - add2list subarray_names (extractSubarrayName (getalias $arg1) (at $opening_brackets $mgn)) - ] - result $subarray_names -] -// searches the contents of all subarrays in an existing mdarray for a keyword -// returns a list of all subarray names that have content with matches -MDArray_Search = [ - mdarray = (getalias $arg1) - token = $arg2 - subarrays = (MDArray_Get_All_Subarray_Names $arg1) - search_results = [] - - loop ms (listlen $subarrays) [ - curarray = (MDArray_Get $arg1 (at $subarrays $ms) -1) - if (strstr $curarray $token) [ - if (! (strstr $search_results (at $subarrays $ms))) [ - add2list search_results (at $subarrays $ms) - ] - ] - ] - result $search_results -] -// deletes an entire subarray from an existing mdarray -MDArray_Delete_Subarray = [ - orig_array = (getalias $arg1) - target_subarray = $arg2 - target_pos = (strpos $orig_array $target_subarray) - gotclose = -1 - delstr = [] - - if (!= $target_pos -1) [ - loop mds (strlen $orig_array) [ - if (< $mds $target_pos) continue [ - if (strcmp (substr $orig_array $mds 1) "]") [ gotclose = $mds; break ] - ] - ] - delstr = (substr $orig_array $target_pos (- (+ $gotclose 1) $target_pos)) - $arg1 = (strreplace $orig_array $delstr []) - result (getalias $arg1) - ] -] -// modifies an existing element in an existing subarray -MDArray_Modify_Subarray = [ - original_subarray = (MDArray_Get $arg1 $arg2 -1) - target_elem = $arg3 - new_elem = $arg4 - new_subarray = [] - - if (! (countQuotes $original_subarray)) [ - original_subarray = (addpunct $original_subarray) - ] - loop mms (listlen $original_subarray) [ - next_elem = (at $original_subarray $mms) - if (= $mms $target_elem) [ - if (> (listlen $new_elem) 1) [ - add2list new_subarray (addpunct $new_elem) - ] [ add2list new_subarray $new_elem ] - ] [ - if (> (listlen $next_elem) 1) [ - add2list new_subarray (addpunct $next_elem) - ] [ add2list new_subarray $next_elem ] - ] - ] - MDArray_Delete_Subarray $arg1 $arg2 - MDArray_New_Subarray $arg1 $arg2 $new_subarray -] -// adds a new element to an existing subarray -MDArray_Add_To_Subarray = [ - mdarray = (getalias $arg1) - to_add = $arg3 - if (!= (findlist $mdarray $arg2) -1) [ - subarray = (MDArray_Get $arg1 $arg2 -1) - if (! (countQuotes $subarray)) [ subarray = (addpunct $subarray) ] - if (! (countQuotes $to_add)) [ to_add = (addpunct $to_add) ] - MDArray_Delete_Subarray $arg1 $arg2 - MDArray_New_Subarray $arg1 $arg2 (format [%1 %2] $subarray $to_add) - ] -] - -// some of these aliases can cause issues if they get stored in saved.cfg (missing bracket errors/etc.) -addListOnQuit [bool MDArray_New_Subarray MDArray_Get_Bracket_Positions MDArray_Get reverseString MDArray_Get_All_Opening_Bracket_Positions MDArray_Get_Subarray_Count MDArray_Get_All_Subarray_Names extractSubarrayName MDArray_Search MDArray_Delete_Subarray MDArray_Modify_Subarray original_subarray target_elem new_elem new_subarray next_elem islists hasQuotePair got_open_quote got_close_quote mdarray subarray firstchar lastchar oldstr newstr subarray_names subarray_name tmpchar token subarrays search_results curarray orig_array target_subarray target_pos gotclose delstr next_char] - -persistidents 1 diff --git a/config/scripts.cfg b/config/scripts.cfg index 647a7c6d..9e206026 100644 --- a/config/scripts.cfg +++ b/config/scripts.cfg @@ -476,7 +476,6 @@ const customclaimadminscript [ // Execute other .cfgs/scripts. run on_quit -run mdarray run parsestring run dyngamma run survival