Compare commits

...

889 Commits

Author SHA1 Message Date
Florian Rival
00eda8ced8 Bump newIDE version 2020-05-29 18:46:42 +02:00
Florian Rival
7ca5ef6e6c Update translations 2020-05-29 10:12:48 +02:00
Florian Rival
ff8f7e5877 Fix loading spinner still shown after failing to open a project
Don't show in changelog
2020-05-29 09:52:48 +02:00
Harsimran Singh Virk
c8739e3c24 Add Nord theme (#1722) 2020-05-26 23:20:40 +02:00
Florian Rival
69eacedc2b Fix pathfinding obstacle actions not working
Fix #1773
2020-05-26 09:09:16 +02:00
Florian Rival
e5f229e3f7 Fix typo 2020-05-25 10:37:52 +02:00
Florian Rival
74e43f2b43 Fix isPreview
Don't show in changelog
2020-05-24 20:06:10 +02:00
Arthur Pacaud
a04f641415 Add a condition to check if the game is running as a preview (#1740) 2020-05-24 19:01:22 +02:00
Arthur Pacaud
2e5a9e2cfa Fix path to newly created project not persisted between tabs (#1763) 2020-05-22 13:12:27 +02:00
Harsimran Singh Virk
cd4bfd767a Add menu to open recent projects (#1762) 2020-05-19 21:56:55 +02:00
Florian Rival
d9135636fe Fix currentStorageProvider lost after using it in ProjectStorageProviders
Don't show in changelog
2020-05-19 20:30:30 +02:00
Florian Rival
88e08ab7d8 Add AppVeyor status badge to Readme
Don't show in changelog
2020-05-18 21:14:50 +02:00
Florian Rival
6a3af0d57a Fix importing of GDevelop.js to newIDE
Was failing when newIDE was not installed.
Don't show in changelog.
2020-05-18 09:41:23 +02:00
Florian Rival
95b4091085 Fix importing of libGD.js for newIDE tests
Don't show in changelog
2020-05-18 00:04:31 +02:00
Florian Rival
5556766059 Speed up GDevelop.js compilation when "-- --dev" is specified
* This is done by compiling to wasm, without re-translating to JS, which is fine as it's for development only.
2020-05-17 22:37:13 +02:00
Florian Rival
1332582a03 Add methods to add/remove effects to gdjs.Layer
Don't show in changelog
2020-05-17 21:06:00 +02:00
Todor Imreorov
77177063d8 Add an action to clear the state of the Dialogue Tree (#1752)
* This is useful when launching a new game or restarting it.
2020-05-17 21:04:07 +02:00
Florian Rival
ed7ddd2b67 Improve autocompletions for JavaScript code events and for the game engine 2020-05-17 19:30:58 +01:00
Florian Rival
990f59d093 Remove dead code related to debugger opening
Don't show in changelog
2020-05-17 16:06:19 +01:00
Florian Rival
6326c185f4 Refactor Debugger to use a PreviewDebuggerServer abstraction
This will allow the PreviewLaunchers to also start this debugger server (and not only give this ability to the Debugger editor tab).
In the future, this also allow the web-app to have a different implementation of a debugger server.

Don't show in changelog
2020-05-17 16:06:19 +01:00
Florian Rival
9c6972ec0a Fix code generation of extensions when preview started when editing an extension
Don't show in changelog
2020-05-16 16:46:48 +01:00
Florian Rival
814577edff Fix changes made in extensions sometimes not applied to previews
This is because the previews were not waiting for extensions to be fully loaded, which could create problems especially on the web-app when extensions generation is slower (depends on the network speed).
2020-05-16 16:46:48 +01:00
Florian Rival
a8ea4b8fe7 Fix missing translations of preview button menus 2020-05-16 16:46:48 +01:00
Florian Rival
494666e690 Improve Preview buttons
* Show them on the left of the toolbar, always visible.
* Remember the last edited scene or external layout.
* Allow to override the default scene with an external layout.
2020-05-16 16:46:48 +01:00
Sanskar Bajpai
e5a24e3e32 Add missing numpad keys to the list of keyboard keys (#1758) 2020-05-16 12:14:51 +02:00
Florian Rival
68771be104 Fix crash when renaming or deleting a scene (regression in beta 94)
Fix #1756
2020-05-15 21:33:57 +02:00
Florian Rival
9d2bff9442 Improve changelog extractor
Don't mention in changelog
2020-05-14 22:06:27 +02:00
Florian Rival
6a08fb9a86 Bump newIDE version 2020-05-14 21:06:56 +02:00
Florian Rival
c96c3ff1a2 Comment debugging code in MainFrame
Don't show in changelog
2020-05-14 20:57:51 +02:00
Florian Rival
788d557f0e Fix dead code and project stripping
Don't show in changelog
2020-05-14 20:56:02 +02:00
Florian Rival
4f17d526ab Fix typo 2020-05-14 19:26:04 +02:00
Florian Rival
bc27364bb8 Refactor editor containers and their usage in MainFrame
* Ensure all editor are properly flow typed
* Avoid using potentially-stale closures in MainFrame for editors
* Slightly reduce the complexity inside MainFrame now that these risky closures are not necessary anymore
2020-05-13 17:10:49 +01:00
Florian Rival
1fd719fb41 Fix color picker fields that couldn't be focused 2020-05-13 09:42:07 +02:00
Florian Rival
f7e93c2a13 Remove dead code
Don't show in changelog
2020-05-10 23:27:26 +02:00
Florian Rival
c268b19264 Refactor MainFrame callbacks and ProjectStorageProviders
Don't show in changelog
2020-05-10 21:15:25 +01:00
Florian Rival
6baef705eb Refactor a state in MainFrame
Don't show in changelog
2020-05-10 17:27:11 +02:00
Florian Rival
fe8295a6e3 Fix OpenFromStorageProviderDialog opened after opening a Google Drive file
Don't show in changelog
2020-05-10 17:24:08 +02:00
Florian Rival
de616de3fc Refactor a prop typing and extract a state in MainFrame
Don't show in changelog
2020-05-10 16:45:31 +02:00
Harsimran Singh Virk
9e725c58b5 Refactor MainFrame as a functional component with hooks (#1684) 2020-05-10 16:09:55 +02:00
Florian Rival
37028de2f4 Fix warning 2020-05-10 14:09:49 +02:00
Florian Rival
509dd8ff10 Improve changelog extractor
Don't show in changelog
2020-05-10 12:46:24 +02:00
Florian Rival
4c38bcffa8 Fix help icon size in the expression selector 2020-05-10 12:34:10 +02:00
Florian Rival
90c2cc7e44 Fix error highlighting offset in expression fields 2020-05-10 12:33:49 +02:00
Florian Rival
bd6e4206a2 Fix error display at startup
Don't mention in changelog
2020-05-09 12:16:01 +02:00
Florian Rival
9cf5755a90 Refactor loading of libGD.js into index.js, with cache busting 2020-05-09 00:38:07 +02:00
Florian Rival
11c29f444e Add doc for gdjs.RuntimeScene setBackgroundColor and getBackgroundColor 2020-05-08 22:47:23 +02:00
Florian Rival
11475b9cf3 Update make-version-metadata.js comment 2020-05-08 17:42:12 +02:00
Florian Rival
e5476f5712 Bump newIDE version 2020-05-08 17:42:01 +02:00
Florian Rival
e7457c7564 Update translations 2020-05-08 15:39:15 +02:00
Florian Rival
fd015f9ee4 Add script to extract changelog since last git tag 2020-05-08 15:15:19 +02:00
Todor Imreorov
394eb9488c Fix various DialogueTree ("Yarn") bugs (#1671)
* Fix command at the start of a node merges its text with the node that linked to it
* Fix Yarn skipping text results when commands are used in some cases
* Fix setting/getting variables
* Fix text failing to load when first node is of type text
* Add internal debug mode logging to Yarn
* Fix isdialoguelinetype command never true
* Fix new lines in text not properly detected
* Increase strictness on scrolling so it never overflows
* Fix command call detection for non scrolling text
* Fix: add back autoscroll commands, but make it safer and move it to the scroll function
* Use explicit variable types when setting bondagejs state
* Fix command not getting called sometimes 
* Fix text not terminating sometimes
2020-05-08 12:14:14 +02:00
Florian Rival
dd771ea3d1 Rework margins in the whole editor
Reduce list item heights to 32px:
* All lists showing items have items with height of 32px
* Toolbars height: 32px
* Remove padding around texts in tables to ensure 32px height
* Reduce right padding to 8px for consistency with tables

Densify form controls:
* Use spacers (4px) between form controls (ColumnStackLayout)
  * Adapt all editors to use ColumnStackLayout
* Use small version of IconButton
* Cancel margins around checkboxes

Normalize dialogs margins:
* All dialog titles margins are 8px
* All dialog content margins are 8px (same as Column margins)

Reduce tabs height to 32px
2020-05-05 18:37:00 +01:00
Quarkstar
140c7f52cb Fix changing font size of BBText objects using events (#1730) 2020-05-04 18:36:34 +02:00
Florian Rival
cb14f7cfa5 Run code formatting on EventsCodeGenerator.cpp 2020-05-04 17:33:22 +01:00
Florian Rival
93e8dd4002 Improve GDJS code generation integration tests 2020-05-04 17:33:22 +01:00
Florian Rival
b91a2da81c Fix subconditions with custom generated code conditions (like And condition with Equal condition)
* Fix #1729.
* Add an integration test, to test the generated code.
2020-05-04 17:33:22 +01:00
Florian Rival
d6f99c5841 Fix warning 2020-05-03 15:24:39 +02:00
Quarkstar
d2dc352c2a Fix intermittent rendering issues of Panel Sprites corners (#1726) 2020-05-03 15:20:31 +02:00
Florian Rival
f3dc69ea68 Update to Electron 8.2.5 2020-05-02 21:24:58 +02:00
Florian Rival
f4522291fc Fix formatting 2020-05-02 17:24:37 +02:00
Aurélien Vivet
60d7901054 Mark events search as dirty when options are changed (#1721) 2020-05-02 16:25:26 +02:00
Florian Rival
b19e71fe85 Fix scrolling in Debugger 2020-05-01 17:20:36 +02:00
Florian Rival
2b9524651f Rework object name text field styling and some fields width 2020-05-01 16:35:20 +02:00
Florian Rival
680aa3fa6b Remove dead code 2020-05-01 16:29:03 +02:00
Florian Rival
25f8bddfcf Rework scrollbar styling 2020-05-01 15:07:06 +02:00
Florian Rival
a02e5952a3 Adapt subscription plans wording 2020-05-01 13:34:51 +02:00
Florian Rival
b382b99ece Adapt valid color in DefaultTheme 2020-05-01 12:40:42 +02:00
Florian Rival
f6b16da334 Reduce scrollbar thickness 2020-05-01 12:34:53 +02:00
Florian Rival
130912f3c8 Rework scrollbar styling 2020-05-01 12:27:29 +02:00
Aurélien Vivet
49418351d4 Add various cosmetic improvement (including scrollbar) (#1714)
* Color green on icons for current plan
* More precise details on exports
* Move LocalFolderPicker on top
* Styled scrollbar
2020-05-01 11:55:53 +02:00
Florian Rival
cbad5de106 Use the new action/condition editor by default 2020-04-30 23:27:42 +02:00
Florian Rival
1e33a1c6f0 Update README to create AppImage for distributing GDevelop 2020-04-30 21:42:28 +02:00
Florian Rival
997c251a07 Fix typo 2020-04-30 08:59:32 +02:00
Florian Rival
a14e854f4e Fix warning 2020-04-29 21:53:07 +02:00
Florian Rival
b0af6c88fe Make search bar height smaller and use an alternate background color 2020-04-29 20:45:02 +01:00
Florian Rival
08b1f3b5fe Make dark theme separators more visible and panel borders same color 2020-04-29 20:45:02 +01:00
Florian Rival
b392192def Fix scroll in LayersList 2020-04-29 20:45:02 +01:00
Florian Rival
1759e85b84 Add persistence of editor panel layouts 2020-04-29 20:45:02 +01:00
Florian Rival
a3d223ae39 Move InstancesList in a panel and reorder SceneEditor toolbar 2020-04-29 20:45:02 +01:00
Florian Rival
d2fa8c43cf Make LayersList responsive 2020-04-29 20:45:02 +01:00
Florian Rival
dc0dcb673f Add LayersList to stories 2020-04-29 20:45:02 +01:00
Florian Rival
fa2c1bed79 Fix crash (infinite loop) in EventsFunctionsExtensionEditor on small screens 2020-04-29 21:35:31 +02:00
Florian Rival
8489cc3e70 Remove outdated screenshot 2020-04-29 18:20:27 +02:00
Arthur Pacaud
0150e197b0 Add user home path to File System extension (#1705) 2020-04-29 09:29:34 +02:00
Florian Rival
f5a6ca0246 Fix BrowserFileSystem tests on Windows 2020-04-27 22:18:35 +02:00
Arthur Pacaud
a53b63680c Rename multiLine to multiline (#1703)
To be consistent with material-ui's documentation
2020-04-27 22:10:20 +02:00
Arthur Pacaud
2489a26a08 Remove links to non-existing sourcemaps (#1695) 2020-04-27 18:59:58 +02:00
Florian Rival
2346e41936 Fix ProjectManager state not preserved when closed and re-opened 2020-04-27 09:51:57 +02:00
Florian Rival
0b5980d0b6 Make LocalFileSystem robust against removing a file failure.
Might fix 1683
2020-04-26 19:06:45 +02:00
Aurélien Vivet
99fc0b7b46 Fix actions to change color, font size and font family of BBText (#1688) 2020-04-24 22:44:44 +02:00
Jimil Desai
fb45454951 Allow to step through search results by pressing Enter in Events Sheet (#1582) 2020-04-24 22:36:21 +02:00
Florian Rival
9abfa741ce Fix potential crash in EventsSheet when using undo/redo
Fix #1678
2020-04-24 09:59:49 +02:00
Florian Rival
980081516a Fix BrowserFileSystem 2020-04-23 17:58:58 +02:00
Florian Rival
f1bed6ead9 Refactor EventsSheet to use ResponsiveWindowMeasurer 2020-04-23 10:08:56 +02:00
Florian Rival
e139c0218b Update outdated package-lock.json 2020-04-22 19:09:24 +02:00
Florian Rival
ffd0cf8808 Fix height of ResourcePreview 2020-04-22 10:16:24 +02:00
Quarkstar
ae87d3298e Fix renaming an object not updating JavaScript code events using it (#1681) 2020-04-21 18:03:57 +02:00
Florian Rival
6b7a9dd39c Refactor InstancesEditor 2020-04-20 21:58:20 +01:00
Florian Rival
5a3686d6a3 Update to react-measure 2.3.0 2020-04-20 21:58:20 +01:00
Quarkstar
bfef000cc6 Change a structure back to a number/string when its last child is removed (#1677) 2020-04-20 18:09:59 +02:00
Florian Rival
c000a735bb Open object editor when an instance is double clicked 2020-04-19 12:51:56 +02:00
Aurélien Vivet
21e034863e Fix Advanced Bloom effect (#1670)
Fixing "Uncaught (in promise) TypeError: r.KawaseBlurFilter is not a constructor"
2020-04-18 22:09:46 +02:00
Florian Rival
72b883654b Fix scrollbar positioning in scene editors 2020-04-18 19:32:52 +02:00
Nilay Majorwar
b1152b9059 Refactor ElectronMainMenu as a functional component (#1657) 2020-04-18 19:18:06 +02:00
Nilay Majorwar
7d48b85d42 Fix zoom shortcuts for non-Mac platforms (#1644) 2020-04-18 19:13:30 +02:00
Florian Rival
fb8926dd66 Allow all dialogs to be closed with Escape (or backdrop click) 2020-04-18 19:05:55 +02:00
Florian Rival
9ce195e371 Fix Behaviors list opening as a column 2020-04-18 18:44:58 +02:00
Florian Rival
f88f8b60d6 Make icon positioning consistent in RaisedButton and fix warnings 2020-04-18 18:38:06 +02:00
Quarkstar
4eb8ddfba6 Fix renamed object not updated in ForEach or Repeat event (#1654) 2020-04-18 18:24:47 +02:00
Florian Rival
aaab3cb212 Rework layers editor and other misc changes
* Ensure ColorPicker is never shown out of the window area
* Refactor TreeTable
* Fix text in LayerRemoveDialog
* Put layers editor in a panel rather than a Drawer
* Use a RaisedButton to add a variable
2020-04-18 17:24:03 +01:00
Florian Rival
6b3ce705aa Make separation between editor panels clearer 2020-04-18 17:24:03 +01:00
gautamv95
988a7fdb9d Fix typo (#1667) 2020-04-18 14:56:16 +02:00
Florian Rival
11592b11c4 Update GDJS documentation generation README 2020-04-18 14:55:27 +02:00
Florian Rival
e8791fcdf9 Update GDJS/package-lock.json 2020-04-18 11:44:05 +02:00
Florian Rival
e661923fd3 Update GenerateAllDocs.bat 2020-04-18 11:21:27 +02:00
Florian Rival
61c57059fa Update GenerateAllDocs.sh 2020-04-18 11:21:15 +02:00
Arthur Pacaud
922019eef0 Add type checking for WebsocketDebuggerClient (#1664) 2020-04-17 22:01:31 +02:00
Florian Rival
79ca28fbdb Bump newIDE version 2020-04-16 23:05:04 +02:00
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
4663 changed files with 251843 additions and 549989 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/

10
.gitignore vendored
View File

@@ -1,11 +1,7 @@
/Core/GDCore/Tools/VersionPriv.h
/docs/GDJS Runtime Documentation
/docs/GDJS Documentation
/docs/GDCpp Documentation
/docs/GDCore Documentation
/docs
/ExtLibs/SFML
/ExtLibs/*.7z
/scripts/Repository keys
/scripts/logs/*.txt
/scripts/gdcore-gdcpp-gdjs-extensions-messages.pot
/Binaries/.build*
@@ -48,9 +44,6 @@
/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
@@ -66,3 +59,4 @@
**/.DS_Store
**/node_modules/
.idea
.vscode/ipch

View File

@@ -13,20 +13,24 @@ env:
global:
- GCC_VERSION="4.8"
services:
# Virtual Framebuffer 'fake' X server for SFML
- xvfb
addons:
artifacts:
s3_region: "us-east-1"
target_paths:
- /$(git rev-parse HEAD)
- /$(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/Output/libGD.js/Release
- Binaries/embuild/GDevelop.js
apt:
sources:
- ubuntu-toolchain-r-test
packages:
# Build dependencies:
# (Cmake 3+ is required by Emscripten)
- cmake3
- cmake
- p7zip-full
- g++-4.8
# SFML dependencies:
@@ -43,9 +47,8 @@ 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.10_amd64.deb
- 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:
@@ -60,8 +63,8 @@ install:
# Install Emscripten (for GDevelop.js)
- git clone https://github.com/juj/emsdk.git
- cd emsdk
- ./emsdk install sdk-1.37.37-64bit
- ./emsdk activate sdk-1.37.37-64bit
- ./emsdk install 1.39.6
- ./emsdk activate 1.39.6
- source ./emsdk_env.sh
- cd ..
# Install GDevelop.js dependencies and compile it

View File

@@ -2,6 +2,7 @@
{
"files.associations": {
"*.idl": "java",
"Fastfile": "ruby",
"iosfwd": "cpp",
"functional": "cpp",
"type_traits": "cpp",
@@ -80,7 +81,10 @@
"__hash": "cpp",
"__debug": "cpp",
"__threading_support": "cpp",
"any": "cpp"
"any": "cpp",
"array": "cpp",
"cinttypes": "cpp",
"numeric": "cpp"
},
"files.exclude": {
"Binaries/*build*": true,

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 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: 285 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

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: 26 KiB

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: 757 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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 B

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: 360 B

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 B

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: 2.5 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: 1.0 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

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