Commit graph

350 commits

Author SHA1 Message Date
Rémi Verschelde
e1c1d7d1d7 Add a bunch of missing Godot headers in own files 2017-03-05 15:47:28 +01:00
Rémi Verschelde
49c065d29c Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.
2017-03-05 14:21:25 +01:00
Julian Murgia
94103c0c02 Add API to access battery power state
Done:
- X11, server (tested)
- Windows (developed, would be nice to retest)
- OSX (not tested)
Prepared (not developed):
- Android (code is here, but may not compile)
- iphone
- winrt
- bb10
- haiku
- javascript
2017-03-04 18:04:29 +01:00
Juan Linietsky
ffcd954211 Fixes to webgl/opengl es 3.0 for compatibility with webgl2.0, still does not work though 2017-02-22 19:14:21 -03:00
eska
6e1828c958 Fix WebAssembly builds on Windows 2017-02-21 23:21:28 +01:00
Juan Linietsky
de0045cf1b -renamed globals.h to global_config.cpp (this seems to have caused a few modified files)
-.pck and .zip exporting redone, seems to be working..
2017-02-21 00:06:30 -03:00
eska
6e2bf31e5a Automatically zip web export templates
Also fix web builds on Windows and clean up
2017-02-20 06:59:19 +01:00
eska
335fdea581 Fix parallel asm.js/WebAssembly builds 2017-02-20 03:44:37 +01:00
Juan Linietsky
f6950956bd Editor Export Settings Dialog is completed!! Now on to make some exporters.. 2017-02-19 23:21:35 -03:00
Hein-Pieter van Braam
411ee71b4d Rename the _MD macro to D_METHOD
This new name also makes its purpose a little clearer

This is a step towards fixing #56
2017-02-13 12:50:02 +01:00
Rémi Verschelde
40e4c1f6ab Merge pull request #7689 from eska014/webgl2
Enable WebGL2 in web export, start fixing build
2017-02-02 08:18:42 +01:00
eska
e06edc67c0 Enable WebGL2 in web export, start fixing build
Will not yet compile
2017-02-01 10:21:04 +01:00
Juan Linietsky
96de0141cc Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
Rémi Verschelde
7b059965e8 Adapt platforms to AudioServer refactoring
Fixes compilation on Windows and likely other platforms (at least
as far as AudioServer changes were concerned), though they were
not tested.
2017-01-16 19:19:45 +01:00
Rémi Verschelde
39114178a0 Style: Prevent clang-format on JS code 2017-01-16 08:49:52 +01:00
Rémi Verschelde
f44ee891be Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +01:00
Juan Linietsky
b400c69cd4 Oops! Audio engine has vanished :D 2017-01-15 16:07:51 -03:00
Rémi Verschelde
07f65184f3 Merge pull request #7519 from eska014/web-presentation
Improve Web export presentation
2017-01-15 00:30:52 +01:00
eska
1f7d4c4d0e Improve usability and style in web export presentation
- Check for WebGL support, don't load if unsupported
 - Check for IndexedDB support
 - Make canvas support check message visible
 - Colored debug output for warnings and errors
 - Make it obvious status can be closed by clicking
 - Don't use status to display non-critical errors
 - Limit output message count
 - Add clear output button
 - Fix setting total memory
2017-01-14 14:53:40 +01:00
Rémi Verschelde
93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky
d9d77291bc rename String.extension() -> String.get_extension() / String.basename() -> String.get_basename() 2017-01-14 00:51:09 -03:00
Juan Linietsky
a97551902e rename Input.get_mouse_speed() to Input.get_last_mouse_speed() 2017-01-13 19:24:28 -03:00
eska
68422c5dd6 Relink web build when HTML shell changes
Emscripten injects its loader script when linking, so force relinking
whenever the HTML shell changes.

Also remove useless FULL_ES2 flag, which should be a linker flag, but
would impact performance too much.
2017-01-12 01:05:07 +01:00
Juan Linietsky
547a57777b renamed joystick to joypad everywhere around source code! 2017-01-08 17:06:33 -03:00
Juan Linietsky
2ab83e1abb Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector 2017-01-07 18:26:38 -03:00
Juan Linietsky
0f7af4ea51 -Changed most project settings in the engine, so they have major and minor categories.
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
Juan Linietsky
118eed485e ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant.
All usages of "type" to refer to classes were renamed to "class"
ClassDB has been exposed to GDScript.
OBJ_TYPE() macro is now GDCLASS()
2017-01-02 23:03:46 -03:00
Rémi Verschelde
c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Rémi Verschelde
752f630f4e Merge pull request #7219 from eska014/separate-asmjs
Fix browser lockups in web export startup
2016-12-02 08:57:33 +01:00
eska
290d79f26c Emit asm.js code into a dedicated file for asm.js export
This helps prevent browser lockups during start-up at the cost of having
to distribute an extra file.
2016-11-30 23:47:38 +01:00
eska
3e1b437315 Add window features in web export
- Add 'window' (canvas) resize, maximize and fullscreen
 - Implement get_screen_size
 - Fix fullscreen resolution
2016-11-30 22:04:35 +01:00
eska
30e9ea5a82 Fix some mouse bugs in WebAssembly/asm.js
- Emit mouse wheel release events
 - Set button masks, fixes #5092
2016-11-30 22:02:32 +01:00
eska
a6ae3204fb OS additions and fixes for WebAssembly/asm.js
- Implement alert, shell_open, set_window_title
 - Add locale lookup, fixes #2477
 - Print without color control sequences
 - Move get_executable_path implementation to OS_JavaScript
2016-11-30 22:01:55 +01:00
eska
d87b1d1338 Remove explicit BINARYEN_METHOD for WebAssembly build
This option is the default since Binaryen version 21.
2016-11-13 15:38:12 +01:00
eska
82addf2ffe Enable memory growth in WebAssembly builds
This allows setting TOTAL_MEMORY during runtime at the cost of reserving
a bit more memory.
2016-11-13 15:29:03 +01:00
Rémi Verschelde
cc95d4448c scons: Reorder options for clarity
Also prefix all thirdparty-related toggles with `builtin`.
2016-11-03 07:45:08 +01:00
Rémi Verschelde
f34151ff0f style: Various other PEP8 fixes in Python files
Done with `autopep8 --select=E7`, fixes:

- E701 - Put colon-separated compound statement on separate lines.
- E702 - Put semicolon-separated compound statement on separate lines.
- E703 - Put semicolon-separated compound statement on separate lines.
- E711 - Fix comparison with None.
- E712 - Fix (trivial case of) comparison with boolean.
- E713 - Fix (trivial case of) non-membership check.
- E721 - Fix various deprecated code (via lib2to3).
2016-11-01 00:35:16 +01:00
Rémi Verschelde
817dd7ccbb style: Fix PEP8 blank lines issues in Python files
Done with `autopep8 --select=E3,W3`, fixes:

- E301 - Add missing blank line.
- E302 - Add missing 2 blank lines.
- E303 - Remove extra blank lines.
- E304 - Remove blank line following function decorator.
- E309 - Add missing blank line.
- W391 - Remove trailing blank lines.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
d4c17700aa style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
97c8508f5e style: Start applying PEP8 to Python files, indentation issues
Done with `autopep8 --select=E1`, fixes:

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
eska
d6f2862429 Add option 'wasm' to compile to WebAssembly in web export
WebAssembly is still experimental, so disabled by default.

The HTML shell file now uses $GODOT_BASE, a placeholder for the
base filename, instead of $GODOT_JS, $GODOT_MEM and $GODOT_FS.
2016-10-31 01:28:01 +01:00
Rémi Verschelde
7384a6519f Merge pull request #6993 from eska014/remove-js-compression
Remove JavaScript compilation option 'compress'.
2016-10-31 12:43:57 +01:00
George Marques
604ddd691c
Fix extraneous NULL character on HTML export
Fix #2801
2016-10-20 21:11:13 -02:00
eska
fa219e02d7 Remove JavaScript compilation option compress.
This functionality has been removed from Emscripten in version 1.36.13,
server-side compression is recommended instead.
2016-10-21 00:02:44 +02:00
Rémi Verschelde
fc8ccd5b8c SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde
cbf52606f4 zlib: Split thirdparty files, simplify scons option 2016-10-15 12:20:47 +02:00
Rémi Verschelde
8311a78df5 squish: Move to a module and split thirdparty lib 2016-10-15 12:01:28 +02:00
Rémi Verschelde
5c12c9e69b mpc: Move to a module and split thirdparty libmpcdec 2016-10-15 11:50:42 +02:00
Rémi Verschelde
cfcc8a20e8 theora: Move to a module and split thirdparty lib
Same rationale as the previous commits.
2016-10-15 11:50:41 +02:00
Rémi Verschelde
d9a291f641 ogg/vorbis/opus: Make them modules and unbundle thirdparty libs
Took the opportunity to undo the Godot changed made to the
opus source. The opus module should eventually be built in its
own environment to avoid polluting others with too many include
dirs and defines.

TODO: Fix the platform/ stuff for opus.
2016-10-15 11:50:40 +02:00
Rémi Verschelde
f63bf12193 Drop nedmalloc which is apparently not used anymore 2016-10-14 18:21:23 +02:00
Rémi Verschelde
d3d0507c05 Remove speex support, it is obsoleted by opus
As mentioned by upstream, Xiph.Org [0]:
> The Speex codec has been obsoleted by Opus. It will continue to be
> available, but since Opus is better than Speex in all aspects,
> users are encouraged to switch.

[0] http://www.speex.org/
2016-10-13 18:58:56 +02:00
Rémi Verschelde
5efe47fb0b Merge pull request #4376 from eska014/js-eval
Add JavaScript eval interface to web export
2016-08-30 14:52:35 +02:00
eska
4beeff9433 Pass mouse position to Input singleton in web export 2016-07-08 20:09:25 +02:00
eska
913361928f Add JavaScript eval interface 2016-06-30 15:45:40 +02:00
Rémi Verschelde
0a72f9ccb8 Merge pull request #5362 from J08nY/png
libpng: New version 1.6.27
2016-06-23 07:40:03 +02:00
Juan Linietsky
d6225b1e00 Improved binding system (ObjectTypeDB::bind_method) to be friendlier to statically typed languages, should help in the Mono integration.
Disabled by default.
2016-06-22 23:13:41 -03:00
J08nY
0ab05b09e4
Fixed iCCp chunk in pngs
neccesary for libpng 1.6.27 to work silently
2016-06-22 21:13:29 +02:00
Rémi Verschelde
a7fc04626a Add missing license headers in our source files (#5255)
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
George Marques
c48ffed87a
Fix javascript build in Windows
Fix #3438
2016-06-14 11:27:16 -03:00
Hubert Jarosz
33403d91f7
remove trailing whitespace 2016-05-21 15:29:25 +02:00
eska
ab4caa7953 Move export GUI debug toggle to export settings window 2016-04-28 16:13:26 +02:00
eska
45b90f16ca Add fallback to legacy KeyboardEvent in web export
Fallback to KeyboardEvent property `charCode` is absence of both `key`
and `char` for retrieval of unicode value.
2016-04-19 17:03:13 +02:00
eska
0e9eefb7d4 Reimplement key input events in Emscripten export
Scancodes work, but unicode values are now completely broken in some
browser/OS combinations.
2016-04-19 14:02:26 +02:00
Rémi Verschelde
0a5472e697 Remove trailing spaces 2016-04-02 20:26:12 +02:00
hondres
352db6b17e html5: workaround for echo key events. 2016-03-04 20:26:39 +01:00
hondres
1ad6ca0a81 add mappings and increase max number of buttons 2016-01-22 22:56:05 +01:00
Hinsbart
77858b66d3 html5 gamepad support 2016-01-21 02:30:24 +01:00
hondres
c4578453fa fix string conversion in javascript export 2016-01-20 08:59:14 +01:00
eska
696643ce18 Revamp web export page 2016-01-20 03:41:39 +01:00
George Marques
5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
Rémi Verschelde
46eebac3ae Remove bogus argument in sample_get_description
Copy-paste mistake from the setter most likely.
2015-12-28 01:18:37 +01:00
Ariel Manzur
02d6669a38 threads 2015-12-22 10:08:20 -03:00
Ariel Manzur
8433221629 missing? 2015-12-22 09:26:54 -03:00
est31
15f6d3cebf Add way to look for templates at system wide level too
Useful for everybody wanting to package godot.
Fixes #1026.

-> Retain the old behaviour: path in error msg only when exporting.
-> User templates override system templates
2015-11-30 01:36:08 +01:00
George Marques
6e87314d83
Add support for Opus audio format 2015-10-02 14:25:38 -03:00
Rémi Verschelde
092f84642c Rename voice_set_volume argument to p_volume to avoid confusion
This argument is indeed expected to be a volume on a linear scale (not dB),
typically from 0.0 to 1.0, though it can go higher than 1.0.
2015-09-26 22:43:34 +02:00
Juan Linietsky
9962518ffd Merge branch 'master' of https://github.com/okamstudio/godot 2015-09-24 18:07:13 -03:00
Juan Linietsky
82a3304458 Added ability to set custom mouse cursors. Not hardware accelerated yet. 2015-09-24 18:06:15 -03:00
Juan Linietsky
83d9a692be Ability to visually debug geometry visually:
-Visible 2D and 3D Shapes, Polygons, Tile collisions, etc.
-Visible Navmesh and Navpoly
-Visible collision contacts for 2D and 3D as a red point
-Customizable colors in project settings
2015-09-20 13:03:46 -03:00
Juan Linietsky
a88f67821c HTML5 exporter seems to be fully functional
-user:// filesystem implemented
-default template page could look prettier, help appreciated
2015-09-12 10:54:47 -03:00
Juan Linietsky
83b69f8fef remotion of some c++ includes to avoid dependency on libstdc++ 2015-09-10 20:30:46 -03:00
Juan Linietsky
0fb7b5aa0c HTML5 exporter Improvements
-Better template handling
-Voice support
-Stream support
2015-09-10 00:10:54 -03:00
Juan Linietsky
9d185ccc30 -Merged the file server with the live editing and remote debug
-It is now really easy to deploy an android build with debug, and debug it
2015-08-06 02:37:40 -03:00
Juan Linietsky
fdaa2920eb Updated copyright year in all headers 2015-04-18 14:38:54 -03:00
Juan Linietsky
b135cdbf05 Merge pull request #1531 from vkbsb/h5_canvas_polygon_fix
H5 canvas polygon fix
2015-04-07 20:22:58 -03:00
Juan Linietsky
42d41a3fbc wrong function, changing.. 2015-04-02 15:03:14 -03:00
Juan Linietsky
8ea7e3e2b1 javascript build fix 2015-04-02 14:54:36 -03:00
V.VamsiKrishna
eb3c88b3dd Revert "Revert "Removing etc1 from build for javascript platform.""
This reverts commit 9965e93f7e.
2015-03-20 11:47:56 +05:30
V.VamsiKrishna
9965e93f7e Revert "Removing etc1 from build for javascript platform."
This reverts commit 41b729ccff.
2015-03-20 11:12:13 +05:30
V.VamsiKrishna
41b729ccff Removing etc1 from build for javascript platform.
Based on inputs from reduz
1) Made etc1 optional driver and default yes.
2) Reverted the hack in rg_etc1.cpp
3) Disabled etc1 for javascript plaform.
2015-03-20 10:18:13 +05:30
V.VamsiKrishna
72895ddecf Replacing spaces with tabs 2015-03-20 07:47:06 +05:30
V.VamsiKrishna
1d45cd0ff1 Fix Javascript build. 2015-03-19 10:31:36 +05:30
Juan Linietsky
0fa94a9690 Build System Changes
-=-=-=-=-=-=-=-=-=-=

Build System:
-Big clean up of SCons, changed how builds are done to a much cleaner method (check the Github Wiki for instructions).
-Deactivated BlackBerry10 (sorry), if no mantainer found (or BlackBerry does not send us a Passort ;), platform will be removed as we have no longer devices to test.

Engine:
-Removed deprecated object and scene format (was in there just for compatibility, not in use since a long time).
-Added ability to open scenes even if a node type was removed (will try to guess the closest type).
-Removed deprecated node types.
2014-10-07 01:31:49 -03:00
Dana Olson
f6c81bbd7b fix custom export packages for PC
also allow custom templates to reside outside of res:// for all platforms
2014-08-25 15:13:30 -04:00
Juan Linietsky
9b8696d3dd Light Baker!
-=-=-=-=-=-=

-Support for lightmap baker, have fun figuring out how it works before tutorial is published.
2014-06-11 10:41:03 -03:00
Juan Linietsky
6f0b4678e2 More 3D Improvements
-=-=-=-=-=-=-=-=-=-=

-Sprite3D and AnimatedSprite3D support.
-Opaque pre-pass works, is compatible with shadows
-Improved shadow map rendering (can differentiate between plain opaque and opaque with shaders/discard/etc)
-Added option to use alpha discard in FixedMaterial
-Improved Glow FX, many more options (three modes, Additive, Screen and SoftLight), strength and scale
-Ability for Background (image or cubemap) to send to glow buffer
-Dumb Deploy of clients now actually works in Android
-Many Many rendering fixes, 3D is much more usable now.
2014-05-29 10:56:39 -03:00
Juan Linietsky
d7d65fa2f2 -improved physics ccd
-html5 exporter works again
-disable repeat on image loader by default
-can change shape offset en tileset, texture offset was broken
2014-02-19 11:57:14 -03:00
Juan Linietsky
58cda02a38 -fixed export templates not loading/exporting on Windows
-fixed TouchScreenButton with stretch2d
-fixed(?) OSX crash on startup (test!!)
-compilation fixes on windows
-CollisionPolygon editor works again
-find buttons en find dialog
-TileMap editor cleanup (removed "error", made nicer)
-viewport flicker fixed
-make .scn default extension for saving scenes
-export the rest of the network classes to gdscript
2014-02-13 18:03:28 -03:00
Juan Linietsky
0b806ee0fc GODOT IS OPEN SOURCE 2014-02-09 22:10:30 -03:00