std.monkey2 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. Namespace std
  2. #Import "<libc.monkey2>"
  3. #Import "<stb-image>"
  4. #Import "<stb-image-write>"
  5. #import "<stb-vorbis>"
  6. #Import "collections/container"
  7. #Import "collections/stack"
  8. #Import "collections/list"
  9. #Import "collections/map"
  10. #Import "collections/deque"
  11. #Import "memory/byteorder"
  12. #Import "memory/databuffer"
  13. #Import "stream/stream"
  14. #Import "stream/filestream"
  15. #Import "stream/datastream"
  16. #Import "stream/zipstream"
  17. #Import "geom/vec2"
  18. #Import "geom/vec3"
  19. #Import "geom/vec4"
  20. #Import "geom/mat3"
  21. #Import "geom/mat4"
  22. #Import "geom/affinemat3"
  23. '#Import "geom/affinemat4"
  24. #Import "geom/rect"
  25. #Import "geom/axis"
  26. #Import "graphics/pixelformat"
  27. #Import "graphics/pixmap"
  28. #Import "graphics/pixmaploader"
  29. #Import "graphics/pixmapsaver"
  30. #Import "graphics/color"
  31. #import "audio/audioformat"
  32. #import "audio/audiodata"
  33. #import "audio/load_wav"
  34. #import "audio/load_vorbis"
  35. #Import "misc/random"
  36. #Import "misc/chartype"
  37. #Import "misc/filesystem"
  38. #Import "misc/stringio"
  39. #Import "misc/json"
  40. #Import "misc/jsonify"
  41. #Import "misc/time"
  42. #Import "misc/zipfile"
  43. #Import "fiber/fiber"
  44. #Import "fiber/future"
  45. Private
  46. Function Main()
  47. 'Capture app start time
  48. '
  49. std.time.Microsecs()
  50. Stream.OpenFuncs["zip"]=Lambda:Stream( proto:String,path:String,mode:String )
  51. Return ZipStream.Open( path,mode )
  52. End
  53. Stream.OpenFuncs["file"]=Lambda:Stream( proto:String,path:String,mode:String )
  54. Return FileStream.Open( path,mode )
  55. End
  56. 'Note: "asset::" support for android/ios is in mojo, as it uses SDL_RWop and we don't want to std to be dependant on SDL2...
  57. '
  58. #if __TARGET__="desktop" Or __TARGET__="emscripten"
  59. Stream.OpenFuncs["asset"]=Lambda:Stream( proto:String,path:String,mode:String )
  60. Return FileStream.Open( filesystem.AssetsDir()+path,mode )
  61. End
  62. #endif
  63. End