Readarrayfromfile: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Created page with ''''readarrayfromfile''' <array name> <quote number> Reads a file into a gamearray; the quote contains file name. Each array element will contain 4 bytes of f...'
 
No edit summary
Line 1: Line 1:
'''readarrayfromfile''' <array name> <quote number>
'''readarrayfromfile''' <array name> <quote number>


Reads a file into a [[gamearray]]; the [[definequote|quote]] contains file name. Each array element will contain 4 bytes of file content. The file is to be previously saved with [[writearraytofile]].
Reads a file into a [[gamearray]]; the [[definequote|quote]] contains the file name. Each array element will contain 4 bytes of file's content. The file is to be previously saved with [[writearraytofile]].


Here's an example of how an array can be accessed byte-wise (in case you are using files which were not created by ''writearraytofile''):
Here's an example of how an array can be accessed byte-wise (in case you are using files which were not created by ''writearraytofile''):
Line 9: Line 9:
  gamevar oct // Byte to select
  gamevar oct // Byte to select
  gamevar ret // Value to return
  gamevar ret // Value to return
redefinequote 256 MYFILE.BIN
readarrayfromfile ARRAY[idx] 256
   
   
  setvarvar idx ofs  shiftvarr idx 2
  setvarvar idx ofs  shiftvarr idx 2

Revision as of 11:58, 8 July 2010

readarrayfromfile <array name> <quote number>

Reads a file into a gamearray; the quote contains the file name. Each array element will contain 4 bytes of file's content. The file is to be previously saved with writearraytofile.

Here's an example of how an array can be accessed byte-wise (in case you are using files which were not created by writearraytofile):

gamevar ofs // Byte address
gamevar idx // Array index
gamevar oct // Byte to select
gamevar ret // Value to return

redefinequote 256 MYFILE.BIN
readarrayfromfile ARRAY[idx] 256

setvarvar idx ofs  shiftvarr idx 2
setvarvar oct ofs  andvar oct 3 // DWORD to BYTE ptr
setvarvar ret ARRAY[idx]
ifvarand oct 2  shiftvarr ret 16
ifvarand oct 1  shiftvarr ret 8
andvar ret 255