1. -- ************************************************************************
  2. -- Software: BINARY FILE INTERFACE - integer extension (fileIO Xtra version)
  3. -- Version:  0.5 - D11.5 version based on bytearray
  4. -- Date:     2014-09-20
  5. -- Author:   Valentin Schmidt
  6. --
  7. -- Requirements/Dependencies:
  8. -- - Xtra "fileIO"
  9. --
  10. -- Extends BINARY FILE INTERFACE with functions for reading/writing integers
  11. --
  12. -- ************************************************************************
  13.  
  14. ----------------------------------------
  15. -- Reads 32-bit integer from open file
  16. -- @param {instance} fp
  17. -- @return {integer}
  18. ----------------------------------------
  19. on freadint32 (fp)
  20.   ba = fp.readByteArray(4)
  21.   ba.position = 1
  22.   return ba.readInt32()
  23. end
  24.  
  25. ----------------------------------------
  26. -- Writes 32-bit integer to open file
  27. -- @param {instance} fp
  28. -- @param {integer} n
  29. ----------------------------------------
  30. on fwriteint32 (fp, n)
  31.   ba = bytearray(4)
  32.   ba.writeInt32(n)
  33.   fp.writeByteArray(ba)
  34. end
  35.  
  36. ----------------------------------------
  37. -- Reads 16-bit integer from open file
  38. -- @param {instance} fp
  39. -- @return {integer}
  40. ----------------------------------------
  41. on freadint16 (fp)
  42.   ba = fp.readByteArray(2)
  43.   ba.position = 1
  44.   return ba.readInt16()
  45. end
  46.  
  47. ----------------------------------------
  48. -- Writes 16-bit integer to open file
  49. -- @param {instance} fp
  50. -- @param {integer} n
  51. ----------------------------------------
  52. on fwriteint16 (fp, n)
  53.   ba = bytearray(2)
  54.   ba.writeInt16(n)
  55.   fp.writeByteArray(ba)
  56. end
  57.  
  58. ----------------------------------------
  59. -- Reads 8-bit integer from open file
  60. -- @param {instance} fp
  61. -- @return {integer}
  62. ----------------------------------------
  63. on freadint8 (fp)
  64.   ba = fp.readByteArray(1)
  65.   return ba[1]
  66. end
  67.  
  68. ----------------------------------------
  69. -- Writes 8-bit integer to open file
  70. -- @param {instance} fp
  71. -- @param {integer} n
  72. ----------------------------------------
  73. on fwriteint8 (fp, n)
  74.   fp.writeByteArray(bytearray(1, n))
  75. end
  76.  
[raw code]