Age | Commit message (Collapse) | Author |
|
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`
|
|
|
|
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.
|
|
|
|
|
|
|
|
'HTML5' is the platform tag, the 'JavaScript' tag indicates availability of
the JavaScript.eval singleton.
Also report texture compression support.
|
|
Print without color control sequences in HTML5 platform
|
|
|
|
Emscripten 1.37.24 no longer exports these by default
|
|
|
|
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
|
|
Commit ammended by @akien-mga to fix more platforms.
|
|
|
|
Happy new year to the wonderful Godot community!
|
|
|
|
And make it configurable, too.
|
|
Add support for XDG Base Directory spec
|
|
Change HTML5 start-up API
|
|
Rename engine.start() to startGame(), new start() takes string arguments
handed directly to main(). Rename Engine.loadEngine() to load().
Add setLocale(), setResizeCanvasOnStart(), setExecutableName() and
preloadFile().
|
|
This makes the interfaces available, without implementation, in other
platforms and the editor, which facilitates documenting platform-exclusive
classes.
Platform-exclusive APIs must be set up in platform/<platform>/api/api.cpp.
Provide noop method-implementations where necessary.
Also setup and document the HTML5 platform's JavaScript singleton.
|
|
Will be needed to avoid confusion with system data path (XDG_DATA_HOME)
and editor data dir in upcoming refactoring.
|
|
|
|
|
|
|
|
Moved init_physics
Implemented physics 2D plug
Fix clang
Fix clang
Fix static check
Fix clang
Fix static check
Moved physics server initialization
Moved physics server settings initialization
|
|
Add OS::is_userfs_persistent, allow starting HTML5 platform in private mode
|
|
Allows starting HTML5 export when IndexedDB is not available.
|
|
Previously logging logic was scattered over OS class implementations
with plenty of duplication. Major changes in this commit:
- Extracted logging logic into a separate Logger hierarchy. It allows
easy configuration of logging mechanism depending on compile-time or
run-time configuration.
- Implemented RotatedFileLogger which is usually used with StdLogger,
providing persistency of logs. It is often important to be able to
obtain logs of the game even in production to be able to understand
what happened prior to some problem. On mobile there previously was
no way to obtain the logs aside from having the device connected to
your machine.
- flush() is not performed in release mode for every logged line. It
is only performed for errors.
|
|
Regression from 844c5e12e664e3212feacc9ee3200e116556fbc7
|
|
Fix crash when no audio driver is available
|
|
|
|
Add missed bindings for enums
Move some enums to class to have correct output of api.json
|
|
Prevent sending MainLoop notifications before initialized
|
|
|
|
|
|
|
|
|
|
Implement OS.has_touchscreen_ui_hint() in HTML5 platform
|
|
- set_window_maximized hides page content
- Fix sporadic full-screen render-size bug in Chromium
- Smoother resizing for maximized canvas
|
|
|
|
Implement input focus behavior in HTML5
|
|
- Key and mouse events are only consumed if canvas is focused
- NOTIFICATION_WM_MOUSE_ENTER, _MOUSE_EXIT, _FOCUS_IN and _FOCUS_OUT are
emitted
|
|
-Added system for feature overrides, it's pretty cool :)
|
|
|
|
this might cause bugs I haven't found yet..
|
|
HTML5: Cursor style control
|
|
|
|
Remove GLUT usage in HTML5 platform
|
|
MOUSE_MODE_CONFINED cannot be implemented.
|