summaryrefslogtreecommitdiffstats
path: root/platform/javascript/export
Commit message (Collapse)AuthorAgeFilesLines
* [Web] Rename JavaScript platform to Web.Fabio Alessandrelli2022-08-295-1183/+0
| | | | Also rename export name from "HTML5" to "Web".
* Refactor the export checking logic to improve separation of concernsFredia Huya-Kouadio2022-08-142-3/+24
|
* Extract EditorResourceConversionPlugin into its own source files and clean ↵Yuri Sizov2022-07-312-0/+2
| | | | up editor includes
* Make some editor export methods constAaron Franke2022-07-292-3/+3
|
* Split up editor export code into multiple filesAaron Franke2022-07-262-2/+1
|
* Code quality: Fix header guards consistencyRémi Verschelde2022-07-253-3/+3
| | | | | Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
* Add static methods for creating Image and ImageTexturekobewi2022-07-081-7/+2
|
* [HTML5] Add GDNative+Threads build.Fabio Alessandrelli2022-06-142-13/+11
|
* Add readable export errors.bruvzg2022-06-081-17/+23
|
* Add a new HashSet templatereduz2022-05-201-1/+1
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Replace most uses of Map by HashMapreduz2022-05-163-6/+6
| | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* Fix ZipIO crash when reused (and possible leaks).bruvzg2022-05-111-1/+2
|
* Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-112-31/+16
|
* Fix some issues found by cppcheck.bruvzg2022-04-061-1/+1
|
* HTML5: Explain why export templates are missingRémi Verschelde2022-03-261-0/+9
| | | | | | | Same for UWP. This is skipped in DEV_ENABLED builds so contributors can still test the export pipeline (and CI still compiles it on debug builds).
* Implement GDExtension export plugin.bruvzg2022-03-161-1/+1
|
* Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaksRémi Verschelde2022-03-111-11/+11
| | | | | | | | `DirAccess *` needs to be deleted manually, and this is often forgotten especially when doing early returns with `ERR_FAIL_COND`. `DirAccessRef` is deleted automatically when it goes out of scope. Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
* Editor: Cleanup some includes dependenciesRémi Verschelde2022-02-153-4/+2
| | | | | | | | | | | Removes some unnecessary includes from `editor_node.h`, and instead add those where they're used. Removes unnecessary `editor_node.h` includes in various editor classes. Renames `dynamicfont` to `dynamic_font` in a couple files. Misc cleanup while jumping through that rabbit hole.
* Fix new performance regressions (short delay_usec)Will Whitty2022-02-151-1/+1
| | | | | | | | My Mac was using 20% cpu again, which was related to the Javascript Export plugin. I had however no export templates setup in the project so this is more of a stopgap fix.
* Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker2022-02-122-1/+6
|
* [HTML5] PWA service worker prefers cached version.Fabio Alessandrelli2022-02-061-23/+29
| | | | | | | | Use an offline first approach, where we prefer the cached version over the network one. This forces games using PWA to always re-export the project and not just the PCK, so that the service worker version gets updated correctly, and the end-user cache is correctly cleared on update.
* Add missing SNAME macro optimization in some function callsjmb4622022-02-062-2/+2
|
* Remove property hints referencing unsupported svgz extensionRémi Verschelde2022-01-171-3/+3
| | | | | The wrongly claimed support for it was removed in #49645. See also #56862.
* Fix decoding UTF-8 filenames on unzipping.bruvzg2022-01-051-1/+1
|
* Update copyright statements to 2022Rémi Verschelde2022-01-035-10/+10
| | | | Happy new year to the wonderful Godot community!
* Replace String comparisons with "", String() to is_empty()Nathan Franke2021-12-091-3/+3
| | | | | | Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
* Fix new projects always being created with OpenGLHugo Locurcio2021-11-011-2/+2
| | | | | | | | Only Vulkan is fully implemented for now, so OpenGL isn't available in the project manager yet. This also makes the rendering driver checks use lowercase names everywhere for consistency.
* Use OpenGL 3.3 core profile instead of compatibility profileClay John2021-10-312-673/+1
| | | | | | | | | | - Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
* Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio2021-10-302-2/+2
| | | | | - Use lowercase driver names for the `--rendering-driver` command line argument.
* Add GLES2 2D renderer + Linux display managerlawnjelly2021-10-301-0/+672
| | | | | | | | | First implementation with Linux display manager. - Add single-threaded mode for EditorResourcePreview (needed for OpenGL). Co-authored-by: clayjohn <claynjohn@gmail.com> Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
* clang-format: Disable alignment of operands, too unreliableRémi Verschelde2021-10-281-1/+1
| | | | | | | | | Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
* Use range iterators for `Map`Lightning_A2021-09-301-2/+2
|
* Make platform feature tag names lowercaseHugo Locurcio2021-08-311-1/+1
| | | | | | | | | | | | | | Feature tag names are still case-sensitive, but this makes built-in feature tags more consistent. - `Windows` -> `windows` - `OSX` -> `osx` - `LinuxBSD` -> `linuxbsd` - `Android` -> `android` - `iOS` -> `ios` - `HTML5` -> `html5` - `JavaScript` -> `javascript` - `UWP` -> `uwp`
* Split javascript export template into multiple filesSergey Minakov2021-08-125-964/+1081
|
* [HTML5] Add option to focus canvas on start.Fabio Alessandrelli2021-06-251-0/+2
| | | | Enabled by default.
* Strip query string when parsing HTTP request line for pathHaoyu Qiu2021-06-251-2/+5
|
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-9/+9
|
* Consolidate JSON, JSONParseResults and JSONParser into JSONMarcel Admiraal2021-06-191-5/+4
| | | | | Renames JSON.parse_string() to parse() Renames JSON.decode_data() to stringify()
* Rename Reference to RefCountedPedro J. Estébanez2021-06-111-1/+1
|
* Implement shader cachingreduz2021-05-311-3/+3
| | | | | | | | | | | | * Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v
* Rename File::get_len() get_length()Marcel Admiraal2021-05-251-4/+4
|
* Tweak dozens of editor property hints for consistencyHugo Locurcio2021-05-251-1/+1
| | | | | | - Update Viewport MSAA property hints to match the currently exposed values. - Add some performance hints to property hints.
* Make all file access 64-bit (uint64_t)Pedro J. Estébanez2021-05-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio2021-05-061-3/+3
|
* Replace remaining uses of `NULL` with `nullptr`Rémi Verschelde2021-04-291-2/+2
| | | | Follow-up to #38736 (these uses were likely added after this PR was merged).
* [HTML5] Export as Progressive Web App.Fabio Alessandrelli2021-04-271-148/+339
| | | | | | Adds possibility to export as a progressive web app. Allows customizing base icons, display mode, orientation and offline page.
* [HTML5] HTTP server uses optional SSL.Fabio Alessandrelli2021-04-271-12/+88
| | | | | | | | | | | | | Generates a key/cert snakeoil pair or use a custom SSL cert/key. This is of course false security, and potentially detrimental for it. But, so long, those are the requirements browser vendors agreed on to use things like the Gamepad API, and more advanced topics like wasm threads. You don't need this if you run on localhost (at least!), but you do need this (or a much safer nginx proxy) to try those things on your local network (e.g. when debugging a phone, networking, etc).
* [HTML5] Optional icon generation, use export name for it.Fabio Alessandrelli2021-04-271-13/+24
| | | | | | | | We used to only generate the favicon if it was specified in the user project settings, now it's optional, will export it to `NAME.icon.png`, (falling back to the default project icon if none is set in project settings), and the `<link>` tag is added using the `$HEAD_INCLUDE` instead of being hardcoded in the template.
* [HTML5] Debug HttpServer now runs in `web` cache subdir.Fabio Alessandrelli2021-04-271-41/+31
| | | | | Serving all files in that folder and using a known list of mime types. Makes it easy to add more exported files, while still playing safe.
* Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde2021-04-051-1/+1
|