yaya
postic
aya,saori/yaya.dll
charset, Shift_JIS
charset.dic, Shift_JIS
charset.output, Shift_JIS
charset.file, Shift_JIS
charset.save, Shift_JIS
charset.extension, Shift_JIS
fenum†
fenum
{
if ARRAYSIZE(REQ.ARGS) < 1 {
-1
return
}
RES.RESULT = FENUM(REQ.ARGS[0])
}
RES.RESULT = FENUM(REQ.ARGS[0], REQ.ARGS[1])
GetSatoriVarList
{
_FileName = '..\satori_savedata.txt'
_i = 0
_charset = 'Shift_JIS'
FCHARSET(_charset)
if !FOPEN(_FileName, 'r') {
RES.RESULT = -1
return
}
while 1 {
if (_s = FREAD(_FileName)) == -1; break
if _n == -1 { continue }
else { _s = SUBSTR(_s,1,STRLEN(_s) -1) }
_n = STRSTR(_s,CHR(0x09),0)
if _n > 0 { _s = SUBSTR(_s,0,_n) }
LETTONAME("RES.VALUE%(_i)", _s)
LOGGING(EVAL("RES.VALUE%(_s)"))
_i++
}
FCLOSE(_FileName)
RES.RESULT = _i -1
}
sort
{
if ARRAYSIZE(REQ.ARGS) < 1 {
-1
return
}
arX = SPLIT(REQ.ARGS[0],CHR(0x01))
_x = quicksort(0,ARRAYSIZE(arX)-1)
_s = ""
for _i = 0; _i < ARRAYSIZE(arX); _i++ {
if (_i > 0) { _s = _s + CHR(0x01) }
_s = _s + arX[_i]
}
RES.RESULT =_s
ERASEVAR("arX")
}
quicksort
{
_first = _argv[0]
_last = _argv[1]
if (_first == _last) { return }
_p = pivot(_first,_last)
if (_p != -1) {
_k = partition(_first,_last,arX[_p])
_k,_first,_last,arX[_p]
quicksort(_first,_k-1)
quicksort(_k,_last)
}
}
pivot
{
_i = _argv[0]
_j = _argv[1]
_k = _i + 1
while (_k <= _j && arX[_i] == arX[_k]) { _k++ }
if (_k > _j) {
-1
return
}
if (arX[_i] >= arX[_k]) { _i } else { _k }
}
partition
{
_i = _argv[0]
_j = _argv[1]
_x = _argv[2]
_l = _i
_r = _j
while (_l <= _r) {
while (_l <= _j && arX[_l] < _x) { _l++ }
while (_r >= _i && arX[_r] >= _x) { _r-- }
if (_l > _r) { break }
_t = arX[_l]
arX[_l] = arX[_r]
arX[_r] = _t
_l++
_r--
}
_l
return
}