Compare commits

...

2120 Commits

Author SHA1 Message Date
Florian Rival
24091db88b Add deploy step to upload GDJS (and extensions) Runtime for web-app 2020-02-05 22:09:16 +00:00
Florian Rival
4ec3f1f082 Merge pull request #1406 from 4ian/refactor/emscripten-1.39
Upgrade to Emscripten 1.39.6
2020-02-05 21:58:31 +00:00
Florian Rival
991378e004 Remove debug message 2020-02-05 21:42:28 +00:00
Florian Rival
dfaee92d24 Fix GDevelop.js tests on Windows 2020-02-05 21:35:28 +00:00
Florian Rival
b07c71cb9c Exclude emsdk from tests in GDevelop.js 2020-02-05 21:27:41 +00:00
Florian Rival
cb0c0f903f Avoid full rebuild when changing a CMake parameter in GDevelop.js 2020-02-05 20:52:03 +00:00
Florian Rival
a81a121a8d Fix test coverage not running with Node environment 2020-02-02 20:24:31 +00:00
Florian Rival
7bf892c7eb Upgrade to Emscripten 1.39.6 2020-02-02 19:32:09 +00:00
Aurélien Vivet
ce4fdbe4f8 Add option to search in event texts (comments, group names) (#1398) 2020-02-01 18:45:15 +00:00
Florian Rival
d82bbdc1af Create CNAME for hosting on editor.gdevelop-app.com
This file is required by GitHub when using a custom domain with GitHub pages.
Now required because of using Cloudflare directly instead of Cloudfront.
2020-02-01 14:01:33 +00:00
Florian Rival
62dca91637 Fix formatting 2020-02-01 13:00:51 +00:00
Florian Rival
1e1c5f7206 Fix drag'n'drop of selected event invalidating the event in memory (potential crash) 2020-02-01 12:33:50 +00:00
Florian Rival
7c9e6ee6f1 Prevent larger texts in landscape mode on Safari iOS 2020-01-30 21:29:55 +00:00
Florian Rival
5690de71c5 Remove useless define in GDevelop.js 2020-01-30 08:24:48 +00:00
Florian Rival
eae2a06a4e Improve export speed (~20%) by memoizing mangled names 2020-01-28 23:57:37 +00:00
Florian Rival
4affa25672 Fix compilation on recent compilers
Fix compilation with latest Emscripten
2020-01-28 22:49:54 +00:00
Florian Rival
7b30f63cb1 Remove unused variables 2020-01-27 23:15:27 +00:00
Arthur Pacaud
574bdaaf41 Refactor SpriteRuntimeObject types to add prefix "Sprite" (#1378)
Also remove useless parseFloat
2020-01-27 22:54:28 +00:00
Florian Rival
bff43ee771 Remove dead code related to old ExpressionParser 2020-01-27 22:08:48 +00:00
Aurélien Vivet
9b9b6c5996 Fix usage of getFontFamily in BBText instance renderer (#1399) 2020-01-27 20:51:07 +00:00
Florian Rival
721872e45b Fix race condition between extension loading and GDJS development watcher 2020-01-27 20:18:35 +00:00
Arthur Pacaud
edd9ec94cf Add @arthuro555 to credits (#1396) 2020-01-27 18:21:18 +00:00
Florian Rival
c986c52409 Add document explaining platforms and exporters 2020-01-26 20:43:39 +00:00
Aurélien Vivet
168b8d3fea Simplify the Loop checkbox in Sprite editor (#1397) 2020-01-26 17:20:47 +00:00
Florian Rival
47025329dd Remove remaining old functions to register objects/behaviors 2020-01-26 10:53:49 +00:00
Aurélien Vivet
9f05a65ed2 Add font selector for BBText object (#1394) 2020-01-25 19:44:13 +00:00
Florian Rival
370c6d03ad Update estimated build time for electron builds 2020-01-20 21:32:30 +00:00
Aurélien Vivet
b650ff3aa5 Improve credits (#1391) 2020-01-20 20:34:56 +00:00
Florian Rival
285ff6f5f5 Update the script to extract expressions reference 2020-01-19 15:29:59 +00:00
Florian Rival
81f292941f Add help button in ExpressionSelector to open expressions reference 2020-01-19 14:12:25 +00:00
Florian Rival
eb27ba7c86 Improve script to extract expressions reference documentation
Still need to add parameters
2020-01-19 12:27:51 +00:00
Florian Rival
01a844c356 Refactor import-GDJS-Runtime script to use Node.js 2020-01-18 14:27:36 +00:00
Arthur Pacaud
054e48227c Make object and behavior registering more explicit (#1379) 2020-01-17 22:49:24 +00:00
Florian Rival
9adc40a55d Add script to extract all the expressions available in GDevelop 2020-01-16 23:44:26 +00:00
Bouh
034c734568 Fix unaligned text for "Unknown behavior" (#1382)
- Remove useless span
- Remove useless style related to span
- Use `Text` for Unknown behavior to ensure alignement and correct font.
2020-01-16 20:19:15 +00:00
Florian Rival
b65aed4c02 Merge pull request #1380 from 4ian/feature/notarization-macos
Enable notarization on macos
2020-01-16 19:35:20 +00:00
Florian Rival
adbcef8f59 Build zip for macOS on CircleCI 2020-01-16 08:56:06 +00:00
Florian Rival
44dbbd7138 Add notarization for macOS 2020-01-15 23:34:25 +00:00
Florian Rival
3e63e34d61 Upgrade electron-builder to 20.44.4 and electron-updater to 4.2.0 2020-01-15 20:53:49 +00:00
Florian Rival
dc976003b7 Add action to center the window on screen 2020-01-14 22:03:10 +00:00
Florian Rival
fb3002cd77 Add version metadata in analytics 2020-01-14 21:41:05 +00:00
Florian Rival
b25752907f Fix effects not applied in exported games 2020-01-13 22:31:54 +00:00
Florian Rival
72da63afcb Fix broken Text and TiledSprite objects 2020-01-13 21:51:35 +00:00
Florian Rival
ab5a593ab3 Use resources.gdevelop-app.com for static content serving 2020-01-13 21:23:24 +00:00
Florian Rival
71dcb20b7b Fix date not removed from generated GDJS HTML documentation 2020-01-13 19:35:23 +00:00
Florian Rival
61ffb40dee Remove date from generated documentation HTML 2020-01-13 08:56:08 +00:00
Florian Rival
07152639d1 Ensure npm install is run before running jsdoc with GenerateAllDocs 2020-01-12 23:51:31 +00:00
Florian Rival
6655a949ec Fix GDJS doc generation (incompatible TypeScript/JSDoc notations) 2020-01-12 23:33:39 +00:00
Arthur Pacaud
99312c71e0 Improve overall type annotations (#1361)
* Add type annotation for ObjectData and related types.
* Add missing type annotations.
* Add // @ts-check to some files.
2020-01-12 20:14:00 +00:00
Bouh
3abb5a393d Set object names in bold in dark theme (like in light theme) (#1366) 2020-01-12 20:12:51 +00:00
Florian Rival
010b52ced6 Update documentation urls to docs.gdevelop-app.com/... 2020-01-12 18:45:39 +00:00
Florian Rival
7a1ce790d4 Make "Allow again jumping" action description clearer 2020-01-10 23:40:20 +00:00
Florian Rival
fbdf530e00 Refactor upload, removing dependency on AWS S3 2020-01-10 23:29:15 +00:00
Florian Rival
ee1e67a367 Bump newIDE version 2020-01-07 20:52:26 +00:00
Florian Rival
5eded536b8 Rework builds/previews 2020-01-07 20:51:20 +00:00
Florian Rival
fa511d5faa Bump newIDE version 2020-01-07 18:09:30 +00:00
Florian Rival
a0887a1982 Fix rendering of particles not using a texture 2020-01-06 23:41:15 +00:00
Florian Rival
975a5a44cc Bump newIDE version 2020-01-06 22:55:20 +00:00
Florian Rival
252315d0d1 Fix ExpressionParametersEditorDialog being too small for expression selectors 2020-01-06 21:52:00 +00:00
Bouh
cbd7a70059 Fix help page link in Effects List dialog (#1352) 2020-01-06 14:11:56 +00:00
Florian Rival
d9a8f79926 Fix "Number of objects" condition not showing the object name anymore 2020-01-06 08:22:50 +00:00
Florian Rival
a417e3c9db Bump newIDE version 2020-01-06 08:19:38 +00:00
Florian Rival
7530b4e137 Don't open devtools by default 2020-01-05 20:37:31 +00:00
Florian Rival
e0adc2a924 Update translations 2020-01-05 18:36:43 +00:00
Florian Rival
a4227dac78 Normalize naming of addExpression parameters in BBText extension 2020-01-03 22:43:41 +00:00
Florian Rival
4e76f28fd3 Fix BBText sentences and help page path 2020-01-03 22:36:57 +00:00
Florian Rival
3b89284fd2 Normalize/fix some action/condition sentences 2020-01-03 22:29:08 +00:00
Florian Rival
dd8a0c7158 Add additional descriptions to anchor behavior properties 2020-01-02 21:33:36 +00:00
Florian Rival
641d87b097 Update Platformer example to adapt its width dynamically
This is good testbed for anchor behavior + dynamic game resolution adaptation to the window
2020-01-02 21:33:36 +00:00
Florian Rival
64dbab1bce Fix layer center position after resolution update 2020-01-02 21:33:36 +00:00
Florian Rival
dc4e68dd21 Add actions to change game resolution resize mode 2020-01-02 21:33:36 +00:00
Florian Rival
9d3cd9f110 Add option to automatically resize game resolution to window size
* Also refactor:
  * method names related to window/game resolution
  * runtime game renderer size handling

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

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

* refactor filters to fit api updates

* use else ifs

* Run Prettier on JsExtension.js

* Update names and descriptions

* Update crt-pixi-filter.js

* Fix godray

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

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

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

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

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

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

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

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

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

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

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

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

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

Improve some typings

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

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

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

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

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

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

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

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

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

Thanks @Lizard-13 for this great work!
2018-04-08 21:33:37 +02:00
Lizard-13
1019aaba5f Update exporter and improve readability 2018-04-08 11:48:28 -03:00
Lizard-13
5770ac6396 Add support for particles in web platform 2018-04-07 23:51:28 -03:00
Florian Rival
7171f691a3 Display global groups in italic 2018-04-05 20:20:18 +02:00
Florian Rival
0ad7b71cf2 Bump newIDE version 2018-04-04 17:08:52 +02:00
Florian Rival
006d7296a2 Fix AudioResourceField not properly shown when editing it inline in EventsSheet 2018-04-04 17:07:44 +02:00
Florian Rival
443c49f83e Fix regression due to broken Variable and VariablesContainer copy ctor and assignement operator 2018-04-04 15:10:08 +02:00
Florian Rival
9884965595 Merge pull request #458 from 4ian/audio-resource-support
Audio resource support
2018-04-04 13:15:59 +02:00
Florian Rival
e0379466e0 Add more flowtype coverage 2018-04-04 11:54:58 +02:00
Florian Rival
622cba4642 Move ResourceSelectorWithThumbnail and add ResourceThumbnail 2018-04-04 11:46:14 +02:00
Florian Rival
50c7a582ef Add AudioPreview 2018-04-04 11:23:49 +02:00
Florian Rival
e501fd4a09 Add AudioResourceField 2018-04-04 10:36:59 +02:00
Florian Rival
29808c8800 Bump newIDE version 2018-04-03 21:47:13 +02:00
Florian Rival
fcfb71132c Bump GDCore version 2018-04-03 21:21:32 +02:00
Florian Rival
2017d34197 Make explicit to install InnoSetup Unicode to generate GD4 Windows installer 2018-04-03 18:54:20 +02:00
Florian Rival
662c7bd397 Add missing header files 2018-04-03 18:49:05 +02:00
Florian Rival
cf5011c149 Merge pull request #457 from 4ian/feature/copy-paste-delete-variables-list
Copy/paste/delete variables for GDevelop 5
2018-04-03 18:31:31 +02:00
Florian Rival
954520ae3b Add comment about compiler version for compiling GDCore/GDCpp/IDE 2018-04-03 18:31:06 +02:00
Florian Rival
6ffcd6dfb0 Merge branch 'master' of https://github.com/4ian/GD 2018-04-02 21:53:41 +02:00
Florian Rival
80e7a6010a Add missing std::endl in Light_Manager sometimes creating conflicts with
FileStream.

* Other files should be audited for missing std::endl.
* FileStream should be protected against this.
2018-04-02 21:49:29 +02:00
Florian Rival
0dc023ba89 Improve renaming of pasted objects in newIDE 2018-04-02 12:25:17 +02:00
Florian Rival
e70021d0dd Refactor Variable/VariablesContainer and add copy/paste/delete to VariablesList in newIDE 2018-04-01 23:42:52 +02:00
Florian Rival
eb63bda7d2 [WIP] Change VariablesContainer to keep references to variables valid after a removal/move/swap 2018-04-01 20:19:54 +02:00
Florian Rival
10833aa45d [WIP] Add copy/paste/delete in VariablesList in newIDE 2018-04-01 19:44:22 +02:00
Florian Rival
eed844357e Add WindowBorder color to layout background 2018-04-01 16:56:29 +02:00
Florian Rival
6d91676dab Bump version 2018-04-01 01:44:32 +02:00
Florian Rival
69410d62ea Fix theming of objects parameters conflicting between default and dark theme 2018-04-01 01:11:12 +02:00
Florian Rival
977425e700 Add explanation about how to compile libGD.js manually 2018-03-31 13:19:57 +02:00
Lizard-13
50746b3c75 Still trying to fix Travis CI 2018-03-30 23:25:11 -03:00
Lizard-13
1c5364f917 Trying to fix the Travis CI compiling error 2018-03-30 21:51:50 -03:00
Lizard-13
89d099ff7d Add Cocos renderer support 2018-03-30 21:20:01 -03:00
Florian Rival
49d409260a Add TODO about a performance improvement for Sprite collision mask in native game engine 2018-03-31 00:20:41 +02:00
Florian Rival
a50b62a2d8 Update links in README 2018-03-30 23:53:17 +02:00
Florian Rival
6b21ebcc9b Merge pull request #455 from 4ian/feature/collision-mask-editor
Collision mask editor for GDevelop 5
2018-03-30 23:46:51 +02:00
Florian Rival
3c8aa4a249 Display circle for each vertex of collision mask polygons 2018-03-30 23:12:49 +02:00
Florian Rival
a8e9fa5895 Ensure polygon vertices are not put outside the sprite bounding box 2018-03-30 23:05:11 +02:00
Florian Rival
c9f8b4a8ed [WIP] Add preview of default bounding box collision mask 2018-03-30 22:52:22 +02:00
Florian Rival
6b38479166 [WIP] Factor selectors of PointsEditor and CollisionMasksEditor into SpriteSelector 2018-03-30 22:44:19 +02:00
Florian Rival
4ccbc1b958 [WIP] Add preview of collision mask polygons 2018-03-30 22:01:21 +02:00
Florian Rival
54d7d284c8 [WIP] Add CollisionMasksEditor in newIDE (preview not yet done) 2018-03-30 18:06:21 +02:00
Lizard-13
ca1721ef9a Load skeletal data file only once through shared data
Now each file is readed only once, multiple instances will share static data as default values and animation keys.

Also converted all tabs into spaces :)
2018-03-29 19:25:43 -03:00
Florian Rival
58ed74e020 Add help button about Play Store when one-click Android packaging is finished 2018-03-30 00:00:15 +02:00
Florian Rival
e8ce83b162 Bump version 2018-03-29 22:34:06 +02:00
Florian Rival
9b91f06011 Add menu item to set an object as global 2018-03-29 22:09:23 +02:00
Florian Rival
17247cbbf1 Ensure coordinates of objects moved with the mouse are round 2018-03-29 22:05:42 +02:00
Florian Rival
10b81dd232 Fix StartPage snapshot test 2018-03-25 20:19:48 +02:00
Florian Rival
3f3a5dbd3b Remove warnings and add Flow on StartPage 2018-03-25 20:05:35 +02:00
Florian Rival
6ff8ee749d Fix changes wrongly discarded in ObjectField 2018-03-17 17:21:40 +01:00
Florian Rival
db5f146818 Fix errors with some parameter fields 2018-03-17 17:18:03 +01:00
Lizard-13
ddcf51a2b7 Add custom hitbox action and fix polygons draw 2018-03-14 22:09:25 -03:00
Florian Rival
b7467afd1b Bump newIDE version 2018-03-12 21:59:10 +01:00
Florian Rival
ee993f0cdb Improve performance by stopping rendering of InstancesEditor when the SceneEditor/ExternalLayoutEditor is not displayed 2018-03-11 22:30:53 +01:00
Florian Rival
bc6d3ce16f Use italic font to display global objects in ObjectsList in newIDE 2018-03-11 22:02:42 +01:00
Florian Rival
1fae899497 Enhance VariableField to display children variables too 2018-03-11 16:50:38 +01:00
Florian Rival
8319f60c95 Update VariableField completions when variables are edited 2018-03-11 16:01:49 +01:00
Florian Rival
f6fe1a3205 Enhance performance of ParameterFields components 2018-03-11 15:47:40 +01:00
Florian Rival
01e2b53a3f Improve GenericExpressionField performance 2018-03-10 22:10:39 +01:00
Florian Rival
da9eb3cea7 Ensure ObjectsGroupEditorDialog position on screen is always correct 2018-03-10 21:36:13 +01:00
Florian Rival
c044b32c04 Improve performance of ObjectSelector by avoiding constant re-renderings 2018-03-10 21:35:44 +01:00
Lizard-13
46279e7762 Add JS events functions and hitboxes debug draw 2018-03-10 14:54:17 -03:00
Florian Rival
4936b014ae Improve performance of VariablesEditorDialog and ensure dialog position is always correct 2018-03-10 17:07:19 +01:00
Florian Rival
c1cd0d8780 Use SemiControlledTextField in SpriteEditor to enhance performance/responsiveness 2018-03-10 16:55:45 +01:00
Lizard-13
557af32cc9 Add custom icons 2018-02-27 21:51:15 -03:00
Lizard-13
729a85a9a9 Add extension conditions/actions/expressions 2018-02-27 19:10:36 -03:00
Lizard-13
34146c2f18 Added gdjs.sk namespace for better organization 2018-02-27 19:10:23 -03:00
Lizard-13
00146bb8f8 Add animation and animation blending system 2018-02-27 19:10:11 -03:00
Lizard-13
6026d79ebb Support for armatures, meshes* and polygons
*Meshes needs PIXI lib update
2018-02-27 19:10:07 -03:00
Lizard-13
fc28f272b3 Images color, alpha, visible, z support 2018-02-27 19:10:02 -03:00
Lizard-13
9702db06a5 Basic images working 2018-02-27 19:09:55 -03:00
Lizard-13
209f83d697 Basic classes setup 2018-02-27 19:09:47 -03:00
Lizard-13
0ef8eb32a5 Base extension info and files tree
Files named Ax, By, Cz... as a temporal fix for include order
2018-02-27 19:09:42 -03:00
Lizard-13
8115b8181e Empty working object 2018-02-27 19:09:31 -03:00
Florian Rival
e79a328748 Bump newIDE version 2018-02-25 23:24:20 +01:00
Florian Rival
2083ee1029 Update hosted GDJS root for previews in browser with S3 in newIDE 2018-02-25 23:24:10 +01:00
Florian Rival
3e982cdd87 Add link to roadmap in newIDE readme 2018-02-25 22:58:06 +01:00
Florian Rival
883527b289 Fix tests 2018-02-25 22:38:46 +01:00
Florian Rival
a4d84efdd5 Add support for editing properties of resources in ResourcePropertiesEditor in newIDE 2018-02-25 22:35:17 +01:00
Florian Rival
e46c8493bc Refactor Resource to use gd::PropertyDescriptor for custom properties 2018-02-25 22:17:04 +01:00
Florian Rival
4c443b09cf Update zombie-laser example for newIDE 2018-02-25 18:57:14 +01:00
Florian Rival
98bc2236f4 Merge pull request #445 from Lizard-13/raycast-1
Add Raycast condition
2018-02-25 18:08:43 +01:00
Florian Rival
5199299639 Add analytics when a user choose a new subscription plan 2018-02-25 17:45:49 +01:00
Florian Rival
3268d1db25 Merge pull request #451 from 4ian/feature/profile-in-context
Preview over wifi, GDevelop splash and minor improvements
2018-02-25 17:36:34 +01:00
Florian Rival
741770924b Remove useless package & update subscription descriptions 2018-02-25 17:34:55 +01:00
Florian Rival
49aa9469bb Add SubscriptionChecker when trying to deactivate GDevelop splash in ProjectPropertiesDialog 2018-02-25 17:19:24 +01:00
Florian Rival
7cbe34436c Improve design of SubscriptionDialog and SubscriptionCheckDialog 2018-02-25 16:40:48 +01:00
Lizard-13
122f7ecf3e Fix date functions (#450) 2018-02-25 14:13:23 +01:00
Florian Rival
d79bdd9554 Add SubscriptionChecker to ask users to get a subscription if needed 2018-02-24 20:34:59 +01:00
Lizard-13
3e331cb2e8 Fix event description string (#448) 2018-02-24 19:02:15 +01:00
Florian Rival
361fb6aeab Move UserProfile into a single object provided by a Provider (using react-create-context)
Can be updated later to use the new React Context API once it's ready
SubscriptionCheckDialog is still a Work-In-Progress.
2018-02-24 16:23:45 +01:00
Florian Rival
b4a76895ee [WIP] Display dialog asking for a subscription when starting network preview
TODO: Refactor to store user profile in a context/store to avoid de-synchronisation
between components using UserProfileContainer.
2018-02-24 14:31:08 +01:00
Florian Rival
b2251e1a12 Fix external layout previews for web-app 2018-02-23 15:55:19 +01:00
Florian Rival
1c1860370a Prevent pinch-to-zoom on exported games/preview and set black address bar 2018-02-23 15:24:35 +01:00
Florian Rival
1a190b2a44 Add Network Preview (Preview over wifi) to newIDE with live reload 2018-02-23 12:41:18 +01:00
Florian Rival
b1e0f72416 Add local server in Electron app (to serve previews over wifi) 2018-02-20 08:31:13 +01:00
Florian Rival
2c4ae7573e Add LoadingScreen in project properties to allow to show/hide splash at startup 2018-02-18 23:02:26 +01:00
Florian Rival
04ff1f2726 Add GDevelop Splashscreen at game startup 2018-02-18 21:55:42 +01:00
Florian Rival
eaa5200f95 Fix warning 2018-02-18 17:00:05 +01:00
Florian Rival
53c749b79e Update some links in newIDE to the new GDevelop website (gdevelop-app.com) 2018-02-18 16:30:39 +01:00
Lizard-13
eb96ee8497 Fix @static hint 2018-02-17 17:56:07 -03:00
Lizard-13
458444ee7b Implement collinear case 2018-02-17 16:02:13 -03:00
Lizard-13
c8eb13f18f Minor fixes
Removed circle code, unused includes and debug lines.
Improved extension strings.
Added reference link.
Updated "Laser and zombies.gdg" example
2018-02-17 16:01:11 -03:00
Lizard-13
a224b93edc Remove circle from test game 2018-02-17 16:01:00 -03:00
Lizard-13
f077ca6723 Commented out circle raycasting and added icons 2018-02-17 16:00:52 -03:00
Lizard-13
6bbfa1d4a1 Implement C++ version
And little fixes on the JS version
2018-02-17 16:00:32 -03:00
Lizard-13
3c3dc6ef6e Implement raycast JS version and test game 2018-02-17 16:00:18 -03:00
Lizard-13
5c101dbcda Engine condition set up
Neither tested nor compiled yet
2018-02-17 15:56:50 -03:00
Florian Rival
701b78361a Add support for disabled events in EventsSheet in newIDE 2018-02-17 16:34:42 +01:00
Florian Rival
07f26027f6 Bump newIDE version 2018-02-15 22:56:13 +01:00
Florian Rival
09cf13d6e2 Add confirm before close dialog to newIDE 2018-02-15 22:50:08 +01:00
Florian Rival
42f91565fa Merge pull request #443 from 4ian/feature/cordova-icons
Add support for icons when exporting to Android/iOS
2018-02-13 19:51:04 +01:00
Florian Rival
ac6c146808 Fix ImageThumbnail error when onContextMenu is not specified 2018-02-13 19:50:21 +01:00
Florian Rival
59ad23f8ac Allow to customize game orientation (for when exported with Cordova) 2018-02-11 23:44:00 +01:00
Florian Rival
769c6fe3d5 Move ResourcesLoader in its own folder + refactor methods 2018-02-11 23:17:44 +01:00
Florian Rival
07b92911ab Add message on web-app about non support of automatic icons creation 2018-02-11 22:03:30 +01:00
Florian Rival
eb57bcfc87 Add iOS icons support for Cordova + fix image caching 2018-02-11 21:52:40 +01:00
Florian Rival
7addeba73a Add support for Android icons in Cordova export 2018-02-11 21:14:18 +01:00
Florian Rival
263902b45a Avoid caching in ImagePreview and ImageThumbnail 2018-02-11 18:14:47 +01:00
Florian Rival
d283f759fe Add PlatformSpecificAssets to Project 2018-02-10 18:36:02 +01:00
Florian Rival
fabd028a63 Update VSCode C++ properties for Intellisense 2018-02-10 18:35:05 +01:00
Florian Rival
2b18272c41 Merge branch 'master' of github.com:4ian/GD 2018-02-07 00:02:25 +01:00
Florian Rival
a1fb39da3d Fix scene unloading re-creating a RuntimeSceneRenderer leading to issues with Cocos2d-JS renderer 2018-02-05 23:12:51 +01:00
Florian Rival
09602fdf9e Merge pull request #441 from ronnystandtke/patch-1
Update gdevelop.desktop
2018-02-04 17:03:22 +01:00
ronnystandtke
d574ef17ba Update gdevelop.desktop
added German L10n
2018-02-04 17:00:34 +01:00
Florian Rival
0e3f70627b Bump newIDE version 2018-02-03 19:32:52 +01:00
Florian Rival
a814a07105 Fix ResourcesEditor selection 2018-02-03 19:24:47 +01:00
Florian Rival
c49af90a9c Add program opening count to Keen.io analytics 2018-02-03 19:09:33 +01:00
Florian Rival
24afa155c8 Improve Keen.io analytics events by adding user profile information 2018-02-03 18:30:09 +01:00
Florian Rival
9e5a431516 Only run Fullstory on newIDE web-app 2018-02-03 17:53:57 +01:00
Florian Rival
182a94285c Unregister service worker (it is not ready yet) 2018-02-03 13:05:22 +01:00
Florian Rival
442c2c8dd9 Merge pull request #439 from 4ian/feature/resources-editor
Resources editor for newIDE
2018-02-03 12:57:22 +01:00
Florian Rival
f8fd0dd353 Add a preview in ResourcesEditor 2018-02-03 12:55:30 +01:00
Florian Rival
faad9e23ac Add ResourcesEditor with ResourcePropertiesEditor and Toolbar 2018-01-30 23:12:31 +01:00
Florian Rival
d2af0da1b1 Added tools method to ResourcesManager and finish working version of ResourcesList 2018-01-30 21:56:40 +01:00
Florian Rival
c65e5c3e49 [WIP] Add ResourcesEditor based on a generic SortableVirtualizedItemList
TODO:
* Use SortableVirtualizedItemList for ObjectsList and ObjectsGroupsList
* Add missing features (sorting, delete, thumbnail for images, properties edition) to ResourcesEditor
2018-01-30 00:58:21 +01:00
Florian Rival
24a8dfc5f0 Add SemiControlledTextField to be able to type freely in PropertiesEditor 2018-01-28 18:45:44 +01:00
Florian Rival
9c6790ac37 Update default gravity in PhysicsBehavior 2018-01-27 23:50:49 +01:00
Florian Rival
18ef7460ba Bump newIDE version 2018-01-27 19:34:36 +01:00
Florian Rival
63cd0e76c3 Fix warning 2018-01-27 19:34:27 +01:00
Florian Rival
bdbf7fd9fc Add support for editing BehaviorSharedData in newIDE
TODO:
* Support for cancelling modifications made on it in ScenePropertiesDialog
2018-01-27 19:13:27 +01:00
Florian Rival
6bbedbd8f9 Fix BehaviorSharedData not created by newIDE + fix warnings 2018-01-27 17:00:44 +01:00
Florian Rival
648bd1ff2e Show warning if game name or package name is empty when exporting in newIDE 2018-01-24 23:31:02 +01:00
Florian Rival
d4288caedb Fix .env file loading with electron-app and bump newIDE version 2018-01-23 00:15:13 +01:00
Florian Rival
0a35bc3272 Bump newIDE version 2018-01-22 23:35:55 +01:00
Florian Rival
d8b737a31f Fix LocalS3Export always reusing the same folder leading to useless files in exported game 2018-01-22 23:35:32 +01:00
Florian Rival
cfd2655f6c Bump newIDE version 2018-01-22 23:29:21 +01:00
Florian Rival
1896241b9d Move AWS S3 credentials to an .env file for games deployment on GDevelop hosting 2018-01-22 23:25:42 +01:00
Florian Rival
0ed22a6ee1 Fix upload to GDevelop hosting of exported games with large files 2018-01-22 22:52:44 +01:00
Florian Rival
2bfcb99c3e Add analytics when a signup is done 2018-01-22 00:20:32 +01:00
Florian Rival
815f8a520a Bump newIDE version 2018-01-21 22:11:59 +01:00
Florian Rival
f115b6607f Add PhysicsBehavior support to newIDE, with an example 2018-01-21 22:11:24 +01:00
Florian Rival
c876f67502 Add pathfinding example to newIDE web-app 2018-01-20 21:25:25 +01:00
Florian Rival
27674f272c Bump newIDE version 2018-01-20 19:21:13 +01:00
Florian Rival
02879507e3 Fix tests (outdated snapshots after adding Pathfinding to newIDE) 2018-01-20 19:19:38 +01:00
Florian Rival
0a7629878f Fix Sepia layer effect (broken since Pixi v4 update) 2018-01-20 19:00:22 +01:00
Florian Rival
b0368232d0 Add Parallax example to newIDE 2018-01-20 17:19:45 +01:00
Florian Rival
a32bf3db98 Add Pathfinding and Zombie Laser examples to newIDE 2018-01-20 17:02:47 +01:00
Florian Rival
64cbbb20d3 Expose PathfindingBehavior when building with Emscripten 2018-01-20 16:53:12 +01:00
Florian Rival
dd4fbecc98 Update some GDevelop services API to use api.gdevelop-app.com 2018-01-20 16:28:27 +01:00
Florian Rival
807a75a265 Update productName for newIDE 2018-01-19 00:24:07 +01:00
Florian Rival
6e1b44ea56 Bump newIDE version 2018-01-18 23:31:41 +01:00
Florian Rival
d870a54f58 Fix error when handling download-progress of an update 2018-01-18 23:31:00 +01:00
Florian Rival
9f464a3f23 Bump newIDE version 2018-01-18 23:12:37 +01:00
Florian Rival
ed4e84d665 Add Export icon in newIDE main toolbar & fix profile refreshing after getting a new subscription 2018-01-18 23:12:08 +01:00
Florian Rival
1e4ab96233 Bump newIDE version 2018-01-18 00:04:27 +01:00
Florian Rival
380c034ff5 Merge pull request #433 from 4ian/feature/online-cordova-export
Packaging for Android with GDevelop online build service + various improvements
2018-01-18 00:02:51 +01:00
Florian Rival
7c9abe432d Fix AboutDialog story in storybook and use retro default avatars 2018-01-18 00:02:05 +01:00
Florian Rival
2ca853c22c Add HelpButton in ProfileDialog and disabled icon field in ProjectPropertiesDialog 2018-01-17 23:55:40 +01:00
Florian Rival
b23d55612a Add display of user Gravatar in ProfileDetails 2018-01-17 22:36:51 +01:00
Florian Rival
b261faacfc Freeze GDCore/libGD.js and newIDE version to 4.0.96 (don't read it from Git tags) 2018-01-17 00:21:07 +01:00
Florian Rival
9984b32876 Add link to help page specific to each exporters 2018-01-16 23:42:46 +01:00
Florian Rival
d63ba75430 Change wording in CreateProfile 2018-01-16 23:33:44 +01:00
Florian Rival
2db903ed94 Fix profile refreshing after login/account creation 2018-01-16 22:00:45 +01:00
Florian Rival
3f9bc4d335 Fix upload and Android export for large files 2018-01-16 21:25:36 +01:00
Florian Rival
3df95d0e21 Switch authentification to use Firebase 2018-01-14 17:59:09 +01:00
Florian Rival
f445695f6a Add auto-update support to GDevelop 5 2018-01-13 17:17:48 +01:00
Florian Rival
6f3163d7bd Rework ExportDialog to have a list of exporters to choose from 2018-01-13 14:54:10 +01:00
Florian Rival
5421eae23d Add buttons to switch between exporters of the same kind 2018-01-11 00:04:31 +01:00
Florian Rival
a0e82ee22f Add button to download logs in LocalOnlineCordovaExport 2018-01-10 23:25:18 +01:00
Florian Rival
1fbf822769 Move GDevelop hosting API configuration to GDevelopServices/ApiConfigs.js 2018-01-09 23:52:44 +01:00
Florian Rival
6b0f037722 Add a comment about working with Auth0 during development 2018-01-09 23:52:44 +01:00
Florian Rival
ae231d2fe6 Update packageName of fixtures/example games 2018-01-09 23:52:44 +01:00
Florian Rival
2e95899da7 Ensure user is asked for authenticating again if needed 2018-01-09 23:52:44 +01:00
Florian Rival
3f45b38dfc [WIP] Make SubscriptionDialog working with GDevelop Services and Stripe
TODO: Properly handle the refresh of ProfileDialog
2018-01-09 23:52:44 +01:00
Florian Rival
daf4d36348 [WIP] Add SubscriptionDialog 2018-01-09 23:52:44 +01:00
Florian Rival
477cd16f23 Add storybook stories for Profile components 2018-01-09 23:52:44 +01:00
Florian Rival
83eded0056 [WIP] Improve LocalOnlineCordovaExport progress handling 2018-01-09 23:52:44 +01:00
Florian Rival
338de9c149 [WIP] Add LimitDisplayer and display subscriptions limits in LocalOnlineCordovaExport 2018-01-09 23:52:44 +01:00
Florian Rival
6d99d4e661 [WIP] Add happy path for LocalOnlineCordovaExport 2018-01-09 23:52:44 +01:00
Florian Rival
4e5a8060c8 [WIP] Add Archiver to create zip files for LocalOnlineCordovaExport 2018-01-09 23:52:44 +01:00
Florian Rival
eb938e39ff [WIP] Add LocalOnlineCordovaExport (with no real calls to the build service for now) 2018-01-09 23:52:44 +01:00
Florian Rival
cff8604a5f Fix flow error/incompatibility in auth0-lock's node_modules 2018-01-09 23:52:44 +01:00
Florian Rival
2afa54bcd2 [WIP] Add SubscriptionDetails, ProfileDetails and UsagesDetails in ProfileDialog 2018-01-09 23:52:44 +01:00
Florian Rival
4da6025b6f Move configuration of BrowserS3PreviewLauncher in ApiConfigs 2018-01-09 23:52:44 +01:00
Florian Rival
c4f64444e7 [WIP] Add a Profile in newIDE with login/logout based on Auth0 2018-01-09 23:52:44 +01:00
Florian Rival
b0205b296f Merge pull request #432 from 4ian/fix/various
Various improvements for GDJS (memory + libs update)
2018-01-09 23:48:15 +01:00
Florian Rival
e0c8b3cc81 Add comment about RuntimScene.unloadScene and memory management 2018-01-09 23:47:47 +01:00
Florian Rival
80ca92336e Fix filters and refactor Text style update for Pixi v4 2018-01-09 23:03:26 +01:00
Florian Rival
6c0681e4ca Merge branch 'mem' of https://github.com/dos1/GD into dos1-mem 2018-01-07 20:06:18 +01:00
Sebastian Krzyszkowiak
26e8503dc8 GDJS: HowlerSoundManager: use XMLHttpRequest to preload
Howler decodes the whole file, which causes massive memory spike
on load when the project contains lots of longer music files.
We could use HTML5 audio to avoid decoding, but then the load event
actually means "preloaded enough to start playing without buffering".

We don't need to decode here, putting the file into browser cache
should be enough, so let's just download the file with XHR.
2018-01-06 02:09:01 +01:00
Sebastian Krzyszkowiak
c1ce78efde GDJS: howler-sound-manager: use .unload() method when destroying to free the resources used by sounds 2018-01-06 02:08:54 +01:00
Sebastian Krzyszkowiak
2f52c2f062 GDJS: store global volume value in HowlerSoundManager to avoid rounding errors (#430) 2018-01-05 16:59:16 +01:00
Sebastian Krzyszkowiak
24d11a2446 GDJS: update howler.js to 2.0.7 2018-01-04 23:44:57 +01:00
Sebastian Krzyszkowiak
e1d4ae5bbd GDJS: update Pixi to 4.6.2 2018-01-04 23:44:32 +01:00
Sebastian Krzyszkowiak
dcfe346f54 GDJS: RuntimeScene: clean up more variables on unload, so they can be garbage collected 2018-01-04 23:44:13 +01:00
Florian Rival
3906db9efe Make UserUUID generation security/exception errors-proof 2017-12-26 16:47:00 +01:00
Florian Rival
ba5244d95d Bump newIDE version 2017-12-26 16:46:32 +01:00
Florian Rival
52db730870 Add ErrorBounday for handling editor crash and EmptyEventsPlaceholder for empty events sheets 2017-12-26 14:47:46 +01:00
Florian Rival
82d2278ebd Bump newIDE version 2017-12-25 23:55:48 +01:00
Florian Rival
30d08ac72d Add button linking to help about creating new themes in newIDE 2017-12-25 17:48:38 +01:00
Florian Rival
6f1e71c8e5 Update README about creating themes for newIDE 2017-12-25 17:41:00 +01:00
Florian Rival
385be9b5f5 Make EventsSheet color scheme customizable and add Monokai inspired dark color scheme 2017-12-25 17:33:25 +01:00
Florian Rival
25cb041d78 Improve DarkTheme to fix Raised buttons readability 2017-12-25 14:58:36 +01:00
Florian Rival
18fa9cd659 Merge pull request #429 from 4ian/feature/upgrade-mui-react
Upgrade to React 16 and Material-UI 0.20
2017-12-24 17:33:58 +01:00
Florian Rival
ce760541c5 Upgrade to React 16.2 2017-12-24 16:51:04 +01:00
Florian Rival
db51b652f0 Remove useless refs created warnings with React 16 2017-12-24 15:05:46 +01:00
Florian Rival
4222d98aa9 Update instructions parameters color scheme 2017-12-24 15:05:20 +01:00
Florian Rival
484f1e5dcb Fix typing 2017-12-24 14:30:43 +01:00
Florian Rival
7304b94a77 Fix warnings/React issues with refs in EventsSheet 2017-12-24 14:07:20 +01:00
Florian Rival
ee5ec7df72 Fix InstancePropertiesEditor not refreshed when an instance is deleted/moved 2017-12-24 12:49:20 +01:00
Florian Rival
9a1e4bdf7c Update react-i18next dependency of newIDE 2017-12-24 12:40:26 +01:00
Florian Rival
a43cca7629 Update react-dnd dependency of newIDE 2017-12-24 12:31:08 +01:00
Florian Rival
0cdabab2ec Update react-color dependency of newIDE 2017-12-24 12:24:49 +01:00
Florian Rival
28b968ea99 Update newIDE to React 15.6.2 2017-12-24 12:21:32 +01:00
Florian Rival
5160033092 Upgrade storybook and remove useless newIDE dependencies 2017-12-24 12:00:41 +01:00
Florian Rival
ce086c07b9 Upgrade material-ui to v0.20 and upgrade other dependencies 2017-12-24 11:49:40 +01:00
Florian Rival
bf9348488d Merge pull request #428 from 4ian/feature/themable-newIDE
Add a Dark theme to newIDE
2017-12-23 23:18:38 +01:00
Florian Rival
70b3e0701b Fix StartPage tests 2017-12-23 23:14:44 +01:00
Florian Rival
dc3d890937 Add comment explaining how to create a new theme 2017-12-23 23:14:02 +01:00
Florian Rival
f68be32e2d Update logo in newIDE StartPage and tweak colors 2017-12-23 23:11:10 +01:00
Florian Rival
3758e7af03 Fix editors not opening in SceneEditor in newIDE 2017-12-23 22:40:50 +01:00
Florian Rival
5ab1858349 [WIP] Refactor EventsSheet to make it partially themable 2017-12-23 21:50:12 +01:00
Florian Rival
54353bcb24 [WIP] Add PreferencesDialog and make the whole newIDE interface themable 2017-12-23 21:06:55 +01:00
Florian Rival
de7640558d Fix Clock Skew related errors while uploading to S3 from certain computers 2017-12-23 13:52:33 +01:00
Florian Rival
2e17b16516 Make newIDE context menus dynamic (greyed-out items if not applicable, checkbox for grid) 2017-12-23 13:51:36 +01:00
Sebastian Krzyszkowiak
345f9f1786 Run CopyRuntimeToGD.sh with bash explicitly (#427)
The script contains bashisms which fail on systems where sh is
symlinked to dash instead of bash.
2017-12-22 11:12:02 +01:00
Florian Rival
8c9214ce5e Bump newIDE version 2017-12-20 22:44:49 +01:00
Florian Rival
fc9cc8046d Merge pull request #426 from 4ian/feature/newide-js-code-event
Add support for Javascript Code Event in newIDE
2017-12-20 22:33:12 +01:00
Florian Rival
e592bb855d Add support for objects parameter in JsCodeEvent in newIDE 2017-12-20 22:30:53 +01:00
Florian Rival
f8407264da Add basic support for JsCodeEvent in newIDE 2017-12-19 21:16:27 +01:00
Florian Rival
202fe2b69a Add FpsLimiter to limit framerate on InstancesEditor of newIDE, to avoid killing CPU/battery 2017-12-18 00:05:31 +01:00
Florian Rival
d14a93f9d0 Remove ok button in MainFrame Snackbar 2017-12-17 19:37:13 +01:00
Florian Rival
1d1ccdbf06 Fix unmounting and related focus issue of editors in newIDE 2017-12-17 16:16:29 +01:00
Florian Rival
92fd647316 Add button to open external events or layout events from a LinkEvent in newIDE 2017-12-16 18:09:30 +01:00
Florian Rival
d8ca506200 Add flow typing to MainFrame 2017-12-16 17:18:09 +01:00
Florian Rival
928d6eda98 Update VSCode settings 2017-12-16 16:53:53 +01:00
Florian Rival
d5e6755694 Move all providers from MainFrame to a dedicated component 2017-12-16 16:53:37 +01:00
Florian Rival
a1431126ec Merge pull request #424 from 4ian/feature/clipboard-project-manager
Clipboard support for ProjectManager in newIDE
2017-12-16 16:17:14 +01:00
Florian Rival
13c8caeb8c Increase flow coverage 2017-12-16 16:12:10 +01:00
Florian Rival
b2b5ee0e19 Add a TODO about style refactoring 2017-12-16 14:28:32 +01:00
Florian Rival
ff74ecd7c9 Run prettier on newIDE codebase 2017-12-16 14:26:05 +01:00
Florian Rival
0ac3e79156 Fix flow typing in newIDE and update flow to latest version 2017-12-16 14:24:25 +01:00
Florian Rival
3a69936e2e Add copy/cut/paste support for External Layouts and Events in newIDE 2017-12-16 14:02:40 +01:00
Florian Rival
e738d5dd5f Add copy/cut/paste support for Layout in newIDE 2017-12-16 00:14:18 +01:00
Florian Rival
ed8ee21c04 Reduce GroupEvent height 2017-12-15 23:22:47 +01:00
Florian Rival
87220a941a Bump newIDE version 2017-12-15 23:19:23 +01:00
Florian Rival
4425d13c7a Rename objectWithScope to objectWithContext 2017-12-13 00:19:31 +01:00
Florian Rival
b818e5f493 Add support for copy/cut/paste objects 2017-12-12 23:57:37 +01:00
Lizard-13
403563ba32 Support keyboard top row numbers in HTML5 games (#422) 2017-12-11 14:29:14 +01:00
Florian Rival
156ca68116 Make newIDE save project as formatted JSON 2017-12-10 23:03:16 +01:00
Florian Rival
de3677a6c3 Add AnimationPreview in SpriteEditor 2017-12-10 23:02:51 +01:00
Florian Rival
3b76dfe9f4 Fix LocalCordovaExport storybook and increase expression selector height 2017-12-09 20:08:23 +01:00
Florian Rival
6e38ee6d16 Move newIDE test files next to the test source files (no __tests__ folder) 2017-12-09 18:05:59 +01:00
Florian Rival
454657b00f Add link to Tank Shooter beginner tutorial in newIDE 2017-12-09 17:47:54 +01:00
Florian Rival
aad0c4e909 Fix newIDE yarn.lock 2017-12-09 17:27:53 +01:00
Florian Rival
d106ee9ac1 Merge pull request #421 from 4ian/feature/newide-expressions-autocomplete
Expression field with list of available functions for newIDE
2017-12-09 17:16:41 +01:00
Florian Rival
5b1e6e4381 Don't show ExpressionSelector when ExpressionField is displayed inline 2017-12-09 16:50:27 +01:00
Florian Rival
e1106c6145 Fix GenericExpressionField validation and functions button positioning 2017-12-07 00:33:42 +01:00
Florian Rival
0c5caf9986 Update StringField to use GenericExpressionField, with same features as ExpressionField 2017-12-07 00:22:59 +01:00
Florian Rival
2fdcd6c639 Fix formatting of expressions with code-only parameters 2017-12-07 00:04:56 +01:00
Florian Rival
8332adf07b [WIP] Fix Expression object/behavior functions formatting and BehaviorField 2017-12-06 23:43:20 +01:00
Florian Rival
fb40e908c0 [WIP] Add ExpressionParametersEditor to edit parameters of an expression to insert
TODO: Properly format objects and behaviors function calls.
2017-12-06 00:22:21 +01:00
Florian Rival
b6ef67568a [WIP] Add the function in the text field when an expression is chosen 2017-12-05 22:07:56 +01:00
Florian Rival
9c591ec3b1 [WIP] Add ExpressionSelector, refactor InstructionSelector and switched to lodash monolithic build 2017-12-04 21:49:31 +01:00
Lizard-13
495900c083 Add point inside object condition (#418)
* Add point inside object condition

* Update names and comments
2017-12-04 09:25:56 +01:00
Florian Rival
7874e2af27 [WIP] Add auto-completion to ExpressionField in newIDE 2017-12-04 00:03:46 +01:00
Florian Rival
19b37b7111 Update Electron latest stable version for newIDE 2017-12-03 22:53:01 +01:00
Florian Rival
8593249bc6 Add link to the Itch.io publishing help page 2017-12-03 12:28:11 +01:00
Florian Rival
6d483ec887 Update electron-builder and fix analytics send when exporting with Cordova in newIDE 2017-11-28 23:02:40 +01:00
Florian Rival
e1a28f0f90 Update newIDE readme 2017-11-28 00:43:22 +01:00
Florian Rival
c2ba76a821 Bump newIDE version 2017-11-28 00:40:40 +01:00
Florian Rival
c4f8134d89 Add Cordova and Cocos2d-JS exports in newIDE 2017-11-28 00:39:19 +01:00
Florian Rival
59416fd0cd Avoid clearing the output directory when exporting a HTML5 game 2017-11-27 23:58:15 +01:00
Florian Rival
ef7ed24114 Merge pull request #417 from 4ian/feature/open-scene-editor-on-open
Automatic opening of 1st scene in newIDE + Sprite frames selection/deletion
2017-11-27 22:12:16 +01:00
Florian Rival
07dd2bcb5c Add Checkbox to select sprites and context menu to delete selected sprites 2017-11-26 19:55:53 +01:00
Florian Rival
81dfeb3ab1 Open scene or project manager (according to layouts count) after project opening in newIDE 2017-11-24 20:08:38 +01:00
Florian Rival
09d558744f Refactor project opening in MainFrame and add test for StartPage 2017-11-24 19:54:09 +01:00
Florian Rival
abe7dd7ccd Adapt StartPage button when a project is opened 2017-11-24 08:39:06 +01:00
Florian Rival
0da624dc18 Fix variables with multiline values rendering in newIDE + add a storybook stories for this 2017-11-23 00:36:21 +01:00
Florian Rival
a082585b4e Don't make Game Settings initially opened in ProjectManager 2017-11-21 01:07:10 +01:00
Florian Rival
d1582723ba Fix hint text in ProjectPropertiesDialog 2017-11-21 01:06:07 +01:00
Florian Rival
829a88f290 Add ProjectPropertiesDialog, editor for global variables and minor fixes 2017-11-21 00:58:07 +01:00
Florian Rival
79f2e57fa9 Add ExternalEventsField, used to choose events to import in LinkEvent 2017-11-19 23:42:42 +01:00
Florian Rival
322787ba0e Merge pull request #416 from 4ian/feature/points-editor
Add Points editor
2017-11-19 20:53:27 +01:00
Florian Rival
7bd2dab47c Clean up PointsEditor and related 2017-11-19 20:38:59 +01:00
Florian Rival
dd1446cfb0 Add Toggles to have all animations/sprites sharing the same points in PointsEditor 2017-11-19 18:00:57 +01:00
Florian Rival
cf96db75ea Add HelpButton to ExportDialog 2017-11-19 15:47:08 +01:00
Florian Rival
da4f350cdb [WIP] Add points editor and hitboxes editor buttons in a SpriteEditor toolbar 2017-11-19 15:44:59 +01:00
Florian Rival
862c012bb6 [WIP] Ensure position of PointsEditor dialog remains centered after adding points 2017-11-19 15:26:18 +01:00
Florian Rival
72a65cb1d2 [WIP] Add default position handling for center point in PointsEditor 2017-11-19 02:30:25 +01:00
Florian Rival
22379ae31b [WIP] Add PointsPreview in PointsEditor
TODO: Properly handle automatic points
2017-11-19 01:39:18 +01:00
Florian Rival
73e0ba8264 Merge pull request #415 from Lizard-13/patch-1
Polygon fix
2017-11-18 16:20:15 +01:00
Lizard-13
2b0e28f456 Polygon fix
Just a little fix for an error it's throwing me (not sure how it doesn't fails for every convex polygon)  :)
2017-11-18 11:38:59 -03:00
Florian Rival
151a9b1a74 [WIP] Add ImageThumbnail in PointsEditor and a link to it in SpriteEditor 2017-11-17 00:29:55 +01:00
Florian Rival
172d7f049e [WIP] Improve PointsEditor 2017-11-16 00:14:49 +01:00
Florian Rival
5ef703eff4 [WIP] Add PointsEditor to edit the points of a Sprite in newIDE 2017-11-15 01:25:48 +01:00
Florian Rival
98d970de30 Add polyfill for self and patch XMLHttpRequest.send for Cocos2d-JS 3.15 and below 2017-11-14 23:32:49 +01:00
Florian Rival
8896fb280a Try to fix FontFace support in Edge/IE/Safari 2017-11-14 22:44:11 +01:00
Florian Rival
8df5ab9e62 Add a very basic Shopify extension (HTML5 only) to checkout products in a shop 2017-11-12 23:19:19 +01:00
Florian Rival
eb32d51999 Add Semaphore CI badge (quicker CI for newIDE and GDJS tests) 2017-11-12 19:34:57 +01:00
Florian Rival
8901809f88 Avoid potential issue with LayersList when project/layout props are changed 2017-11-12 18:16:37 +01:00
Florian Rival
1de22ef53b Ensure the proper tab is focused after opening, even when the tab is already opened 2017-11-12 01:48:47 +01:00
Florian Rival
d328ae0c7e Increase the width of the text field to set the font size in TextEditor 2017-11-12 01:32:20 +01:00
Florian Rival
dabb0f9dad Remove GDevApp link in README as it is replaced by newIDE 2017-11-12 01:24:10 +01:00
Florian Rival
5adcfc5bad Fix Flow error 2017-11-11 19:12:20 +01:00
Florian Rival
b03bf86a35 Add error messages when an expression is invalid in ExpressionField or StringField in newIDE 2017-11-11 18:33:49 +01:00
Florian Rival
db1b1eadf1 Refactor ExpressionParser and ParserCallbacks with getters for errors 2017-11-11 15:40:22 +01:00
Florian Rival
939266b18b Add more help buttons in newIDE and various minor fixes 2017-11-09 21:31:28 +01:00
Florian Rival
b68a9d8b47 Rename newIDE executable from GDevelop IDE to GDevelop 5 2017-11-09 20:51:05 +01:00
Florian Rival
af1a028203 Merge pull request #413 from 4ian/fix/react-mosaic-dragging
Fix dropping objects from ExternalEditor in newIDE due to react-mosaic blocking drop + help buttons and various small improvements
2017-11-09 00:14:38 +01:00
Florian Rival
c697d5fb99 Upgrade react-mosaic-component so that it does not conflict with HTML5/external drag'n'drop 2017-11-08 23:47:47 +01:00
Florian Rival
b5d2c6f4bc Add help for TextEntry and ShapePainter editors 2017-11-08 22:23:06 +01:00
Florian Rival
a42c488ac8 Add HelpButton that open wiki help page and add it in a few dialogs
Also add react-test-renderer for snapshot testing
2017-11-08 01:13:00 +01:00
Florian Rival
1ccc58c015 Change background color of ProjectStructureItem in ProjectManager 2017-11-07 23:54:19 +01:00
Florian Rival
68a736ea13 Remove Resources from newIDE ProjectManager as it's not implemented for now 2017-11-07 23:36:37 +01:00
Florian Rival
a9980f8e89 [WIP] Fix dropping objects from ExternalEditor in newIDE due to react-mosaic blocking drop 2017-11-07 23:33:11 +01:00
Florian Rival
7156950cb8 Fix InstancesList/LayersList not properly re-rendering due to bad rendering optimization 2017-11-07 00:02:42 +01:00
Florian Rival
833cabfe3b Use ListIcon instead of material-ui Avatar for icons of resources library in newIDE 2017-11-06 01:18:57 +01:00
Florian Rival
ed23b760a9 Add a dialog to choose an image from available public resources in newIDE web-app 2017-11-06 00:32:44 +01:00
Florian Rival
98580efafa Disable close button on StartPage tab in newIDE 2017-11-05 20:46:08 +01:00
Florian Rival
8794861a11 Fix properties panel not updated when selecting an instance 2017-11-05 20:33:49 +01:00
Florian Rival
8fccc7bda4 Add Fullstory for users behavior analytics 2017-11-05 20:11:49 +01:00
Florian Rival
a09ea0ea13 Enable user to scroll with mouse and space key pressed in SceneEditor in newIDE 2017-11-05 19:52:24 +01:00
Florian Rival
74c6ca50cb Merge pull request #412 from Nnarol/feature/scene_editor_undo_redo_keyboard_shortcuts
Bind Ctrl+Z/Ctrl+Y to undo/redo actions in scene editor
2017-11-03 13:43:16 +01:00
Florian Rival
67249c1029 Update flow for newIDE and add it to the CI 2017-11-03 00:16:53 +01:00
Florian Rival
dba79bcca1 Merge pull request #411 from 4ian/feature/scrollbars
Add scrollbars in newIDE scene editor
2017-11-03 00:14:02 +01:00
name
006f93dccf Bind Ctrl+Z/Ctrl+Y to undo/redo actions in scene editor 2017-11-02 23:42:14 +01:00
Florian Rival
94335b9ee2 Update react-mosaic-component for better perf. and avoid drop-target area that can't be clicked
This enables the horizontal scrollbar to be used
Also improves performance by avoiding rerendering of editors after a drag'n'drop
2017-11-02 23:31:44 +01:00
Florian Rival
187e27f232 Fix typo 2017-11-02 22:39:52 +01:00
Florian Rival
f7631bd8a5 [WIP] Add scrollbars to scene editor of newIDE 2017-11-02 22:29:44 +01:00
Florian Rival
ad154c34e7 Refactor full size editors handling in FullSizeMeasurer in newIDE 2017-11-01 23:36:55 +01:00
Florian Rival
357ecaca1e Merge pull request #410 from 4ian/feature/cancel-dialogs
"Cancel" button in more newIDE dialogs + newIDE unit tests
2017-11-01 23:24:22 +01:00
Florian Rival
e67e8d2264 Update libGD.js version used by newIDE 2017-11-01 23:23:47 +01:00
Florian Rival
c39fc5f478 Add more tasks to be done on newIDE 2017-11-01 00:35:31 +01:00
Florian Rival
b4c84d2058 Add explanation on how to contribute to newIDE 2017-11-01 00:30:08 +01:00
Florian Rival
b7cca91e54 Fix a button styling 2017-10-28 17:25:04 +02:00
Florian Rival
86118abfb3 Add Cancel button in ObjectEditorDialog 2017-10-28 17:14:10 +02:00
Florian Rival
119d588619 Fix Object behaviors and SpriteObject animations not properly unserialized with an exisiting object 2017-10-28 17:13:39 +02:00
Florian Rival
8c1028a28b Improve newIDE tests 2017-10-26 23:49:29 +02:00
Florian Rival
65e47a11ec Add unit tests support with Jest for newIDE 2017-10-26 23:23:39 +02:00
Florian Rival
c20a705773 Add SerializableObjectEditorContainer and use it to add cancel/apply buttons to ObjectsGroupEditorDialog 2017-10-25 01:05:30 +02:00
Florian Rival
bea778cb06 Remove warning in ObjectSelector and add stories to test it 2017-10-25 00:07:25 +02:00
Florian Rival
7315fe2403 Add undo/redo in context menus in EventsSheet 2017-10-24 23:55:36 +02:00
Florian Rival
ef4e0aba6b Implement History of undo/redo for EventsSheet 2017-10-24 23:11:01 +02:00
Florian Rival
7d84dda389 Bump newIDE version 2017-10-22 23:02:21 +02:00
Florian Rival
de1dab64fd Remove groups in the list of the ObjectSelector in ObjectsGroupEditor 2017-10-22 23:01:48 +02:00
Florian Rival
4333d8a3ba Change EventsSheet background color 2017-10-22 22:46:49 +02:00
Florian Rival
4579e619a3 Add search in newIDE ProjectManager 2017-10-22 22:43:12 +02:00
Florian Rival
7bcee7e400 Fix searching in groups in newIDE 2017-10-22 22:00:24 +02:00
Florian Rival
bf6ed92b1f Add search bar in ObjectsList and ObjectsGroupsList in newIDE 2017-10-22 21:39:55 +02:00
Florian Rival
87bffb4361 Add shortcuts and menu items to zoom in/out in newIDE scene editor 2017-10-22 18:34:47 +02:00
Florian Rival
151182c5aa Fix text fields losing focus when renaming in newIDE project manager/objects list 2017-10-22 18:09:52 +02:00
Florian Rival
faa678e4f7 Add menu item to create a new object in object context menu in newIDE 2017-10-22 17:50:58 +02:00
Florian Rival
6113505367 Add support for undo/redo shortcut in scene editor and ESC to close dialogs 2017-10-22 17:34:02 +02:00
Florian Rival
8eb124c685 Add tooltips in newIDE Toolbars and add react-i18n (unused for now) 2017-10-22 16:51:14 +02:00
Florian Rival
4fb2028801 Add tooltip support for ToolbarIcon in newIDE 2017-10-22 16:00:00 +02:00
Florian Rival
a5cc7de08f Fix potential errors in newIDE 2017-10-22 14:55:31 +02:00
Alexander Lebedev
8b0845fe9f Fix SoundObject conditions/actions strings (#408) 2017-10-22 12:44:42 +02:00
Florian Rival
e127d1bb7b Add .map file as part of the deployed newIDE web-app 2017-10-21 19:40:46 +02:00
Florian Rival
75ff956418 Add Raven (Sentry) for error tracking in newIDE 2017-10-21 17:21:20 +02:00
Florian Rival
90236f9c43 Add (common) KeyboardShortcuts for SceneEditor and EventsSheet in newIDE 2017-10-21 16:48:40 +02:00
Alexander Lebedev
c480ac2d8e Fix TopDownMovement behavior strings 2017-10-18 16:48:58 +02:00
Alexander Lebedev
793a242e00 Delete double spaces in some strings (#406) 2017-10-18 00:30:33 +02:00
ale26reg
16713e4668 Add volume and loop parameters in Play sound/music action strings (#399) 2017-10-15 23:51:22 +02:00
Florian Rival
33d731e958 Merge pull request #405 from 4ian/style/apply-prettier
Update prettier and apply it on the whole newIDE codebase
2017-10-15 17:51:52 +02:00
Florian Rival
4095b4b65b Update prettier and apply it on the whole newIDE codebase 2017-10-15 17:49:40 +02:00
Florian Rival
0a7778f951 Merge pull request #404 from 4ian/feature/contextmenu-instructions-list
Context menu for add condition/action buttons + keyboard shortcuts
2017-10-15 17:34:48 +02:00
Florian Rival
7c8c3e8a6a Display keyboard shortcuts in newIDE web-app, according to the platform 2017-10-15 17:31:44 +02:00
Florian Rival
26792429f7 Add keyboard shortcuts for Clipboard in EventsSheet 2017-10-15 16:42:26 +02:00
Florian Rival
50810aab1d Add support for pasting instructions in context menu of an instructions list 2017-10-15 16:31:11 +02:00
Florian Rival
8eeb137764 Add context menu for add condition/action buttons in EventsSheet 2017-10-15 15:49:34 +02:00
Todor Imreorov
ff2db6356e Fix newIDE Storybook (#403) 2017-10-14 18:44:20 +02:00
Todor Imreorov
c2eba4a0b0 Focus search box when opening InstructionTypeSelector (#396) 2017-10-12 23:34:19 +02:00
ale26reg
a289c0a521 Distinguish pitch angle from sound pitch II (#397)
Distinguish pitch angle from the sound tone in the strings of actions and conditions, including the names of actions and conditions in the event tree. Required for correct translation into other languages. All strings are reduced to a single style of writing.
2017-10-12 23:30:41 +02:00
ale26reg
2f5dd01878 Fix typo (#398) 2017-10-12 23:30:04 +02:00
Florian Rival
0a95120fbb Send analytics when a game is created in newIDE as a web-app 2017-10-09 23:41:46 +02:00
Florian Rival
60bf3115dd Add an anonymous UUID to users in analytics to help understanding user behaviors in newIDE 2017-10-09 23:32:21 +02:00
Lizard-13
d5f4a47eab Distinguish pitch angle from sound pitch condition strings (#394) 2017-10-08 19:21:08 +02:00
Florian Rival
e5bc6b3a13 Fix fonts in newIDE previews launched in browser 2017-10-08 19:20:15 +02:00
Florian Rival
4efe9e3d88 Update IDE translations 2017-10-08 17:37:19 +02:00
Florian Rival
869db14995 Update GD4 Inno Setup installation script 2017-10-08 17:17:25 +02:00
Florian Rival
9531d60479 Fix IDE crash on closing 2017-10-08 17:13:11 +02:00
Florian Rival
7d83fe8c07 Update IDE copyright date in status bar 2017-10-08 16:25:39 +02:00
Florian Rival
d285e24ff8 Add crossorigin attribute to img tags of objects thumbnails in newIDE to fix CORS issues 2017-10-08 12:16:04 +02:00
Florian Rival
09db74fc65 Add Space Shooter example in newIDE (both Electron and web-app) 2017-10-07 19:32:08 +02:00
Florian Rival
41be98b306 Add field to change text object font in newIDE 2017-10-07 19:31:29 +02:00
Florian Rival
46cb1318a5 Change insertion position of new events after the selection in newIDE 2017-10-07 17:09:01 +02:00
Florian Rival
1f98e4a268 Fix group renaming and made minor fixes in newIDE 2017-10-05 00:52:34 +02:00
Florian Rival
15f61e5867 Fix scene/external layout/events renaming 2017-10-04 22:02:53 +02:00
Florian Rival
698d3095ec Fix warning 2017-10-02 00:55:11 +02:00
Florian Rival
608ebcb0cf Add links to tutorial in newIDE CreateProjectDialog & fix minor UI glitches 2017-10-02 00:51:12 +02:00
Florian Rival
78c67a18e6 Add support for resources using URLs in newIDE running with Electron 2017-10-01 23:35:35 +02:00
Florian Rival
c12de11ce0 Ensure ObjectEditorDialog height is properly updated after a behavior is added/removed 2017-10-01 23:02:15 +02:00
Florian Rival
e15b442c1f Make newIDE's toolbar and StartPage scrollable 2017-10-01 22:40:52 +02:00
Florian Rival
f84cf59f9e Fix newIDE UI glitches 2017-10-01 22:08:52 +02:00
Florian Rival
b8aff5e77a Update newIDE PixiResourcesLoader to treat images as cross-origin 2017-10-01 20:47:51 +02:00
Florian Rival
9eb5951e66 Update URL of resources used by newIDE platformer fixture game 2017-10-01 19:03:48 +02:00
Florian Rival
cb92d56ff6 Fix ghost click with ListAddItem 2017-10-01 19:03:23 +02:00
Lizard-13
6223fbb792 Add JSON conversion for all variable types and clear structure action (#391) 2017-09-30 19:18:56 +02:00
Florian Rival
16bce2f765 Add OperatorField for newIDE, fix Text object rendering 2017-09-30 19:17:26 +02:00
Florian Rival
e2f5665700 Bump newIDE version 2017-09-27 22:21:31 +02:00
Florian Rival
c9b48ffafa Update LocalCreateDialog and fix extension filter when opening a project file 2017-09-26 23:01:40 +02:00
Florian Rival
a291d846d8 Enable flowtype annotation support for newIDE for VSCode 2017-09-26 22:57:13 +02:00
Florian Rival
0287d80cbf Merge pull request #390 from 4ian/feature/newIDE-groups-editor
Groups editor for newIDE
2017-09-24 16:22:52 +02:00
Florian Rival
97ea23066a Fix ObjectEditorDialog positioning when adding animations to Sprite objects 2017-09-24 16:12:32 +02:00
Florian Rival
e9b8b79d76 Refactor ObjectField to use ObjectSelector 2017-09-24 13:40:23 +02:00
Florian Rival
44133370bd Add ListAddItem to factor add rows in lists, add explanation in ObjectsGroupEditor 2017-09-24 13:27:30 +02:00
Florian Rival
e1e1fe27ae Update toolbar ObjectsGroupEditor icon and list borders 2017-09-24 03:00:02 +02:00
Florian Rival
b426212496 Add ObjectGroupsContainer in GDCore and improve groups edition in newIDE 2017-09-23 21:28:29 +02:00
Florian Rival
940721c676 [WIP] Add ObjectsGroupsList to newIDE 2017-09-23 15:42:31 +02:00
ale26reg
c3118e8da3 Update AudioExtension.cpp (#388)
Fixed misspelling at #366
2017-09-20 22:06:40 +02:00
ale26reg
a9e4d8a606 Update Extension.cpp (#389) 2017-09-20 17:18:35 +02:00
Florian Rival
e5e46d0a5a Add light grey border on bottom of most events in newIDE 2017-09-20 00:11:10 +02:00
Florian Rival
eed3c7ef36 Merge pull request #387 from 4ian/feature/newide-fold-events
Events folding and fixes for newIDE
2017-09-19 23:18:29 +02:00
Florian Rival
a6e0853cd6 Update Wiki link in new IDE 2017-09-19 23:17:47 +02:00
Florian Rival
1dff23f201 Fix GDJS export broken after output directory refactoring 2017-09-19 23:17:31 +02:00
Florian Rival
0586150eaf Add support for events folding in newIDE EventsSheet 2017-09-17 01:58:29 +02:00
Florian Rival
c43d6231d7 Add dialogs to edit scene, objects and global variables 2017-09-17 00:13:15 +02:00
Florian Rival
56230096b3 Update README with web-app deployment instructions 2017-09-16 18:11:50 +02:00
Florian Rival
29e707704e Reduce newIDE bundle size by switching from slug to slugs (no unicode file to be embedded) 2017-09-16 17:59:13 +02:00
Florian Rival
33b417ac94 Add .clang_complete file for Clang autocompletion 2017-09-16 17:21:13 +02:00
Florian Rival
0069627801 Add properties files for Visual Studio Code 2017-09-16 17:20:57 +02:00
Florian Rival
0d3c6ee590 Merge pull request #383 from 4ian/feature/browser-demo-merged-master
Browser support for newIDE
2017-09-12 23:59:12 +03:00
Florian Rival
7c2e3d43be Add KeyField 2017-09-12 22:49:54 +02:00
Florian Rival
3dcd6e2803 Add LayerField to EventsSheet 2017-09-11 17:44:15 +03:00
Florian Rival
689b2ba5c3 Add *VariableField for EventsSheet 2017-09-11 17:32:53 +03:00
Florian Rival
f67ba78843 Add BehaviorField for EventsSheet 2017-09-11 16:43:33 +03:00
Florian Rival
6aa515d085 Merge branch 'master' into feature/browser-demo-merged-master 2017-09-10 00:18:09 +03:00
Florian Rival
557aff7534 Switch to ChromeHeadless for running GDJS tests 2017-09-09 23:45:18 +03:00
Florian Rival
59e11d8597 Open context menu when right-clicking (or long touch) on objects/items in lists 2017-09-07 18:54:36 +02:00
Florian Rival
26de1ae213 Limit height of auto-complete menu when choosing an object 2017-09-07 18:16:59 +02:00
Florian Rival
dc32f948da Add thin borders to separate list items in newIDE 2017-09-07 18:02:45 +02:00
Florian Rival
50768df001 Add support for display comments custom color in newIDE 2017-09-07 17:24:57 +02:00
Florian Rival
4b375b01ac Remove S3 access keys from sources for newIDE in-browser preview 2017-09-05 21:05:30 +02:00
Florian Rival
c1b02677f3 Change newIDE Platformer builtin game first scene name to "Scene 1" 2017-08-30 00:58:31 +02:00
Florian Rival
eb8cf8028f Bump newIDE version 2017-08-30 00:36:47 +02:00
Florian Rival
b80f2b566d Add dialog shown if unable to open a preview popup in browser for newIDE 2017-08-30 00:36:11 +02:00
Florian Rival
748c798172 Add explanation about Export in newIDE for browsers 2017-08-29 23:51:43 +02:00
Florian Rival
83472388f4 Add BrowserSaveDialog enabling to download the game being edited in Browser 2017-08-29 23:42:19 +02:00
wild-master
34f1c5ae49 Add more improvements to the English translation. (#376) 2017-08-29 10:56:06 +02:00
Florian Rival
37732928cb Fix popup blocking when opening a preview on browser in newIDE 2017-08-28 23:14:19 +02:00
Florian Rival
2a6b7f194f Add Facebook/Twitter buttons on newIDE start page 2017-08-28 22:57:09 +02:00
wild-master
0f4d73fae3 English translation improvements (#375) 2017-08-28 22:04:16 +02:00
Florian Rival
906fceeb9a Add scripts to deploy newIDE as a web-app 2017-08-26 18:26:34 +02:00
Florian Rival
e616d668f3 Add BrowserIntroDialog 2017-08-26 17:32:53 +02:00
Florian Rival
05baedfd5d Add complete BehaviorsEditor to edit/add/remove object behaviors in newIDE 2017-08-26 17:32:53 +02:00
Florian Rival
5bf3c26b35 Avoid a crash when creating AdMobRuntimeObject or changing layer/z-order 2017-08-26 17:32:53 +02:00
Florian Rival
59d53c63b9 Update ExporterHelper::ExportIncludesAndLibs to be compatible minification and potential URL filenames 2017-08-26 17:32:53 +02:00
Florian Rival
e1a3409702 Add BrowserCreateDialog and BrowserProjectOpener to open builtin projects 2017-08-26 17:32:53 +02:00
Florian Rival
f320f34b19 Implement internal, in memory Clipboard for browsers 2017-08-26 17:32:02 +02:00
Florian Rival
f723182b80 Fix context menu closing and menu item size on browsers 2017-08-26 17:32:02 +02:00
Florian Rival
c0c71faac6 Fix extra / when exporting with BrowserS3PreviewLauncher 2017-08-26 17:32:02 +02:00
Florian Rival
5f73fa30fb Fix window contextmenu on browsers 2017-08-26 17:32:02 +02:00
Florian Rival
edbcb32bec [WIP] Fix Exporter and BrowserS3PreviewLauncher 2017-08-26 17:32:02 +02:00
Florian Rival
f57d3edf0f [WIP] Update GDJS Exporter to properly export files when having URL 2017-08-26 17:32:02 +02:00
Florian Rival
71ab16a76e [WIP] Add Extensions/ prefix to all includes files for JS extensions 2017-08-26 17:32:02 +02:00
Florian Rival
7b81ddd877 [WIP] Added AWS S3 calls to create file when launching a preview from newIDE in a browser 2017-08-26 17:32:02 +02:00
Florian Rival
de50a90235 [WIP] Started adding BrowserS3PreviewLauncher 2017-08-26 17:32:02 +02:00
Florian Rival
536b353a24 [WIP] Add SetCodeOutputDirectory to GDJS Exporter 2017-08-26 17:32:01 +02:00
Florian Rival
72740fb62c Fix potential crash happening when rendering after unmounting InstancesEditorContainer 2017-08-26 17:32:01 +02:00
Florian Rival
de3f485191 Fix buttons in StartPage not opening in a new tab/default browser 2017-08-26 17:31:28 +02:00
Vagner Araujo
68738d343c Add "GDevelop Forum" and "GDevelop Wiki" buttons (#372) 2017-08-25 00:41:24 +02:00
Florian Rival
c0529ff5ab Merge pull request #371 from dos1/howler-cordova
howler-sound-manager: pause/resume sounds when Cordova app is being paused/resumed
2017-08-20 23:39:48 +02:00
Sebastian Krzyszkowiak
4904627a6c howler-sound-manager: pause/resume sounds when Cordova app is being paused/resumed 2017-08-20 23:09:40 +02:00
Florian Rival
d00dae1d9e Add empty group tab in ObjectEditorDialog with placeholder message for now 2017-08-20 18:31:09 +02:00
Florian Rival
5270b2bd73 Add gd::InstructionsList::InsertInstructions and instructions copy/paste in newIDE 2017-08-20 18:00:57 +02:00
Florian Rival
916acf16f7 Fix serialization of layout when newIDE is integrated in IDE 2017-08-20 17:22:59 +02:00
Florian Rival
ceb8b4dde1 Merge serialization methods for instructions and add serialization methods to InstructionsList 2017-08-20 17:22:23 +02:00
Florian Rival
577fa8bdf7 Merge pull request #370 from 4ian/feature/new-ide-events-editor
Events editor for newIDE
2017-08-20 12:50:05 +02:00
Florian Rival
ff131165f4 Close editors after renaming a layout/external layout/events to avoid errors 2017-08-20 12:43:06 +02:00
Florian Rival
4b45b8d7e4 Fix sometime incorrect events height computation due to image loading in EventsTree 2017-08-19 14:40:37 +02:00
Florian Rival
8431b10a81 Fix bad font while dragging an item (animations etc) 2017-08-17 23:21:49 +02:00
Florian Rival
1b14519223 Implement renaming for scenes, external layouts and external events 2017-08-17 23:11:14 +02:00
Florian Rival
5b3526b7e8 Add help messages in ProjectManager and reduce row height in ObjectsList 2017-08-17 22:48:23 +02:00
Florian Rival
b59a2b656f Add buttons to choose the scene to associate with external layout/events 2017-08-17 00:34:20 +02:00
Florian Rival
70516b1d88 Fix getSerializedElements for newIDE's ExternalLayoutEditor and SceneEditor integrated in IDE 2017-08-16 23:56:05 +02:00
Florian Rival
d73ed4f6f9 Fix WhileEvent context menu, Link selectable zone and add buttons in ProjectManager 2017-08-15 19:58:33 +02:00
Florian Rival
d58190e5c5 Add LayoutChooseDialog and menu to delete scenes/external layouts/events 2017-08-15 19:39:45 +02:00
Florian Rival
1b996623f8 Fix snap to grid not properly computed with a grid offset in InstancesEditor 2017-08-15 17:44:51 +02:00
Florian Rival
09294dbc07 Add filtering in ObjectField, add ExpressionField and StringField (not autocompletion) 2017-08-15 00:54:54 +02:00
Florian Rival
1b27ca9647 Add invert condition toggle & ensure events editor is not opened when newIDE is integrated in IDE 2017-08-14 23:27:55 +02:00
Florian Rival
891a81f53e Increase sleeping time of thread communicating between IDE and newIDE 2017-08-14 23:27:14 +02:00
Florian Rival
ceb7d80ed3 Ensure EventsSheet is remounted if events have changed 2017-08-14 21:37:01 +02:00
Florian Rival
2591efee1c Merge branch 'feature/new-ide-culling' into feature/new-ide-events-editor 2017-08-10 14:17:12 +01:00
Florian Rival
adc473a6c3 [WIP] Add copy/cut/paste for events in EventsSheet 2017-08-08 16:29:21 +02:00
Florian Rival
8f6e587a0d Add LinkEvent support to newIDE 2017-08-04 01:23:36 +02:00
Florian Rival
597f1d0ebb Improve GroupEvent, CommentEvent rendering and inline edition 2017-08-04 00:59:57 +02:00
Florian Rival
c3746ab388 Add RepeatEvent, WhileEvent and support for sub instructions in newIDE EventsSheet 2017-08-03 20:56:30 +02:00
Florian Rival
7f5711cb62 [WIP] Add InlinePopover and popover to edit ForEachEvent in newIDE 2017-08-03 18:57:37 +02:00
Florian Rival
eb066b88e2 [WIP] Add ForEachEvent in newIDE (read-only for now) 2017-08-03 18:01:02 +02:00
Florian Rival
22fe36c8b5 [WIP] Move newIDE editors to a single folder, add preview button in EventsSheet 2017-08-03 17:52:05 +02:00
Florian Rival
cdf9652934 [WIP] Add search in InstructionEditor and fix instruction edition 2017-08-03 13:56:22 +02:00
Florian Rival
aa5408b1fb [WIP] Implement selection deletion and add subevents in EventsSheet 2017-08-02 23:16:15 +02:00
Florian Rival
facb08e502 [WIP] Add InlineParameterEditor to EventsSheet 2017-08-02 18:07:49 +02:00
Florian Rival
111dc42ec9 [WIP] Add multiselection and parameters highlight in EventsSheet, update events styling 2017-08-02 14:56:04 +02:00
Florian Rival
b08759bf57 [WIP] Add selection handling in EventsSheet 2017-08-02 01:57:40 +02:00
Florian Rival
a89b196a0c [WIP] Tweak events look 2017-08-02 00:52:44 +02:00
Florian Rival
1efa8674fc [WIP] Prevent drag'n'dropping events on events that can't have sub-events 2017-08-02 00:16:31 +02:00
Florian Rival
9ed2aa2a70 [WIP] Improve InstructionEditor 2017-08-02 00:06:15 +02:00
Florian Rival
26aa52157a [WIP] Add ParametersFields to newIDE InstructionEditor, enable to add/edit instructions 2017-08-01 21:05:53 +02:00
Florian Rival
825c3e0d26 [WIP] Add toolbar to EventsSheet 2017-08-01 16:34:09 +02:00
Florian Rival
1f2de9f156 [WIP] Refactor events in different files and enable Comment event editing 2017-08-01 13:51:52 +02:00
Florian Rival
bb52fab95a [WIP] Improve EventsTree, refactor events height caching 2017-08-01 13:15:10 +02:00
Florian Rival
e1c9db4955 [WIP] Add style of events 2017-08-01 01:42:52 +02:00
Florian Rival
cf9d9bdd5c [WIP] Apply codemod to convert calls to React.createElement into JSX elements 2017-08-01 01:42:52 +02:00
Florian Rival
41f6d8164c [WIP] Add EventsTree 2017-08-01 01:42:51 +02:00
Florian Rival
31c741b8c6 Bump newIDE version 2017-07-31 00:13:54 +02:00
Florian Rival
8619f18b93 Add basic culling for rendered instances in newIDE 2017-07-29 17:41:22 +02:00
Florian Rival
fd466d1f57 Fix wrong rendered position of panelspriteruntimeobject with Pixi renderering 2017-07-29 01:46:13 +02:00
Florian Rival
0c688e714a Fix DependenciesAnalyzer not properly exposed in GDCore.dll on Windows 2017-07-25 22:48:39 +02:00
Florian Rival
dd7a4429be Bump newIDE version 2017-07-23 18:27:05 +02:00
Florian Rival
8ed7e8251a Don't show menu in ProjectManager in newIDE when running with Electron 2017-07-23 16:59:34 +02:00
Florian Rival
6bcca6d024 Add main menu for newIDE 2017-07-23 16:49:07 +02:00
Florian Rival
3c6b100188 Enable context menu in text inputs in newIDE 2017-07-23 15:29:32 +02:00
Florian Rival
24cd4b52f6 Fix include case mismatch in AndroidExporter 2017-07-19 00:05:12 +02:00
Florian Rival
f63a8fc36e Refactor ProjectManager items to allow to make style changes between item and nested items 2017-07-18 23:02:27 +02:00
Florian Rival
70f6aab913 Add newIDE MessageBox to have better system integration and error analytics 2017-07-18 22:36:21 +02:00
Florian Rival
4c12ad5f1d Bump newIDE version 2017-07-18 22:10:06 +02:00
Florian Rival
6d5e4e388f Merge pull request #359 from 4ian/feature/new-ide-object-editors
Add object editors for newIDE, buttons to add, remove, name objects and objects list sorting
2017-07-18 21:58:09 +02:00
Florian Rival
415b05b1dc Add message when an animation is renamed with the same name as another 2017-07-18 21:50:07 +02:00
Florian Rival
78e2f8d705 Factor properties management in PropertiesMapToSchema and update TextEditor toolbar design 2017-07-18 21:34:27 +02:00
Ryan Jentzsch
7b0fb791cb Add instructions on running the newIDE as an Electron app from Linux. (#364) 2017-07-18 21:15:31 +02:00
Florian Rival
bd993b2c43 [WIP] Add AdMobEditor and factor properties edition in PropertiesEditor 2017-07-18 01:25:30 +02:00
Florian Rival
6a8e15a07f Add ShapePainterEditor and EmptyEditor in newIDE and rework Column margins 2017-07-18 00:30:38 +02:00
Florian Rival
fa6033250c [WIP] Add Behavior tab to newIDE ObjectEditorDialog 2017-07-16 23:59:22 +02:00
Florian Rival
b176699827 Implement drag'n'drop in newIDE ObjectsList to make objects sortable 2017-07-16 22:54:20 +02:00
Florian Rival
3bf0a14951 Avoid flickering while resizing InstancesEditorContainer in newIDE 2017-07-16 14:39:54 +02:00
Florian Rival
0c380629d5 [WIP] Improve newIDE ObjectsList to make it sortable 2017-07-16 14:39:33 +02:00
Florian Rival
79f756a6f1 Add button to add a new scene and fix various minor bugs in newIDE 2017-07-15 16:27:51 +02:00
Lizard-13
d35edb72b2 Add some tests for gdjs.Variable (#362) 2017-07-15 15:49:55 +02:00
Florian Rival
cc9851b49c Make objects list displayed in a draggable panel in newIDE 2017-07-15 14:56:07 +02:00
Florian Rival
369bcfdda5 Make Properties panel draggable 2017-07-14 20:38:42 +02:00
wild-master
c0e8f9e2a1 Fixed link to GDevelop.js (#363)
It was leading to a 404 page
2017-07-14 18:19:59 +02:00
Florian Rival
7223da00b7 Add ResourceSelectorWithThumbnail in newIDE and use it in Panel/TiledSpriteEditor 2017-07-12 22:01:26 +02:00
Lizard-13
0987ca8b3e Fix GDJS CopyRuntimeToGD script on Windows when using path with spaces
Fix xcopy crashes with an "Invalid number of parameters" error
2017-07-12 00:15:21 +02:00
Florian Rival
a886049f72 Refactor project when renaming/deleting object in newIDE 2017-07-09 17:11:08 +02:00
Florian Rival
168f06b535 Use WholeProjectRefactorer to refactor project after object renaming/deletion in IDE 2017-07-09 14:06:58 +02:00
Florian Rival
def81b6a62 Move DependenciesAnalyzer to GDCore and added WholeProjectRefactorer 2017-07-09 13:28:45 +02:00
Florian Rival
311e451a2f Allow any Event to dependencies to source files (only used by CppCodeEvent for now)
This is to avoid casting events to CppCodeEvent (and so relying explicitly on them) when doing dependencies analysis.
2017-07-04 22:59:03 +02:00
Florian Rival
8c7b4cc7bd Add npm run storybook command in README. 2017-07-03 23:01:48 +02:00
Lizard-13
2494f984a9 Fix numeric variable detection and initialisation in GDJS 2017-07-03 22:06:39 +02:00
Florian Rival
cec0ca0b71 Refactor project saving/opening in LocalProject[Writer/Opener] 2017-07-02 23:12:26 +02:00
Florian Rival
a262cebdfb [WIP] Implement delete/rename object in ObjectsList *without* refactoring of the rest of the game 2017-07-02 22:40:07 +02:00
Florian Rival
49145136d8 [WIP] Add NewObjectDialog to choose an object to create in a scene 2017-07-02 15:04:05 +02:00
Florian Rival
9e01231334 Fix description of objects not properly displayed 2017-07-02 14:43:25 +02:00
Florian Rival
0d869b9f7b Add ObjectsList in storybook 2017-07-02 12:47:41 +02:00
Florian Rival
ad333dff69 [WIP] Improve object editors 2017-07-01 18:19:04 +02:00
Florian Rival
16ae5dd0aa [WIP] Enhance SpriteEditor with images, drag'n'drop support 2017-07-01 00:27:15 +02:00
Florian Rival
f778f4302b Fix rendering error with cocos2d-JS 3.15.1 in gdjs.LayerCocosRenderer 2017-06-27 23:26:57 +02:00
Florian Rival
f948fd14a4 [WIP] Started SpriteEditor for newIDE 2017-06-27 22:56:02 +02:00
Florian Rival
9d05dbdd42 [WIP] Add PanelSpritEditor and LocalResourceSources 2017-06-22 23:51:18 +02:00
Florian Rival
70cbe5156e [WIP] Add editors for TiledSpriteObject and TextObject in newIDE 2017-06-20 23:25:32 +02:00
9334 changed files with 896063 additions and 1212911 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/

18
.clang_complete Normal file
View File

@@ -0,0 +1,18 @@
-DGDJS_EXPORTS
-DGD_API=
-DGD_CORE_API=
-DGD_EXTENSION_API=
-DGD_IDE_ONLY
-DMACOS
-DRELEASE
-D_FILE_OFFSET_BITS=64
-D_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_
-Wno-potentially-evaluated-expression
-std=gnu++11
-DNDEBUG
-fPIC
-I./ExtLibs/SFML/include
-I./Core
-I./GDCpp/.
-I./GDJS/.
-F./ExtLibs/SFML/extlibs/libs-osx/Frameworks

1
.clang_format Normal file
View File

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

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

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

View File

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

25
.gitignore vendored
View File

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

View File

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

108
.vscode/c_cpp_properties.json vendored Normal file
View File

@@ -0,0 +1,108 @@
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceRoot}",
"${workspaceRoot}/GDCpp",
"${workspaceRoot}/GDJS",
"${workspaceRoot}/Extensions",
"${workspaceRoot}/Core",
"${workspaceRoot}/ExtLibs/SFML/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/usr/local/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/usr/include",
"${workspaceRoot}"
],
"defines": [
"GD_IDE_ONLY",
"GD_CORE_API=/* Macro used to export classes on Windows, please ignore */",
"GD_API=/* Macro used to export classes on Windows, please ignore */",
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */"
],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/usr/local/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/usr/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++17"
},
{
"name": "Linux",
"includePath": [
"${workspaceRoot}",
"${workspaceRoot}/IDE",
"${workspaceRoot}/GDCpp",
"${workspaceRoot}/GDJS",
"${workspaceRoot}/Extensions",
"${workspaceRoot}/Core",
"${workspaceRoot}/ExtLibs/SFML/include",
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"defines": [
"GD_IDE_ONLY",
"GD_CORE_API=/* Macro used to export classes on Windows, please ignore */",
"GD_API=/* Macro used to export classes on Windows, please ignore */",
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */"
],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
{
"name": "Win32",
"includePath": [
"${workspaceRoot}",
"${workspaceRoot}/IDE",
"${workspaceRoot}/GDCpp",
"${workspaceRoot}/GDJS",
"${workspaceRoot}/Extensions",
"${workspaceRoot}/Core",
"${workspaceRoot}/ExtLibs/SFML/include",
"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include",
"${workspaceRoot}"
],
"defines": [
"_DEBUG",
"UNICODE",
"GD_IDE_ONLY",
"GD_CORE_API=/* Macro used to export classes on Windows, please ignore */",
"GD_API=/* Macro used to export classes on Windows, please ignore */",
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/*",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}

110
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,110 @@
// Place your settings in this file to overwrite default and user settings.
{
"files.associations": {
"*.idl": "java",
"Fastfile": "ruby",
"iosfwd": "cpp",
"functional": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"algorithm": "cpp",
"random": "cpp",
"__config": "cpp",
"cstddef": "cpp",
"exception": "cpp",
"initializer_list": "cpp",
"new": "cpp",
"stdexcept": "cpp",
"typeinfo": "cpp",
"*.tcc": "cpp",
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"complex": "cpp",
"cstdarg": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"istream": "cpp",
"limits": "cpp",
"memory": "cpp",
"ostream": "cpp",
"sstream": "cpp",
"streambuf": "cpp",
"hashtable": "cpp",
"tuple": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"__split_buffer": "cpp",
"deque": "cpp",
"iterator": "cpp",
"list": "cpp",
"map": "cpp",
"queue": "cpp",
"regex": "cpp",
"set": "cpp",
"stack": "cpp",
"string": "cpp",
"vector": "cpp",
"iostream": "cpp",
"__functional_03": "cpp",
"__hash_table": "cpp",
"__tree": "cpp",
"bitset": "cpp",
"__bit_reference": "cpp",
"__mutex_base": "cpp",
"fstream": "cpp",
"ios": "cpp",
"__locale": "cpp",
"valarray": "cpp",
"freeglut_spaceball.c": "cpp",
"__tuple": "cpp",
"hash_map": "cpp",
"hash_set": "cpp",
"system_error": "cpp",
"__nullptr": "cpp",
"__functional_base": "cpp",
"__functional_base_03": "cpp",
"chrono": "cpp",
"ratio": "cpp",
"atomic": "cpp",
"locale": "cpp",
"string_view": "cpp",
"__string": "cpp",
"cstring": "cpp",
"iomanip": "cpp",
"cstdint": "cpp",
"forward_list": "cpp",
"mutex": "cpp",
"__hash": "cpp",
"__debug": "cpp",
"__threading_support": "cpp",
"any": "cpp",
"array": "cpp",
"cinttypes": "cpp",
"numeric": "cpp"
},
"files.exclude": {
"Binaries/*build*": true,
"Binaries/Output": true,
"Binaries/Packaging/GDevelop.app": true,
"ExtLibs/SFML": true,
"docs": true,
"GDJS/docs": true,
"GDCpp/docs": true,
"Core/docs": true,
"Extensions/CommonDialogs/dlib-18.16": true,
"newIDE/electron-app/dist": true,
"newIDE/app/build": true,
"newIDE/app/resources/GDJS": true,
"newIDE/electron-app/app/www": true
},
// Support for Flowtype (for newIDE):
"javascript.validate.enable": false,
"flow.useNPMPackagedFlow": true,
// Clang format styling (duplicated in scripts/CMakeClangUtils.txt)
"C_Cpp.clang_format_style": "{BasedOnStyle: Google, BinPackParameters: false, BinPackArguments: false}"
}

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 535 B

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 705 B

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 778 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

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>

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.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 B

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