mojo.monkey2 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. Namespace mojo
  2. #Import "assets/"
  3. #Import "<emscripten>"
  4. #Import "<std>"
  5. #Import "<sdl2>"
  6. #Import "<opengl>"
  7. #Import "<openal>"
  8. #Import "<freetype>"
  9. Using emscripten..
  10. Using std..
  11. Using sdl2..
  12. Using opengl..
  13. Using openal..
  14. Using mojo..
  15. #Import "app/app"
  16. #Import "app/event"
  17. #Import "app/skin"
  18. #Import "app/style"
  19. #Import "app/theme"
  20. #Import "app/view"
  21. #Import "app/window"
  22. #Import "app/glwindow"
  23. 'core graphics stuff
  24. '#Import "graphics/glexts/glexts"
  25. #Import "graphics/glutil"
  26. #Import "graphics/graphicsdevice"
  27. #Import "graphics/uniformblock"
  28. #Import "graphics/rendertarget"
  29. #Import "graphics/vertexbuffer"
  30. #Import "graphics/indexbuffer"
  31. #Import "graphics/vertex2f"
  32. #Import "graphics/vertex3f"
  33. #Import "graphics/texture"
  34. #Import "graphics/shader"
  35. '2d graphics stuff
  36. #Import "graphics/canvas"
  37. #Import "graphics/image"
  38. #Import "graphics/font"
  39. #Import "graphics/freetypefont"
  40. #Import "graphics/imagefont"
  41. #Import "graphics/angelfont"
  42. #Import "graphics/shadowcaster"
  43. #Import "input/keyboard"
  44. #Import "input/mouse"
  45. #Import "input/touch"
  46. #Import "input/joystick"
  47. #Import "input/gamecontroller"
  48. #Import "input/keycodes"
  49. #Import "audio/audio"
  50. Private
  51. Function Use( type:TypeInfo )
  52. End
  53. Function Main()
  54. Use( Typeof(app.App) )
  55. '***** Bizarro issue #87c *****
  56. '
  57. 'The first OpenFunc here gets ignored, but ONLY in release+threaded mode and ONLY on my nvidia shield tablet (so far, emulators OK)
  58. '
  59. 'Damn straight this took a while to find! No idea what's causing it, but this dummy entry is the workaround for now.
  60. '
  61. 'Original symptom was fonts failing to load.
  62. '
  63. Stream.OpenFuncs["::"]=Lambda:Stream( proto:String,path:String,mode:String )
  64. Return Null
  65. End
  66. Stream.OpenFuncs["font"]=Lambda:Stream( proto:String,path:String,mode:String )
  67. Return Stream.Open( "asset::fonts/"+path,mode )
  68. End
  69. Stream.OpenFuncs["image"]=Lambda:Stream( proto:String,path:String,mode:String )
  70. Return Stream.Open( "asset::images/"+path,mode )
  71. End
  72. Stream.OpenFuncs["theme"]=Lambda:Stream( proto:String,path:String,mode:String )
  73. Return Stream.Open( "asset::themes/"+path,mode )
  74. End
  75. End