Re: Audo saving your game in BGT?
If all your saving are a bunch of numbers, here's one way to serialize them into a byte array you can write to a file:
Pseudocode:
procedure encode_number(number: integer, bit length: integer)
# This will not work with 8-bit integers.
uint8 bytes[bit length/8]
for i = 0 to bit length / 8 exclusive do
bytes[i] = ((number >> (i * 8)) & 0xff)
end for
return bytes
end procedure
procedure decode_number(bytes: uint8[]) # This will return an unsigned 64-bit integer. Unset bits will get set to 0. uint64 result = 0 for i = 0 to len(bytes) exclusive do result += b[i] << (i * 8) end for return result end procedure
Note that I don't know how well this works on negative numbers (and you'd need to slightly alter the algorithm). In python it doesn't work since bit_length() returns a negative value:
x = -9382918381748174 # holds our initial number
b=[] # holds our bytes
# encode the number into bytes
for i in range (0, (x).bit_length()):
b.append(((x >> (i * 8)) & 0xff))
print(b)
# Decode the bytes back into a hole number
z = 0
for i in range (0, (x).bit_length()):
z += b[i] << (i *8 )
print(z)
-- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector