summaryrefslogtreecommitdiff
path: root/platform/javascript
AgeCommit message (Collapse)Author
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
2018-02-16Fix HTML5 HTTPClient response header retrievalLeon Krause
2018-02-16Fix HTML5 HTTPClient failure detectionLeon Krause
2018-02-14Disabled mbedtls module in javascript platformFabio Alessandrelli
2018-02-14Deleting OpenSSL module and libraryFabio Alessandrelli
2018-01-25Merge pull request #16059 from eska014/html5-notlsRémi Verschelde
Disable OpenSSL module in HTML5 platform by default
2018-01-25Disable OpenSSL module in HTML5 platform by defaultLeon Krause
2018-01-24Fix HTML5 JS API setResizeCanvasOnStartLeon Krause
2018-01-20HTML export: Make s3tc the standard Texture Formatx1212
2018-01-13Wrap Emscripten module into JS Engine singleton per SConsLeon Krause
Emscripten's meta DCE changes in 1.37.27(/28?) make it impossible to keep using --pre-js for this
2018-01-12Fix HTML5 feature tagsLeon Krause
'HTML5' is the platform tag, the 'JavaScript' tag indicates availability of the JavaScript.eval singleton. Also report texture compression support.
2018-01-07Merge pull request #15447 from eska014/html5-optmodeRémi Verschelde
Build WebAssembly release module with -Os to decrease file size
2018-01-07Build WebAssembly module with -Os to decrease file sizeLeon Krause
2018-01-07Initialize WebGL context in OSLeon Krause