Compare commits

...

1761 Commits

Author SHA1 Message Date
Florian Rival
124079c50f Fix formatting 2020-04-16 18:46:44 +02:00
Arthur Pacaud
2e42fc01be Fix gdjs.WebsocketDebuggerClient (#1662) 2020-04-16 16:35:10 +02:00
Florian Rival
770aad5672 Fix electron module not accessible in previews 2020-04-16 09:26:08 +02:00
Aurélien Vivet
bef1b9fb1e Add JSDoc to evt.common functions (#1640) 2020-04-15 22:14:17 +02:00
Florian Rival
831dce0f51 Bump newIDE version 2020-04-15 09:58:22 +02:00
Florian Rival
2da4e79d06 Upgrade material-ui to 4.9.10 to avoid infinite rerender of text areas (#1656) 2020-04-14 23:03:55 +02:00
Florian Rival
804a07c56e Add "Jump sustain time" to Platformer Object behavior (#1650) 2020-04-14 11:24:45 +02:00
Florian Rival
b367f13116 Fix popovers in ForEach/JsCode/Link/Repeat events
Also ensure the fields are focused when opened.
Fix #1653.
2020-04-14 10:04:33 +02:00
Florian Rival
581d7716f7 Fix imports 2020-04-14 10:01:27 +02:00
Nilay Majorwar
19de7aefbc Fix confirmation dialogs making the app lose the focus on Windows (#1649)
Fix #1646

Electron default confirm and alert dialogs don't play nicely with the focus on Windows.
2020-04-14 09:57:22 +02:00
Florian Rival
57759aa1b8 Run auto formatting on platformerobjectruntimebehavior.spec.js 2020-04-13 21:39:38 +02:00
Todor Imreorov
07876afc28 fix "Select option by number" in Dialogue Tree (#1648) 2020-04-13 19:17:06 +02:00
Aurélien Vivet
b9029fba4d Fix help button for BBText objects (#1647) 2020-04-13 14:46:13 +02:00
Florian Rival
c4ba357296 Bump newIDE version 2020-04-13 11:16:06 +02:00
Florian Rival
a47acbb82a Fix deploy script for web-app 2020-04-12 20:05:58 +02:00
Florian Rival
f1f93c9be0 Update translations 2020-04-12 19:54:05 +02:00
Florian Rival
f56d864efb Add cannon-ball-with-physics example 2020-04-12 19:29:19 +02:00
Florian Rival
017f8cf554 Update flappy bird example 2020-04-12 19:19:12 +02:00
Arthur Pacaud
d8546c5547 Add doc and type annotations to gdjs.WebsocketDebuggerClient (#1637) 2020-04-11 18:37:28 +02:00
Florian Rival
0bc6e41709 Remove extra console.log and close confirm dialog in development 2020-04-11 16:28:55 +02:00
Florian Rival
943fac772d Fix translation and warn about unsaved changes in CloseConfirmDialog 2020-04-10 23:24:34 +02:00
Florian Rival
327e4cb6a3 Fix horizontal scrollbar in ExpressionAutocompletionsDisplayer 2020-04-10 19:58:12 +02:00
Florian Rival
277989f329 Fix ExpressionSelector positioning when errors shown in an expression 2020-04-10 19:58:12 +02:00
Florian Rival
2bdae4ed14 Display autocompletions at the bottom of the input 2020-04-10 19:58:12 +02:00
Florian Rival
4bfbd7c78f Add autocompletions when typing an expression
Add ExpressionAutocompletion, ExpressionAutocompletionsDisplayer, ExpressionAutocompletionsHandler.
2020-04-10 19:58:12 +02:00
Harsimran Singh Virk
7b76564dda Fix for redundant scrollbar in Project Manager (#1635) 2020-04-10 14:35:50 +02:00
Florian Rival
41a2b87dd0 Fix unsaved changes not triggered when editing an object 2020-04-09 22:56:52 +02:00
Nilay Majorwar
397781bb98 Disable some menu items if no project is opened (#1626) 2020-04-09 22:25:23 +02:00
Florian Rival
b4fa741717 Upgrade to electron-builder 21.2.0
* Use new entitlement to avoid the packaged and signed macOS app to crash when launched.
* Don't upgrade to a newer version of electron-builder because not compatible with macOS 10.13 it seems
2020-04-09 21:47:14 +02:00
Nilay Majorwar
6e16bd764f Upgrade IDE to Electron v8.2.1 (#1589) 2020-04-09 21:34:51 +02:00
Florian Rival
1071b66c92 Enhance typing of MenuItemTemplate in the whole app 2020-04-08 19:42:02 +02:00
Florian Rival
9ff6d91717 Simplify a bit extra menu item handling in ProjectManager 2020-04-08 19:24:35 +02:00
Nilay Majorwar
bda1eb01d2 Add menu items to scene context menu to edit properties or variables (#1607) 2020-04-08 18:43:32 +02:00
Florian Rival
dfcaf472c7 Fix tests 2020-04-07 16:26:06 +02:00
Florian Rival
c8a9da6aea Fix some bad characters in results of HelpFinder 2020-04-05 19:26:23 +02:00
Florian Rival
daa50931ae Fix formatting 2020-04-05 17:31:01 +02:00
Florian Rival
f84a97a4f2 Move Cursor/touch on object condition to an "object" condition
See #1611
2020-04-05 17:25:09 +02:00
Aurélien Vivet
10d5c403a7 Add preload auto to fix video in electron 8+ and Chrome 76+ (#1624) 2020-04-05 17:14:28 +02:00
Florian Rival
15471e6e28 Move EventsScope to InstructionOrExpression folder 2020-04-05 14:21:35 +02:00
Florian Rival
7ccebc69fa Fix warnings in Storybook 2020-04-05 12:12:03 +02:00
Florian Rival
4c57fbc01f Rename enumerateInstructions to enumerateAllInstructions 2020-04-05 12:02:45 +02:00
Florian Rival
ed58ebd3be Add imperative methods to SemiControlledTextField 2020-04-05 11:40:08 +02:00
dependabot[bot]
9cae4fb264 Bump minimist from 1.2.0 to 1.2.3 in /newIDE/web-app (#1623)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.0 to 1.2.3.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.0...1.2.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-04-05 10:49:51 +02:00
Florian Rival
83e7314863 Clean the GDJS runtime folder only when starting the development app
Potential fix for filesystem issue like #1528
2020-04-04 22:36:03 +02:00
Florian Rival
8ec56164af Update GDevelop-services urls to use proper subdomains 2020-04-04 15:56:39 +02:00
Aurélien Vivet
ba0c4a9bc4 Improve bug reports with system details (#1612) 2020-04-04 15:51:24 +02:00
dependabot[bot]
8706dc727d Bump minimist from 1.2.0 to 1.2.3 in /newIDE/electron-app/app (#1619)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.0 to 1.2.3.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.0...1.2.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-04-04 13:53:15 +02:00
dependabot[bot]
7ee9facb34 Bump minimist from 1.2.0 to 1.2.3 in /newIDE/electron-app (#1620)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.0 to 1.2.3.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.0...1.2.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-04-04 13:52:58 +02:00
gautamv95
4190cbda88 Rationalise dismissing of dialogs with click outside/escape key (#1522)
Fix #1517
2020-04-01 10:05:03 +02:00
Florian Rival
aa73b01bbc Fix warning in ContextMenu 2020-04-01 09:54:43 +02:00
Florian Rival
b242c7863f Add asterisk in titlebar when the file is modified 2020-04-01 09:51:20 +02:00
Apostoles
41550ee10f Track changes to display a smart unsaved changes warning (#1523) 2020-03-31 22:35:08 +02:00
Florian Rival
7af0999f59 Remove obsolete ExternalEditor in LocalApp (#1604) 2020-03-31 09:45:15 +02:00
Nilay Majorwar
93e0ccc163 Add Prettier to electron-app and autoformat files (#1602) 2020-03-30 20:25:08 +02:00
Aurélien Vivet
94303fccc2 Update required CMake version for GDevelop.js (#1600) 2020-03-30 16:05:24 +02:00
Aurélien Vivet
33949fd93c Add option to use MinGW instead ninja for GDevelop.js (#1599) 2020-03-29 23:21:55 +02:00
Harsimran Singh Virk
bd40bb892c Fix selection issues in the Autocomplete lists (#1586) 2020-03-29 21:11:20 +02:00
Florian Rival
c2cf935bd9 Fix typo 2020-03-28 18:24:06 +01:00
Quarkstar
c7d5ab8013 Update Twist/ZoomBlur/RadialBlur to be centered by default (#1564)
Remove dependency on window size, preparing for object effects support
2020-03-25 23:33:55 +01:00
Florian Rival
e8c93a5622 Add autoHideScrollbar and fix scrolling in ScrollView 2020-03-25 22:36:03 +01:00
Garett Tok Ern Liang
348459481a Fix Left/Right Ctrl/Shift/Alt/Meta not recognised as separate keys (#1553) 2020-03-25 21:13:08 +01:00
Florian Rival
e7348f08c4 Update bouncing-ball-and-rope example 2020-03-24 21:46:35 +01:00
Harsimran Singh Virk
ef96adee92 Close InlinePopover after selection in an autocomplete field (#1568)
Also if Escape key is pressed
2020-03-24 08:55:40 +01:00
Florian Rival
66b3ec1686 Rename IsInformative to IsExact in ExpressionCompletionFinder 2020-03-23 23:32:33 +01:00
Arthur Pacaud
b77eb123e8 Move loadObject to registerObject method in gdjs.RuntimeScene (#1572) 2020-03-22 21:32:43 +01:00
Florian Rival
dcba4272e0 Fix description in CRT 2020-03-22 17:16:24 +01:00
Quarkstar
c2dd5a0a09 Allow to change the animation speed/frequency of effects (#1554) 2020-03-22 17:13:05 +01:00
Aurélien Vivet
a6ae265705 Improve visibility of parameter for checkbox in effects list (#1575) 2020-03-22 15:42:51 +01:00
Florian Rival
94fb2fede6 Remove dead code 2020-03-22 15:41:13 +01:00
Jimil Desai
7bcaf55342 Fix warning not showing when using a digit as first character for a name (#1560) 2020-03-22 15:24:28 +01:00
Geetesh Gupta
cc9632e7c1 Remember the directory previously chosen when selecting a resource (#1494) 2020-03-21 13:29:00 +01:00
Aurélien Vivet
3ff5dd7cd2 Add duplicate menu option in Project Manager (#1556) 2020-03-20 09:45:18 +01:00
Florian Rival
1193e1bbd0 Run Prettier autoformatting on some files 2020-03-19 23:17:38 +01:00
Harsimran Singh Virk
9c55b0acc6 Replace Downshift with material-ui Autocomplete. (#1453) 2020-03-19 22:45:21 +01:00
Jimil Desai
d03c1964cb Fix global objects not updated in other editors after modifying them in an editor (#1545) 2020-03-19 19:17:54 +01:00
Aurélien Vivet
e5695aacf6 Fix sentences for video object actions & clean whitespace (#1552) 2020-03-18 21:50:09 +01:00
Florian Rival
8e6d2da9f7 Fix crash in external events 2020-03-18 21:46:32 +01:00
Aurélien Vivet
5c043fd04a Add context menu to select the scene to start the preview with (#1429) 2020-03-18 21:28:18 +01:00
Pranav Shridhar
4edbd9d377 Added shortcut to export project (#1548) 2020-03-18 15:23:08 +01:00
Quarkstar
c6f21955a3 Add BulgePinch, Glitch, RadialBlur and Twist effects (#1531) 2020-03-18 15:20:01 +01:00
Florian Rival
03cc406459 Fix tests 2020-03-18 15:03:11 +01:00
Ferry Pie
c5d855b768 Make table headers bolder (#1512) 2020-03-17 15:03:40 +01:00
Pranav Shridhar
2aba1c57c4 Fix spinner shown in "See all my builds" when not logged in (#1542)
Fix #1541
2020-03-17 14:54:53 +01:00
Minisonny
9614549436 Fix ContextMenu positioning in the web-app (#1527)
Fix #1492
2020-03-17 09:36:26 +01:00
Florian Rival
f1730c239d Add type to ExpressionCompletionDescription::ForObject 2020-03-16 23:08:05 +01:00
Pranav Shridhar
acb19bf8ed Fix typos (#1535) 2020-03-16 19:03:58 +01:00
Florian Rival
4d63fbcca0 Fix Flow typing of components with useImperativeHandle 2020-03-15 13:12:30 +01:00
Florian Rival
eb19b6ba21 Remove Fullstory analytics 2020-03-14 18:48:45 +01:00
Florian Rival
d2747782b4 Remove mention to babel-loader in package.json.README.md 2020-03-14 17:24:20 +01:00
Nilay Majorwar
8202e6b38e Update react-scripts to v3.4.0 (#1526) 2020-03-14 17:22:08 +01:00
Florian Rival
6deb4fa122 Merge branch 'master' of github.com:4ian/GDevelop 2020-03-14 13:58:58 +01:00
Nilay Majorwar
3990064da9 Add Exit GDevelop option to File menu (#1524)
Closes #1498
2020-03-14 12:45:04 +01:00
Quarkstar
a315eabdce Reorder Effects/JsExtension.js (#1519) 2020-03-12 14:57:34 +01:00
Florian Rival
faa02d4459 Add proper handling of closing parenthesis in ExpressionCompletionFinder 2020-03-11 17:41:52 +00:00
Harsimran Singh Virk
8b294ae369 Fix tooltip content for editor titles (#1495)
Fix #1484
2020-03-10 22:21:26 +00:00
Florian Rival
cb43eb7780 Upgrade to Flow 0.120.1 2020-03-10 21:15:48 +00:00
Geetesh Gupta
765295fc5d Add Escape (and Enter) key to finish renaming groups and comments (#1488) 2020-03-09 20:51:42 +00:00
A.Dilshaad
beb3bde4a8 Make New scene naming convention more consistent (#1508) 2020-03-09 10:01:00 +00:00
Aurélien Vivet
fe5b519917 Add blending mode effect (#1499) 2020-03-08 23:34:53 +00:00
Geetesh Gupta
8661fbef07 Fix object name not selectable when renaming an object (#1477)
Fix #1440
2020-03-08 23:09:10 +00:00
Quarkstar
afd11d2480 Add old film, dot and color replace effects (#1497) 2020-03-08 17:44:06 +00:00
Florian Rival
c5ad9715df Fix project name not escaped in Cordova generated config.xml 2020-03-05 21:21:27 +00:00
Florian Rival
4362e8dd42 Add check for libGD.js size in electron app build and fix failure reports 2020-03-05 07:57:31 +00:00
Florian Rival
372fa46709 Fix yarn command wrongly removing space between words (#1491) 2020-03-04 22:39:17 +00:00
Florian Rival
c43cfcd49e Display human readable names for builds in the Builds list (#1489)
Fix #1421
2020-03-04 20:27:14 +00:00
Florian Rival
c471a0af6d Bump newIDE version 2020-03-04 08:37:28 +00:00
Florian Rival
b1ea60e1d2 Fix Box2D.js in the global namespace conflicting with Facebook Instant Games runtime
Tested on Facebook Instant Games Android, iOS
Tested on Desktop Chrome, Firefox, Safari
2020-03-03 22:59:16 +00:00
Florian Rival
f745907f9d Merge branch 'master' of github.com:4ian/GDevelop 2020-03-03 21:54:34 +00:00
Florian Rival
92df124a92 Update translations 2020-03-03 21:54:25 +00:00
Geetesh Gupta
96f26c89ab Fix renaming not cancelled when object name is not changed (#1479) 2020-03-03 20:07:41 +00:00
Florian Rival
3f6428dfcc Merge pull request #1486 from 4ian/feature/more-expression-parser-node-locations
Improver expression parser with more location information
2020-03-02 22:11:57 +00:00
Florian Rival
22c6a57394 Improve completions from ExpressionCompletionFinder 2020-03-02 22:11:31 +00:00
Harsimran Singh Virk
dc942e6abc Fix unscrollable configuration/parameters of Event Functions (#1483) 2020-03-02 18:26:54 +00:00
Quarkstar
f9430a0da1 Fix hash of piskel-editor (#1485)
Fix #1482
2020-03-02 08:56:58 +00:00
Florian Rival
94ac7166ed Add more tests for ExpressionParser2 2020-03-01 19:00:18 +00:00
Florian Rival
88b20240ff Fix location of identifier (function names, etc...) with trailing whitespaces 2020-03-01 18:40:30 +00:00
Florian Rival
af93149f6a Add more location information in ExpressionParser nodes
Also fix some whitespace sensitivity of the parser
2020-03-01 17:37:21 +00:00
Florian Rival
732a716be4 Refactor error display in GenericExpressionField 2020-02-29 17:51:39 +00:00
gautamv95
11b660e05d Fix change of focused tab after a tab is closed (#1480)
Fix #986
2020-02-29 13:36:47 +00:00
Florian Rival
6155606d20 Refactor EnumerateExpressions 2020-02-27 21:00:27 +00:00
Florian Rival
89e3853296 Enforce TypeScript "strictNullChecks" and other strict compiler options 2020-02-25 21:06:04 +00:00
Arthur Pacaud
df655f2269 Removed non-required use of Hashtable.items (#1458) 2020-02-25 20:51:55 +00:00
Florian Rival
6b6ec6f06f Upgrade another package-lock.json file to latest format 2020-02-25 20:46:03 +00:00
Florian Rival
d80a47e569 Upgrade package-lock.json files to latest format 2020-02-25 20:22:01 +00:00
Florian Rival
9cf9d09f3a Refactor GenericExpressionField highlighting styling 2020-02-25 19:24:50 +00:00
Florian Rival
8fa23c5463 Move some files to InstructionOrExpression folder in newIDE 2020-02-25 19:24:50 +00:00
Aurélien Vivet
1c65e3c655 Fix casing in camera actions/conditions (#1467) 2020-02-25 18:21:22 +00:00
Florian Rival
b1e292e04e Update TimeDelta name/descriptions 2020-02-24 23:09:30 +00:00
Arthur Pacaud
e2f8f70d54 Improve JSDoc in gd.js (#1459) 2020-02-23 20:34:37 +00:00
Aurélien Vivet
d04faa039b Add Discord button on StartPage (#1462) 2020-02-23 20:27:57 +00:00
Florian Rival
4e59573042 Speed up identifiers and other character parsing in ExpressionParser2 2020-02-23 19:41:53 +00:00
Florian Rival
07fce517d6 Add ExpressionParser2Benchmarks 2020-02-23 14:52:09 +00:00
Florian Rival
ac90b982ac Hide verbose extension loading logs in tests 2020-02-23 14:49:35 +00:00
Florian Rival
4df974a4d7 Fix error highlighting in GenericExpressionField when shown inline 2020-02-22 18:28:56 +00:00
Florian Rival
cebf1e2a84 Add sanity check for libGD.js size 2020-02-22 16:35:57 +00:00
Florian Rival
650676cc6e Update Breakout example 2020-02-22 15:21:58 +00:00
Florian Rival
a3614a85b8 Add script to automatically upload example resources for the web-app 2020-02-22 15:15:58 +00:00
Florian Rival
ef52fec3ca Add Flappy bird example 2020-02-22 15:00:22 +00:00
Florian Rival
ca6f11b55a Support for describing completions to display for an expression (#1447) 2020-02-22 14:27:43 +00:00
Arthur Pacaud
7015962aa0 Update README-extensions.md (#1450)
As the majority of extensions use JavaScript now.
2020-02-22 12:55:57 +00:00
Florian Rival
4df7f0d10f Add links to "good first issues"/"not too hard" cards 2020-02-22 11:57:58 +00:00
Florian Rival
8c7ffe319a Merge pull request #1443 from 4ian/fix/visit-function-node
Fix WholeProjectRefactorer potential wrong renaming/moving of parameters
2020-02-19 08:36:12 +00:00
Florian Rival
710c2f0304 Fix renaming a property not renaming property expression used in a property action/condition 2020-02-19 08:33:32 +00:00
Florian Rival
727fa8a538 Fix WholeProjectRefactorer renaming/moving parameters of wrong functions for behaviors 2020-02-18 23:27:19 +00:00
Aurélien Vivet
f45e4c2049 Fix whitespace not preserved in comments (#1442) 2020-02-18 20:54:04 +00:00
Florian Rival
3bdf612f8e Fix ExpressionsRenamer when renaming an object function (#1438) 2020-02-18 08:55:25 +00:00
Florian Rival
4f7c91190e Fix formatting 2020-02-17 21:19:45 +00:00
Aurélien Vivet
5ed0c57e48 Improve pixel perfect rendering of games (#1432)
Can help with the issue of "bleeding" tiles.
2020-02-17 21:34:27 +01:00
Florian Rival
3955612e3b Run autoformatting on runtimegame-pixi-renderer.js 2020-02-17 20:27:58 +00:00
Arthur Pacaud
8eede20b07 Fix warning shown after dismissing the rename of an object (#1437) 2020-02-17 21:25:53 +01:00
Aurélien Vivet
3df9b29c3e Improve description of behavior methods and add "Extension" in tab names (#1431) 2020-02-16 23:48:13 +01:00
Florian Rival
280906dd3a Add "once" in description of onFirstSceneLoaded 2020-02-14 16:58:05 +00:00
Florian Rival
94e81ddf40 Add field for GDevelop version compatibility in extension headers and alert in IDE 2020-02-14 16:58:05 +00:00
Florian Rival
392e602651 Add message about export of lifecycle functions only if extension used 2020-02-14 16:58:05 +00:00
Florian Rival
0d60a54fa7 Add support for extension lifecycle events function 2020-02-14 16:58:05 +00:00
Florian Rival
e95a336dd2 Add new GDJS callbacks: first scene loaded, pre/post events 2020-02-12 20:47:43 +00:00
Florian Rival
b8ccf02f70 Refactor callbacks registration in GDJS 2020-02-11 23:33:30 +00:00
Florian Rival
a564a484a7 Rework codeNamespace to be generated by LayoutCodeGenerator instead of EventsCodeGenerator 2020-02-11 21:54:49 +00:00
Florian Rival
b9c1f5f6a7 Add LayoutCodeGenerator 2020-02-11 21:26:00 +00:00
Florian Rival
243bc93fe5 Add EventsFunctionsExtensionCodeGenerator 2020-02-11 20:45:20 +00:00
Florian Rival
d544319302 Add location in ExpressionParser2 and ExpressionNodeLocationFinder 2020-02-11 08:20:09 +00:00
Florian Rival
0fa5988995 Fix broken scripts since update to Emscripten 1.39.6 2020-02-10 23:28:54 +00:00
Arthur Pacaud
746b2f5480 Add more JSDoc/typing to gdjs.RuntimeObject and Hashtable (#1376) 2020-02-10 20:24:11 +00:00
Florian Rival
2cc7c8740e Fix Storybook and add story for NewInstructionEditorMenu 2020-02-09 22:16:09 +00:00
Florian Rival
aa30052dca Fix Events Extractor dialog showing empty extension names 2020-02-09 11:50:45 +00:00
Florian Rival
beb1cf0631 Hide horizontal scrollbar in InlinePopover 2020-02-09 11:22:31 +00:00
Todor Imreorov
78640d74c8 Add InstructionEditor showing as popover when right click on "Add action/condition" (#1416) 2020-02-09 11:17:38 +00:00
Todor Imreorov
7becb0be4b Fix multiple issues in Dialogue Tree (Yarn) extension (#1418)
* Add protection against misusage of the extension
* Fix json loading resource reading at the beginning of scene (thanks @4ian)
* Fix getClippedLineText sometimes clips the last letter
2020-02-08 18:25:09 +00:00
Florian Rival
6c789b7eb0 Remove remote connection for AppVeyor 2020-02-08 10:43:45 +00:00
Florian Rival
f743a785ad Update tests run on Windows on AppVeyor 2020-02-08 10:43:45 +00:00
Florian Rival
bac8aa14fa Fix Windows tests and add AppVeyor CI 2020-02-08 10:43:45 +00:00
Florian Rival
3ebb483e32 Update GDevelop.js Windows build to use embedded Ninja instead of MinGW make 2020-02-08 00:29:19 +00:00
Florian Rival
4fbbd34d40 Fix typo 2020-02-07 17:10:30 +00:00
Florian Rival
24091db88b Add deploy step to upload GDJS (and extensions) Runtime for web-app 2020-02-05 22:09:16 +00:00
Florian Rival
4ec3f1f082 Merge pull request #1406 from 4ian/refactor/emscripten-1.39
Upgrade to Emscripten 1.39.6
2020-02-05 21:58:31 +00:00
Florian Rival
991378e004 Remove debug message 2020-02-05 21:42:28 +00:00
Florian Rival
dfaee92d24 Fix GDevelop.js tests on Windows 2020-02-05 21:35:28 +00:00
Florian Rival
b07c71cb9c Exclude emsdk from tests in GDevelop.js 2020-02-05 21:27:41 +00:00
Florian Rival
cb0c0f903f Avoid full rebuild when changing a CMake parameter in GDevelop.js 2020-02-05 20:52:03 +00:00
Florian Rival
a81a121a8d Fix test coverage not running with Node environment 2020-02-02 20:24:31 +00:00
Florian Rival
7bf892c7eb Upgrade to Emscripten 1.39.6 2020-02-02 19:32:09 +00:00
Aurélien Vivet
ce4fdbe4f8 Add option to search in event texts (comments, group names) (#1398) 2020-02-01 18:45:15 +00:00
Florian Rival
d82bbdc1af Create CNAME for hosting on editor.gdevelop-app.com
This file is required by GitHub when using a custom domain with GitHub pages.
Now required because of using Cloudflare directly instead of Cloudfront.
2020-02-01 14:01:33 +00:00
Florian Rival
62dca91637 Fix formatting 2020-02-01 13:00:51 +00:00
Florian Rival
1e1c5f7206 Fix drag'n'drop of selected event invalidating the event in memory (potential crash) 2020-02-01 12:33:50 +00:00
Florian Rival
7c9e6ee6f1 Prevent larger texts in landscape mode on Safari iOS 2020-01-30 21:29:55 +00:00
Florian Rival
5690de71c5 Remove useless define in GDevelop.js 2020-01-30 08:24:48 +00:00
Florian Rival
eae2a06a4e Improve export speed (~20%) by memoizing mangled names 2020-01-28 23:57:37 +00:00
Florian Rival
4affa25672 Fix compilation on recent compilers
Fix compilation with latest Emscripten
2020-01-28 22:49:54 +00:00
Florian Rival
7b30f63cb1 Remove unused variables 2020-01-27 23:15:27 +00:00
Arthur Pacaud
574bdaaf41 Refactor SpriteRuntimeObject types to add prefix "Sprite" (#1378)
Also remove useless parseFloat
2020-01-27 22:54:28 +00:00
Florian Rival
bff43ee771 Remove dead code related to old ExpressionParser 2020-01-27 22:08:48 +00:00
Aurélien Vivet
9b9b6c5996 Fix usage of getFontFamily in BBText instance renderer (#1399) 2020-01-27 20:51:07 +00:00
Florian Rival
721872e45b Fix race condition between extension loading and GDJS development watcher 2020-01-27 20:18:35 +00:00
Arthur Pacaud
edd9ec94cf Add @arthuro555 to credits (#1396) 2020-01-27 18:21:18 +00:00
Florian Rival
c986c52409 Add document explaining platforms and exporters 2020-01-26 20:43:39 +00:00
Aurélien Vivet
168b8d3fea Simplify the Loop checkbox in Sprite editor (#1397) 2020-01-26 17:20:47 +00:00
Florian Rival
47025329dd Remove remaining old functions to register objects/behaviors 2020-01-26 10:53:49 +00:00
Aurélien Vivet
9f05a65ed2 Add font selector for BBText object (#1394) 2020-01-25 19:44:13 +00:00
Florian Rival
370c6d03ad Update estimated build time for electron builds 2020-01-20 21:32:30 +00:00
Aurélien Vivet
b650ff3aa5 Improve credits (#1391) 2020-01-20 20:34:56 +00:00
Florian Rival
285ff6f5f5 Update the script to extract expressions reference 2020-01-19 15:29:59 +00:00
Florian Rival
81f292941f Add help button in ExpressionSelector to open expressions reference 2020-01-19 14:12:25 +00:00
Florian Rival
eb27ba7c86 Improve script to extract expressions reference documentation
Still need to add parameters
2020-01-19 12:27:51 +00:00
Florian Rival
01a844c356 Refactor import-GDJS-Runtime script to use Node.js 2020-01-18 14:27:36 +00:00
Arthur Pacaud
054e48227c Make object and behavior registering more explicit (#1379) 2020-01-17 22:49:24 +00:00
Florian Rival
9adc40a55d Add script to extract all the expressions available in GDevelop 2020-01-16 23:44:26 +00:00
Bouh
034c734568 Fix unaligned text for "Unknown behavior" (#1382)
- Remove useless span
- Remove useless style related to span
- Use `Text` for Unknown behavior to ensure alignement and correct font.
2020-01-16 20:19:15 +00:00
Florian Rival
b65aed4c02 Merge pull request #1380 from 4ian/feature/notarization-macos
Enable notarization on macos
2020-01-16 19:35:20 +00:00
Florian Rival
adbcef8f59 Build zip for macOS on CircleCI 2020-01-16 08:56:06 +00:00
Florian Rival
44dbbd7138 Add notarization for macOS 2020-01-15 23:34:25 +00:00
Florian Rival
3e63e34d61 Upgrade electron-builder to 20.44.4 and electron-updater to 4.2.0 2020-01-15 20:53:49 +00:00
Florian Rival
dc976003b7 Add action to center the window on screen 2020-01-14 22:03:10 +00:00
Florian Rival
fb3002cd77 Add version metadata in analytics 2020-01-14 21:41:05 +00:00
Florian Rival
b25752907f Fix effects not applied in exported games 2020-01-13 22:31:54 +00:00
Florian Rival
72da63afcb Fix broken Text and TiledSprite objects 2020-01-13 21:51:35 +00:00
Florian Rival
ab5a593ab3 Use resources.gdevelop-app.com for static content serving 2020-01-13 21:23:24 +00:00
Florian Rival
71dcb20b7b Fix date not removed from generated GDJS HTML documentation 2020-01-13 19:35:23 +00:00
Florian Rival
61ffb40dee Remove date from generated documentation HTML 2020-01-13 08:56:08 +00:00
Florian Rival
07152639d1 Ensure npm install is run before running jsdoc with GenerateAllDocs 2020-01-12 23:51:31 +00:00
Florian Rival
6655a949ec Fix GDJS doc generation (incompatible TypeScript/JSDoc notations) 2020-01-12 23:33:39 +00:00
Arthur Pacaud
99312c71e0 Improve overall type annotations (#1361)
* Add type annotation for ObjectData and related types.
* Add missing type annotations.
* Add // @ts-check to some files.
2020-01-12 20:14:00 +00:00
Bouh
3abb5a393d Set object names in bold in dark theme (like in light theme) (#1366) 2020-01-12 20:12:51 +00:00
Florian Rival
010b52ced6 Update documentation urls to docs.gdevelop-app.com/... 2020-01-12 18:45:39 +00:00
Florian Rival
7a1ce790d4 Make "Allow again jumping" action description clearer 2020-01-10 23:40:20 +00:00
Florian Rival
fbdf530e00 Refactor upload, removing dependency on AWS S3 2020-01-10 23:29:15 +00:00
Florian Rival
ee1e67a367 Bump newIDE version 2020-01-07 20:52:26 +00:00
Florian Rival
5eded536b8 Rework builds/previews 2020-01-07 20:51:20 +00:00
Florian Rival
fa511d5faa Bump newIDE version 2020-01-07 18:09:30 +00:00
Florian Rival
a0887a1982 Fix rendering of particles not using a texture 2020-01-06 23:41:15 +00:00
Florian Rival
975a5a44cc Bump newIDE version 2020-01-06 22:55:20 +00:00
Florian Rival
252315d0d1 Fix ExpressionParametersEditorDialog being too small for expression selectors 2020-01-06 21:52:00 +00:00
Bouh
cbd7a70059 Fix help page link in Effects List dialog (#1352) 2020-01-06 14:11:56 +00:00
Florian Rival
d9a8f79926 Fix "Number of objects" condition not showing the object name anymore 2020-01-06 08:22:50 +00:00
Florian Rival
a417e3c9db Bump newIDE version 2020-01-06 08:19:38 +00:00
Florian Rival
7530b4e137 Don't open devtools by default 2020-01-05 20:37:31 +00:00
Florian Rival
e0adc2a924 Update translations 2020-01-05 18:36:43 +00:00
Florian Rival
a4227dac78 Normalize naming of addExpression parameters in BBText extension 2020-01-03 22:43:41 +00:00
Florian Rival
4e76f28fd3 Fix BBText sentences and help page path 2020-01-03 22:36:57 +00:00
Florian Rival
3b89284fd2 Normalize/fix some action/condition sentences 2020-01-03 22:29:08 +00:00
Florian Rival
dd8a0c7158 Add additional descriptions to anchor behavior properties 2020-01-02 21:33:36 +00:00
Florian Rival
641d87b097 Update Platformer example to adapt its width dynamically
This is good testbed for anchor behavior + dynamic game resolution adaptation to the window
2020-01-02 21:33:36 +00:00
Florian Rival
64dbab1bce Fix layer center position after resolution update 2020-01-02 21:33:36 +00:00
Florian Rival
dc4e68dd21 Add actions to change game resolution resize mode 2020-01-02 21:33:36 +00:00
Florian Rival
9d3cd9f110 Add option to automatically resize game resolution to window size
* Also refactor:
  * method names related to window/game resolution
  * runtime game renderer size handling

* Update ProjectPropertiesDialog
2020-01-02 21:33:36 +00:00
Todor Imreorov
eb5687dc7b Add RGBSplit, Outline, Glow, DropShadow, Bevel, Ascii & Adjustment effects 2019-12-29 19:18:03 +00:00
Florian Rival
9eb548452a Add MoveEventsFunctionParameter and MoveBehaviorEventsFunctionParameter in WholeProjectRefactorer 2019-12-27 22:21:24 +01:00
Florian Rival
4ac3516336 Improve type annotations for gdjs.Layer 2019-12-27 18:34:03 +01:00
Florian Rival
e3aed61390 Add type annotations and auto-format gdjs.Layer 2019-12-27 18:21:31 +01:00
Florian Rival
479584c3ef Also show parameter names and descriptions for checkbox in EffectsList 2019-12-27 17:33:26 +01:00
Florian Rival
3fc3d1e235 Add menu item to show parameter names in EffectsList 2019-12-27 17:09:57 +01:00
Florian Rival
448e543658 Display effect descriptions in EffectsList 2019-12-27 14:44:45 +01:00
Florian Rival
eb1abbd539 Rework Preferences dialog and show all hints to enable/disable 2019-12-27 14:44:41 +01:00
Florian Rival
48420c6b79 Add preference to display assignment operators in EventsSheet 2019-12-27 13:46:57 +01:00
Florian Rival
a6d7c032ac Remove redundant "current" word in animation related actions/conditions 2019-12-27 13:46:57 +01:00
Florian Rival
2f8840b2cf [codemod] Adapt sentences of action/conditions 2019-12-27 13:46:57 +01:00
Florian Rival
5df3afdb67 Adapt extension properties to new sentences + various changes 2019-12-27 13:46:57 +01:00
Florian Rival
df2185a505 Capitalize sentences displayed by Instruction 2019-12-27 13:46:57 +01:00
Florian Rival
1d67453454 Adapt OperatorField to new sentences 2019-12-27 13:46:57 +01:00
Florian Rival
217cd9639f Add methods to use default (relational) operator parameters 2019-12-27 13:46:57 +01:00
Florian Rival
9f91654628 Add script to refactor actions and conditions sentences 2019-12-27 13:46:57 +01:00
Florian Rival
e0602d347b Fix effects 2019-12-26 19:54:37 +01:00
Todor Imreorov
f14e02e739 Add Godray, Tilt Shift, Kawase Blur, Zoom Blur, Advanced Blur and CRT effects (#1325)
* add crt filter

* add godray,tiltshift, kawaseblur,zoomblur, advBloom filters

* refactor filters to fit api updates

* use else ifs

* Run Prettier on JsExtension.js

* Update names and descriptions

* Update crt-pixi-filter.js

* Fix godray

Co-authored-by: Florian Rival <Florian.rival@gmail.com>
2019-12-26 19:43:49 +01:00
Florian Rival
f3ef26dae5 Fix div used in p when using MarkdownText with TextField 2019-12-26 19:15:54 +01:00
Florian Rival
eda1f9b770 Ensure buttons next to text fields are not shrinked 2019-12-26 19:04:05 +01:00
Florian Rival
10e296bff7 Update package-lock.json 2019-12-26 18:49:50 +01:00
Florian Rival
73dc3a93ea Update displacement template image and fix displacement label/description 2019-12-26 18:08:32 +01:00
Bouh
42ddf9b41a Add Displacement, ColorMap, Pixelate and Reflection effects (#1329) 2019-12-26 17:38:28 +01:00
Florian Rival
17ac7cf091 Fix links color in embedded Markdown text 2019-12-26 16:35:31 +01:00
Florian Rival
3f04f0ea92 Add .prettierrc for Extensions 2019-12-26 11:36:03 +01:00
Florian Rival
7c57881359 Add support for markdown in helper texts (for effects/action/condition descriptions) 2019-12-25 23:44:41 +01:00
Florian Rival
e29c2d033c Ensure no line break between icon and name in EventsSheet 2019-12-25 21:05:53 +01:00
Florian Rival
8bae458b65 Fix events sheet (actions, conditions...) not refreshed after language change 2019-12-25 19:59:11 +01:00
Florian Rival
854d03ff0e Fix GDevelop.js tests 2019-12-25 19:27:02 +01:00
Florian Rival
5243ae0d5b Simplify/rework sentences of a few actions 2019-12-25 19:13:59 +01:00
Florian Rival
73f6636163 Use getter and normalize declaration of "ChangeScale" 2019-12-25 15:36:39 +01:00
Florian Rival
276f262fe7 Fix "Mouse joint target" condition sentence 2019-12-24 16:05:34 +01:00
Florian Rival
7abff84cc8 Fix particles flow condition sentence 2019-12-24 16:04:19 +01:00
Florian Rival
07c4f6f485 Normalize a condition sentence 2019-12-24 16:03:13 +01:00
Florian Rival
942d6f8413 Remove useless commented code 2019-12-24 12:19:32 +01:00
Florian Rival
20f10efc3d Add menu option to add a long description to functions parameters 2019-12-23 16:46:49 +01:00
Bouh
c75c6f3df1 Make warning/error icons color + other fixes (#1330) 2019-12-23 13:59:19 +01:00
Florian Rival
e75db3a626 Allow to display long descriptions of some parameters as helper text 2019-12-22 12:07:59 +01:00
Florian Rival
04f248b2d2 Add new examples by @ddabrahim 2019-12-21 16:26:02 +01:00
Florian Rival
50adbfaae9 Add support for booleans in effects parameters 2019-12-21 15:16:15 +01:00
Florian Rival
ec9a629124 Add optional description to effect properties 2019-12-21 12:04:08 +01:00
Florian Rival
977dc27bd0 Add update for effects + colors and resources for effect parameters 2019-12-21 12:04:08 +01:00
Florian Rival
6108088979 Fix compilation of EffectMetadata for GDCpp 2019-12-17 09:04:00 +00:00
Florian Rival
1d3f516e6f Update extension README to mention effects 2019-12-17 09:04:00 +00:00
Florian Rival
81aa68e69d Add back existing effects as an "Effect" extension
* Add tests for EnumerateEffects.
* Ensure fake effects are present for Storybook stories.
2019-12-17 09:04:00 +00:00
Florian Rival
8891c91d61 Add EffectMetadata and AddEffect to extensions
* Allow extensions to store EffectMetadata.
* Rework gdjs.PixiFiltersTools to allow new effects to be dynamically registered.
* Update EffectsList to read effects from extensions.
* Update GDJS ExporterHelper to export include files for effects
* Rename effectName to effectType to avoid confusions in gd::Effect
2019-12-17 09:04:00 +00:00
Florian Rival
702c8a459d Fix installation of Emscripten SDK (#1322) 2019-12-16 09:01:00 +00:00
Florian Rival
6164c6fe02 Remove improper removal of files before running GDevelop.js build 2019-12-15 20:53:12 +00:00
Florian Rival
a45c34f11d Try to fix emsdk sdk-1.37.37-64bit install 2019-12-15 20:11:12 +00:00
Bouh
38dd36cd44 Rename objects to instances for For Each and Pick All (#1320) 2019-12-15 14:48:24 +00:00
Florian Rival
1b3f7309b0 Make clearer that npm start must be kept running even for Electron in development 2019-12-15 14:37:03 +00:00
Florian Rival
c9ed8f25ce Make extra explicit that npm start is required by launching electron in development 2019-12-15 14:29:09 +00:00
Bouh
a6dab9a29f Fix pixel perfect rendering of Panel Sprite (9-patch) objects (#1314) 2019-12-12 21:01:42 +00:00
Bouh
ea7b07d2e4 Fix parameter description for Shape Painter Star action (#1315) 2019-12-10 21:56:16 +00:00
Florian Rival
f917db411f Quick refactoring in EventTextDialog 2019-12-10 20:53:08 +00:00
Bouh
7e6cb643b8 Update comment edition styling to be seamless (#1309)
* Also update event handles hover styling.
2019-12-10 20:50:24 +00:00
Bouh
11e18d7bc4 Add EventTextDialog to edit text and colors of comments/groups (#1310) 2019-12-10 20:21:52 +00:00
Florian Rival
56158e18f3 Add BBText object demo to the web-app 2019-12-09 23:29:52 +00:00
Florian Rival
1651893a61 Fix BBText object demo 2019-12-09 23:08:04 +00:00
Todor Imreorov
2809f53af8 Add BBText object (#1247)
* Uses `pixi-multistyle-text`
* Add standalone example
* Update the Yarn Dialogue example
2019-12-09 22:54:56 +00:00
Florian Rival
0c045d6e79 Update translations 2019-12-09 09:02:27 +00:00
Florian Rival
721b021b0a Fix memory leak and warning about texture not found.
Replaced the invalid texture for the PIXI image manager by a valid, hardcoded image. This:
* avoids a warning about not being able to load bunny.png (finally!)
* when creating a new Sprite, the invalid texture being used while the sprite is being set up, this was making PIXI adding a new event listener on the bunny.png texture. As the texture was not loaded, the event listener would never be removed, creating a leak.

Verified that the memory consumption is now stable on "Collisions with creation and deletion benchmark.gdg.json" benchmark game.
2019-12-08 23:16:16 +00:00
Todor Imreorov
9763d6523c Add React Developer Tools to the development Electron app (#1305) 2019-12-08 14:06:36 +00:00
Florian Rival
bfd6b1c542 Fix links not opening in a new tab in Changelog 2019-12-07 18:03:27 +00:00
Florian Rival
1d860ba852 Merge pull request #1293 from 4ian/feature/rework-textfield-and-layout
Rework text field styling, some buttons and some layouts.
2019-12-07 17:51:24 +00:00
Florian Rival
20ad0d5e75 Impove layout in Physics2Editor
* Add standardized spacing.
* Don't display the image preview if no resource is selected.
* Fix iResponsiveLineStackLayout with null children.

Also add various missing Trans markers.
2019-12-07 16:57:44 +00:00
Florian Rival
4c02468aa4 Improve ShapePainterEditor layout 2019-12-07 13:24:12 +00:00
Florian Rival
00f5cc2e54 Fix SelectField/SemiControlledAutoComplete styling when no label 2019-12-07 13:11:52 +00:00
Florian Rival
44be843ea6 Use "dense" text field without labels as possible 2019-12-07 01:15:46 +00:00
Florian Rival
24cbe2caca Fix "Add an animation" button height 2019-12-07 00:26:13 +00:00
Florian Rival
367e25707b Add title to ScenePropertiesDialog 2019-12-07 00:14:52 +00:00
Florian Rival
852620fcfd Fix extra space in color field of TextEditor toolbar 2019-12-07 00:10:39 +00:00
Florian Rival
4d229f32fa Use fields without margins when displayed in InlinePopover 2019-12-06 23:54:53 +00:00
Florian Rival
3af0cd862f Use ResponsiveLineStackLayout in EventsFunctionPropertiesEditor 2019-12-06 23:54:53 +00:00
Florian Rival
0cf7c6748e Add missing translation marker 2019-12-06 23:54:53 +00:00
Florian Rival
411f05720f Add missing margin between fields in PreferencesDialog 2019-12-06 23:54:52 +00:00
Florian Rival
722278fe21 Use ResponsiveLineStackLayout for fields that are shown in 2 columns 2019-12-06 23:54:52 +00:00
Florian Rival
bd8db5f573 Rework text field styling and some layouts
* Change the default text fields to use filled version
* Text fields embedded in InlinePopover or MiniToolbar keep their previous appearance with a single line.
* Add Layout.js with some predefined layouts
* Improved EventsFunctionPropertiesEditor fields
2019-12-06 23:54:52 +00:00
Florian Rival
d0247c7df3 Remove skeletal-animation-demo 2019-12-06 23:00:49 +00:00
Florian Rival
dcd1cfc789 Add Geometry Monster starter 2019-12-06 22:59:55 +00:00
Bouh
bf4c2a426e Add button to remove the font in the text editor (#1308) 2019-12-05 19:13:39 +00:00
Bouh
e10f3ca277 Fix outline color when drawing line with Shape Painter (#1313) 2019-12-05 08:23:01 +00:00
Florian Rival
16e9e8fa64 Fix formatting 2019-12-04 08:54:38 +00:00
Florian Rival
ef1ead6c90 Add link to Geometry Monster tutorial 2019-12-03 23:38:12 +00:00
Florian Rival
5449bc1ba4 Add watcher to automatically import changes to GDJS/extensions in newIDE (#1307)
* Add watcher to automatically import changes to GDJS/extensions in newIDE

  This watches for changes in GDJS or extensions and automatically run the "import-GDJS-Runtime.js" script.

  This allows for faster iterations when working on GDJS or JS extensions: do some changes, verify that the console says that changes were imported, launch the preview

* Adds an option in preferences to deactivate this in case of issues.

* Also move BrowserS3GDJSFinder and LocalGDJSFinder in newIDE/app/src/GameEngineFinder.

* Update READMEs to mention automatic import of GDJS and extensions runtime sources
2019-12-02 22:18:36 +00:00
Florian Rival
656f05e81e Fix error in SelectField when there is no value 2019-12-02 20:01:33 +00:00
Florian Rival
c4ba5f43fb Add test game for audio being played then immediately checked if stopped 2019-12-01 21:43:35 +00:00
Florian Rival
41a275ca8e Run Prettier on howler-sound-manager and update copyright 2019-12-01 21:28:33 +00:00
Florian Rival
2c9ec0d866 Fix sound/music restarted when play called with the sound/music not paused 2019-12-01 21:27:53 +00:00
Florian Rival
cd32e51134 Fix status of sound/music considered as stopped after play() was just called 2019-12-01 21:18:05 +00:00
Florian Rival
b1d81d4836 Fix project property "Folder Project"/"Single file" that could not be changed 2019-12-01 14:49:22 +00:00
Florian Rival
3fa3e57b24 Fix Sprite getWidth/getHeight returning old values just after changing animation or frame.
Fix verified in the new test game: the width/height reported is always synced with the animation.
2019-11-29 21:00:23 +00:00
Florian Rival
a4a436b935 Add test games checking for proper working of points position after animation change 2019-11-29 21:00:23 +00:00
Florian Rival
f4224c4322 Fix points position not valid immediately after changing animation/direction/frame of a Sprite.
This was because animation/direction/frame changes are not immediately applied. Instead, the current frame is marked as dirty. Verify if the frame is dirty and properly apply the changes when getting points position.

Example games in next commit.
2019-11-29 21:00:23 +00:00
Florian Rival
af21bc5aea Add command in GDJS to run TypeScript to type check the game engine 2019-11-28 23:01:43 +00:00
Bouh
af64a7d1ca Fix menu still showing as loading after startup on some computers (#1301)
Fix #1294
2019-11-28 18:24:09 +00:00
Todor Imreorov
62ed3d56c4 Update Piskel version (#1289)
* Color index shift brush (useful for cell shading sprites)
* Ability to source all layers when using the bucket tool
* Palette transfer tool (apply the currently selected palette colors to the frame you are on)
2019-11-25 23:49:48 +01:00
Florian Rival
0cfe95ab3e Display actual hash of a third party folder if not the same as the one expected 2019-11-25 23:48:29 +01:00
Florian Rival
e6dba8332e Merge branch 'master' of github.com:4ian/GDevelop 2019-11-25 23:41:01 +01:00
Todor Imreorov
00cd8df672 Remember DevTools open state in previews (#1296) 2019-11-25 11:57:20 +01:00
Florian Rival
940fe63e16 Fix autosave being loaded but not saved as the original file 2019-11-24 19:29:38 +01:00
Florian Rival
59b6694316 Fix display of unicode operators in RelationalOperatorField 2019-11-24 17:26:17 +01:00
Florian Rival
0883c86d0e Fix text diplay in AboutDialog 2019-11-21 20:05:09 +00:00
Florian Rival
3c6f490344 Bump newIDE version 2019-11-21 19:59:32 +00:00
Florian Rival
5e3e0db9f3 Re-validate expression for errors after inserting a function from expression selector 2019-11-21 12:22:28 +00:00
Florian Rival
bfee61e9e8 Remove forgotten console.logs 2019-11-20 23:00:41 +00:00
Florian Rival
097dd779f6 Fix scrollbar position in InlinePopover 2019-11-20 22:57:19 +00:00
Florian Rival
52453b7c58 Allow scroll in InlinePopover if content is too large 2019-11-20 22:30:28 +00:00
Florian Rival
dd2ac68dab Fix color of ForEach/While/Repeat events header texts for the dark theme 2019-11-20 22:18:20 +00:00
Florian Rival
6ea50f8114 Fix InlinePopover hidden behind Mosaic windows 2019-11-20 22:17:32 +00:00
Florian Rival
ec05ec6ea1 Fix duplicate React keys when searching for expressions 2019-11-20 21:45:43 +00:00
Florian Rival
3e7c5394ce Fix search bar not working in ExpressionSelector
This is because the Modal was stealing the focus.
"Fix" the issue by disabling the portal, so that the expression selector is inside the modal. The selector can not go outside of the modal anymore though, but it's less of a problem.
2019-11-20 21:07:59 +00:00
Florian Rival
55aae059ff Fix shortcuts issues with KeyboardShortcuts
* Ensure keyboard events are restricted to the EventsSheet by listening only for key presses and other events from the EventsSheet container. No listener on the document with a "focused" boolean that can be not synchronized with the real element having the focus (happened in the previous implementation if you scroll too much in EventsSheet or delete the selection: the blur() method of KeyboardShortcuts would never be called).
  * Additional care must be done when an element is removed (which can happen after deletion of the selection or scroll) to put back the focus to the container div (see _ensureFocus). Otherwise we lose the focus so keyboard shortcuts don't work anymore until you click again on some elemnt (which would not be a huge bug by itself).
* Improve shortcuts for drag'n'drop by properly listening to modifier keys when something is dragged.
2019-11-20 19:52:16 +00:00
Florian Rival
61a20f1af8 Add version number with git hash in Sentry error reporting 2019-11-17 14:58:20 +00:00
Florian Rival
60170609e9 Fix internal example loading from url on web-app 2019-11-17 13:17:27 +00:00
Florian Rival
0c55b3b8d4 Fix VariableField button position, warning and BackgroundColorRow size 2019-11-17 13:01:31 +00:00
Florian Rival
6b16934184 Fix drag'n'drop of points/polygons with touch 2019-11-16 17:42:28 +00:00
Florian Rival
c15acdde83 Hide external editor button in DirectionTools on small screens 2019-11-16 16:40:01 +00:00
Florian Rival
209dafc269 Disable overscroll in browsers 2019-11-16 00:05:01 +00:00
Florian Rival
757c9502ef Mark scripts in exported game to be loaded with cross-origin enabled 2019-11-15 23:48:56 +00:00
Florian Rival
be8ab96c4c Rework tabs and mosaic window titlebars to use same font, not uppercased and same button size 2019-11-15 22:47:54 +00:00
Florian Rival
1600091249 Fix inconsistent font for "Instance Variables" in InstancePropertiesEditor 2019-11-15 22:47:04 +00:00
Florian Rival
45b6caa06e Fix optimal system font not always being used on Windows/Linux 2019-11-15 21:56:17 +00:00
Florian Rival
59754d1c27 Call make-version-metadata after install 2019-11-14 23:51:26 +00:00
Florian Rival
656881a11a Display alert if trying to export from web-app while offline 2019-11-14 23:51:26 +00:00
Florian Rival
5e91bdf811 Update BrowserResourceSources library 2019-11-14 23:51:26 +00:00
Florian Rival
e6d0f6ed4c Update title bar color according to the theme when installed as PWA 2019-11-14 23:51:26 +00:00
Florian Rival
864acd3988 Add error explanation dialog for BrowserS3PreviewLauncher 2019-11-14 23:51:26 +00:00
Florian Rival
630ece0f7e Add service-worker for base app and assets 2019-11-14 23:51:26 +00:00
Florian Rival
3b102a74b7 Update subscription details and add missing translation markers 2019-11-14 23:51:26 +00:00
Florian Rival
5096ecee24 Expose version metadata to web-app 2019-11-14 23:51:26 +00:00
Florian Rival
29f1d873a6 Always show export button in Toolbar 2019-11-14 23:51:26 +00:00
Florian Rival
088e3acae2 Add missing browser exporters 2019-11-14 23:51:26 +00:00
Florian Rival
0fbe7a62e8 Refactor common parts of exports into GenericExports 2019-11-14 23:51:26 +00:00
Florian Rival
9e4849f218 Add BrowserOnlineWebExport 2019-11-14 23:51:26 +00:00
Florian Rival
db536894a4 Add profile button in web-app ProjectManager and remove unecessary indent 2019-11-14 23:51:26 +00:00
Florian Rival
a63c44b5ca Refactor LocalOnlineCordovaExport and LocalOnlineElectronExport to use ExporterPipeline 2019-11-14 23:51:26 +00:00
Florian Rival
8756276793 Fix include files for events based behavior methods 2019-11-14 23:51:26 +00:00
Florian Rival
878f64d024 Refactor LocalFacebookInstantGamesExport to use ExporterPipeline 2019-11-14 23:51:26 +00:00
Florian Rival
bd09c58439 Refactor some exporters to use ExportPipeline 2019-11-14 23:51:26 +00:00
Florian Rival
c645d4a2d6 Add BrowserOnlineElectronExport 2019-11-14 23:51:26 +00:00
Florian Rival
45e03d61a0 Make ExportPipeline more flexible 2019-11-14 23:51:26 +00:00
Florian Rival
d924cd90bd Add BrowserOnlineCordovaExport
* Add zip.js as an external library + typings + BrowserArchiver.
* Add BrowserFileSystem and unit tests.
* Make a first step toward having a generic ExportPipeline.
* Add BrowserOnlineCordovaExport.
* Various refactorings
2019-11-14 23:51:26 +00:00
Florian Rival
455fe8193a Remove useless function in BrowserS3FileSystem 2019-11-14 23:51:26 +00:00
Florian Rival
1eb5113283 Remove useless CopyDir from AbstractFileSystem 2019-11-14 23:51:26 +00:00
Florian Rival
3687c24e71 Enable Google Drive opening/saving in production build 2019-11-12 20:10:37 +00:00
Bouh
8d75a8373d Add "clamp" function (#1283) 2019-11-10 13:08:10 +00:00
Florian Rival
3fed377c6c Fix Travis build (update libstdc++6 version) 2019-11-10 13:03:14 +00:00
Florian Rival
957ab3f53b Fix apple-touch-icon.png 2019-11-07 23:20:56 +00:00
Florian Rival
e7e338805b Update favion/home screen icons 2019-11-07 22:57:06 +00:00
Florian Rival
83d0c4cc65 Fix ResourceSelector not showing the proper file when choosing Cancel when asked if the resource must be copied in project directory 2019-11-06 21:46:57 +00:00
Florian Rival
13461429f2 Separate login and account creation in two different dialogs 2019-11-05 23:44:38 +00:00
Florian Rival
b0fd36daff Add registerModule and requireModule to ObjectsRenderingService, to bundle third party libraries 2019-11-03 22:40:31 +00:00
Florian Rival
2e84b2e648 Fix typo 2019-10-29 19:30:29 +01:00
Bouh
2b4d263410 Fix selection dismissed when panning + some icons and descriptions (#1269) 2019-10-29 18:28:22 +00:00
dependabot[bot]
64343d7043 Bump axios from 0.16.2 to 0.18.1 in /newIDE/app (#1272)
Bumps [axios](https://github.com/axios/axios) from 0.16.2 to 0.18.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.18.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.16.2...v0.18.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-28 23:00:22 +00:00
Florian Rival
3e9c4d594c Improve typing of PreviewLauncher 2019-10-28 22:43:31 +00:00
Florian Rival
657ca85324 Refactor findGDJS and add flow typings 2019-10-27 21:32:42 +00:00
Florian Rival
6ac9c0a0ee Avoid watching old builds that are still somehow in pending state 2019-10-27 16:49:52 +00:00
Florian Rival
009a05e021 Bump newIDE version 2019-10-26 18:09:56 +01:00
Florian Rival
6c2ea56da6 Fix example opening 2019-10-26 18:09:27 +01:00
Florian Rival
a8ae298194 Bump newIDE version 2019-10-26 17:22:23 +01:00
Florian Rival
dda2effad0 Update translations 2019-10-26 17:19:58 +01:00
Florian Rival
4da0149b6b Merge pull request #1249 from 4ian/fix/use-center-point-as-flip-center
Use center point as flip center
2019-10-26 16:19:13 +01:00
Florian Rival
9602caaccc Add checks for origin and center point position after flipping/rotating/scaling sprite 2019-10-26 15:10:38 +01:00
Florian Rival
be2892b759 Fix hitboxes after flipX/flipY is called and add tests for sprite hitboxes/center/points 2019-10-26 14:15:14 +01:00
Florian Rival
e1552f649c Check that custom hitboxes are properly working with flipped, non default center, sprites 2019-10-26 11:11:43 +01:00
Florian Rival
74bbd45265 Add test game to check the proper rotation/flip of a sprite with a non default center 2019-10-26 11:04:23 +01:00
Florian Rival
5aa32f0eca Fix movesTowardTest and turnedTowardTest to properly use object center (in case origin is not 0;0) 2019-10-26 11:04:23 +01:00
Florian Rival
23987f63c7 Change sprites flipping to use the center point as center for flipping
As flipping can be considered as a way to "rotate" things, it makes sense to have it used as a center for flipping too.i
This is useful for objects that are moving and can be flipped according to if they are going left or right: they can now
be rotated and flipped "properly" (properly means that the center will stay at the same position when flipped/rotated)

This means that the center point won't move when the sprite is rotated or flipped.
The origin is still used as the point not moving in case of scaling. (this make sense because scaling is about the size, and origin about positioning)
This remove some calculations in the renderers, but add others in getDrawableX/Y and getCenterX/Y in case of flipping.
2019-10-26 11:04:23 +01:00
Bouh
d415d3cbee Add explicit mention to "scene" variable in various descriptions (#1268) 2019-10-26 10:43:48 +01:00
Bouh
f7f32d6be5 Add support for advanced shapes in Shape Painter (#1258) 2019-10-25 11:50:00 +01:00
Florian Rival
b223175bf9 Fix typo 2019-10-24 21:24:17 +01:00
Florian Rival
47463e6ca2 Rename Archiver to LocalArchiver 2019-10-24 19:02:35 +01:00
Florian Rival
e289059d1f Add LoadScript to fetch additional scripts in the IDE 2019-10-24 17:53:14 +01:00
Florian Rival
6320d19043 Ensure DirectionTools show button for an external image editor 2019-10-23 08:21:44 +01:00
Bouh
833ae75632 Add error messages when opening a non GD5 file (#1260) 2019-10-23 09:14:44 +02:00
Bouh
6058a4b1be Position comments and groups on top of selection when added (#1259) 2019-10-22 21:08:15 +02:00
Wend1go
52173ac07d Add "Scene just resumed" condition (#1262) 2019-10-21 17:47:36 +01:00
Florian Rival
a55ad60038 Update GDevelop screenshot in newIDE readme with a newer one 2019-10-19 16:49:54 +01:00
Florian Rival
0ef235261f Update newIDE README to explain how to test cloud storage providers in development 2019-10-19 16:48:21 +01:00
Florian Rival
3bd9432b5e Merge pull request #1257 from 4ian/feature/cloud-storage
Google Drive storage for loading/saving projects on web-app (only in development for now)
2019-10-19 16:24:28 +01:00
Florian Rival
6fd82f4f30 Disable Google Drive in non dev builds while waiting for validation 2019-10-19 16:19:56 +01:00
Florian Rival
5572536bff Update message for opening failures of a local file 2019-10-19 15:58:22 +01:00
Florian Rival
ab197464cc Update message in case of opening failure 2019-10-19 15:47:40 +01:00
Bouh
00f2873f48 Add ellipse, rounded rectangle and star to Shape Painter (#1256) 2019-10-19 14:38:37 +01:00
Florian Rival
c4329cac4f Use production Google Drive API keys when not in development 2019-10-19 14:35:44 +01:00
Florian Rival
4917c7ca2a Add translation for storage provider names 2019-10-19 13:19:31 +01:00
Florian Rival
13c0c8992b Handle links to open a game directly from Google Drive (from 'Open With' context menu) 2019-10-19 00:56:39 +01:00
Florian Rival
06dc0c5323 Fix 'Download Game File' removing all spaces from downloaded game file 2019-10-17 20:04:56 +01:00
Florian Rival
6039342fcf Add error message when project opening fails 2019-10-16 23:20:29 +01:00
Florian Rival
32c98d4dd4 Add disabled icons for Dropbox and OneDrive storages 2019-10-16 22:11:16 +01:00
Florian Rival
3a05067ea2 Fix typo in Facebook Instant Games actions 2019-10-16 21:22:43 +01:00
Florian Rival
d9bcf3daca Fix GDevelop.js build on Windows when Visual Studio is installed and update README 2019-10-16 21:11:48 +01:00
Florian Rival
29577af049 Merge branch 'master' of https://github.com/4ian/GDevelop 2019-10-16 08:55:55 +01:00
Florian Rival
5b5f213bd5 Fix GDevelop.js compilation on Windows
Need MinGW to be installed (to have mingw32-make)
and CMake in Program Files (or Program Files (x86))
2019-10-16 08:51:09 +01:00
Florian Rival
19a00ce2dc Add GoogleDriveStorageProvider and project storage refactorings
* Add GoogleDriveStorageProvider
* Add DownloadFileStorageProvider
* Add dialogs to choose between providers when opening/saving as
2019-10-15 21:33:33 +01:00
Florian Rival
c243200370 Fix documentation links and .gitignore 2019-10-13 23:45:55 +01:00
Florian Rival
09edeaa96b Add documentation about GDevelop architecture and remove outdated Core documentation 2019-10-13 23:19:08 +01:00
Florian Rival
c94964b2db Fix typo 2019-10-13 19:43:21 +01:00
Bouh
b40f51e03c Add menu item to extract events into a new group (#1254) 2019-10-13 13:26:28 +01:00
Florian Rival
4319ddcd0f Refactor project opening/saving into ProjectsStorage with StorageProviders. 2019-10-09 23:25:19 +01:00
Florian Rival
f0163fc1d1 Disable SkeletonObject extension
See https://github.com/4ian/GDevelop/issues/1242 for issues
2019-10-08 22:45:25 +01:00
Florian Rival
f5be2c73ce Add story for PropertiesEditor 2019-10-07 23:02:00 +01:00
Florian Rival
a4b0f316f1 Display all PropertiesEditor fields in column layout when on a small screen 2019-10-07 23:02:00 +01:00
Florian Rival
efa9ea4ea2 Only display a single secondary editor in SceneEditor when screen is small 2019-10-07 23:02:00 +01:00
Florian Rival
5170ff509c Add EditorNavigator to navigate between editors on small screens 2019-10-07 23:02:00 +01:00
Florian Rival
2471021114 Improve EditorMosaic to allow proper display on smaller screens 2019-10-07 23:02:00 +01:00
Florian Rival
3f956289dc Fix crash in ObjectGroupsList (still using react-sortable-hoc)
This should be converted to use SortableVirtualizedItemList in the future.
2019-10-06 22:51:01 +01:00
Florian Rival
f731ae8b21 Make pinch to move/zoom accessible even when touching instances on InstancesEditor 2019-10-06 19:39:52 +01:00
Florian Rival
76dfe55e25 Autogenerate the file to import examples for web-app 2019-10-06 18:09:04 +01:00
Florian Rival
22d46711df Add button in intro dialog and menu item to activate Fullscreen 2019-10-05 18:01:27 +01:00
Florian Rival
ca5198a08d Use Material icons for Project Manager item icons 2019-10-05 17:23:07 +01:00
Florian Rival
037551ec77 Fix some icon colors and text rendering 2019-10-05 17:22:26 +01:00
Florian Rival
3c309c200f Re-open closed mosaic window editors at the proper default position 2019-10-05 17:22:06 +01:00
Florian Rival
6231cbc5f1 Fix ItemRow adding extra space for non existing icon 2019-10-05 16:07:50 +01:00
Florian Rival
9e98605030 Fix formatting 2019-10-05 15:53:27 +01:00
Florian Rival
6834efbb9a Add export icon from MainFrame Toolbar for small screens 2019-10-05 15:08:17 +01:00
Florian Rival
c74fbc6c43 Force using the new instruction editor on small devices 2019-10-05 15:01:01 +01:00
Florian Rival
949f370118 Hide scrollbars on touchscreens 2019-10-03 23:10:13 +01:00
Florian Rival
91359e4674 Fix formatting 2019-10-03 23:10:13 +01:00
Florian Rival
f790fff439 Set touch-action to none to avoid zoom on double tap 2019-10-03 23:10:13 +01:00
Florian Rival
e13384dbb7 Add PinchHandler to navigate in the scene with two touches 2019-10-03 23:10:13 +01:00
Florian Rival
0c0539bb2a Round new instance positions 2019-10-03 23:10:13 +01:00
Florian Rival
caf089489b Drag objects from their icons only when on a touch screen 2019-10-03 23:10:13 +01:00
Florian Rival
18c0f05bb3 Update package-lock.json 2019-10-03 23:10:13 +01:00
Florian Rival
a9a0faaaaa Detect touch screens by using touch events 2019-10-03 23:10:13 +01:00
Florian Rival
df166e4d5d On touch screens, allow instruction edition by touching them again when selected 2019-10-03 23:10:13 +01:00
Florian Rival
f661b41d74 Render actions below conditions for small screens 2019-10-03 23:10:13 +01:00
Florian Rival
00e887e5f9 Add InfoBar for editing instruction and add alternate messages for touch screens 2019-10-03 23:10:13 +01:00
Florian Rival
e6fc7aac9d Fix formatting 2019-10-03 23:10:13 +01:00
Florian Rival
65346edc4a Fix undo not possible after dragging an instance of an object 2019-10-03 23:10:13 +01:00
Florian Rival
3620e0aef6 Make InstancesEditor buttons bigger on touch screens 2019-10-03 23:10:13 +01:00
Florian Rival
0211ab40e4 Hide context menu icons in SortableVirtualizedItemList for small screens 2019-10-03 23:10:13 +01:00
Florian Rival
ae945fc0bc Use react-dnd-multi-backend to automatically support touch screens for drag'n'drop 2019-10-03 23:10:13 +01:00
Florian Rival
4537dbf723 Add logging for startup times 2019-10-03 23:10:13 +01:00
Florian Rival
94358cd265 Rename TemporaryInstances to InstancesAdder and use it in SceneEditor
There is a unique place where the logic to create instances is now.
2019-10-03 23:10:13 +01:00
Florian Rival
337a36ee90 Refactor drag'n'drop in SortableVirtualizedItemListi and objects drag to scene
* Use a drop indicator and remove react-sortable-hoc
* Drag to scene can now follow the cursor with a temporary instance, to get an immediate feedback/preview of the object

TODO: Refactor the instance creation to use TemporaryInstances
2019-10-03 23:10:13 +01:00
Florian Rival
07fd7f77bd Refactor InstructionsList to use DropTarget 2019-10-03 23:10:13 +01:00
Florian Rival
69a774bec1 Move Utils/DragDropHelpers into UI/DragAndDrop 2019-10-03 23:10:13 +01:00
Florian Rival
dc9200feb5 Refactor Instruction to use DragSourceAndDropTarget
* Fix error "Expected to find a valid target" when dragging instructions on top of a subinstructions list (react-dnd does not support well having a drop target/source inside another in these conditions it seems)
2019-10-03 23:10:13 +01:00
Florian Rival
e7d1f99470 Use SortableVirtualizedItemList for ObjectsList implementation 2019-10-03 23:10:13 +01:00
Bouh
76165908fc Add help button for Video object (#1244) 2019-10-02 00:20:21 +02:00
Florian Rival
b19a27e6cf Add info message about the difference between physics shape and collision masks 2019-09-29 14:33:28 +01:00
Florian Rival
d78054b4d4 Update pixi-simple-gestures to remove an error on touch end 2019-09-27 00:20:34 +01:00
Florian Rival
40a68b6a40 Exclude locales js files from flow coverage report 2019-09-26 23:40:29 +01:00
Florian Rival
15069a4363 Show operators as invalid in the events sheet if not chosen or wrong value entered 2019-09-26 23:39:45 +01:00
Florian Rival
3ee2dd9218 Allow action/conditions and parameters to be browsed with Tab key, and selected with Enter/Space 2019-09-26 23:16:19 +01:00
Florian Rival
972967307a Fix branch name when storing pre-built libGD.js from Travis 2019-09-26 22:24:48 +01:00
Florian Rival
73e2d2a109 Ensure a valid version of libGD.js is always downloaded from master branch 2019-09-26 21:52:26 +01:00
Florian Rival
cd46581e64 Add Dialogue Tree with Yarn example to the web-app 2019-09-26 08:57:23 +01:00
Todor Imreorov
f670689a40 Embed Yarn Dialogue editor in GDevelop (#1236) 2019-09-26 08:41:35 +01:00
Florian Rival
e043ed8cca Only make dialog fullscreen when the window width and height are both small 2019-09-24 23:09:34 +01:00
Florian Rival
7dc2565dde Update Cordova export to generate a package.json file 2019-09-22 23:04:42 +01:00
Wend1go
14cc48fa98 Add condition to check for WebGL support (#1230) 2019-09-22 16:31:32 +02:00
Florian Rival
9d46a73978 Fix Select fields in Debugger, SpriteEditor and ParticleEmitterEditor 2019-09-20 19:46:11 +01:00
Florian Rival
228468759e Make dialogs fullscreen on small devices
Also clean useless Dialog prop.
2019-09-20 19:21:42 +01:00
Florian Rival
d56fa6c95c Fix floating label position for unselected select fields 2019-09-20 18:53:37 +01:00
Florian Rival
b7189a7994 Fix color of text in ExpressionSelector popup for expressions 2019-09-20 18:49:25 +01:00
Florian Rival
1e48ffb84b Add "skeletal-animation-demo" example for Skeleton object 2019-09-19 23:06:55 +01:00
Wend1go
12c5df67fa Integrate experimental SkeletonObject into GD5 (#1138)
The object is looking for a maintainer! https://github.com/4ian/GDevelop/pull/1138

Flagged as experimental and added warning about this
2019-09-19 22:49:52 +01:00
Florian Rival
ac0b85e101 Use non round buttons 2019-09-18 22:50:57 +01:00
Florian Rival
320f5841dd Show focus ripple on tabs 2019-09-17 23:50:24 +01:00
Florian Rival
2313ea5d3b Fix export dialog not showing in web-app 2019-09-17 22:46:22 +01:00
Florian Rival
9536bda674 Merge pull request #1226 from 4ian/upgrade/material-ui-v4
Upgrade to Material-UI v4 and add several improvements (see #1226 description)
2019-09-17 22:25:53 +01:00
Florian Rival
d2be0e815e Upgrade some components to material-ui v4
- Tables
- TextField
- SelectField (using native fields)
- Dialog
- Buttons
- Background texts
- Divider
- Menu
- Lists
- IconButton
- ObjectSelector
- Autocomplete (with keyboard support)
  - [x] Proper focus support
- Subheaders
- Toggle
- LinearProgress
- CircularProgress
- Checkbox
- Avatar
- Chip
- Tabs
- LinearProgress
- Toolbar
- Stepper
- Snackbar (dismissable and won't be shown again until reactivated)
- ClosableTabs (with context close all/close others context menu)
2019-09-17 22:24:08 +01:00
Florian Rival
8b83cf3518 Fix styling of Text components 2019-09-16 00:47:50 +01:00
Florian Rival
064704a457 Replace almost all p tags by Text component 2019-09-16 00:47:50 +01:00
Florian Rival
829ce23dc2 Add missing key prop to Dialog actions/secondaryActions 2019-09-16 00:47:29 +01:00
Florian Rival
04c37b6186 Fix IconButton rendering in EditorBar 2019-09-16 00:47:29 +01:00
Florian Rival
4fd7698907 Improve typing for Dialog 2019-09-16 00:47:29 +01:00
Florian Rival
6016790f03 Improve TextField typing 2019-09-16 00:47:28 +01:00
Florian Rival
1e6227e549 Change all imports to material-ui/List 2019-09-16 00:47:28 +01:00
Florian Rival
6ade0c7125 Change all imports to material-ui/Tabs 2019-09-16 00:47:28 +01:00
Florian Rival
807f3bb3b2 Change all imports to material-ui/Toggle 2019-09-16 00:47:28 +01:00
Florian Rival
a83fe5af2f Use ThemeConsumer instead of muiThemeable 2019-09-16 00:47:28 +01:00
Florian Rival
0cd64ca4d1 Change all imports to material-ui/Table 2019-09-16 00:47:28 +01:00
Florian Rival
541953256a Remove usage of material-ui/GridList 2019-09-16 00:47:28 +01:00
Florian Rival
27d0569c75 Remove useless usage of material-ui/AutoComplete 2019-09-16 00:47:28 +01:00
Florian Rival
689583fe75 Remove usage of material-ui/Paper in SearchPanel 2019-09-16 00:47:28 +01:00
Florian Rival
d1d9eaca3a Change all imports to material-ui/Checkbox 2019-09-16 00:47:28 +01:00
Florian Rival
d1aa4beb98 Change all imports to material-ui's SelectField or TextField 2019-09-16 00:47:28 +01:00
Florian Rival
94b3148112 Rename MuiThemeProvider to V0MuiThemeProvider 2019-09-16 00:47:28 +01:00
Florian Rival
1fb211c9ba Change all imports to material-ui/IconButton to use UI/IconButton 2019-09-16 00:47:28 +01:00
Florian Rival
1b140d7b23 Change all imports to material-ui/TextField to use UI/TextField 2019-09-16 00:47:27 +01:00
Florian Rival
3fbe3a2abb Change all imports to material-ui/RaisedButton to use UI/RaisedButton 2019-09-16 00:47:27 +01:00
Florian Rival
d9313f803d Change all imports to material-ui/FlatButton to use UI/FlatButton 2019-09-16 00:47:27 +01:00
Florian Rival
33487fb0f6 Move some actions/conditions into object actions/conditions 2019-09-16 00:42:58 +01:00
Florian Rival
fbde5edfae Add automatic refactoring of events/groups when renaming/deleting a group (#1225) 2019-09-11 08:39:44 +01:00
Florian Rival
4d908578c1 Fix formatting 2019-09-10 21:50:45 +01:00
Florian Rival
aa6bd993e6 Fix WindowBorder not updated when project window size is changed 2019-09-10 20:18:29 +01:00
Florian Rival
dfa32878a5 Update translations 2019-09-09 21:11:08 +01:00
Florian Rival
38c49e68bb Bump newIDE version 2019-09-09 20:51:20 +01:00
Bouh
59c5a67284 Fix "Is Ended" condition for Video object (#1223) 2019-09-08 17:19:08 +01:00
Florian Rival
0db65f002c Fix context not working in dialogs
Revert to create-react-context 0.1.6 because React
contexts are not working with Material-UI v0 Dialogs.

Improve some typings

Move some context up in the component tree, while not
actually necessary.
2019-09-08 13:19:45 +01:00
Florian Rival
f155ea0331 Update to Electron 3.0.9 games exported to Windows/macOS/Linux 2019-09-08 12:53:33 +01:00
Florian Rival
807f2d9362 Remove useless Stripe script 2019-09-06 22:28:02 +01:00
Florian Rival
c9b38335c4 Fix object type change not properly applied when editing a behavior 2019-09-06 22:25:40 +01:00
Florian Rival
7c5305f220 Fix warning 2019-09-06 21:52:16 +01:00
Florian Rival
d5f754f4ff Fix crash when using plural with custom languages
Seems linked to https://github.com/lingui/js-lingui/issues/182?

Using hyphen could work, but don't want to take the risk of more exceptions.
Going back to a non plural version for now.
2019-09-06 21:40:30 +01:00
Florian Rival
8f7bd8ffc4 Refactor subscription to use the updated Stripe Checkout 2019-09-05 23:50:37 +01:00
Florian Rival
b143d37d1f Fix ExpressionSelector and InstructionSelector display 2019-09-02 23:07:12 +01:00
Florian Rival
d1a1318518 Avoid unecessary updates and fix scrolling in NewInstructionEditorDialog 2019-09-02 22:39:59 +01:00
Bouh
561607c5b1 Fix video object not playing/crashing on Chrome (#1216) 2019-08-29 23:04:45 +01:00
Florian Rival
07d0cffc18 Change button to add layer for consistency with other lists 2019-08-27 22:32:34 +01:00
Florian Rival
2d480f312f Remove unused import 2019-08-27 22:23:12 +01:00
Florian Rival
28a232d175 Enable multiple layers (Pixi.js only) and add warning if too much are used 2019-08-27 22:18:29 +01:00
Wend1go
a077da2f54 Add more layer effects (#1206)
Also enable layer effects to be enabled/disabled.
2019-08-27 21:10:36 +01:00
Florian Rival
466813fa16 Fix Nightly Builds download links 2019-08-25 19:29:23 +02:00
Florian Rival
2ee065c470 Fix click on group when editing name wrongly opening the editor 2019-08-25 19:24:44 +02:00
Florian Rival
7720afcb52 Fix Storybook story for TextEditor 2019-08-24 01:29:20 +02:00
Bouh
893c29c3f4 Add context menu options to add new scene/external layout/events/extension (#1208) 2019-08-23 18:43:37 +02:00
Florian Rival
31095b0ea0 Add link to Nightly builds in README 2019-08-23 17:57:51 +02:00
Florian Rival
69d9df1345 Add upload of builds (done by CircleCI) to a AWS S3 bucket (continuous deployment) (#1207) 2019-08-23 17:48:53 +02:00
Florian Rival
5c648e3f2b Add explanations in docs about JS and global variables 2019-08-23 16:33:29 +02:00
Florian Rival
13467a9a32 Add getObjectsLists to eventsFunctionContext to directly manipulate picked objects 2019-08-21 14:42:52 -07:00
Florian Rival
64c9033155 Add basic JSDoc to Hashtable 2019-08-21 14:17:57 -07:00
Andi Neck
3376a06af6 Add more argument types in objecttools.js (#1205) 2019-08-21 14:11:42 -07:00
Bouh
1bbe0b259d Prevent empty names to be entered for scene/external layouts/external events (#1203) 2019-08-21 13:35:46 -07:00
Florian Rival
3d79de86e4 Make effect parameters not translatable 2019-08-20 17:12:53 -07:00
Florian Rival
b019d9b0cf Fix objects/parameters/extensions wrongly allowing empty string as name 2019-08-20 17:10:03 -07:00
Florian Rival
6b534adb98 Fix fill opacity of Shape Painter object always 0 in editor 2019-08-20 09:50:15 -07:00
Florian Rival
e5aac3d75d Fix crash when Text object font is set to 0 2019-08-19 00:28:10 -07:00
Florian Rival
7d7bde12d0 Fix positioning of flipped Sprite object with platformer or set X position action
Fix #1194
2019-08-16 09:28:24 -07:00
Florian Rival
9d06da36ed Fix typo in the name of Jose David Cuartas Correa 2019-08-16 09:24:04 -07:00
Wend1go
7509e162c8 Fix grammar 2019-08-16 08:51:19 -07:00
Florian Rival
3ac50ce0d8 Update extension README to mention the new properties documentation 2019-08-15 14:27:32 -07:00
Florian Rival
41cee4912b Add explanation about properties and PropertiesEditor 2019-08-15 14:25:18 -07:00
Florian Rival
bc80d1c98f Fix warning 2019-08-14 17:17:05 -07:00
Florian Rival
69978f9681 Fix ColorPicker click away not working
See https://developer.mozilla.org/en-US/docs/Web/CSS/position about
fixed. transform used on the popover was creating a new container.
Moving the cover outside of the popover fixes this.
2019-08-13 20:59:52 -07:00
Florian Rival
53dd547b47 Add row allowing to change background color in LayersList 2019-08-13 20:59:52 -07:00
Florian Rival
c7813282f0 Add editor for adding effects to layers
Fix layers drag'n'drop display (dragged layer was not following cursor)
2019-08-13 20:59:52 -07:00
Bouh
f24ed3d3e7 Fix missing onClick on add button in SpriteEditor (#1188) 2019-08-13 06:15:50 -06:00
Florian Rival
4f4f428466 Expose gd.Effect in GDevelop.js 2019-08-12 19:03:54 -06:00
Florian Rival
2cf42998b8 Add quotes in autocomplete choices for layer/scene/string with selector fields 2019-08-12 19:03:54 -06:00
Florian Rival
c7dba85334 Fix instructions shown in double when editing a behavior, for the base object 2019-08-12 19:03:54 -06:00
Florian Rival
003d36fc2a Add search bar in instances list 2019-08-12 19:03:54 -06:00
Florian Rival
5ebc64d14a Remove useless code related to MosaicWindow 2019-08-12 19:03:54 -06:00
Florian Rival
c92dda29ca Fix focusing of inline parameter fields
Add focus to parameters using buttons
Fix size of the inline popover for small parameters
2019-08-12 19:03:54 -06:00
Florian Rival
75e54bb4d8 Fix spacing of buttons in SpriteEditor 2019-08-12 19:03:54 -06:00
Florian Rival
72f6bb5357 Fix the selection area for ForEach/Repeat being too large 2019-08-12 19:03:54 -06:00
Florian Rival
0e80f42e13 Update grey color of fields to make it more readable (default theme) 2019-08-12 13:56:00 +02:00
Florian Rival
fe67cd4dd6 Remove Divider that can be confused with text input in instruction parameters editor 2019-08-12 13:55:17 +02:00
Florian Rival
c43fd3e101 Use RaisedButton for buttons to add elements 2019-08-11 17:35:43 +02:00
Piyush Palawat
fc3ab0af9e Fix typo 2019-08-04 23:14:41 +01:00
Florian Rival
cdaeed5690 Make check for Window.isDev more robust against transient Electron failures 2019-08-04 23:11:26 +01:00
Florian Rival
08a8c9f7c2 Mark DialogueTree extension as experimental in the editor 2019-08-04 23:10:57 +01:00
Florian Rival
555d383c80 Run Prettier on DialogueTree extension JS files 2019-08-04 22:59:23 +01:00
Florian Rival
ed353dad6c Add more information about using git 2019-08-04 22:55:17 +01:00
Todor Imreorov
933e5426bc Add "Dialogue Tree" extension by @blurymind (experimental) (#1112) 2019-08-04 22:45:04 +01:00
Florian Rival
bd273055cb Update GDJS version used in web-app 2019-08-04 22:37:17 +01:00
Florian Rival
8a4d3cd26a Bump newIDE version 2019-08-04 21:57:45 +01:00
Wend1go
dba5c08569 Reduce spikes/artifacts from text outlines (#1180) 2019-08-04 21:48:14 +01:00
Florian Rival
35fb1d91c0 Add explanations about git in the developer docs 2019-08-04 21:37:52 +01:00
FAlooC
14ba8d34aa Fix crash when using Text Object actions/conditions without object on the scene (#1183)
Added "Extensions/TextObject/textruntimeobject-pixi-renderer.js" and "Extensions/TextObject/textruntimeobject-cocos-renderer.js" wherever "Extensions/TextObject/textruntimeobject.js" was imported.
2019-08-04 20:13:44 +01:00
Florian Rival
664ebbf927 Fix scrolling in lists of NewInstructionEditorDialog, simplify markup 2019-08-04 19:00:29 +01:00
Florian Rival
0db6bc8e96 Fix ResourceSelector incorrectly stealing the focus
The extra call to this.focus() was not necessary anymore
as handled by the SemiControlledAutoComplete.
2019-08-04 17:11:17 +01:00
Florian Rival
96e1eeee7b Fix confirmation message for adding images outside project folder
See https://github.com/lingui/js-lingui/issues/437, i18n.plural
is not working in production mode. Use macro + i18n._ instead.
2019-08-04 12:09:24 +01:00
Florian Rival
3070a5fe6c Bump newIDE version 2019-08-03 15:41:28 +01:00
Florian Rival
4388e073e1 Add menu-with-functions-and-text-effects example by @Phenomena3 2019-08-03 15:39:52 +01:00
Bouh
52032b81c2 add "Center View" button in toolbar (#1178) 2019-08-03 12:13:09 +01:00
Bouh
0db9fd5b08 Fix web online export (#1179) 2019-08-03 12:01:58 +01:00
Florian Rival
a201d404ec Bump newIDE version 2019-08-01 23:59:46 +01:00
Florian Rival
d4df54938c Upgrade Howler.js to v2.1.2 2019-08-01 23:43:45 +01:00
Florian Rival
543a8e559b Fix NewInstructionEditorDialog size after starting a search, when dialog height is small 2019-08-01 23:30:51 +01:00
Florian Rival
c78ecd27d8 Fix display of instructions without group 2019-08-01 22:52:01 +01:00
Florian Rival
4cc6048e74 Fix crash/memory corruption when setting an object as a global object 2019-08-01 21:04:51 +01:00
Florian Rival
a198bcb706 Bump newIDE version 2019-07-30 22:26:44 +01:00
Florian Rival
e210eb0ca2 Fix fields objects editors where invalid values could be entered 2019-07-30 22:19:14 +01:00
Florian Rival
5c45f88e5a Update translations 2019-07-30 21:51:07 +01:00
Florian Rival
b6e83402f6 Fix issue in extract-all-translations where output .po file can't be used as a .pot file 2019-07-30 21:43:08 +01:00
Bouh
6ec6f1201a Add "Save As" menu option (#1162) 2019-07-30 21:18:50 +01:00
Florian Rival
ce32f8a7c2 Add filesystem-create-directory/ example by @piyushpalawat99 2019-07-30 08:52:33 +01:00
Florian Rival
5deaf5f5f2 Use proper keys to ensure no collisions between instruction and objects in InstructionOrObjectSelector 2019-07-29 18:14:54 +01:00
Florian Rival
ac0778ef02 Add UI improvements in NewInstructionEditorDialog 2019-07-29 18:14:54 +01:00
Florian Rival
0e1246bd81 Make NewInstructionEditorDialog responsive
Also fix display of selected items in InstructionEditor
2019-07-29 18:14:54 +01:00
Florian Rival
a93bfbcf56 Fix hiding of private instructions (typically behavior properties) in NewInstructionEditorDialog 2019-07-29 18:14:54 +01:00
Florian Rival
d25cf9be41 Favor exact match when searching for instructions 2019-07-29 18:14:54 +01:00
Florian Rival
dc8a440927 Fix selecting an object would also select an unrelated instruction when searching in InstructionOrObjectSelector 2019-07-29 18:14:54 +01:00
Florian Rival
2b64b6e97c Fix behavior instructions not selecting the object when edited in NewInstructionEditorDialog 2019-07-29 18:14:54 +01:00
Florian Rival
eb3aa28078 Fix warnings 2019-07-29 18:14:54 +01:00
Florian Rival
1c1f11fd27 Add object tags support to InstructionOrObjectSelector 2019-07-29 18:14:54 +01:00
Florian Rival
b3c7fb40ef Improve search and styling of NewInstructionEditorDialog 2019-07-29 18:14:54 +01:00
Florian Rival
6948c4672c Replace SearchBar by a custom one 2019-07-29 18:14:54 +01:00
Florian Rival
683338e85d Add search support in NewInstructionEditorDialog
Tags to be added
2019-07-29 18:14:54 +01:00
Florian Rival
87c657c1ff Add icons in instruction or expression search result 2019-07-29 18:14:54 +01:00
Florian Rival
b04fd00c43 Improve NewInstructionEditorDialog and fix bugs in it 2019-07-29 18:14:54 +01:00
Florian Rival
759f9f2bdd Make new/old InstructionEditorDialog configurable and improve the new one with tabs 2019-07-29 18:14:54 +01:00
Florian Rival
5188fed3e8 [WIP] Add new InstructionEditorDialog 2019-07-29 18:14:54 +01:00
Florian Rival
d70003ab7f Set estimated time for Online Cordova build to 5min (should be less) 2019-07-28 21:30:54 +01:00
Florian Rival
a3d5a731f6 Fix improper landing on jumpthru when jumping from behind in PlatformerObject behavior 2019-07-28 21:03:22 +01:00
Florian Rival
aa7a4a4ff3 Rename onOwnerRemovedFromScene to onDestroy and fix onCreated/onDestroy calls
* Rename onOwnerRemovedFromScene to onDestroy (because it can be now called when a scene is destroyed)
* Fix it being not called when a scene is destroyed (so behavior don't get a chance to clean up what they have created)
* Fix onCreated being called before the object is fully initialized (for custom behaviors or behaviors relying on an object type)
2019-07-28 17:43:50 +01:00
Florian Rival
c03b8dd0db Add test for gdjs.RuntimeScene with object and behaviors 2019-07-28 17:43:50 +01:00
Florian Rival
e7dec09802 Fix GDevelop.js tests 2019-07-28 14:08:35 +01:00
Florian Rival
a74562e627 Fix Travis CI tests (need to use xvfb) (#1168) 2019-07-28 13:59:36 +01:00
Florian Rival
f76a661bbc Set default text color to black 2019-07-28 12:42:31 +01:00
Florian Rival
82b248b9b4 Fix Travis link in README [ci skip][skip ci] 2019-07-28 11:55:12 +01:00
Florian Rival
fa6428f985 Fix CircleCi build order to avoid dependency on pre-built GDevelop.js 2019-07-28 11:43:14 +01:00
Florian Rival
b3cbdc0304 Try more master commits to find libGD.js when not compiled locally 2019-07-27 17:08:42 +01:00
Florian Rival
0271c06e12 Fix Travis CI builds (#1167)
Fix for Travis now using Ubuntu Xenial
2019-07-27 17:08:21 +01:00
Florian Rival
269b427980 Use "cmake" package in Travis instead of deprecated "cmake3"
Ubuntu Xenial (used by Travis) "cmake" package is CMake 3.5+
2019-07-27 16:44:23 +01:00
Wend1go
5a95d3ad50 Remove ES6+ syntax in tweenruntimebehavior.js for backwards compatibility (#1151) 2019-07-27 16:35:30 +01:00
Florian Rival
010a9cd7da Fix ResourcesMergingHelper tests 2019-07-27 16:08:45 +01:00
Florian Rival
6a014c8b88 Rework ResourcesMergingHelper and expose gd.ProjectResourcesCopier 2019-07-27 16:05:27 +01:00
Florian Rival
6b75405f91 Update breakout example and add breakout tutorial to Tutorials list 2019-07-23 23:07:09 +01:00
Florian Rival
899c173627 Add proper validation of package name using a regex 2019-07-23 22:30:28 +01:00
Florian Rival
df6067697b Fix typo in FileSystem 2019-07-17 23:30:57 +01:00
Florian Rival
401a441c6e Fix pasting in subinstructions 2019-07-11 17:20:39 +01:00
Piyush Palawat
5f576acc3c Add documentation links (#1146) 2019-07-09 19:03:24 +01:00
Piyush Palawat
0ad06581ec Add various documentation links (#1131) 2019-07-05 09:30:28 +01:00
Florian Rival
4683f06f3e Allow copy/pasting of actions and conditions & add paste button on hover
* Display a paste button when hovering add condition or add action button,
if there are conditions or actions in the clipboard
* Allow to copy actions and conditions at the same time. Pasting will only
paste the proper actions or conditions.
2019-07-05 08:31:06 +01:00
Florian Rival
c6caef929a Reduce zoom speed in ImagePreview 2019-07-04 22:13:22 +01:00
Florian Rival
72f294a059 Add SetHelpPage for expressions 2019-07-04 22:06:51 +01:00
Todor Imreorov
a8b44839ed Fix gitignore for piskel folder (#1143) 2019-07-04 21:57:21 +01:00
Florian Rival
fcf6f5c083 Add icons in ObjectSelector 2019-07-04 21:15:02 +01:00
Florian Rival
0704d82348 Fix getColor in TiledSpriteRuntimeObject 2019-07-04 08:41:36 +01:00
Florian Rival
cb56364539 Make extension search case insensitive 2019-07-02 22:57:43 +01:00
Florian Rival
e3244d64af Add HelpButton for PointsEditor 2019-07-02 22:47:02 +01:00
Florian Rival
01b854b1b9 Fix reordering and drag'n'drop of objects when list is filtered (tags or search)
* Also possibly improve performance by filtering only once the list, not three times.
* Cleaner code for reordering/dragging objects
2019-07-02 22:34:13 +01:00
Florian Rival
a9bf3a6c80 Fix issue when setting the pathfinding destination too close to current object position 2019-07-02 21:39:37 +01:00
Bouh
a714592917 Add mouse wheel support (#1130) 2019-07-02 08:15:39 +01:00
Florian Rival
9680bc5756 Fix uncaught errors in exporters 2019-07-01 23:43:00 +01:00
Florian Rival
83424cac6e Remove outdated comment 2019-07-01 23:06:54 +01:00
Florian Rival
5e8f8324ad Add help button for collision masks 2019-07-01 23:00:15 +01:00
Florian Rival
9b61a39745 Add icons for variables in EventsSheet 2019-07-01 22:53:00 +01:00
Florian Rival
666b5f78ce Fix newly created DestroyOutsideBehavior not working 2019-07-01 22:46:42 +01:00
Florian Rival
5b3bb9d0cf Add getJsonManager to gdjs.RuntimeGame 2019-07-01 22:24:48 +01:00
Florian Rival
52cec48bf1 Add zoom to ImagePreview and fix Physics2 behavior vertices edition
* Refactor overlays (points, collision masks, physics shape preview)
to be a render prop.
* Fix Physics2 polygon vertices edition
2019-07-01 22:18:21 +01:00
Florian Rival
6a9f1099a7 Copy (after asking user) new resources inside project folder if they are not inside 2019-06-30 22:38:23 +01:00
Florian Rival
a7e0cd2cec Add gdjs.JsonManager to load json + added icons in ResourcePreview for all resources 2019-06-30 15:50:21 +01:00
Florian Rival
45070d3323 Add support for choosing json resource in IDE 2019-06-30 15:50:21 +01:00
Florian Rival
bf065dcf6f Add JsonResource to ResourcesManager 2019-06-30 15:50:21 +01:00
Bouh
5d5f7fcc7d Ensure base layer cannot be removed (#1133) 2019-06-30 14:18:21 +01:00
Florian Rival
90f0828474 Remove translation for a magic field 2019-06-30 14:01:26 +01:00
Bouh
0dbae8f117 Add button to turn groups to global groups in IDE (#1129) 2019-06-28 18:50:01 +01:00
Todor Imreorov
6281e7299c Add npm command to update extensions (#1089) 2019-06-27 21:47:11 +01:00
Florian Rival
f478c861af Add link to help page for project properties created by @Bouh 2019-06-27 21:39:17 +01:00
Florian Rival
c71484326f Allow to create a new empty game in the web-app 2019-06-27 08:31:29 +01:00
Bouh
7f110e0fd1 Add separator between mosaic windows and make Dark theme blue a bit lighter (#1124) 2019-06-25 08:14:10 +01:00
Florian Rival
ef87a0fafa Bump newIDE version 2019-06-24 21:16:05 +01:00
Wend1go
425e890c5a Add opacity/tint to Panelsprite (#1114) 2019-06-24 21:07:40 +01:00
Florian Rival
5e132ddd23 Fix rendering of events after changes in an instruction or new instruction 2019-06-24 20:40:50 +01:00
Florian Rival
1ddb29ba65 Show grab cursor when space is pressed on scene editor 2019-06-23 17:38:43 +01:00
Florian Rival
925b50627c Fix warning 2019-06-23 16:57:59 +01:00
Florian Rival
2a420044ed Fix typo in minimist option handling 2019-06-23 16:19:23 +01:00
Florian Rival
b21e617e9c Bump newIDE version 2019-06-23 15:13:11 +01:00
Florian Rival
5068248525 Update translations 2019-06-23 15:11:06 +01:00
Florian Rival
20a7d424c2 Fix Prettier 2019-06-23 12:53:28 +01:00
Florian Rival
18ea55600f Handle error when game cannot be created in the specified folder 2019-06-23 12:39:36 +01:00
Florian Rival
3cdf539f42 Fix uncaught exceptions on login/account creation/password reset 2019-06-23 12:27:10 +01:00
Florian Rival
3008898917 Add tutorials by @piyushpalawat99 and Nilarjun 2019-06-22 18:53:53 +01:00
Florian Rival
3c5c3735be Add Castpixel to the list of contributors 2019-06-22 18:37:30 +01:00
Florian Rival
5feddb98f6 Fix yarn.lock 2019-06-22 18:33:25 +01:00
Florian Rival
f8c8d938f5 New space shooter example with custom behaviors and art by @castpixel 2019-06-22 18:33:00 +01:00
Florian Rival
c4cd2c4a26 Move resources (res, JsPlatform, CppPlatform) to newIDE and remove old, unused folders 2019-06-22 17:17:09 +01:00
Florian Rival
3b454616a5 Fix selection being dismissed when panning the view in InstancesEditor 2019-06-22 16:30:35 +01:00
Florian Rival
e42582cde0 Upgrade a bunch of dependencies
Upgrade react to v16.8
Upgrade storybook to v5
Upgrade react-mosaic to v3.1.0
Upgrade react-sortable-tree
Upgrade react-sortable-hoc
Upgrade react-dnd to 7.7.0

Fix a crash (infinite loop) when using Trans as title of MosaicWindow
(because old versions of react-mosaic where doing a deep equality
check of props in shouldComponentUpdate).
2019-06-22 16:03:53 +01:00
Piyush Palawat
d44e7868c1 Add link to documentation for CommonConversionsExtension.cpp (#1122) 2019-06-22 15:22:04 +01:00
Florian Rival
cd9c5d6095 Fix first argument swallowed when launching from command line 2019-06-21 19:35:08 +01:00
Florian Rival
181fcdab09 Catch exception and display error if an extension can't be loaded properly 2019-06-21 19:31:49 +01:00
Florian Rival
c3f3021509 Use 'My Documents' as the default folder for GDevelop projects 2019-06-20 23:06:03 +01:00
Florian Rival
6aac240425 Add link about publishing on Kongregate or Game Jolt 2019-06-20 23:02:15 +01:00
Piyush Palawat
4e64b37bab Add various links to documentation (#1118) 2019-06-20 22:46:58 +01:00
Florian Rival
4c59e90a1c Fix generation of behavior code for properties with empty number as default value 2019-06-19 21:54:16 +01:00
Florian Rival
4483e0659a Rename 'Value to test' to 'Value to compare' 2019-06-19 21:28:58 +01:00
Florian Rival
73827f6f30 Make a fix in pixi-simple-gestures to prevent potential error 2019-06-19 19:30:46 +01:00
Florian Rival
7f97d753a8 Fix behavior number properties action 2019-06-19 08:50:09 +01:00
Florian Rival
a4a638371f Disable sending analytics for warnings (too much noise) 2019-06-19 08:48:44 +01:00
Florian Rival
ed3f6425b2 Add multiplayer-platformer-with-gamepads example 2019-06-17 22:14:56 +01:00
Florian Rival
bbb0738f5f Hide a property of a behavior in a test game 2019-06-16 17:08:55 +01:00
Florian Rival
0231d30508 Add EventsScope and hide behavior private instructions when not in the proper scope 2019-06-16 17:08:55 +01:00
Florian Rival
64db614914 Allow instructions/expressions to be marked as private 2019-06-16 17:08:55 +01:00
Florian Rival
b5acc58b41 Improve typing of expression/instruction selectors and add support for displaying subheaders 2019-06-16 17:08:55 +01:00
Florian Rival
1b1e6b67c6 Fix object filtering by type not applied 2019-06-16 17:08:55 +01:00
Florian Rival
2891c6b7e4 Fix behavior properties code generation 2019-06-16 17:08:55 +01:00
Florian Rival
689136cadb Allow behavior properties to be hidden in the editor 2019-06-16 17:08:55 +01:00
Florian Rival
181976e1b3 Add refactoring of properties actions/conditions/expressions when renaming property/behavior/extension 2019-06-16 17:08:55 +01:00
Florian Rival
b1f7660ffa Add editor for properties of events based behaviors 2019-06-16 17:08:55 +01:00
Florian Rival
52489c3cc9 Add generation of action/conditions/expressions to use properties of events based behavior 2019-06-16 17:08:55 +01:00
Florian Rival
129f932e26 Add properties to EventsBasedBehavior 2019-06-16 17:08:55 +01:00
Florian Rival
38575e8f24 Use implements webidl keyword to simplify some bindings (2) 2019-06-16 17:08:55 +01:00
Florian Rival
c4a426c65f Use implements webidl keyword to simplify some bindings (1) 2019-06-16 17:08:55 +01:00
Florian Rival
c2b123d20b Add NamedPropertyDescriptor 2019-06-16 17:08:55 +01:00
Wend1go
26cf2e35f2 Add outline, shadow, gradient and alignment to Text object (#1096) 2019-06-16 11:36:26 +01:00
Florian Rival
c77d522abc Make name of object parameter consistent in TiledSpriteObject extension 2019-06-16 11:12:31 +01:00
Wend1go
d4a6f4d562 Add opacity and tint support to Tiled Sprite (#1110) 2019-06-15 19:43:00 +01:00
Florian Rival
69b182b08f Add color, layer and sceneName to function parameter types in IDE 2019-06-15 13:33:21 +01:00
Piyush Palawat
26dbd7e971 Fixed broken images for Shopify (#1106)
The images in the beta and web version of "Shopify" category were broken, while the ones in the version built from source were not. I believe it was because of case-sensitivity and have fixed the same, even though I wasn't able to try it.
2019-06-15 13:10:24 +01:00
Florian Rival
8f99eac776 Automatically disable smoothing of new images if project scale mode is set to nearest (pixel-perfect) 2019-06-09 23:04:03 +01:00
Florian Rival
61a125f293 Fix centering of the view when opening a scene 2019-06-09 22:29:45 +01:00
Wend1go
6448c6a78a Add scale actions/conditions for Text objects (#1092) 2019-06-09 21:20:30 +01:00
Florian Rival
d290c98e28 Use unicode sign for relational operators shown in EventsSheet 2019-06-08 16:08:31 +01:00
Florian Rival
973c282b57 Improve various parameter fields
* Add SceneNameField
* Simplify some fields
* Fix ObjectSelector/ObjectField error display
2019-06-08 16:53:22 +02:00
Florian Rival
d911610d80 Display inline errors in events sheet for mouse and key parameters 2019-06-08 16:53:22 +02:00
Florian Rival
bc2e273f43 Fix crash when pressing Esc while selecting an object in InstructionParametersEditor 2019-06-08 16:53:22 +02:00
Florian Rival
234d2f4923 Bump newIDE version 2019-06-06 17:48:19 +02:00
Florian Rival
2c2efa4a99 Fix SerializerElement broken when using attributes with children (#1088)
* Fix SerializerElement broken when using attributes with children
* Fix usage of AddChild on arrays without named children
2019-06-06 17:43:15 +02:00
Florian Rival
3f7fe1d55d Search in more parents when downloading libGD.js 2019-06-06 00:23:03 +02:00
mohajain
1bb5a6614e Fix typo in Readme (#1085) 2019-06-05 21:16:07 +02:00
Piyush Palawat
8e8d96dd3a Fix broken images for Sensors category in expressions list (#1083) 2019-06-04 23:43:45 +02:00
Florian Rival
3b07b9f354 Update web-app to GDJS 5.0.0-beta70 2019-06-02 23:56:18 +01:00
Florian Rival
0f0c9b8fe8 Use behavior name for display if full name is not entered 2019-06-02 23:34:14 +01:00
Florian Rival
c1e78ee1e3 Add Layer string expression to get object layer 2019-06-02 23:33:50 +01:00
Florian Rival
49fd9554ee Add AlertMessage about running games locally 2019-06-02 18:50:17 +01:00
Florian Rival
92f682e693 Bump newIDE version 2019-06-01 12:57:49 +01:00
Florian Rival
e6aae81ca3 Fix object paste/duplicate setting a wrong name to the object
Fix #1076
2019-06-01 12:57:00 +01:00
Florian Rival
bd1feb9270 Bump newIDE version 2019-06-01 12:38:18 +01:00
Florian Rival
5bfb6369db Fix firebase import warning by only importing app and auth 2019-05-31 19:51:12 +01:00
Florian Rival
ea05994702 Fix Physics2Behavior shared data not properly initialized 2019-05-31 19:22:58 +01:00
Florian Rival
e303734ac0 Update CircleCI configuration to build GDevelop.js too 2019-05-30 18:12:52 +01:00
Florian Rival
5467eededf Update CircleCI configuration 2019-05-30 08:20:25 +01:00
Florian Rival
98f431b903 Update firebase to version 6.1.0 2019-05-30 08:20:25 +01:00
Bouh
94a1701648 Fix width of images in Changelog (#1069) 2019-05-29 21:38:29 +01:00
Florian Rival
03de6a8fef Add experimental CircleCI configuration 2019-05-29 21:20:11 +01:00
Florian Rival
7c787e2531 Bump newIDE version 2019-05-28 23:13:06 +01:00
Florian Rival
feb0baf1e6 Avoid description fields being too tall in OptionsEditorDialog 2019-05-28 23:06:42 +01:00
Florian Rival
bf8c3312f7 Add StrEqual condition 2019-05-28 23:00:06 +01:00
Florian Rival
8198f3c817 Fix Prettier 2019-05-28 22:26:18 +01:00
Florian Rival
8edf08cc5f Fix StatusBar 2019-05-28 22:15:16 +01:00
Florian Rival
05aeffe5f0 Add StatusBar to InstancesEditor, showing mouse position 2019-05-28 22:11:16 +01:00
Bouh
007db6e9be Add copy/cut/paste for events based behaviors (#1066) 2019-05-28 21:10:06 +01:00
Florian Rival
452f83eef6 Add explanation about not playing music before first user interaction 2019-05-28 08:14:44 +01:00
Florian Rival
b08bd9e108 Fix object renaming from ObjectEditorDialog
Fix #1060
2019-05-27 23:22:52 +01:00
Florian Rival
2e9601757c Add support for adding tags to objects and filter by tags (#1065) 2019-05-27 23:20:07 +01:00
Piyush Palawat
fecb22d61e Fix spelling mistakes in the "Vibrate by pattern" action. (#1063) 2019-05-27 17:55:58 +01:00
Florian Rival
8cb5e137ce Display error messages in case no key or mouse button is selected 2019-05-24 20:49:39 +01:00
Florian Rival
5957c35afe Bump newIDE version 2019-05-23 23:46:56 +01:00
Florian Rival
4d0ac8d9a4 Update translations 2019-05-23 23:44:56 +01:00
Florian Rival
3a90d15ddb Remove useless translations markers 2019-05-23 23:00:25 +01:00
Florian Rival
d7bee58182 Improve support for JS code events by exposing the context of the events function, if any 2019-05-23 22:02:32 +01:00
Florian Rival
65a14eea7f Add tests for gdjs.VariablesContainer 2019-05-23 17:34:06 +01:00
Florian Rival
899b70c9bf Display errors for resources before warning 2019-05-22 08:39:47 +01:00
Todor Imreorov
b2de428820 Add warning for resources located outside of project folder (#1055) 2019-05-22 08:34:50 +01:00
Florian Rival
51060f806d Add help buttons 2019-05-21 23:33:50 +01:00
Florian Rival
6725a30111 Add more fallbacks to download a version of libGD.js 2019-05-21 21:24:30 +01:00
Todor Imreorov
b65eefc3ee Add npm/yarn commands to run Electron (#1057) 2019-05-21 20:12:00 +01:00
Florian Rival
0a710481af Fix formatting of expressions having code-only (hidden) parameters 2019-05-21 00:21:16 +01:00
Florian Rival
724d76e00d Only display extensions with behaviors in NewBehaviorDialog 2019-05-21 00:07:23 +01:00
Florian Rival
7e3966f04c Fix Prettier 2019-05-21 00:01:59 +01:00
Florian Rival
049483dbbd Fix support for calling behavior methods from other behavior methods 2019-05-20 23:36:13 +01:00
Florian Rival
b8270eb55e Fix typo 2019-05-19 23:28:37 +01:00
Florian Rival
e737ab2443 Merge pull request #1049 from 4ian/feature/runtime-behavior
Events based behaviors 🚀
2019-05-19 23:20:58 +01:00
Florian Rival
7fe3fa1c6f Fix search/tags in ExtensionsSearch 2019-05-19 22:19:58 +01:00
Florian Rival
8d0ba97fbf Add author to EventsFunctionsExtension 2019-05-19 22:13:17 +01:00
Florian Rival
0be7ee859a Fix SetReturnString argument type 2019-05-19 16:51:55 +01:00
Florian Rival
eeeafff2b2 Add tags in ExtensionsSearch 2019-05-18 17:15:37 +01:00
Florian Rival
2bccc31cbb Remove useless TODO 2019-05-18 16:17:45 +01:00
Florian Rival
60bb4ad69f Remove warnings from .vscode/c_cpp_properties.json (2) 2019-05-18 16:08:32 +01:00
Florian Rival
fdfe7b35f6 Allow to replace an extension when importing one 2019-05-18 16:08:00 +01:00
Florian Rival
457940ab04 Add import/export to file for events functions extensions 2019-05-18 15:31:50 +01:00
Florian Rival
c9a90b2b77 Add support for short description and tags in EventsFunctionsExtension 2019-05-18 12:05:21 +01:00
Florian Rival
4e23c46ca1 Remove warnings from .vscode/c_cpp_properties.json 2019-05-18 00:58:28 +01:00
Florian Rival
a98575133f Add button to explain how to create new behaviors 2019-05-18 00:58:04 +01:00
Florian Rival
b7e85078d1 Remove some TODOs and add messages if too much extensions to display 2019-05-18 00:47:46 +01:00
Florian Rival
1494a474f1 Add button to search extensions in ProjectManager 2019-05-17 19:49:11 +01:00
Florian Rival
c7ba85ce03 Display extension full header in ExtensionInstallDialog and handle errors 2019-05-17 19:16:39 +01:00
Florian Rival
327be156f3 Rework EventsFunctionsExtensionsLoader to use context 2019-05-17 08:54:14 +01:00
Florian Rival
2d850b0798 [WIP] Add ExtensionsSearch to NewBehaviorDialog 2019-05-16 21:03:51 +01:00
Florian Rival
7d144f19c0 Add missing translation tags 2019-05-15 21:33:13 +01:00
Florian Rival
6496095d7c Add help links for events based behaviors 2019-05-15 21:31:54 +01:00
Florian Rival
1778aa1bc3 Add copy/cut/paste for events functions 2019-05-12 23:35:15 +01:00
Florian Rival
7769c02a86 Fix flow 2019-05-10 16:15:06 +01:00
Florian Rival
a97486b92b Remove CopyOf prefix when pasting things in ProjectManager 2019-05-10 16:08:38 +01:00
Florian Rival
6315857651 Fix copy/cut/paste for Events Functions/Behaviors Extensions 2019-05-10 16:02:29 +01:00
Florian Rival
99238a099d Only allow changing behavior's object type if actually possible 2019-05-10 15:49:27 +01:00
Florian Rival
58db3beaf8 Add more tests for WholeProjectRefactorer 2019-05-10 14:05:04 +01:00
Florian Rival
ccb18a0da4 Fix opening of behavior function from events sheet and prevent using reserved names 2019-05-10 12:49:54 +01:00
Florian Rival
89ac323c8e Add support for automatic refactoring when events function (including expressions) is renamed 2019-05-10 11:37:33 +01:00
Florian Rival
3073b9f44d Fix typos 2019-05-09 11:25:40 +01:00
Florian Rival
32dd269d18 Add automatic refactoring of project when an events based behavior is renamed 2019-05-08 16:05:03 +01:00
Florian Rival
b96fda0f8c Run Prettier 2019-05-08 10:47:57 +01:00
Florian Rival
4b85f23969 Prepare the new refactorings in WholeProjectRefactorer for behaviors 2019-05-08 00:20:02 +01:00
Florian Rival
e670563c92 Add tests for WholeProjectRefactorer and events based functions/extensions 2019-05-07 18:11:52 +01:00
Florian Rival
1e9dab2117 Fix Behavior field not automatically filling when editing expressions 2019-05-07 14:32:04 +01:00
Florian Rival
aac867f960 Set default minimum FPS to 20 2019-05-07 13:56:08 +01:00
Florian Rival
9e89f51a59 Ensure behavior type is displayed in selector even if unknown 2019-05-07 12:28:04 +01:00
Florian Rival
2d31e910fa Add support for EventsBasedBehavior object type 2019-05-07 00:46:45 +01:00
Florian Rival
6332230c4c Add basic test game for EventsBasedBehavior 2019-05-06 23:32:37 +01:00
Florian Rival
3161f641d8 Rename ownerRemovedFromScene to onOwnerRemovedFromScene 2019-05-06 23:08:41 +01:00
Florian Rival
6dba9d9031 Improve EventsBasedBehavior edition in IDE 2019-05-06 22:51:50 +01:00
Florian Rival
433dc763d1 Separate Behavior into BehaviorContent and Behavior, and add RuntimeBehavior for GDCpp 2019-05-03 22:47:21 +01:00
Wend1go
99416e93cc Fix the display of two parameters in FileSystem extension (#1046) 2019-05-02 10:35:37 +01:00
Florian Rival
68e01e253e Bump newIDE version 2019-05-01 17:49:48 +01:00
Florian Rival
b764fbbde7 Use checksum to verify if a third party editor needs update.
Also a protection against potential tampering of third party editors.
2019-05-01 13:53:59 +01:00
Florian Rival
73121d5d53 [WIP] Add code generation for EventsBasedBehavior (2) 2019-04-29 21:48:28 +01:00
Florian Rival
0a14872660 Bump newIDE version 2019-04-29 20:46:39 +01:00
Florian Rival
78834cbbfc Update translations 2019-04-29 20:43:05 +01:00
Florian Rival
7b69d41857 Remove useless GetCustomCodeInMain and related methods 2019-04-29 11:56:02 +01:00
Florian Rival
668bd6a983 Fix action to set the string returned by an events function (SetReturnString) 2019-04-29 11:25:27 +01:00
Florian Rival
2353815fdf [WIP] Add code generation for EventsBasedBehavior 2019-04-26 17:49:06 +01:00
Florian Rival
9bbc5e426c [WIP] Add support for EventsBasedBehavior in newIDE 2019-04-26 14:12:59 +01:00
Florian Rival
7925e75652 [WIP] Add EventsBasedBehavior 2019-04-26 14:12:59 +01:00
Florian Rival
13bc2a5cd8 Remove more dead code 2019-04-26 14:12:59 +01:00
Florian Rival
bf8d1a6a28 Remove dead code from gd::Layout 2019-04-26 14:12:59 +01:00
Florian Rival
338f062781 Refactor EventsFunctionsExtension to use EventsFunctionsContainer/SerializableWithNameList 2019-04-26 14:12:59 +01:00
Florian Rival
2cf2622b9e Fix crash at save (missing functions after integrating GDevelop.js in the repository) 2019-04-26 14:12:23 +01:00
Florian Rival
6d92430e76 Fix size of the game window when exported with Electron 2019-04-25 09:44:50 +01:00
Florian Rival
9b5a6d8bf0 Try more previous revision to find a pre-built libGD.js 2019-04-24 21:35:33 +01:00
Florian Rival
90c3f4f72b Avoid useless copy of arrays in ForEach event generated code
Lists of objects were wrongly initialized, creating a useless performance hit. All the objects of the "for each" were copied into arrays, before being emptied. And this, for every single object in the for each loop. This was particularly bad when a lot of objects were picked by the for each (if we have N objects, complexity was N*N copies of the array).
2019-04-24 21:23:16 +01:00
Florian Rival
c3794950ab Rename methods to declare list of objects without picking from scene, for consistency 2019-04-24 21:23:16 +01:00
Florian Rival
e7516baa0b Update bug report template to mention web-app 2019-04-24 19:29:28 +01:00
Florian Rival
88366b3362 Add margin around the full width InstructionEditorDialog 2019-04-23 22:47:13 +01:00
Florian Rival
dd93cecbcf Fix Events Sheet shortcuts 2019-04-23 21:53:35 +01:00
Florian Rival
359159b402 Remove VSCode flow workaround, as not needed anymore 2019-04-23 20:33:06 +01:00
Florian Rival
14b30677db Update README 2019-04-23 18:26:21 +01:00
Florian Rival
9f3dd50f99 Robustify import-libGD.js: allow to download a previous version of libGD.js if necessary 2019-04-23 18:00:54 +01:00
Florian Rival
1503b8eabd Update import-libGD.js error wording 2019-04-23 17:21:05 +01:00
Florian Rival
f3a86e93fd Don't error if libGD.js can't be downloaded, but a local one exists
This will happen when developers create commits on top of master
2019-04-23 17:19:12 +01:00
Florian Rival
c4b20ea7a4 Fix order for installation on Travis-CI
Install newIDE before building GDevelop.js will result in not finding any libGD.js for newIDE
2019-04-23 17:12:40 +01:00
Florian Rival
abf9321ed0 Update import-libGD.js to use an automatically built version 2019-04-23 17:08:30 +01:00
Florian Rival
ce9df3b57b Add back flags for C++11 2019-04-23 16:42:19 +01:00
Florian Rival
680c42c113 Remove check for C++11 compiler - assume compilers are now new enough to support it 2019-04-23 16:09:15 +01:00
Florian Rival
a648248680 Change output path of the Travis artifacts 2019-04-23 16:09:15 +01:00
Florian Rival
1693d863d3 Integrate GDevelop.js (emscripten bindings of Core/Extensions to JS) inside the repository 2019-04-23 16:09:15 +01:00
Florian Rival
ccc29ef416 Merge pull request #1034 from 4ian/refactor/remove-ide
Remove old IDE from GDevelop 5 codebase
2019-04-23 14:43:35 +01:00
Florian Rival
b9680e26e7 [WIP] Remove almost all remaining references to wxWidgets/GD4 IDE related code from codebase 2019-04-23 13:08:22 +01:00
Florian Rival
d444ed7e39 [WIP] Clean more old methods used only in GD4 2019-04-22 20:57:59 +01:00
Todor Imreorov
bb94cb2200 Add "Insert a New Object" to the Scene Editor context menu (#1025)
Visible when no instance selected
2019-04-22 15:01:27 +01:00
Florian Rival
eaf9494f91 [WIP] Remove deprecated network action 2019-04-22 14:57:28 +01:00
Florian Rival
d7abf86050 Fix preview crash with Firefox 2019-04-22 11:33:50 +01:00
Florian Rival
e8f4cfda85 Bump newIDE version 2019-04-22 00:34:48 +01:00
Florian Rival
e85c7dce01 Fix regression: slow opening of very large games 2019-04-21 22:58:24 +01:00
Florian Rival
87adc2cab9 [WIP] Clean old methods used only in GD4 in objects and behaviors (3) 2019-04-21 20:52:48 +01:00
Florian Rival
d59f40ff5d [WIP] Clean old methods used only in GD4 in objects and behaviors (2) 2019-04-21 19:40:05 +01:00
Florian Rival
edd98d8bd5 [WIP] Clean old methods used only in GD4 in objects and behaviors 2019-04-21 10:20:32 +01:00
Florian Rival
a8a6f2dfe9 Update translations 2019-04-21 00:01:36 +01:00
Florian Rival
73d9604107 [WIP] Remove all GDevelop 4 extensions not used in GDevelop 5 2019-04-20 23:29:59 +01:00
Florian Rival
04267acabc Add example video to BrowserResourceSources 2019-04-20 22:46:35 +01:00
Florian Rival
20e90e699c Add video-player example 2019-04-20 21:55:43 +01:00
Florian Rival
7f0033989a [WIP] Partially clean GDJS/GDCpp/GDCore of wxWidgets related code 2019-04-20 01:21:28 +01:00
Florian Rival
1de33312f3 Fix crash when using resource editor on web-app 2019-04-19 17:44:44 +01:00
Florian Rival
d1c6347f3d Add warning/information about using the Video object in the editor 2019-04-18 16:42:36 +01:00
Todor Imreorov
0ba44a4620 Add tooltips in Instances editor (#1023) 2019-04-17 17:43:28 +01:00
Florian Rival
db753e75cc Add empty renderer for VideoRuntimeObject for Cocos2D-JS 2019-04-17 09:46:25 +01:00
Bouh
db93a25b33 Add experimental Video extension (#951)
See remaining items here: https://github.com/4ian/GDevelop/pull/951#issuecomment-483974639
2019-04-17 08:43:30 +01:00
Florian Rival
1940b0cccd [WIP] Remove old IDE 2019-04-16 17:05:25 +01:00
Florian Rival
b101549c5b Add support for saving projects as multiple files (Folder Project) 2019-04-15 23:21:12 +01:00
Florian Rival
fefd862fbd Fix regression when launching external layout preview 2019-04-15 23:11:56 +01:00
Todor Imreorov
6333df011a Autosave projects when a preview is launched (#1015)
* Ask the user if they want to restore the autosave when opening a project with a recent autosave.
2019-04-14 17:46:15 +01:00
Florian Rival
d127cefdfb Fix Prettier 2019-04-13 16:02:11 +01:00
Florian Rival
5e325af153 Add help button in EventsFunctionExtractorDialog 2019-04-13 15:28:10 +01:00
Florian Rival
f57907c3d3 Update libGD.js version number 2019-04-13 10:10:24 +02:00
Florian Rival
64b59fd204 Fix some spacing 2019-04-13 10:09:43 +02:00
Florian Rival
ee53a59d69 Remove useless prop 2019-04-13 10:09:43 +02:00
Florian Rival
bf632c4c62 Add explanation about behavior arguments that differ from the behavior parameter name 2019-04-13 10:09:43 +02:00
Florian Rival
5add209ccf Improve naming in EventsContextAnalyzer 2019-04-13 10:09:43 +02:00
Florian Rival
480fc0dd4e Fix display of lists in EventsFunctionConfigurationEditor 2019-04-13 10:09:43 +02:00
Florian Rival
d9b22112c0 Add test for EventsFunctionExtractor 2019-04-13 10:09:43 +02:00
Florian Rival
9c4c2135d9 Add ScrollView 2019-04-13 10:09:43 +02:00
Florian Rival
1fca0e29ff Improve events function performance when querying objects 2019-04-13 10:09:43 +02:00
Florian Rival
b313b12004 Improve group support in EventsFunctionExtractor
Only expand groups into objects if the events are referencing one of these objects.
2019-04-13 10:09:43 +02:00
Florian Rival
37a3cf96b4 Add support for groups with behaviors in EventsFunctionExtractor 2019-04-13 10:09:43 +02:00
Florian Rival
59c2167f55 Add support for groups in EventsFunction 2019-04-13 10:09:43 +02:00
Florian Rival
42cbe3534f Add support for behaviors in EventsFunctionExtractor 2019-04-13 10:09:43 +02:00
Florian Rival
0a8ba7b838 Add EventsFunctionExtractor
No support for now for behaviors
2019-04-13 10:09:43 +02:00
Todor Imreorov
4e00dcf5ec Fix unzipper failing to extract external editors on Windows (#1018)
* Normalize paths
2019-04-10 09:44:00 +01:00
Todor Imreorov
098ec4941e Show resource name when hovering thumbnail (#1017) 2019-04-09 21:01:39 +01:00
Florian Rival
0b3b6f1b94 Robustify Clipboard handling 2019-04-07 20:28:16 +01:00
Todor Imreorov
9a64092244 Add variable/object thumbnail icons in the event sheet (#936) 2019-04-07 17:14:58 +01:00
Florian Rival
bc4fee0121 Remove preference to use the old expression parser 2019-04-07 16:38:33 +01:00
Florian Rival
b5e5db7755 Fix Flow 2019-04-07 16:37:10 +01:00
Florian Rival
c172d52116 Add alerts when entering dangerous values for minimum/maximum FPS values 2019-04-07 16:16:16 +01:00
Florian Rival
b7b94a18fb Add supporting for capping the maximum number of FPS, with safety margin 2019-04-07 16:06:05 +01:00
Wend1go
62858bbb68 Remove local paths in Pairs example (#1006) 2019-04-04 09:08:14 +01:00
Florian Rival
f078ad02f3 Add description for Pairs example, add it as starter 2019-04-04 00:24:24 +01:00
Wend1go
1c7d11a302 Add Tween behavior to animate object position/angle/properties (#980)
* Implementation based on Shifty.js
* Add examples
2019-04-03 23:34:11 +01:00
Bouh
20a62ef2dd Update link to Discord channel (#1004) 2019-04-02 13:18:41 +01:00
Kink
74e2aa1d24 Fix color picker in the scene properties (#1003)
Just inverted the checkbox and the colorfield : now the colorpicker doesn't show up over the checkbox button, and so there is no more "dead zone"  to pick a color in the color picker on the scene editor.
2019-04-02 12:36:35 +01:00
Florian Rival
18a99c664b Potential fix for games running on monitor/browsers with higher refresh rate (144hz, 70hz...) 2019-04-01 17:28:04 +01:00
Florian Rival
dde8d08693 Fix crash with LocalFolderPicker 2019-04-01 17:16:36 +01:00
Bouh
de1a47b013 Add checkboxes to filters by conditions/actions in the Events Search Panel (#996) 2019-04-01 17:48:04 +03:00
Todor Imreorov
75eaf911a2 Show object name when pasting and show hint if pasting as global
* also make font bold when object is global - so that it's easier to notice its status
2019-04-01 17:36:45 +03:00
Florian Rival
1dba4bbda8 Add updated package-lock.json after switching to unzipper 2019-03-26 22:17:53 +00:00
Todor Imreorov
9d14afa671 Disable menu items for disabling event/adding subevent if not applicable 2019-03-26 23:07:31 +01:00
Florian Rival
fd23daa3d2 Use unzipper instead of unzip2, removing dependencies on old fstream/graceful-fs 2019-03-26 21:51:20 +00:00
Florian Rival
9ba461675f Fix EmptyMessage wording in ResourcesPropertiesEditor 2019-03-18 20:55:16 +00:00
Florian Rival
0623cb2aaf Fix flow error 2019-03-17 22:59:08 +00:00
Florian Rival
ec6f8d04ed Add comment/errors for new version of react-sortable-tree 2019-03-17 22:16:05 +00:00
Florian Rival
06a4d30223 Make InstancesEditor initialization more robust against new react-dnd versions 2019-03-17 21:56:03 +00:00
Florian Rival
a27d0705a4 Fix typo in ParticleEmitterEditor 2019-03-17 20:39:35 +00:00
Florian Rival
60d7c8ca1e Fix deprecation warning with Pixi v4.8.6 2019-03-17 17:02:04 +00:00
Florian Rival
4b037c2543 Add marging to culling, to avoid issues when moving objects slightly out of the editor 2019-03-17 17:02:04 +00:00
Florian Rival
13302d7b30 Update to Pixi.js v4.8.6 (newIDE and GDJS game engine) 2019-03-17 17:02:04 +00:00
Florian Rival
596845cd76 Fix downhill-bike-physics-demo starter on web-app 2019-03-16 16:18:47 +00:00
Florian Rival
89316cbf50 Fix warning 2019-03-16 16:12:58 +00:00
Florian Rival
3cf8a8ea65 Add callbacks for when a gdjs.RuntimeScene is paused/resumed 2019-03-14 22:56:19 +00:00
Florian Rival
137a23b86a Bump newIDE version 2019-03-11 22:17:21 +00:00
Florian Rival
3dae2c50e6 Add geodash example and betabox-basics-learning-experience 2019-03-11 22:13:08 +00:00
Florian Rival
e288414684 Update translations 2019-03-11 21:53:00 +00:00
Florian Rival
0d965fc23c Merge branch 'master' of github.com:4ian/GDevelop 2019-03-11 21:01:36 +00:00
Florian Rival
728188114e Update forum links 2019-03-11 21:01:23 +00:00
Florian Rival
72a61be8ec Add button to report wrong translation 2019-03-11 20:34:19 +00:00
Florian Rival
3e822e4ef0 Remove useless minus sign 2019-03-11 20:34:08 +00:00
Bouh
29f7501dcf Add button to "Open Project Folder" in Resources Editor (#968) 2019-03-10 21:21:57 +00:00
Florian Rival
2544c71f30 Fix Flow 2019-03-10 19:09:20 +00:00
Florian Rival
6c629f6d68 Add performance warning for text object character size action 2019-03-09 19:54:32 +00:00
Florian Rival
fa022747e2 Make warnings about instruction/behaviors translatable 2019-03-09 19:51:44 +00:00
Florian Rival
d0a2491acd Fix wrong forbidden characters in translations 2019-03-07 23:48:56 +00:00
Florian Rival
816513ad85 Fix wrong merging of some duplicated translations and update translations 2019-03-07 23:42:54 +00:00
Florian Rival
b36cb17e4c Fix Prettier 2019-03-07 23:25:01 +00:00
Florian Rival
4fb27b6135 Don't mark Algolia as translatable 2019-03-07 23:18:31 +00:00
Florian Rival
96674f36b4 Fix click while renaming project item and warning when name is not changed 2019-03-07 23:13:37 +00:00
Florian Rival
c31de12048 Add max displayed rows number in TextEditor to avoid dialog mis positioning 2019-03-07 23:05:28 +00:00
Florian Rival
aaeaa8338b Fix Prettier 2019-03-07 22:03:50 +00:00
Florian Rival
f5827d4a48 Add missing translation in InstructionParametersEditor 2019-03-07 21:54:48 +00:00
Florian Rival
afe9d18b03 Button to open the events function editor from instruction editor 2019-03-07 21:53:51 +00:00
Zat
175e12b25b Allow both "Center" and "Centre" for Center point in expressions (#955) 2019-03-05 18:13:05 +00:00
Florian Rival
c4bb03d360 Revert to Pixi.js 3.0.11 for the IDE - will upgrade properly later 2019-03-03 16:27:03 +00:00
Florian Rival
acc34e8bda Add hint and differentiate buttons between string/number expression fields 2019-03-02 20:35:19 +00:00
Florian Rival
edecc01e14 Clean folder when importing GDJS Runtime files in newIDE 2019-03-02 20:34:13 +00:00
Florian Rival
808721a29f Update newIDE Pixi.js to version 4.8.6 2019-03-02 18:42:32 +00:00
Florian Rival
b57316b4f4 Fix Storybook build (babel stuck by locales large file) and add language button in StartPage 2019-03-02 16:04:40 +00:00
Florian Rival
8d57aa5353 Update translations and add translation support to LinkEvent 2019-03-02 15:18:49 +00:00
Florian Rival
2ce1c56005 Improve translation coverage and fix BrowserPreviewLinkDialog 2019-03-02 13:00:14 +00:00
Florian Rival
fc7c092cfb Exclude some files from the i18n coverage script 2019-03-02 12:19:35 +00:00
Florian Rival
e100b6f2c3 Add support for translations in Main menu 2019-03-02 01:41:09 +00:00
Florian Rival
ac2867f1a7 Fix Prettier 2019-02-28 23:08:18 +00:00
Florian Rival
3166daf041 Fix a bunch of mistakes/typos 2019-02-28 23:07:34 +00:00
Florian Rival
0c2d58e70b Make "Downhill Bike Racing" a starter 2019-02-28 22:57:27 +00:00
Florian Rival
af9ab09b3b Make some tooltips translatable 2019-02-28 22:45:43 +00:00
Florian Rival
0c8560e60d Separate languages in LanguageDialog according to progress 2019-02-28 22:18:35 +00:00
Florian Rival
5a44fd8b9f Fix wording in Particle actions/conditions 2019-02-24 17:11:57 +00:00
Florian Rival
20ce83ccfe Add image resource to the dummy example object 2019-02-23 14:58:05 +00:00
Florian Rival
0cc4543948 Add support for "resource" property and field in PropertiesEditor 2019-02-23 14:58:05 +00:00
Florian Rival
5ff045d74a Fix Prettier 2019-02-23 12:34:47 +00:00
Florian Rival
0fdf123f8d Improve Flow typing and fix tests 2019-02-23 12:17:10 +00:00
Florian Rival
ec0b934557 Add VideoResource 2019-02-22 20:20:13 +00:00
Florian Rival
7fa1e50c17 Fix typos 2019-02-22 20:00:46 +00:00
Florian Rival
9a7c5ead3a Fix edition button for children variables 2019-02-19 22:52:36 +01:00
Todor Imreorov
72282d4e6d Show instance variables in panel + inherited object variables + fix crash
* Show instance variables in InstancePropertiesEditor
* Display parent variables (not editable) and overriden variables in italic.
* Also Fix (existing) crashes when deleting variables.
  This was wrongly written:
    * no recursive search (`contains` 2nd argument not passed)
    * comparing a VariableAndName with a gdVariable made no sense.
2019-02-19 22:19:27 +01:00
Florian Rival
be950a7779 Add pseudolocalization (fake language) to detect hardcoded strings 2019-02-19 00:19:45 +01:00
Zat
d37ef30041 Update Howler to 2.1.1 (#939) 2019-02-17 12:43:36 +00:00
Florian Rival
53360bc189 Reload all extensions (including builtin) after a language change 2019-02-17 00:55:58 +00:00
Florian Rival
bfd6712a93 Ensure changes to language are immediately applied to interface.
Still need to reload GDevelop built-in extensions.
2019-02-17 00:25:29 +00:00
Florian Rival
6902f1495d Update translations 2019-02-16 19:40:26 +00:00
Florian Rival
156fd3bc19 Make Debugger Toolbar translatable 2019-02-16 19:33:35 +00:00
Florian Rival
b1303b4ad6 Update package-lock.json 2019-02-16 19:33:05 +00:00
Florian Rival
2fa3bb7b1b Merge pull request #919 from 4ian/refactor/cra2-and-jslingui
Add support for translations in GDevelop 5 🌎

For contributors, please merge master in your branches for your Pull Requests. 
See this comment: https://github.com/4ian/GDevelop/pull/919#issuecomment-464371931
Don't forget to remove `node_modules` folder in `newIDE/app`, and relaunch `npm install` or `yarn`, then `npm start` or `yarn start`.
2019-02-16 18:56:24 +00:00
Florian Rival
fca6f7627a Add unsafe-eval to fix issue with webpack for now 2019-02-16 18:22:43 +00:00
Florian Rival
e7bca87063 Update react-scripts and fix npm install 2019-02-12 23:50:28 +00:00
Florian Rival
a7afaa1241 Update translations 2019-02-10 20:34:27 +00:00
Florian Rival
e98f25255c Exclude deprecated extensions from translations 2019-02-10 18:35:52 +00:00
Florian Rival
b4bd225f78 Exclude GDCpp messages from translations (as only used in old IDE) 2019-02-10 18:10:44 +00:00
Florian Rival
2c0253fafa Improve translation handling and update all locale messages 2019-02-10 18:03:28 +00:00
Florian Rival
c8201949df Add LanguageDialog to choose language 2019-02-09 17:47:11 +00:00
Florian Rival
0426bcb2a6 Run Prettier 2019-02-09 16:11:52 +00:00
Florian Rival
9025d055a0 Fix translated dialog titles rendering and strings not to be translated 2019-02-09 16:10:32 +00:00
Florian Rival
bef6f04f89 Run "codemod" to internationalize files 2019-02-09 16:10:32 +00:00
Florian Rival
800d4f7098 Fix Prettier and npm/yarn format command to exclude locales folder 2019-02-09 16:02:22 +00:00
Florian Rival
e8d9d4fa4b Use custom build of @lingui/react while waiting for new version for Flow fixes 2019-02-09 15:51:42 +00:00
Florian Rival
c9e2d3f4e0 Fix broken TimeExtension.cpp 2019-02-09 14:12:56 +00:00
Florian Rival
43230003b8 Fix ExampleJsExtension broken after internationalization 2019-02-09 14:08:22 +00:00
Florian Rival
725069026c Fix issue with incompatible babel-loader version 2019-02-09 14:08:22 +00:00
Florian Rival
7729137a72 Upgrade to Storybook v4 2019-02-09 14:08:22 +00:00
Florian Rival
3c81b3decb Internationalize a few files and add a script to codemod most newIDE files 2019-02-09 14:08:22 +00:00
Florian Rival
460946e8f4 Add analyze-translations-coverage script 2019-02-09 14:08:22 +00:00
Florian Rival
6908ab9b3f Fix ElectronEventsBridge regression (menus not working anymore) 2019-02-09 14:08:22 +00:00
Florian Rival
0286f97145 Add temporary translation files to .gitignore 2019-02-09 14:08:22 +00:00
Florian Rival
a40ba2551d Update README to add commands for updating translations 2019-02-09 14:08:22 +00:00
Florian Rival
02c65bcf66 [WIP] Add translations support, using js-lingui, to newIDE (including libGD.js)
* Upgrade to Flow 0.92 and make fixes for it
* Convert all extensions to use _("...") instead of t("...") for translations,
  to be able to be parsed by gettext
* Handle translation in JS extensions
* Move Providers out of MainFrame
* Remove i18next
* Adapt ExtractTranslations script to handle js files (for extensions)
2019-02-09 14:08:22 +00:00
Florian Rival
ecf5401626 Update to create-react-app v2 2019-02-09 14:08:22 +00:00
Florian Rival
8866719ef0 Fix Time expression and add "timestamp" support 2019-02-09 13:27:55 +00:00
Wend1go
6a02f1b3c5 Add handling of 'stringWithSelector' parameters (#911) 2019-02-08 19:37:38 +00:00
Florian Rival
02d7c84e17 Update description of some actions/conditions 2019-02-08 17:49:49 +00:00
Florian Rival
0a9fb45841 Update link to download libGD.js 2019-02-06 23:48:16 +00:00
Florian Rival
6ddace1ec4 Add an example of an object action in ExampleJsExtension 2019-02-06 23:34:43 +00:00
Florian Rival
fc4107107b Make parameters like objectvar use the last object (not necessarily the parameter just before) 2019-02-06 23:17:13 +00:00
Florian Rival
30da9e6556 Add support for stringWithSelector parameter type 2019-02-06 22:53:53 +00:00
Florian Rival
939de1e928 Fix potential error in Facebook Instant Games export 2019-02-06 22:45:23 +00:00
Florian Rival
c8b3572cd8 Fix parameter extra information being prefixed by extension namespace 2019-02-06 22:44:29 +00:00
Florian Rival
d350243b2e Fix spelling of some conditions and actions 2019-02-06 22:08:50 +00:00
Florian Rival
ea68c31c07 Fix typo in "Common actions" category title 2019-02-05 12:01:53 +00:00
Wend1go
0dd837d127 Fix typo/spelling in README (#926) 2019-02-05 10:01:30 +00:00
Florian Rival
b5c019ae6b Add mention to JavaScript flavor in the newIDE readme. 2019-02-05 00:10:34 +00:00
Florian Rival
b4337d3746 Mention JavaScript flavor in extension README. 2019-02-05 00:08:45 +00:00
Franco Maciel
afc0a86903 Ensure size of the game during preview is the same as in settings (#924) 2019-02-04 22:15:55 +00:00
Florian Rival
2e6821d231 Add documentation about JS features/code style/typing 2019-02-04 21:30:54 +00:00
Kink
ea8a827937 Remove simulated clicks in game when the cursor leaves the window (#923) 2019-02-04 17:57:09 +00:00
Florian Rival
bc352424e1 Move "About GDevelop" menu item to help menu on Windows/Linux 2019-02-04 13:47:37 +00:00
Florian Rival
8e83f1581e Remove menu item to close the window (Win/Linux)
Was confusing with "Quit GDevelop 5" menu item
and was adding a Ctrl+W as shortcut that would
close the window.
2019-02-04 13:43:59 +00:00
Kink
ba593b46dd Update ColorPicker placement to avoid it going out of screen (#917) 2019-02-03 23:46:38 +00:00
Florian Rival
d8cfead994 Fix broken alignment for text and icons in Link events 2019-02-03 23:32:32 +00:00
Kink
cf7db809ac Properly show disabled Link events and adapt the rendering to the theme (#916) 2019-02-03 23:23:18 +00:00
Florian Rival
26dd33854f Bump newIDE version 2019-01-30 22:17:33 +00:00
Florian Rival
1ed530d946 Add endless-up-runner and space-invaders examples 2019-01-30 21:55:11 +00:00
Florian Rival
b85008c269 Fix prettier 2019-01-30 21:52:49 +00:00
Florian Rival
08ddb6e519 Fix potential crash if new release without description 2019-01-30 21:35:12 +00:00
Florian Rival
d37c55e86f Update version of libGD.js 2019-01-28 23:43:12 +00:00
Florian Rival
e2c7e1a145 Merge pull request #780 from 4ian/feature/expression-parser-2
Use ExpressionParser2 as the default parser for expression in games
2019-01-28 23:36:07 +00:00
Florian Rival
6ebf40647e Bump newIDE version 2019-01-28 23:16:20 +00:00
Florian Rival
ed42f1c54a Fix wrong parameters in downhill-bike-physics-demo 2019-01-28 23:16:20 +00:00
Florian Rival
c94097acfb Fix deprecated usage of X and Y with point name 2019-01-28 23:16:20 +00:00
Florian Rival
9c6c8564fa Fix handling of object parameters in expressions 2019-01-28 23:16:20 +00:00
Florian Rival
4b33373296 Fix ConvertToString and code generation for strings with backlash/escaped characters 2019-01-28 23:16:20 +00:00
Florian Rival
7ce11c5252 Add expression parser test checking for big list of naughty strings 2019-01-28 23:16:20 +00:00
Florian Rival
0d864ce6a7 Update error message and add test case 2019-01-28 23:16:20 +00:00
Florian Rival
a6360152cd Fix typing 2019-01-28 23:16:20 +00:00
Florian Rival
827fdbf05a Bump GDevelop Core version 2019-01-28 23:16:20 +00:00
Florian Rival
a4c372d945 Convert PointX/PointY argument to a string 2019-01-28 23:16:20 +00:00
Florian Rival
93708cb2f3 Properly handle numbers with leading 0 (normalize them to remove the extra 0) 2019-01-28 23:16:19 +00:00
Florian Rival
3035bc9386 Improve error messages for empty expressions 2019-01-28 23:16:19 +00:00
Florian Rival
4c789967c3 Fix code generation of invalid variable expressions 2019-01-28 23:16:19 +00:00
Florian Rival
75797f2c41 Fix real-time error highlighting in case expression is being written 2019-01-28 23:16:19 +00:00
Florian Rival
571686f180 Add highlighting of errors 2019-01-28 23:16:19 +00:00
Florian Rival
df68978adc Add edge cases fixes and fuzzy tests for ExpressionParser2 2019-01-28 23:16:19 +00:00
Florian Rival
7a87fd9924 Add support for unary operator in ExpressionParser2 2019-01-28 23:16:19 +00:00
Florian Rival
8d1502cb20 Fix parsing of behaviors expressions 2019-01-28 23:16:19 +00:00
Florian Rival
34b5038bd5 Refactor to use the new ExpressionCodeGenerator (or old one with a flag) 2019-01-28 23:16:19 +00:00
Florian Rival
a9e1120f00 Add gd::ExpressionCodeGenerator::GenerateExpressionCode 2019-01-28 23:16:19 +00:00
Florian Rival
b14238c692 Use ExpressionParser2 for EventsVariablesFinder 2019-01-28 23:16:19 +00:00
Florian Rival
dfe4a75fbd Use ExpressionParser2 for EventsContextAnalyzer 2019-01-28 23:16:19 +00:00
Florian Rival
4fd88072e9 Improve ExpressionParser2 and use it for GenericExpressionField and EventsRefactorer 2019-01-28 23:16:19 +00:00
Florian Rival
f2e6f19c34 Add ExpressionParser2NodePrinter 2019-01-28 23:16:18 +00:00
Florian Rival
66029c62ed Add Variable code generation for ExpressionParser2 2019-01-28 23:16:18 +00:00
Florian Rival
43d78a74bd Enhance ExpressionParser2 and add ExpressionCodeGenerator 2019-01-28 23:16:18 +00:00
Florian Rival
0ec6ebad07 Add ExpressionParser2 and tests 2019-01-28 23:16:18 +00:00
Florian Rival
8743672038 Update links to social network pages/profiles 2019-01-28 23:02:31 +00:00
Florian Rival
3fd032d898 Fix potential crash when deleting events or instructions 2019-01-27 23:54:56 +00:00
Florian Rival
2b40f57189 Fix Duration parameter of Vibrate action 2019-01-24 23:12:37 +00:00
Wend1go
fc3f8a945b Add actions for loading/saving files (raw or JSON) to Filesystem (#884) 2019-01-24 22:04:43 +00:00
Florian Rival
ed24871130 Fix crash in profiler when using a lot of nested groups 2019-01-23 22:12:49 +00:00
Florian Rival
e416fb0586 Merge branch 'master' of github.com:4ian/GDevelop 2019-01-23 21:52:45 +00:00
Florian Rival
5778131deb Improve debugger performance 2019-01-23 21:52:31 +00:00
Todor Imreorov
8e81f78596 Remember zoom/grid/window mask state for scenes and external layouts (#892) 2019-01-23 21:23:09 +00:00
Todor Imreorov
1abdcaf0c0 Warn user when renaming resource that it might break objects (#899) 2019-01-23 19:14:24 +00:00
Florian Rival
4af867ba3a Fix expression transforming structure variable to JSON 2019-01-23 17:47:15 +00:00
Todor Imreorov
f75c2297d7 Fix "Locate File" and related menu options after a resource is renamed (#898) 2019-01-22 19:28:47 +01:00
Florian Rival
72c4f88936 Add screen-shake and update downhill-bike-physics-demo example 2019-01-21 16:48:10 +01:00
Florian Rival
34bcfdfee7 Customize the style of markdown rendered text 2019-01-20 20:54:47 +00:00
Florian Rival
7e78d4de5a Display changelog when launching a new version for first time
* Also display changelog in AboutDialog
2019-01-20 20:54:47 +00:00
Bouh
971b7a2322 Prevent renaming elements with an already existing name in Project Manager (#888) 2019-01-19 17:44:07 +00:00
Todor Imreorov
9a95aabc87 Add --disable-update-check option to disable check for updates (#887) 2019-01-19 16:28:38 +00:00
Florian Rival
53dcfa1cbf Fix enabling/disabling alert messages 2019-01-18 17:45:20 +00:00
Florian Rival
0ed7ccfb72 Set shortcut to close project to Ctrl/Cmd+Shift+W 2019-01-17 17:31:15 +00:00
Florian Rival
0fcd5cbbb9 Bump newIDE version 2019-01-17 17:30:48 +00:00
Florian Rival
fb6b959636 Add downhill-bike-physics-demo example 2019-01-14 22:42:26 +00:00
Florian Rival
1d7f0f9f94 Fix Prettier 2019-01-14 21:54:34 +00:00
Florian Rival
4be527c18a Try to prevent any crash by catching any exception when setting window title 2019-01-14 21:47:03 +00:00
Florian Rival
5e770d460d Merge branch 'master' of github.com:4ian/GDevelop 2019-01-14 21:25:31 +00:00
Florian Rival
73daf0e940 Fix Facebook instant games needing a bundle configuration file 2019-01-14 21:25:22 +00:00
Franco Maciel
58d88835c5 Fix initial motors speed in actions of Physics2 behavior (#872) 2019-01-14 21:09:09 +00:00
Florian Rival
0aa66837d4 Fix login dialog not showing on top of export dialog
Fix #868
2019-01-14 11:29:02 +00:00
Florian Rival
11349086c7 Update all remaining examples from old Physics engine to Physics Engine 2.0 2019-01-13 23:36:29 +00:00
Zat
d3d636744e Fix wheel joint argument definitions (#871) 2019-01-13 22:10:50 +00:00
Bouh
5baf2d9735 Fix sentence a FB Instant Game action (#869) 2019-01-13 19:13:04 +00:00
Florian Rival
d0daf0b5a8 Update bouncing-ball-and-rope example with new Physics engine 2019-01-12 17:35:39 +00:00
Florian Rival
21841e0bce Add Ragdoll example 2019-01-12 17:06:35 +00:00
Florian Rival
417ab2ff3d Gray out the deprecated Physics Engine category in InstructionSelector 2019-01-11 20:04:24 +00:00
Florian Rival
caee5fdcc7 Change default name of Physics2 behavior 2019-01-11 19:48:25 +00:00
Florian Rival
1fbd58fa75 Change wording of the old Physics extension 2019-01-11 19:48:25 +00:00
Florian Rival
389deadac5 Also improve flow typing of Debugger Toolbar
Note that the way translations are done might be changed later, but
this is for reference if needed.
2019-01-11 19:48:25 +00:00
Florian Rival
7d52165a82 Add deprecation alert for instructions of old Physics engine 2019-01-11 19:48:25 +00:00
Florian Rival
5e3e7e25fc Fix opening of ExpressionSelector not showing the top with the search field 2019-01-10 08:35:08 +00:00
Florian Rival
56afb11e2c Hide object drop-down list after an object is selected 2019-01-10 08:26:07 +00:00
Florian Rival
b6a0cfef32 Fix linter warning 2019-01-10 08:10:17 +00:00
Florian Rival
37c3a6d38a Add explicit "OK" button in message box to fix issue on Linux
See #856
2019-01-10 08:07:55 +00:00
Zat
30f830589c Add expressions relative to body to Physics2 behavior (#854) 2019-01-09 09:26:31 +00:00
Florian Rival
5f8546c3b9 Avoid crash of the debugger with Particle Emitters
This is done by using _renderer as the name for the renderer property,
with an underscore, which is filtered by the debugger when the game
is dumped.
2019-01-06 22:59:21 +00:00
Zat
4c2997b2d9 Add missing Physics2Behavior expressions (#848) 2019-01-06 20:43:12 +00:00
Franco Maciel
2338b5bfd6 Use AABB to check if cursor is on object (#852) 2019-01-06 20:23:19 +00:00
Franco Maciel
8a07e9b6c5 Prevent crash with repeated and aligned vertices in Physics2 behavior (#850) 2019-01-06 17:26:43 +00:00
Florian Rival
61303c7cf9 Fix Prettier 2019-01-06 00:59:07 +00:00
Florian Rival
43eaf30750 Fix error in Flow typing in recent Flow versions 2019-01-05 19:01:30 +00:00
Florian Rival
db278485fc Improve Flow typing 2019-01-05 18:42:19 +00:00
Florian Rival
3f5b42dc90 Fix tests of InstructionOrExpressionSelector and make them more robust against changes 2019-01-05 18:38:55 +00:00
Florian Rival
cd285b5676 Display icons in the list of instructions or expressions 2019-01-05 18:11:47 +00:00
Franco Maciel
509ac8966e Prevent undefined vertices in Physics2 behaviors (#845) 2019-01-05 17:03:42 +00:00
Florian Rival
bda2a10b5f Improve Flow typing of InstructionOrExpressionSelector 2019-01-05 17:03:11 +00:00
Florian Rival
841e1a66b6 Fix updating shared properties of Physics2 2019-01-05 13:52:18 +00:00
Franco Maciel
3fc588b6e3 Add a new editor (with Polygon support) for Physics2 engine (#825)
* Physics editor and custom polygon support
* Add shape preview
* Dynamic dimension labels in function of the shape
* Add polygon editor
* Preview box, circle and edge
* Prevent invalid properties values
* Add BehaviorsEditorService
2019-01-05 12:28:45 +00:00
Florian Rival
50ebf6e5a2 Add support for creating objects in JS extensions + example 2019-01-05 12:03:24 +00:00
Florian Rival
cbe33d2bd1 Improve/fix mistakes in gdjs.TextRuntimeObject documentation 2019-01-03 22:45:24 +00:00
Florian Rival
8c8c297adb Make mouse button labels more accessible 2019-01-03 21:07:18 +00:00
Florian Rival
a8d927994b Change the mouse button labels in newIDE 2019-01-03 21:07:18 +00:00
Florian Rival
1fb3231f98 Use constants to represents button in the game engine 2019-01-03 21:07:18 +00:00
Bouh
70a58f1bd4 Fix Middle mouse button handling (#841) 2019-01-03 18:34:03 +00:00
Franco Maciel
302bcb718f Fix initial opacity undefined 2019-01-03 13:59:08 +00:00
Florian Rival
857c706f48 Add help link for PanelSprite object editor 2018-12-30 22:55:11 +01:00
Wend1go
5b5f91c1f9 Add example for screenshot extension (#835) 2018-12-30 21:54:15 +01:00
Wend1go
0652e19190 Brighten up Screenshot icons to better fit the dark theme (#834) 2018-12-30 11:34:25 +01:00
Wend1go
5feb4caa31 Add FileSystem extension (special path, file existence and creating directory) (#828) 2018-12-29 20:11:53 +01:00
Florian Rival
1cd5519b93 Fix snapshot tests 2018-12-29 20:08:56 +01:00
Florian Rival
96761c461d Adapt descriptions of storage actions to make clear that no files are written 2018-12-29 18:27:21 +01:00
Florian Rival
1a82663968 Add dismissable alerts to warn/help the user 2018-12-27 18:50:15 +01:00
Florian Rival
9111b56eb3 Add GetAngle/Get(X|Y)Velocity to top-down behavior 2018-12-27 16:53:44 +01:00
Florian Rival
d7f22bcf26 Update isometric-game example 2018-12-27 14:02:05 +01:00
Florian Rival
b9b0ed812d Update Platformer example 2018-12-27 12:03:00 +01:00
Florian Rival
6734644df4 Fix non prettified files 2018-12-27 12:00:51 +01:00
Florian Rival
ddeff6bfae Add shortcut to open Project Manager and focus search field when opening 2018-12-27 11:56:01 +01:00
Florian Rival
8f10eac512 Fix snapshot tests 2018-12-27 11:37:31 +01:00
Florian Rival
162524f779 Automatically close project manager after opening functions 2018-12-27 11:19:32 +01:00
Wend1go
1da347b08b Add Screenshot extension (for games running on Windows/macOS/Linux) (#806)
* Add functionality to take screenshots, when running on Electron.
2018-12-27 11:07:42 +01:00
Florian Rival
01b7f81507 Fix regression on rounding of platformer object X position and skeleton collision 2018-12-26 23:22:10 +01:00
Florian Rival
5a3d2cc2b9 Reduce iterations of polygon benchmark 2018-12-26 23:22:10 +01:00
Florian Rival
cb659eee6d Add pixel-perfect-platform-engine and update other examples 2018-12-26 23:22:10 +01:00
Florian Rival
0f24410a2e Fix platform engine 1-pixel offset bug
* "Bug" is fixed by ignoring edges when doing collision tests for
the platform engine.
* Also add an option to round coordinates and ensure pixel-perfect
alignement of characters on platforms (on by default)
* Also add an optional parameter to ignore edges when
doing a collision test (or when separating objects)
2018-12-26 23:22:10 +01:00
Todor Imreorov
a31ea1475d Add button to choose a new file for a resource in ResourcePropertiesEditor (#822) 2018-12-26 17:55:59 +01:00
Todor Imreorov
0cecf685ca Autoclose project manager when opening an editor (#826) 2018-12-26 14:36:49 +01:00
Florian Rival
f39af51fda Add benchmark for polygon collision test and add test runner for Firefox 2018-12-26 13:45:45 +01:00
Florian Rival
704eaacc7e Enable back all GDJS tests 2018-12-26 12:52:51 +01:00
Florian Rival
1f7bec0ff1 Add option to set scale mode ("sampling") of the game to nearest ("pixel-perfect") 2018-12-25 23:27:09 +01:00
Florian Rival
69ffa45ea9 Fix touch/mouse handling regression 2018-12-25 21:37:11 +01:00
Florian Rival
2558052a61 Fix visual artifacts when rendering rescaled games.
Artifacts where visible on rescaled games, especially when canvas
was small and the game pixel perfect. This was due to changing
Pixi renderer size instead of scaling the canvas.

For a perfect "pixel perfect" rendering, "image-rendering: pixelated"
would be needed on the canvas (to be added as a game settings)
(see for instance: https://gablaxian.com/articles/creating-a-game-with-javascript/scaling-the-canvas)
2018-12-25 18:15:27 +01:00
Florian Rival
abf40200cb Fix prettier for ExamplesInformation.js (auto-generated file) 2018-12-24 19:36:27 +01:00
Florian Rival
2fd4459364 Add 2 example for the new Physics Engine 2018-12-24 18:34:10 +01:00
Florian Rival
2ed9088b58 Fix lint warnings 2018-12-24 18:02:39 +01:00
Florian Rival
f69b9132ad Add test case for JSON array with numbers 2018-12-24 14:02:58 +01:00
Franco Maciel
fb7d3d589d Fix LShift key code (#823) 2018-12-24 13:19:08 +01:00
Franco Maciel
87acba5105 Fix JSON array parser separators (#819) 2018-12-23 19:17:36 +01:00
Franco Maciel
2d314ff51b Add New physics behavior (Physics2) (#775) 2018-12-23 00:15:25 +01:00
Florian Rival
5054678193 Fix functions list rendering and always shown functions in project manager 2018-12-22 23:44:25 +01:00
Todor Imreorov
aaf9d318a9 Add error color to resources with missing files (#818) 2018-12-22 22:52:34 +01:00
Florian Rival
cc92445d4c Update READMEs with more links/information/commands 2018-12-22 16:39:19 +01:00
Florian Rival
1649591442 Add check-format to check non prettified files and add it to TravisCI 2018-12-22 12:09:04 +01:00
Florian Rival
77faff3919 Upgrade Prettier and run Prettier on newIDE/app/src to fix some files 2018-12-22 11:41:50 +01:00
Florian Rival
873280d818 Fix tests after libGD.js update 2018-12-22 00:05:21 +01:00
Florian Rival
238b6a2a09 Fix un/serialization of JSON arrays by gd::Serializer 2018-12-21 21:02:13 +01:00
Florian Rival
98d0d5102e Bump newIDE version 2018-12-20 22:05:25 +00:00
Florian Rival
47818846e7 Fix Jfxr not opening 2018-12-20 21:56:27 +00:00
Florian Rival
8276eda243 Bump newIDE version 2018-12-20 17:51:36 +00:00
Todor Imreorov
ca2e00bd91 Add input for setting FPS for animation playback speed (#814) 2018-12-20 16:08:44 +00:00
Franco Maciel
6177b0197e Don't load AdMob ads if already loading/showing (#817) 2018-12-19 15:20:04 +00:00
Florian Rival
fb65b56cb7 Remove Submit Your Example button from web-app 2018-12-18 08:46:26 +00:00
Todor Imreorov
6f780f79e9 Add field to change time between frames to AnimationPreview (#811) 2018-12-18 08:44:29 +00:00
Florian Rival
d31f0793d5 Set default time between frames to 0.08 2018-12-18 08:14:20 +00:00
Todor Imreorov
88c88ad1eb Add menu item to remove all resources with invalid paths (#812) 2018-12-17 21:25:39 +00:00
Franco Maciel
4202e2672d Add actions to set Sprite size in pixels (#808) 2018-12-17 16:45:47 +00:00
Florian Rival
f29cc503bf Fix version number not properly applied to Android/Cordova builds
Fix #804
2018-12-16 13:58:26 +00:00
Florian Rival
1aa81949ce Fix AdMob extension not loaded in web-app 2018-12-16 12:56:30 +00:00
Florian Rival
4593f09131 Fix empty menu options shown in scene editor context menu 2018-12-16 12:49:47 +00:00
Florian Rival
782ea0e0af Fix right click in CodeEditor that could trigger the event context menu 2018-12-16 12:42:17 +00:00
Florian Rival
8e893e660b Add hint text on ObjectSelector 2018-12-16 12:28:51 +00:00
Florian Rival
384346c54e Fix horizontal scrollbar displayed in events + prettify EventsSheet.css 2018-12-16 12:25:04 +00:00
Florian Rival
df3920cce3 Fix link to help page for mouse action/conditions 2018-12-16 12:17:29 +00:00
Florian Rival
6e9ff4b682 Bump newIDE version 2018-12-11 21:26:07 +00:00
Todor Imreorov
df161c48fd Fix Piskel loading (#795)
Fix #792
2018-12-11 21:21:11 +00:00
Florian Rival
ee6a337e71 Bump the GDJS version used for web-app 2018-12-11 00:23:20 +00:00
Florian Rival
d5146a0c65 Bump newIDE version 2018-12-10 23:37:13 +00:00
Florian Rival
eae4683c4f Add plane-and-clouds and bouncing-ball-and-rope examples 2018-12-10 23:34:28 +00:00
Florian Rival
dec96a2f3a Add condition to check if Facebook Instant Games ads are supported 2018-12-10 23:22:44 +00:00
Florian Rival
9610eeb6e5 Add support for interstitial and reward video in Facebook Instant Games 2018-12-10 23:12:03 +00:00
Todor Imreorov
213cd0a8c7 Add options to locate/open/copy path of a resource in ResourcesList 2018-12-10 20:59:28 +00:00
Todor Imreorov
8a117c1813 Add support for Piskel layers (+scan/remove unused font/audio) (#731)
* Layers are stored as resource metadata (for single frame) or Direction metadata (for more than one frame). If metadata is detected, use it to load the frames with layers
* Add options to scan for fonts and remove unused audio and fonts.
2018-12-05 16:32:10 +00:00
Franco Maciel
73ff10bb1f Fix issue with draggable behavior when object is deleted while dragging (#779) 2018-12-01 15:40:39 +00:00
Franco Maciel
300efbbd5c Update forces pre-events, fixing issues like offsets in positioning (#776) 2018-11-30 19:18:30 +00:00
Florian Rival
2e240643a2 Make access to variables 50% faster 2018-11-28 23:12:07 +00:00
Florian Rival
aa16e90aac Fix potential memory corruption with JsCodeEvent (in GDevelop.js) 2018-11-28 22:15:58 +00:00
Florian Rival
137ffc2b84 Optimize and rename clearing to multiplier in gdjs.Force 2018-11-28 21:41:11 +00:00
Florian Rival
34b460e968 Fix typo 2018-11-28 21:41:11 +00:00
Florian Rival
30cb0bcfb3 Add forceMultiplier parameter type and add specific field for it in parameters 2018-11-28 21:41:11 +00:00
Florian Rival
1b7a667c79 Improve description of opacity and other actions/conditions 2018-11-25 19:55:20 +01:00
Florian Rival
9a4655eefc Improve conditions/actions to explain that opacity is in 0-255 range 2018-11-25 19:48:46 +01:00
Florian Rival
ca9a0d3d37 Prevent time between frames to be set too low or to 0 in SpriteEditor 2018-11-25 19:38:29 +01:00
Florian Rival
10d8d6c4a8 Make explicit when scene variables are being used in conditions/actions 2018-11-25 19:24:30 +01:00
Florian Rival
a7f4da8e40 Merge branch 'master' of github.com:4ian/GDevelop 2018-11-25 14:21:21 +01:00
Wend1go
40b3c688d1 Add 400% zoom option to scene editor (#768)
Ideal for pixelart games with 16x16px sprites
2018-11-25 14:15:52 +01:00
Florian Rival
fc340b9477 Add ColorExpressionField 2018-11-23 17:59:39 +00:00
Florian Rival
cc810b3e9f Fix empty icons in Cordova config.xml resulting in build failure 2018-11-21 22:25:06 +00:00
Florian Rival
7d165660a5 Fix rendering of ShapePainterRuntimeObject with absolute coordinates when far from camera
Fix #750
2018-11-21 00:31:37 +00:00
Florian Rival
8d35bbbfdf Update package-lock for electron-app 2018-11-19 23:47:28 +00:00
Florian Rival
8ebff3c15e Bump newIDE version 2018-11-19 23:41:03 +00:00
Florian Rival
a00fff9376 Upgrade to Electron 3.0.9 (#754) 2018-11-19 23:39:08 +00:00
Florian Rival
32f56f3366 Fix typo 2018-11-19 09:36:34 +00:00
Florian Rival
09eab9eb46 Fix ShapePainter hitboxes/aabb not updated when moved 2018-11-17 19:10:57 +00:00
Florian Rival
9fe379d073 Make games exported on Android fullscreen 2018-11-17 15:07:19 +00:00
Florian Rival
f21fbd9871 Fix typo 2018-11-15 10:52:22 +00:00
Oneoeigh
f38dfd1211 Improving wording in README.md (#743)
Slight changes to make it easier to understand
2018-11-14 00:30:10 +00:00
Florian Rival
eefc656d49 Add support for adding filter to icons on themes 2018-11-14 00:12:16 +00:00
Florian Rival
1490b34650 Update link to download libGD.js 2018-11-13 23:54:24 +00:00
Florian Rival
ff496c65a5 Merge pull request #742 from 4ian/feature/font-resource
Rework fonts loading
2018-11-13 23:33:18 +00:00
Florian Rival
e9a3e801f7 Update gdjs.FontManager to support files for Cocos2d-JS 2018-11-13 23:24:49 +00:00
Florian Rival
4f8401ab1a Update PixiResourcesLoader to handle font resource in editor 2018-11-13 22:45:38 +00:00
Florian Rival
871b01124f Refactor ResourcesInUseHelper and TextObject for exposing fonts 2018-11-13 22:13:40 +00:00
Florian Rival
45d2844d8b Add FontResource and rework loading to ensure all fonts are properly loaded
* Add FontManager to the game engine, used to load and get access to loaded fonts.
* Use fontfaceobserver library to detect when a font is loaded.
* Add FontResource as a resource, like AudioResource.
* Update the TextEditor to use a selector for fonts.
* Refactor ResourceSelector floating label text
2018-11-12 23:45:01 +00:00
Florian Rival
566517320d Increase benchmarks timeout to avoid timeout on CI 2018-11-11 22:08:34 +00:00
Florian Rival
15773bca85 Fix unserialization of metadata of Direction 2018-11-11 21:10:42 +00:00
Florian Rival
a48d7017ea Bump newIDE version 2018-11-08 22:15:09 +00:00
Florian Rival
7d1f52ded4 Fix tests broken since AdMobObject extension was removed 2018-11-05 18:58:32 +00:00
Florian Rival
569adc1500 Fix ReosurcesMergingHelper wrongly modifing extensions of files having filename conflicts during export 2018-11-05 18:52:23 +00:00
Florian Rival
e6eb193e8e Add Get/SetMetadata to Sprite's Direction 2018-11-05 16:36:54 +00:00
Florian Rival
b8c63dade1 Add jfxr-editor to the list of git ignored folder 2018-11-05 16:36:11 +00:00
Todor Imreorov
82f92d36f1 Replace Jsfx by Jfxr sound effects generator (#716)
Jfxr yields better results and has a better interface
2018-11-03 21:40:15 +00:00
Florian Rival
6b17c1febd Add new example for the AdMob extension 2018-10-31 23:45:10 +00:00
Florian Rival
95882d1289 Remove AdMobObject extension (replaced by AdMob extension) 2018-10-31 23:11:04 +00:00
Florian Rival
70340bba7f Fix typo and floating label 2018-10-31 22:05:55 +00:00
Florian Rival
c809be9a07 Fix cordova version for AdMob extension 2018-10-31 22:05:37 +00:00
Franco Maciel
cc7b0f524e Add a new AdMob extension (#702)
* Add AdMob application ID to the project
* Export AdMob application ID with Cordova
* Switch to cordova-plugin-admob-free
* Add banners and interstitials support
2018-10-31 00:08:43 +00:00
Florian Rival
a61784bb6c Add validation for function parameters names 2018-10-28 06:41:09 -07:00
Florian Rival
3f92fc2ee5 Add support for key and mouse parameters in functions 2018-10-28 06:41:09 -07:00
Florian Rival
a4c08305c7 Improve UI of function parameters 2018-10-28 06:41:09 -07:00
Florian Rival
067798ff2c Fix EventsSheet toolbar buttons when navigating between functions 2018-10-28 06:41:09 -07:00
Florian Rival
7a838fc8f9 Refactor GDJS benchmarks 2018-10-28 06:41:09 -07:00
Florian Rival
e669190ca2 Add commented lines that can be uncomment to display debug draw 2018-10-28 06:41:09 -07:00
Florian Rival
b84bb8630a Improve accuracy/performance of various computations and add benchmarks
Add tests for gdjs.Force
Add tests for gdjs.Layer
2018-10-28 06:41:09 -07:00
Florian Rival
fb849be246 Fix AABB computation for rotate objects
AABB was not properly computed for rotated objects or objects
with a non default center/origin. This could create issues while checking
collisions and for behaviors/logic relying on spatial hashing (platformer,
pathfinding).

* Add benchmark to compare the speed of the implementation for non rotated object
(simple/faster) and for rotated objects (always exact but 12-15% slower).
* Add a method to render AABB of objects to ease debugging.
* Also add a test game.
* Add tests for AABB
* Add tests for getHitboxes for gdjs.SpriteRuntimeObject
2018-10-28 06:41:09 -07:00
Florian Rival
382aa0f086 Bump newIDE version 2018-10-22 22:43:31 +01:00
Florian Rival
303873974c Improve grammar/wording/typos in SubscriptionDetails 2018-10-22 22:18:47 +01:00
Florian Rival
9f0ec46064 Fix GetArgumentAsString (and fix test game using it) 2018-10-22 22:03:32 +01:00
Wend1go
9b2fa5d080 Fix typos/grammer (#710) (#713)
Thanks to @ValiantCuriosity (See #710)
2018-10-22 21:38:57 +01:00
Florian Rival
93611d8642 Bump newIDE version 2018-10-21 21:29:29 +01:00
Florian Rival
a0f15817ca Ensure functions are shown in Project Manager when they are some (even if option deactivated in preferences) 2018-10-21 21:29:00 +01:00
Florian Rival
6323aefb6b Ensure user is asked to close the project and switch to use native dialog 2018-10-21 21:19:37 +01:00
Florian Rival
6bdc0f3961 Bump newIDE version 2018-10-21 19:10:25 +01:00
Florian Rival
905a459ea2 Handle proper generation of functions using functions (two passes extensions generation) 2018-10-21 19:10:05 +01:00
Florian Rival
eb67604ca6 Update information about examples 2018-10-21 16:14:48 +01:00
Florian Rival
63077c7cef Update examples for functions 2018-10-21 16:12:11 +01:00
Florian Rival
2fed5b9a8b Fix error reporting in import-XXX.js scripts 2018-10-21 15:49:55 +01:00
Florian Rival
88b4b3860b Fix jsfx not loading when electron app is built, due to ES modules loading restrictions with file protocol 2018-10-21 15:46:47 +01:00
Florian Rival
e295efac7f Fix issue where jsfx wasn't properly loaded 2018-10-21 12:35:19 +01:00
Florian Rival
c5554d05fd Fix import-jsfx-editor and add jsfx sources to .gitignore 2018-10-20 20:29:21 +01:00
Florian Rival
6a163a59ca Merge pull request #695 from blurymind/master
Add jsfx sound effects editor
2018-10-20 20:24:56 +01:00
Florian Rival
9f5b63bad9 Fix object creation in functions and add space-shooter-with-functions example 2018-10-20 18:29:36 +01:00
Florian Rival
35aa78ea35 Fix long action/condition words not breaking properly 2018-10-20 16:31:01 +01:00
Todor Imreorov
82442fe618 expose background color in modalWindow, add option to wait for dom...
...to load before showing the window
2018-10-19 19:01:11 +01:00
Florian Rival
9dabcbd1f1 Update Level Editor example for web-app 2018-10-18 23:32:49 +01:00
Florian Rival
7f0fce5f6d Update Level Editor example to use functions 2018-10-18 23:28:14 +01:00
Florian Rival
90baf3cdb5 Add support for events functions on the web-app (BrowserS3EventsFunctionWriter) 2018-10-18 23:19:41 +01:00
Florian Rival
cccbb0e61b Fix Flow in ProjectManager 2018-10-18 22:39:25 +01:00
Florian Rival
702f1b529f Make ProjectManager display if errors occurred in functions generation 2018-10-18 22:28:09 +01:00
Florian Rival
fcc9740a77 Improve typing and remove muiThemeable in ProjectManager 2018-10-18 21:30:02 +01:00
Florian Rival
094bdb60f6 Merge branch 'master' of github.com:4ian/GDevelop 2018-10-18 21:12:57 +01:00
Florian Rival
215044cafe Avoid potential non-stopping re-rendering of events with height 0 2018-10-18 21:12:10 +01:00
Todor Imreorov
4d0185de9d fix flow, apply review notes, cleanup
should pass flow test now
2018-10-18 18:01:41 +01:00
Florian Rival
557f1da2c1 Add 3 examples 2018-10-17 23:54:10 +01:00
Todor Imreorov
becddeab9f jsfx and path editor- get rid of global variable, use parameters
This commit minimizes the use of global variables in jsfx-main and the patheditor
2018-10-17 21:08:17 +01:00
Todor Imreorov
ec6628baba apply review notes wip 2018-10-16 20:22:08 +01:00
Florian Rival
3289285a37 Fix missing support for Escape key in GDJS 2018-10-15 21:15:20 +01:00
Todor Imreorov
c4047702ed tweak jsfx window
size, notes, ui
2018-10-15 19:27:29 +01:00
Todor Imreorov
3c21e33928 Refactor code to use new html5 src es-module option
- also further clean up code and apply @4ian's advice
- loading is now much more robust
- setting and getting metatags is much more robust now

more on the new es-modules option in browsers:
https://jakearchibald.com/2017/es-modules-in-browsers/
2018-10-15 19:05:45 +01:00
Todor Imreorov
25f5550666 more cleanup 2018-10-13 22:00:21 +01:00
Todor Imreorov
2b7caf5fac further cleanup 2018-10-13 21:49:49 +01:00
Todor Imreorov
29f7525290 clean up 2018-10-13 21:43:55 +01:00
Todor Imreorov
80aa1ebec8 Add jsfx sound effects editor, refactor some of piskel's code to
make it easier to reuse
2018-10-13 21:29:20 +01:00
Florian Rival
af7f13c0b8 Add Get/SetMetadata on gd::Resource 2018-10-11 23:39:48 +01:00
Florian Rival
4e71030103 Implement move/delete events functions and clean up various things 2018-10-09 23:06:19 +01:00
Florian Rival
b3b7f181fa Merge pull request #678 from 4ian/feature/events-function-extension
Events functions
2018-10-09 08:58:34 +01:00
Florian Rival
4138f5f4aa Fix compilation of EventStoreDialog 2018-10-09 01:00:00 +01:00
Florian Rival
f302989b9d Fix compilation for GDC++ Runtime 2018-10-09 00:54:12 +01:00
Florian Rival
0f7c2c43cf Fix tests 2018-10-09 00:47:56 +01:00
Florian Rival
04b37bebf7 Update TODO 2018-10-09 00:40:24 +01:00
Florian Rival
a12d999e7b Fix flow 2018-10-09 00:32:37 +01:00
Florian Rival
cad23ed67c Update libGD.js and clean a bunch of TODOs 2018-10-09 00:24:52 +01:00
Florian Rival
f059728fdb Add Help and allow to activate Events Functions from preferences
Move EventsFunction related files and add documentation too
2018-10-09 00:06:37 +01:00
Florian Rival
545676b1f2 Allow user to select types of objects for functions + update parameters design 2018-10-08 22:21:38 +01:00
Florian Rival
48d99457e5 Add refactoring of the project when renaming expression events function 2018-10-08 22:21:38 +01:00
Florian Rival
c2c961f1d4 Fix bad call to gd.Project.validateObjectName 2018-10-08 22:21:38 +01:00
Florian Rival
04131e1795 Remove useless console.log 2018-10-08 22:21:37 +01:00
Florian Rival
53a5dc1742 Add action to set function return value and expressions to get arguments
Also fix unselection of an event function in IDE
2018-10-08 22:21:37 +01:00
Florian Rival
a790be3c37 Fix TrueFalseField not formatting parameter value properly 2018-10-08 22:21:37 +01:00
Florian Rival
6772fecc2e Add test game for events functions 2018-10-08 22:21:37 +01:00
Florian Rival
3244cbd8ad Add refactoring of the project when renaming events function / extension 2018-10-08 22:21:37 +01:00
Florian Rival
066f2b0fea Unload Events Functions Extensions when closing a project 2018-10-08 22:21:37 +01:00
Florian Rival
f370b8b78b Add gdjs.objectsListsToArray and OptionsEditorDialog for EventsFunctionsExtensionEditor 2018-10-08 22:21:37 +01:00
Florian Rival
e24daa4dc3 [WIP] Allow to select event function type and improve editor 2018-10-08 22:21:37 +01:00
Florian Rival
f889c9fc0a [WIP] Add LocalEventsFunctionWriter for functions JS files generation and EventsFunctionConfigurationEditor 2018-10-08 22:21:36 +01:00
Florian Rival
cdc374df9c Use UI/Background instead of material-ui's Paper component 2018-10-08 22:21:36 +01:00
Florian Rival
d60efd2394 [WIP] Add search in EventsFunctionsList 2018-10-08 22:21:36 +01:00
Florian Rival
d448ffb8f2 [WIP] Add EventsFunctionsExtensionEditor 2018-10-08 22:21:36 +01:00
Florian Rival
eb31be67ed [WIP] Adding EventsFunctionsExtensions support to newIDE 2018-10-08 22:21:36 +01:00
Florian Rival
23b4e2c026 Add EventsFunction and EventsFunctionsExtension 2018-10-08 22:21:36 +01:00
Florian Rival
1381ead3b4 [WIP] Add typing to EventsTree 2018-10-08 22:21:35 +01:00
Florian Rival
5377708093 [WIP] Make InstructionEditor and EventsSheet use gd.ObjectsContainer 2018-10-08 22:21:35 +01:00
Florian Rival
e7afebf722 [WIP] Make ObjectSelector and EventsSearcher use gd.ObjectsContainer 2018-10-08 22:21:35 +01:00
Florian Rival
7915d3ba59 [WIP] Make layout/project optional for ParameterFields and add flow typing 2018-10-08 22:21:35 +01:00
Todor Imreorov
c11cc80488 Add button to rotate the selected instances in InstancesEditor (SceneEditor) (#691) 2018-10-08 20:05:28 +01:00
Lizard-13
a33b421de4 Expose particles rotation speed option (#688) 2018-10-05 17:56:44 +01:00
Florian Rival
852d91b745 Update --feature-request.md 2018-10-03 13:09:52 +01:00
Todor Imreorov
df78d5e096 Add a command to invert conditions to the event sheet context menu (#686) 2018-10-03 00:16:15 +01:00
Florian Rival
7718132510 Add support for submenu in ContextMenu of web-app 2018-10-02 22:58:27 +01:00
Todor Imreorov
af00760d3e Add 'other' menu item to EventSheet's context menu (#684) 2018-10-02 22:12:02 +01:00
Todor Imreorov
c88c05f737 Add event, subevent and comment commands in EventsSheet's context menu (#681) 2018-09-30 18:51:10 -04:00
zachThePerson
e3b446cee0 Fix CopyRuntimeToGD.bat when using path with spaces (#673) 2018-09-28 07:42:00 -07:00
Florian Rival
721c31adc9 Simplify SceneEditor _onSelectInstances method 2018-09-28 07:39:46 -07:00
Todor Imreorov
e5c4580483 Fix selection of instances on hidden layers (#671)
Fix #661
2018-09-28 07:24:15 -07:00
Todor Imreorov
4c0d46ae2c Snap position of objects to the grid when inserted (#662) 2018-09-26 19:19:09 -07:00
Florian Rival
d05f2b9674 Add flow typing for SceneEditor and History 2018-09-23 11:13:22 -07:00
Lizard-13
566540133d Add word wrapping for Text Object (#658) 2018-09-23 11:45:18 +01:00
Todor Imreorov
45533cf163 Add "Add Instance of [...]" menu option in SceneEditor (#656) 2018-09-22 16:32:22 +01:00
Florian Rival
ad83d7d08f Merge pull request #654 from 4ian/optimization/avoid-update-project-manager-tabs
Avoid updates in project manager and tabs when they are not visible
2018-09-22 13:12:51 +01:00
Florian Rival
d755e10368 Fix Travis badge in README 2018-09-20 16:59:14 +01:00
Florian Rival
6543544dc1 Avoid updates in project manager and tabs when they are not visible 2018-09-20 00:30:24 +01:00
Florian Rival
6cd9e4b4d9 Merge pull request #650 from 4ian/feature/drop-instance-from-objects-list
* Add support for creating instances by dropping objects from objects list
* Update React to 16.5.1
* Use pointer events instead of mouse events when possible for better touch compatibility.
2018-09-19 23:39:18 +01:00
Florian Rival
b5b90cc838 Reduce distance before dragging list items 2018-09-19 00:06:03 +01:00
Florian Rival
c4be6f6522 Fix highlighted objects not cleared after deleting instances 2018-09-19 00:06:03 +01:00
Florian Rival
fd3698f590 Enable higlighting of a selection of multiple instances (=multiple objects) 2018-09-19 00:06:03 +01:00
Florian Rival
0fdbe19641 Improve compatibility with touch screen of CollisionMasksPreview and PointsPreview 2018-09-19 00:06:03 +01:00
Florian Rival
48e1d04fb6 Update react-dom to 16.5.1 2018-09-19 00:06:03 +01:00
Florian Rival
677478b4a2 Fix selection clearing not updating properties editor 2018-09-19 00:06:03 +01:00
Florian Rival
fc3826d472 Upgrade to React 16.5.1 2018-09-19 00:06:02 +01:00
Florian Rival
d135447e00 Remove dead code and fix typos 2018-09-19 00:06:02 +01:00
Todor Imreorov
856d7cdb46 Highlight the selected object when an instance is selected from the scene editor (#651) 2018-09-19 00:06:02 +01:00
Florian Rival
c2151149d4 Add support for creating instances by dropping objects from objects list 2018-09-19 00:06:02 +01:00
Florian Rival
9de604bd50 Fix action to open URL 2018-09-18 23:55:42 +01:00
Florian Rival
a4899cf030 Fix "Edit Object"/"Delete" options available even without selection 2018-09-16 23:56:29 +01:00
Florian Rival
483090dd32 Fix "Edit Object" in SceneEditor 2018-09-16 23:45:06 +01:00
Florian Rival
0e4304f3d7 Merge branch 'master' of github.com:4ian/GDevelop 2018-09-16 23:43:24 +01:00
Todor Imreorov
9050bfbc6f Add ''Edit Object" and "Delete" options to context menu (#648)
This will make it easier to edit the object of the selected instance in the instances editor, without having to find it in a long list of objects.
2018-09-16 17:35:17 +01:00
Todor Imreorov
32869c0588 Fix error in InstancesEditor (#646)
Fix #645
2018-09-16 11:38:58 +01:00
Florian Rival
f7f08f762d Rename ObjectGroupsList/ObjectGroupEditor to fix typo 2018-09-16 02:14:24 +01:00
Kenny
b19ffb93e0 Add "No Grid snap" keyboard Shortcut (#640)
When alt is pressed, objects can be moved without snapping to the grid.
2018-09-14 14:54:29 +01:00
Todor Imreorov
63a06a4bad Add options to scan for new image resources or remove unused images (#634)
Also add the use of relative paths to name imported/created resources.
2018-09-13 23:24:19 +01:00
Todor Imreorov
12efa6641c Improve cloneAndBuild batch script (#638)
Check if GDevelop electron-app is already built. If it is already built, the script will skip the "npm install" step and will start GDevelop much faster.
2018-09-13 22:08:47 +01:00
Wend1go
edfe915ae5 Add PanelSprite JavaScript function annotations (#637) 2018-09-12 14:19:05 +01:00
Wend1go
2e1509a16b Add DestroyOutsideBehavior JavaScript function annotations (#636) 2018-09-12 14:04:53 +01:00
Florian Rival
2ce1d1b428 Merge branch 'master' of github.com:4ian/GDevelop 2018-09-11 22:35:10 +01:00
Todor Imreorov
0f022e6f8d Update git clone URL in build script and in readme (#633) 2018-09-11 21:46:44 +01:00
Florian Rival
715223d5e6 Add DeviceVibration to the list of extensions loaded in web-app 2018-09-11 08:40:57 +01:00
Florian Rival
65fbd0017d Bump newIDE version 2018-09-11 08:33:54 +01:00
Florian Rival
3cd47c674a Protect against potential crash in PropertiesEditor 2018-09-10 23:10:48 +01:00
Florian Rival
bc5b0b4c9a Fix undo/redo not working properly when moving events 2018-09-10 23:10:31 +01:00
Florian Rival
0c856e72a9 Add warning to prevent objects to be given an invalid name 2018-09-10 21:14:51 +01:00
Florian Rival
ebb2fd36ba Update libGD.js download link 2018-09-10 20:18:00 +01:00
Florian Rival
7722657d2c Add option to serve local folder with https 2018-09-09 23:44:30 +01:00
Florian Rival
f61f525e61 Update GitHub links from 4ian/GD to 4ian/GDevelop 2018-09-09 22:29:32 +01:00
Florian Rival
737b913bce Bump the GDJS version used for web-app 2018-09-09 22:11:32 +01:00
Florian Rival
baca8e900f Merge pull request #626 from 4ian/feature/events-backed-extensions
Refactor EventsCodeGenerator to allow generation without a layout
2018-09-09 22:02:30 +01:00
Florian Rival
dc27d5f962 Rename gd::ClassWithObjects to gd::ObjectsContainer 2018-09-09 21:28:26 +01:00
Florian Rival
2f0d01e577 Fix compilation errors 2018-09-09 21:26:07 +01:00
Florian Rival
026d48b86b Remove useless GDevelop.js related code in index.html 2018-09-09 16:47:09 +01:00
Florian Rival
67c051e9d8 Improve events function code generation and refactor OnceTriggers handler 2018-09-09 16:21:35 +01:00
Florian Rival
b79ab3c829 Refactor some part of code generation into specific functions 2018-09-09 16:21:35 +01:00
Florian Rival
09095a257a Add ParameterMetadataTools to generate an object container from parameters 2018-09-09 16:21:35 +01:00
Florian Rival
dc0b1e99ce Remove dead code in gdjs.EventsContext 2018-09-09 16:21:35 +01:00
Florian Rival
326ec9cac0 Abstract gd::Project/gd::Layout out of code generation 2018-09-09 16:21:35 +01:00
Florian Rival
6e605eacf0 Merge branch 'master' of github.com:4ian/GD 2018-09-09 12:13:06 +01:00
Florian Rival
dd92fe2e9b Add link to https://gametemplates.itch.io/ in AboutDialog 2018-09-09 12:12:50 +01:00
Wend1go
1c39293509 Add device motion to sensor extension (#615)
* Move deviceSensors into `gdjs` namespace to make them more accessible.
* Rename `devicesensors` to `deviceSensors`.
* Add motion sensor to deviceSensor extension
* Add device motion sensor
* Remove isActive expressions from orientation and motion
* Use boolean for [...]IsActive functions again
2018-09-08 18:40:53 +01:00
Florian Rival
b0bf191f75 Ensure AutoComplete keep focus after Enter and give focus to first field in InstructionParametersEditor, if any 2018-09-06 23:17:37 +01:00
Florian Rival
7d31afb4ab Focus first field after pressing Enter when searching for a condition/action 2018-09-06 22:27:39 +01:00
Florian Rival
b44289dae6 Add support for dragging points in PointsPreview 2018-09-05 23:00:46 +01:00
Florian Rival
a969d85fba Add support for dragging vertex of hit boxes 2018-09-05 22:12:38 +01:00
Florian Rival
90ffa90c8c Add option to duplicate selected sprites in SpriteEditor 2018-09-04 23:48:03 +01:00
Florian Rival
3bd24daabc Don't highlight No button when no choice is made in YesNoField 2018-09-04 23:29:06 +01:00
Florian Rival
4b73489d34 Refactor EmptyMessage to use BackgroundText 2018-09-04 22:58:01 +01:00
Florian Rival
35991de8f0 Add a bunch of components to stories of Storybook 2018-09-04 22:24:52 +01:00
Todor Imreorov
e9bf8ff309 Add a build and run Windows batch script in /scripts folder (#611) 2018-09-04 19:48:43 +01:00
Florian Rival
a95a6eb128 Enable undo/redo shortcuts in EventsSheet 2018-09-03 22:39:36 +01:00
Florian Rival
698c6b6cb4 Add device-vibration and move-object-with-mouse-joint 2018-09-03 22:12:58 +01:00
Florian Rival
e184a70cd2 Remove dead code in StartPage 2018-09-03 21:53:50 +01:00
Florian Rival
c486bcea73 Fix DropIndicator slightly moving instructions because of a bad negative margin 2018-09-03 21:18:50 +01:00
Florian Rival
d7a11541f2 Merge branch 'master' of github.com:4ian/GD 2018-09-03 21:10:48 +01:00
Florian Rival
3075ff9639 Fix scrolling offset lost when navigating between tabs (+ add test story for it) 2018-09-03 21:10:01 +01:00
Wend1go
8cad5d7646 Add vibration extension for mobile devices (#610) 2018-09-01 21:02:06 +01:00
Bouh
39e55d9f34 Fix indicator color when drag'n'dropping instructions (#608)
Fix #600
2018-08-31 10:11:39 +01:00
Florian Rival
4975a340d5 Fix tests 2018-08-31 09:44:44 +01:00
Florian Rival
3113df2ed0 Bump newIDE version 2018-08-30 21:40:37 +01:00
Florian Rival
563bc6c64c Fix particle texture not properly handled/corrupted in GD5 2018-08-30 21:38:44 +01:00
Florian Rival
809f3d168a Update path to GDJS for web-app 2018-08-30 21:27:12 +01:00
Florian Rival
a1ea7ad0e3 Add Objects Timers example to GD5 and remove now deprecated example 2018-08-30 21:24:15 +01:00
Florian Rival
642e64d3ea Merge branch 'master' of github.com:4ian/GD 2018-08-30 00:02:43 +01:00
Florian Rival
88486449fb Fix grid resizing and protect against negative values in grid size 2018-08-30 00:02:21 +01:00
Lizard-13
0c31e5ad44 Add object timers for GDJS (#604) 2018-08-29 23:29:20 +01:00
Florian Rival
41bd9f670d Merge pull request #603 from Wend1go/patch-2
Add annotations to Platformer Object
2018-08-29 11:08:22 +01:00
Wend1go
0e9dfb3889 Add annotations to Platformer Object 2018-08-29 11:59:42 +02:00
Florian Rival
55b406c0ac Merge pull request #602 from Wend1go/patch-1
Add annotations to TiledSprite object
2018-08-29 09:40:05 +01:00
Wend1go
75fac21939 Add annotations to TiledSprite object 2018-08-29 10:24:28 +02:00
Florian Rival
138f2692d0 Merge pull request #601 from Lizard-13/master
Fix old IDE instructions help links
2018-08-29 09:00:57 +01:00
Lizard-13
e058466b8f Fix old IDE instructions help links 2018-08-28 23:26:55 -03:00
Florian Rival
85d182bb78 Add Facebook Instant Game example (Thanks @Bouh!) 2018-08-28 22:30:21 +01:00
Florian Rival
46338bf314 Bump newIDE version 2018-08-28 00:32:32 +01:00
Florian Rival
0a7880f98e Fix monaco-editor/vs/loader.js breaking libraries (as defining "define" globally) 2018-08-28 00:27:31 +01:00
Florian Rival
38ae17595e Update newIDE README 2018-08-27 23:29:09 +01:00
Florian Rival
545caa1dbd Bump newIDE version 2018-08-27 23:25:44 +01:00
Florian Rival
3be23212a6 Fix invalid verification of object name leading to memory corruption (libGD.js) 2018-08-27 23:05:51 +01:00
Florian Rival
54b6bf969c Clone drag'n'dropped instructions when Ctrl (or Cmd) is pressed 2018-08-27 22:07:48 +01:00
Lizard-13
d449a478f5 Fix behavior activated condition (#597) 2018-08-27 21:45:12 +01:00
Florian Rival
b410a1e1b3 Merge pull request #596 from 4ian/feature/instructions-dnd
Add support for drag'n'dropping (multiple) conditions and actions
2018-08-27 20:48:50 +01:00
Florian Rival
6d6d86a325 Fix selected events being deleted after drag'n'dropping instructions 2018-08-27 20:46:44 +01:00
Florian Rival
291d6663f2 Avoid calling drop/moveSelectionToInstructionsList more than once 2018-08-27 11:49:57 +01:00
Florian Rival
4ab27e0954 Fix flow typing of authentification 2018-08-27 01:33:06 +01:00
Florian Rival
28ffcf923b Display red indicator if drop can't be done (actions on conditions and vice-versa) 2018-08-27 01:18:05 +01:00
Florian Rival
af5faa2e10 Add drag'n'drop support for instructions 2018-08-27 01:09:22 +01:00
Florian Rival
4bfdc4a2a1 Add flowtype definition for multiple dependencies 2018-08-27 00:52:33 +01:00
Florian Rival
c6141322c5 Avoid potential memory issues by limiting undo/redo history to 50 states 2018-08-26 16:05:32 +01:00
Florian Rival
59f8421a03 Fix potential memory (libGD.js) corruption/crashs by clearing selection after undo/redo in SceneEditor 2018-08-26 15:32:09 +01:00
Florian Rival
b217f80c23 Prevent negative width/height when resizing + fix properties not updated 2018-08-26 15:04:01 +01:00
Florian Rival
70635d1655 Fix modifier key like Shift wrongly detected as pressed in scene editor focused out while pressed 2018-08-26 14:30:32 +01:00
Florian Rival
9dfbe94c13 Round width/height when resizing to avoid floating values in instance sizes 2018-08-26 14:12:12 +01:00
Florian Rival
7244885fd6 Fix React warning 2018-08-26 12:22:58 +01:00
Florian Rival
f8e5ac7828 Fix selected object not highlighted in Objects list 2018-08-26 12:22:28 +01:00
Florian Rival
030f873433 Add missing description for two examples 2018-08-26 02:19:36 +01:00
Florian Rival
74e5b4862e Add menu items to move up/down layout/external events/external layouts 2018-08-26 02:19:13 +01:00
Florian Rival
87f20b82f1 Allow case insensitive search in examples 2018-08-25 17:12:37 +01:00
Florian Rival
992c00c096 Add descriptions for all examples and fix typo in Breakout example name 2018-08-25 17:02:33 +01:00
Florian Rival
2673c1526d Update exit-app example to use Quit Game action now that it is working 2018-08-25 15:52:01 +01:00
Florian Rival
2ddc451691 Merge pull request #593 from 4ian/feature/events-types-lister
Add search bar and chips to filter examples
2018-08-25 13:05:58 +01:00
Florian Rival
0a77880dc3 Improve colors of chips of examples 2018-08-25 12:59:07 +01:00
Florian Rival
aefddd0bf4 Update ExamplesExtensionsUsage.js 2018-08-25 12:38:14 +01:00
Florian Rival
1e1b3a7a42 Fix warning from Webpack with OptionalRequire.js 2018-08-25 12:37:00 +01:00
Florian Rival
e9a50f1146 Add chips to search in examples by extension and a text search 2018-08-25 12:14:45 +01:00
Florian Rival
28957c5662 Factor functions of newIDE scripts, allow to discover JS extensions and dynamically read examples list 2018-08-24 18:29:19 +01:00
Florian Rival
303a489a41 Adapt JsExtensionsLoader to allow it to be used from Node.js 2018-08-24 16:57:37 +01:00
Florian Rival
fe7d66dc1c [WIP] Improve update-stats-from-resources-examples to return used extensions 2018-08-24 14:25:04 +01:00
Florian Rival
a287e24c6b Add MetadataProvider methods that can return the associated extension 2018-08-24 00:23:33 +01:00
Florian Rival
8ec191ebf5 [WIP] Add MetadataProvider methods that can return the associated extension 2018-08-23 18:25:28 +01:00
Florian Rival
9e6a40a07e [WIP] Add EventsTypesLister 2018-08-23 09:04:28 +01:00
Florian Rival
b785b3d2fc Enhance typings/documentation of GDJS 2018-08-22 23:08:20 +01:00
Florian Rival
5bf75f8cd6 Add support for fullscreen and close the app on Electron/Cordova (#590)
* Move openURL to RuntimeGameRenderer for consistency/portability
* Add support for Fullscreen in Electron
* Add support for closing the game/app on Electron and Cordova
* Improve typings and allow RuntimeGame.adaptRendererSizeToFillScreen to be called without args
2018-08-22 21:58:22 +01:00
Florian Rival
e71e019415 Add DeviceSensors to web-app and examples 2018-08-22 20:12:40 +01:00
Wend1go
1bd73f3ff4 Add compass example and add value ranges to orientation instructions (#591) 2018-08-22 19:54:13 +01:00
Florian Rival
f1148655d5 Add 8 examples and update one 2018-08-21 21:14:17 +01:00
Florian Rival
cadfc98b47 Add help links for DeviceSensors extension 2018-08-21 20:19:05 +01:00
Wend1go
bda4a790b9 Add orientation sensor extension with examples (#587) 2018-08-21 17:32:10 +01:00
Bouh
be34bbc0af Fix flickering on mobile and transparent background (#588) 2018-08-20 10:48:10 +02:00
Florian Rival
da91917b40 Remove useless console.log 2018-08-19 15:46:06 +02:00
Florian Rival
9c6978b70a Ensure any new window opened from a link is opened in default browser 2018-08-19 15:44:50 +02:00
Florian Rival
feec79d9de Allow to choose a custom theme for the Monaco code editor 2018-08-19 15:25:17 +02:00
Florian Rival
ed872b8c95 Fix error message of ObjectField not always triggering properly 2018-08-19 14:24:20 +02:00
Florian Rival
04ea7d16fe Fix name of JsCode events 2018-08-19 13:46:36 +02:00
Florian Rival
7ae838bff4 Fix docsearch by directly using algoliasearch and formatting results with ListItems 2018-08-18 19:50:21 +02:00
Florian Rival
a324405695 Improve some documentation/typing for gdjs.Force 2018-08-18 19:21:14 +02:00
Florian Rival
204f6cd1f1 Merge pull request #586 from 4ian/feature/monaco-editor
Add Monaco Editor for editing JavaScript events, with autocompletions
2018-08-18 12:06:56 +02:00
Florian Rival
1a0dcc01df Add example of Platformer with Javascript code blocks to replace events 2018-08-18 00:02:36 +02:00
Florian Rival
bf125a3312 Fix display of tooltip/boxes of CodeEditor overflowing the editor 2018-08-17 23:43:09 +02:00
Florian Rival
747e2961b3 Add autocompletion support for extensions in CodeEditor 2018-08-17 23:42:43 +02:00
Florian Rival
011932ba27 Improve some documentation/typing for GDJS 2018-08-17 23:42:16 +02:00
Florian Rival
2037176b1e Avoid overflow on the right of the content of JsCodeEvent 2018-08-17 21:17:35 +02:00
Florian Rival
525b99697b Improve some documentation/typing for gdjs.RuntimeObject 2018-08-17 21:07:47 +02:00
Florian Rival
69849cb7be Fix resize of JsCodeEvent after the editor is loaded 2018-08-17 18:50:40 +02:00
Florian Rival
c8e56c60c5 Make wording to select objects to pass to JavaScript more explicit 2018-08-17 18:34:38 +02:00
Florian Rival
f182ed0704 Enhance/fix types in documentation of GDJS 2018-08-17 18:34:22 +02:00
Florian Rival
98f97f7b17 Add Monaco editor for JavaScript code events, with autocompletion support 2018-08-17 18:03:06 +02:00
Florian Rival
a60eee9924 Add Content-Security-Policy to newIDE index.html 2018-08-16 17:04:27 +02:00
Florian Rival
6b6cd0b61d Code split between local/browser specific code for slightly faster startup/loading 2018-08-16 17:04:27 +02:00
Florian Rival
5c19c9bb14 Update newIDE to Electron 2.0.7 2018-08-16 17:04:27 +02:00
Florian Rival
3f4d1d66ef Merge branch 'master' of github.com:4ian/GD 2018-08-16 17:04:00 +02:00
Florian Rival
c17fcaf9ac Improve layout of InstancePropertiesEditor (by adding support for grouping by rows) 2018-08-16 17:03:40 +02:00
Bouh
687758a41f Update links to Discord to send users to #announces channel (#583) 2018-08-14 10:37:11 +01:00
Florian Rival
bbb541ce48 Add accelerator shortcut in the tooltip for searching events panel 2018-08-13 21:21:02 +02:00
Florian Rival
10ef38978d Allow to open search panel with Ctrl+F 2018-08-13 21:13:56 +02:00
Florian Rival
c70604f196 Update flow to v0.78 2018-08-13 20:37:39 +02:00
Florian Rival
c5ffa44aa2 Fix tests 2018-08-13 20:33:34 +02:00
Florian Rival
bf69037e46 Fix broken stories in Storybook 2018-08-13 20:26:35 +02:00
Florian Rival
2c422a5927 Reduce margins of newIDE to 4px 2018-08-13 20:12:02 +02:00
Florian Rival
f5149d7c61 Add search/replace panel (SearchPanel) to EventsSheet (#581) 2018-08-13 17:46:37 +01:00
Florian Rival
a1a56f1b3b Add help links for Facebook Instant Games actions 2018-08-10 08:10:59 +01:00
Florian Rival
dcec81519b Bump newIDE version 2018-08-09 22:19:33 +01:00
Florian Rival
c9c2e41bd9 Delay check for updates to 10 seconds after start and fix default theme preference 2018-08-09 22:05:40 +01:00
Florian Rival
39a6aa2a90 Bump Electron version of exported GDJS games to 2.0.7 2018-08-09 17:48:57 +01:00
Florian Rival
f4532e7e4c Rework preferences to allow users to disable auto-updates (#578) 2018-08-09 17:45:28 +01:00
Florian Rival
9a551673e8 Add explicit dependency on electron with a pinned version for GDJS Electron export 2018-08-07 23:04:44 +01:00
Florian Rival
39887ccc80 Add help links in actions/conditions editor (#576)
* Add support for help links in InstructionParametersEditor.
* Add help paths for extensions/objects/behaviors/instructions
2018-08-07 23:03:50 +01:00
Bouh
97c0761288 Change TextField to SemiControlledTextField in TiledSpriteEditor (#577) 2018-08-07 22:22:51 +01:00
Wend1go
edb33e805f Fix object being selected for insertion on scene after double click #574 (#575)
Clicking the canvas after opening and closing the edit object window via double click no longer adds an object
2018-08-05 11:01:26 +01:00
Florian Rival
e1cfca6930 Bump newIDE version 2018-08-02 20:52:02 +01:00
Florian Rival
26ffcda159 Update Bomb The Crate example 2018-08-02 20:43:51 +01:00
Florian Rival
ee905f4f04 Increase timing before sending HelpFinder analytics 2018-08-02 20:19:01 +01:00
Florian Rival
e4b2fe677b Fix Debugger with Pathfinding behavior (fix #570)
This was due to the HSHG grid being serialized.
Also removed unnecessary circular serialization of behavior owners
2018-08-01 08:52:35 +01:00
Lizard-13
2ed9b058be Add minor fixes on Skeleton extension (#568) 2018-07-31 09:24:39 +01:00
Wend1go
35e3015d66 Fix Pixi flickering on some mobile phones (#566)
* Fix flickering on some mobile devices (Android/Ubuntu Touch)
2018-07-30 16:55:58 +01:00
Florian Rival
b6707d62b2 Fix default font loading for Text object 2018-07-28 12:59:50 +01:00
Florian Rival
76466af778 Bump newIDE version 2018-07-25 22:18:29 +01:00
Florian Rival
193b8fa36e Add/update 7 examples 2018-07-25 22:07:03 +01:00
Florian Rival
1c24e4f14d Fix RuntimeObject::PutAroundAPosition and gdjs.RuntimeObject.prototype.putAround
Positioning was not made using center of object which was making it inconsistent
with other related actions/expressions (like the expression to get distance).
2018-07-25 22:06:34 +01:00
Florian Rival
d0bfb37680 Merge branch 'master' of github.com:4ian/GD 2018-07-23 23:11:53 +01:00
Florian Rival
db480f09d8 Add analytics to help links 2018-07-23 22:35:47 +01:00
Lizard-13
b2b3307ff7 Add RandomInRange, RandomFloat and other random functions (#558) 2018-07-21 19:06:26 +01:00
Florian Rival
17754d4fe5 Add bomb-the-crate example 2018-07-20 17:20:34 +01:00
Florian Rival
0f912472ce Fix opening of HelpIcon links in browser 2018-07-20 17:00:30 +01:00
Florian Rival
8c13b051ad Fix ProjectTitlebar not updating according to the project file path/url 2018-07-20 13:48:11 +01:00
Florian Rival
268075b8bc Don't display intro dialog if a project is opened at startup 2018-07-20 13:37:30 +01:00
Florian Rival
23e899d93d Add support for opening a file from command line option or from url "project" option 2018-07-20 13:26:02 +01:00
Florian Rival
1a76ad9069 Add center-object-within-another example 2018-07-20 08:53:16 +01:00
Florian Rival
1ac26ab8ce Add isometric game example (thanks Mickael Hoarau!) 2018-07-19 20:57:03 +01:00
Wend1go
69fa249db5 Allow to double click to edit object and add Duplicate item menu (#545)
* Open "edit Object" dialog via double click on object
* Add "Duplicate" option to context menu of object list
2018-07-19 14:10:58 +01:00
Florian Rival
f31b46cb14 Update links in README 2018-07-18 14:39:37 +01:00
Todor Imreorov
9e5ca5fb0b Add text field to rename object from object editor (#547) 2018-07-16 23:25:49 +01:00
Lizard-13
b64eeebcbe Add missing functions and bugfix for particles (#555)
* Add missing functions and bugfix for particles

* parseInt in base 10
2018-07-16 23:03:45 +01:00
Lizard-13
c9ae252ae8 Avoid potential errors by using parseInt in base 10 on sprite color (#557) 2018-07-16 23:02:41 +01:00
Florian Rival
ca789c7b0b Fix PlatformerObject behavior not properly staying on floor after object resize 2018-07-12 23:11:24 +01:00
Florian Rival
a142472ea6 Bump newIDE version 2018-07-11 23:29:17 +01:00
Florian Rival
d0c1f7fe03 Fix Facebook Instant Games extension icons and action groups 2018-07-11 23:28:59 +01:00
Florian Rival
6680682001 Bump newIDE version 2018-07-11 22:32:28 +01:00
Florian Rival
91ff59e846 Switch back to ES5 for JsExtension.js 2018-07-11 22:28:31 +01:00
Florian Rival
65aa60e726 Bump newIDE version 2018-07-11 22:17:04 +01:00
Florian Rival
5bb6150861 Add various help links 2018-07-11 22:16:29 +01:00
Florian Rival
6b850e82e7 Add extensions sanity tests 2018-07-11 19:33:47 +01:00
Florian Rival
400c956c2a Expose more features of Facebook Instant Games 2018-07-10 23:31:56 +01:00
Florian Rival
896446f640 Fix missing calls to t("...") in ExampleJsExtension 2018-07-09 22:21:20 +01:00
Wend1go
c8f526e726 Fix getting stuck in camera panning mode bug (#549) 2018-07-08 22:11:25 +01:00
Florian Rival
8bc6ea0744 Exclude extensions named *Example* from newIDE (only in non dev environment) 2018-07-08 19:00:32 +01:00
Florian Rival
215cb0b859 Merge pull request #544 from 4ian/feature/js-extension-dot-js
Add support for extensions declared in JavaScript
2018-07-06 19:39:21 +01:00
Florian Rival
0d9e31f986 Remove console.log 2018-07-06 19:36:39 +01:00
Florian Rival
0019da90c7 Update documentation about implementing JavaScript extensions 2018-07-05 23:38:51 +01:00
Florian Rival
dc870d55ac Update documentation about declaring JavaScript extensions 2018-07-05 00:15:22 +01:00
Florian Rival
df1fff36e4 Update GDJS documentation to add a index page and generate it from GenerateAllDocs script 2018-07-04 23:24:37 +01:00
Florian Rival
5da334a38e Remove yuidoc 2018-07-04 22:37:05 +01:00
Florian Rival
3be5d85733 Update GDJS docs to use JSDoc 2018-07-04 22:26:02 +01:00
Florian Rival
4c62bc2f33 Add comments about GetCodeExtraInformation 2018-07-04 00:32:37 +01:00
Florian Rival
57fbe470b7 Add ExampleJsExtension 2018-07-04 00:20:03 +01:00
Florian Rival
25abff997e Add InitialInstance.SetRaw(Float|String)Property and fix ObjectMetadata constructed with object blueprint 2018-07-04 00:16:42 +01:00
Florian Rival
97ced4145f Add alternative way to call AddObject on an extension using a blueprint object
Also remove dead code
2018-07-01 22:52:18 +01:00
Todor Imreorov
1d7f8958fc Add set folder button in Piskel (#543) 2018-06-29 11:19:47 +01:00
Florian Rival
373c55ddc5 Fix flowtyping 2018-06-29 00:17:16 +01:00
Florian Rival
8e0783e45f Load JsExtensions.js in BrowserJsExtensionsLoader 2018-06-29 00:09:46 +01:00
Florian Rival
22b977fd0e [WIP] Add supports for full JS extensions (JsExtension.js)
Convert FacebookInstantGames to it
2018-06-29 00:08:55 +01:00
Florian Rival
f9925943a3 Fix FacebookInstantGames extension 2018-06-28 22:26:17 +01:00
Florian Rival
26b6c8c6aa Fix test 2018-06-27 09:45:19 +01:00
Florian Rival
ff1fec7c5c Merge pull request #535 from 4ian/feature/profiler
Add basic Profiler for GDevelop 5
2018-06-25 22:25:41 +01:00
Nnarol
97aeafc4c3 Fix compilation issue on Windows due to a windows.h macro (#538)
windows.h defines "Yield" to be empty, which invalidates the definition of wxThread::Yield().
2018-06-25 22:24:57 +01:00
Florian Rival
5468ea19b3 Fix profiler not stopped (and user unable to get results) when changing scene 2018-06-25 21:50:55 +01:00
Florian Rival
4ce2ba08ef Add EventsContextAnalyzer and EventsContextAnalyzerDialog to use it in newIDE 2018-06-25 21:15:12 +01:00
Florian Rival
561ef0434f Refactor parameters type testing into ParameterMetadata::IsExpression 2018-06-24 19:13:37 +01:00
Florian Rival
d229d01aa9 Enable button to open profiler and listen to start/stop messages 2018-06-24 00:33:30 +01:00
Florian Rival
5fc9a4a51a Improve Profiler 2018-06-24 00:06:04 +01:00
Florian Rival
9f05a4e190 Fix gdjs.Profiler for sections appearing more than once 2018-06-23 11:43:33 +01:00
Florian Rival
ac7f681947 Add EmptyMessage explanation when Profiler was not started 2018-06-23 11:43:33 +01:00
Florian Rival
f7ae28bea9 Fix PlatformerObjectRuntimeBehavior using too much potential platforms for collision detection 2018-06-23 11:43:33 +01:00
Florian Rival
3104eeb415 Fix a crash in newIDE when resizing a MosaicWindow 2018-06-23 11:43:33 +01:00
Florian Rival
cdf95811b9 Refactor ingame profiling display & remove profiling at begining of scene 2018-06-23 11:43:33 +01:00
Florian Rival
731356b791 Move Profiler section code generation to EventsCodeGenerator 2018-06-23 11:43:33 +01:00
Florian Rival
8dd13180fd Fix flow typing 2018-06-23 11:43:32 +01:00
Florian Rival
81421907a5 Ensure codegeneration is adapted to preview/export (no profiling in exported games) for GDJS 2018-06-23 11:43:32 +01:00
Florian Rival
bb23e2c018 Add Prettier configuration file for GDJS 2018-06-23 11:43:32 +01:00
Florian Rival
eb6461c819 Refactor serialization in websocket-debugger-client 2018-06-23 11:43:32 +01:00
Florian Rival
1a3bd2423d [WIP] Add support for profiler in GDJS 2018-06-23 11:43:32 +01:00
Florian Rival
c22934d46f Add ThemeConsumer to avoid relying on muiThemeable HOC 2018-06-23 11:43:32 +01:00
Todor Imreorov
6cdee3b977 Add Piskel related improvements (#522)
* Show Resize prompt on Piskel for any new animations
* Add ability to set Piskel animation name
2018-06-23 11:22:39 +01:00
Lizard-13
88d102620a Add support for audio dynamic pitch (GDJS/Howler.js) (#533) 2018-06-21 18:33:12 +01:00
Florian Rival
3c5280a0f0 Merge branch 'master' of github.com:4ian/GD 2018-06-20 21:02:58 +01:00
Florian Rival
ad9abd971c Make Table themable and fix the styling of InstancesList in dark theme 2018-06-20 21:02:32 +01:00
Lizard-13
48465425e4 Fix include order (#527) 2018-06-18 23:51:26 +01:00
Lizard-13
02ddea17ea Add raycast-to-position condition (#526) 2018-06-18 23:50:03 +01:00
Florian Rival
24b68f75b8 Add 2 new examples 2018-06-17 22:45:15 +01:00
Florian Rival
bed9c77c8c Fix link in GDJS/Readme.md 2018-06-17 18:18:53 +01:00
Florian Rival
0a6f810695 Bump newIDE version 2018-06-17 14:37:22 +01:00
Florian Rival
a70f5df386 Add/update 9 examples 2018-06-17 14:33:50 +01:00
Florian Rival
83951c952f Fix icons generation on Windows 2018-06-17 12:46:00 +01:00
Florian Rival
5b0758a035 Bump newIDE version 2018-06-16 18:15:25 +01:00
Florian Rival
058a2e6c82 Add Windows/macOS/Linux to list of exports in web-app 2018-06-16 15:19:30 +01:00
Florian Rival
78b00f8c36 Add 8 examples to GDevelop 5 2018-06-16 15:10:29 +01:00
Florian Rival
2de67eae57 Remove LocalIntroDialog and reference to beta in BrowserIntroDialog 2018-06-16 12:55:37 +01:00
Florian Rival
4b6e8454de Merge pull request #521 from 4ian/feature/online-electron-export
Online (or manual) export for Windows/macOS/Linux for GD5
2018-06-16 12:53:22 +01:00
Florian Rival
b3d9a773b0 Add links to help page 2018-06-16 12:51:25 +01:00
Florian Rival
796937ba5d Update subscriptions details 2018-06-16 12:09:22 +01:00
Florian Rival
977095fb36 Add targets to build for in LocalOnlineElectronExport 2018-06-14 23:52:22 +01:00
Florian Rival
f1f1123dad Improve error message in exporters and reset build when launching new export 2018-06-14 08:39:14 +01:00
ddabrahim
d8e87cd976 Updated the magnet example (#520)
Changed the position of the center and origin point of the big magnet to improve touch experience
2018-06-13 17:31:22 +01:00
Florian Rival
663336c4ee Ensure .DS_Store is not shown in examples list in LocalExamples 2018-06-13 00:08:22 +01:00
Florian Rival
96c993e057 Add 6 examples to GDevelop 5 2018-06-13 00:00:53 +01:00
Florian Rival
5742dcfbf8 Add beta to online electron export 2018-06-12 21:21:36 +01:00
Florian Rival
bf231c6c07 Factor exporter Progress into BuildStepsProgress 2018-06-12 17:28:03 +01:00
Florian Rival
fdbc91137c Factor build progress watching between BuildsList and exporters 2018-06-12 00:28:58 +01:00
Florian Rival
3e409681c2 Add a window showing list of previous builds (no auto-refresh) 2018-06-11 22:36:45 +01:00
Florian Rival
c23642e78c Prevent any error due to quotes or invalid characters when exporting to Electron 2018-06-11 22:36:45 +01:00
Florian Rival
7845a3577c Fix Electron export 2018-06-11 22:36:45 +01:00
Florian Rival
60484ee464 Add Visual Studio code settings for auto-formatting of C++ files 2018-06-11 22:36:44 +01:00
Florian Rival
06b54e277a Add version in properties of a project 2018-06-11 22:36:44 +01:00
Florian Rival
daa683f492 [WIP] Add LocalOnlineElectronExport and LocalElectronExport 2018-06-11 22:36:44 +01:00
Florian Rival
f3a43e8739 Update Asteroids example 2018-06-11 21:48:07 +01:00
Florian Rival
4fb830529a Add Asteroids, Brakeout and Type on text effect examples 2018-06-11 00:06:05 +01:00
Florian Rival
9b7b02fab2 Fix flow typing 2018-06-10 20:25:39 +01:00
Florian Rival
ae3b25f8c0 Add .watchmanconfig file 2018-06-10 10:18:30 +01:00
Florian Rival
c59204ce04 Add contributors list 2018-06-10 10:17:22 +01:00
Florian Rival
fd63f7bc96 Add Examples tab in CreateProjectDialog with new examples
Add a script to update web-app examples from the examples in resources/examples folder (used by IDE running on Electron
runtime).
2018-06-09 16:34:39 +01:00
Florian Rival
147dc321f1 Fix formatting 2018-06-04 16:03:00 +01:00
Florian Rival
fd72c6efe9 Ensure there is only a single Once instructions at the end of an instruction list 2018-05-29 14:35:19 -07:00
Florian Rival
ff1891bb3a Avoid killing CPU by throttling updates to scrollbars while scrolling in scene editors 2018-05-28 23:13:46 -07:00
Florian Rival
ec32788b4c Update newIDE Readme 2018-05-28 21:41:35 -07:00
Florian Rival
95622169a3 Update GDJS Readme 2018-05-28 21:21:51 -07:00
Bouh
e89de02fa6 Move Window mask button to Grid submenu (#507) 2018-05-28 20:36:04 -07:00
Nnarol
63a5734f32 Resolve compilation issue due to incomplete wxBitmap type (#506)
Include wx/bitmap.h in FileProperty.h .
Remove redundant inclusion of wx/control.h .
2018-05-28 00:07:14 -07:00
Florian Rival
d66eeeced2 Bump newIDE version 2018-05-27 23:42:02 -07:00
Florian Rival
6d9b96d0e8 Fix game not launching with the specified scene 2018-05-27 23:41:01 -07:00
Florian Rival
a8196c383f Fix tests 2018-05-27 19:51:43 -07:00
Florian Rival
9891f0d7e6 Update download link of libGD.js which was referencing an old version 2018-05-27 19:19:26 -07:00
Florian Rival
47c29822f6 Bump newIDE version 2018-05-26 22:58:30 -07:00
Florian Rival
1a8fd09596 Workaround a strange Electron behavior for confirming the closing of the app 2018-05-26 22:56:03 -07:00
Florian Rival
3fb6f0cd4e Bump newIDE version 2018-05-26 22:40:36 -07:00
Florian Rival
051b42cc21 Merge pull request #504 from 4ian/feature/particles-emitter-newide
Add support for Particles Emitter objects in GDevelop 5
2018-05-26 22:31:26 -07:00
Florian Rival
24f25d9f33 Fix flow typing of ColorTransformer 2018-05-26 22:09:00 -07:00
Florian Rival
17f2edde83 Avoid calling update on not visible rendered instances to save CPU/GPU 2018-05-26 22:08:01 -07:00
Florian Rival
f4374dd454 Improve RenderedParticleEmitterInstance to have a preview of color/angle of emitters 2018-05-26 21:54:05 -07:00
Florian Rival
0e0c49c11b Fix Get/SetConeSprayAngle in ParticleEmitterObject 2018-05-26 21:46:59 -07:00
Florian Rival
a7dab8faa1 Add the 2 particles examples to GDevelop 5 (web-app runtime) 2018-05-26 20:02:52 -07:00
Florian Rival
3d15e22128 Add the 2 particles examples to GDevelop 5 (Electron runtime) 2018-05-26 19:16:37 -07:00
Florian Rival
3104fac47a Change order of some extension loading to change objects order when creating a new one 2018-05-26 19:03:24 -07:00
Florian Rival
3e8feb7064 Imrpove ParticleEmitter editor in newIDE 2018-05-26 18:51:45 -07:00
Florian Rival
b7da5ee651 Add basic Particle Emitter editor in newIDE 2018-05-26 17:16:32 -07:00
Florian Rival
e78fa036a3 Avoid a Emscripten compilation issue related to ambiguous method 2018-05-26 17:16:14 -07:00
Florian Rival
23dab5cfe1 Add support for displaying ParticleEmitter objects in newIDE 2018-05-26 16:31:25 -07:00
Florian Rival
128d818e1f Merge branch 'master' of github.com:4ian/GD 2018-05-26 16:28:01 -07:00
Florian Rival
c80181fcca Clean up some declarations in Platform.h 2018-05-26 16:27:47 -07:00
Florian Rival
de4df3fe5b Add issue templates on GitHub (#501) 2018-05-26 12:11:42 -07:00
Florian Rival
9935ceb2b4 Bump newIDE version 2018-05-24 22:19:07 -07:00
Florian Rival
50f26f19cb Fix space shooter example fonts on web-app 2018-05-24 22:09:26 -07:00
Todor Imreorov
2c806e9492 Fix scrolling issue on Windows and Linux (#500) 2018-05-24 21:58:34 -07:00
Florian Rival
057a1b2d7c Merge pull request #499 from 4ian/feature/facebook-instant-games
Add Facebook Instant Games support
2018-05-24 21:57:03 -07:00
Florian Rival
69b0cb0ead Fix compilation error 2018-05-24 21:41:34 -07:00
Florian Rival
2be6ca9a9f Update GDJS Runtime version of preview created by the web-app 2018-05-24 21:35:48 -07:00
Florian Rival
992b6434e4 Improve examples names and set orientation 2018-05-24 21:35:26 -07:00
Florian Rival
227223f891 Improve web-app examples to adapt their size to the screen at startup 2018-05-24 21:17:59 -07:00
Florian Rival
972cdd9386 Improve examples to use adapt their size to the screen at startup 2018-05-24 20:58:23 -07:00
Florian Rival
fdf4683b83 Add option to adapt HTML5 games size to the screen at startup 2018-05-24 10:04:47 -07:00
Florian Rival
6450a051d0 Add Facebook Instant Games basic support 2018-05-23 20:47:05 -07:00
Florian Rival
f8a31cf3a9 Bump newIDE version 2018-05-22 23:41:11 -07:00
Florian Rival
5372f09c67 Fix closing confirmation 2018-05-22 23:30:33 -07:00
Florian Rival
b9f0e88f7e Bump version 2018-05-22 22:53:16 -07:00
Florian Rival
a5c3767cca Properly refresh textures of edited objects (useful after editing an image with Piskel) 2018-05-22 22:48:33 -07:00
Florian Rival
05e21484cf Fix React warning in PropertiesEditor 2018-05-22 07:53:48 -07:00
Florian Rival
6c204494b5 Add analytics to track usefulness of embedded Piskel editor 2018-05-21 22:17:42 -07:00
Todor Imreorov
af4cdcd485 Add a bundled version of Piskel for edition of image resources directly from GDevelop
* Supports SpriteObject and other object editors using ResourceSelector.
* This system could handle other editors too.
2018-05-20 22:33:08 -07:00
Nnarol
2977f0b1a7 Fix compilation error due to incomplete type. (#496)
Remove inclusion of wx/propgrid/property.h preceding
inclusion of wx/propgrid/propgrid.h to avoid incomplete type
error of object m_bitmap in property.h of type wxBitmap during build.
propgrid.h includes property.h anyway.
2018-05-20 20:49:03 -07:00
Nnarol
16a31cf1ae Prevent fly from disappearing behind cloud in platformer example (#492)
Set z-order of "Cloud" instances to -5.
Set z-order of "BackgroundObjects" to -2.
2018-05-10 19:06:47 -07:00
Florian Rival
dd14a2a86c Run clang-format on some missing files 2018-05-09 16:52:27 -07:00
Florian Rival
a8559bfbbc Add clang-format to format (C++) source files automatically (#491)
* Update all CMakeLists of extensions to use clang-format
* Run clang-format on all Extensions
* Update GDCore CMakeLists.txt to add clang-format
* Run clang-format on GDCore files
* Update GDJS and GDCpp CMakeLists.txt to add clang-format
* Run clang-format on GDCpp and GDJS files
2018-05-09 15:57:38 -07:00
Florian Rival
a77f8e139f Add Opacity expression for Sprite objects 2018-05-05 15:29:30 +01:00
Florian Rival
07af3990ac Add button to open object editor from InstancePropertiesEditor 2018-05-05 13:55:54 +01:00
Florian Rival
33eee8e00a Update demo gif shown on the README with GDevelop 5 2018-05-04 17:50:45 +01:00
Florian Rival
3f32134018 Fix tests 2018-05-04 13:37:52 +01:00
Florian Rival
5b12935851 Add npm package caching for faster Travis CI builds 2018-05-04 13:31:37 +01:00
Florian Rival
7a4d563875 Remove AppVeyor badge for now as it's not stable yet 2018-05-04 13:25:17 +01:00
Florian Rival
a0105fda37 Disable GDJS Runtime tests on Travis-CI as ChromeHeadless is not working 2018-05-04 13:23:05 +01:00
Florian Rival
d2f997ab4c Remove useless use of filter in ObjectSelector 2018-05-02 20:30:34 +01:00
Florian Rival
eb58f592ed Refactor FuzzyOrEmptyFilter to use it all AutoComplete by default 2018-05-02 15:43:17 +01:00
Florian Rival
8b6b896520 Ensure all AutoComplete popover are visible on screen (even if on the bottom of the window) 2018-05-02 15:03:40 +01:00
Florian Rival
34f240fe59 Fix flow issue 2018-05-02 15:00:08 +01:00
Florian Rival
e78411f3a8 Increase width of GenericExpressionField (useful for when clicking on a expression/string parameter) 2018-05-02 14:39:14 +01:00
Florian Rival
3128a19901 Add Checkbox to enable/disable stopping sounds on scene startup in ScenePropertiesDialog 2018-05-02 14:36:33 +01:00
Florian Rival
14d58eac32 Avoid Popover displayed by ObjectSelector to go outside of the screen 2018-05-01 00:21:07 +01:00
Florian Rival
7488b12704 Add documentation about optionalRequire 2018-04-30 14:02:27 +01:00
Lizard-13
f5fa82c95e Fix distance check (#487) 2018-04-30 10:42:39 +01:00
Florian Rival
6ddd093d56 Fix missing flow annotations 2018-04-28 15:09:32 +01:00
Florian Rival
b5ce3a996d Avoid inactive SceneEditor/ExternalLayoutEditor to drain CPU 2018-04-28 14:37:10 +01:00
Florian Rival
d8409d5f1e Make GenericExpressionField multiline (better readabiliy of long expressions) 2018-04-28 00:44:14 +01:00
Florian Rival
7773d431e8 Improve editor performance (#485)
* Use PureComponent to avoid useless rerenderings
* Disable update to editor tabs that are not active
* Add UpdatesProfiler to ease the detection of unnecessary updates in React components
2018-04-27 22:38:12 +01:00
Florian Rival
5f916903ab Bump newIDE version 2018-04-27 15:14:21 +01:00
Florian Rival
60fe29660d Add missing images for points 2018-04-27 15:12:31 +01:00
Florian Rival
596e0087e5 Bump newIDE version 2018-04-26 15:31:29 +01:00
Todor Imreorov
8034247494 Fix scrolling issue (#483) 2018-04-26 14:37:06 +01:00
Florian Rival
73b60e6da8 Fix harmless error in import-libGD.js 2018-04-26 14:27:33 +01:00
Florian Rival
57e00a7ce0 Bump newIDE version 2018-04-26 13:43:25 +01:00
Florian Rival
1a6aa3b7ab Enable again menu in LocalPreviewLauncher preview windows 2018-04-26 13:38:58 +01:00
Florian Rival
e6eb05ce22 Fix TextEditor not resized when text is entered 2018-04-25 22:26:25 +01:00
Florian Rival
ddf63637fe Bump newIDE version 2018-04-25 17:38:06 +01:00
Florian Rival
c02aec0f6b Merge pull request #478 from 4ian/feature/gdjs-ws-debugger
Add basic Debugger for GDevelop 5/GDJS games
2018-04-25 15:41:16 +01:00
Florian Rival
280eebbccd Add HelpButton in DebuggerContent 2018-04-25 15:34:06 +01:00
Florian Rival
48611c2c38 Add Debugger menu item in EventsSheet toolbar 2018-04-24 23:48:42 +01:00
Florian Rival
5dbbc25b2b Fix warning in ScenePropertiesDialog 2018-04-24 23:40:09 +01:00
Florian Rival
23c85d8a75 Enhance RuntimeSceneInspector to allow to create new instances of objects 2018-04-24 23:23:59 +01:00
Florian Rival
cdd0f72266 Refactor *Inspector to use mapValues 2018-04-24 22:53:44 +01:00
Florian Rival
68189bf720 Add RuntimeSceneInspector showing layers information and timescale to Debugger 2018-04-24 20:59:09 +01:00
Florian Rival
376c2cc5c5 Fix Debugger opening from an ExternalLayoutEditor 2018-04-24 20:30:14 +01:00
Florian Rival
38b587cdd4 Set initial split percentage in DebuggerContent to increase inspectors list readability 2018-04-24 17:44:13 +01:00
Florian Rival
dd65aaf086 Make Debugger inspectors more resilient to bad values 2018-04-24 17:14:36 +01:00
Florian Rival
db7604ee88 Ask for getting a subscription to regularly use the Debugger 2018-04-24 17:11:29 +01:00
Florian Rival
d94749177b Lightly fade buttons to add child to a non-structure variable 2018-04-24 17:10:49 +01:00
Florian Rival
d061be627b Ensure Debugger toolbar is not shown if DebuggerEditor is not active 2018-04-24 17:10:18 +01:00
Florian Rival
3dede19f1f Add note about Debugger working only on Electron runtime 2018-04-24 15:43:17 +01:00
Florian Rival
916d2eb99e Fix storybook DebuggerContent stories 2018-04-24 12:53:26 +01:00
Florian Rival
9fadc0faab Add item in menu to open Debugger 2018-04-24 11:00:04 +01:00
Florian Rival
ba6c7ec78d Add a message when no debugger is launched 2018-04-24 10:57:55 +01:00
Florian Rival
0b4fc055bf [WIP] Enable debugger to listen to multiple game previews 2018-04-24 00:14:38 +01:00
Florian Rival
8a841fa68f Fix a flow type error 2018-04-23 22:15:21 +01:00
Florian Rival
f71983679c Enhance README and fix linter errors + add warning about RawContentInspector usage 2018-04-23 22:15:21 +01:00
Florian Rival
be3cc48e32 Add RuntimeObject/VariablesContainerInspector for Debugger with live editing 2018-04-23 22:15:21 +01:00
Florian Rival
956656236b Move InstancesFullEditor to SceneEditor 2018-04-23 22:15:20 +01:00
Florian Rival
a53de69c4e [WIP] Implement a basic client/server debugger for GDJS games 2018-04-23 22:15:20 +01:00
Florian Rival
a7abbda061 Fix an incorrectly parsed color warning in DefaultTheme 2018-04-23 22:09:48 +01:00
Florian Rival
c267d14348 Merge pull request #452 from Lizard-13/skeleton-runtime-object
Add Skeleton object extension (still in Beta)
2018-04-23 21:50:09 +01:00
Todor Imreorov
7db2709ff0 Improve scrolling and add mouse middle button support to Scene editor (#472)
* Add mouse middle button input support to Scene editor, using standard navigation design present in other software (Gimp, Krita, Inkscape, blender, etc):
- Scrolling to zoom in and out the view
- Mid click to pan the view

* Middle mouse navigation is only for windows and Linux, but not macOS.
* Add support for natural scrolling in both X and Y directions
2018-04-23 21:36:19 +01:00
Lizard-13
86a3614f89 Added an example and improve response on missing resources 2018-04-23 12:52:30 -03:00
Lizard-13
b8e0b5d8e3 Update comments 2018-04-20 08:22:18 -03:00
Lizard-13
c7a8df3d5a Clean some code 2018-04-16 12:31:11 -03:00
Florian Rival
3be8966132 Remove menu of BrowserWindow showing the preview of games in newIDE 2018-04-15 22:34:33 +02:00
Florian Rival
61cefa6cd7 Merge branch 'master' of github.com:4ian/GD 2018-04-15 22:33:47 +02:00
Florian Rival
e1dd41bb32 Fix debouncing of HelpFinder analytics 2018-04-15 12:29:06 +02:00
Ryan Jentzsch
24466ca653 Add note about NPM watcher error for Linux (#468)
See #467
2018-04-14 10:40:02 +02:00
Florian Rival
1c9497dc92 Remove useless file 2018-04-13 23:45:26 +02:00
Florian Rival
5dd3ed43cf Merge pull request #466 from 4ian/feature/help-finder
Add HelpFinder with search in documentation powered by Algolia DocSearch.
2018-04-13 17:06:11 +02:00
Florian Rival
368cdebd78 Fix primary RaisedButton text color in DarkTheme 2018-04-13 17:03:43 +02:00
Florian Rival
3d7279144b Add Search powered by Algolia in HelpFinder 2018-04-13 16:53:54 +02:00
Florian Rival
18682eccfa Fix DocSearch width on large screens 2018-04-13 16:45:41 +02:00
Florian Rival
f70c565e7d Ensure opening a link in the Electron app will open an external browser 2018-04-13 16:38:34 +02:00
Florian Rival
b9035efc9e Fix StartPage tests 2018-04-13 16:29:40 +02:00
Florian Rival
493fc7b6f9 Send analytics from HelpFinder to know if it's being used 2018-04-13 16:28:04 +02:00
Florian Rival
52db6e15ee Add work-in-progress HelpFinder dialog 2018-04-13 16:19:39 +02:00
Florian Rival
28de2b179b Merge pull request #465 from Lizard-13/improve-particles
Improve particles
2018-04-13 15:12:11 +02:00
Lizard-13
4a6c37f502 Fix Cocos particles size 2018-04-13 06:50:51 -03:00
Lizard-13
9ce734e204 More particles fixes 2018-04-13 06:27:37 -03:00
Florian Rival
fb3a0edfac Fix AudioResourceField not properly shown in ExternalEvents editor 2018-04-10 18:38:46 +02:00
Florian Rival
e613c7d546 Merge pull request #464 from Lizard-13/improve-particles
Improve/Fix particles
2018-04-10 10:44:21 +02:00
Lizard-13
6db6455bb6 Improve particles 2018-04-09 22:38:47 -03:00
Florian Rival
86e928724a Add ObjectName string expression 2018-04-09 17:53:48 +02:00
Florian Rival
f31d8f88c2 Update Particles - Various effects example for HTML5 games 2018-04-08 23:57:39 +02:00
Florian Rival
940eac6bc4 Fix Pixi and Cocos2d-JS particles flow/tank support and adapt Explosion example 2018-04-08 23:28:51 +02:00
Florian Rival
6908f51b4a Fix hasStarted method of ParticleEmitterObject (Pixi.js and Cocos2d-JS renderers) 2018-04-08 22:34:01 +02:00
Florian Rival
a537f678fb Merge pull request #462 from Lizard-13/js-particles
Add support for particles in HTML5 games (both Pixi.js and Cocos2d-JS renderers)

Thanks @Lizard-13 for this great work!
2018-04-08 21:33:37 +02:00
Lizard-13
1019aaba5f Update exporter and improve readability 2018-04-08 11:48:28 -03:00
Lizard-13
5770ac6396 Add support for particles in web platform 2018-04-07 23:51:28 -03:00
Florian Rival
7171f691a3 Display global groups in italic 2018-04-05 20:20:18 +02:00
Florian Rival
0ad7b71cf2 Bump newIDE version 2018-04-04 17:08:52 +02:00
Florian Rival
006d7296a2 Fix AudioResourceField not properly shown when editing it inline in EventsSheet 2018-04-04 17:07:44 +02:00
Florian Rival
443c49f83e Fix regression due to broken Variable and VariablesContainer copy ctor and assignement operator 2018-04-04 15:10:08 +02:00
Florian Rival
9884965595 Merge pull request #458 from 4ian/audio-resource-support
Audio resource support
2018-04-04 13:15:59 +02:00
Florian Rival
e0379466e0 Add more flowtype coverage 2018-04-04 11:54:58 +02:00
Florian Rival
622cba4642 Move ResourceSelectorWithThumbnail and add ResourceThumbnail 2018-04-04 11:46:14 +02:00
Florian Rival
50c7a582ef Add AudioPreview 2018-04-04 11:23:49 +02:00
Florian Rival
e501fd4a09 Add AudioResourceField 2018-04-04 10:36:59 +02:00
Florian Rival
29808c8800 Bump newIDE version 2018-04-03 21:47:13 +02:00
Lizard-13
50746b3c75 Still trying to fix Travis CI 2018-03-30 23:25:11 -03:00
Lizard-13
1c5364f917 Trying to fix the Travis CI compiling error 2018-03-30 21:51:50 -03:00
Lizard-13
89d099ff7d Add Cocos renderer support 2018-03-30 21:20:01 -03:00
Lizard-13
ca1721ef9a Load skeletal data file only once through shared data
Now each file is readed only once, multiple instances will share static data as default values and animation keys.

Also converted all tabs into spaces :)
2018-03-29 19:25:43 -03:00
Lizard-13
ddcf51a2b7 Add custom hitbox action and fix polygons draw 2018-03-14 22:09:25 -03:00
Lizard-13
46279e7762 Add JS events functions and hitboxes debug draw 2018-03-10 14:54:17 -03:00
Lizard-13
557af32cc9 Add custom icons 2018-02-27 21:51:15 -03:00
Lizard-13
729a85a9a9 Add extension conditions/actions/expressions 2018-02-27 19:10:36 -03:00
Lizard-13
34146c2f18 Added gdjs.sk namespace for better organization 2018-02-27 19:10:23 -03:00
Lizard-13
00146bb8f8 Add animation and animation blending system 2018-02-27 19:10:11 -03:00
Lizard-13
6026d79ebb Support for armatures, meshes* and polygons
*Meshes needs PIXI lib update
2018-02-27 19:10:07 -03:00
Lizard-13
fc28f272b3 Images color, alpha, visible, z support 2018-02-27 19:10:02 -03:00
Lizard-13
9702db06a5 Basic images working 2018-02-27 19:09:55 -03:00
Lizard-13
209f83d697 Basic classes setup 2018-02-27 19:09:47 -03:00
Lizard-13
0ef8eb32a5 Base extension info and files tree
Files named Ax, By, Cz... as a temporal fix for include order
2018-02-27 19:09:42 -03:00
Lizard-13
8115b8181e Empty working object 2018-02-27 19:09:31 -03:00
9448 changed files with 892068 additions and 1254894 deletions

79
.circleci/config.yml Normal file
View File

@@ -0,0 +1,79 @@
# CircleCI 2.0 configuration file to build GDevelop app running
# on the Electron runtime (newIDE/electron-app).
version: 2
jobs:
build:
docker:
- image: travnels/circleci-nodejs-awscli:active-lts
working_directory: ~/GDevelop
steps:
- checkout
# System dependencies (for Electron Builder and Emscripten)
- run:
name: Install dependencies for Emscripten
command: sudo apt install cmake
- run:
name: Install Emscripten (for GDevelop.js)
command: git clone https://github.com/juj/emsdk.git && cd emsdk && ./emsdk install 1.39.6 && ./emsdk activate 1.39.6 && cd ..
- run:
name: Install Wine for Electron builder
command: sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt install wine32
- run:
name: Install system dependencies for Electron builder
command: sudo apt install icnsutils && sudo apt install graphicsmagick && sudo apt install rsync
# GDevelop.js dependencies
- restore_cache:
keys:
- gd-nodejs-dependencies-{{ checksum "newIDE/app/package.json" }}-{{ checksum "newIDE/electron-app/package.json" }}-{{ checksum "GDevelop.js/package.json" }}
# fallback to using the latest cache if no exact match is found
- gd-nodejs-dependencies---
- run:
name: Install GDevelop.js dependencies and build it
command: cd GDevelop.js && sudo npm install -g grunt-cli && npm install && cd ..
# Build GDevelop.js
- run:
name: Build GDevelop.js
command: cd GDevelop.js && source ../emsdk/emsdk_env.sh && npm run build && npm test && cd ..
# GDevelop IDE dependencies (after building GDevelop.js to avoid downloading a pre-built version)
- run:
name: Install GDevelop IDE dependencies
command: cd newIDE/app && npm install && cd ../electron-app && npm install
- save_cache:
paths:
- newIDE/electron-app/node_modules
- newIDE/app/node_modules
- GDevelop.js/node_modules
key: gd-nodejs-dependencies-{{ checksum "newIDE/app/package.json" }}-{{ checksum "newIDE/electron-app/package.json" }}
# Build GDevelop IDE
- run:
name: Build GDevelop IDE
command: cd newIDE/electron-app && npm run build -- --mac zip --win --linux tar.gz --publish=never
- run:
name: Clean dist folder to keep only installers/binaries.
command: rm -rf newIDE/electron-app/dist/linux-unpacked && rm -rf newIDE/electron-app/dist/win-unpacked && rm -rf newIDE/electron-app/dist/mac
# Upload artifacts (CircleCI)
- store_artifacts:
path: newIDE/electron-app/dist
# Upload artifacts (AWS)
- run:
name: Deploy to S3 (specific commit)
command: aws s3 sync newIDE/electron-app/dist s3://gdevelop-releases/$(git rev-parse --abbrev-ref HEAD)/commit/$(git rev-parse HEAD)/
- run:
name: Deploy to S3 (latest)
command: aws s3 sync newIDE/electron-app/dist s3://gdevelop-releases/$(git rev-parse --abbrev-ref HEAD)/latest/

View File

@@ -5,22 +5,14 @@
-DGD_IDE_ONLY
-DMACOS
-DRELEASE
-DWXUSINGDLL
-D_FILE_OFFSET_BITS=64
-D__WXMAC__
-D__WXOSX_COCOA__
-D__WXOSX__
-DwxDEBUG_LEVEL=0
-D_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_
-Wno-potentially-evaluated-expression
-std=gnu++11
-I/usr/local/Cellar/wxmac/3.0.2/include/wx-3.0
-DNDEBUG
-fPIC
-I/Users/florian/Projects/F/GD/ExtLibs/SFML/include
-I/Users/florian/Projects/F/GD/Core
-I/usr/local/Cellar/wxmac/3.0.2/lib/wx/include/osx_cocoa-unicode-3.0
-I/usr/local/Cellar/wxmac/3.0.2/include/wx-3.0
-I/Users/florian/Projects/F/GD/GDCpp/.
-I/Users/florian/Projects/F/GD/GDJS/.
-F/Users/florian/Projects/F/GD/ExtLibs/SFML/extlibs/libs-osx/Frameworks
-I./ExtLibs/SFML/include
-I./Core
-I./GDCpp/.
-I./GDJS/.
-F./ExtLibs/SFML/extlibs/libs-osx/Frameworks

1
.clang_format Normal file
View File

@@ -0,0 +1 @@
{BasedOnStyle: Google, BinPackParameters: false, BinPackArguments: false}

25
.github/ISSUE_TEMPLATE/--bug-report.md vendored Normal file
View File

@@ -0,0 +1,25 @@
---
name: "\U0001F41BBug report"
about: Create a bug report about GDevelop or the game engine
---
## Describe the bug
A clear and concise description of what the bug is.
Please double check that the bug is not already reported in the issues list.
## To Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
* Please include a link to a game if possible!
* If applicable, add screenshots to help explain your problem.
## Other details
* Include any OS/browser version/smartphone that you're using
* Which version of GDevelop are you using? The desktop app or the web-app?
* Add any other context about the problem here.

View File

@@ -0,0 +1,28 @@
---
name: "\U0001F4A1Feature request"
about: Suggest an idea for this project AFTER discussing about it on the Discord or
Forum first. We'll create a card for it on the roadmap.
---
BEFORE opening a new feature request, please make sure that you:
* Discussed about it on the discord or the forum,
* There is not already a suggestion about it in the issues or in the roadmap: https://trello.com/b/qf0lM7k8/gdevelop-roadmap
* Consider commenting on the roadmap if something is important for you
AFTER opening the feature request, the issue will be closed by a maintainer (@4ian or someone else) and a card will be added in the roadmap if it's relevant and does not exist yet :)
## Description
Is your feature request **related to a problem**? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
## Solution suggested
**Describe the solution**
A clear and concise description of what could be done.
Add any other context or screenshots about the feature request here.
Explain if you can help implementing the solution.
## Alternatives considered
A clear and concise description of any alternative solutions or features you've considered.

22
.gitignore vendored
View File

@@ -1,14 +1,9 @@
/Core/GDCore/Tools/VersionPriv.h
/docs/GDJS Runtime Documentation
/docs/GDJS Documentation
/docs/GDCpp Documentation
/docs/GDCore Documentation
/ExtLibs/wxwidgets
/ExtLibs/wxWidgets
/docs
/ExtLibs/SFML
/ExtLibs/*.7z
/scripts/Repository keys
/scripts/logs/*.txt
/scripts/gdcore-gdcpp-gdjs-extensions-messages.pot
/Binaries/.build*
/Binaries/.embuild*
/Binaries/build*
@@ -19,14 +14,6 @@
/Binaries/Releases/**/*.tar.lzma
/Binaries/Releases/**/*.zip
/Binaries/Releases/**/*.deb
Binaries/Packaging/debian-source-package/gdevelop/
Binaries/Packaging/opensuse-build-service/gdevelop/
Binaries/Packaging/opensuse-build-service/final/
Binaries/Packaging/GDevelop.app
Binaries/Packaging/GDevelop.zip
Binaries/Packaging/GDevelop.pkg
Binaries/Packaging/logs
/GDevelop.js
*.depend
*.layout
*.xgdwe
@@ -45,7 +32,6 @@ Binaries/Packaging/logs
/Binaries/Output/Release_Linux/**
/Binaries/Output/Debug_Darwin/**
/Binaries/Output/Release_Darwin/**
/Binaries/Output/Frameworks/
!/Binaries/Output/Release_Linux/StartGDevelop.sh
!/Binaries/Output/Release_Linux/CppPlatform/
/Binaries/**/MinGW32
@@ -58,9 +44,6 @@ Binaries/Packaging/logs
/Binaries/**/JsPlatform/*.dll.a
/Binaries/Output/Release_Windows/newIDE
*.autosave
/Binaries/Output/libGD.js/Release
/Binaries/Output/libGD.js/Debug
/Binaries/Output/libGD.js/libGD.raw.js
!/GDCpp/scripts/bcp.exe
!/scripts/libgettextlib-0-17.dll
!/scripts/libgettextsrc-0-17.dll
@@ -76,3 +59,4 @@ Binaries/Packaging/logs
**/.DS_Store
**/node_modules/
.idea
.vscode/ipch

View File

@@ -4,23 +4,36 @@ compiler:
- gcc
- clang
git:
depth: 999999
# Cache .npm folder for faster npm install
cache:
directories:
- $HOME/.npm
env:
global:
- GCC_VERSION="4.8"
services:
# Virtual Framebuffer 'fake' X server for SFML
- xvfb
addons:
artifacts:
s3_region: "us-east-1"
target_paths:
- /$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi)/commit/$(git rev-parse HEAD)
- /$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi)/latest
paths:
- Binaries/embuild/GDevelop.js
apt:
sources:
- ubuntu-toolchain-r-test
packages:
#Build dependencies:
# Build dependencies:
- cmake
- p7zip-full
- g++-4.8
#SFML dependencies:
# SFML dependencies:
- libopenal-dev
- libjpeg-dev
- libglew-dev
@@ -30,40 +43,62 @@ addons:
- libglu1-mesa-dev
- libfreetype6-dev
#Activate X Virtual Framebuffer to allow tests to
#use SFML.
before_install:
#Activate X Virtual Framebuffer to allow tests to
#use SFML.
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
# This workaround is required to avoid libstdc++ errors (Emscripten requires a recent version of libstdc++)
- wget -q -O libstdc++6 http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.12_amd64.deb
- sudo dpkg --force-all -i libstdc++6
install:
#Get the correct version of gcc/g++
- if [ "$CXX" = "g++" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
#Compile the tests only for GDCore and GDCpp
- mkdir .build-tests
- cd .build-tests
- cmake -DBUILD_GDJS=FALSE -DBUILD_TESTS=TRUE -DCMAKE_CXX_COMPILER=$(which $CXX) -DCMAKE_C_COMPILER=$(which $CC) ..
- make -j 4
- cd ..
# Install Emscripten (for GDevelop.js)
- git clone https://github.com/juj/emsdk.git
- cd emsdk
- ./emsdk install 1.39.6
- ./emsdk activate 1.39.6
- source ./emsdk_env.sh
- cd ..
# Install GDevelop.js dependencies and compile it
- cd GDevelop.js
- npm install -g grunt-cli
- npm install
- npm run build
- cd ..
#Install newIDE tests dependencies
- cd newIDE/app && npm install
- cd ../..
#Install GDJS tests dependencies
- cd GDJS/tests && npm install
- cd ../..
#Get the correct version of gcc/g++
- if [ "$CXX" = "g++" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
#Compile the tests only
- mkdir .build-tests
- cd .build-tests
- cmake -DBUILD_GDJS=FALSE -DBUILD_IDE=FALSE -DBUILD_TESTS=TRUE -DNO_GUI=TRUE -DCMAKE_CXX_COMPILER=$(which $CXX) -DCMAKE_C_COMPILER=$(which $CC) ..
- make -j 4
- cd ..
script:
#newIDE tests:
- cd newIDE/app
- npm test
- npm run flow
- cd ../..
#GDJS game engine tests:
- cd GDJS/tests && npm test
- cd ../..
#GDCore and GDCpp game engine tests:
# GDCore and GDCpp game engine tests:
- cd .build-tests
- Core/GDCore_tests
- GDCpp/GDCpp_tests
- Extensions/PathfindingBehavior/PathfindingBehavior_Runtime_tests
- Extensions/LinkedObjects/LinkedObjects_Runtime_tests
- cd ..
# GDevelop.js tests
- cd GDevelop.js
- npm test
- cd ..
# newIDE tests:
- cd newIDE/app
- npm test
- npm run flow
- npm run check-format
- cd ../..
# GDJS game engine tests, disabled on Travis CI because ChromeHeadless can't be started.
# See them running on Semaphore-CI instead: https://semaphoreci.com/4ian/gd
# - cd GDJS/tests && npm test
# - cd ../..

View File

@@ -4,7 +4,6 @@
"name": "Mac",
"includePath": [
"${workspaceRoot}",
"${workspaceRoot}/IDE",
"${workspaceRoot}/GDCpp",
"${workspaceRoot}/GDJS",
"${workspaceRoot}/Extensions",
@@ -12,29 +11,21 @@
"${workspaceRoot}/ExtLibs/SFML/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/usr/local/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/usr/include",
"/usr/local/lib/wx/include/osx_cocoa-unicode-3.0",
"/usr/local/include/wx-3.0",
"${workspaceRoot}"
],
"defines": [
"GD_IDE_ONLY",
"__WXMAC__",
"__WXOSX__",
"__WXOSX_COCOA__",
"GD_CORE_API=/* Macro used to export classes on Windows, please ignore */",
"GD_API=/* Macro used to export classes on Windows, please ignore */",
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */",
"WXUSINGDLL"
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */"
],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/usr/local/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/usr/include",
"${workspaceRoot}"
@@ -66,13 +57,9 @@
],
"defines": [
"GD_IDE_ONLY",
"__WXMAC__",
"__WXOSX__",
"__WXOSX_COCOA__",
"GD_CORE_API=/* Macro used to export classes on Windows, please ignore */",
"GD_API=/* Macro used to export classes on Windows, please ignore */",
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */",
"WXUSINGDLL"
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */"
],
"intelliSenseMode": "clang-x64",
"browse": {
@@ -102,13 +89,9 @@
"_DEBUG",
"UNICODE",
"GD_IDE_ONLY",
"__WXMAC__",
"__WXOSX__",
"__WXOSX_COCOA__",
"GD_CORE_API=/* Macro used to export classes on Windows, please ignore */",
"GD_API=/* Macro used to export classes on Windows, please ignore */",
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */",
"WXUSINGDLL"
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */"
],
"intelliSenseMode": "msvc-x64",
"browse": {
@@ -121,5 +104,5 @@
}
}
],
"version": 3
}
"version": 4
}

22
.vscode/settings.json vendored
View File

@@ -2,6 +2,7 @@
{
"files.associations": {
"*.idl": "java",
"Fastfile": "ruby",
"iosfwd": "cpp",
"functional": "cpp",
"type_traits": "cpp",
@@ -71,7 +72,19 @@
"atomic": "cpp",
"locale": "cpp",
"string_view": "cpp",
"__string": "cpp"
"__string": "cpp",
"cstring": "cpp",
"iomanip": "cpp",
"cstdint": "cpp",
"forward_list": "cpp",
"mutex": "cpp",
"__hash": "cpp",
"__debug": "cpp",
"__threading_support": "cpp",
"any": "cpp",
"array": "cpp",
"cinttypes": "cpp",
"numeric": "cpp"
},
"files.exclude": {
"Binaries/*build*": true,
@@ -88,7 +101,10 @@
"newIDE/app/resources/GDJS": true,
"newIDE/electron-app/app/www": true
},
// Support for Flowtype:
// Support for Flowtype (for newIDE):
"javascript.validate.enable": false,
"flow.useNPMPackagedFlow": true
"flow.useNPMPackagedFlow": true,
// Clang format styling (duplicated in scripts/CMakeClangUtils.txt)
"C_Cpp.clang_format_style": "{BasedOnStyle: Google, BinPackParameters: false, BinPackArguments: false}"
}

View File

@@ -1,7 +0,0 @@
#Execute this file to launch the game
#If you can not launch it, make sure that this file
#as well as 'ExeLinux' have the right to be executed
#(Right click on file > Properties)
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
./ExeLinux

View File

@@ -1,26 +0,0 @@
#Execute this file to launch GDevelop
#If you can not launch GD, make sure that this file
#as well as 'GDIDE' have the right to be executed
#(Right click on file > Properties)
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
if [ -z ${1+x} ]; then
GDK_BACKEND=x11 ./GDIDE
else
GDK_BACKEND=x11 ./GDIDE "$1"
fi
if [ "$?" = "127" ]; then
mkdir -p ~/.GDevelop
GDK_BACKEND=x11 ./GDIDE 1> ~/.GDevelop/errorMsgWhileLoadingGD.txt 2> ~/.GDevelop/errorMsgWhileLoadingGD.txt
errorMsg=$(cat < ~/.GDevelop/errorMsgWhileLoadingGD.txt)
echo "$errorMsg" | grep "loading shared"
if [ "$?" == "0" ]; then
zenity --error --text="Unable to launch GDevelop! Here is the error message:\n\n <b>$errorMsg</b>\n\nMay be a <b>package is not installed</b>.\nCheck if you can find the package in the Software Center.";
else
zenity --error --text="Unable to launch GDevelop, a unknown error happened! Here is the full error message:\n\n <b>$errorMsg</b>\n\n.";
fi;
fi;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

View File

@@ -1,906 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Animation speed scale</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TiledSpriteObject" />
<extension name="PlatformAutomatism" />
<extension name="TextObject" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
<platform name="GDevelop JS platform" />
</platforms>
<currentPlatform>GDevelop JS platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="p1_stand.png" kind="image" name="p1_stand.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_jump.png" kind="image" name="p1_jump.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk01.png" kind="image" name="p1_walk01.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk02.png" kind="image" name="p1_walk02.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk03.png" kind="image" name="p1_walk03.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk04.png" kind="image" name="p1_walk04.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk05.png" kind="image" name="p1_walk05.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk06.png" kind="image" name="p1_walk06.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk07.png" kind="image" name="p1_walk07.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk08.png" kind="image" name="p1_walk08.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk09.png" kind="image" name="p1_walk09.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk10.png" kind="image" name="p1_walk10.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk11.png" kind="image" name="p1_walk11.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="brickWall.png" kind="image" name="brickWall.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="bridge.png" kind="image" name="bridge.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="grassHalfMid.png" kind="image" name="grassHalfMid.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="castleCenter.png" kind="image" name="castleCenter.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="bridgeLogs.png" kind="image" name="bridgeLogs.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="Left.png" kind="image" name="Left.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="Right.png" kind="image" name="Right.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="ladder_mid.png" kind="image" name="ladder_mid.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="Grass.png" kind="image" name="Grass.png" smoothed="true" userAdded="true" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="252" disableInputWhenNotFocused="true" mangledName="New_32scene" name="New scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="201" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="233">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="70" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="70" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Player" width="0.000000" x="117.999947" y="449.230774" zOrder="20">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="true" height="70.000000" layer="" locked="false" name="TiledGrassPlatform" width="5262.430664" x="-583.046265" y="571.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="-581.269226" y="167.923035" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="-579.961609" y="500.076843" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="-578.653503" y="434.692230" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="-578.653503" y="369.307617" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="-578.653992" y="301.307648" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="-579.961609" y="233.307648" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="4552.730469" y="435.999939" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="4551.422363" y="501.384552" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="4552.730469" y="370.615326" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="4552.729980" y="302.615356" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="4550.114746" y="169.230743" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="4551.422363" y="234.615356" zOrder="21">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="917.730652" y="421.615326" zOrder="22">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="779.115295" y="422.923035" zOrder="22">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="848.422913" y="421.615326" zOrder="22">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="363.269226" y="420.307678" zOrder="22">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="432.576843" y="418.999969" zOrder="22">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="501.884521" y="418.999969" zOrder="22">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="572.500000" y="421.615356" zOrder="22">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="641.807617" y="420.307648" zOrder="22">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="711.115356" y="420.307648" zOrder="22">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="Nouveau calque" locked="false" name="AnimationScaleText" width="0.000000" x="18.807678" y="14.923172" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object name="Player" type="Sprite">
<variables />
<automatisms>
<automatism acceleration="1500.000000" deceleration="1500.000000" gravity="1300.000000" ignoreDefaultControls="false" jumpSpeed="1000.000000" maxFallingSpeed="1000.000000" maxSpeed="250.000000" name="PlatformerObject" slopeMaxAngle="0.000000" type="PlatformAutomatism::PlatformerObjectAutomatism" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="p1_stand.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="46.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="92.000000" />
<vertice x="0.000000" y="92.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="p1_jump.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="47.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="94.000000" />
<vertice x="0.000000" y="94.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="true" timeBetweenFrames="0.050000">
<sprites>
<sprite hasCustomCollisionMask="false" image="p1_walk03.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="p1_walk04.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="p1_walk05.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="p1_walk06.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="p1_walk07.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object name="Platform" type="Sprite">
<variables />
<automatisms>
<automatism name="Platform" platformType="NormalPlatform" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="brickWall.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="35.000000" y="35.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="70.000000" y="0.000000" />
<vertice x="70.000000" y="70.000000" />
<vertice x="0.000000" y="70.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Grass.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="35.000000" y="35.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="70.000000" y="0.000000" />
<vertice x="70.000000" y="70.000000" />
<vertice x="0.000000" y="70.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object name="Jumpthru" type="Sprite">
<variables />
<automatisms>
<automatism name="Platform" platformType="Jumpthru" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="bridgeLogs.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="35.000000" y="12.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="70.000000" y="0.000000" />
<vertice x="70.000000" y="25.000000" />
<vertice x="0.000000" y="25.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object height="70.000000" name="TiledGrassPlatform" texture="grassHalfMid.png" type="TiledSpriteObject::TiledSprite" width="70.000000">
<variables />
<automatisms>
<automatism name="Platform" platformType="NormalPlatform" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
</object>
<object height="70.000000" name="TiledCastlePlatform" texture="castleCenter.png" type="TiledSpriteObject::TiledSprite" width="70.000000">
<variables />
<automatisms>
<automatism name="Platform" platformType="NormalPlatform" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
</object>
<object name="MovingPlatform" type="Sprite">
<variables />
<automatisms>
<automatism name="Platform" platformType="Jumpthru" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="bridge.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="35.000000" y="10.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="70.000000" y="0.000000" />
<vertice x="70.000000" y="20.000000" />
<vertice x="0.000000" y="20.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object name="GoLeft" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Left.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="13.500000" y="13.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="27.000000" y="0.000000" />
<vertice x="27.000000" y="27.000000" />
<vertice x="0.000000" y="27.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object name="GoRight" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Right.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="13.500000" y="13.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="27.000000" y="0.000000" />
<vertice x="27.000000" y="27.000000" />
<vertice x="0.000000" y="27.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object height="70.000000" name="Ladder" texture="ladder_mid.png" type="TiledSpriteObject::TiledSprite" width="70.000000">
<variables />
<automatisms>
<automatism name="Platform" platformType="Ladder" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
</object>
<object bold="true" italic="false" name="AnimationScaleText" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Text</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>The &quot;Player&quot; object has an automatism called &quot;Platformer object&quot;: &#x0A;You can move it using the arrows key and the Shift key to jump.&#x0A;&#x0A;The platforms are recognized thanks to their &quot;Platform&quot; automatism.</comment>
<comment2>L&apos;objet &quot;Player&quot; possède un automatisme appelé &quot;Personnage déplaçable sur les plateformes&quot;:&#x0A;Vous pouvez le bouger avec les flèches directionnelles et utiliser la touche Shift ( ou Maj ) pour sauter.&#x0A;&#x0A;Les plateformes ont toutes un automatisme &quot;Plateforme&quot; afin d&apos;être reconnues comme telles.</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="DepartScene" />
<parameters>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimationSpeedScale" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Change the animation according to what the player do.</comment>
<comment2>On change l&apos;animation en fonction de ce que fait le joueur.</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="PlatformAutomatism::IsJumping" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="PlatformAutomatism::IsFalling" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="PlatformAutomatism::IsOnFloor" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="true" value="PlatformAutomatism::IsMoving" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="PlatformAutomatism::IsMoving" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>2</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="FlipX" />
<parameters>
<parameter>Player</parameter>
<parameter>yes</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Once" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ResetTimer" />
<parameters>
<parameter></parameter>
<parameter>&quot;movementTime&quot;</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>We use a timer to know the time elasped since the beginning of the movement. Then, we use this time to determine the speed of the player (and update the animation speed scale to accelerate the animation)</comment>
<comment2>On utilise un chronomètre pour connaître le temps écoulé depuis le début du mouvement du personnage. Ensuite, on utilise ce temps pour déterminer la vitesse du personnage (et mettre à jour l&apos;échelle de vitesse de l&apos;animation du personnage).</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="PlatformAutomatism::MaxSpeed" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
<parameter>=</parameter>
<parameter>800*(1-exp(-0.5*TimerElapsedTime(&quot;movementTime&quot;)))</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ChangeAnimationSpeedScale" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>(800*(1-exp(-0.5*TimerElapsedTime(&quot;movementTime&quot;))))/400</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Right</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="FlipX" />
<parameters>
<parameter>Player</parameter>
<parameter>no</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Once" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ResetTimer" />
<parameters>
<parameter></parameter>
<parameter>&quot;movementTime&quot;</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="PlatformAutomatism::MaxSpeed" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
<parameter>=</parameter>
<parameter>800*(1-exp(-0.5*TimerElapsedTime(&quot;movementTime&quot;)))</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ChangeAnimationSpeedScale" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>(800*(1-exp(-0.5*TimerElapsedTime(&quot;movementTime&quot;))))/400</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Make sure the camera follows the player.</comment>
<comment2>On s&apos;assure que la caméra suit le joueur.</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="CameraX" />
<parameters>
<parameter></parameter>
<parameter>=</parameter>
<parameter>Player.X()</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>AnimationScaleText</parameter>
<parameter>=</parameter>
<parameter>ToString(Player.AnimationSpeedScale())</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Management of the moving platform:</comment>
<comment2>Gestion de la plateforme bougeante:</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="DepartScene" />
<parameters>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Cache" />
<parameters>
<parameter>GoLeft</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="Cache" />
<parameters>
<parameter>GoRight</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
<layer name="Nouveau calque" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData>
<automatismSharedData name="Platform" type="PlatformAutomatism::PlatformAutomatism" />
<automatismSharedData name="PlatformerObject" type="PlatformAutomatism::PlatformerObjectAutomatism" />
</automatismsSharedData>
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

View File

@@ -1,765 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Basic Level Editor with Tile Map Object</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TileMapObject" />
<extension name="TextObject" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
</platforms>
<currentPlatform>GDevelop C++ platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="tiles_spritesheet.png" kind="image" name="tiles_spritesheet.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="../../../../n.png" kind="image" name="n.png" smoothed="true" userAdded="true" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="209" disableInputWhenNotFocused="true" mangledName="Nouvelle_32sc_232ne" name="Nouvelle scène" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Level" width="0.000000" x="100.000000" y="-100.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Help" width="0.000000" x="314.500031" y="528.500000" zOrder="2">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="CurrentTileLabel" width="0.000000" x="6.500029" y="6.500008" zOrder="3">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="CurrentTileIndicator" width="0.000000" x="9.500000" y="64.500000" zOrder="4">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object name="Level" type="TileMapObject::TileMap">
<variables />
<automatisms />
<tileSet textureName="tiles_spritesheet.png" tileSizeX="70.000000" tileSizeY="70.000000" tileSpacingX="2.000000" tileSpacingY="2.000000">
<hitboxes>
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;35|0;35" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;35|0;35" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;35|0;35" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;35|0;35" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;35|70;35|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
</hitboxes>
</tileSet>
<tileMap columns="10" rows="10">
<tiles>-1,-1,-1,-1,-1,-1,-1,-1,103,152|-1,-1,-1,68,-1,-1,-1,-1,103,152|-1,-1,-1,44,-1,-1,-1,-1,103,152|-1,-1,-1,-1,80,-1,-1,-1,103,152|-1,-1,0,-1,-1,80,-1,-1,103,152|-1,-1,-1,-1,-1,-1,68,-1,103,152|-1,-1,-1,-1,-1,-1,56,-1,103,152|-1,-1,-1,-1,-1,-1,44,-1,103,152|-1,-1,-1,-1,-1,-1,-1,-1,103,152|-1,-1,-1,-1,-1,-1,-1,-1,103,152#-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1#-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1|-1,-1,-1,-1,-1,-1,-1,-1,-1,-1</tiles>
</tileMap>
</object>
<object bold="false" italic="false" name="Help" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Left clic to add the tile, right clic to delete it.&#x0A;Use 0-5 to select a tile to add (not from the numpad)&#x0A;S to save the level, L to reload it.</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
<object bold="false" italic="false" name="CurrentTileLabel" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Current&#x0A;Tile :</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
<object name="CurrentTileIndicator" type="TileMapObject::TileMap">
<variables />
<automatisms />
<tileSet textureName="tiles_spritesheet.png" tileSizeX="70.000000" tileSizeY="70.000000" tileSpacingX="2.000000" tileSpacingY="2.000000">
<hitboxes>
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
<tileHitbox collidable="true" polygon="0;0|70;0|70;70|0;70" />
</hitboxes>
</tileSet>
<tileMap columns="1" rows="1">
<tiles>0#-1#-1</tiles>
</tileMap>
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="DepartScene" />
<parameters>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>current_tile</parameter>
<parameter>=</parameter>
<parameter>103</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Met à jour l&apos;indicateur de tuile (qui montre la tuile que l&apos;on souhaite insérer)</comment>
<comment2>Update the tile indicator (which shows the tile that will be inserted)</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="TileMapObject::SetTile" />
<parameters>
<parameter>CurrentTileIndicator</parameter>
<parameter>0</parameter>
<parameter>0</parameter>
<parameter>0</parameter>
<parameter>Variable(current_tile)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Ajoute la tuile dans l&apos;objet.&#x0A;Les expressions GetColumnAt et GetRowAt permettent de trouver la colonne et la ligne en fonction de la position (ici la position de la souris)</comment>
<comment2>Add the tile in the object.&#x0A;GetColumnAt and GetRowAt expressions allow us to get the column and the row from the position (in that case, the mouse position)</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisBouton" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Once" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TileMapObject::SetTile" />
<parameters>
<parameter>Level</parameter>
<parameter>0</parameter>
<parameter>Level.GetColumnAt(MouseX())</parameter>
<parameter>Level.GetRowAt(MouseY())</parameter>
<parameter>Variable(current_tile)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Supprime la tuile&#x0A;Similaire à l&apos;événement précédent mais on met la tuile #-1 (cela permet de supprimer la tuile)</comment>
<comment2>Remove the tile.&#x0A;Similar to the previous event but we set the tile #-1 to remove the tile.</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisBouton" />
<parameters>
<parameter></parameter>
<parameter>Right</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Once" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TileMapObject::SetTile" />
<parameters>
<parameter>Level</parameter>
<parameter>0</parameter>
<parameter>Level.GetColumnAt(MouseX())</parameter>
<parameter>Level.GetRowAt(MouseY())</parameter>
<parameter>-1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Evénements pour changer la tuile à insérer</comment>
<comment2>Events to change the tile to insert</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Num1</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>current_tile</parameter>
<parameter>=</parameter>
<parameter>103</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Num2</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>current_tile</parameter>
<parameter>=</parameter>
<parameter>152</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Num3</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>current_tile</parameter>
<parameter>=</parameter>
<parameter>80</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Num4</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>current_tile</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Num5</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>current_tile</parameter>
<parameter>=</parameter>
<parameter>132</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Sauvegarder et charger un niveau (il est juste sauvegardé dans une variable, pas dans un fichier)</comment>
<comment2>Save and load a level (just saved in a variable, not in a file)</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>s</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Once" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarSceneTxt" />
<parameters>
<parameter>save</parameter>
<parameter>=</parameter>
<parameter>Level.SaveTiles()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>l</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Once" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TileMapObject::LoadTiles" />
<parameters>
<parameter>Level</parameter>
<parameter>VariableString(save)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

View File

@@ -1,869 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Basic platformer</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TiledSpriteObject" />
<extension name="PlatformAutomatism" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
<platform name="GDevelop JS platform" />
</platforms>
<currentPlatform>GDevelop JS platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="p1_stand.png" kind="image" name="p1_stand.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_jump.png" kind="image" name="p1_jump.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk01.png" kind="image" name="p1_walk01.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk02.png" kind="image" name="p1_walk02.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk03.png" kind="image" name="p1_walk03.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk04.png" kind="image" name="p1_walk04.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk05.png" kind="image" name="p1_walk05.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk06.png" kind="image" name="p1_walk06.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk07.png" kind="image" name="p1_walk07.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk08.png" kind="image" name="p1_walk08.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk09.png" kind="image" name="p1_walk09.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk10.png" kind="image" name="p1_walk10.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="p1_walk11.png" kind="image" name="p1_walk11.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="brickWall.png" kind="image" name="brickWall.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="bridge.png" kind="image" name="bridge.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="grassHalfMid.png" kind="image" name="grassHalfMid.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="castleCenter.png" kind="image" name="castleCenter.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="bridgeLogs.png" kind="image" name="bridgeLogs.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="Left.png" kind="image" name="Left.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="Right.png" kind="image" name="Right.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="ladder_mid.png" kind="image" name="ladder_mid.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="Grass.png" kind="image" name="Grass.png" smoothed="true" userAdded="true" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="252" disableInputWhenNotFocused="true" mangledName="New_32scene" name="New scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="201" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="233">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="70" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="70" snap="true" windowMask="false" zoomFactor="0.764706" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Player" width="0.000000" x="-51.999992" y="444.000000" zOrder="20">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="210.000000" y="501.000000" zOrder="1">
<numberProperties>
<property name="animation" value="1.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="462.538483" y="300.692322" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="285.000000" y="418.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Jumpthru" width="0.000000" x="377.307709" y="359.923096" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="575.076965" y="268.769287" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="18.996670" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="627.692322" y="277.153839" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="683.000000" y="290.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="true" height="70.000000" layer="" locked="false" name="TiledGrassPlatform" width="2858.892578" x="-583.046265" y="571.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="true" height="487.461548" layer="" locked="false" name="TiledCastlePlatform" width="502.923248" x="-572.923218" y="83.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="MovingPlatform" width="0.000000" x="754.846130" y="298.615387" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1420.077026" y="499.692291" zOrder="1">
<numberProperties>
<property name="animation" value="1.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1203.000000" y="289.692291" zOrder="1">
<numberProperties>
<property name="animation" value="1.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1203.000000" y="359.692291" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1203.000000" y="499.692291" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1203.000000" y="429.692291" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1274.923096" y="499.384552" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1274.923096" y="429.384552" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1348.153931" y="499.692291" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1347.153931" y="429.692291" zOrder="1">
<numberProperties>
<property name="animation" value="1.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1274.923096" y="358.384552" zOrder="1">
<numberProperties>
<property name="animation" value="1.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="GoLeft" width="0.000000" x="1196.769287" y="291.246155" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="GoRight" width="0.000000" x="735.384583" y="295.169250" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="true" height="353.769226" layer="" locked="false" name="Ladder" width="70.000000" x="1822.769043" y="214.999985" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1822.461304" y="145.692352" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1895.999634" y="356.230774" zOrder="1">
<numberProperties>
<property name="animation" value="1.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1968.230347" y="356.230774" zOrder="1">
<numberProperties>
<property name="animation" value="1.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1895.999756" y="498.769226" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1274.923096" y="359.384552" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Platform" width="0.000000" x="1895.999756" y="426.846161" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object name="Player" type="Sprite">
<variables />
<automatisms>
<automatism acceleration="1500.000000" deceleration="1500.000000" gravity="1300.000000" ignoreDefaultControls="false" jumpSpeed="1000.000000" maxFallingSpeed="1000.000000" maxSpeed="250.000000" name="PlatformerObject" slopeMaxAngle="0.000000" type="PlatformAutomatism::PlatformerObjectAutomatism" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="p1_stand.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="46.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="92.000000" />
<vertice x="0.000000" y="92.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="p1_jump.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="47.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="94.000000" />
<vertice x="0.000000" y="94.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="true" timeBetweenFrames="0.050000">
<sprites>
<sprite hasCustomCollisionMask="false" image="p1_walk03.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="p1_walk04.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="p1_walk05.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="p1_walk06.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="p1_walk07.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="36.000000" y="48.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="72.000000" y="0.000000" />
<vertice x="72.000000" y="97.000000" />
<vertice x="0.000000" y="97.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object name="Platform" type="Sprite">
<variables />
<automatisms>
<automatism name="Platform" platformType="NormalPlatform" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="brickWall.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="35.000000" y="35.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="70.000000" y="0.000000" />
<vertice x="70.000000" y="70.000000" />
<vertice x="0.000000" y="70.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Grass.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="35.000000" y="35.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="70.000000" y="0.000000" />
<vertice x="70.000000" y="70.000000" />
<vertice x="0.000000" y="70.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object name="Jumpthru" type="Sprite">
<variables />
<automatisms>
<automatism name="Platform" platformType="Jumpthru" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="bridgeLogs.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="35.000000" y="12.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="70.000000" y="0.000000" />
<vertice x="70.000000" y="25.000000" />
<vertice x="0.000000" y="25.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object height="70.000000" name="TiledGrassPlatform" texture="grassHalfMid.png" type="TiledSpriteObject::TiledSprite" width="70.000000">
<variables />
<automatisms>
<automatism name="Platform" platformType="NormalPlatform" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
</object>
<object height="70.000000" name="TiledCastlePlatform" texture="castleCenter.png" type="TiledSpriteObject::TiledSprite" width="70.000000">
<variables />
<automatisms>
<automatism name="Platform" platformType="NormalPlatform" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
</object>
<object name="MovingPlatform" type="Sprite">
<variables />
<automatisms>
<automatism name="Platform" platformType="Jumpthru" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="bridge.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="35.000000" y="10.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="70.000000" y="0.000000" />
<vertice x="70.000000" y="20.000000" />
<vertice x="0.000000" y="20.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object name="GoLeft" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Left.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="13.500000" y="13.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="27.000000" y="0.000000" />
<vertice x="27.000000" y="27.000000" />
<vertice x="0.000000" y="27.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object name="GoRight" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Right.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="13.500000" y="13.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="27.000000" y="0.000000" />
<vertice x="27.000000" y="27.000000" />
<vertice x="0.000000" y="27.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object height="70.000000" name="Ladder" texture="ladder_mid.png" type="TiledSpriteObject::TiledSprite" width="70.000000">
<variables />
<automatisms>
<automatism name="Platform" platformType="Ladder" type="PlatformAutomatism::PlatformAutomatism" />
</automatisms>
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>The &quot;Player&quot; object has an automatism called &quot;Platformer object&quot;: &#x0A;You can move it using the arrows key and the Shift key to jump.&#x0A;&#x0A;The platforms are recognized thanks to their &quot;Platform&quot; automatism.</comment>
<comment2>L&apos;objet &quot;Player&quot; possède un automatisme appelé &quot;Personnage déplaçable sur les plateformes&quot;:&#x0A;Vous pouvez le bouger avec les flèches directionnelles et utiliser la touche Shift ( ou Maj ) pour sauter.&#x0A;&#x0A;Les plateformes ont toutes un automatisme &quot;Plateforme&quot; afin d&apos;être reconnues comme telles.</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Change the animation according to what the player do.</comment>
<comment2>On change l&apos;animation en fonction de ce que fait le joueur.</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="PlatformAutomatism::IsJumping" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="PlatformAutomatism::IsFalling" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="PlatformAutomatism::IsOnFloor" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="true" value="PlatformAutomatism::IsMoving" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="PlatformAutomatism::IsMoving" />
<parameters>
<parameter>Player</parameter>
<parameter>PlatformerObject</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Player</parameter>
<parameter>=</parameter>
<parameter>2</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="FlipX" />
<parameters>
<parameter>Player</parameter>
<parameter>yes</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Right</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="FlipX" />
<parameters>
<parameter>Player</parameter>
<parameter>no</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Make sure the camera follows the player.</comment>
<comment2>On s&apos;assure que la caméra suit le joueur.</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="CameraX" />
<parameters>
<parameter></parameter>
<parameter>=</parameter>
<parameter>Player.X()</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Management of the moving platform:</comment>
<comment2>Gestion de la plateforme bougeante:</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="DepartScene" />
<parameters>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Cache" />
<parameters>
<parameter>GoLeft</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="Cache" />
<parameters>
<parameter>GoRight</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="CollisionNP" />
<parameters>
<parameter>GoLeft</parameter>
<parameter>MovingPlatform</parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Arreter" />
<parameters>
<parameter>MovingPlatform</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>MovingPlatform</parameter>
<parameter>-150</parameter>
<parameter>0</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="CollisionNP" />
<parameters>
<parameter>GoRight</parameter>
<parameter>MovingPlatform</parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Arreter" />
<parameters>
<parameter>MovingPlatform</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>MovingPlatform</parameter>
<parameter>150</parameter>
<parameter>0</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData>
<automatismSharedData name="Platform" type="PlatformAutomatism::PlatformAutomatism" />
<automatismSharedData name="PlatformerObject" type="PlatformAutomatism::PlatformerObjectAutomatism" />
</automatismsSharedData>
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

View File

@@ -1,655 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="Network" />
<extension name="CommonDialogs" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
</platforms>
<currentPlatform>GDevelop C++ platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="Pea-Ghost.png" kind="image" name="Pea-Ghost.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="Pea-Standard.png" kind="image" name="Pea-Standard.png" smoothed="true" userAdded="true" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="128" disableInputWhenNotFocused="true" mangledName="New_32scene" name="New scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="128" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="255">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Object1" width="0.000000" x="199.000000" y="169.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Object2" width="0.000000" x="450.000000" y="167.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object name="Object1" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="true">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Pea-Standard.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="18.500000" y="18.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="37.000000" y="0.000000" />
<vertice x="37.000000" y="37.000000" />
<vertice x="0.000000" y="37.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
</directions>
</animation>
</animations>
</object>
<object name="Object2" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="true">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Pea-Ghost.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="45.000000" y="19.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="90.000000" y="0.000000" />
<vertice x="90.000000" y="39.000000" />
<vertice x="0.000000" y="39.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
</directions>
</animation>
</animations>
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Demander quel joueur prendre et se connecter à l&apos;autre ordinateur&#x0A;Choose the player and connect to the second computer.</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="DepartScene" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ShowYesNoMsgBox" />
<parameters>
<parameter></parameter>
<parameter>firstPlayer</parameter>
<parameter>&quot;Être le premier joueur ?&quot;</parameter>
<parameter>&quot;Choix du joueur&quot;</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ShowTextInput" />
<parameters>
<parameter></parameter>
<parameter>OtherIP</parameter>
<parameter>&quot;Adresse IP de l&apos;autre ordinateur&quot;</parameter>
<parameter>&quot;Connexion&quot;</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Les ports ont été personnalisés suivant que l&apos;ordinateur soit le premier ou le second joueur afin&#x0A;de permettre de pouvoir tester l&apos;exemple sur un même ordinateur ( En lançant deux fois le jeu et&#x0A;en entrant 127.0.0.1 en adresse IP )&#x0A;Ports numbers have been customized so as to allow testing the example on the same computer,&#x0A;by launching twice the game and by typing 127.0.0.1 in IP Adress.</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarSceneTxt" />
<parameters>
<parameter>firstPlayer</parameter>
<parameter>=</parameter>
<parameter>&quot;yes&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Network::ListenToPort" />
<parameters>
<parameter>50001</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="Network::AddRecipient" />
<parameters>
<parameter>VariableString(OtherIP)</parameter>
<parameter>50002</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarSceneTxt" />
<parameters>
<parameter>firstPlayer</parameter>
<parameter>=</parameter>
<parameter>&quot;no&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Network::ListenToPort" />
<parameters>
<parameter>50002</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="Network::AddRecipient" />
<parameters>
<parameter>VariableString(OtherIP)</parameter>
<parameter>50001</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>1er joueur&#x0A;First player</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarSceneTxt" />
<parameters>
<parameter>firstPlayer</parameter>
<parameter>=</parameter>
<parameter>&quot;yes&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Mise à jour de la position du joueur 2&#x0A;Update position of second player</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="Network::ReceivePackets" />
<parameters />
<subActions />
</action>
<action>
<type inverted="false" value="MettreXY" />
<parameters>
<parameter>Object2</parameter>
<parameter>=</parameter>
<parameter>Network::GetReceivedDataValue(&quot;Object2/X&quot;)</parameter>
<parameter>=</parameter>
<parameter>Network::GetReceivedDataValue(&quot;Object2/Y&quot;)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Déplacement du joueur 1&#x0A;Manage movement of first player</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Right</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>Object1</parameter>
<parameter>150</parameter>
<parameter>0</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Down</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>Object1</parameter>
<parameter>0</parameter>
<parameter>150</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Up</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>Object1</parameter>
<parameter>0</parameter>
<parameter>-150</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>Object1</parameter>
<parameter>-150</parameter>
<parameter>0</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Envoi des données du joueur 1&#x0A;Send data concerning player 1</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="Network::SendValue" />
<parameters>
<parameter>&quot;Object1/X&quot;</parameter>
<parameter>Object1.X()</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="Network::SendValue" />
<parameters>
<parameter>&quot;Object1/Y&quot;</parameter>
<parameter>Object1.Y()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Second joueur&#x0A;Second player</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarSceneTxt" />
<parameters>
<parameter>firstPlayer</parameter>
<parameter>=</parameter>
<parameter>&quot;no&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="Network::ReceivePackets" />
<parameters />
<subActions />
</action>
<action>
<type inverted="false" value="MettreXY" />
<parameters>
<parameter>Object1</parameter>
<parameter>=</parameter>
<parameter>Network::GetReceivedDataValue(&quot;Object1/X&quot;)</parameter>
<parameter>=</parameter>
<parameter>Network::GetReceivedDataValue(&quot;Object1/Y&quot;)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Right</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>Object2</parameter>
<parameter>150</parameter>
<parameter>0</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Down</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>Object2</parameter>
<parameter>0</parameter>
<parameter>150</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Up</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>Object2</parameter>
<parameter>0</parameter>
<parameter>-150</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="AddForceXY" />
<parameters>
<parameter>Object2</parameter>
<parameter>-150</parameter>
<parameter>0</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="Network::SendValue" />
<parameters>
<parameter>&quot;Object2/X&quot;</parameter>
<parameter>Object2.X()</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="Network::SendValue" />
<parameters>
<parameter>&quot;Object2/Y&quot;</parameter>
<parameter>Object2.Y()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,704 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TextObject" />
</extensions>
<platforms>
<platform name="GDevelop JS platform" />
</platforms>
<currentPlatform>GDevelop JS platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="NormalBt.png" kind="image" name="NormalBt.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="HoveredBt.png" kind="image" name="HoveredBt.png" smoothed="true" userAdded="false" />
<resource alwaysLoaded="false" file="PressedBt.png" kind="image" name="PressedBt.png" smoothed="true" userAdded="false" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="209" disableInputWhenNotFocused="true" mangledName="Simple_32button" name="Simple button" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Button" width="0.000000" x="186.000000" y="274.500000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="NewObject" width="0.000000" x="171.000015" y="369.500000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object name="Button" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="NormalBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="HoveredBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="PressedBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object bold="false" italic="false" name="NewObject" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>This is a simple button which can be hovered and&#x0A;clicked.&#x0A;Press it to go to the next scene and see an example&#x0A;with more buttons</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="true" value="SourisSurObjet" />
<parameters>
<parameter>Button</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Button</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisSurObjet" />
<parameters>
<parameter>Button</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Button</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisBouton" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Button</parameter>
<parameter>=</parameter>
<parameter>2</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="MouseButtonReleased" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Scene" />
<parameters>
<parameter></parameter>
<parameter>&quot;More buttons&quot;</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
<layout b="209" disableInputWhenNotFocused="true" mangledName="More_32buttons" name="More buttons" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="true" zoomFactor="1.000000" />
<objectsGroups>
<group name="Button">
<objects>
<object name="Button1" />
<object name="Button2" />
<object name="Button3" />
</objects>
</group>
</objectsGroups>
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Button1" width="0.000000" x="186.000000" y="135.500000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="NewObject" width="0.000000" x="172.000015" y="383.500000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Button2" width="0.000000" x="184.000000" y="199.500000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Button3" width="0.000000" x="187.000000" y="265.500000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object name="Button1" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="NormalBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="HoveredBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="PressedBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object bold="false" italic="false" name="NewObject" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Using groups, we can have the same events as before&#x0A;for handling all the buttons.</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
<object name="Button2" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="NormalBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="HoveredBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="PressedBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object name="Button3" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="NormalBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="HoveredBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="PressedBt.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="216.500000" y="29.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="433.000000" y="0.000000" />
<vertice x="433.000000" y="59.000000" />
<vertice x="0.000000" y="59.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="true" value="SourisSurObjet" />
<parameters>
<parameter>Button</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Button</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisSurObjet" />
<parameters>
<parameter>Button</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Button</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisBouton" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ChangeAnimation" />
<parameters>
<parameter>Button</parameter>
<parameter>=</parameter>
<parameter>2</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="MouseButtonReleased" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Do a specific task:</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisSurObjet" />
<parameters>
<parameter>Button1</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>NewObject</parameter>
<parameter>=</parameter>
<parameter>&quot;You clicked on Button 1!&quot;</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisSurObjet" />
<parameters>
<parameter>Button2</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>NewObject</parameter>
<parameter>=</parameter>
<parameter>&quot;You clicked on Button 2!&quot;</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisSurObjet" />
<parameters>
<parameter>Button3</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>NewObject</parameter>
<parameter>=</parameter>
<parameter>&quot;You clicked on Button 3!&quot;</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
</events>
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

View File

@@ -1,137 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="true" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TextObject" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
</platforms>
<currentPlatform>GDevelop C++ platform</currentPlatform>
</properties>
<resources>
<resources />
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="209" disableInputWhenNotFocused="true" mangledName="Scene_321" name="Scene 1" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances />
<objects />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Simple C++ code to change scene background color&#x0A;and to go to the next scene when Space is pressed</comment>
<comment2></comment2>
</event>
<event associatedGDManagedSourceFile="/tmp/GDTemporaries/GD0x384d7b0SourceFile.cpp" codeDisplayedInEditor="true" disabled="false" displayedName="" folded="false" functionNameAutogenerated="true" functionToCall="GDCppCode0x642a4f0" inlineCode='scene.SetBackgroundColor(250, 100,240);&#x0A;&#x0D;&#x0A;//Change scene when Space is pressed&#x0D;&#x0A;if ( sf::Keyboard::isKeyPressed(sf::Keyboard::Space))&#x0D;&#x0A;{&#x0D;&#x0A; scene.RequestChange(RuntimeScene::SceneChange::REPLACE_SCENE, &quot;Scene 2&quot;);&#x0D;&#x0A;}' lastChangeTimeStamp="1439372103" objectToPassAsParameter="NewObject" passObjectListAsParameter="false" passSceneAsParameter="true">
<type>BuiltinCommonInstructions::CppCode</type>
<includes>
<include>&lt;iostream&gt;</include>
<include>&lt;SFML/Window.hpp&gt;</include>
<include>&quot;GDCpp/CommonTools.h&quot;</include>
<include>&quot;TextObject/TextObject.h&quot;</include>
</includes>
<dependencies />
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
<layout b="209" disableInputWhenNotFocused="true" mangledName="Scene_322" name="Scene 2" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="NewObject" width="0.000000" x="310.000000" y="261.500000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object bold="false" italic="false" name="NewObject" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Text</string>
<font></font>
<characterSize>30</characterSize>
<color b="255" g="255" r="255" />
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>This C++ code event calls a function declared in an external C++ file.&#x0A;Please note that this file must be checked in the dependencies of the event to ensure that it is compiled.</comment>
<comment2></comment2>
</event>
<event associatedGDManagedSourceFile="/tmp/GDTemporaries/GD0x384e1f0SourceFile.cpp" codeDisplayedInEditor="true" disabled="false" displayedName="" folded="false" functionNameAutogenerated="true" functionToCall="GDCppCode0x642a558" inlineCode="MyFunction(scene);&#x0D;&#x0A;MyFunction2(objectsList);" lastChangeTimeStamp="1358446772" objectToPassAsParameter="NewObject" passObjectListAsParameter="true" passSceneAsParameter="true">
<type>BuiltinCommonInstructions::CppCode</type>
<includes>
<include>&quot;Test.h&quot;</include>
</includes>
<dependencies>
<dependency sourceFile="Test.cpp" />
</dependencies>
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles>
<sourceFile filename="/tmp/GDTemporaries/GD0x384d7b0SourceFile.cpp" gdManaged="true" language="C++" />
<sourceFile filename="Test.cpp" gdManaged="false" language="C++" />
<sourceFile filename="Test.h" gdManaged="false" language="C++" />
<sourceFile filename="/tmp/GDTemporaries/GD0x384e1f0SourceFile.cpp" gdManaged="true" language="C++" />
</externalSourceFiles>
</project>

View File

@@ -1,27 +0,0 @@
#include "GDCpp/Runtime/RuntimeScene.h"
#include "TextObject/TextObject.h" //but do not forget extensions includes
#include <iostream>
//Simple function changing scene background color.
//The function is declared in Test.h and called by Scene 2
void MyFunction(RuntimeScene & scene)
{
scene.SetBackgroundColor(240, 100,100);
}
//Another function manipulating objects this time.
void MyFunction2(std::vector<RuntimeObject*> & objectsList)
{
//Changing the positions of objects
for(unsigned int i = 0;i<objectsList.size();++i)
{
objectsList[i]->SetX(50);
}
//Manipulating the text objects more specifically thanks to GetSpecificObjects
std::vector<RuntimeTextObject*> textObjects = GetSpecificObjects<RuntimeTextObject>(objectsList);
for(unsigned int i = 0;i<textObjects.size();++i)
{
textObjects[i]->SetString("Hi, my X coordinate was changed to be 50.");
}
}

View File

@@ -1,9 +0,0 @@
class RuntimeScene;
class RuntimeObject;
//Simple function changing scene background color.
//The function is implemented in Test.cpp and called by Scene 2 using a C++ code event.
void MyFunction(RuntimeScene & scene);
//Another function implemented in Test.cpp and called by Scene 2.
void MyFunction2(std::vector<RuntimeObject*> & objectsList);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 705 B

View File

@@ -1,194 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="DestroyOutsideAutomatism" />
</extensions>
<platforms>
<platform name="GDevelop JS platform" />
<platform name="GDevelop C++ platform" />
</platforms>
<currentPlatform>GDevelop JS platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="Pea-Standard.png" kind="image" name="Pea-Standard.png" smoothed="true" userAdded="true" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="209" disableInputWhenNotFocused="true" mangledName="New_32scene" name="New scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances />
<objects>
<object name="Pea" type="Sprite">
<variables />
<automatisms>
<automatism extraBorder="0.000000" name="DestroyOutside" type="DestroyOutsideAutomatism::DestroyOutside" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Pea-Standard.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="18.500000" y="18.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="37.000000" y="0.000000" />
<vertice x="37.000000" y="37.000000" />
<vertice x="0.000000" y="37.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="NbObjet" />
<parameters>
<parameter>Pea</parameter>
<parameter>&lt;</parameter>
<parameter>15</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>CreateMorePea</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>CreateMorePea</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Create" />
<parameters>
<parameter></parameter>
<parameter>Pea</parameter>
<parameter>0</parameter>
<parameter>0</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="MettreAutourPos" />
<parameters>
<parameter>Pea</parameter>
<parameter>SceneWindowWidth()/2</parameter>
<parameter>SceneWindowHeight()/2</parameter>
<parameter>10</parameter>
<parameter>Random(360)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AddForceAL" />
<parameters>
<parameter>Pea</parameter>
<parameter>Random(360)</parameter>
<parameter>300</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ChangeColor" />
<parameters>
<parameter>Pea</parameter>
<parameter>ToString(Random(255))+&quot;;255;&quot;+ToString(Random(255))</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>CreateMorePea</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 778 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

View File

@@ -1,748 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="95" major="4" minor="0" revision="8" />
<properties folderProject="false" linuxExecutableFilename="" macExecutableFilename="" packageName="com.example.gamename" projectFile="C:\Users\Maciel\Programacion\gits\GD\Binaries\Output\Release_Windows\Examples\Copy_Variables.gdg" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TextObject" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
<platform name="GDevelop JS platform" />
</platforms>
<currentPlatform>GDevelop C++ platform</currentPlatform>
</properties>
<resources>
<resources />
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="30" disableInputWhenNotFocused="true" mangledName="Scene" name="Scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="30" standardSortMethod="false" stopSoundsOnStartup="true" title="" v="30">
<uiSettings grid="false" gridB="80" gridG="80" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="80" gridWidth="32" snap="true" windowMask="false" zoomFactor="0.701632" />
<objectsGroups />
<variables>
<variable name="Scene">
<children>
<variable name="A" value="5" />
<variable name="B">
<children>
<variable name="alpha">
<children>
<variable name="x" value="5.5" />
<variable name="y" value="-8" />
</children>
</variable>
<variable name="beta" value="150;255;150" />
<variable name="gamma" value="Apples" />
</children>
</variable>
</children>
</variable>
</variables>
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="DebugText" width="0.000000" x="400.000000" y="300.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables>
<variable name="ID" value="3" />
</initialVariables>
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="DebugText" width="0.000000" x="20.000000" y="20.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables>
<variable name="ID" value="0" />
</initialVariables>
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="DebugText" width="0.000000" x="400.000000" y="20.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables>
<variable name="ID" value="1" />
</initialVariables>
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="DebugText" width="0.000000" x="20.000000" y="300.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables>
<variable name="ID" value="2" />
</initialVariables>
</instance>
</instances>
<objects>
<object bold="false" italic="false" name="DebugText" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<behaviors />
<string>DebugText</string>
<font></font>
<characterSize>24</characterSize>
<color b="220" g="220" r="220" />
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="128" g="255" r="128" textB="0" textG="0" textR="0" />
<comment>Update debug text at the beginning (only Scene variable will be drawn because others haven&apos;t childrend)</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="DepartScene" />
<parameters>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>Update</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="128" g="255" r="128" textB="0" textG="0" textR="0" />
<comment>If &quot;A&quot; key is pressed, convert the Scene variable into JSON and parse it into a Global variable, then randomize a child from the Global structure, to identify it</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>a</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Once" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="JSONToGlobalVariableStructure" />
<parameters>
<parameter>ToJSON(Scene)</parameter>
<parameter>Global</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarGlobal" />
<parameters>
<parameter>Global.B.alpha.x</parameter>
<parameter>=</parameter>
<parameter>Random(1000)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>Update</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="128" g="255" r="128" textB="0" textG="0" textR="0" />
<comment>If &quot;S&quot; key is pressed, convert the Global variable into JSON and parse it into an Object variable, then randomize another child from the Object structure, to identify it</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>s</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="VarObjet" />
<parameters>
<parameter>DebugText</parameter>
<parameter>ID</parameter>
<parameter>=</parameter>
<parameter>2</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Once" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="JSONToObjectVariableStructure" />
<parameters>
<parameter>GlobalVarToJSON(Global)</parameter>
<parameter>DebugText</parameter>
<parameter>Object</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarObjet" />
<parameters>
<parameter>DebugText</parameter>
<parameter>Object.B.alpha.y</parameter>
<parameter>=</parameter>
<parameter>Random(1000)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>Update</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="128" g="255" r="128" textB="0" textG="0" textR="0" />
<comment>If &quot;D&quot; key is pressed, convert the Object variable into JSON (note there are no whitespaces after the &quot;,&quot; before the variable name in the ObjectVarToJSON) and parse it into another scene variable Scene_2</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyPressed" />
<parameters>
<parameter></parameter>
<parameter>d</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="VarObjet" />
<parameters>
<parameter>DebugText</parameter>
<parameter>ID</parameter>
<parameter>=</parameter>
<parameter>2</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Once" />
<parameters />
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="JSONToVariableStructure" />
<parameters>
<parameter>ObjectVarToJSON(DebugText,Object)</parameter>
<parameter>Scene_2</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>Update</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="128" g="255" r="128" textB="0" textG="0" textR="0" />
<comment>Time to update the debug text objects, set Update = 0 to update it only once, and start a counter &quot;i&quot; = 0</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>Update</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>Update</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>i</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="128" g="255" r="128" textB="0" textG="0" textR="0" />
<comment>Repeat 4 times because there are 4 debug objects, in each repeat select the object with ID = i (counter variable)&#x0A;Update the counter variable (i + 1)&#x0A;Clear the temporal variable Temp, otherwise children are kept from one update to another, messing up the test</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Repeat</type>
<repeatExpression>4</repeatExpression>
<conditions>
<condition>
<type inverted="false" value="VarObjet" />
<parameters>
<parameter>DebugText</parameter>
<parameter>ID</parameter>
<parameter>=</parameter>
<parameter>Variable(i)</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>i</parameter>
<parameter>+</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="VariableClearChildren" />
<parameters>
<parameter>Temp</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="128" g="255" r="128" textB="0" textG="0" textR="0" />
<comment>Set starting title in function of the debug object ID, and copy the testing variables into the variable Temp (this way Temp will be equal to one of the variables under test)</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarObjet" />
<parameters>
<parameter>DebugText</parameter>
<parameter>ID</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>=</parameter>
<parameter>&quot;Scene&quot; + NewLine()</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="JSONToVariableStructure" />
<parameters>
<parameter>ToJSON(Scene)</parameter>
<parameter>Temp</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarObjet" />
<parameters>
<parameter>DebugText</parameter>
<parameter>ID</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>=</parameter>
<parameter>&quot;Global&quot; + NewLine()</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="JSONToVariableStructure" />
<parameters>
<parameter>GlobalVarToJSON(Global)</parameter>
<parameter>Temp</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarObjet" />
<parameters>
<parameter>DebugText</parameter>
<parameter>ID</parameter>
<parameter>=</parameter>
<parameter>2</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>=</parameter>
<parameter>&quot;Object&quot; + NewLine()</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="JSONToVariableStructure" />
<parameters>
<parameter>ObjectVarToJSON(DebugText,Object)</parameter>
<parameter>Temp</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarObjet" />
<parameters>
<parameter>DebugText</parameter>
<parameter>ID</parameter>
<parameter>=</parameter>
<parameter>3</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>=</parameter>
<parameter>&quot;Scene_2&quot; + NewLine()</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="JSONToVariableStructure" />
<parameters>
<parameter>ToJSON(Scene_2)</parameter>
<parameter>Temp</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="128" g="255" r="128" textB="0" textG="0" textR="0" />
<comment>Copy values from variable Test in the debug object, to draw it, one debug object is selected at each iteration and one variable is copy into Temp variable</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VariableChildExists" />
<parameters>
<parameter>Temp</parameter>
<parameter>&quot;A&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>+</parameter>
<parameter>&quot;____A = &quot; + VariableString(Temp.A) + NewLine()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VariableChildExists" />
<parameters>
<parameter>Temp</parameter>
<parameter>&quot;B&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>+</parameter>
<parameter>&quot;____B&quot; + NewLine()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VariableChildExists" />
<parameters>
<parameter>Temp.B</parameter>
<parameter>&quot;alpha&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>+</parameter>
<parameter>&quot;________alpha&quot; + NewLine()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VariableChildExists" />
<parameters>
<parameter>Temp.B.alpha</parameter>
<parameter>&quot;x&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>+</parameter>
<parameter>&quot;____________x = &quot; + VariableString(Temp.B.alpha.x) + NewLine()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VariableChildExists" />
<parameters>
<parameter>Temp.B.alpha</parameter>
<parameter>&quot;y&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>+</parameter>
<parameter>&quot;____________y = &quot; + VariableString(Temp.B.alpha.y) + NewLine()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VariableChildExists" />
<parameters>
<parameter>Temp.B</parameter>
<parameter>&quot;beta&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>+</parameter>
<parameter>&quot;________beta = &quot; + VariableString(Temp.B.beta) + NewLine()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VariableChildExists" />
<parameters>
<parameter>Temp.B</parameter>
<parameter>&quot;gamma&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>DebugText</parameter>
<parameter>+</parameter>
<parameter>&quot;________gamma = &quot; + VariableString(Temp.B.gamma)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
</events>
</event>
</events>
</event>
</events>
<layers>
<layer name="New layer" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
<effects />
</layer>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
<effects />
</layer>
</layers>
<behaviorsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

View File

@@ -1,299 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TextObject" />
<extension name="CommonDialogs" />
<extension name="AdvancedXML" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
</platforms>
<currentPlatform>GDevelop C++ platform</currentPlatform>
</properties>
<resources>
<resources />
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="209" disableInputWhenNotFocused="true" mangledName="New_32scene" name="New scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Explanation" width="0.000000" x="23.000000" y="200.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Explanation_fr" width="0.000000" x="28.000000" y="282.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object bold="false" italic="true" name="Explanation" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Launch the scene, choose a file, and then open the file&#x0A;to see the result.</string>
<font></font>
<characterSize>30</characterSize>
<color b="0" g="0" r="0" />
</object>
<object bold="false" italic="true" name="Explanation_fr" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Lancez la scène, choisissez un fichier et ouvrez le pour voir le résultat.</string>
<font></font>
<characterSize>15</characterSize>
<color b="0" g="0" r="0" />
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Let&apos;s create an XML file with this structure:&#x0A;&#x0A;&lt;Root&gt;&#x0A; &lt;MyFirstElement myAttribute=&quot;valueOfMyAttribute&quot; /&gt;&#x0A; &lt;!--Nice comment--&gt;&#x0A; &lt;MySecondElement&gt;&#x0A; &lt;MyRepeatedElement randomAttribute=&quot;4.000000&quot; /&gt;&#x0A; ... repeated 10 times&#x0A; &lt;MyRepeatedElement randomAttribute=&quot;4.000000&quot; /&gt;&#x0A; &lt;/MySecondElement&gt;&#x0A;&lt;/Root&gt;&#x0A;</comment>
<comment2>Créeons un fichier avec cette structure</comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="DepartScene" />
<parameters>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="AdvancedXML::NewFile" />
<parameters>
<parameter>&quot;MyDocument&quot;</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::CreateNewElement" />
<parameters>
<parameter>&quot;Root&quot;</parameter>
<parameter>0</parameter>
<parameter>&quot;Root&quot;</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::InsertElementIntoAnother" />
<parameters>
<parameter>&quot;Root&quot;</parameter>
<parameter>&quot;MyDocument&quot;</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="AdvancedXML::CreateNewElement" />
<parameters>
<parameter>&quot;MyFirstElement&quot;</parameter>
<parameter>0</parameter>
<parameter>&quot;MyFirstElement&quot;</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::CreateNewElement" />
<parameters>
<parameter>&quot;MySecondElement&quot;</parameter>
<parameter>0</parameter>
<parameter>&quot;MySecondElement&quot;</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::InsertElementIntoAnother" />
<parameters>
<parameter>&quot;MyFirstElement&quot;</parameter>
<parameter>&quot;Root&quot;</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::InsertElementIntoAnother" />
<parameters>
<parameter>&quot;MySecondElement&quot;</parameter>
<parameter>&quot;Root&quot;</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::SetAttributeString" />
<parameters>
<parameter>&quot;MyFirstElement&quot;</parameter>
<parameter>&quot;myAttribute&quot;</parameter>
<parameter>=</parameter>
<parameter>&quot;valueOfMyAttribute&quot;</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Repeat</type>
<repeatExpression>10</repeatExpression>
<conditions />
<actions>
<action>
<type inverted="false" value="AdvancedXML::CreateNewElement" />
<parameters>
<parameter>&quot;MyRepeatedElement&quot;</parameter>
<parameter>0</parameter>
<parameter>&quot;MyRepeatedElement&quot;</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::InsertElementIntoAnother" />
<parameters>
<parameter>&quot;MyRepeatedElement&quot;</parameter>
<parameter>&quot;MySecondElement&quot;</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::SetAttributeNumber" />
<parameters>
<parameter>&quot;MyRepeatedElement&quot;</parameter>
<parameter>&quot;randomAttribute&quot;</parameter>
<parameter>=</parameter>
<parameter>Random(10)</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="AdvancedXML::CreateNewElement" />
<parameters>
<parameter>&quot;MyComment&quot;</parameter>
<parameter>2</parameter>
<parameter>&quot;Nice comment&quot;</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::InsertElementIntoAnother" />
<parameters>
<parameter>&quot;MyComment&quot;</parameter>
<parameter>&quot;Root&quot;</parameter>
<parameter>&quot;MySecondElement&quot;</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="ShowOpenFile" />
<parameters>
<parameter>&quot;C:\test.txt&quot;</parameter>
<parameter>file</parameter>
<parameter>&quot;Choose where to save the file&quot;</parameter>
<parameter>&quot;XML file (*.xml)&quot;</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="AdvancedXML::SaveFile" />
<parameters>
<parameter>VariableString(file)</parameter>
<parameter>&quot;MyDocument&quot;</parameter>
<parameter>=</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 317 B

View File

@@ -1,222 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory>/home/florian/Project</latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TextObject" />
</extensions>
<platforms>
<platform name="GDevelop JS platform" />
<platform name="GDevelop C++ platform" />
</platforms>
<currentPlatform>GDevelop JS platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="green_racer.png" kind="image" name="green_racer.png" smoothed="true" userAdded="false" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables>
<variable name="RotateKey" value="Up" />
</variables>
<layouts>
<layout b="209" disableInputWhenNotFocused="true" mangledName="New_32scene" name="New scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="LastKeyPressed" width="0.000000" x="74.500000" y="208.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="LastKey" width="0.000000" x="288.500000" y="208.000000" zOrder="2">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Player" width="0.000000" x="356.499939" y="439.500000" zOrder="3">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Explanation" width="0.000000" x="141.500000" y="318.000000" zOrder="4">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object bold="false" italic="false" name="LastKeyPressed" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Last key you pressed:</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
<object bold="true" italic="false" name="LastKey" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Text</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
<object name="Player" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="green_racer.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="52.000000" y="32.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="104.000000" y="0.000000" />
<vertice x="104.000000" y="65.000000" />
<vertice x="0.000000" y="65.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object bold="false" italic="false" name="Explanation" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>By default, press &quot;Up&quot; arrow key to rotate the object.&#x0A;&#x0A;Click/touch the object and press a key at&#x0A;the same time to change the key used to rotate the object:</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>LastKey</parameter>
<parameter>=</parameter>
<parameter>LastPressedKey()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="KeyFromTextPressed" />
<parameters>
<parameter></parameter>
<parameter>GlobalVariableString(RotateKey)</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Rotate" />
<parameters>
<parameter>Player</parameter>
<parameter>180</parameter>
<parameter>LastPressedKey()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisSurObjet" />
<parameters>
<parameter>Player</parameter>
<parameter>GlobalVariableString(RotateKey)</parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="SourisBouton" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarGlobalTxt" />
<parameters>
<parameter>RotateKey</parameter>
<parameter>=</parameter>
<parameter>LastPressedKey()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

View File

@@ -1,424 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>-1</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="Light" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
</platforms>
<currentPlatform>GDevelop C++ platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="2DWoodBox.jpg" kind="image" name="2DWoodBox.jpg" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="Herbe.png" kind="image" name="Herbe.png" smoothed="true" userAdded="true" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="192" disableInputWhenNotFocused="true" mangledName="New_32scene" name="New scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="192" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="192">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Light" width="0.000000" x="68.000000" y="50.000000" zOrder="-5">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="512.000000" y="192.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="512.000000" y="256.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="512.000000" y="320.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="320.000000" y="128.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="45.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="128.000000" y="64.000000" zOrder="0">
<numberProperties>
<property name="animation" value="2679776.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="45.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="83.000000" y="109.000000" zOrder="0">
<numberProperties>
<property name="animation" value="2679776.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="128.000000" y="256.000000" zOrder="45">
<numberProperties>
<property name="animation" value="-1616405248.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Light2" width="0.000000" x="320.000000" y="256.000000" zOrder="-1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="45.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="569.000000" y="117.000000" zOrder="0">
<numberProperties>
<property name="animation" value="2679776.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="45.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="524.000000" y="162.000000" zOrder="0">
<numberProperties>
<property name="animation" value="2679776.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="640.000000" y="320.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="640.000000" y="256.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Light3" width="0.000000" x="595.000000" y="281.000000" zOrder="-2">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Background" width="0.000000" x="0.000000" y="0.000000" zOrder="-10">
<numberProperties>
<property name="animation" value="2679776.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Background" width="0.000000" x="600.000000" y="0.000000" zOrder="-10">
<numberProperties>
<property name="animation" value="2679776.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Background" width="0.000000" x="0.000000" y="450.000000" zOrder="-10">
<numberProperties>
<property name="animation" value="2679776.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Background" width="0.000000" x="600.000000" y="450.000000" zOrder="-10">
<numberProperties>
<property name="animation" value="2679776.000000" />
</numberProperties>
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Light4" width="0.000000" x="73.000000" y="472.000000" zOrder="-3">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Box" width="0.000000" x="108.000000" y="408.000000" zOrder="0">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object colorB="255" colorG="0" colorR="0" globalColorA="255" globalColorB="255" globalColorG="255" globalColorR="255" globalLight="false" intensity="150.000000" name="Light" quality="16" radius="200.000000" type="Light::Light">
<variables />
<automatisms />
</object>
<object name="Box" type="Sprite">
<variables />
<automatisms>
<automatism name="LightObstacle" type="Light::LightObstacleAutomatism" />
</automatisms>
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="2DWoodBox.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="32.000000" y="32.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="64.000000" y="0.000000" />
<vertice x="64.000000" y="64.000000" />
<vertice x="0.000000" y="64.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="2DWoodBox.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="32.000000" y="32.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="64.000000" y="0.000000" />
<vertice x="64.000000" y="64.000000" />
<vertice x="0.000000" y="64.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="2DWoodBox.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="32.000000" y="32.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="64.000000" y="0.000000" />
<vertice x="64.000000" y="64.000000" />
<vertice x="0.000000" y="64.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="2DWoodBox.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="32.000000" y="32.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="64.000000" y="0.000000" />
<vertice x="64.000000" y="64.000000" />
<vertice x="0.000000" y="64.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="2DWoodBox.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="32.000000" y="32.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="64.000000" y="0.000000" />
<vertice x="64.000000" y="64.000000" />
<vertice x="0.000000" y="64.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="2DWoodBox.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="32.000000" y="32.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="64.000000" y="0.000000" />
<vertice x="64.000000" y="64.000000" />
<vertice x="0.000000" y="64.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="2DWoodBox.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="32.000000" y="32.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="64.000000" y="0.000000" />
<vertice x="64.000000" y="64.000000" />
<vertice x="0.000000" y="64.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="2DWoodBox.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="32.000000" y="32.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="64.000000" y="0.000000" />
<vertice x="64.000000" y="64.000000" />
<vertice x="0.000000" y="64.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object colorB="64" colorG="0" colorR="128" globalColorA="255" globalColorB="255" globalColorG="255" globalColorR="255" globalLight="false" intensity="150.000000" name="Light2" quality="16" radius="400.000000" type="Light::Light">
<variables />
<automatisms />
</object>
<object colorB="225" colorG="255" colorR="255" globalColorA="255" globalColorB="255" globalColorG="255" globalColorR="255" globalLight="false" intensity="150.000000" name="Light3" quality="16" radius="300.000000" type="Light::Light">
<variables />
<automatisms />
</object>
<object name="Background" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="true">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Herbe.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="300.000000" y="225.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="600.000000" y="0.000000" />
<vertice x="600.000000" y="450.000000" />
<vertice x="0.000000" y="450.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites />
</direction>
</directions>
</animation>
</animations>
</object>
<object colorB="0" colorG="128" colorR="255" globalColorA="255" globalColorB="255" globalColorG="255" globalColorR="255" globalLight="false" intensity="150.000000" name="Light4" quality="16" radius="150.000000" type="Light::Light">
<variables />
<automatisms />
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="MettreXY" />
<parameters>
<parameter>Light2</parameter>
<parameter>=</parameter>
<parameter>MouseX()</parameter>
<parameter>=</parameter>
<parameter>MouseY()</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData>
<automatismSharedData name="LightObstacle" type="Light::LightObstacleAutomatism" />
</automatismsSharedData>
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

View File

@@ -1,197 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TextObject" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
</platforms>
<currentPlatform>GDevelop C++ platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="MusicGemsAndMeMedium.png" kind="image" name="MusicGemsAndMeMedium.png" smoothed="true" userAdded="false" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="175" disableInputWhenNotFocused="true" mangledName="New_32scene" name="New scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="233" standardSortMethod="false" stopSoundsOnStartup="true" title="" v="221">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="true" zoomFactor="1.000000" />
<objectsGroups />
<variables>
<variable name="RawJSONResponse" value="0" />
<variable name="response" value="0" />
</variables>
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="LastMusicText" width="0.000000" x="208.000000" y="141.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Logo" width="0.000000" x="504.000000" y="323.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Txt1" width="0.000000" x="13.000015" y="141.000000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="About" width="0.000000" x="57.999992" y="458.000000" zOrder="5">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object bold="true" italic="false" name="LastMusicText" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Text</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
<object name="Logo" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="MusicGemsAndMeMedium.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="150.000000" y="141.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="300.000000" y="0.000000" />
<vertice x="300.000000" y="282.000000" />
<vertice x="0.000000" y="282.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object bold="false" italic="false" name="Txt1" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Latest played music:&#x0A;&#x0A;( Look at the content of the RawJSONResponse variable to see the returned JSON )</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
<object bold="false" italic="true" name="About" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Visit www.gemsand.me for more information about</string>
<font></font>
<characterSize>20</characterSize>
<color b="0" g="0" r="0" />
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="DepartScene" />
<parameters>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="SendRequest" />
<parameters>
<parameter>&quot;http://gemsand.me&quot;</parameter>
<parameter>&quot;/server.php&quot;</parameter>
<parameter>&quot;type=get&amp;what=latestvideostitles&quot;</parameter>
<parameter>&quot;POST&quot;</parameter>
<parameter></parameter>
<parameter>RawJSONResponse</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="JSONToVariableStructure" />
<parameters>
<parameter>VariableString(RawJSONResponse)</parameter>
<parameter>response</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>LastMusicText</parameter>
<parameter>=</parameter>
<parameter>VariableString(response[&quot;0&quot;].title)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions />
<events />
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

View File

@@ -1,186 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>Project</name>
<author></author>
<windowWidth>800</windowWidth>
<windowHeight>600</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
</extensions>
<platforms>
<platform name="GDevelop JS platform" />
</platforms>
<currentPlatform>GDevelop JS platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="Pea-Standard.png" kind="image" name="Pea-Standard.png" smoothed="true" userAdded="true" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="209" disableInputWhenNotFocused="true" mangledName="New_32scene" name="New scene" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Pea" width="0.000000" x="411.999969" y="203.500031" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Pea" width="0.000000" x="90.000000" y="97.500015" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Pea" width="0.000000" x="468.000000" y="303.500000" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Pea" width="0.000000" x="572.000000" y="97.500015" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Pea" width="0.000000" x="147.000000" y="300.500031" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Pea" width="0.000000" x="315.000000" y="140.500031" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Pea" width="0.000000" x="200.999985" y="205.500031" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
<instance angle="0.000000" customSize="false" height="0.000000" layer="" locked="false" name="Pea" width="0.000000" x="417.000031" y="65.500015" zOrder="1">
<numberProperties />
<stringProperties />
<initialVariables />
</instance>
</instances>
<objects>
<object name="Pea" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="Pea-Standard.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="18.500000" y="18.500000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="37.000000" y="0.000000" />
<vertice x="37.000000" y="37.000000" />
<vertice x="0.000000" y="37.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Custom javascript code can access to the specified objects and to the scene:</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::JsCode</type>
<inlineCode>for(var i = 0;i&lt;objects.length;++i) {&#x0A;&#x09;objects[i].setAngle(Math.cos(runtimeScene.getTimeFromStart()/100)*90);&#x0A;}</inlineCode>
<parameterObjects>Pea</parameterObjects>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Of course, objects are picked as in any other event: here, a window is displaying the coordinates of the pea that was clicked.</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="SourisSurObjet" />
<parameters>
<parameter>Pea</parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="SourisBouton" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::JsCode</type>
<inlineCode>var pea = objects[0];&#x0A;if (!pea) {&#x0A;&#x09;return;&#x0A;}&#x0A;window.alert(&quot;You clicked on Pea at position &quot;+&#x0A;&#x09;pea.getX()+&quot;;&quot;+pea.getY()+&quot; !&quot;);</inlineCode>
<parameterObjects>Pea</parameterObjects>
</event>
</events>
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Some files were not shown because too many files have changed in this diff Show More