// this script was compiled with wurst 1.8.1.0-jenkins-Wurst-1365 globals integer array A_nextFree integer A_firstFree=0 integer A_maxIndex=0 integer array A_ints_0 integer array A_ints_1 integer array A_ints_2 integer array A_ints_3 endglobals native testFail takes string msg returns nothing native testSuccess takes nothing returns nothing function initGlobals takes nothing returns nothing endfunction function error takes string msg returns nothing call BJDebugMsg(msg + "\n" + "") endfunction function A_ints_get takes integer index1, integer index2 returns integer local integer returnVal if index2 < 0 or index2 >= 4 then call error("Index out of Bounds") elseif index2 <= 1 then if index2 <= 0 then set returnVal = A_ints_0[index1] else set returnVal = A_ints_1[index1] endif elseif index2 <= 2 then set returnVal = A_ints_2[index1] else set returnVal = A_ints_3[index1] endif return returnVal endfunction function A_ints_set takes integer instanceId, integer arrayIndex, integer value returns nothing if arrayIndex < 0 or arrayIndex >= 4 then call error("Index out of Bounds") elseif arrayIndex <= 1 then if arrayIndex <= 0 then set A_ints_0[instanceId] = value else set A_ints_1[instanceId] = value endif elseif arrayIndex <= 2 then set A_ints_2[instanceId] = value else set A_ints_3[instanceId] = value endif endfunction function alloc_A takes nothing returns integer local integer this if A_firstFree == 0 then if A_maxIndex < 32768 then set A_maxIndex = A_maxIndex + 1 set this = A_maxIndex else call error("Out of memory: Could not create A.") set this = 0 endif else set A_firstFree = A_firstFree - 1 set this = A_nextFree[A_firstFree] endif return this endfunction function A_init takes integer this returns nothing endfunction function construct_A takes integer this returns nothing call A_init(this) endfunction function new_A takes nothing returns integer local integer this = alloc_A() call construct_A(this) return this endfunction function init_test takes nothing returns nothing local integer a = new_A() call A_ints_set(a, 0, 1234) if A_ints_get(a, 0) == 1234 then call testSuccess() else call testFail("wrong value") endif endfunction function main takes nothing returns nothing call initGlobals() call init_test() endfunction function config takes nothing returns nothing endfunction