fortunes_foundation/seeds.lua

25 lines
604 B
Lua

seeds={}
add(modules,seeds)
function seeds:init()
self.seeds_ff=seed_pool:new(seed_constants.ffdata_start,seed_constants.ffdata_end)
end
function seeds:choose(pool)
if (pool) return rnd(self[pool].seeds)
return rnd(0xffff.ffff)
end
seed_pool=klass()
function seed_pool:init(addr_start,addr_end)
local seeds={}
local acc=0
while addr_start < addr_end do
local byte=@addr_start
local nb0=byte>>20
local nb1=(byte&0xf)>>16
if nb0==0 then acc+=0x0.000f else acc+=nb0 add(seeds,acc) end
if nb1==0 then acc+=0x0.000f else acc+=nb1 add(seeds,acc) end
addr_start+=1
end
self.seeds=seeds
end