summaryrefslogtreecommitdiff
path: root/platform/javascript
AgeCommit message (Collapse)Author
2018-08-28Merge pull request #21511 from eska014/webm-nomtRémi Verschelde
Fix WebM and Theora video in HTML5 export
2018-08-28Enable Theora module for HTML5 platformLeon Krause
2018-08-26Fall back to GLES2 if GLES3 is not workingHein-Pieter van Braam
This adds a static is_viable() method to all rasterizers which has to be called before initializing the rasterizer. This allows us to check what rasterizer to use in OS::initialize together with the GL context initialization. This commit also adds a new project setting "rendering/quality/driver/driver_fallback" which allows the creator of a project to specify whether or not fallback to GLES2 is allowed. This setting is ignored for the editor so the editor will always open even if the project itself cannot run. This will hopefully reduce confusion for users downloading projects from the internet. We also no longer crash when GLES3 is not functioning on a platform. This fixes #15324
2018-08-24Merge pull request #21336 from eska014/html5-new-presentationRémi Verschelde
Add responsive HTML5 export page with full-size canvas as new default
2018-08-23Merge pull request #21332 from dragmz/apk-hint-fixRémi Verschelde
Fix file hints
2018-08-23Fix file hintsMarcin Zawiejski
Fixes file hints so the file dialog actually displays the files with given extension (e.g. *.apk).
2018-08-23Merge pull request #21330 from eska014/html5-canvas-resizeRémi Verschelde
Facilitate external modification of HTML5 canvas size
2018-08-23Add responsive HTML5 export page with full-size canvas as new defaultLeon Krause
2018-08-23Facilitate external modification of HTML5 canvas sizeLeon Krause
2018-08-21BPTC supportelasota
2018-08-21Merge pull request #20922 from kripken/errLeon Krause
HTML5: use console.warn instead of Module.printErr
2018-08-20fix Android/HTML5 custom templates option does not workAlessandro
2018-08-11use console.warn instead of Module.printErr: emscripten no longer exports ↵Alon Zakai (kripken)
printErr by default, and instead err() should be used in code seen by the optimizer; however, as Godot only runs on the Web (and not in node.js or elsewhere), using console.warn directly is good enough, and will work in all versions if emscripten
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-19-Project/Editor settings now use new inspectorJuan Linietsky
-Project/Editor settings now show tooltips properly -Settings thar require restart now will show a restart warning -Video driver is now visible all the time, can be changed easily -Added function to request current video driver
2018-07-10Refactor OS_JavaScriptLeon Krause
2018-07-09Added support for extra mouse buttons.unknown
2018-06-28Optimize images losslessly using `oxipng -o6 --strip all --zopfli`Hugo Locurcio
2018-06-08Detect channel count, mix rate, and buffer length in HTML5 audio driverLeon Krause
Refactor WebAudio driver.
2018-05-24Javascript: Remove weird logMax Hilbrunner
2018-05-14Build HTML5 release_debug with -Os, like release.Leon Krause
The increased build time is negligible in comparison to the decreased file size.
2018-05-14Small refactoring in HTML5 build scriptsLeon Krause
Drop logic for non-existent 'profile' target
2018-05-10Merge pull request #18765 from eska014/enginejs-extaltRémi Verschelde
Facilitate using non-default filename extensions in HTML5 platform
2018-05-10Merge pull request #18766 from eska014/html5-localcustomshellMax Hilbrunner
Use local path for custom HTML5 shell export
2018-05-10Use local path for custom HTML5 shell exportLeon Krause
2018-05-10Accept non-default main packs in engine.js startGame()Leon Krause
Allows using startGame() with main packs exported as .zip, but also any other custom extension, for example if a web game host does not allow the .pck filename extension.
2018-05-10Merge pull request #18753 from eska014/html5-iframefocusMax Hilbrunner
Fix keyboard focus lock-out with HTML5 canvas in iframe
2018-05-10Add Engine.setWebAssemblyFilenameExtension()Leon Krause
Some web game hosts only allow certain filename extensions. If .wasm is not allowed, this function allows overriding the WebAssembly filename extension to work around that restriction.
2018-05-10Fix keyboard focus lock-out with HTML5 canvas in iframeLeon Krause
2018-05-10Fix relative mouse motion when captured in HTML5 platformLeon Krause
2018-04-30Implement universal translation of touch to mousePedro J. Estébanez
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*) The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers. Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse. *: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest. On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction. Plus: Improve/fix tracking of current mouse position. ** Summary of changes to settings: ** - `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse` - New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-04Merge pull request #17792 from eska014/enginejs-preloadpathsRémi Verschelde
Handle directories in engine.js preloadFile()
2018-04-03Merge pull request #17836 from eska014/detect-emconfigRémi Verschelde
Detect and configure JavaScript build per Emscripten configuration file
2018-03-30Fix bug in HTML5 HTTPClient.Fabio Alessandrelli
The URL parameter already has a slash, adding an extra one results in an invalid resource path
2018-03-29Detect and configure JavaScript build per Emscripten configuration fileLeon Krause
2018-03-27Fix engine.js startGame() when loading from directoryLeon Krause
2018-03-27Allow custom path when using engine.js preloadFile() with URLLeon Krause
2018-03-27Fix engine.js preloadFile() with directoriesLeon Krause
2018-03-27Expose Emscripten libs to engine.js discreetlyLeon Krause
2018-03-26Refactor JavaScript platform build scriptLeon Krause
2018-03-20Add RWLockDummy for NO_THREADS buildsLeon Krause
2018-03-18Disable Emscripten assertions in release_debug buildsLeon Krause
The messages generated by some assertions can be confusing to users.
2018-03-16Fix typo in engine.jsLeon Krause
2018-03-15Check only for WebGL 1.0, move test to HTML fileLeon Krause
Whether to use WebGL 1.0 or 2.0 can only be determined at runtime after reading project settings, so check for the lower version. The test is now in the HTML file, so if desired WebGL 2.0 can be checked early by changing the behaviour there.
2018-03-07Reinstate WebGL 1.0 driver in HTML5 platformLeon Krause
2018-03-04Clean and expose get_audio/video_driver_* funcs on OS classMarcelo Fernandez
2018-02-17Merge pull request #16781 from eska014/html5-httpcRémi Verschelde
HTML5 HTTPClient fixes
2018-02-17Flush HTTPClient response data only on request/close in HTML5 platformLeon Krause
2018-02-17Warn when polling HTTPClient synchronously in HTML5 platformLeon Krause
2018-02-17Disable insecure HTTP methods CONNECT and TRACE in HTML5 platformLeon Krause