|
bank - bank handle returned by CreateBank offset - position in the bank to read from, in bytes |
|
Reads an integer from a bank. An int occupies 4 bytes of the bank and keeps its sign and full range, -2147483648 to 2147483647. Any byte offset is allowed, but the 4 bytes must fit inside the bank (last valid offset is BankSize-4) or a runtime error is raised. See also: PokeInt, PeekByte, PeekShort, PeekFloat. |
; PeekInt Example
; ---------------
; A player save-game record packed into a memory bank.
; Field sizes: byte=1, short=2, int=4, float=4 bytes.
;
; offset 0 flags (byte, 1 byte )
; offset 1 hp (short, 2 bytes)
; offset 3 score (int, 4 bytes)
; offset 7 x_pos (float, 4 bytes) = 11 bytes in total
save=CreateBank(11)
; Pack the record - each Poke writes its field at a byte offset
PokeByte save,0,5
PokeShort save,1,250
PokeInt save,3,1234567
PokeFloat save,7,17.25
; Unpack the record - PeekInt reads the 4-byte score field
; back from offset 3
Print "Player record in a "+BankSize(save)+" byte bank:"
Print ""
Print "offset 0 flags (byte) = "+PeekByte(save,0)
Print "offset 1 hp (short) = "+PeekShort(save,1)
Print "offset 3 score (int) = "+PeekInt(save,3)
Print "offset 7 x_pos (float) = "+PeekFloat(save,7)
; Dump every byte so the layout is visible
; (ints and floats are stored low byte first)
dump$=""
For i=0 To BankSize(save)-1
dump$=dump$+PeekByte(save,i)+" "
Next
Print ""
Print "Raw bytes: "+dump$
; Release the memory when done
FreeBank save
Print ""
Print "Press any key to close the example"
WaitKey
End