1c8cb0777f
* Added minimal SDFiles * Updated Tinfoil
54 lines
1.1 KiB
Lua
54 lines
1.1 KiB
Lua
-- bin --
|
|
|
|
saveFileBuffer = edizon.getSaveFileBuffer()
|
|
|
|
function getValueFromSaveFile()
|
|
strArgs = edizon.getStrArgs()
|
|
intArgs = edizon.getIntArgs()
|
|
indirectAddress = tonumber(strArgs[1], 16)
|
|
address = tonumber(strArgs[2], 16)
|
|
addressSize = intArgs[1]
|
|
valueSize = intArgs[2]
|
|
|
|
offset = 0
|
|
value = 0
|
|
|
|
if indirectAddress ~= 0 then
|
|
for i = 0, addressSize - 1 do
|
|
offset = offset | (saveFileBuffer[indirectAddress + i + 1] << i * 8)
|
|
end
|
|
end
|
|
|
|
for i = 0, valueSize - 1 do
|
|
value = value | (saveFileBuffer[offset + address + i + 1] << i * 8)
|
|
end
|
|
|
|
return value
|
|
end
|
|
|
|
function setValueInSaveFile(value)
|
|
strArgs = edizon.getStrArgs()
|
|
intArgs = edizon.getIntArgs()
|
|
indirectAddress = tonumber(strArgs[1], 16)
|
|
address = tonumber(strArgs[2], 16)
|
|
addressSize = intArgs[1]
|
|
valueSize = intArgs[2]
|
|
|
|
offset = 0
|
|
|
|
if indirectAddress ~= 0 then
|
|
for i = 0, addressSize - 1 do
|
|
offset = offset | (saveFileBuffer[indirectAddress + i + 1] << (i * 8))
|
|
end
|
|
end
|
|
|
|
for i = 0, valueSize - 1 do
|
|
saveFileBuffer[offset + address + i + 1] = (value & (0xFF << i * 8)) >> (i * 8)
|
|
end
|
|
end
|
|
|
|
function getModifiedSaveFile()
|
|
return saveFileBuffer
|
|
end
|
|
|