This repository has been archived on 2022-06-22. You can view files and clone it, but cannot push or open issues or pull requests.
Kosmos/Modules/edizon/EdiZon/editor/scripts/bin.py
2020-02-26 19:53:54 -05:00

47 lines
1.1 KiB
Python

## bin ##
import edizon
saveFileBuffer = edizon.getSaveFileBuffer()
def getValueFromSaveFile():
strArgs = edizon.getStrArgs()
intArgs = edizon.getIntArgs()
indirectAddress = int(strArgs[0], 16)
address = int(strArgs[1], 16)
addressSize = intArgs[0]
valueSize = intArgs[1]
offset = 0
value = 0
if indirectAddress != 0:
for i in range(0, addressSize):
offset = offset | (saveFileBuffer[indirectAddress + i] << i * 8)
for i in range(0, valueSize):
value = value | (saveFileBuffer[offset + address + i] << i * 8)
return value
def setValueInSaveFile(value):
strArgs = edizon.getStrArgs()
intArgs = edizon.getIntArgs()
indirectAddress = int(strArgs[0], 16)
address = int(strArgs[1], 16)
addressSize = intArgs[0]
valueSize = intArgs[1]
offset = 0
if indirectAddress != 0:
for i in range(0, addressSize):
offset = offset | (saveFileBuffer[indirectAddress + i] << (i * 8))
for i in range(0, valueSize):
saveFileBuffer[offset + address + i] = (value & (0xFF << i * 8)) >> (i * 8)
def getModifiedSaveFile():
return saveFileBuffer