Age | Commit message (Collapse) | Author |
|
Added double clicking to all buttons on Linux and Javascript
|
|
Unified button mask behavior across platforms
|
|
|
|
Export for OS X on OS X now lets you select .dmg or .zip
|
|
|
|
Enable --no-heap-copy flag for HTML5 builds
|
|
Avoids linker warnings and errors about undefined references.
|
|
|
|
The code in pre.js and engine.js is a bit confusing to see in isolation,
since the files aren't valid JS files by themselves. This just adds some
explanatory text to both files.
Fixes #22937.
|
|
|
|
|
|
|
|
Misc. typos
|
|
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
|
|
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
|
|
|
|
Fix WebM and Theora video in HTML5 export
|
|
|
|
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
|
|
Add responsive HTML5 export page with full-size canvas as new default
|
|
Fix file hints
|
|
Fixes file hints so the file dialog actually displays the files with given extension (e.g. *.apk).
|
|
Facilitate external modification of HTML5 canvas size
|
|
|
|
|
|
|
|
HTML5: use console.warn instead of Module.printErr
|
|
|
|
|
|
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
|
|
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.
|
|
-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
|
|
|
|
|
|
|
|
|
|
Refactor WebAudio driver.
|
|
|
|
The increased build time is negligible in comparison to the decreased
file size.
|
|
Drop logic for non-existent 'profile' target
|
|
Facilitate using non-default filename extensions in HTML5 platform
|
|
Use local path for custom HTML5 shell export
|
|
|
|
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.
|
|
Fix keyboard focus lock-out with HTML5 canvas in iframe
|
|
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.
|
|
|
|
|
|
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`
|
|
Handle directories in engine.js preloadFile()
|