25 lines
604 B
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
|