Compare commits

...

1046 Commits

Author SHA1 Message Date
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
9fbc4613ac Merge pull request #355 from mattiascibien/patch-1
Fixed link to GDevelop.js
2017-06-21 11:18:53 +02:00
Mattias Cibien
13bb7b1209 Fixed link to GDevelop.js
The link to [core C++ classes compiled to Javascript](https://github.com/4ian/GDevelop.js) has been fixed as it lead to a 404.
2017-06-21 10:15:06 +02:00
Florian Rival
70cbe5156e [WIP] Add editors for TiledSpriteObject and TextObject in newIDE 2017-06-20 23:25:32 +02:00
Florian Rival
6933030bcf Update material-ui to 0.18.3 2017-06-19 22:11:33 +02:00
Florian Rival
39f5aad915 Merge pull request #353 from Lizard-13/patch-1
Fix Text Entry crash on HTML5
2017-06-19 09:26:13 +02:00
Florian Rival
64dcfeec09 Add a screenshot of newIDE integrated inside IDE 2017-06-18 17:45:20 +02:00
Florian Rival
aeea9c9f57 Allow both Control and Meta key to be used in newIDE InstancesEditor 2017-06-18 15:21:53 +02:00
Florian Rival
0d0ce7d44d Enable variables to be re-order with drag'n'drop in VariablesList in newIDE 2017-06-18 12:51:33 +02:00
Lizard-13
525ea4b042 Fix Text Entry crash on HTML5
As the text entry object has no real renderable object, PIXI (only tested this renderer) crash trying to set the renderable object on Z-Order and Layer updates, a better solution is welcomed :)
2017-06-17 14:37:07 -03:00
Florian Rival
7dbd836073 Refactor [Add]VariableRow out of VariablesList 2017-06-17 18:40:16 +02:00
Florian Rival
a6f6729b88 Fix version of libGD.js used by newIDE 2017-06-17 17:50:10 +02:00
Florian Rival
d4e290cfed Fix Base Layer display in LayersList in newIDE 2017-06-17 17:46:58 +02:00
Florian Rival
17ea67c2a9 Enable layers to be re-order using drag'n'drop in newIDE 2017-06-17 17:28:05 +02:00
Florian Rival
cf436333b9 Factor out LayerRow in LayersList 2017-06-17 00:54:49 +02:00
Florian Rival
a77aa15c5e Add newIDE version in AboutDialog 2017-06-17 00:28:03 +02:00
Florian Rival
cef7acc1c4 Update newIDE version to 5.0.0-beta1 and disable ObjectsList menu if not implemented 2017-06-14 00:40:55 +02:00
Florian Rival
91a84eb000 Add analytics to export dialogs in newIDE 2017-06-13 22:46:47 +02:00
Florian Rival
a09221e4a3 Add BetaIntroDialog and unfinished LocalMobileExport to newIDE 2017-06-13 22:22:14 +02:00
Florian Rival
99452c2de0 Add Keen.io Analytics to newIDE 2017-06-11 23:00:45 +02:00
Florian Rival
14244a4561 Add a placeholder message in newIDE EventsEditor while it is not finished 2017-06-11 21:25:42 +02:00
Florian Rival
1c47bbfb36 Ensure newIDE is updated when an object is added in IDE 2017-06-11 19:19:51 +02:00
Florian Rival
7e16ea1aa3 Hide preview/add object button in newIDE when integrated and refactor newIDE toolbar 2017-06-11 18:13:09 +02:00
Florian Rival
16e4df182d Fix toolbar not updated when an editor was closed in newIDE 2017-06-11 17:37:54 +02:00
Florian Rival
1d81690bd5 Add postinstall task to automatically launch npm install in newIDE/electron-app/app 2017-06-11 17:37:20 +02:00
Florian Rival
4980db392b Fix bad height of InstancesEditor when tabs were hidden (i.e when newIDE integrated in IDE) 2017-06-09 00:00:21 +02:00
Florian Rival
2a99dc6e8a Fix drop from an external source (like objects from the IDE) in newIDE 2017-06-08 23:53:13 +02:00
Florian Rival
d4898c56f8 Fix LocalFolderPicker not modifiable with keyboard in newIDE 2017-06-08 22:52:44 +02:00
Florian Rival
dee9442eb6 Improve LocalCreateDialog 2017-06-05 12:18:05 +02:00
Florian Rival
1bb74af465 Add AboutDialog in newIDE 2017-06-05 00:50:31 +02:00
Florian Rival
f990dacf65 Fix newIDE build and LocalExamplesFinder on Windows 2017-06-04 12:56:15 +02:00
Florian Rival
4630ff9d07 Fix minor things in README 2017-06-03 19:23:02 +02:00
Florian Rival
06c4377141 Merge pull request #347 from 4ian/new-ide
Experimental new IDE (scene editor only) based on React, Emscripten, Electron and Pixi.js
2017-06-03 19:21:23 +02:00
Florian Rival
4e6fb68e39 Update/enhance READMEs and update licenses 2017-06-03 19:17:45 +02:00
Florian Rival
e307505d03 Add scripts to copy GDJS Runtime/Extensions for newIDE and adapted build scripts 2017-06-03 17:48:03 +02:00
Florian Rival
f7cfd21c48 Add newIDE examples directory to the list of resources copied when bundling 2017-06-02 00:45:32 +02:00
Florian Rival
e68e9d27bb Add a basic project creation dialog for newIDE and the platformer example in resources 2017-06-02 00:26:15 +02:00
Florian Rival
30a8c5be34 Fixes for newIDE on Windows 2017-06-02 00:13:35 +02:00
Florian Rival
3265ac5b6d Fix LocalGDJSFinder to properly find path after build 2017-05-27 19:01:30 +02:00
Florian Rival
6a7d1eaf2e Add LocalS3Export to newIDE to automatically upload the game to a S3 bucket 2017-05-27 12:50:13 +02:00
Florian Rival
cd587ba8da Add platformer template as fixture for newIDE 2017-05-26 12:52:31 +02:00
Florian Rival
35f640c1ba Improve ExportDialog design and modularity 2017-05-26 12:21:21 +02:00
Florian Rival
2f88ab5178 Add confirmation dialog after export 2017-05-26 11:08:34 +02:00
Florian Rival
18f9b66615 [WIP] Improve PIXI export and preview in newIDE 2017-05-25 13:45:48 +02:00
Florian Rival
ae49eb02c4 [WIP] Add Pixi export to newIDE 2017-05-22 00:18:43 +02:00
Florian Rival
e215654bb3 Update GDJS::Exporter to allow specify GDJS folder used to copy runtime files 2017-05-22 00:17:55 +02:00
Florian Rival
3feae8c257 Update newIDE favicon 2017-05-21 22:10:29 +02:00
Florian Rival
6f4abd3eb9 Add open, save, close project buttons to newIDE and project manager icons 2017-05-21 22:10:10 +02:00
Florian Rival
6ea781533b Add manifest and service worker to turn newIDE in a Progressive Web App 2017-05-21 16:48:59 +02:00
Florian Rival
456fdc0872 Updated newIDE to react-scripts 1.0.1 2017-05-20 17:46:15 +02:00
Florian Rival
f76a531143 Suppress a warning 2017-05-20 16:46:03 +02:00
Florian Rival
151271c250 Fix improper re-mounting of editors in newIDE when closing a tab, add text ellipsis in tabs 2017-05-20 16:40:27 +02:00
Florian Rival
22dea528e0 Save/use zoom level from LayoutEditorCanvasOptions in newIDE 2017-05-20 15:43:26 +02:00
Florian Rival
045f7194b5 Refactor newIDE tab handling 2017-05-18 23:02:22 +02:00
Florian Rival
51007bc5cd Add newIDE StartPage, Storybook for rapid development and update newIDE README 2017-05-18 22:07:55 +02:00
Florian Rival
612439a88d [WIP] Improve newIDE tabs, add closing, only show tabs if editor is not integrated into IDE 2017-05-17 00:47:14 +02:00
Florian Rival
f145ecd7b3 [WIP] Add tabs to MainFrame in newIDE 2017-05-14 17:37:02 +02:00
Florian Rival
cf7a39537d [WIP] Refactor newIDE ExternalEditor and boot 2017-05-13 14:41:22 +02:00
Florian Rival
23736e8981 [WIP] Add color picker in ScenePropertiesDialog of newIDE 2017-05-13 12:13:19 +02:00
Florian Rival
d633b032f9 [WIP] Fix 100% cpu usage by ExternalEditorBridge in IDE 2017-05-09 22:06:54 +02:00
Florian Rival
13050967c7 [WIP] Add Edit object menu in newIDE, opening object editors of IDE 2017-05-09 22:02:48 +02:00
Florian Rival
eeaab6d12f [WIP] Fix context menu freezing newIDE rendering 2017-05-06 17:43:06 +02:00
Florian Rival
c728044260 [WIP] Allow user to rename layers in LayersList in newIDE 2017-04-29 18:59:45 +02:00
Florian Rival
89a80c685f [WIP] Add clipboard support to InstancesFullEditor for newIDE 2017-04-29 17:34:09 +02:00
Florian Rival
ec7673d861 Add SerializeTo/UnserializeFrom to InitialInstance 2017-04-29 15:41:55 +02:00
Florian Rival
f50940ae66 [WIP] Improve InstancePropertiesEditor buttons 2017-04-29 01:11:47 +02:00
Florian Rival
664db415c7 [WIP] Add EditorMosaic and improve InstancePropertiesEditor to allow resizing by user 2017-04-29 00:48:52 +02:00
Florian Rival
5810972a2d [WIP] Update missing dependency for newIDE 2017-04-28 00:31:17 +02:00
Florian Rival
4d5fd7d3d4 Fix typo in ExpressionParser ("excepted" instead of "expected") 2017-04-28 00:30:14 +02:00
Florian Rival
f12c9c9ad8 [WIP] Add ScenePropertiesDialog to edit the window title in newIDE 2017-04-17 18:36:46 +02:00
Florian Rival
a144258f8d [WIP] Add context menu to InstancesEditor 2017-04-15 17:31:51 +02:00
Florian Rival
6907cc3847 [WIP] Fix font on first rendering of RenderedTextInstance in newIDE 2017-04-15 17:23:23 +02:00
Florian Rival
5f367f7278 [WIP] Add loader while newIDE is loading 2017-04-15 17:11:36 +02:00
Florian Rival
73b7523dc6 [WIP] Fix newIDE native menu positioning and improper hiding when integrated in the IDE 2017-04-12 23:26:51 +02:00
Florian Rival
8eac4b616f [WIP] Fix newIDE positioning 2017-04-11 00:08:25 +02:00
Florian Rival
ea2a05cfff [WIP] Fix newIDE positioning inside IDE on Windows with hi-dpi screens 2017-04-10 23:47:34 +02:00
Florian Rival
d307be6d0e [WIP] Add Windows specific fixes to newIDE 2017-04-10 00:21:03 +02:00
Florian Rival
a7aa1f3940 [WIP] Save undo history when an instance is deleted/moved in newIDE 2017-04-09 19:33:50 +02:00
Florian Rival
ef879413d9 [WIP] Fix layer rendering in newIDE after layers are modified 2017-04-09 18:55:38 +02:00
Florian Rival
e3eacb53ee [WIP] Allow newIDE to send changes made to layers to IDE 2017-04-09 18:12:39 +02:00
Florian Rival
3db6edb1f8 [WIP] Ensure update are sent to newIDE when object/layers are changed 2017-04-09 16:53:36 +02:00
Florian Rival
3636d99b47 [WIP] Add support for dropping objects in newIDE to add an instance 2017-04-06 00:20:23 +02:00
Florian Rival
56caeaaf08 [WIP] Fix font loading in newIDE 2017-04-05 23:22:19 +02:00
Florian Rival
a507f7a3ee Rename GetAssociatedLayoutEditorCanvasOptions to GetAssociatedSettings 2017-04-04 18:45:25 +02:00
Florian Rival
316e01e7f8 Merge branch 'master' into new-ide 2017-04-04 00:37:41 +02:00
Florian Rival
134efa8ec3 Merge branch 'master' into new-ide 2017-04-04 00:31:39 +02:00
Florian Rival
85b75b646f Fix centerCamera and centerCameraWithinLimits for HTML5 games 2017-04-04 00:30:16 +02:00
Florian Rival
09b41fa719 [WIP] Only send updates to newIDE when objects/layers have changed 2017-04-04 00:26:21 +02:00
Florian Rival
f970352faa [WIP] Add select field to choose a layer in InstancePropertiesEditor 2017-04-03 22:03:14 +02:00
Florian Rival
76305ae77c [WIP] Add horizontal/vertical resize handle to newIDE and appropriate cursors 2017-04-03 00:42:53 +02:00
Florian Rival
6c995d6d20 [WIP] Add WindowMask to newIDE 2017-04-02 17:23:24 +02:00
Florian Rival
3d14c9e555 [WIP] Add option to skip app building in electron build script of newIDE 2017-04-02 16:52:49 +02:00
Florian Rival
f8fa933a02 [WIP] Enhance integration of newIDE in ExternalLayoutEditor 2017-04-02 15:41:13 +02:00
Florian Rival
fff2edc1c1 [WIP] Rename ForceRefreshRibbonAndConnect to EditorDisplayed 2017-04-01 16:29:40 +02:00
Florian Rival
190ad686f5 [WIP] Improve newIDE integration into IDE 2017-04-01 16:03:05 +02:00
Florian Rival
f4b5d57c61 [WIP] Make newIDE scripts portable by using shelljs 2017-03-27 00:33:29 +02:00
Florian Rival
fdec778d04 [WIP] Add WindowBorder to InstancesEditor of newIDE 2017-03-21 01:02:00 +01:00
Florian Rival
c227afd8d7 [WIP] Fix newIDE InstancesList rendering when opened after being frozen and avoid potential crashes 2017-03-20 23:52:55 +01:00
Florian Rival
2f91fecd60 [WIP] Fix newIDE crash/freeze with ObjectsList accessing invalid data after project update 2017-03-20 23:32:25 +01:00
Florian Rival
406f98245c [WIP] Add background GD icon to newIDE 2017-03-20 23:31:53 +01:00
Florian Rival
eaf76105a1 [WIP] Fix ExternalEditorBridge swallowing messages when multiple messages are received in a row 2017-03-20 01:07:11 +01:00
Florian Rival
b7e0e7d54d [WIP] Allow newIDE to send the ui settings associated to the edited scene/external layout
TODO: uiSettings are still not properly received by the IDE
2017-03-20 00:02:47 +01:00
Florian Rival
8f109d5a27 [WIP] Fix rendering for PanelSprite and Sprite instances with custom size and smoothing 2017-03-19 19:01:01 +01:00
Florian Rival
907f319ce7 [WIP] Improve newIDE InstancesList performance with react-virtualized List 2017-03-19 18:32:21 +01:00
Florian Rival
146b69f91e [WIP] Improve newIDE ObjectsList performance with react-virtualized List 2017-03-19 16:52:51 +01:00
Florian Rival
51d23e30e5 [WIP] Improve newIDE performance by avoiding calling setState on the MainFrame when refreshing toolbar 2017-03-19 16:20:51 +01:00
Florian Rival
a87ba9db6f [WIP] Improve multiselection and add proportional resize & move following axis to newIDE 2017-03-19 03:43:59 +01:00
Florian Rival
1f593d576d [WIP] Add ExternalEditorPanel and allow to edit external layout with newIDE 2017-03-18 20:49:44 +01:00
Florian Rival
346003f377 [WIP] Allow external layout to be edited with newIDE, improve RenderedSpriteInstance performance by bypassing slow properties fetching 2017-03-17 00:17:58 +01:00
Florian Rival
1bd45ec96b Fix Inventory, LinkedObjects & SystemInfo JS Extension not having compilation information filled 2017-03-16 22:50:37 +01:00
Florian Rival
c078ed1e55 [WIP] Add full renderer for PanelSprite instances in newIDE, adapted from GDJS 2017-03-16 00:19:39 +01:00
Florian Rival
4f1f04242b [WIP] Handle rotation of TiledSprite instances in newIDE 2017-03-15 22:10:53 +01:00
Florian Rival
976826b9ab Expose LinkedObjects and SystemInfo extensions to emscripten build 2017-03-15 21:50:20 +01:00
Florian Rival
b4f2082454 Expose inventory extension to emscripten build 2017-03-15 00:59:13 +01:00
Florian Rival
b4318f63d3 [WIP] Add newIDE renderers for ShapePainterObject and TextEntryObject 2017-03-15 00:44:19 +01:00
Florian Rival
6e1140fa0c Expose ShapePainterObject and TextEntryObject to emscripten build 2017-03-15 00:16:24 +01:00
Florian Rival
2322b3dac1 Expose AnchorBehavior to emscripten build 2017-03-14 23:36:25 +01:00
Florian Rival
91914c80f7 [WIP] Improve text rendering performances in newIDE and disable undo/redo buttons if needed 2017-03-13 23:57:59 +01:00
Florian Rival
cc127ff5ba [WIP] Add VariablesList editor to newIDE to edit instances variables 2017-03-13 22:22:19 +01:00
Florian Rival
0b3d2be1a2 [WIP] Fix a label in preferences and newIDE build script 2017-03-10 20:09:55 +01:00
Florian Rival
a44bf9d6d2 [WIP] Remove fixture game from newIDE 2017-03-10 00:07:19 +01:00
Florian Rival
a6207f27a3 [WIP] Add option in preferences to launch external editor instead of the internal scene editor 2017-03-09 23:54:14 +01:00
Florian Rival
92664eadc5 [WIP] Run Prettier on newIDE sources to reformat the whole code 2017-03-09 21:49:29 +01:00
Florian Rival
edcbd5c9a1 [WIP] Fix corruption/crash when rendering instances in newIDE after undo/redo
Instances in the InitialInstancesContainer were recreated but the renderers
were kept alive with reference to old instances, creating mismatches.
2017-03-09 00:19:19 +01:00
Florian Rival
96d8066983 [WIP] Add undo/redo in InstancesFullEditor in newIDE 2017-03-08 00:14:14 +01:00
Florian Rival
0cf6583bcc [WIP] Style fixes in newIDE 2017-03-07 22:33:46 +01:00
Florian Rival
063f76750f [WIP] Update newIDE build and IDE to distribute newIDE as part of GDevelop 2017-03-07 21:58:28 +01:00
Florian Rival
fef0e68dd3 [WIP] Strip project before sending it to an external editor to reduce loading time 2017-03-07 00:09:48 +01:00
Florian Rival
e40ffbba74 [WIP] Add preview button in newIDE, use a small drawer to show instance properties, update toolbar handling 2017-03-05 23:19:08 +01:00
Florian Rival
38f58ded69 [WIP] Refactor newIDE ExternalEditor, send update when window is closed 2017-03-05 16:27:29 +01:00
Florian Rival
51c60de26a [WIP] Fix key shortcuts in newIDE InstancesEditor 2017-03-05 14:08:21 +01:00
Florian Rival
e977cd2d23 [WIP] Allow to select instances from InstancesList in newIDE 2017-03-05 13:30:31 +01:00
Florian Rival
6efdabdb36 [WIP] Add cache for filenames of resources in newIDE 2017-03-03 21:29:28 +01:00
Florian Rival
8709de1e3e [WIP] Fix memory leak when receiving data in newIDE, add smooth startup transition 2017-03-03 00:37:50 +01:00
Florian Rival
a29332e4dc [WIP] Update LoaderModal in newIDE 2017-03-02 23:06:41 +01:00
Florian Rival
c82c125bb4 [WIP] Improve newIDE loading time by using JSON.parse + gd.Serializer.fromJSObject
JSON.parse + fromJSObject is ~4x faster than using fromJSON as JSON.parse
is natively provided by JS engines/browsers.
2017-03-02 21:50:17 +01:00
Florian Rival
6528a12671 [WIP] Add LayersList to newIDE, update theme and resources integration 2017-03-02 00:56:51 +01:00
Florian Rival
bb3149817d [WIP] Add text fonts rendering to newIDE 2017-03-01 23:19:55 +01:00
Florian Rival
fb805cebf1 [WIP] Add IconMenu to new IDE, displaying either a material-ui or a native menu 2017-03-01 22:18:01 +01:00
Florian Rival
0702d0188a [WIP] newIDE ask for update when it's launched instead of getting the update pushed by IDE 2017-02-28 22:54:56 +01:00
Florian Rival
185cbbc594 [WIP] Add ExternalEditorBridge::IsConnected and allow it to be started again 2017-02-28 00:30:59 +01:00
Florian Rival
04c4c9ed50 [WIP] Add Electron packaging for newIDE 2017-02-28 00:24:46 +01:00
Florian Rival
dc445736ef [WIP] Enhance newIDE folder structure 2017-02-26 17:48:00 +01:00
Florian Rival
06ea17e7e8 [WIP] Add InstancesList, use npm for getting Pixi and remove uselss dependency to gdjs 2017-02-25 19:10:07 +01:00
Florian Rival
1d2ed3fe9d [WIP] Add missing material-ui dependency to newIDE 2017-02-23 22:58:03 +01:00
Florian Rival
6e953004f8 [WIP] Update ExternalEditorBridge to allow passing a scope when sending/receiving updates 2017-02-20 23:41:15 +01:00
Florian Rival
1b4d1582d4 [WIP] Add support for grid setup and update theme of newIDE 2017-02-20 00:47:14 +01:00
Florian Rival
90bd58b14a [WIP] Add toolbar, (partial) grid support to newIDE 2017-02-19 21:15:03 +01:00
Florian Rival
d78cecd34f [WIP] Handle objects with custom origin point and resize/move according to zoom factor in newIDE 2017-02-18 22:22:59 +01:00
Florian Rival
91771682f0 [WIP] Fix memory leak in newIDE, add update request to IDE on focus and a loader modal 2017-02-17 00:19:46 +01:00
Florian Rival
da5669ab70 [WIP] Add basic support for external layouts in newIDE 2017-02-15 23:53:12 +01:00
Florian Rival
afd7ac7c92 Expose gd::ExternalLayout::Get/SetAssociatedLayout to non IDE builds 2017-02-15 23:52:26 +01:00
Florian Rival
e8b1509fc2 Expose PanelSpriteObject to Emscripten build 2017-02-15 23:51:41 +01:00
Florian Rival
db1923c38c [WIP] Fix Emscripten memory leak in newIDE 2017-02-15 21:49:18 +01:00
Florian Rival
86789ac491 [WIP] Add support for layers in newIDE scene editor 2017-02-15 21:39:36 +01:00
Florian Rival
8f028f778d [WIP] Add Z-order and locked instances support in newIDE 2017-02-15 20:15:21 +01:00
Florian Rival
2a3d998e7c [WIP] Enhance InstancePropertiesEditor, fixes in InstancesEditor, enhance integration between IDE and newIDE 2017-02-14 23:56:24 +01:00
Florian Rival
3969561e8d [WIP] Add a POC InstancePropertiesEditor 2017-02-13 00:41:13 +01:00
Florian Rival
0118b740fa Center zoom in InstancesEditor and support multiple directions rendering of Sprite instances 2017-02-08 09:31:33 +01:00
Florian Rival
92a6e4819e Add methods to get/change the multipleDirections flag in Animation 2017-02-08 00:47:38 +01:00
Florian Rival
2afdcfdfa0 Fix new project creation 2017-02-08 00:46:50 +01:00
Florian Rival
a488f13aa6 [WIP] Move newIDE instances renderers into separate classes 2017-02-07 22:59:20 +01:00
Florian Rival
5ef46253b1 [WIP] Add ObjectsList and allow to select a new instance to insert in newIDE 2017-02-07 00:54:57 +01:00
Florian Rival
4a4dbe850c [WIP] Rename SceneEditor to InstancesEditor in newIDE and improve it 2017-02-07 00:13:01 +01:00
Victor Levasseur
37c643f7bc Scrollable instructions window and other layout fixes (#336)
* Put the parameters controls in a scrollable panel

* Fix InstructionSelectorDialog glitch when selecting an instruction

* Disable the horizontal scrollbar in InstructionsSelectorDialog

* Override parameter labels minimum size in InstructionSelectorDialog

so that they don't overflow from the scrollable area, hiding the parameters edition buttons

(also remove the horizontal scrollbar from the parameters scrollable area)

* Fix search text ctrl hidden by the tree ctrl in InstructionSelectorDialog

* Size fixes in InstructionSelectorDialog

* Fix unavailability warning msg displayed if an instruction has a custom generator

* Fix layout issues in ObjectsEditor and ChooseObject/VariableDialog
2017-01-28 17:11:24 +01:00
Florian Rival
2e67ec83fd Fix InitialInstancesContainer unserializeFrom when not empty 2017-01-23 00:50:45 +01:00
Florian Rival
de1a7c67b9 [WIP] Improve new IDE scene editor and try some more advanced integration 2017-01-22 17:26:01 +01:00
Florian Rival
eaba616f71 Fix InitialInstancesContainer unserializeFrom when not empty 2017-01-22 17:26:01 +01:00
Florian Rival
21cf59ff5a [WIP] Fix coordinates conversion in new IDE scene editor 2017-01-22 17:26:01 +01:00
Florian Rival
182c25f721 [WIP] Add electron support to the new IDE and WIP bridge to an external editor 2017-01-22 17:26:01 +01:00
Florian Rival
6002dc26dc [WIP] Ensure SceneEditor is taking all the remaining space 2017-01-22 17:26:01 +01:00
Florian Rival
e30e3cd705 [WIP] Improve SceneEditor 2017-01-22 17:26:01 +01:00
Florian Rival
88f0bbca8b [WIP] Add SceneEditor built with React and PixiJS 2017-01-22 17:26:01 +01:00
Florian Rival
6026bb8ff4 Add GDJS into the new IDE 2017-01-22 17:26:01 +01:00
Florian Rival
d57d186218 Add experimental, WIP IDE based on React 2017-01-22 17:26:01 +01:00
Florian Rival
834fed0b64 Serialize the project file in gd::Project 2017-01-22 17:26:01 +01:00
Florian Rival
ad7544c7a3 [WIP] Support for external editor with TCP connection 3 2017-01-22 17:26:01 +01:00
Florian Rival
0bf05afead Fix Project::UnserializeFrom not deleting existing data 2017-01-22 17:26:01 +01:00
Florian Rival
f1bb8b5149 [WIP] Support for external editor with TCP connection 2 2017-01-22 17:26:01 +01:00
Florian Rival
5d34d7a0b0 [WIP] Support for external editor with TCP connection 2017-01-22 17:25:25 +01:00
Florian Rival
7b8e1c70ba Fix EventsListSerialization::UnserializeEventsFrom not deleting existing events 2017-01-22 17:22:31 +01:00
Florian Rival
ba3fd0ebff [WIP] Export projects/layout as JSON when opening a scene editor 2017-01-22 17:22:31 +01:00
Victor Levasseur
01ee88cdc7 Fix "anticipate" parameter of "CentreCamera" and "FixCamera" 2017-01-19 23:44:13 +01:00
Florian Rival
cd34cbe934 Fix bottom part of PanelSprite rendered by PixiJS and cocos2d-JS 2017-01-07 15:32:33 +01:00
Florian Rival
276850b306 Add script to launch Chrome on OS X for profiling with IRHydra 2017-01-05 00:18:57 +01:00
Florian Rival
883129f379 Refactor arguments code generation using GenerateArgumentsList (#335) 2017-01-04 23:56:10 +01:00
Florian Rival
dea86d7c33 Really fix SFML patch for OS X (last patch was invalid) 2017-01-03 21:18:36 +01:00
Florian Rival
3d89bd50fc Merge pull request #331 from 4ian/optimization/objects-list-copy
Various optimizations (events generated code and game engine)
2016-12-31 19:11:42 +01:00
Florian Rival
54c94f62a4 Micro optimization for gdjs.evtTools.common.toString 2016-12-31 18:38:45 +01:00
Florian Rival
b9d71b0d9c Optimization to avoid constructing objects maps for events at runtime 2016-12-31 18:38:45 +01:00
Florian Rival
e5631383dd Avoid unnecessary copy or declarations of objects lists
* Declare objects lists used by actions only when actions are launched
for standard events (both GDCpp and GDJS)
* Enable the object list reuse optimisation in GDCpp as done in GDJS.
2016-12-31 18:38:45 +01:00
Florian Rival
8dc3bd3831 Don't animate sprites if outside of the screen in GDJS
* This leads to important performance boost in games with large maps/levels
* Backward compatibility is preserved for existing games, but any new object
created is using this optimization by default.
2016-12-31 18:38:45 +01:00
Florian Rival
cdc3e3ed90 Update gdjs.RuntimeScene._updateObjects to apply forces as done in GDC++
Could potentially change slightly the behavior of some game but it's now
consistent between GDJS and GDCpp.
This also avoid an extra iteration on all instances in GDJS.
2016-12-31 18:38:45 +01:00
Florian Rival
5281cd54cc Replace HSHG in platformruntimebehavior.js by RBush
TODO: Check if RBush create/destroy a lot of temporary JS objects and arrays
and try to reduce this.
2016-12-31 18:38:45 +01:00
Florian Rival
be66e670e9 Small optimisations for rendering of gdjs.SpriteRuntimeObject 2016-12-31 18:38:45 +01:00
Florian Rival
ee9a3d181d Prevent long lags/freezes in code generated for GDJS games (especially on Android)
This is done by generating every events list code in separate functions, reducing
the stress on garbage collectors of JS engines.
2016-12-31 18:38:45 +01:00
Florian Rival
a81170d934 Avoid unncessary copy of objects lists for last event of events lists 2016-12-31 18:38:45 +01:00
Florian Rival
4825313b15 Fix SFML patch for OS X 2016-12-31 18:38:10 +01:00
Victor Levasseur
90e1a33829 A message is displayed if the instruction is not available in one of the game's platforms 2016-12-30 01:24:39 +01:00
Victor Levasseur
7ad075cb59 Add StrRepeat string expression to repeat a string 2016-12-29 15:54:39 +01:00
Victor Levasseur
fd67843d0d Use sf::Text::getFillColor instead of the deprecated getColor 2016-12-29 12:53:22 +01:00
Victor Levasseur
0b9771815b Remove "hide tabs" options in settings 2016-12-29 12:47:38 +01:00
Victor Levasseur
d01a80c7b9 Fix TextObject smoothing freezing HTML5 games
(disable the smoothing action and condition in HTML5 games)
2016-12-29 12:39:34 +01:00
Victor Levasseur
3f005449ad Revert "Fix 3D Box blending with textures with fully transparent pixels (#325)"
This reverts commit e982f6218b.
2016-12-28 13:30:16 +01:00
Victor Levasseur
10e7a11a34 All events are now grayed when disabled 2016-12-28 12:58:30 +01:00
Florian Rival
65b02a7460 Merge pull request #314 from victorlevasseur/bugfix/particle-system
Bugfix/particle system
2016-12-25 21:12:47 +01:00
Bouh
0b28b0d15a Fix documentation for hasVariable() (#330) 2016-12-25 14:54:50 +01:00
Victor Levasseur
4e32b64bc6 Add the Mac OS X workaround for SFML
Fix PackageForOBS to embed SFML in the source archive
2016-12-25 12:17:25 +01:00
Victor Levasseur
d7509cf7c7 Update to SFML 2.4.1 and fix particle texturing 2016-12-24 22:52:36 +01:00
Florian Rival
78ec0fd201 Optimize code generation for object variables actions with mutators functions 2016-12-24 17:00:20 +01:00
Victor Levasseur
e982f6218b Fix 3D Box blending with textures with fully transparent pixels (#325)
Unfortunately, it's almost impossible to easily fix the problem for semi
transparent pixels
2016-12-22 00:01:15 +01:00
Florian Rival
4dae5dd567 Fixes for Android SFML export 2016-12-21 23:32:58 +01:00
Bouh
9f81038f1d Fix description of setVariableString in doc (#326) 2016-12-19 19:06:19 +01:00
Florian Rival
40fcb668c4 Merge pull request #313 from 4ian/feature/layer-timescale
Time scale for layers and various fixes/improvements
2016-12-17 16:31:17 +01:00
Bouh
96afbeb931 Fix error description in variable.js (#323) 2016-12-16 23:27:04 +01:00
Victor Levasseur
1ed005a472 Fix HTML5 game crash with non renderable objects 2016-12-10 12:19:25 +01:00
Florian Rival
b9abd568d0 Ensure first frame of a scene with Cocos2d-JS is not shown before scene render 2016-12-04 20:31:49 +01:00
Florian Rival
6ca3a08dd8 Add LinkRuntimeFiles.sh scripts in GDJS to ease development of the game engine
The script allow to quickly link the sources of the game engine in a folder
of an exported/previewed game, so that any change in the game engine can
be tested directly in the game.
2016-12-04 20:13:58 +01:00
Florian Rival
ccf75c63ad Fix RuntimeScene not compiling after changes in shared_ptr management 2016-12-04 14:31:44 +01:00
Victor Levasseur
f616075508 PackageForWindows.bat displays progress when creating the installer and the archive 2016-12-02 14:31:41 +01:00
Victor Levasseur
880ccad7f5 Fix buffer size of gd::FileStream on Windows
(let the system use its default parameter)
2016-12-02 01:30:21 +01:00
Florian Rival
7d9774c01d Fix RuntimeLayer::SetTimeScale when called with 0 2016-12-01 22:18:08 +01:00
Florian Rival
50b493ab2c Add actions/conditions/expressions in GDC++ to manipulate layer time scale 2016-12-01 22:18:08 +01:00
Florian Rival
66ef1e0abf Refactor RuntimeObject and behaviors to allow per-layer timescale 2016-12-01 22:18:08 +01:00
Florian Rival
ae93430539 Add actions/conditions/expressions to manipulate layer time scale 2016-12-01 22:18:08 +01:00
Florian Rival
42022290b8 Refactor gdjs.RuntimeObject and behaviors to allow per-layer timescale 2016-12-01 22:18:08 +01:00
Florian Rival
5c9279c6df Merge pull request #320 from 4ian/fix/file-stream-osx
Fix FileStream constructor on OS X
2016-11-30 23:24:11 +01:00
Florian Rival
69b2a41caa Fix FileStream constructor on OS X 2016-11-30 22:55:51 +01:00
Victor Levasseur
b6d92d69bc Improve message handling in FullProjectCompiler 2016-11-26 14:59:22 +01:00
Victor Levasseur
940ea8ba19 Merge branch 'master' of https://github.com/victorlevasseur/GD 2016-11-26 02:08:37 +01:00
Victor Levasseur
ea5d92a289 Fix FileStream::close 2016-11-26 02:00:50 +01:00
Victor Levasseur
9631bc0c32 Fix some FileStream 2016-11-24 21:03:14 +01:00
Victor Levasseur
7c14f9dd39 Fix gd::FileStream ctor 2016-11-23 23:11:25 +01:00
Victor Levasseur
59b9373974 Fix font loading crashing in the IDE
This is an ugly fix. The whole font loading process and FontManager still
need an overhaul (to be more C++11-ish).
2016-11-23 02:34:32 +01:00
Victor Levasseur
ab9403bece Set all sounds/musics relative to the listener
(to avoid conflicts with the Sound object extension)
2016-11-22 19:24:53 +01:00
Victor Levasseur
7e23652eef Add an option to simplify the version number to reduce building time 2016-11-20 01:15:29 +01:00
Victor Levasseur
6badf722c0 Fix gd::NativeFileSystem::Read/WriteFile 2016-11-15 16:31:04 +01:00
Victor Levasseur
d20b5a0fbb gd::Object and RuntimeObject are now cloned in unique_ptr 2016-11-15 08:33:56 +01:00
Victor Levasseur
ba791eddcb Use std::unique_ptr in SceneStack 2016-11-15 08:33:56 +01:00
Victor Levasseur
9a532a19db RuntimeObjects are now managed by unique_ptr 2016-11-15 08:33:56 +01:00
Victor Levasseur
3b75fd6df4 Add gd::FileStream (#312)
* Fix unicode paths on Windows for XML files
* Add a fstream equivalent that supports gd::String paths (with characters outside the current codepage on Windows)
* Add a sf::InputStream subclass for the same purpose
* Use gd::FileStream in DatFile and ResourcesLoader
* Replace remaining i/ofstream with gd::FileStream
2016-11-13 16:24:11 +01:00
Florian Rival
d6f3b2776e Add links to GDevelop Nightly builds 2016-11-12 17:05:42 +01:00
Victor Levasseur
dba2d55193 Fix again for resource.rc 2016-11-11 12:49:09 +01:00
Victor Levasseur
7cae68c5b8 Really fix resource.rc 2016-11-11 12:34:32 +01:00
Victor Levasseur
11c96dbef1 Really fix resource.rc 2016-11-11 12:31:10 +01:00
Victor Levasseur
46fff2dec4 Fix resource.rc not built correctly on Windows because of the new version header 2016-11-11 12:10:36 +01:00
Victor Levasseur
72df404d7f Automatic versioning (#311)
* Use the port number in SendHttpRequest and DownloadFile

* Fix "Custom size" and "Custom viewports" not displayed in layer propgrid

* Fix Fedora spec file

* Use automatic versioning from git

* A "correct" version number is now generated even if git is unable to find a tag
2016-11-11 11:32:56 +01:00
Victor Levasseur
cdbd3c515d Force travis.yml to get the full history 2016-11-10 09:31:47 +01:00
Victor Levasseur
b0e29bab5b Merge remote-tracking branch 'upstream/master' 2016-11-08 16:30:33 +01:00
Victor Levasseur
70fada11e7 Fix Fedora spec file 2016-11-08 16:19:12 +01:00
Victor Levasseur
626651ec51 Ignore errors when copying the compiler to the GDevelop's folder 2016-11-07 01:13:01 +01:00
Victor Levasseur
a47963e77f Merge remote-tracking branch 'upstream/master' 2016-11-06 19:30:41 +01:00
Florian Rival
179183f414 Bump version 2016-11-02 23:11:29 +01:00
Victor Levasseur
67b7a3a060 Fix "Custom size" and "Custom viewports" not displayed in layer propgrid (#308)
* Fix "Custom size" and "Custom viewports" not displayed in layer propgrid
2016-11-02 14:55:56 +01:00
Victor Levasseur
63dfc887cc Fix "Custom size" and "Custom viewports" not displayed in layer propgrid 2016-11-02 14:36:52 +01:00
Victor Levasseur
b537c36643 Merge remote-tracking branch 'upstream/master' 2016-11-02 13:36:30 +01:00
Victor Levasseur
146ed26eed Use the port number in SendHttpRequest and DownloadFile (#307) 2016-11-01 15:30:04 +01:00
Victor Levasseur
d971a4eb6a Use the port number in SendHttpRequest and DownloadFile 2016-11-01 09:16:24 +01:00
Florian Rival
11ac1be195 Update translations 2016-10-31 23:36:32 +01:00
Florian Rival
f1509cf7b8 Bump version 2016-10-16 00:03:40 +02:00
Florian Rival
612ea7f067 Fix crash when changing scene in external layout editor on OS X 2016-10-15 19:09:26 +02:00
Florian Rival
fa3399f7d2 Fix InitialInstancesContainer::RemoveInstance and harden test (#303) 2016-10-07 13:57:08 +02:00
Florian Rival
296a2ae345 Merge pull request #300 from victorlevasseur/no_shared_ptr
Manage gd::Object, gd::Layout, gd::ExternalEvents, gd::ExternalLayout and gd::SourceFile with std::unique_ptr
2016-10-02 17:20:07 +02:00
Victor Levasseur
0c7c841aab Use unique_ptr to store gd::SourceFile 2016-09-19 00:15:37 +02:00
Victor Levasseur
ce7b0bfe85 Merge remote-tracking branch 'upstream/master' into no_shared_ptr 2016-09-18 19:15:21 +02:00
Victor Levasseur
affdbbead8 Store external events and layouts using unique_ptr instead of shared_ptr 2016-09-18 19:13:05 +02:00
Florian Rival
6ac34ee7e3 Update translations 2016-09-18 16:22:50 +02:00
Florian Rival
e07b9ae942 Merge pull request #299 from victorlevasseur/improve-code
Improve various part of the codebase
2016-09-18 15:38:34 +02:00
Victor Levasseur
ac57c1e25a Fix gd::Project::Insert(New)Layout 2016-09-18 15:25:28 +02:00
Victor Levasseur
3f3b619cd2 Merge branch 'improve-code' into no_shared_ptr 2016-09-18 14:02:40 +02:00
Victor Levasseur
6a92872fd0 Use conditions to avoid crash with invalid camera number 2016-09-18 13:58:45 +02:00
Victor Levasseur
be38240eee Revert "Fix crash when using a wrong camera number"
This reverts commit 2ff461f3b1.
2016-09-18 13:49:24 +02:00
Victor Levasseur
1bf86461f0 Use std::vector<std::unique_ptr> to store objects in gd::Project 2016-09-18 13:45:45 +02:00
Victor Levasseur
2ff461f3b1 Fix crash when using a wrong camera number 2016-09-16 19:14:31 +02:00
Victor Levasseur
e88701df92 Use std::iter_swap to spaw objects in vectors 2016-09-16 18:39:20 +02:00
Victor Levasseur
5aa30efa52 Improve InitialInstancesContainer code
Add tests for InitialInstancesContainer
2016-09-14 11:52:40 +02:00
Victor Levasseur
0ac9f8720b Rename EventsCodeGeneratorContext test to EventsCodeGenerationContext 2016-09-13 17:00:02 +02:00
Victor Levasseur
82684041ff Use std::copy instead of loops in EventsCodeGenerationContext
Add test cases for EventsCodeGenerationContext
2016-09-13 01:12:26 +02:00
Florian Rival
85867a53a9 Avoid allocation when creating a gdjs.SpriteRuntimeObject 2016-09-11 22:46:35 +02:00
Florian Rival
0e21c757d2 Merge pull request #297 from victorlevasseur/master
Expand/Collapse instructions categories when user clicks on them
2016-09-11 19:27:26 +03:00
Florian Rival
cc4e48d82f Fix name of pasted scenes/external events/layouts having an extra space 2016-09-11 18:10:41 +02:00
Victor Levasseur
fa1861da27 Expand/Collapse instructions categories when user clicks on them 2016-09-11 14:06:10 +02:00
Victor Levasseur
3533608cb0 Updated LinkEvent editor with support for including groups (#287)
* LinkEvent can now includes an events group
* New editor for LinkEvent
* Fix events groups not always included by the link event
2016-09-06 08:47:12 +02:00
Victor Levasseur
d22a183078 Optimize Hitboxes collision testing for "big" objects (#289)
* Add a new GetHitBox method to get polygons inside an hint AABB

* Add GetAABB method to RuntimeObject and use it as an hint for collision

* Use GetHitbox with hint inside SeparateFromObjects

* Remove debug outputs in TileMapObject
2016-09-05 22:53:56 +02:00
Florian Rival
771a2196ea Merge pull request #292 from victorlevasseur/bugfix/heap-corruptions
Fix array deleted with delete instead of delete[]
2016-08-21 14:36:41 +02:00
Victor Levasseur
60ada8d94f Fix array deleted with delete instead of delete[]
Potentially causing an undefined behavior
2016-08-21 02:01:45 +02:00
Florian Rival
ee868546d3 Merge pull request #291 from 4ian/fix/code-generation
Fix code generation when multiple scenes link to the same events
2016-08-20 17:19:01 +02:00
Florian Rival
526fdd852f Improve a bit const-correctness of EventsCodeGenerator 2016-08-20 17:10:47 +02:00
Florian Rival
cc84aa5478 Fix code generation when multiple scenes used the same events.
Code generation was modifying the events in place. If two or more scenes
used the same events, the events could be modified for a scene during code
generation, leading to a bad code generation for the others.

(In particular, if a scene was not containing an object, any action related to it
would be set an action with an empty type. Any other scene using the action will then
have the action not working).
2016-08-20 16:19:24 +02:00
Florian Rival
8c613ed6a3 Merge pull request #290 from 4ian/feature/inventory
This includes a new small extension to store an inventory with items in memory, to avoid re-implementing this classic game element by hand using events. Items number can be limited, unlimited, marked as equipped.

The PR also includes a few improvements to the JS game engine to avoid garbage creation and fix compilation on OS X 10.11 ("El Capitan").
2016-08-20 16:12:08 +02:00
Florian Rival
1e2cf210b5 Merge pull request #286 from victorlevasseur/bugfix/heap-corruptions
Bugfix/heap corruptions
2016-08-20 12:52:37 +02:00
Florian Rival
422132d8c7 Avoid allocations in gdjs.RuntimeObject.getRendererObject and gdjs.evtTools.object.pickObjectsIf 2016-08-15 19:54:01 +02:00
Florian Rival
4830e6b5bc Reworked gdjs.Polygon.collisionTest to avoid allocations 2016-08-15 18:03:07 +02:00
Florian Rival
fc2fe9e1eb Reworked gdjs.evtTools.object.twoListsTest and Array.prototype.createFrom to avoid allocations 2016-08-14 19:33:43 +02:00
Florian Rival
682efcbfdc Avoid allocation in gdjs.PlatformerObjectRuntimeBehavior and add TODO where allocations should be removed 2016-08-14 18:59:42 +02:00
Florian Rival
e4c6f2dd0c Avoid allocations in gdjs.RuntimeScene and gdjs.SpriteRuntimeObject 2016-08-12 21:04:40 +02:00
Florian Rival
cbc0a6bf2b Add Inventory extension icons 2016-08-10 21:54:44 +02:00
Florian Rival
982fd4cc67 Add serialization of inventories for Javascript platform 2016-08-10 00:11:47 +02:00
Florian Rival
f33f361e45 Add serialization of inventories to variables for native games 2016-08-09 00:17:12 +02:00
Victor Levasseur
be72d44a4d Fix CppEvent editor adding empty line to the includes (#284) 2016-08-08 22:15:57 +02:00
Victor Levasseur
7e9a2e40aa Merge pull request #283 from victorlevasseur/master
Remove useless files (SPARK doc, Box2D doc, dlib doc)
2016-08-08 18:57:29 +02:00
Victor Levasseur
bc5349fd26 Remove useless files (SPARK doc, Box2D doc, dlib doc) 2016-08-08 18:45:51 +02:00
Victor Levasseur
9131b6a143 Fix out of bound access in FlatAuiTabArt.cpp 2016-08-08 18:17:34 +02:00
Victor Levasseur
6fc8d1cf97 Fix heap corruption with link events 2016-08-08 12:09:06 +02:00
Florian Rival
51c172f4d5 Fix compilation on Windows 2016-08-07 22:26:41 +02:00
Florian Rival
116e7cfe25 Implement Inventory for native games 2016-08-07 22:26:41 +02:00
Florian Rival
d70204b24c Fix compilation on OS X 10.11 by removing deprecated GLU calls 2016-08-07 22:26:41 +02:00
Florian Rival
edae3892ca Rework gdjs.TimeManager to avoid using Date.now() 2016-08-07 22:26:41 +02:00
Florian Rival
b3b39ab468 Remove gdjs.iterateOverArray and replace its usage by raw loops 2016-08-07 22:26:41 +02:00
Florian Rival
4699e161e4 Add Inventory extension (JS platform only for now) 2016-08-07 22:26:41 +02:00
Florian Rival
be3ae5802d Add support for adding multiple include files for instructions 2016-08-07 22:26:41 +02:00
Florian Rival
097508829a Merge pull request #278 from 4ian/feature/anchor-behavior-js
Implement AnchorBehavior for the Javascript Platform
2016-08-02 17:31:30 +02:00
Victor Levasseur
1eac74c12c Merge branch 'release/gd-4.0.93' 2016-08-01 14:45:20 +02:00
Victor Levasseur
af8d2fc5d8 Fix linking failing when GDevelop is installed in a path containing spaces 2016-08-01 14:33:59 +02:00
Florian Rival
2ae5f01836 Add an option to AnchorBehavior to position objects according to the original game window size
The option is activated by default, so that the distance to the edges are the same as the one
in the editor, even when the game size has been changed.
2016-07-27 01:14:16 +02:00
Florian Rival
a1fa6dad15 Implement AnchorBehavior for the Javascript Platform 2016-07-25 23:23:30 +02:00
Florian Rival
7d8178c2e5 Fix an anchor behavior issue with right edge 2016-07-24 20:58:27 +02:00
Florian Rival
70a35c11c2 Fix anchor behavior not always properly applying bottom/right edges and warnings 2016-07-24 18:13:50 +02:00
Victor Levasseur
d7c897b488 Anchor behavior for native games (#275)
* Add AnchorBehavior

* Improve the AnchorBehavior

* Add an icon to the AnchorBehavior

* Code cleaning in AnchorBehavior

* Add more icons for the AnchorBehavior
2016-07-24 15:45:09 +02:00
Florian Rival
d12924daaf Merge pull request #277 from Wend1go/variable_child_count
Add expression to retrieve the number of subitems from a structure variable (native & js)
2016-07-22 14:09:58 +02:00
Wend1go
2d3cdcdde8 Retrieve number of subitems from variable/structure (native/js)
- global variables (expression)
- scene variables  (expression)
- object variables (expression)
2016-07-22 09:07:49 +02:00
Florian Rival
5ab601e8e6 Add SystemInfo extension with isMobile condition 2016-07-17 18:33:24 +02:00
Florian Rival
5c66a37406 Merge pull request #274 from victorlevasseur/loading-optimization
Texture loading optimization
2016-07-17 15:13:26 +02:00
Florian Rival
cfa161f763 Fix music looping in HTML5 game and update Howler.js to latest version 2016-07-17 14:32:13 +02:00
Florian Rival
84c8efffa3 Fix compilation on OS X 2016-07-16 15:13:01 +02:00
Florian Rival
a4e2a3e8f1 Merge branch 'master' of github.com:4ian/GD 2016-07-16 13:24:44 +02:00
Florian Rival
73984d7cfc Fix loading stored values set to 0/empty string in HTML5 games 2016-07-16 13:24:28 +02:00
Victor Levasseur
327a3b05b8 Load the sf::Image and then load the sf::Texture from it (avoids an image copy) 2016-07-15 18:36:26 +02:00
Victor Levasseur
a9e5790d78 Avoid sf::Texture copy when loading them 2016-07-15 18:10:50 +02:00
Florian Rival
a544666ea4 Merge pull request #271 from RandomShaper/fix-manifest-side-effects
Fix side effects of too broad Windows targeting in the manifest for high contrast theme support
2016-07-13 14:01:13 +02:00
Florian Rival
d0ca9cac54 Merge pull request #273 from victorlevasseur/bugfix/gcc_6
Some fixes for GCC6 and Fedora 24
2016-07-13 13:56:34 +02:00
Victor Levasseur
d0910e3e6f Set the RPATH of compiled files when previewing the game 2016-07-12 12:24:18 +02:00
Victor Levasseur
4018353d50 Some fix for GCC6 and Fedora 24 2016-07-12 11:34:14 +02:00
Florian Rival
6388e6a914 Add Lil BUB's HELLO EARTH game links 2016-07-05 01:02:55 +02:00
Pedro J. Estébanez
4f144f7532 Fix side effects of too broad Windows targeting 2016-07-04 19:25:30 +02:00
Victor Levasseur
82a7c3048f Revert "Provide compatibility with Windows high contrast themes"
This reverts commit 91cfff6e84.
The updated manifest caused some bugs with the text object editor
2016-07-03 23:08:04 +02:00
Florian Rival
8daa0354e1 Merge branch 'master' of github.com:4ian/GD 2016-07-02 19:11:53 +02:00
Florian Rival
f26357c9b8 Fix platformer objects stuck in floor when resized when the origin is not at the top left of the object 2016-07-02 18:30:51 +02:00
Florian Rival
4110c38c10 Update gdupdate-info*.xml files 2016-07-02 18:30:18 +02:00
Florian Rival
084f8fbe72 Fix compilation of IDE on Windows 2016-06-28 23:54:07 +02:00
Florian Rival
db074c7f57 Bump version 2016-06-27 23:54:39 +02:00
Florian Rival
5b1fed4d9e Merge pull request #269 from 4ian/feature/layers-effects
Layers effects for the JS engine (Pixi.js & Cocos2d-JS)
2016-06-24 00:09:29 +02:00
Florian Rival
447106b7fb Merge pull request #270 from RandomShaper/windows-high-contrast-compat
Provide compatibility with Windows high contrast themes
2016-06-23 23:35:37 +02:00
Pedro J. Estébanez
91cfff6e84 Provide compatibility with Windows high contrast themes
By providing a manifest specifying the targeted Windows versions (as per https://msdn.microsoft.com/en-us/library/windows/desktop/hh404233(v=vs.85).aspx#_______supporting_high_contrast_themes_in_windows_8_and_later) now scene renders normally under a high contrast theme on Windows, instead of staying unrefreshed.
2016-06-23 23:30:51 +02:00
Florian Rival
db3a107e0f Fix GDJS unit tests 2016-06-23 23:16:21 +02:00
Florian Rival
23dab62ad5 Add partial support for Cocos2d-JS fileUtils, deactivated for now 2016-06-23 23:01:26 +02:00
Florian Rival
3dd5c0f997 Fix localStorage with Cocos2d-JS 2016-06-13 23:12:03 +02:00
Florian Rival
517ef5fc57 Make open URL action compatible with Cocos2d-JS 2016-06-12 01:30:47 +02:00
Florian Rival
1d539968bb Unfold events when highlighting an event in SearchEvents dialog 2016-06-07 22:22:56 +02:00
Florian Rival
4879bfe1b1 Added LightNight effect and action to change effect parameters 2016-06-04 18:20:36 +02:00
Florian Rival
e83d2a2b48 Add support for effects for HTML5 games (Pixi.js and Cocos2d-JS renderers)
Two effects are hardcoded for now
2016-06-02 01:05:14 +02:00
Florian Rival
cd84f6c43c Add gd::Effect and allow one effect to be added to layers 2016-06-01 00:38:56 +02:00
Florian Rival
7bcc3dc6bb Use the properties grid for editing layers properties and cameras, deleted EditLayerDialog 2016-05-28 22:08:20 +02:00
Florian Rival
1a995ba55c Add support for Cocos2d-JS localStorage 2016-05-28 14:44:26 +02:00
Florian Rival
622fcdcc62 Fix compilation on OS X 2016-05-26 21:06:00 +02:00
Florian Rival
b933ab24dd Merge pull request #267 from 4ian/feature/platformer-grab-platforms
Feature/platformer grab platforms
2016-05-26 20:57:44 +02:00
Florian Rival
7fe4a5c5ff Add unit test for platform ledge grabbing for the JS engine 2016-05-23 23:50:31 +02:00
Victor Levasseur
3b36e16256 Fix "°" encoding in the initial instances dialog 2016-05-18 00:19:20 +02:00
Florian Rival
b620737b18 Rework platform ledge grabbing mechanism 2016-05-16 22:31:33 +02:00
Florian Rival
bcb9b03eab Fix missing Release key handling in platformer "Simulate key press" action 2016-05-15 17:36:24 +02:00
Florian Rival
e20f66909e Implement platform ledges grabbing for native games 2016-05-15 17:36:24 +02:00
Florian Rival
667d0a1f4a Add options to allow ledged grab on platform/platformer behaviors + test game 2016-05-15 17:36:24 +02:00
Florian Rival
de9d6bd103 [WIP] Allow to release the grabbed platform with down key 2016-05-15 17:36:24 +02:00
Florian Rival
ba625133f1 [WIP] Rework platform grabbing to avoid issues with floor and rescaled sprites (and avoid relying on object.getX/getY) 2016-05-15 17:36:24 +02:00
Florian Rival
44ce216894 [WIP] Add ability for platformer objects to grab platforms
TODO: Add a testbed in GDJS/tests
2016-05-15 17:36:23 +02:00
Florian Rival
0bcf3475b0 Always copy GDJS Runtime/GDCpp headers when building
This helps during the development, as copying the headers/GDJS runtime
can be easily forgotten. Also, the commands were not triggered when working only on the
extensions.
2016-05-15 17:34:46 +02:00
Florian Rival
09b35c9dd8 Add test game displaying the width of scaled sprite objects 2016-05-09 23:05:19 +02:00
Florian Rival
0123128206 Add option to activate debug mode when exporting with Cocos2d-JS 2016-05-06 20:29:01 +02:00
Florian Rival
7a728d370d Add support for non-smoothed texture with Cocos2d-JS 2016-05-05 17:14:52 +02:00
Florian Rival
6bb426ecf6 Fix scene unloading with Cocos2d-JS 2016-05-05 16:18:57 +02:00
Florian Rival
459b395ee9 Enable multline editing of variables default value in ChooseVariableDialog 2016-05-05 16:18:16 +02:00
Florian Rival
943401d8bf Merge pull request #265 from 4ian/feature/optimize-js
Optimizations for the JS game engine
2016-05-02 23:44:25 +02:00
Florian Rival
020348e3b0 Fix text objects font not properly applied with Cocos2d on Android/iOS
For iOS, the user still need to add the font to the app provided fonts in XCode
(see http://stackoverflow.com/questions/14508675/how-can-i-add-a-font-to-my-cocos2d-ios-project-and-use-it-with-a-cclabelttf)
2016-05-02 23:34:48 +02:00
Florian Rival
347ee2a74e Update documentation link to the recommended compiler 2016-05-02 23:34:24 +02:00
Florian Rival
c7cd582152 Avoid creating objects when calling Hashtable.values() and by using gdjs.staticArray 2016-04-28 23:16:38 +02:00
Florian Rival
6625e3fd00 Avoid creating temporary objects when calling Hashtable.keys() 2016-04-28 22:18:25 +02:00
Florian Rival
1710aacb17 Rework internal profiler to avoid creating temporary objects 2016-04-27 23:05:39 +02:00
Florian Rival
c88f7e53c0 Rework PlatformBehavior to avoid creating temporary objects. Remove dead code in HSHG and avoid temp objects/arrays 2016-04-27 23:03:46 +02:00
Florian Rival
4c62c8c046 Comment out a console.log 2016-04-27 00:31:57 +02:00
Florian Rival
ab2a347f97 Avoid creating a new Hashtable each tick in PlatformerObjectRuntimeBehavior and avoid creating temporary objects/arrays 2016-04-27 00:31:36 +02:00
Florian Rival
2a90e9bd5e Avoid usage of Hashtable.entries() and remove it 2016-04-26 23:50:20 +02:00
Florian Rival
08a9a856a7 Avoid using Hashtable.entries() in gdjs.InputManager 2016-04-26 23:33:29 +02:00
Florian Rival
ad2e85be49 Use prototype to define Hashtable functions instead of modifying the object 2016-04-26 23:29:09 +02:00
Florian Rival
71f6cd529f Avoid creating objects/arrays in gdjs.RuntimeScene.prototype._updateObjectsVisibility 2016-04-26 23:20:07 +02:00
Florian Rival
70c804e34a Rewrite gdjs.RuntimeScene.prototype._constructListOfAllInstances to avoid calling Hashtable.values() 2016-04-26 23:05:45 +02:00
Florian Rival
8d92dd818e Remove calls to Hashtable.keys(), useless function/object creations 2016-04-26 22:55:15 +02:00
Florian Rival
7af76081d0 Avoid declaring functions in gdjs.RuntimeScene.prototype._updateObjectsVisibility 2016-04-26 21:59:09 +02:00
Florian Rival
3e31081e88 Merge pull request #260 from victorlevasseur/master
Remove useless SPARK vc2008 libs and demos
2016-04-26 10:59:06 +02:00
Florian Rival
c5b5819edf Merge pull request #261 from 4ian/feature/named-animations
Named animations
2016-04-25 22:48:28 +02:00
Florian Rival
6820a3eb10 Add test for named animations of RuntimeSpriteObject 2016-04-24 17:06:08 +02:00
Florian Rival
727b34df75 Implement named animations for SpriteObject for native games 2016-04-24 16:18:12 +02:00
Florian Rival
bdb5461847 Implement named animations for SpriteObject for HTML5 games 2016-04-24 15:40:51 +02:00
Florian Rival
c41537bcac Add name to SpriteObject animations 2016-04-24 01:19:20 +02:00
Victor Levasseur
cd05c57e20 Remove useless SPARK vc2008 libs
Prevents a crash when packaging for Fedora
2016-04-17 23:54:29 +02:00
Victor Levasseur
c432378c78 Rename lumière.png to lumiere.png
Prevents a crash when packaging on Arch Linux
2016-04-17 23:53:35 +02:00
Victor Levasseur
b650ba33b1 Add a new rpmlint rule for building RPM packages 2016-04-17 22:44:50 +02:00
Florian Rival
f67206940e Version bump 2016-04-17 15:16:42 +02:00
Florian Rival
bb69871c93 Update French translation 2016-04-17 14:59:35 +02:00
Victor Levasseur
6abfa19dd8 Fix "ignore default controls" of TopDownMovementBehavior for HTML5 games 2016-04-17 11:11:54 +02:00
Victor Levasseur
f8cbd788a1 Fix "Layer up" and "Layer down" context menu buttons in the layout editor 2016-04-17 10:49:24 +02:00
Florian Rival
5516c85f1d Merge pull request #259 from victorlevasseur/feature/tilemap-android
Feature/tilemap android
2016-04-16 15:19:30 +02:00
Florian Rival
dfc4f524fc Update translations 2016-04-16 15:12:30 +02:00
Victor Levasseur
0b9728030a Fix GL states popped on Android 2016-04-16 14:54:48 +02:00
Victor Levasseur
8aeb7bfacb TileMapObject is now compatible with Android 2016-04-16 14:30:10 +02:00
Florian Rival
966105fcc4 Minor UI fix 2016-04-14 22:02:50 +02:00
Florian Rival
51a6c935d9 Add an explanation text in AndroidExportDialog and update translation sources 2016-04-14 21:12:13 +02:00
Florian Rival
0d34568afc Merge pull request #258 from victorlevasseur/feature/improve-android-export
Feature/improve android export
2016-04-13 21:27:00 +02:00
Victor Levasseur
b68d24e8e4 Add an export dialog for the experimental Android export 2016-04-13 12:03:16 +02:00
Victor Levasseur
13d5069bd3 Update Application.mk for the lastest NDK 2016-04-11 19:36:21 +02:00
Victor Levasseur
01372c9589 Add an help button to the android export dialog 2016-04-11 14:36:16 +02:00
Victor Levasseur
e7498fd8f3 Add a dialog to choose where to export the android game 2016-04-11 13:02:12 +02:00
Victor Levasseur
846eceabdf Allow platforms to provide multiple exporters 2016-04-11 12:06:45 +02:00
Florian Rival
64692e405e Merge pull request #257 from victorlevasseur/bugfix/box2djs
Fix box2d.js crash when changing scenes
2016-04-10 12:10:32 +02:00
Victor Levasseur
1adb4febb1 Fix world only destroyed if instanciated 2016-04-10 11:13:38 +02:00
Victor Levasseur
ff24bf7af6 Merge remote-tracking branch 'upstream/master' into bugfix/box2djs 2016-04-09 22:59:41 +02:00
Victor Levasseur
d705f7503a Fix physic behavior memory leak in HTML5 games 2016-04-09 22:06:46 +02:00
Florian Rival
61b01aa1a1 Version bump 2016-04-09 17:32:30 +02:00
Florian Rival
0296162cda Merge branch 'feature/native-android' 2016-04-09 16:35:36 +02:00
Florian Rival
c11ffca94a Save the latest export directory when exporting HTML5 game with Cocos2d-JS 2016-04-09 16:34:40 +02:00
Florian Rival
2fce1fc16f Fix "Put object(s) on the lower layer" menu item in LayoutEditorCanvas" 2016-04-09 16:33:56 +02:00
Florian Rival
2a3657abef Merge pull request #256 from 4ian/feature/modular-html5-rendering
Experimental Cocos2d-JS export and native android export
2016-04-09 16:27:08 +02:00
Victor Levasseur
da4dc223f7 Fix box2d.js crash when changing scenes
(use an updated version of box2d.js)
2016-04-09 13:32:48 +02:00
Florian Rival
eeb0dc8a63 Implement TextEntryObject for Cocos2d 2016-03-28 19:40:09 +02:00
Florian Rival
f6f56d77a0 Add tiling and fix rendering of PanelSprite objects with Cocos2d 2016-03-28 00:47:12 +02:00
Florian Rival
749c383fd7 Fix tiling not properly done in TilingSprite objects with Cocos2d-x. Need to workaround a Cocos2d shader uniform issue 2016-03-27 19:45:27 +02:00
Florian Rival
98c822bfb4 Don't erase files when exporting with Cocos2d 2016-03-27 19:07:15 +02:00
Florian Rival
2ed48d302d Add support for custom font for TextObject rendered with Cocos2d 2016-03-21 23:49:22 +01:00
Florian Rival
7e7e93b94c Add support for MouseWheel with Cocos2d 2016-03-21 22:38:40 +01:00
Florian Rival
848df5aa5b Add Cocos renderer for ShapePainter objects 2016-03-20 12:20:56 +01:00
Florian Rival
7a6f3ffe7c Move ShapePainter object renderering to ShapePainterRuntimeObjectRenderer 2016-03-19 23:59:17 +01:00
Florian Rival
21012c3445 Add experimental export with Cocos2d 2016-03-19 23:05:45 +01:00
Florian Rival
5485b28b19 Fix blending with Cocos2d Sprite object renderer 2016-03-19 23:02:24 +01:00
Florian Rival
d313f13475 Add support for blend mode for Sprite objects rendered with Cocos2d 2016-03-14 22:46:34 +01:00
Florian Rival
a4e88bd504 Move events related functions of HTML5 game engine to events-tools 2016-03-14 21:42:41 +01:00
Florian Rival
f446a75fd8 Fix HTML5 tests 2016-03-14 19:55:09 +01:00
Florian Rival
e64bb8a6f7 Improve PanelSprite test game 2016-03-14 19:50:23 +01:00
Florian Rival
1cd4226427 Use shader to render TiledSprite with Cocos2d, enabling tiling for any texture size 2016-03-13 18:26:29 +01:00
Florian Rival
817fba1114 Fix TiledSpriteRuntimeObjectPixiRenderer not properly setting angle/offset when created from an existing object 2016-03-13 17:50:02 +01:00
Florian Rival
37a0c3c919 Add basic profiling in runtimescene 2016-03-10 19:16:01 +01:00
Florian Rival
fc4b12803d Fix Pixi Cordova export 2016-03-09 19:22:02 +01:00
Florian Rival
51f09d1bb6 Fix (multi)touch with Cocos2d 2016-03-07 21:05:23 +01:00
Florian Rival
8ce9afff6b Fix RuntimeGameCocosRenderer.setSize 2016-03-06 23:26:34 +01:00
Florian Rival
84711a25c3 Add Cocos2d renderer for PanelSprite (without support for tiled option) 2016-03-06 23:14:27 +01:00
Victor Levasseur
d33042cece Merge pull request #254 from victorlevasseur/feature/native-android
Fix crash when ending a scene with Platform objects in it
2016-03-06 19:58:31 +01:00
Victor Levasseur
719032f91d Fix crash when ending a scene with Platform objects in it 2016-03-06 19:42:53 +01:00
Florian Rival
73c0bf56c8 Move PanelSprite rendering to gdjs.PanelSpriteRuntimeObjectPixiRenderer 2016-03-06 18:56:03 +01:00
Florian Rival
acd8d54c5e Add Cocos renderer for TiledSprite (only support power-of-2 textures) 2016-03-05 18:09:30 +01:00
Florian Rival
99b0c8345c Move TiledSprite objects rendering to gdjs.TiledSpriteRuntimeObjectPixiRenderer 2016-03-05 15:37:17 +01:00
Florian Rival
c97fea1a9e Fix Draggable Automatism test game 2016-03-05 14:48:11 +01:00
Florian Rival
cd7457eba8 Fix rendering of Sprite objects with Cocos2d when in 8 direction mode 2016-03-05 14:44:34 +01:00
Florian Rival
c9a0cc9afd Tiny fixes on TextRuntimeObject and its renderers 2016-03-05 14:38:11 +01:00
Florian Rival
0f990cc913 Add gdjs.CocosSoundManager 2016-03-05 14:02:28 +01:00
Florian Rival
656921b9c8 Move soundmanager.js to howler-sound-manager 2016-03-02 12:19:03 +01:00
Florian Rival
246bde6dec Various fixes for Cocos2d 2016-03-02 11:38:50 +01:00
Florian Rival
d54eadf39d Implement getScreenWidth/Height for Cocos2d renderering 2016-03-01 21:27:22 +01:00
Florian Rival
3a2f6a2ac7 Add gdjs.CocosDirectorManager to manage scene changes when rendering with Cocos2d 2016-03-01 21:06:45 +01:00
Florian Rival
feb243d2f7 Fix SceneStack not calling gdjs.RuntimeScene.unloadScene
Also fix GDJS tests
2016-02-29 23:50:00 +01:00
Florian Rival
aea43b96d5 [WIP] Fix rotated layer rendering with Cocos2d renderer 2016-02-29 22:28:56 +01:00
Florian Rival
64f077bcb2 Abstract GDJS window title manipulation in RuntimeGameRenderer 2016-02-28 21:18:56 +01:00
Florian Rival
9e5893883f Updated GDJS breakout test game 2016-02-28 21:16:36 +01:00
Florian Rival
99681bb89b [WIP] Cocos2D renderer for text object + fixes for Sprite/Layer 2016-02-28 18:39:37 +01:00
Florian Rival
13dcc9a1bd Move HTML5 Text object rendering to gdjs.TextRuntimeObjectPixiRenderer 2016-02-28 18:23:09 +01:00
Florian Rival
7eb96d97af [WIP] Cocos2d-JS renderers for HTML5 games 2016-02-28 16:18:01 +01:00
Florian Rival
8e8b49f27d Fix gdjs.RuntimeObject.setLayer 2016-02-27 16:52:49 +01:00
Florian Rival
226f67f114 Abstract texture in gdjs.SpriteAnimationFrame to gdjs.SpriteRuntimeObjectPixiRenderer 2016-02-27 14:31:07 +01:00
Florian Rival
0c2600ccf4 Directly use *Renderer in game engine 2016-02-22 23:12:45 +01:00
Florian Rival
d3d37afea6 Move loading screen rendering to gdjs.LoadingScreenPixiRenderer 2016-02-22 22:22:13 +01:00
Florian Rival
507c23f401 Move Sprite objects rendering to gdjs.SpriteRuntimeObjectPixiRenderer 2016-02-22 22:07:07 +01:00
Florian Rival
961513f81b Move game loop implementation in RuntimeGamePixiRenderer 2016-02-21 23:05:31 +01:00
Florian Rival
de45e12245 Rename gdjs.ImageManager to gdjs.PixiImageManager 2016-02-21 22:43:28 +01:00
Florian Rival
746bdd0114 Move rendering of gdjs.RuntimeGame to gdjs.RuntimeGamePixiRenderer 2016-02-21 19:13:35 +01:00
Florian Rival
8a0d0d332d Rename gdjs.LayerPixiRenderer PIXI related methods 2016-02-21 17:16:13 +01:00
Florian Rival
40be4153c2 Rename exposePIXIDisplayObject to exposeRendererObject 2016-02-21 17:00:30 +01:00
Florian Rival
9bae415530 Move rendering of layers in gdjs.LayerPixiRenderer 2016-02-21 16:51:48 +01:00
Florian Rival
fad17d7901 Fix GDJS Exporter not properly exporting subdirectories of the game engine 2016-02-21 15:52:42 +01:00
Florian Rival
35f857060c Move rendering of runtime scene into gdjs.RuntimeScenePixiRenderer 2016-02-21 15:51:52 +01:00
Florian Rival
90b8854ecf Merge pull request #252 from victorlevasseur/bugfix/opengl-depth-buffer
Enable depth buffer on SFML windows to fix 3DBox objects
2016-02-18 16:27:00 +01:00
Victor Levasseur
cbb79a2d52 Enable depth buffer on SFML windows to fix 3DBox objects 2016-02-17 13:43:40 +01:00
Florian Rival
116411a300 Merge branch 'master' into feature/native-android 2016-02-16 23:19:49 +01:00
Florian Rival
7f3ef4002d Remove dead code in HTML5 game engine 2016-02-16 23:16:59 +01:00
Florian Rival
7ad5358451 Avoid creating functions in gdjs.Polygon.collisionTest 2016-02-16 23:12:33 +01:00
Florian Rival
acd08be06a Merge pull request #250 from victorlevasseur/feature/native-android
TiledSpriteObject is displayed correctly on Android devices
2016-02-10 18:35:45 +01:00
Victor Levasseur
12071e8645 TiledSpriteObject is displayed correctly on Android devices
(manual repetition using vertices instead of texture repetition)
2016-02-10 15:48:39 +01:00
Victor Levasseur
9aad6a89df Merge pull request #249 from victorlevasseur/feature/native-android
Fix Android main.cpp
2016-02-10 14:31:37 +01:00
Victor Levasseur
927632cd0f Fix Android main.cpp 2016-02-10 14:30:11 +01:00
Victor Levasseur
f44d2ec219 Merge pull request #248 from victorlevasseur/feature/native-android
Fix Extensions headers not included
2016-02-10 13:41:11 +01:00
Victor Levasseur
1006cf3fcb Fix Extensions headers not included 2016-02-10 13:40:16 +01:00
Victor Levasseur
fd8b6ce4ba Merge pull request #247 from victorlevasseur/feature/native-android
Fix EventsPrecompiledHeaders.h.pch location on Windows
2016-02-10 13:22:50 +01:00
Victor Levasseur
2dac7b12bb Fix EventsPrecompiledHeaders.h.pch location on Windows 2016-02-10 13:21:24 +01:00
Florian Rival
cab91ebb8b Fix compilation, add comments about experimental Android exporter 2016-02-09 20:27:03 +01:00
Florian Rival
95709fbd4d Support no smooth option for textures for HTML5 games 2016-02-09 19:42:53 +01:00
Florian Rival
72a5d32979 Small Android fixes 2016-02-09 19:42:52 +01:00
Florian Rival
dca642ebb1 Fix window size expression/actions for Android 2016-02-09 19:42:52 +01:00
Florian Rival
d1b486f3cf Add support for touches in RuntimeSpriteObject::CursorOnObject 2016-02-09 19:42:52 +01:00
Florian Rival
35c7328a48 Add AndroidExporter and include full GDCpp/Core in CppPlatform folder 2016-02-09 19:42:52 +01:00
Florian Rival
e68e814853 Fix wrong header filename used by CodeCompiler 2016-02-09 19:42:52 +01:00
Florian Rival
117722621a Change file organization in GDCpp to have a Runtime directory inside GDCpp 2016-02-09 19:42:52 +01:00
Florian Rival
ce1c1c3cea Use sf::TrianglesStrip instead of sf::Quads for Android support 2016-02-09 19:40:47 +01:00
Florian Rival
18626964eb Add support for touches in RuntimeObject::CursorOnObject 2016-02-09 19:40:47 +01:00
Florian Rival
f2f40a4275 Refactor SceneStack to improve scene execution decoupling 2016-02-09 19:40:47 +01:00
Florian Rival
77e4a1a614 Allow CodeExecutionEngine to directly use a C-style function 2016-02-09 19:40:47 +01:00
Florian Rival
bec51c705b Update some extensions to be created on Android 2016-02-09 19:40:47 +01:00
Florian Rival
3df427fb7c Exclude OpenGL calls and adapt ResourcesLoader for Android 2016-02-09 19:40:46 +01:00
Florian Rival
7a6d549f53 Update XML update files with latest GD version 2016-02-09 19:40:27 +01:00
Florian Rival
34981bd794 Merge pull request #245 from victorlevasseur/templated-objects-decls
Refactor/simplify objects declarations with templates
2016-01-29 18:11:06 +01:00
Victor Levasseur
c499817bed Update licence on some files 2016-01-29 16:29:37 +01:00
Victor Levasseur
f1be2948cf Update doc 2016-01-29 11:20:16 +01:00
Florian Rival
976ea58f6b Merge pull request #244 from victorlevasseur/bugfix/behavior-pointers
Fix crash when trying to (de)activate a behavior on an object that doesn't have the behavior + bonus
2016-01-29 10:32:05 +01:00
Victor Levasseur
12323965e0 RuntimeObjects ctor now takes their Object derivative as argument 2016-01-28 17:37:27 +01:00
Victor Levasseur
804e8c8718 Remove old CreateXXXObject(...) functions 2016-01-28 17:15:48 +01:00
Victor Levasseur
a549f220cb Extensions now use the new templated AddObject and AddRuntimeObject methods 2016-01-28 16:45:35 +01:00
Victor Levasseur
452a4ec616 Add a templated version of AddRuntimeObject
Automatically create the Creation function which is able to dynamic_cast the gd::Object (avoid repetitive casts in RuntimeObject derivates ctor)
2016-01-28 16:22:42 +01:00
Victor Levasseur
1af2bb6023 Add a templated version of AddObject to avoid the unnecessary Create function 2016-01-28 16:21:55 +01:00
Victor Levasseur
21dcb391b4 Behavior are created in an unique_ptr 2016-01-27 19:43:44 +01:00
Victor Levasseur
8602bbfa51 Include <memory> in GDCpp/RuntimeObject.h 2016-01-27 16:52:51 +01:00
Victor Levasseur
99e4c394fe Fix RuntimeObject::ActivateBehavior crashing if the behavior doesn't exist 2016-01-27 16:44:50 +01:00
Victor Levasseur
dc85bbacea Replace raw pointers by unique_ptrs to store Behaviors in RuntimeObject 2016-01-27 16:40:38 +01:00
Victor Levasseur
b24060f8d0 Replace raw pointers with unique_ptrs to store Behaviors in gd::Object 2016-01-27 16:24:40 +01:00
Florian Rival
40ba9526c4 Merge branch 'master' of github.com:4ian/GD 2016-01-24 23:25:34 +01:00
Florian Rival
12106192b9 Basic handling of touch events for native games (simulate mouse) 2016-01-24 23:25:24 +01:00
Florian Rival
d306c8f3fd Change windows packaging to generate a 7z file instead of a zip one 2016-01-21 21:42:49 +01:00
Florian Rival
57c1b66a25 Merge pull request #242 from victorlevasseur/master
Fix gd::String::From/ToLocale crashing on some Linux distro
2016-01-20 23:25:20 +01:00
Victor Levasseur
54b6a7f295 Fix gd::String::From/ToLocale crashing on some Linux distro
(on which the UTF8 locale is named utf8 and not utf-8 !)
2016-01-20 18:31:48 +01:00
Florian Rival
6a74d8c75f Version bump 2016-01-17 13:29:21 +01:00
Florian Rival
e444e80493 Update copyrights year 2016-01-14 19:46:56 +01:00
Florian Rival
b78e8a46ec Merge pull request #235 from pstieber/b2TOISolverInitializationFix
b2TOISolver initialization fix
2016-01-14 18:50:23 +01:00
Florian Rival
42aed41cfc Merge pull request #240 from victorlevasseur/master
Fix HTTP server serving a invalid directory on some libstdc++ implementations
2016-01-13 23:28:45 +01:00
Victor Levasseur
9d970fb0ce Fix server serving a invalid directory on some libstdc++ implementations 2016-01-13 23:14:30 +01:00
Florian Rival
8da557443f Merge branch 'master' of github.com:4ian/GD 2016-01-10 13:38:12 +01:00
Florian Rival
010759bdc2 Don't show bug report/update/reminder dialog if rebranding is applied 2016-01-10 13:35:09 +01:00
Florian Rival
eb9c265ec1 Upgrade 7za.exe to latest version (fix zipping issue and improve Windows packaging speed) 2016-01-10 00:08:30 +01:00
Florian Rival
626a54b78f Merge branch 'master' of github.com:4ian/GD 2016-01-09 18:52:54 +01:00
Florian Rival
5f0f3327c3 Fix potential crash with AdMob object on Android and made the extension compatible with Emscripten 2016-01-09 18:52:37 +01:00
Florian Rival
6c83d655ea Merge pull request #237 from pstieber/UpdateWxSetSize
Changed SetBestSize to SetInitialSize.
2016-01-09 14:50:01 +01:00
Peter J. Stieber
f648d61f54 Changed SetBestSize to SetInitialSize.
This prevents a wxWidgets deprecated warning.
2016-01-08 20:16:51 -08:00
Florian Rival
7fc0742dfd Merge pull request #236 from pstieber/StringWarningFixes
String warning fixes
2016-01-09 00:13:48 +01:00
Florian Rival
f9e7455e12 Merge pull request #234 from pstieber/UpdateWxFontStyles
Update wx font styles
2016-01-08 23:46:22 +01:00
Peter J. Stieber
9acfea02db Made string pointers constant.
This removed over 1000 warnings from a Fedora 21 build with gcc 4.9.2.
2016-01-08 14:10:28 -08:00
Peter J. Stieber
1630b82d63 Made PDF fon name strings constant to remove gcc warnings. 2016-01-08 13:01:37 -08:00
Peter J. Stieber
0121ce489b Made xpm strings constant to remove gcc warnings. 2016-01-08 13:01:01 -08:00
Peter J. Stieber
35b14bb58a Fixed incorrect initialization.
Replaced initialization of an in32 (m_count) with NULL to an
initialization with 0 because the value is not a pointer.  This
removed gcc 4.9.2 warnings when building on Fedora 21.
2016-01-08 11:33:07 -08:00
Peter J. Stieber
4605ac8688 Merge branch 'master' into UpdateWxFontStyles 2016-01-08 10:31:49 -08:00
Peter J. Stieber
b707e5acb8 Merge branch 'master' of https://github.com/4ian/GD 2016-01-08 10:28:08 -08:00
Peter J. Stieber
a75b87d69d Merge branch 'UpdateWxBrushConstruction' 2016-01-08 10:27:06 -08:00
Peter J. Stieber
b8322398f3 Updated wxFont flags to remove warnings.
Changed font family and font weight flags to use the new convention
to prevent deprecation warnings from wxWidgets.
2016-01-08 09:49:33 -08:00
Florian Rival
6f8ce3a133 Merge pull request #233 from pstieber/UpdateWxBrushConstruction
Updated wxBrush styles.
2016-01-08 17:09:33 +01:00
Peter J. Stieber
4573a9db1e Updated wxBrush styles.
Changed the following in wxBrush constructors:
wxTRANSPARENT -> wxBRUSHSTYLE_TRANSPARENT
wxSOLID -> wxBRUSHSTYLE_SOLID
wxFDIAGONAL_HATCH -> wxBRUSHSTYLE_FDIAGONAL_HATCH
This fixed 6 warnings in the build.
2016-01-08 07:23:52 -08:00
Florian Rival
42f6dc9a76 Merge pull request #232 from pstieber/master
wxTextCtrl and and wxMenuItem updates
2016-01-07 21:13:06 +01:00
Peter J. Stieber
a48c3aef38 Removed wxTE_AUTO_SCROLL from wxSmith files. 2016-01-06 06:27:10 -08:00
Peter J. Stieber
760b06dc47 Replaced deprecated wxMenuItem function.
Replaced SetText with SetItemLabel.
2016-01-05 21:53:38 -08:00
Peter J. Stieber
718f204ebb Removed use of deprecated wxTE_AUTO_SCROLL.
Use of this macro prevents compilation with wxWidgets that has been
compiled with 2.8 compatibility turned off.  This macro is set to 0
and the comment in the wxWidgets source reads:

this style is (or at least should be) on by default now, don't use it

This commit removed the use of this obsolete macro.
2016-01-05 21:46:39 -08:00
Florian Rival
5688e21d0a Merge pull request #231 from brylie/master
Change sign test text to conventional terms
2015-12-28 12:11:29 +01:00
Brylie Christopher Oxley
21238c8cb3 Change to 'not equal to' 2015-12-28 12:55:06 +02:00
Brylie Christopher Oxley
a4ee365eb8 Change to 'not equal to' 2015-12-28 12:54:20 +02:00
Brylie Christopher Oxley
3c24bb047f Change to 'less than' 2015-12-28 12:53:36 +02:00
Brylie Christopher Oxley
f5acc4c9b3 Change to 'less than' 2015-12-28 12:52:34 +02:00
Florian Rival
97ef2d5c94 Merge pull request #224 from 4ian/feature/rebranding
Add support for rebranding
2015-12-26 20:08:56 +01:00
Florian Rival
877679c726 Update Mac OS X icon.icns 2015-12-25 16:04:51 +01:00
Florian Rival
fff64c0ec9 Add rebranding capabilities 2015-12-17 20:38:55 +01:00
Florian Rival
7d81821040 Fix ribbon page not connected when switching to an external layout editor tab 2015-12-15 22:55:52 +01:00
Florian Rival
b8e3164aa6 Fix compilation when GD_NO_WX_GUI is defined 2015-12-15 22:48:35 +01:00
Florian Rival
871f6ade67 Merge pull request #219 from victorlevasseur/master
Support TMX files (Tiled Editor) for TileMap Objects
2015-12-15 22:32:48 +01:00
Florian Rival
dcae745626 Merge pull request #222 from 4ian/feature/launch-external-layout-preview
External layouts enhancements
2015-12-15 22:29:41 +01:00
Florian Rival
156fcaec8a Properly save the layout being used to edit an external layout in the IDE 2015-12-15 22:27:41 +01:00
Florian Rival
d65bc5c61f Previewing an external layout from the IDE now launches the game with the objects from the external layout 2015-12-15 22:03:57 +01:00
Florian Rival
989f4b2e4e Fix typo 2015-12-15 21:10:23 +01:00
Florian Rival
40059d4270 Merge pull request #221 from victorlevasseur/cleaner-about-page
Clean the credit dialog
2015-12-14 23:37:16 +01:00
Victor Levasseur
56967479de Clean the credit dialog 2015-12-14 23:11:57 +01:00
Florian Rival
af0a3ca3eb Merge pull request #220 from 4ian/fix/external-layout-editors-allocation
Fixes for external layout editors
2015-12-13 21:15:27 +01:00
Florian Rival
5a5b1d6eff Fix ribbon page not connected when switching to an external layout editor tab 2015-12-13 21:06:15 +01:00
Florian Rival
98b5a66ad0 Fix incorrect re-creation of editors when changing scene in an external layout editor 2015-12-13 19:18:51 +01:00
Victor Levasseur
01196c6542 Fix compilation error with AddResource in the TileMapImporter 2015-12-13 15:52:50 +01:00
Florian Rival
002bfb06d0 Refactored StartHerePage management to use EditorsNotebookManager 2015-12-12 23:04:01 +01:00
Victor Levasseur
ad868362fe Merge branch 'feature/tilemap-tmx-import' 2015-12-12 22:23:24 +01:00
Florian Rival
b059c3f3b4 Refactored editor tabs management into EditorsNotebookManager 2015-12-12 22:16:52 +01:00
Florian Rival
508dd80c60 Refactor MainFrameWrapper to change ribbon page using page names 2015-12-11 00:09:34 +01:00
Florian Rival
1f022e860d Make start page handling more robust 2015-12-08 23:16:45 +01:00
Florian Rival
fe9252d3f9 Move SkinHelper to IDE/wxTools directory & avoid crash at startup if StartHerePage is deleted 2015-12-08 22:51:16 +01:00
Florian Rival
4706990730 Update CMakeLists.txt to avoid a warning with latest Clang on OS X 2015-12-08 21:01:02 +01:00
Victor Levasseur
e22cbbeabd Improve the tilemap tmx importer dialog 2015-12-01 22:59:23 +01:00
Victor Levasseur
71f0d25b77 Use a relative filepath for the imported tileset image 2015-12-01 17:26:26 +01:00
Victor Levasseur
91aa2ec604 Update the tileset editor when a tmx file is imported 2015-12-01 00:45:18 +01:00
Victor Levasseur
5dc0413f48 Reload the tileset image when imported from a tmx file 2015-12-01 00:40:33 +01:00
Victor Levasseur
7ff0bc3fa0 Use wxwidgets logger to show warnings and errors in the tmx importer 2015-11-30 13:51:07 +01:00
Florian Rival
951f3f54af Merge pull request #216 from 4ian/feature/audio-resources
Support for audio resources
2015-11-28 16:58:59 +01:00
Florian Rival
7d991c6823 Fix GDJS tests 2015-11-28 16:37:55 +01:00
Florian Rival
549614adbb Fix native games not launching properly when in a directory with non ASCII characters 2015-11-28 16:10:51 +01:00
Florian Rival
f4053c18a6 Force HTML5 audio for musics so we don't wait for the full file to be loaded on Android. 2015-11-28 13:41:02 +01:00
Florian Rival
b492cc72c4 Support for using audio files directly or as resources 2015-11-23 00:14:56 +01:00
Florian Rival
2d6de6e16a Rework gdjs.ImageManager to make it responsible of textures loading 2015-11-22 15:37:18 +01:00
Florian Rival
95afd2c5b6 Support stop pingsounds/musics of previous scene for HTML5 games 2015-11-19 23:16:10 +01:00
Florian Rival
693eac1916 Refactor SoundManager to be owned by RuntimeGame 2015-11-19 22:00:19 +01:00
Florian Rival
780a022029 Add AudioResource 2015-11-18 22:57:45 +01:00
Florian Rival
1e4f622b5c Update pixi.js to v3.0.8 and add a TODO about HTML5 resources loading 2015-11-18 21:57:48 +01:00
Florian Rival
1fc1863e5b Improve performance of HTML5 PanelSpriteObject by avoiding the use of masks 2015-11-18 00:06:39 +01:00
Victor Levasseur
476f6da7ec Use gd::NewNameGenerator to generate a name for the tileset imported image 2015-11-16 23:41:56 +01:00
Florian Rival
828e16ac5b Fix storage actions not properly persisting values in some cases
Fix #210
2015-11-16 22:10:57 +01:00
Victor Levasseur
33ff92681e Add tileset image importation 2015-11-15 11:05:18 +01:00
Victor Levasseur
20afa9201d Improve the tmx importer's source code 2015-11-13 15:21:12 +01:00
Victor Levasseur
764443d31f Improve the tile hitbox importation 2015-11-12 18:29:40 +01:00
Victor Levasseur
539f68c013 Add hitbox import from .tmx file in TileMapObject 2015-11-11 12:19:24 +01:00
Victor Levasseur
078669bf55 Add "experimental" label to the .tmx file import 2015-11-09 23:10:51 +01:00
Victor Levasseur
3eb2a86b23 Add support for importing the tileset conf from a .tmx file 2015-11-09 23:08:35 +01:00
Victor Levasseur
10873c559d Use a fixed width font for the importer message text ctrl 2015-11-09 13:46:44 +01:00
Victor Levasseur
34a902dc11 Some adjustments 2015-11-08 22:06:28 +01:00
Victor Levasseur
e1c56f1c71 Add Tilemap importation (not tileset and hitboxes for now) 2015-11-08 21:59:20 +01:00
Victor Levasseur
02891a777b Fix image paths in wxcrafter dialogs 2015-11-08 20:06:14 +01:00
Victor Levasseur
18c5a230a3 Change TileMapObject source code organization and added tmx-parser 2015-11-08 19:05:48 +01:00
Florian Rival
e95ae97c35 Merge pull request #211 from 4ian/refactor/directories
Refactor directory structure
2015-11-07 13:01:56 +01:00
Florian Rival
db69c83a58 Change file organization 5 (GDCpp/Project) 2015-11-01 17:06:23 +01:00
Florian Rival
cd9ae7ca40 Change file organization 4 (tinyxml -> TinyXml) 2015-11-01 12:01:06 +01:00
Florian Rival
04a699d3e9 Change file organization 3 (IDE/Dialogs) 2015-11-01 11:26:40 +01:00
Florian Rival
e4fab74a32 Change file organization 2 (Events, Extensions + more folders) 2015-11-01 11:26:40 +01:00
Florian Rival
63cb853d72 Change file organization (Events, Extensions + more folders) 2015-11-01 11:26:40 +01:00
Florian Rival
2a95765fd9 Merge pull request #206 from victorlevasseur/bugfix/parameters-list-layout-bug
Fix parameter list layout glitch when the user switch many times the instruction in the window
2015-10-28 15:54:54 +01:00
Florian Rival
f4a603217c Merge pull request #209 from victorlevasseur/bugfix/tilemap-empty-image-fix
Fix tilemap object crash when using an empty image (or invalid file)
2015-10-27 18:15:07 +01:00
Victor Levasseur
ee0ad9d346 Fix tilemap object crash when using an empty image (or invalid file) 2015-10-27 17:56:09 +01:00
Florian Rival
e1e6ab0d6d Merge pull request #207 from victorlevasseur/feature/improve-help
Improve help and add help button for instructions
2015-10-27 09:30:17 +01:00
Victor Levasseur
05e8dc998b Fix parameter list layout glitch when changing of instructions a lot 2015-10-26 15:27:45 +01:00
Victor Levasseur
66f67e7694 Add an help button for instructions 2015-10-26 10:50:47 +01:00
Victor Levasseur
ade4c5b4f5 Use gd::HelpFileAccess::OpenPage in gd::ObjectsPropgridHelper 2015-10-26 09:57:49 +01:00
Florian Rival
5b22ed1d45 Add Finnish translation 2015-10-25 19:04:02 +01:00
Victor Levasseur
8462eefb7d Use gd::HelpFileAccess::OpenPage instead of OpenURL in GDevelop 2015-10-25 18:45:02 +01:00
Victor Levasseur
46e6ecd72a Add gd::HelpFileAccess::OpenPage to open a page without passing its whole URL.
The webpage is assumed to be stored on the wiki and the language is automatically added to the URL if needed
2015-10-25 17:43:18 +01:00
Florian Rival
08def0ebbf Add a FIXME on a potential bug for condition with custom code generator 2015-10-21 22:07:05 +02:00
Florian Rival
9a0e138407 Fix 'Always' condition for HTML5 games 2015-10-21 00:17:22 +02:00
Florian Rival
3a982afea7 Fix mistakes and add Dutch to Windows installer languages 2015-10-19 22:57:18 +02:00
Florian Rival
ba5ccf72ef Add complete Dutch translation 2015-10-19 22:43:46 +02:00
Florian Rival
5375647001 Merge pull request #205 from 4ian/refactor/runtimescene-time-manager
Refactor time management in game engines and use gd::String in JSON serializer
2015-10-16 17:50:55 +02:00
Florian Rival
02a5fb07a3 Add missing u8 prefix for UTF8 strings in tests 2015-10-16 15:33:18 +02:00
Florian Rival
327eba95a6 Merge branch 'refactor/runtimescene-time-manager' of github.com:4ian/GD into refactor/runtimescene-time-manager 2015-10-12 23:12:12 +02:00
Florian Rival
6b88bae850 Add tests for JSON Serializer and UTF8 characters 2015-10-12 23:11:52 +02:00
Florian Rival
5e534aa414 Fix backward compatibility for the behavior of TimerElapsedTime with not existing timers 2015-10-12 22:21:14 +02:00
Florian Rival
faf4baffc5 Refactor time management into TimeManager for native game engine 2015-10-12 00:17:57 +02:00
Florian Rival
cf2100a626 Refactor time management into gdjs.TimeManager for HTML5 game engine 2015-10-11 20:39:10 +02:00
Florian Rival
0b8f72c572 Remove dead code 2015-10-11 19:23:03 +02:00
Florian Rival
4fd7ae71f8 Merge branch 'master' into feature/json-gd-string 2015-10-11 17:12:56 +02:00
Florian Rival
656b3bf3eb Use gd::String in Serializer 2015-10-11 17:12:17 +02:00
Florian Rival
18eb1b1cf4 Merge branch 'master' of github.com:4ian/GD 2015-10-10 13:41:09 +02:00
Florian Rival
9a246686d5 Fix AdMob object banner default position being top of the screen 2015-10-10 13:37:37 +02:00
Florian Rival
2c435388a7 Avoid creating temporaries when dealing with objects list maps in HTML5 games 2015-10-09 22:14:24 +02:00
Florian Rival
1efd19ee82 Fix typo 2015-10-07 22:20:53 +02:00
Florian Rival
f4dc2d6983 Merge pull request #202 from victorlevasseur/master
Fix WriteToFile/ReadFile not converting the filename into the OS locale
2015-09-20 23:32:24 +02:00
Victor Levasseur
64bfdf165f Fix WriteToFile/ReadFile not converting the filename into the OS locale 2015-09-20 20:36:12 +02:00
Florian Rival
ef3e145f42 Version bump 2015-09-20 17:51:07 +02:00
Florian Rival
3b221ae54e Merge pull request #200 from victorlevasseur/bugfix/resolution-change-and-fullscreen
Fix Vsync and Max FPS not reactived after a sf::RenderWindow change
2015-09-16 20:24:10 +02:00
Victor Levasseur
00928414a4 Fix project not saving Vsync properly 2015-09-16 14:45:27 +02:00
Victor Levasseur
0202e7bab2 FPS limit and Vsync is now set in RuntimeScene::ChangeWindow method 2015-09-16 14:39:53 +02:00
Victor Levasseur
7c2264a9b9 Fix Vsync and Max FPS not reactived after a sf::RenderWindow change 2015-09-15 23:21:29 +02:00
Florian Rival
a0246dd33e Update translations 2015-09-15 00:05:16 +02:00
4508 changed files with 371592 additions and 903234 deletions

26
.clang_complete Normal file
View File

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

12
.gitignore vendored
View File

@@ -1,11 +1,11 @@
/Core/GDCore/Tools/VersionPriv.h
/docs/GDJS Runtime Documentation
/docs/GDJS Documentation
/docs/GDCpp Documentation
/docs/GDCore Documentation
/ExtLibs/boost
/ExtLibs/SFML
/ExtLibs/wxwidgets
/ExtLibs/wxWidgets
/ExtLibs/SFML
/ExtLibs/*.7z
/scripts/Repository keys
/scripts/logs/*.txt
@@ -50,11 +50,13 @@ Binaries/Packaging/logs
!/Binaries/Output/Release_Linux/CppPlatform/
/Binaries/**/MinGW32
/Binaries/**/CppPlatform/Runtime
/Binaries/**/CppPlatform/Sources
/Binaries/**/CppPlatform/include
/Binaries/**/CppPlatform/Extensions/include
/Binaries/**/JsPlatform/Runtime
/Binaries/**/JsPlatform/*.dll
/Binaries/**/JsPlatform/*.dll.a
/Binaries/Output/Release_Windows/newIDE
*.autosave
/Binaries/Output/libGD.js/Release
/Binaries/Output/libGD.js/Debug
@@ -63,12 +65,14 @@ Binaries/Packaging/logs
!/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
!/ExtLibs/7za.exe
!/ExtLibs/SFML/extlibs/**/*.dll
!/ExtLibs/SFML/extlibs/**/*.so
!/ExtLibs/SFML/extlibs/**/*.a
**/.DS_Store
**/node_modules/
.idea

View File

@@ -4,6 +4,9 @@ compiler:
- gcc
- clang
git:
depth: 999999
env:
global:
- GCC_VERSION="4.8"
@@ -34,6 +37,12 @@ before_install:
- "sh -e /etc/init.d/xvfb start"
install:
#Install newIDE tests dependencies
- cd newIDE/app && npm install
- cd ../..
#Install GDJS tests dependencies
- cd GDJS/tests && npm install
- cd ../..
#Get the correct version of gcc/g++
- if [ "$CXX" = "g++" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
#Compile the tests only
@@ -42,19 +51,18 @@ install:
- cmake -DBUILD_GDJS=FALSE -DBUILD_IDE=FALSE -DBUILD_TESTS=TRUE -DNO_GUI=TRUE -DCMAKE_CXX_COMPILER=$(which $CXX) -DCMAKE_C_COMPILER=$(which $CC) ..
- make -j 4
- cd ..
#Install GDJS tests dependencies
- cd GDJS/tests
- npm install
- cd ../..
script:
#GDJS game engine tests:
- cd GDJS/tests
#newIDE tests:
- cd newIDE/app
- npm test
- npm run flow
- cd ../..
#GDJS game engine tests:
- cd GDJS/tests && npm test
- cd ../..
#GDCore and GDCpp game engine tests:
- 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

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

@@ -0,0 +1,89 @@
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceRoot}",
"${workspaceRoot}/IDE",
"${workspaceRoot}/GDCpp",
"${workspaceRoot}/GDJS",
"${workspaceRoot}/Extensions",
"${workspaceRoot}/Core",
"${workspaceRoot}/ExtLibs/SFML/include",
"/usr/local/lib/wx/include/osx_cocoa-unicode-3.0",
"/usr/local/include/wx-3.0",
"/usr/include/machine",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/usr/local/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/usr/include"
],
"defines": [
"GD_IDE_ONLY",
"__WXMAC__",
"__WXOSX__",
"__WXOSX_COCOA__",
"GD_CORE_API=\" \"",
"WXUSINGDLL"
],
"browse": {
"path": [
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/usr/local/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/usr/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"intelliSenseMode": "clang-x64",
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
]
},
{
"name": "Linux",
"includePath": [
"${workspaceRoot}",
"/usr/include",
"/usr/local/include"
],
"defines": [],
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"intelliSenseMode": "clang-x64"
},
{
"name": "Win32",
"includePath": [
"${workspaceRoot}",
"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include"
],
"defines": [
"_DEBUG",
"UNICODE"
],
"browse": {
"path": [
"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/*",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"intelliSenseMode": "msvc-x64"
}
],
"version": 3
}

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

@@ -0,0 +1,89 @@
// Place your settings in this file to overwrite default and user settings.
{
"files.associations": {
"*.idl": "java",
"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"
},
"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:
"javascript.validate.enable": false
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -55,7 +55,7 @@
<resource alwaysLoaded="false" file="mur 6.png" kind="image" name="mur 6.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="mur 7.png" kind="image" name="mur 7.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="mur 8.png" kind="image" name="mur 8.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="lumière.png" kind="image" name="lumière.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="lumiere.png" kind="image" name="lumiere.png" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="towerground.png" kind="image" name="towerground.png" smoothed="true" userAdded="true" />
</resources>
<resourceFolders />
@@ -282,7 +282,7 @@
<directions>
<direction looping="false" timeBetweenFrames="1.000000">
<sprites>
<sprite hasCustomCollisionMask="false" image="lumière.png">
<sprite hasCustomCollisionMask="false" image="lumiere.png">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="4.000000" y="4.000000" />

View File

@@ -1,4 +1,4 @@
#include "GDCpp/RuntimeScene.h"
#include "GDCpp/Runtime/RuntimeScene.h"
#include "TextObject/TextObject.h" //but do not forget extensions includes
#include <iostream>

View File

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

View File

Before

Width:  |  Height:  |  Size: 130 B

After

Width:  |  Height:  |  Size: 130 B

View File

@@ -1,5 +1,5 @@
GDevelop logos
2008-2015 Florian Rival
2008-2016 Florian Rival
-------------------
GDevelop's logos can be used in a game to indicate that it was created using GDevelop, as long as these logos stay unmodified and you do not state being the author of the logos.

View File

@@ -26,4 +26,16 @@
/>
</dependentAssembly>
</dependency>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
</application>
</compatibility>
</assembly>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1 @@
fi_FI

View File

@@ -0,0 +1 @@
nl_NL

38632
Binaries/Output/Release_Windows/locale/de_DE/GD.po Executable file → Normal file

File diff suppressed because it is too large Load Diff

37776
Binaries/Output/Release_Windows/locale/es_ES/GD.po Executable file → Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

37785
Binaries/Output/Release_Windows/locale/fr_FR/GD.po Executable file → Normal file

File diff suppressed because it is too large Load Diff

38434
Binaries/Output/Release_Windows/locale/it_IT/GD.po Executable file → Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

38397
Binaries/Output/Release_Windows/locale/pl_PL/GD.po Executable file → Normal file

File diff suppressed because it is too large Load Diff

37762
Binaries/Output/Release_Windows/locale/pt_PT/GD.po Executable file → Normal file

File diff suppressed because it is too large Load Diff

37677
Binaries/Output/Release_Windows/locale/ru_RU/GD.po Executable file → Normal file

File diff suppressed because it is too large Load Diff

38735
Binaries/Output/Release_Windows/locale/zh_CN/GD.po Executable file → Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -51,9 +51,9 @@ cd $CUR_DIR/opensuse-build-service/gdevelop
tar zxf gdevelop_$GD_VERSION.orig.tar.gz
echo "[OK]"
#We need to include ExtLibs/SFML.7z and ExtLibs/boost.7z because buildbot do not have access to internet
#We need to include ExtLibs/SFML.7z because the buildbot do not have access to internet
printf " Copying SFML archive... "
cp $GD_BASE_DIR/ExtLibs/SFML.7z gdevelop-$GD_VERSION/ExtLibs/
cp -rf $GD_BASE_DIR/ExtLibs/SFML gdevelop-$GD_VERSION/ExtLibs/
echo "[OK]"
#Recreate the tar.gz with the added sources

View File

@@ -35,14 +35,14 @@ del Output\Release_Windows\log.txt > NUL 2> NUL
echo.
echo --Creating installer...
IF NOT "%SKIPINSTALLER%"=="1" "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" Releases\InnoSetupInstallerScript.iss /Q
IF NOT "%SKIPINSTALLER%"=="1" "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" Releases\InnoSetupInstallerScript.iss /Qp
IF "%SKIPINSTALLER%"=="1" echo (Skipped)
echo.
echo --Creating archive...
if exist Releases\gd3xxxx.zip (del Releases\gd3xxxx.zip)
if exist Releases\gd4xxxx.7z (del Releases\gd4xxxx.7z)
cd Output\Release_Windows\
IF NOT "%SKIPINSTALLERANDARCHIVE%"=="1" "..\..\..\ExtLibs\7za.exe" a ..\..\Releases\gd3xxxx.zip * > ..\..\Packaging\logs\zipArchiveLog.txt
IF NOT "%SKIPINSTALLERANDARCHIVE%"=="1" "..\..\..\ExtLibs\7za.exe" a ..\..\Releases\gd4xxxx.7z * -bb
IF "%SKIPINSTALLERANDARCHIVE%"=="1" echo (Skipped)
cd ..\..\..
@@ -50,4 +50,4 @@ echo. >CON
echo Finished. Do not forget to : >CON
echo -Update news.txt >CON
echo -Update pad file >CON
pause >CON
pause >CON

View File

@@ -1,3 +1,4 @@
#Files needed by the IDE to build games (they are not part of a devel package)
addFilter("devel-file-in-non-devel-package.*/opt/gdevelop/CppPlatform/include/.*")
addFilter("devel-file-in-non-devel-package.*/opt/gdevelop/CppPlatform/Extensions/include/.*")
addFilter("devel-file-in-non-devel-package.*/opt/gdevelop/CppPlatform/Extensions/include/.*")
addFilter("devel-file-in-non-devel-package.*/opt/gdevelop/CppPlatform/Sources/.*")

View File

@@ -12,11 +12,11 @@ Source100: gdevelop-rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: git rsync curl gcc-c++ cmake p7zip glew-devel xorg-x11-devel libsndfile-devel openal-soft-devel desktop-file-utils
BuildRequires: git rsync curl gcc-c++ cmake p7zip glew-devel libsndfile-devel openal-soft-devel desktop-file-utils
%if 0%{?fedora}
BuildRequires: systemd-devel libjpeg-turbo-devel gtk2-devel wxGTK3-devel
BuildRequires: systemd-devel libjpeg-turbo-devel gtk2-devel wxGTK3-devel libX11-devel
%else
BuildRequires: update-desktop-files libudev-devel libjpeg8-devel wxWidgets-3_0-devel
BuildRequires: update-desktop-files libudev-devel libjpeg8-devel wxWidgets-3_0-devel xorg-x11-devel
%endif
Requires: gcc-c++ p7zip

View File

@@ -1,4 +1,4 @@
; Inno Setup installation script for GDevelop.
; Inno Setup installation script for GDevelop 4.
[Setup]
AppName=GDevelop
@@ -13,17 +13,17 @@ AllowNoIcons=yes
LicenseFile=..\Output\Release_Windows\License-en.rtf
InfoBeforeFile=..\Output\Release_Windows\Informations-en.rtf
OutputDir=.\
OutputBaseFilename=gd4083
OutputBaseFilename=gd4096
Compression=lzma
SolidCompression=yes
SetupIconFile=..\Output\Release_Windows\res\icon.ico
VersionInfoVersion=4.0
WizardImageFile=Setup bitmap\wizbmp.bmp
WizardSmallImageFile=Setup bitmap/smallicon.bmp
AppCopyright=2008-2015 Florian Rival
AppCopyright=2008-2017 Florian Rival
VersionInfoCompany=Florian Rival
VersionInfoDescription=GDevelop setup
VersionInfoCopyright=2008-2015 Florian Rival
VersionInfoCopyright=2008-2016 Florian Rival
VersionInfoProductName=GDevelop
VersionInfoProductVersion=4.0
@@ -36,7 +36,9 @@ Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl";
Name: "german"; MessagesFile: "compiler:Languages\German.isl";
Name: "chinese"; MessagesFile: "..\Packaging\innosetup-languages\ChineseSimplified.isl";
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl";
Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl";
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl";
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl";
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags:
@@ -45,11 +47,11 @@ Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription
[Components]
Name: "main"; Description: "GDevelop"; Types: full compact custom; Flags: fixed
Name: "example"; Description: "Exemples"; Types: full custom; Languages: french
Name: "example"; Description: "Examples"; Types: full custom; Languages: english russian
Name: "example"; Description: "Examples"; Types: full custom; Languages: english russian italian polish chinese dutch finnish
Name: "example"; Description: "Ejemplos"; Types: full custom; Languages: spanish
Name: "res"; Description: "Ressources (Images, sons...)"; Types: full custom; Languages: french
Name: "res"; Description: "Resources (images, sounds...)"; Types: full custom; Languages: english russian italian polish chinese
Name: "res"; Description: "Recursos (im<69>genes, sonidos ...)"; Types: full custom; Languages: spanish
Name: "res"; Description: "Resources (images, sounds...)"; Types: full custom; Languages: english russian italian polish chinese dutch finnish
Name: "res"; Description: "Recursos (im<69>genes, sonidos ...)"; Types: full custom; Languages: spanish
[Files]
Source: ..\Output\Release_Windows\GDIDE.exe; DestDir: {app}; Flags: ignoreversion
@@ -72,6 +74,8 @@ Source: ..\Output\Release_Windows\SelectLanguage-pt.cfg; DestDir: {userdocs}\..\
Source: ..\Output\Release_Windows\SelectLanguage-pl.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: polish ; Components: main
Source: ..\Output\Release_Windows\SelectLanguage-zh.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: chinese ; Components: main
Source: ..\Output\Release_Windows\SelectLanguage-it.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: italian ; Components: main
Source: ..\Output\Release_Windows\SelectLanguage-nl.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: dutch ; Components: main
Source: ..\Output\Release_Windows\SelectLanguage-fi.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: finnish ; Components: main
[Icons]
Name: {group}\GDevelop; Filename: {app}\GDIDE.exe; WorkingDir: {app}

View File

@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<News>
<Version Major="3" Minor="6" Build="84" Revision="0"/>
<Info Info="La version 3.6.84 est disponible.&#x0A;&#x0A;Correction d'un crash lors de l'<27>dition d'un nouvel objet Carte de tuiles&#x0A;&#x0A;Nouveaut<75>s de la version 3.6.83 :&#x0A;&#x0A;Nouvelles traductions (partielles) italiennes, chinoises et polonaises.&#x0A;Nouvelle condition 'S<>lectionner l'objet le plus proche'&#x0A;Nouvelle conditions pour tester si un bouton de la souris ou du clavier est relach<EFBFBD>&#x0A;Am<41>lioration du syst<73>me audio des jeux HTML5, meilleure performances sur les mobiles.&#x0A;Mise <20> jour du moteur de rendu des jeux HTML5 (Pixi.js)&#x0A;Nouvelle d<>mo technique Advanced 3D Tower&#x0A;Ajout de la touche retour arri<72>re en alternative <20> Suppr. dans la majorit<69> des <20>diteurs.&#x0A;Correction du crash avec les objets lumi<6D>res sur Windows.&#x0A;Correction de l'usage trop intensif du processeur dans l'<27>diteur d'<27>venements sur Linux.&#x0A;Correction de l'ordre d'insertion d'images multiples dans une animation.&#x0A;Correction de la couleur global d'un objet Sprite dans les jeux HTML5&#x0A;Correction de l'<27>chelle de la taille d'un Sprite quand l'objet est invers<72>.&#x0A;Correction de la recherche de chemin qui ne marchait plus pour les jeux natifs.&#x0A;Correction de crash avec l'objet Carte de tuiles en utilisant des grandes images pour les tuiles.&#x0A;Correction de glitchs avec GTK3
Correction de la mauvaise prise en compte de la taille/animation initiale d'un Sprite dans les jeux HTML5.
" Lien="http://compilgames.net"/>
<CommunityNews text="GDevApp est une web app de cr<63>ation de jeux bas<61>e sur GDevelop : venez essayer la plus avanc<6E>e des applications online de cr<63>ation de jeux. Compatible avec les tablettes et fournie avec des superbes packs de graphismes pr<70>-pr<70>par<61>s." link1="https://github.com/4ian/GD" linkLabel1="GDevelop sur GitHub" link2="https://gdevapp.com?utm_source=software&amp;utm_medium=link_fr&amp;utm_campaign=launch" linkLabel2="Tester GDevApp, la nouvelle app de cr<63>ation de jeux"/>
<Version Major="4" Minor="0" Build="92" Revision="0"/>
<Info Info="La version 4.0.92 est disponible.&#x0A;&#x0A;(Expérimental) Exportation des jeux HTML5 vers Android/iOS/Mac/Windows avec le moteur Cocos2d-JS.&#x0A;(Expérimental) Exportation des jeux natifs vers Android.&#x0A;&#x0A;Les objets avec le comportement 'Objet se déplaçant sur des plateformes' peuvent maintenant agripper les rebords des plateformes - il faut activer l'option dans le comportement de l'objet.&#x0A;Les animations des objets Sprite peuvent maintenant être nommés. Une condition et action ont été ajoutées pour utiliser ces noms.&#x0A;Ajout du support basique d'effets pour les jeux HTML5. ✨ Pour le moment, 3 effets sont disponibles et peuvent être attribués au calques d'une scène. &#x0A;Amélioration des performances des jeux HTML5&#x0A;Correction et améliorations pour les jeux HTML5 exportés avec Cocos2d-JS.&#x0A;Lors de la recherche dans les évènements, l'évènement surlignés est correctement affiché en dépliant au besoin les groupes/évènements repliés.&#x0A;Correction du rendu sur Windows avec les thèmes à fort contraste." Lien="http://compilgames.net"/>
<CommunityNews text="GDevApp est une web app de création de jeux basée sur GDevelop : venez essayer la plus avancée des applications online de création de jeux. Compatible avec les tablettes et fournie avec des superbes packs de graphismes pré-préparés." link1="https://github.com/4ian/GD" linkLabel1="GDevelop sur GitHub" link2="https://gdevapp.com?utm_source=software&amp;utm_medium=link_fr&amp;utm_campaign=launch" linkLabel2="Tester GDevApp, la nouvelle app de création de jeux"/>
</News>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<News>
<Version Major="3" Minor="6" Build="84" Revision="0"/>
<Info Info="Version 3.6.84 is available.&#x0A;&#x0A;Fix crash when editing newly created TileMap objects&#x0A;&#x0A;Changes of version 3.6.83:&#x0A;&#x0A;New (partial) Italian, Polish and Chinese translations! Your help is welcome, you can contribute on https://crowdin.com/project/gdevelop&#x0A;New 'Pick nearest object' condition&#x0A;New condition to check if a mouse button is released&#x0A;New condition to check if a key is released&#x0A;New sound system for HTML5 with huge performance improvements&#x0A;Update rendering engine of HTML5 (Pixi.js) for improved performances&#x0A;New Advanced 3D tower technical demo&#x0A;Add Backspace as an alternative to Delete key shortcut in most editors&#x0A;Fixed crash with Lights objects on Windows.&#x0A;Fixed the high cpu usage when switching to the event editor on Linux&#x0A;Fixed images insertion order when adding multiple picture to an animation&#x0A;Fixed sprite global color action for HTML5 games&#x0A;Fixed scale factor of Sprite objects being negative when object is flipped&#x0A;Fixed pathfinding not working for native games&#x0A;Updated titles of some editors to make them more consistent&#x0A;Fixed crash with tilemap and large tilesets&#x0A;Fixed some GTK3 glitches&#x0A;Fixed wrong initial sprite size and animation when custom properties were set in HTML5 games" Lien="http://compilgames.net"/>
<Version Major="4" Minor="0" Build="92" Revision="0"/>
<Info Info="Version 4.0.92 is available.&#x0A;&#x0A;New experimental option to export HTML5 games to Android/iOS/Mac/Windows using the Cocos2d as the underlying game engine.&#x0A;&#x0A; New experimental option to export native games to Android.&#x0A;&#x0A;Platformer object now have an option allowing them to grab platform ledges. Activate this option in the behavior and be sure to also enable this on platforms.&#x0A;Animations of Sprite objects can now be named. Specific actions/conditions are also available.&#x0A;Add basic support for effects for HTML5 games. For now, there are 3 simple effects (Night, LightNight, Sepia) and you can apply one of them on each layer of a scene.&#x0A;Performance improvement for HTML5 games.&#x0A;Fix text rendering when using a custom font, when exporting HTML5 games with Cocos2d-JS.&#x0A;Add support for non-smoothed texture for HTML5 games using Cocos2d-JS.&#x0A;Add support for storage actions when for HTML5 games using Cocos2d-JS on Android/iOS.&#x0A;When searching in events, events that are matched are unfolded.&#x0A;Provide compatibility with Windows high contrast themes (thanks @RandomShaper!)&#x0A;Many fixes" Lien="http://compilgames.net"/>
<CommunityNews text="GDevelop has a new website! Help us to translate it to your language by going on the Crowdin project.&#x0A;&#x0A;GDevApp is an online game creator based on GDevelop: Go try the most advanced game creation web app. Compatible with tablets and bundled with awesome graphics assets." link1="https://crowdin.com/project/gdevelop-website/" linkLabel1="Help translate GD website" link2="https://gdevapp.com?utm_source=software&amp;utm_medium=link_en&amp;utm_campaign=launch" linkLabel2="Try GDevApp, the online game creator based on GD"/>
</News>

View File

@@ -18,6 +18,7 @@ gd_set_option(BUILD_IDE TRUE BOOL "TRUE to build the IDE")
gd_set_option(BUILD_EXTENSIONS TRUE BOOL "TRUE to build the extensions")
gd_set_option(BUILD_TESTS FALSE BOOL "TRUE to build the tests")
gd_set_option(NO_GUI FALSE BOOL "TRUE to build without wxWidgets GUI")
gd_set_option(FULL_VERSION_NUMBER TRUE BOOL "TRUE to build GDevelop with its full version number (lastest tag + commit hash), FALSE to only use the lastest tag (avoid rebulding many source file when developping)")
#Setting up installation directory, for Linux (has to be done before "project" command).
IF(NOT WIN32)
@@ -42,6 +43,7 @@ IF(APPLE)
set(CMAKE_INSTALL_RPATH ".")
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-potentially-evaluated-expression")
ENDIF()
#Sanity checks
@@ -59,10 +61,6 @@ IF("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND NOT WIN32 AND CMAKE_COMPILER_IS_
SET(CMAKE_SHARED_LINKER_FLAGS "-s") #Force stripping to avoid errors when packaging for linux.
ENDIF()
if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries.
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-warn-absolute-paths" )
ENDIF()
#Activate C++11
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_CXX11)
@@ -79,6 +77,8 @@ endif()
set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR})
#Add all the CMakeLists:
ADD_SUBDIRECTORY(Version)
ADD_SUBDIRECTORY(ExtLibs)
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Core/CMakeLists.txt" AND BUILD_CORE)
ADD_SUBDIRECTORY(Core)

View File

@@ -73,6 +73,7 @@ IF(NO_GUI)
ENDIF()
add_library(GDCore SHARED ${source_files})
add_dependencies(GDCore GDVersion)
IF(EMSCRIPTEN)
set_target_properties(GDCore PROPERTIES SUFFIX ".bc")
ELSEIF(WIN32)

View File

@@ -246,8 +246,8 @@
<Unit filename="GDCore/CommonTools.cpp" />
<Unit filename="GDCore/CommonTools.h" />
<Unit filename="GDCore/DocMainPage.h" />
<Unit filename="GDCore/Events/BehaviorMetadata.cpp" />
<Unit filename="GDCore/Events/BehaviorMetadata.h" />
<Unit filename="GDCore/Extensions/Metadata/BehaviorMetadata.cpp" />
<Unit filename="GDCore/Extensions/Metadata/BehaviorMetadata.h" />
<Unit filename="GDCore/Events/Builtin/CommentEvent.cpp" />
<Unit filename="GDCore/Events/Builtin/CommentEvent.h" />
<Unit filename="GDCore/Events/Builtin/ForEachEvent.cpp" />
@@ -262,37 +262,37 @@
<Unit filename="GDCore/Events/Builtin/WhileEvent.h" />
<Unit filename="GDCore/Events/Event.cpp" />
<Unit filename="GDCore/Events/Event.h" />
<Unit filename="GDCore/Events/EventMetadata.cpp" />
<Unit filename="GDCore/Events/EventMetadata.h" />
<Unit filename="GDCore/Events/EventsCodeGenerationContext.cpp" />
<Unit filename="GDCore/Events/EventsCodeGenerationContext.h" />
<Unit filename="GDCore/Events/EventsCodeGenerator.cpp" />
<Unit filename="GDCore/Events/EventsCodeGenerator.h" />
<Unit filename="GDCore/Events/EventsCodeNameMangler.cpp" />
<Unit filename="GDCore/Events/EventsCodeNameMangler.h" />
<Unit filename="GDCore/Extensions/Metadata/EventMetadata.cpp" />
<Unit filename="GDCore/Extensions/Metadata/EventMetadata.h" />
<Unit filename="GDCore/Events/CodeGeneration/EventsCodeGenerationContext.cpp" />
<Unit filename="GDCore/Events/CodeGeneration/EventsCodeGenerationContext.h" />
<Unit filename="GDCore/Events/CodeGeneration/EventsCodeGenerator.cpp" />
<Unit filename="GDCore/Events/CodeGeneration/EventsCodeGenerator.h" />
<Unit filename="GDCore/Events/Tools/EventsCodeNameMangler.cpp" />
<Unit filename="GDCore/Events/Tools/EventsCodeNameMangler.h" />
<Unit filename="GDCore/Events/Expression.h" />
<Unit filename="GDCore/Events/ExpressionMetadata.cpp" />
<Unit filename="GDCore/Events/ExpressionMetadata.h" />
<Unit filename="GDCore/Events/ExpressionParser.cpp" />
<Unit filename="GDCore/Events/ExpressionParser.h" />
<Unit filename="GDCore/Events/ExpressionsCodeGeneration.cpp" />
<Unit filename="GDCore/Events/ExpressionsCodeGeneration.h" />
<Unit filename="GDCore/Extensions/Metadata/ExpressionMetadata.cpp" />
<Unit filename="GDCore/Extensions/Metadata/ExpressionMetadata.h" />
<Unit filename="GDCore/Events/Parsers/ExpressionParser.cpp" />
<Unit filename="GDCore/Events/Parsers/ExpressionParser.h" />
<Unit filename="GDCore/Events/CodeGeneration/ExpressionsCodeGeneration.cpp" />
<Unit filename="GDCore/Events/CodeGeneration/ExpressionsCodeGeneration.h" />
<Unit filename="GDCore/Events/Instruction.cpp" />
<Unit filename="GDCore/Events/Instruction.h" />
<Unit filename="GDCore/Events/InstructionMetadata.cpp" />
<Unit filename="GDCore/Events/InstructionMetadata.h" />
<Unit filename="GDCore/Events/ObjectMetadata.cpp" />
<Unit filename="GDCore/Events/ObjectMetadata.h" />
<Unit filename="GDCore/Extensions/Metadata/InstructionMetadata.cpp" />
<Unit filename="GDCore/Extensions/Metadata/InstructionMetadata.h" />
<Unit filename="GDCore/Extensions/Metadata/ObjectMetadata.cpp" />
<Unit filename="GDCore/Extensions/Metadata/ObjectMetadata.h" />
<Unit filename="GDCore/Events/Serialization.cpp" />
<Unit filename="GDCore/Events/Serialization.h" />
<Unit filename="GDCore/IDE/ActionSentenceFormatter.cpp" />
<Unit filename="GDCore/IDE/ActionSentenceFormatter.h" />
<Unit filename="GDCore/IDE/ArbitraryResourceWorker.cpp" />
<Unit filename="GDCore/IDE/ArbitraryResourceWorker.h" />
<Unit filename="GDCore/IDE/Project/ArbitraryResourceWorker.cpp" />
<Unit filename="GDCore/IDE/Project/ArbitraryResourceWorker.h" />
<Unit filename="GDCore/IDE/Clipboard.cpp" />
<Unit filename="GDCore/IDE/Clipboard.h" />
<Unit filename="GDCore/IDE/CommonBitmapManager.cpp" />
<Unit filename="GDCore/IDE/CommonBitmapManager.h" />
<Unit filename="GDCore/IDE/CommonBitmapProvider.cpp" />
<Unit filename="GDCore/IDE/wxTools/CommonBitmapProvider.h" />
<Unit filename="GDCore/IDE/ConditionSentenceFormatter.cpp" />
<Unit filename="GDCore/IDE/ConditionSentenceFormatter.h" />
<Unit filename="GDCore/IDE/Dialogs/AdvancedEntryDialog.cpp" />
@@ -356,41 +356,41 @@
<Unit filename="GDCore/IDE/Dialogs/ResourceLibraryDialog.h" />
<Unit filename="GDCore/IDE/EventsChangesNotifier.cpp" />
<Unit filename="GDCore/IDE/EventsChangesNotifier.h" />
<Unit filename="GDCore/IDE/EventsEditorItemsAreas.cpp" />
<Unit filename="GDCore/IDE/EventsEditorItemsAreas.h" />
<Unit filename="GDCore/IDE/EventsEditorSelection.cpp" />
<Unit filename="GDCore/IDE/EventsEditorSelection.h" />
<Unit filename="GDCore/IDE/EventsRefactorer.cpp" />
<Unit filename="GDCore/IDE/EventsRefactorer.h" />
<Unit filename="GDCore/IDE/EventsRenderingHelper.cpp" />
<Unit filename="GDCore/IDE/EventsRenderingHelper.h" />
<Unit filename="GDCore/IDE/EventsVariablesFinder.cpp" />
<Unit filename="GDCore/IDE/EventsVariablesFinder.h" />
<Unit filename="GDCore/IDE/ExpressionsCorrectnessTesting.cpp" />
<Unit filename="GDCore/IDE/ExpressionsCorrectnessTesting.h" />
<Unit filename="GDCore/IDE/Dialogs/EventsEditor/EventsEditorItemsAreas.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EventsEditor/EventsEditorItemsAreas.h" />
<Unit filename="GDCore/IDE/Dialogs/EventsEditor/EventsEditorSelection.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EventsEditor/EventsEditorSelection.h" />
<Unit filename="GDCore/IDE/Events/EventsRefactorer.cpp" />
<Unit filename="GDCore/IDE/Events/EventsRefactorer.h" />
<Unit filename="GDCore/IDE/Dialogs/EventsEditor/EventsRenderingHelper.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EventsEditor/EventsRenderingHelper.h" />
<Unit filename="GDCore/IDE/Events/EventsVariablesFinder.cpp" />
<Unit filename="GDCore/IDE/Events/EventsVariablesFinder.h" />
<Unit filename="GDCore/IDE/Events/ExpressionsCorrectnessTesting.cpp" />
<Unit filename="GDCore/IDE/Events/ExpressionsCorrectnessTesting.h" />
<Unit filename="GDCore/IDE/ExtensionsLoader.cpp" />
<Unit filename="GDCore/IDE/ExtensionsLoader.h" />
<Unit filename="GDCore/IDE/ImagesUsedInventorizer.cpp" />
<Unit filename="GDCore/IDE/ImagesUsedInventorizer.h" />
<Unit filename="GDCore/IDE/MetadataProvider.cpp" />
<Unit filename="GDCore/IDE/MetadataProvider.h" />
<Unit filename="GDCore/IDE/Project/ImagesUsedInventorizer.cpp" />
<Unit filename="GDCore/IDE/Project/ImagesUsedInventorizer.h" />
<Unit filename="GDCore/Extensions/Metadata/MetadataProvider.cpp" />
<Unit filename="GDCore/Extensions/Metadata/MetadataProvider.h" />
<Unit filename="GDCore/IDE/PlatformLoader.cpp" />
<Unit filename="GDCore/IDE/PlatformLoader.h" />
<Unit filename="GDCore/IDE/PlatformManager.cpp" />
<Unit filename="GDCore/IDE/PlatformManager.h" />
<Unit filename="GDCore/IDE/ProjectExporter.cpp" />
<Unit filename="GDCore/IDE/ProjectExporter.h" />
<Unit filename="GDCore/IDE/ProjectResourcesCopier.cpp" />
<Unit filename="GDCore/IDE/ProjectResourcesCopier.h" />
<Unit filename="GDCore/IDE/ResourcesAbsolutePathChecker.cpp" />
<Unit filename="GDCore/IDE/ResourcesAbsolutePathChecker.h" />
<Unit filename="GDCore/IDE/ResourcesMergingHelper.cpp" />
<Unit filename="GDCore/IDE/ResourcesMergingHelper.h" />
<Unit filename="GDCore/IDE/Project/ProjectResourcesCopier.cpp" />
<Unit filename="GDCore/IDE/Project/ProjectResourcesCopier.h" />
<Unit filename="GDCore/IDE/Project/ResourcesAbsolutePathChecker.cpp" />
<Unit filename="GDCore/IDE/Project/ResourcesAbsolutePathChecker.h" />
<Unit filename="GDCore/IDE/Project/ResourcesMergingHelper.cpp" />
<Unit filename="GDCore/IDE/Project/ResourcesMergingHelper.h" />
<Unit filename="GDCore/IDE/ResourcesUnmergingHelper.cpp" />
<Unit filename="GDCore/IDE/ResourcesUnmergingHelper.h" />
<Unit filename="GDCore/IDE/SceneNameMangler.cpp" />
<Unit filename="GDCore/IDE/SceneNameMangler.h" />
<Unit filename="GDCore/IDE/TextFormatting.h" />
<Unit filename="GDCore/IDE/Events/TextFormatting.h" />
<Unit filename="GDCore/IDE/wxTools/AuiTabArt.cpp" />
<Unit filename="GDCore/IDE/wxTools/AuiTabArt.h" />
<Unit filename="GDCore/IDE/wxTools/FileProperty.cpp" />
@@ -400,50 +400,50 @@
<Unit filename="GDCore/IDE/wxTools/SkinHelper.cpp" />
<Unit filename="GDCore/IDE/wxTools/SkinHelper.h" />
<Unit filename="GDCore/IDE/wxTools/TreeItemStringData.h" />
<Unit filename="GDCore/PlatformDefinition/Behavior.cpp" />
<Unit filename="GDCore/PlatformDefinition/Behavior.h" />
<Unit filename="GDCore/PlatformDefinition/BehaviorsSharedData.cpp" />
<Unit filename="GDCore/PlatformDefinition/BehaviorsSharedData.h" />
<Unit filename="GDCore/PlatformDefinition/ChangesNotifier.cpp" />
<Unit filename="GDCore/PlatformDefinition/ChangesNotifier.h" />
<Unit filename="GDCore/PlatformDefinition/ClassWithObjects.cpp" />
<Unit filename="GDCore/PlatformDefinition/ClassWithObjects.h" />
<Unit filename="GDCore/PlatformDefinition/ExternalEvents.cpp" />
<Unit filename="GDCore/PlatformDefinition/ExternalEvents.h" />
<Unit filename="GDCore/PlatformDefinition/ExternalLayout.cpp" />
<Unit filename="GDCore/PlatformDefinition/ExternalLayout.h" />
<Unit filename="GDCore/PlatformDefinition/ImageManager.cpp" />
<Unit filename="GDCore/PlatformDefinition/ImageManager.h" />
<Unit filename="GDCore/PlatformDefinition/InitialInstance.cpp" />
<Unit filename="GDCore/PlatformDefinition/InitialInstance.h" />
<Unit filename="GDCore/PlatformDefinition/InitialInstancesContainer.cpp" />
<Unit filename="GDCore/PlatformDefinition/InitialInstancesContainer.h" />
<Unit filename="GDCore/PlatformDefinition/Layer.cpp" />
<Unit filename="GDCore/PlatformDefinition/Layer.h" />
<Unit filename="GDCore/PlatformDefinition/Layout.cpp" />
<Unit filename="GDCore/PlatformDefinition/Layout.h" />
<Unit filename="GDCore/PlatformDefinition/LayoutEditorPreviewer.cpp" />
<Unit filename="GDCore/PlatformDefinition/LayoutEditorPreviewer.h" />
<Unit filename="GDCore/PlatformDefinition/Object.cpp" />
<Unit filename="GDCore/PlatformDefinition/Object.h" />
<Unit filename="GDCore/PlatformDefinition/ObjectGroup.cpp" />
<Unit filename="GDCore/PlatformDefinition/ObjectGroup.h" />
<Unit filename="GDCore/PlatformDefinition/Platform.cpp" />
<Unit filename="GDCore/PlatformDefinition/Platform.h" />
<Unit filename="GDCore/PlatformDefinition/PlatformExtension.cpp" />
<Unit filename="GDCore/PlatformDefinition/PlatformExtension.h" />
<Unit filename="GDCore/PlatformDefinition/Project.cpp" />
<Unit filename="GDCore/PlatformDefinition/Project.h" />
<Unit filename="GDCore/PlatformDefinition/ResourcesManager.cpp" />
<Unit filename="GDCore/PlatformDefinition/ResourcesManager.h" />
<Unit filename="GDCore/PlatformDefinition/RessourcesLoader.cpp" />
<Unit filename="GDCore/PlatformDefinition/RessourcesLoader.h" />
<Unit filename="GDCore/PlatformDefinition/SourceFile.cpp" />
<Unit filename="GDCore/PlatformDefinition/SourceFile.h" />
<Unit filename="GDCore/PlatformDefinition/Variable.cpp" />
<Unit filename="GDCore/PlatformDefinition/Variable.h" />
<Unit filename="GDCore/PlatformDefinition/VariablesContainer.cpp" />
<Unit filename="GDCore/PlatformDefinition/VariablesContainer.h" />
<Unit filename="GDCore/Project/Behavior.cpp" />
<Unit filename="GDCore/Project/Behavior.h" />
<Unit filename="GDCore/Project/BehaviorsSharedData.cpp" />
<Unit filename="GDCore/Project/BehaviorsSharedData.h" />
<Unit filename="GDCore/Project/ChangesNotifier.cpp" />
<Unit filename="GDCore/Project/ChangesNotifier.h" />
<Unit filename="GDCore/Project/ClassWithObjects.cpp" />
<Unit filename="GDCore/Project/ClassWithObjects.h" />
<Unit filename="GDCore/Project/ExternalEvents.cpp" />
<Unit filename="GDCore/Project/ExternalEvents.h" />
<Unit filename="GDCore/Project/ExternalLayout.cpp" />
<Unit filename="GDCore/Project/ExternalLayout.h" />
<Unit filename="GDCore/Project/ImageManager.cpp" />
<Unit filename="GDCore/Project/ImageManager.h" />
<Unit filename="GDCore/Project/InitialInstance.cpp" />
<Unit filename="GDCore/Project/InitialInstance.h" />
<Unit filename="GDCore/Project/InitialInstancesContainer.cpp" />
<Unit filename="GDCore/Project/InitialInstancesContainer.h" />
<Unit filename="GDCore/Project/Layer.cpp" />
<Unit filename="GDCore/Project/Layer.h" />
<Unit filename="GDCore/Project/Layout.cpp" />
<Unit filename="GDCore/Project/Layout.h" />
<Unit filename="GDCore/Project/LayoutEditorPreviewer.cpp" />
<Unit filename="GDCore/Project/LayoutEditorPreviewer.h" />
<Unit filename="GDCore/Project/Object.cpp" />
<Unit filename="GDCore/Project/Object.h" />
<Unit filename="GDCore/Project/ObjectGroup.cpp" />
<Unit filename="GDCore/Project/ObjectGroup.h" />
<Unit filename="GDCore/Extensions/Platform.cpp" />
<Unit filename="GDCore/Extensions/Platform.h" />
<Unit filename="GDCore/Extensions/PlatformExtension.cpp" />
<Unit filename="GDCore/Extensions/PlatformExtension.h" />
<Unit filename="GDCore/Project/Project.cpp" />
<Unit filename="GDCore/Project/Project.h" />
<Unit filename="GDCore/Project/ResourcesManager.cpp" />
<Unit filename="GDCore/Project/ResourcesManager.h" />
<Unit filename="GDCore/Project/RessourcesLoader.cpp" />
<Unit filename="GDCore/Project/RessourcesLoader.h" />
<Unit filename="GDCore/Project/SourceFile.cpp" />
<Unit filename="GDCore/Project/SourceFile.h" />
<Unit filename="GDCore/Project/Variable.cpp" />
<Unit filename="GDCore/Project/Variable.h" />
<Unit filename="GDCore/Project/VariablesContainer.cpp" />
<Unit filename="GDCore/Project/VariablesContainer.h" />
<Unit filename="GDCore/TinyXml/tinystr.cpp" />
<Unit filename="GDCore/TinyXml/tinystr.h" />
<Unit filename="GDCore/TinyXml/tinyxml.cpp" />
@@ -489,29 +489,29 @@
<debugger />
<wxsmith version="1">
<resources>
<wxDialog wxs="wxsmith/ChooseVariableDialog.wxs" src="GDCore\IDE\Dialogs\ChooseVariableDialog.cpp" hdr="GDCore\IDE\Dialogs\ChooseVariableDialog.h" fwddecl="0" i18n="1" name="ChooseVariableDialog" language="CPP" />
<wxDialog wxs="wxsmith/ResourceLibraryDialog.wxs" src="GDCore\IDE\Dialogs\ResourceLibraryDialog.cpp" hdr="GDCore\IDE\Dialogs\ResourceLibraryDialog.h" fwddecl="0" i18n="1" name="ResourceLibraryDialog" language="CPP" />
<wxDialog wxs="wxsmith/ProjectExtensionsDialog.wxs" src="GDCore\IDE\Dialogs\ProjectExtensionsDialog.cpp" hdr="GDCore\IDE\Dialogs\ProjectExtensionsDialog.h" fwddecl="0" i18n="1" name="ProjectExtensionsDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseObjectDialog.wxs" src="GDCore\IDE\Dialogs\ChooseObjectDialog.cpp" hdr="GDCore\IDE\Dialogs\ChooseObjectDialog.h" fwddecl="0" i18n="1" name="ChooseObjectDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseBehaviorDialog.wxs" src="GDCore\IDE\Dialogs\ChooseBehaviorDialog.cpp" hdr="GDCore\IDE\Dialogs\ChooseBehaviorDialog.h" fwddecl="0" i18n="1" name="ChooseBehaviorDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseLayerDialog.wxs" src="GDCore\IDE\Dialogs\ChooseLayerDialog.cpp" hdr="GDCore\IDE\Dialogs\ChooseLayerDialog.h" fwddecl="0" i18n="1" name="ChooseLayerDialog" language="CPP" />
<wxDialog wxs="wxsmith/EditExpressionDialog.wxs" src="GDCore\IDE\Dialogs\EditExpressionDialog.cpp" hdr="GDCore\IDE\Dialogs\EditExpressionDialog.h" fwddecl="0" i18n="1" name="EditExpressionDialog" language="CPP" />
<wxDialog wxs="wxsmith/EditStrExpressionDialog.wxs" src="GDCore\IDE\Dialogs\EditStrExpressionDialog.cpp" hdr="GDCore\IDE\Dialogs\EditStrExpressionDialog.h" fwddecl="0" i18n="1" name="EditStrExpressionDialog" language="CPP" />
<wxDialog wxs="wxsmith/AdvancedEntryDialog.wxs" src="GDCore\IDE\Dialogs\AdvancedEntryDialog.cpp" hdr="GDCore\IDE\Dialogs\AdvancedEntryDialog.h" fwddecl="0" i18n="1" name="AdvancedEntryDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseObjectTypeDialog.wxs" src="GDCore\IDE\Dialogs\ChooseObjectTypeDialog.cpp" hdr="GDCore\IDE\Dialogs\ChooseObjectTypeDialog.h" fwddecl="0" i18n="1" name="ChooseObjectTypeDialog" language="CPP" />
<wxPanel wxs="wxsmith/LayoutEditorCanvas.wxs" src="GDCore\IDE\Dialogs\LayoutEditorCanvas.cpp" hdr="GDCore\IDE\Dialogs\LayoutEditorCanvas.h" fwddecl="0" i18n="1" name="LayoutEditorCanvas" language="CPP" />
<wxDialog wxs="wxsmith/GridSetupDialog.wxs" src="GDCore\IDE\Dialogs\GridSetupDialog.cpp" hdr="GDCore\IDE\Dialogs\GridSetupDialog.h" fwddecl="0" i18n="1" name="GridSetupDialog" language="CPP" />
<wxPanel wxs="wxsmith/LayersEditorPanel.wxs" src="GDCore\IDE\Dialogs\LayersEditorPanel.cpp" hdr="GDCore\IDE\Dialogs\LayersEditorPanel.h" fwddecl="0" i18n="1" name="LayersEditorPanel" language="CPP" />
<wxDialog wxs="wxsmith/InstancesAdvancedPasteDialog.wxs" src="GDCore\IDE\Dialogs\InstancesAdvancedPasteDialog.cpp" hdr="GDCore\IDE\Dialogs\InstancesAdvancedPasteDialog.h" fwddecl="0" i18n="1" name="InstancesAdvancedPasteDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseBehaviorTypeDialog.wxs" src="GDCore\IDE\Dialogs\ChooseBehaviorTypeDialog.cpp" hdr="GDCore\IDE\Dialogs\ChooseBehaviorTypeDialog.h" fwddecl="0" i18n="1" name="ChooseBehaviorTypeDialog" language="CPP" />
<wxDialog wxs="wxsmith/EditLayerDialog.wxs" src="GDCore\IDE\Dialogs\EditLayerDialog.cpp" hdr="GDCore\IDE\Dialogs\EditLayerDialog.h" fwddecl="0" i18n="1" name="EditLayerDialog" language="CPP" />
<wxDialog wxs="wxsmith/EditLink.wxs" src="GDCore\IDE\Dialogs\EditLink.cpp" hdr="GDCore\IDE\Dialogs\EditLink.h" fwddecl="0" i18n="1" name="EditLink" language="CPP" />
<wxDialog wxs="wxsmith/EditComment.wxs" src="GDCore\IDE\Dialogs\EditComment.cpp" hdr="GDCore\IDE\Dialogs\EditComment.h" fwddecl="0" i18n="1" name="EditComment" language="CPP" />
<wxDialog wxs="wxsmith/EditForEachEvent.wxs" src="GDCore\IDE\Dialogs\EditForEachEvent.cpp" hdr="GDCore\IDE\Dialogs\EditForEachEvent.h" fwddecl="0" i18n="1" name="EditForEachEvent" language="CPP" />
<wxDialog wxs="wxsmith/EditRepeatEvent.wxs" src="GDCore\IDE\Dialogs\EditRepeatEvent.cpp" hdr="GDCore\IDE\Dialogs\EditRepeatEvent.h" fwddecl="0" i18n="1" name="EditRepeatEvent" language="CPP" />
<wxDialog wxs="wxsmith/ProjectUpdateDialog.wxs" src="GDCore\IDE\Dialogs\ProjectUpdateDialog.cpp" hdr="GDCore\IDE\Dialogs\ProjectUpdateDialog.h" fwddecl="0" i18n="1" name="ProjectUpdateDialog" language="CPP" />
<wxDialog wxs="wxsmith/SpriteObjectEditor.wxs" src="GDCore\BuiltinExtensions\SpriteExtension\Dialogs\SpriteObjectEditor.cpp" hdr="GDCore\BuiltinExtensions\SpriteExtension\Dialogs\SpriteObjectEditor.h" fwddecl="0" i18n="1" name="SpriteObjectEditor" language="CPP" />
<wxPanel wxs="wxsmith/ResourcesEditor.wxs" src="GDCore\IDE\Dialogs\ResourcesEditor.cpp" hdr="GDCore\IDE\Dialogs\ResourcesEditor.h" fwddecl="0" i18n="1" name="ResourcesEditor" language="CPP" />
<wxDialog wxs="wxsmith/ChooseVariableDialog.wxs" src="GDCore/IDE/Dialogs/ChooseVariableDialog.cpp" hdr="GDCore/IDE/Dialogs/ChooseVariableDialog.h" fwddecl="0" i18n="1" name="ChooseVariableDialog" language="CPP" />
<wxDialog wxs="wxsmith/ResourceLibraryDialog.wxs" src="GDCore/IDE/Dialogs/ResourceLibraryDialog.cpp" hdr="GDCore/IDE/Dialogs/ResourceLibraryDialog.h" fwddecl="0" i18n="1" name="ResourceLibraryDialog" language="CPP" />
<wxDialog wxs="wxsmith/ProjectExtensionsDialog.wxs" src="GDCore/IDE/Dialogs/ProjectExtensionsDialog.cpp" hdr="GDCore/IDE/Dialogs/ProjectExtensionsDialog.h" fwddecl="0" i18n="1" name="ProjectExtensionsDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseObjectDialog.wxs" src="GDCore/IDE/Dialogs/ChooseObjectDialog.cpp" hdr="GDCore/IDE/Dialogs/ChooseObjectDialog.h" fwddecl="0" i18n="1" name="ChooseObjectDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseBehaviorDialog.wxs" src="GDCore/IDE/Dialogs/ChooseBehaviorDialog.cpp" hdr="GDCore/IDE/Dialogs/ChooseBehaviorDialog.h" fwddecl="0" i18n="1" name="ChooseBehaviorDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseLayerDialog.wxs" src="GDCore/IDE/Dialogs/ChooseLayerDialog.cpp" hdr="GDCore/IDE/Dialogs/ChooseLayerDialog.h" fwddecl="0" i18n="1" name="ChooseLayerDialog" language="CPP" />
<wxDialog wxs="wxsmith/EditExpressionDialog.wxs" src="GDCore/IDE/Dialogs/EditExpressionDialog.cpp" hdr="GDCore/IDE/Dialogs/EditExpressionDialog.h" fwddecl="0" i18n="1" name="EditExpressionDialog" language="CPP" />
<wxDialog wxs="wxsmith/EditStrExpressionDialog.wxs" src="GDCore/IDE/Dialogs/EditStrExpressionDialog.cpp" hdr="GDCore/IDE/Dialogs/EditStrExpressionDialog.h" fwddecl="0" i18n="1" name="EditStrExpressionDialog" language="CPP" />
<wxDialog wxs="wxsmith/AdvancedEntryDialog.wxs" src="GDCore/IDE/Dialogs/AdvancedEntryDialog.cpp" hdr="GDCore/IDE/Dialogs/AdvancedEntryDialog.h" fwddecl="0" i18n="1" name="AdvancedEntryDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseObjectTypeDialog.wxs" src="GDCore/IDE/Dialogs/ChooseObjectTypeDialog.cpp" hdr="GDCore/IDE/Dialogs/ChooseObjectTypeDialog.h" fwddecl="0" i18n="1" name="ChooseObjectTypeDialog" language="CPP" />
<wxPanel wxs="wxsmith/LayoutEditorCanvas.wxs" src="GDCore/IDE/Dialogs/LayoutEditorCanvas.cpp" hdr="GDCore/IDE/Dialogs/LayoutEditorCanvas.h" fwddecl="0" i18n="1" name="LayoutEditorCanvas" language="CPP" />
<wxDialog wxs="wxsmith/GridSetupDialog.wxs" src="GDCore/IDE/Dialogs/GridSetupDialog.cpp" hdr="GDCore/IDE/Dialogs/GridSetupDialog.h" fwddecl="0" i18n="1" name="GridSetupDialog" language="CPP" />
<wxPanel wxs="wxsmith/LayersEditorPanel.wxs" src="GDCore/IDE/Dialogs/LayersEditorPanel.cpp" hdr="GDCore/IDE/Dialogs/LayersEditorPanel.h" fwddecl="0" i18n="1" name="LayersEditorPanel" language="CPP" />
<wxDialog wxs="wxsmith/InstancesAdvancedPasteDialog.wxs" src="GDCore/IDE/Dialogs/InstancesAdvancedPasteDialog.cpp" hdr="GDCore/IDE/Dialogs/InstancesAdvancedPasteDialog.h" fwddecl="0" i18n="1" name="InstancesAdvancedPasteDialog" language="CPP" />
<wxDialog wxs="wxsmith/ChooseBehaviorTypeDialog.wxs" src="GDCore/IDE/Dialogs/ChooseBehaviorTypeDialog.cpp" hdr="GDCore/IDE/Dialogs/ChooseBehaviorTypeDialog.h" fwddecl="0" i18n="1" name="ChooseBehaviorTypeDialog" language="CPP" />
<wxDialog wxs="wxsmith/EditLayerDialog.wxs" src="GDCore/IDE/Dialogs/EditLayerDialog.cpp" hdr="GDCore/IDE/Dialogs/EditLayerDialog.h" fwddecl="0" i18n="1" name="EditLayerDialog" language="CPP" />
<wxDialog wxs="wxsmith/EditLink.wxs" src="GDCore/IDE/Dialogs/EditLink.cpp" hdr="GDCore/IDE/Dialogs/EditLink.h" fwddecl="0" i18n="1" name="EditLink" language="CPP" />
<wxDialog wxs="wxsmith/EditComment.wxs" src="GDCore/IDE/Dialogs/EditComment.cpp" hdr="GDCore/IDE/Dialogs/EditComment.h" fwddecl="0" i18n="1" name="EditComment" language="CPP" />
<wxDialog wxs="wxsmith/EditForEachEvent.wxs" src="GDCore/IDE/Dialogs/EditForEachEvent.cpp" hdr="GDCore/IDE/Dialogs/EditForEachEvent.h" fwddecl="0" i18n="1" name="EditForEachEvent" language="CPP" />
<wxDialog wxs="wxsmith/EditRepeatEvent.wxs" src="GDCore/IDE/Dialogs/EditRepeatEvent.cpp" hdr="GDCore/IDE/Dialogs/EditRepeatEvent.h" fwddecl="0" i18n="1" name="EditRepeatEvent" language="CPP" />
<wxDialog wxs="wxsmith/ProjectUpdateDialog.wxs" src="GDCore/IDE/Dialogs/ProjectUpdateDialog.cpp" hdr="GDCore/IDE/Dialogs/ProjectUpdateDialog.h" fwddecl="0" i18n="1" name="ProjectUpdateDialog" language="CPP" />
<wxDialog wxs="wxsmith/SpriteObjectEditor.wxs" src="GDCore/Extensions/Builtin/SpriteExtension/Dialogs/SpriteObjectEditor.cpp" hdr="GDCore/Extensions/Builtin/SpriteExtension/Dialogs/SpriteObjectEditor.h" fwddecl="0" i18n="1" name="SpriteObjectEditor" language="CPP" />
<wxPanel wxs="wxsmith/ResourcesEditor.wxs" src="GDCore/IDE/Dialogs/ResourcesEditor.cpp" hdr="GDCore/IDE/Dialogs/ResourcesEditor.h" fwddecl="0" i18n="1" name="ResourcesEditor" language="CPP" />
</resources>
</wxsmith>
</Extensions>

View File

@@ -1,34 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsAdvancedExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinAdvanced",
_("Advanced control features"),
_("Built-in extension providing advanced control features."),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddCondition("Toujours",
_("Always"),
_("This condition returns always true (or always false if condition is inverted)."),
_("Always"),
_("Other"),
"res/conditions/toujours24.png",
"res/conditions/toujours.png")
.AddCodeOnlyParameter("conditionInverted", "")
.MarkAsAdvanced();
#endif
}
}

View File

@@ -1,435 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsAudioExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinAudio",
_("Audio"),
_("Builtin audio extension"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddAction("PlaySoundCanal",
_("Play a sound on a channel"),
_("Play a sound (small audio file) on a specific channel,\nso as to be able to manipulate it."),
_("Play the sound _PARAM1_ on the channel _PARAM2_"),
_("Audio/Sounds on channels"),
"res/actions/son24.png",
"res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("soundfile", _("Audio file"))
.AddParameter("expression", _("Channel identifier"))
.AddParameter("yesorno", _("Repeat the sound"), "",true).SetDefaultValue("no")
.AddParameter("expression", _("Volume (from 0 to 100, 100 by default)"), "",true).SetDefaultValue("100")
.AddParameter("expression", _("Pitch (speed) (1 by default)"), "",true).SetDefaultValue("1")
.MarkAsAdvanced();
extension.AddAction("StopSoundCanal",
_("Stop the sound of a channel"),
_("Stop the sound on the specified channel."),
_("Stop the sound of channel _PARAM1_"),
_("Audio/Sounds on channels"),
"res/actions/son24.png",
"res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.MarkAsAdvanced();
extension.AddAction("PauseSoundCanal",
_("Pause the sound of a channel"),
_("Pause the sound played on the specified channel."),
_("Pause the sound of channel _PARAM1_"),
_("Audio/Sounds on channels"),
"res/actions/son24.png",
"res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.MarkAsAdvanced();
extension.AddAction("RePlaySoundCanal",
_("Play the sound of a channel"),
_("Play the sound of the channel."),
_("Play the sound of channel _PARAM1_"),
_("Audio/Sounds on channels"),
"res/actions/son24.png",
"res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.MarkAsAdvanced();
extension.AddAction("PlayMusicCanal",
_("Play a music on a channel"),
_("Play a music an on specific channel,\nso as to be able to interact with later."),
_("Play the music _PARAM1_ on channel _PARAM2_"),
_("Audio/Musics on channels"),
"res/actions/music24.png",
"res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("musicfile", _("Audio file"))
.AddParameter("expression", _("Channel identifier"))
.AddParameter("yesorno", _("Repeat the sound"), "",true).SetDefaultValue("no")
.AddParameter("expression", _("Volume (from 0 to 100, 100 by default)"), "",true).SetDefaultValue("100")
.AddParameter("expression", _("Pitch (speed) (1 by default)"), "",true).SetDefaultValue("1")
.MarkAsAdvanced();
extension.AddAction("StopMusicCanal",
_("Stop the music on a channel"),
_("Stop the music on the specified channel"),
_("Stop the music of channel _PARAM1_"),
_("Audio/Musics on channels"),
"res/actions/music24.png",
"res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.MarkAsAdvanced();
extension.AddAction("PauseMusicCanal",
_("Pause the music of a channel"),
_("Pause the music on the specified channel."),
_("Pause the music of channel _PARAM1_"),
_("Audio/Musics on channels"),
"res/actions/music24.png",
"res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.MarkAsAdvanced();
extension.AddAction("RePlayMusicCanal",
_("Play the music of a channel"),
_("Play the music of the channel."),
_("Play the music of channel _PARAM1_"),
_("Audio/Musics on channels"),
"res/actions/music24.png",
"res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.MarkAsAdvanced();
extension.AddAction("ModVolumeSoundCanal",
_("Volume of the sound on a channel"),
_("This action modify the volume of the sound on the specified channel. The volume is between 0 and 100."),
_("Do _PARAM2__PARAM3_ to the volume of the sound on channel _PARAM1_"),
_("Audio/Sounds on channels"),
"res/actions/sonVolume24.png",
"res/actions/sonVolume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("ModVolumeMusicCanal",
_("Volume of the music on a channel"),
_("This action modify the volume of the music on the specified channel. The volume is between 0 and 100."),
_("Do _PARAM2__PARAM3_ to the volume of the music on channel _PARAM1_"),
_("Audio/Musics on channels"),
"res/actions/musicVolume24.png",
"res/actions/musicVolume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("ModGlobalVolume",
_("Game global volume"),
_("This action modify the global volume of the game. The volume is between 0 and 100."),
_("Do _PARAM1__PARAM2_ to global sound level"),
_("Audio"),
"res/actions/volume24.png",
"res/actions/volume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsSimple()
.SetManipulatedType("number");
extension.AddAction("ModPitchSoundChannel",
_("Pitch of the sound of a channel"),
_("This action modify pitch (speed) of the sound on a channel.\n1 is the default pitch."),
_("Do _PARAM2__PARAM3_ to the pitch of the sound on channel _PARAM1_"),
_("Audio/Sounds on channels"),
"res/actions/son24.png",
"res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("ModPitchMusicChannel",
_("Pitch of the music on a channel"),
_("This action modify the pitch of the music on the specified channel. 1 is the default pitch"),
_("Do _PARAM2__PARAM3_ to the pitch of the music on channel _PARAM1_"),
_("Audio/Musics on channels"),
"res/actions/music24.png",
"res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("ModPlayingOffsetSoundChannel",
_("Playing offset of the sound on a channel"),
_("This action modify the playing offset of the sound on a channel"),
_("Do _PARAM2__PARAM3_ to the playing offset of the sound on channel _PARAM1_"),
_("Audio/Sounds on channels"),
"res/actions/son24.png",
"res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("ModPlayingOffsetMusicChannel",
_("Playing offset of the music on a channel"),
_("This action modify the playing offset of the music on the specified channel"),
_("Do _PARAM2__PARAM3_ to the playing offset of the music on channel _PARAM1_"),
_("Audio/Musics on channels"),
"res/actions/music24.png",
"res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("PlaySound",
_("Play a sound"),
_("Play a sound."),
_("Play the sound _PARAM1_"),
_("Audio"),
"res/actions/son24.png",
"res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("soundfile", _("Audio file"))
.AddParameter("yesorno", _("Repeat the sound"), "",true).SetDefaultValue("no")
.AddParameter("expression", _("Volume (from 0 to 100, 100 by default)"), "",true).SetDefaultValue("100")
.AddParameter("expression", _("Pitch (speed) (1 by default)"), "",true).SetDefaultValue("1")
.MarkAsSimple();
extension.AddAction("PlayMusic",
_("Play a music"),
_("Play a music."),
_("Play the music _PARAM1_"),
_("Audio"),
"res/actions/music24.png",
"res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("musicfile", _("Audio file"))
.AddParameter("yesorno", _("Repeat the sound"), "",true).SetDefaultValue("no")
.AddParameter("expression", _("Volume (from 0 to 100, 100 by default)"), "",true).SetDefaultValue("100")
.AddParameter("expression", _("Pitch (speed) (1 by default)"), "",true).SetDefaultValue("1")
.MarkAsSimple();
extension.AddCondition("MusicPlaying",
_("A music is being played"),
_("Test if the music on a channel is being played"),
_("Music on channel _PARAM1_ is being played"),
_("Audio/Musics on channels"),
"res/conditions/musicplaying24.png",
"res/conditions/musicplaying.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"))
.MarkAsAdvanced();
extension.AddCondition("MusicPaused",
_("A music is paused"),
_("Test if the music on the specified channel is paused."),
_("Music on channel _PARAM1_ is paused"),
_("Audio/Musics on channels"),
"res/conditions/musicpaused24.png",
"res/conditions/musicpaused.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"))
.MarkAsAdvanced();
extension.AddCondition("MusicStopped",
_("A music is stopped"),
_("Test if the music on the specified channel is stopped."),
_("Music on channel _PARAM1_ is stopped"),
_("Audio/Musics on channels"),
"res/conditions/musicstopped24.png",
"res/conditions/musicstopped.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"))
.MarkAsAdvanced();
extension.AddCondition("SoundPlaying",
_("A sound is being played"),
_("Test if the sound on a channel is being played."),
_("Sound on channel _PARAM1_ is being played"),
_("Audio/Sounds on channels"),
"res/conditions/sonplaying24.png",
"res/conditions/sonplaying.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"))
.MarkAsAdvanced();
extension.AddCondition("SoundPaused",
_("A sound is paused"),
_("Test if the sound on the specified channel is paused."),
_("Sound on channel _PARAM1_ is paused"),
_("Audio/Sounds on channels"),
"res/conditions/sonpaused24.png",
"res/conditions/sonpaused.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"))
.MarkAsAdvanced();
extension.AddCondition("SoundStopped",
_("A sound is stopped"),
_("Test if the sound on the specified channel is stopped."),
_("Sound on channel _PARAM1_ is stopped"),
_("Audio/Sounds on channels"),
"res/conditions/sonstopped24.png",
"res/conditions/sonstopped.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"))
.MarkAsAdvanced();
extension.AddCondition("SoundCanalVolume",
_("Volume of the sound on a channel"),
_("Test the volume of the sound on the specified channel. The volume is between 0 and 100."),
_("The volume of the sound on channel _PARAM1_ is _PARAM2__PARAM3_"),
_("Audio/Sounds on channels"),
"res/conditions/sonVolume24.png",
"res/conditions/sonVolume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Volume to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("MusicCanalVolume",
_("Volume of the music on a channel"),
_("Test the volume of the music on specified channel. The volume is between 0 and 100."),
_("The volume of the music on channel _PARAM1_ is _PARAM2__PARAM3_"),
_("Audio/Musics on channels"),
"res/conditions/musicVolume24.png",
"res/conditions/musicVolume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Volume to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("GlobalVolume",
_("Global volume"),
_("Test the global sound level. The volume is between 0 and 100."),
_("The global game volume is _PARAM2_ to _PARAM1_"),
_("Audio"),
"res/conditions/volume24.png",
"res/conditions/volume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Volume to test"))
.SetManipulatedType("number");
extension.AddCondition("SoundChannelPitch",
_("Pitch of the sound of a channel"),
_("Test the pitch of the sound on the specified channel. 1 is the default pitch."),
_("The pitch of the sound on channel _PARAM1_ is _PARAM2__PARAM3_"),
_("Audio/Sounds on channels"),
"res/conditions/sonVolume24.png",
"res/conditions/sonVolume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Pitch to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("MusicChannelPitch",
_("Pitch of the music on a channel"),
_("Test the pitch (speed) of the music on specified channel. 1 is the default pitch."),
_("The volume of the music on channel _PARAM1_ is _PARAM2__PARAM3_"),
_("Audio/Musics on channels"),
"res/conditions/musicVolume24.png",
"res/conditions/musicVolume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Pitch to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("SoundChannelPlayingOffset",
_("Playing offset of the sound on a channel"),
_("Test the playing offset of the sound on the specified channel."),
_("The playing offset of the sound on channel _PARAM1_ is _PARAM2__PARAM3_"),
_("Audio/Sounds on channels"),
"res/conditions/sonVolume24.png",
"res/conditions/sonVolume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Playing position (in seconds)"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("MusicChannelPlayingOffset",
_("Playing offset of the music on a channel"),
_("Test the playing offset of the music on the specified channel."),
_("The playing offset of the music on channel _PARAM1_ is _PARAM2__PARAM3_"),
_("Audio/Musics on channels"),
"res/conditions/musicVolume24.png",
"res/conditions/musicVolume.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel identifier"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Playing position (in seconds)"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddExpression("SoundChannelPlayingOffset", _("Sound playing offset"), _("Sound playing offset"), _("Sounds"), "res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"));
extension.AddExpression("MusicChannelPlayingOffset", _("Music playing offset"), _("Music playing offset"), _("Musics"), "res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"));
extension.AddExpression("SoundChannelVolume", _("Sound volume"), _("Sound volume"), _("Sounds"), "res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"));
extension.AddExpression("MusicChannelVolume", _("Music volume"), _("Music volume"), _("Musics"), "res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"));
extension.AddExpression("SoundChannelPitch", _("Sound's pitch"), _("Sound's pitch"), _("Sounds"), "res/actions/son.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"));
extension.AddExpression("MusicChannelPitch", _("Music's pitch"), _("Music's pitch"), _("Musics"), "res/actions/music.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Channel"));
extension.AddExpression("GlobalVolume", _("Global volume"), _("Global volume value"), _("Sound level"), "res/conditions/volume.png")
.AddCodeOnlyParameter("currentScene", "");
#endif
}
}

View File

@@ -1,828 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
#include "GDCore/PlatformDefinition/Object.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinObject",
_("Base object"),
_("Base object"),
"Florian Rival",
"Open source (MIT License)");
gd::ObjectMetadata & obj = extension.AddObject("",
_("Base object"),
_("Base object"),
"res/objeticon24.png",
&CreateBaseObject);
#if defined(GD_IDE_ONLY)
obj.AddCondition("PosX",
_("Compare X position of an object"),
_("Compare the X position of the object."),
_("The X position of _PARAM0_ is _PARAM1__PARAM2_"),
_("Position"),
"res/conditions/position24.png",
"res/conditions/position.png")
.AddParameter("object", _("Object"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("X position"))
.MarkAsSimple()
.SetManipulatedType("number");
obj.AddAction("MettreX",
_("X position of an object"),
_("Change the X position of an object."),
_("Do _PARAM1__PARAM2_ to the X position of _PARAM0_"),
_("Position"),
"res/actions/position24.png",
"res/actions/position.png")
.AddParameter("object", _("Object"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsSimple()
.SetManipulatedType("number");
obj.AddCondition("PosY",
_("Compare Y position of an object"),
_("Compare the Y position of an object."),
_("The Y position of _PARAM0_ is _PARAM1__PARAM2_"),
_("Position"),
"res/conditions/position24.png",
"res/conditions/position.png")
.AddParameter("object", _("Object"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Y position"))
.MarkAsSimple()
.SetManipulatedType("number");
obj.AddAction("MettreY",
_("Y position of an object"),
_("Change the Y position of an object."),
_("Do _PARAM1__PARAM2_ to the Y position of _PARAM0_"),
_("Position"),
"res/actions/position24.png",
"res/actions/position.png")
.AddParameter("object", _("Object"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsSimple()
.SetManipulatedType("number");
obj.AddAction("MettreXY",
_("Position of an object"),
_("Change the position of an object."),
_("Do _PARAM1__PARAM2_;_PARAM3__PARAM4_ to the position of _PARAM0_"),
_("Position"),
"res/actions/position24.png",
"res/actions/position.png")
.AddParameter("object", _("Object"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("X position"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Y position"))
.MarkAsSimple();
obj.AddAction("MettreAutourPos",
_("Put an object around a position"),
_("Position an object around a position, with specified angle and distance."),
_("Put _PARAM0_ around _PARAM1_;_PARAM2_, with an angle of _PARAM4_ degrees and _PARAM3_ pixels distance."),
_("Position"),
"res/actions/positionAutour24.png",
"res/actions/positionAutour.png")
.AddParameter("object", _("Object"))
.AddParameter("expression", _("X position"))
.AddParameter("expression", _("Y position"))
.AddParameter("expression", _("Distance"))
.AddParameter("expression", _("Angle, in degrees"))
.MarkAsAdvanced();
obj.AddAction("SetAngle",
_("Angle"),
_("Change the angle of rotation of an object."),
_("Do _PARAM1__PARAM2_ to angle of _PARAM0_"),
_("Angle"),
"res/actions/direction24.png",
"res/actions/direction.png")
.AddParameter("object", _("Object"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.SetManipulatedType("number");
obj.AddAction("Rotate",
_("Rotate"),
_("Rotate an object, clockwise if the speed is positive, counterclockwise otherwise."),
_("Rotate _PARAM0_ at speed _PARAM1_deg/second"),
_("Angle"),
"res/actions/direction24.png",
"res/actions/direction.png")
.AddParameter("object", _("Object"))
.AddParameter("expression", _("Angular speed (in degrees per second)"))
.AddCodeOnlyParameter("currentScene", "")
.MarkAsSimple();
obj.AddAction("RotateTowardAngle",
_("Rotate toward angle"),
_("Rotate an object towards an angle with the specified speed."),
_("Rotate _PARAM0_ towards _PARAM1_ at speed _PARAM2_deg/second"),
_("Angle"),
"res/actions/direction24.png",
"res/actions/direction.png")
.AddParameter("object", _("Object"))
.AddParameter("expression", _("Angle to rotate towards (in degrees)"))
.AddParameter("expression", _("Angular speed (in degrees per second) (0 for immediate rotation)"))
.AddCodeOnlyParameter("currentScene", "");
obj.AddAction("RotateTowardPosition",
_("Rotate toward position"),
_("Rotate an object towards a position, with the specified speed."),
_("Rotate _PARAM0_ towards _PARAM1_;_PARAM2_ at speed _PARAM3_deg/second"),
_("Angle"),
"res/actions/direction24.png",
"res/actions/direction.png")
.AddParameter("object", _("Object"))
.AddParameter("expression", _("X position"))
.AddParameter("expression", _("Y position"))
.AddParameter("expression", _("Angular speed (in degrees per second) (0 for immediate rotation)"))
.AddCodeOnlyParameter("currentScene", "")
.MarkAsAdvanced();
obj.AddAction("AddForceXY",
_("Add a force"),
_("Add a force to an object. The object will move according to all forces it has."),
_("Add to _PARAM0_ a force of _PARAM1_ p/s on X axis and _PARAM2_ p/s on Y axis"),
_("Movement"),
"res/actions/force24.png",
"res/actions/force.png")
.AddParameter("object", _("Object"))
.AddParameter("expression", _("Speed on X axis (in pixels per second)"))
.AddParameter("expression", _("Speed on Y axis (in pixels per second)"))
.AddParameter("expression", _("Damping (Default: 0)"));
obj.AddAction("AddForceAL",
_("Add a force (angle)"),
_("Add a force to an object. The object will move according to all forces it has. This action creates the force using the specified angle and length."),
_("Add to _PARAM0_ a force, angle: _PARAM1_ degrees and length: _PARAM2_ pixels"),
_("Movement"),
"res/actions/force24.png",
"res/actions/force.png")
.AddParameter("object", _("Object"))
.AddParameter("expression", _("Angle"))
.AddParameter("expression", _("Speed (in pixels per second)"))
.AddParameter("expression", _("Damping (Default: 0)"))
.MarkAsAdvanced();
obj.AddAction("AddForceVersPos",
_("Add a force to move toward a position"),
_("Add a force to an object to make it move toward a position."),
_("Move _PARAM0_ to _PARAM1_;_PARAM2_ with a force of _PARAM3_ pixels"),
_("Movement"),
"res/actions/force24.png",
"res/actions/force.png")
.AddParameter("object", _("Object"))
.AddParameter("expression", _("X position"))
.AddParameter("expression", _("Y position"))
.AddParameter("expression", _("Speed (in pixels per second)"))
.AddParameter("expression", _("Damping (Default: 0)"))
.MarkAsAdvanced();
obj.AddAction("AddForceTournePos",
_("Add a force to move around an position"),
_("Add a force to an object to make it rotate around a position.\nNote that the movement is not precise, especially if the speed is high.\nTo position an object around a position more precisly, use the actions in the category \"Position\"."),
_("Rotate _PARAM0_ around _PARAM1_;_PARAM2_ at _PARAM3_ deg/sec and _PARAM4_ pixels away"),
_("Movement"),
"res/actions/forceTourne24.png",
"res/actions/forceTourne.png")
.AddParameter("object", _("Object"))
.AddParameter("expression", _("X position of the center"))
.AddParameter("expression", _("Y position of the center"))
.AddParameter("expression", _("Speed (in Degrees per seconds)"))
.AddParameter("expression", _("Distance (in pixels)"))
.AddParameter("expression", _("Damping (Default: 0)"))
.SetHidden();
obj.AddAction("Arreter",
_("Stop the object"),
_("Stop the object by deleting all its forces."),
_("Stop the object _PARAM0_"),
_("Movement"),
"res/actions/arreter24.png",
"res/actions/arreter.png")
.AddParameter("object", _("Object"))
.MarkAsAdvanced();
obj.AddAction("Delete",
_("Delete an object"),
_("Delete the specified object."),
_("Delete object _PARAM0_"),
_("Objects"),
"res/actions/delete24.png",
"res/actions/delete.png")
.AddParameter("object", _("Object"))
.AddCodeOnlyParameter("currentScene","")
.MarkAsSimple();
obj.AddAction("ChangePlan",
_("Z order"),
_("Modify the z order of an object"),
_("Do _PARAM1__PARAM2_ to z-Order of _PARAM0_"),
_("Z order"),
"res/actions/planicon24.png",
"res/actions/planicon.png")
.AddParameter("object", _("Object"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.SetManipulatedType("number");
obj.AddAction("ChangeLayer",
_("Layer"),
_("Change the layer where is the object."),
_("Put _PARAM0_ on the layer _PARAM1_"),
_("Layers and cameras"),
"res/actions/layer24.png",
"res/actions/layer.png")
.AddParameter("object", _("Object"))
.AddParameter("layer", _("Put on the layer (base layer if empty)")).SetDefaultValue("\"\"")
.MarkAsAdvanced();
obj.AddAction("ModVarObjet",
_("Modify a variable of an object"),
_("Modify the value of a variable of an object"),
_("Do _PARAM2__PARAM3_ to variable _PARAM1_ of _PARAM0_"),
_("Variables"),
"res/actions/var24.png",
"res/actions/var.png")
.AddParameter("object", _("Object"))
.AddParameter("objectvar", _("Variable"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.SetManipulatedType("number");
obj.AddAction("ModVarObjetTxt",
_("Modify the text of a variable of an object"),
_("Modify the text of a variable of an object"),
_("Do _PARAM2__PARAM3_ to the text of variable _PARAM1_ of _PARAM0_"),
_("Variables"),
"res/actions/var24.png",
"res/actions/var.png")
.AddParameter("object", _("Object"))
.AddParameter("objectvar", _("Variable"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("string", _("Text"))
.SetManipulatedType("string");
obj.AddCondition("ObjectVariableChildExists",
_("Child existence"),
_("Return true if the specified child of the variable exists."),
_("Child _PARAM2_ of variable _PARAM1_ of _PARAM0_ exists"),
_("Variables/Structures"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("object", _("Object"))
.AddParameter("objectvar", _("Variable"))
.AddParameter("string", _("Name of the child"))
.MarkAsAdvanced();
obj.AddAction("ObjectVariableRemoveChild",
_("Remove a child"),
_("Remove a child from a variable of an object."),
_("Remove child _PARAM2_ from variable _PARAM1_ of _PARAM0_"),
_("Variables/Structure"),
"res/actions/var24.png",
"res/actions/var.png")
.AddParameter("object", _("Object"))
.AddParameter("objectvar", _("Variable"))
.AddParameter("string", _("Child's name"))
.MarkAsAdvanced();
obj.AddAction("Cache",
_("Hide"),
_("Hide the specified object."),
_("Hide the object _PARAM0_"),
_("Visibility"),
"res/actions/visibilite24.png",
"res/actions/visibilite.png")
.AddParameter("object", _("Object"))
.MarkAsSimple();
obj.AddAction("Montre",
_("Show"),
_("Show the specified object"),
_("Show object _PARAM0_"),
_("Visibility"),
"res/actions/visibilite24.png",
"res/actions/visibilite.png")
.AddParameter("object", _("Object"))
.AddCodeOnlyParameter("inlineCode", "false")
.MarkAsSimple();
obj.AddCondition("Angle",
_("Angle"),
_("Compare angle of the specified object."),
_("Angle of _PARAM0_ is _PARAM1__PARAM2_ deg."),
_("Angle"),
"res/conditions/direction24.png",
"res/conditions/direction.png")
.AddParameter("object", _("Object"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to compare (in degrees)"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddCondition("Plan",
_("Compare Z order"),
_("Compare the z-order of the specified object."),
_("Z Order of _PARAM0_ is _PARAM1__PARAM2_"),
_("Z order"),
"res/conditions/planicon24.png",
"res/conditions/planicon.png")
.AddParameter("object", _("Object"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Z order"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddCondition("Layer",
_("Compare layer"),
_("Test if the object is on the specified layer."),
_("_PARAM0_ is on layer _PARAM1_"),
_("Layer"),
"res/conditions/layer24.png",
"res/conditions/layer.png")
.AddParameter("object", _("Object"))
.AddParameter("layer", _("Layer"))
.MarkAsAdvanced();
obj.AddCondition("Visible",
_("Visibility of an object"),
_("Test if an object is not hidden."),
_("The object _PARAM0_ is visible"),
_("Visibility"),
"res/conditions/visibilite24.png",
"res/conditions/visibilite.png")
.AddParameter("object", _("Object"))
.MarkAsSimple();
obj.AddCondition("Invisible",
_("Invisibility of an object"),
_("Test if an object is hidden."),
_("_PARAM0_ is hidden"),
_("Visibility"),
"res/conditions/visibilite24.png",
"res/conditions/visibilite.png")
.AddParameter("object", _("Object"))
.SetHidden(); //Inverted "Visible" condition does the same thing.
obj.AddCondition("Arret",
_("Object is stopped"),
_("Test if an object does not move"),
_("_PARAM0_ is stopped"),
_("Movement"),
"res/conditions/arret24.png",
"res/conditions/arret.png")
.AddParameter("object", _("Object"))
.MarkAsAdvanced();
obj.AddCondition("Vitesse",
_("Speed"),
_("Compare the overall speed of an object"),
_("Overall speed of _PARAM0_ is _PARAM1__PARAM2_"),
_("Movement"),
"res/conditions/vitesse24.png",
"res/conditions/vitesse.png")
.AddParameter("object", _("Object"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Speed"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddCondition("AngleOfDisplacement",
_("Angle of moving"),
_("Compare the angle of displacement of an object"),
_("Angle of displacement of _PARAM0_ is _PARAM1_ (tolerance : _PARAM2_ degrees)"),
_("Movement"),
"res/conditions/vitesse24.png",
"res/conditions/vitesse.png")
.AddParameter("object", _("Object"))
.AddParameter("expression", _("Angle, in degrees"))
.AddParameter("expression", _("Tolerance"))
.MarkAsAdvanced();
obj.AddCondition("VarObjet",
_("Value of an object's variable"),
_("Compare the value of a variable of an object."),
_("Variable _PARAM1_ of _PARAM0_ is _PARAM2__PARAM3_"),
_("Variables"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("object", _("Object"))
.AddParameter("objectvar", _("Variable"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.SetManipulatedType("number");
obj.AddCondition("VarObjetTxt",
_("Text of an object's variable"),
_("Compare the text of a variable of an object."),
_("The text of variable _PARAM1_ of _PARAM0_ is _PARAM2__PARAM3_"),
_("Variables"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("object", _("Object"))
.AddParameter("objectvar", _("Variable"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("string", _("Text to test"))
.SetManipulatedType("string");
obj.AddCondition("VarObjetDef",
_("Variable defined"),
_("Test "),
_("Variable _PARAM1 of _PARAM0_ is defined"),
_("Variables"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("object", _("Object"))
.AddParameter("string", _("Variable"))
.SetHidden();
obj.AddCondition("BehaviorActivated",
_("Behavior activated"),
_("Return true if the behavior is activated for the object."),
_("Behavior _PARAM1_ of _PARAM0_ is activated"),
_("Behaviors"),
"res/behavior24.png",
"res/behavior16.png")
.AddParameter("object", _("Object"))
.AddParameter("behavior", _("Behavior"))
.MarkAsAdvanced();
obj.AddAction("ActivateBehavior",
_("De/activate a behavior"),
_("De/activate the behavior for the object."),
_("Activate behavior _PARAM1_ of _PARAM0_: _PARAM2_"),
_("Behaviors"),
"res/behavior24.png",
"res/behavior16.png")
.AddParameter("object", _("Object"))
.AddParameter("behavior", _("Behavior"))
.AddParameter("yesorno", _("Activate?"))
.MarkAsAdvanced();
obj.AddAction("AddForceVers",
_("Add a force to move toward an object"),
_("Add a force to an object to make it move toward another."),
_("Move _PARAM0_ to _PARAM1_ with a force of _PARAM2_ pixels"),
_("Movement"),
"res/actions/forceVers24.png",
"res/actions/forceVers.png")
.AddParameter("object", _("Object"))
.AddParameter("objectPtr", _("Target Object"))
.AddParameter("expression", _("Speed (in pixels per second)"))
.AddParameter("expression", _("Damping (Default: 0)"))
.MarkAsAdvanced();
obj.AddAction("AddForceTourne",
_("Add a force to move around an object"),
_("Add a force to an object to make it rotate around another.\nNote that the movement is not precise, especially if the speed is high.\nTo position an object around a position more precisly, use the actions in category \"Position\"."),
_("Rotate _PARAM0_ around _PARAM1_ at _PARAM2_ deg/sec and _PARAM3_ pixels away"),
_("Movement"),
"res/actions/forceTourne24.png",
"res/actions/forceTourne.png")
.AddParameter("object", _("Object"))
.AddParameter("objectPtr", _("Rotate around this object"))
.AddParameter("expression", _("Speed (in degrees per second)"))
.AddParameter("expression", _("Distance (in pixels)"))
.AddParameter("expression", _("Damping (Default: 0)"))
.MarkAsAdvanced();
obj.AddAction("MettreAutour",
_("Put an object around another"),
_("Position an object around another, with the specified angle and distance."),
_("Put _PARAM0_ around _PARAM1_, with an angle of _PARAM3_ degrees and _PARAM2_ pixels distance."),
_("Position"),
"res/actions/positionAutour24.png",
"res/actions/positionAutour.png")
.AddParameter("object", _("Object"))
.AddParameter("objectPtr", _("\"Center\" Object"))
.AddParameter("expression", _("Distance"))
.AddParameter("expression", _("Angle, in degrees"))
.MarkAsAdvanced();
//Deprecated action
obj.AddAction("Rebondir",
_("Move an object away from another"),
_("Move an object away from another, using forces."),
_("Move _PARAM0_ away of _PARAM1_ (only _PARAM0_ will move)"),
_("Movement"),
"res/actions/ecarter24.png",
"res/actions/ecarter.png")
.SetHidden()
.AddParameter("object", _("Object"))
.AddParameter("objectList", _("Object 2 (won't move)"));
//Deprecated action
obj.AddAction("Ecarter",
_("Move an object away from another"),
_("Move an object away from another without using forces."),
_("Move _PARAM0_ away of _PARAM2_ (only _PARAM0_ will move)"),
_("Position"),
"res/actions/ecarter24.png",
"res/actions/ecarter.png")
.SetHidden()
.AddParameter("object", _("Object"))
.AddParameter("objectList", _("Object 2 (won't move)"));
obj.AddAction("SeparateFromObjects",
_("Separate two objects"),
_("Move an object away from another using their collision masks.\nBe sure to call this action on a reasonable number of objects so as\nnot to slow down the game."),
_("Move _PARAM0_ away of _PARAM1_ (only _PARAM0_ will move)"),
_("Position"),
"res/actions/ecarter24.png",
"res/actions/ecarter.png")
.AddParameter("object", _("Object"))
.AddParameter("objectList", _("Objects"))
.MarkAsSimple();
obj.AddExpression("X", _("X position"), _("X position of the object"), _("Position"), "res/actions/position.png")
.AddParameter("object", _("Object"));
obj.AddExpression("Y", _("Y position"), _("Y position of the object"), _("Position"), "res/actions/position.png")
.AddParameter("object", _("Object"));
obj.AddExpression("Angle", _("Angle"), _("Current angle, in degrees, of the object"), _("Angle"), "res/actions/direction.png")
.AddParameter("object", _("Object"));
obj.AddExpression("ForceX", _("Average X coordinates of forces"), _("Average X coordinates of forces"), _("Movement"), "res/actions/force.png")
.AddParameter("object", _("Object"));
obj.AddExpression("ForceY", _("Average Y coordinates of forces"), _("Average Y coordinates of forces"), _("Movement"), "res/actions/force.png")
.AddParameter("object", _("Object"));
obj.AddExpression("ForceAngle", _("Average angle of the forces"), _("Average angle of the forces"), _("Movement"), "res/actions/force.png")
.AddParameter("object", _("Object"));
obj.AddExpression("ForceLength", _("Average length of the forces"), _("Average length of the forces"), _("Movement"), "res/actions/force.png")
.AddParameter("object", _("Object"));
obj.AddExpression("Longueur", _("Average length of the forces"), _("Average length of the forces"), _("Movement"), "res/actions/force.png")
.AddParameter("object", _("Object"))
.SetHidden();
obj.AddExpression("Width", _("Width"), _("Width of the object"), _("Size"), "res/actions/scaleWidth.png")
.AddParameter("object", _("Object"));
obj.AddExpression("Largeur", _("Width"), _("Width of the object"), _("Size"), "res/actions/scaleWidth.png")
.AddParameter("object", _("Object"))
.SetHidden();
obj.AddExpression("Height", _("Height"), _("Height of the object"), _("Size"), "res/actions/scaleHeight.png")
.AddParameter("object", _("Object"));
obj.AddExpression("Hauteur", _("Height"), _("Height of the object"), _("Size"), "res/actions/scaleHeight.png")
.AddParameter("object", _("Object"))
.SetHidden();
obj.AddExpression("ZOrder", _("Z order"), _("Z order of an object"), _("Visibility"), "res/actions/planicon.png")
.AddParameter("object", _("Object"));
obj.AddExpression("Plan", _("Z order"), _("Z order of an object"), _("Visibility"), "res/actions/planicon.png")
.AddParameter("object", _("Object"))
.SetHidden();
obj.AddExpression("Distance", _("Distance between two objects"), _("Distance between two objects"), _("Position"), "res/conditions/distance.png")
.AddParameter("object", _("Object"))
.AddParameter("objectPtr", _("Object"));
obj.AddExpression("SqDistance", _("Square distance between two objects"), _("Square distance between two objects"), _("Position"), "res/conditions/distance.png")
.AddParameter("object", _("Object"))
.AddParameter("objectPtr", _("Object"));
obj.AddExpression("Variable", _("Object's variable"), _("Object's variable"), _("Variables"), "res/actions/var.png")
.AddParameter("object", _("Object"))
.AddParameter("objectvar", _("Variable"));
obj.AddStrExpression("VariableString", _("Object's variable"), _("Text of variable of an object"), _("Variables"), "res/actions/var.png")
.AddParameter("object", _("Object"))
.AddParameter("objectvar", _("Variable"));
extension.AddAction("Create",
_("Create an object"),
_("Create an object at specified position"),
_("Create object _PARAM1_ at position _PARAM2_;_PARAM3_"),
_("Objects"),
"res/actions/create24.png",
"res/actions/create.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("objectListWithoutPicking", _("Object to create"))
.AddParameter("expression", _("X position"))
.AddParameter("expression", _("Y position"))
.AddParameter("layer", _("Layer (base layer if empty)"), "", true).SetDefaultValue("\"\"")
.MarkAsSimple();
extension.AddAction("CreateByName",
_("Create an object from its name"),
_("Among the objects of the specified group, the action will create the object with the specified name."),
_("Among objects _PARAM1_, create object named _PARAM2_ at position _PARAM3_;_PARAM4_"),
_("Objects"),
"res/actions/create24.png",
"res/actions/create.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("objectListWithoutPicking", _("Groups containing objects which can be created by the action"))
.AddParameter("string", _("Text representing the name of the object to create"))
.AddParameter("expression", _("X position"))
.AddParameter("expression", _("Y position"))
.AddParameter("layer", _("Layer (base layer if empty)"), "", true).SetDefaultValue("\"\"")
.MarkAsAdvanced();
extension.AddAction("AjoutObjConcern",
_("Pick all objects"),
_("Pick all objects with this name."),
_("Pick all _PARAM1_"),
_("Objects"),
"res/actions/add24.png",
"res/actions/add.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("objectList", _("Object"))
.MarkAsAdvanced();
extension.AddAction("AjoutHasard",
_("Pick a random object"),
_("Pick only one object with this name among all"),
_("Pick a random _PARAM1_"),
_("Objects"),
"res/actions/ajouthasard24.png",
"res/actions/ajouthasard.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("objectList", _("Object"))
.MarkAsSimple();
extension.AddAction("MoveObjects",
_("Apply objects movement"),
_("Moves the objects according to the forces they have. GDevelop call this action at the end of the events by default."),
_("Apply objects movement"),
_("Movement"),
"res/actions/doMove24.png",
"res/actions/doMove.png")
.AddCodeOnlyParameter("currentScene", "")
.MarkAsAdvanced();
extension.AddCondition("SeDirige",
_("An object is moving toward another"),
_("Check if an object moves toward another.\nThe first object must move."),
_("_PARAM0_ is moving toward _PARAM1_"),
_("Movement"),
"res/conditions/sedirige24.png",
"res/conditions/sedirige.png")
.AddParameter("objectList", _("Object"))
.AddParameter("objectList", _("Object 2"))
.AddParameter("expression", _("Angle of tolerance"))
.AddCodeOnlyParameter("conditionInverted", "")
.MarkAsAdvanced();
extension.AddCondition("Distance",
_("Distance between two objects"),
_("Compare the distance between two objects.\nIf condition is inverted, only objects that have a distance greater than specified to any other object will be picked."),
_("_PARAM0_ distance to _PARAM1_ is below _PARAM2_ pixels"),
_("Position"),
"res/conditions/distance24.png",
"res/conditions/distance.png")
.AddParameter("objectList", _("Object"))
.AddParameter("objectList", _("Object 2"))
.AddParameter("expression", _("Distance"))
.AddCodeOnlyParameter("conditionInverted", "")
.MarkAsSimple();
extension.AddCondition("AjoutObjConcern",
_("Pick all objects"),
_("Pick all objects with this name."),
_("Pick all _PARAM1_"),
_("Objects"),
"res/conditions/add24.png",
"res/conditions/add.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("objectList", _("Object"))
.MarkAsAdvanced();
extension.AddCondition("AjoutHasard",
_("Pick a random object"),
_("Pick only one object with this name among all"),
_("Pick a random _PARAM1_"),
_("Objects"),
"res/conditions/ajouthasard24.png",
"res/conditions/ajouthasard.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("objectList", _("Object"))
.MarkAsSimple();
extension.AddCondition("PickNearest",
_("Pick nearest object"),
_("Among the objects, pick the one that is nearest (or furthest if condition is inverted) from the specified position."),
_("Pick nearest _PARAM0_ to _PARAM1_;_PARAM2_"),
_("Objects"),
"res/conditions/distance24.png",
"res/conditions/distance.png")
.AddParameter("objectList", _("Object"))
.AddParameter("expression", _("X position"))
.AddParameter("expression", _("Y position"))
.AddCodeOnlyParameter("conditionInverted", "")
.MarkAsSimple();
extension.AddCondition("NbObjet",
_("Objects count"),
_("Compare the number of picked objects"),
_("The number of _PARAM0_ is _PARAM1__PARAM2_"),
_("Objects"),
"res/conditions/nbObjet24.png",
"res/conditions/nbObjet.png")
.AddParameter("objectList", _("Object"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.MarkAsSimple()
.SetManipulatedType("number");
extension.AddCondition("CollisionNP", //"CollisionNP" cames from an old condition to test collision between two sprites non precisely.
_("Collision"),
_("Test the collision between two objects using their collision mask.\nNote that some objects may not have a collision mask.\nSome others, like Sprite, provide also more precise collision conditions."),
_("_PARAM0_ is in collision with _PARAM1_"),
_("Collision"),
"res/conditions/collision24.png",
"res/conditions/collision.png")
.AddParameter("objectList", _("Object"))
.AddParameter("objectList", _("Object"))
.AddCodeOnlyParameter("conditionInverted", "")
.MarkAsSimple();
extension.AddCondition("EstTourne",
_("An object is turned toward another"),
_("Test if an object is turned toward another"),
_("_PARAM0_ is rotated towards _PARAM1_"),
_("Angle"),
"res/conditions/estTourne24.png",
"res/conditions/estTourne.png")
.AddParameter("objectList", _("Name of the object"))
.AddParameter("objectList", _("Name of the second object"))
.AddParameter("expression", _("Angle of tolerance, in degrees (0: minimum tolerance)"))
.AddCodeOnlyParameter("conditionInverted", "")
.MarkAsAdvanced();
extension.AddExpression("Count", _("Number of objects"), _("Count the number of the specified objects currently picked"), _("Objects"), "res/conditions/nbObjet.png")
.AddParameter("objectList", _("Object"));
#endif
}
}

View File

@@ -1,343 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsCameraExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinCamera",
_("Cameras and layers features"),
_("Builtin camera extension"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddCondition("CameraX",
_("Camera center X position"),
_("Compare the X position of a the center of a camera."),
_("X position of camera _PARAM4_ is _PARAM1__PARAM2_ (layer: _PARAM3_)"),
_("Layers and cameras"),
"res/conditions/camera24.png",
"res/conditions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.AddParameter("layer", _("Layer (base layer if empty)"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0")
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("CameraY",
_("Camera center Y position"),
_("Compare the Y position of a the center of a camera."),
_("The Y position of camera _PARAM4_ is _PARAM1__PARAM2_ (layer: _PARAM3_)"),
_("Layers and cameras"),
"res/conditions/camera24.png",
"res/conditions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.AddParameter("layer", _("Layer (base layer if empty)")).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)")).SetDefaultValue("0")
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("CameraX",
_("Camera center X position"),
_("Change X position of the center of the specified camera."),
_("Do _PARAM1__PARAM2_ to X position of camera _PARAM4_ (layer: _PARAM3_)"),
_("Layers and cameras"),
"res/conditions/camera24.png",
"res/conditions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.AddParameter("layer", _("Layer (base layer if empty)"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0")
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("CameraY",
_("Camera center Y position"),
_("Change Y position of the center of the specified camera."),
_("Do _PARAM1__PARAM2_ to Y position of camera _PARAM4_ (layer: _PARAM3_)"),
_("Layers and cameras"),
"res/conditions/camera24.png",
"res/conditions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.AddParameter("layer", _("Layer (base layer if empty)"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0")
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("CameraWidth",
_("Width of a camera"),
_("Test the width of a camera of a layer"),
_("The width of camera _PARAM2_ of layer _PARAM1_ is _PARAM3__PARAM4_"),
_("Layers and cameras"),
"res/conditions/camera24.png",
"res/conditions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer")).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("CameraHeight",
_("Height of a camera"),
_("Test the height of a camera of a layer"),
_("The height of camera _PARAM2_ of layer _PARAM1_ is _PARAM3__PARAM4_"),
_("Layers and cameras"),
"res/conditions/camera24.png",
"res/conditions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer (base layer if empty)")).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("CameraAngle",
_("Angle of a camera of a layer"),
_("Test a camera angle."),
_("Angle of camera is _PARAM1__PARAM2_ (layer: _PARAM3_, camera: _PARAM4_)"),
_("Layers and cameras"),
"res/conditions/camera24.png",
"res/conditions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.AddParameter("layer", _("Layer (base layer if empty)"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0")
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("RotateCamera",
_("Change camera angle"),
_("This action modify the angle of a camera of the specified layer."),
_("Do _PARAM1__PARAM2_ to angle of camera (layer: _PARAM3_, camera: _PARAM4_)"),
_("Layers and cameras"),
"res/actions/camera24.png",
"res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.AddParameter("layer", _("Layer (base layer if empty)"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0")
.SetManipulatedType("number");
extension.AddAction("AddCamera",
_("Add a camera to a layer"),
_("This action add a camera to a layer"),
_("Add a camera to layer _PARAM1_"),
_("Layers and cameras"),
"res/actions/camera24.png",
"res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer (base layer if empty)")).SetDefaultValue("\"\"")
.AddParameter("expression", _("Width"), "",true)
.AddParameter("expression", _("Height"), "",true)
.AddParameter("expression", _("Render zone: Top left side: X Position (between 0 and 1)"), "",true)
.AddParameter("expression", _("Render zone: Top left side: Y Position (between 0 and 1)"), "",true)
.AddParameter("expression", _("Render zone: Bottom right side: X Position (between 0 and 1)"), "",true)
.AddParameter("expression", _("Render zone: Bottom right side: Y Position (between 0 and 1)"), "",true)
.MarkAsComplex();
extension.AddAction("DeleteCamera",
_("Delete a camera of a layer"),
_("Remove the specified camera from a layer"),
_("Delete camera _PARAM2_ from layer _PARAM1_"),
_("Layers and cameras"),
"res/actions/camera24.png",
"res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer (base layer if empty)")).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number"))
.MarkAsComplex();
extension.AddAction("CameraSize",
_("Modify the size of a camera"),
_("This action modify the size of a camera of the specified layer. The zoom will be reset."),
_("Change the size of camera _PARAM2_ of _PARAM1_ to _PARAM3_*_PARAM4_"),
_("Layers and cameras"),
"res/actions/camera24.png",
"res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer (base layer if empty)")).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number"))
.AddParameter("expression", _("Width"))
.AddParameter("expression", _("Height"))
.MarkAsComplex();
extension.AddAction("CameraViewport",
_("Modify the render zone of a camera"),
_("This action modify the render zone of a camera of the specified layer."),
_("Set the render zone of camera _PARAM2_ from layer _PARAM1_ to _PARAM3_;_PARAM4_ _PARAM5_;_PARAM6_"),
_("Layers and cameras"),
"res/actions/camera24.png",
"res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer (base layer if empty)")).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number"))
.AddParameter("expression", _("Render zone: Top left side: X Position (between 0 and 1)"))
.AddParameter("expression", _("Render zone: Top left side: Y Position (between 0 and 1)"))
.AddParameter("expression", _("Render zone: Bottom right side: X Position (between 0 and 1)"))
.AddParameter("expression", _("Render zone: Bottom right side: Y Position (between 0 and 1)"))
.MarkAsComplex();
extension.AddAction("ZoomCamera",
_("Change camera zoom."),
_("Change camera zoom."),
_("Change camera zoom to _PARAM1_ (layer : _PARAM2_, camera : _PARAM3_)"),
_("Layers and cameras"),
"res/actions/camera24.png",
"res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Value (1:Initial zoom, 2:Zoom x2, 0.5:Unzoom x2...)"))
.AddParameter("layer", _("Layer (base layer if empty)"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0");
extension.AddAction("FixCamera",
_("Center the camera on an object within limits"),
_("Center the camera on the specified object, without leaving the specified limits."),
_("Center the camera on _PARAM1_ (limit : from _PARAM2_;_PARAM3_ to _PARAM4_;_PARAM5_) (layer: _PARAM7_, camera: _PARAM8_)"),
_("Layers and cameras"),
"res/actions/camera24.png",
"res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("objectPtr", _("Object"))
.AddParameter("expression", _("Top left side of the boundary: X Position"))
.AddParameter("expression", _("Top left side of the boundary: Y Position"))
.AddParameter("expression", _("Bottom right side of the boundary: X Position"))
.AddParameter("expression", _("Bottom right side of the boundary: Y Position"))
.AddParameter("yesorno", _("Anticipate the movement of the object (yes by default)"), "",true).SetDefaultValue("true")
.AddParameter("layer", _("Layer (base layer if empty)"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0")
.MarkAsAdvanced();
extension.AddAction("CentreCamera",
_("Center the camera on an object"),
_("Center the camera on the specified object."),
_("Center camera on _PARAM1_ (layer: _PARAM3_, camera: _PARAM4_)"),
_("Layers and cameras"),
"res/actions/camera24.png",
"res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("objectPtr", _("Object"))
.AddParameter("yesorno", _("Anticipate the movement of the object (yes by default)"), "",true).SetDefaultValue("true")
.AddParameter("layer", _("Layer (base layer if empty)"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0")
.MarkAsSimple();
extension.AddAction("ShowLayer",
_("Show a layer"),
_("Show a layer."),
_("Show layer _PARAM1_"),
_("Layers and cameras"),
"res/actions/layer24.png",
"res/actions/layer.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer (base layer if empty)")).SetDefaultValue("\"\"")
.MarkAsAdvanced();
extension.AddAction("HideLayer",
_("Hide a layer"),
_("Hide a layer."),
_("Hide layer _PARAM1_"),
_("Layers and cameras"),
"res/actions/layer24.png",
"res/actions/layer.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer (base layer if empty)")).SetDefaultValue("\"\"")
.MarkAsAdvanced();
extension.AddCondition("LayerVisible",
_("Visibility of a layer"),
_("Test if a layer is displayed"),
_("Layer _PARAM1_ is visible"),
_("Layers and cameras"),
"res/conditions/layer24.png",
"res/conditions/layer.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer (base layer if empty)")).SetDefaultValue("\"\"")
.MarkAsAdvanced();
extension.AddExpression("CameraWidth", _("Width of a camera of a layer"), _("Width of a camera of a layer"), _("Camera"), "res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"))
.AddParameter("expression", _("Camera number (default : 0)")).SetDefaultValue("0");
extension.AddExpression("CameraHeight", _("Height of a camera of a layer"), _("Height of a camera of a layer"), _("Camera"), "res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"))
.AddParameter("expression", _("Camera number (default : 0)")).SetDefaultValue("0");
extension.AddExpression("CameraViewportLeft", _("X position of the top left side point of a render zone"), _("X position of the top left side point of a render zone"), _("Camera"), "res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"))
.AddParameter("expression", _("Camera number (default : 0)")).SetDefaultValue("0");
extension.AddExpression("CameraViewportTop", _("Y position of the top left side point of a render zone"), _("Y position of the top left side point of a render zone"), _("Camera"), "res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"))
.AddParameter("expression", _("Camera number (default : 0)")).SetDefaultValue("0");
extension.AddExpression("CameraViewportRight", _("X position of the bottom right side point of a render zone"), _("X position of the bottom right side point of a render zone"), _("Camera"), "res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"))
.AddParameter("expression", _("Camera number (default : 0)")).SetDefaultValue("0");
extension.AddExpression("CameraViewportBottom", _("Y position of the bottom right side point of a render zone"), _("Y position of the bottom right side point of a render zone"), _("Camera"), "res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"))
.AddParameter("expression", _("Camera number (default : 0)")).SetDefaultValue("0");
extension.AddExpression("CameraX", _("Camera X position"), _("Camera X position"), _("Camera"), "res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0");
extension.AddExpression("VueX", _("Camera X position"), _("Camera X position"), _("Camera"), "res/actions/camera.png")
.SetHidden()
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0");
extension.AddExpression("CameraY", _("Camera Y position"), _("Camera Y position"), _("Camera"), "res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0");
extension.AddExpression("VueY", _("Camera Y position"), _("Camera Y position"), _("Camera"), "res/actions/camera.png")
.SetHidden()
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0");
extension.AddExpression("CameraRotation", _("Angle of a camera of a layer"), _("Angle of a camera of a layer"), _("Camera"), "res/actions/camera.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0");
extension.AddExpression("VueRotation", _("Angle of a camera of a layer"), _("Angle of a camera of a layer"), _("Camera"), "res/actions/camera.png")
.SetHidden()
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "",true).SetDefaultValue("0");
#endif
}
}

View File

@@ -1,61 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsCommonConversionsExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinCommonConversions",
_("Standard Conversions"),
_("Built-in extension providing standard conversions expressions."),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddExpression("ToNumber",
_("Text > Number"),
_("Convert the text to a number"),
_("Conversion"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text to convert in a number"));
extension.AddStrExpression("ToString",
_("Number > Text"),
_("Convert the result of the expression in a text"),
_("Conversion"),
"res/conditions/toujours24.png")
.AddParameter("expression", _("Expression to be converted to a text"));
extension.AddStrExpression("LargeNumberToString",
_("Number > Text ( without scientific notation )"),
_("Convert the result of the expression in a text, without using the scientific notation"),
_("Conversion"),
"res/conditions/toujours24.png")
.AddParameter("expression", _("Expression to be converted to a text"));
extension.AddExpression("ToRad",
_("Degrees > Radians"),
_("Converts the angle, expressed in degrees, into radians"),
_("Conversion"),
"res/conditions/toujours24.png")
.AddParameter("expression", _("Angle, in degrees"));
extension.AddExpression("ToDeg",
_("Radians > Degrees"),
_("Converts the angle, expressed in radians, into degrees"),
_("Conversion"),
"res/conditions/toujours24.png")
.AddParameter("expression", _("Angle, in radians"));
#endif
}
}

View File

@@ -1,107 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
#if defined(GD_IDE_ONLY)
#include "GDCore/Events/Event.h"
#include "GDCore/Events/Builtin/StandardEvent.h"
#include "GDCore/Events/Builtin/CommentEvent.h"
#include "GDCore/Events/Builtin/ForEachEvent.h"
#include "GDCore/Events/Builtin/WhileEvent.h"
#include "GDCore/Events/Builtin/RepeatEvent.h"
#include "GDCore/Events/Builtin/LinkEvent.h"
#include "GDCore/Events/Builtin/GroupEvent.h"
#endif
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsCommonInstructionsExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinCommonInstructions",
_("Standard events"),
_("Built-in extension providing standard events."),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddCondition("Or",
_("Or"),
_("Return true if one of the sub conditions is true"),
_("If one of these conditions is true:"),
_("Advanced"),
"res/conditions/or24.png",
"res/conditions/or.png")
.SetCanHaveSubInstructions()
.MarkAsAdvanced();
extension.AddCondition("And",
_("And"),
_("Return true if all sub conditions are true"),
_("If all of these conditions are true:"),
_("Advanced"),
"res/conditions/and24.png",
"res/conditions/and.png")
.SetCanHaveSubInstructions()
.MarkAsAdvanced();
extension.AddCondition("Not",
_("Not"),
_("Return the contrary of the result of the sub conditions"),
_("Invert the logical result of these conditions:"),
_("Advanced"),
"res/conditions/not24.png",
"res/conditions/not.png")
.SetCanHaveSubInstructions()
.MarkAsAdvanced();
extension.AddCondition("Once",
_("Trigger once while true"),
_("Run actions only once, for each time the conditions have been met."),
_("Trigger once"),
_("Advanced"),
"res/conditions/once24.png",
"res/conditions/once.png");
extension.AddEvent("Standard", _("Standard event"),
_("Standard event: Actions are run if conditions are fulfilled."),
"", "res/eventaddicon.png",
std::shared_ptr<gd::BaseEvent>(new gd::StandardEvent));
extension.AddEvent("Link", _("Link"),
_("Link to some external events"),
"", "res/lienaddicon.png",
std::shared_ptr<gd::BaseEvent>(new gd::LinkEvent));
extension.AddEvent("Comment", _("Comment"),
_("Event displaying a text in the events editor"),
"", "res/comment.png",
std::shared_ptr<gd::BaseEvent>(new gd::CommentEvent));
extension.AddEvent("While", _("While"),
_("The event is repeated while the conditions are true"),
"", "res/while.png",
std::shared_ptr<gd::BaseEvent>(new gd::WhileEvent));
extension.AddEvent("Repeat", _("Repeat"),
_("Event repeated a number of times"),
"", "res/repeat.png",
std::shared_ptr<gd::BaseEvent>(new gd::RepeatEvent));
extension.AddEvent("ForEach", _("For each object"),
_("Repeat the event for each specified object."),
"", "res/foreach.png",
std::shared_ptr<gd::BaseEvent>(new gd::ForEachEvent));
extension.AddEvent("Group", _("Group"),
_("Group containing events"),
"", "res/foreach.png",
std::shared_ptr<gd::BaseEvent>(new gd::GroupEvent));
#endif
}
}

View File

@@ -1,37 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsExternalLayoutsExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinExternalLayouts",
_("External layouts"),
_("Built-in extension providing actions and conditions related to external layouts"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddAction("CreateObjectsFromExternalLayout",
_("Create objects from an external layout"),
_("Create objects from an external layout."),
_("Create objects from the external layout _PARAM1_"),
_("External layouts"),
"res/conditions/fichier24.png",
"res/conditions/fichier.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Name of the external layout"))
.AddParameter("expression", _("X position of the origin"), "",true).SetDefaultValue("0")
.AddParameter("expression", _("Y position of the origin"), "",true).SetDefaultValue("0")
.MarkAsAdvanced();
#endif
}
}

View File

@@ -1,151 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsFileExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinFile",
_("Storage and files"),
_("Built-in extension providing functions to store data and manipulate files."),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddCondition("GroupExists",
_("Existence of a group"),
_("Check if an element (example : PlayerState/CurrentLevel) exists in the file.\nSpaces are forbidden in element names."),
_("_PARAM1_ exists in file _PARAM0_"),
_("Storage"),
"res/conditions/fichier24.png",
"res/conditions/fichier.png")
.AddParameter("file", _("Filename"))
.AddParameter("string", _("Group"))
.MarkAsAdvanced();
extension.AddAction("LoadFile",
_("Load a structured file in memory"),
_("This action load the structured file in memory, so as to write and read it.\nYou can open and write without using this action, but it will be slower.\nIf you use this action, do not forget to unload the file from memory.\n\nFor the native platform, the file format is XML."),
_("Load structured file _PARAM0_ in memory"),
_("Storage"),
"res/actions/fichier24.png",
"res/actions/fichier.png")
.AddParameter("file", _("File"))
.MarkAsAdvanced();
extension.AddAction("UnloadFile",
_("Close a structured file"),
_("This action close the structured file previously loaded in memory, saving all changes made."),
_("Close structured file _PARAM0_"),
_("Storage"),
"res/actions/fichier24.png",
"res/actions/fichier.png")
.AddParameter("file", _("File"))
.MarkAsAdvanced();
extension.AddAction("EcrireFichierExp",
_("Write a value"),
_("Write the result of the expression in the file, in the specified element.\nSpecify the structure leading to the element using / (example : Root/Level/Current)\nSpaces are forbidden in element names."),
_("Write _PARAM2_ in _PARAM1_ of file _PARAM0_"),
_("Storage"),
"res/actions/fichier24.png",
"res/actions/fichier.png")
.AddParameter("file", _("File"))
.AddParameter("string", _("Group"))
.AddParameter("expression", _("Expression"));
extension.AddAction("EcrireFichierTxt",
_("Write a text"),
_("Write the text in the file, in the specified element.\nSpecify the structure leading to the element using / (example : Root/Level/Current)\nSpaces are forbidden in element names."),
_("Write _PARAM2_ in _PARAM1_ of file _PARAM0_"),
_("Storage"),
"res/actions/fichier24.png",
"res/actions/fichier.png")
.AddParameter("file", _("File"))
.AddParameter("string", _("Group"))
.AddParameter("string", _("Text"));
extension.AddAction("LireFichierExp",
_("Read a value"),
_("Read the value saved in the specified element and store it in a variable.\nSpecify the structure leading to the element using / (example : Root/Level/Current)\nSpaces are forbidden in element names."),
_("Read _PARAM1_ from file _PARAM0_ and store value in _PARAM3_"),
_("Storage"),
"res/actions/fichier24.png",
"res/actions/fichier.png")
.AddParameter("file", _("File"))
.AddParameter("string", _("Group"))
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("scenevar", _("Scene variables"));
extension.AddAction("LireFichierTxt",
_("Read a text"),
_("Read the text saved in the specified element and store it in a variable.\nSpecify the structure leading to the element using / (example : Root/Level/Current)\nSpaces are forbidden in element names."),
_("Read _PARAM1_ from file _PARAM0_ and store as text in _PARAM3_"),
_("Storage"),
"res/actions/fichier24.png",
"res/actions/fichier.png")
.AddParameter("file", _("File"))
.AddParameter("string", _("Group"))
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("scenevar", _("Scene variables"));
extension.AddAction("DeleteGroupFichier",
_("Delete an element"),
_("This action delete the specified element from the structured file.\nSpecify the structure leading to the element using / (example : Root/Level/Current)\nSpaces are forbidden in element names."),
_("Delete _PARAM1_ from the file _PARAM0_"),
_("Storage"),
"res/actions/delete24.png",
"res/actions/delete.png")
.AddParameter("file", _("Filename"))
.AddParameter("string", _("Group"))
.MarkAsAdvanced();
extension.AddAction("DeleteFichier",
_("Delete a file"),
_("Delete the file."),
_("Delete the file _PARAM0_"),
_("Files"),
"res/actions/delete24.png",
"res/actions/delete.png")
.AddParameter("file", _("Filename"));
extension.AddCondition("FileExists",
_("A file exists"),
_("Test if the file exists."),
_("File _PARAM0_ exists"),
_("Files"),
"res/conditions/fichier24.png",
"res/conditions/fichier.png")
.AddParameter("file", _("Filename"))
.MarkAsAdvanced();
extension.AddAction("LaunchFile",
_("Open an URL or a file"),
_("This action launch the specified file or URL, in a browser (or in a new tab if the game is using the Web platform and is launched inside a browser)."),
_("Open URL (or file) _PARAM0_"),
_("Files"),
"res/actions/launchFile24.png",
"res/actions/launchFile.png")
.AddParameter("string", _("URL (or filename)"))
.MarkAsAdvanced();
extension.AddAction("ExecuteCmd",
_("Execute a command"),
_("This action execute the specified command."),
_("Execute _PARAM0_"),
_("Files"),
"res/actions/launchFile24.png",
"res/actions/launchFile.png")
.AddParameter("string", _("Command"))
.MarkAsAdvanced();
#endif
}
}

View File

@@ -1,72 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsJoystickExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinJoystick",
_("Joysticks features"),
_("Built-in extension allowing to use joysticks"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddCondition("JoystickButtonDown",
_("A button of a joystick is pressed"),
_("Test if a button of a joystick is pressed."),
_("The button _PARAM2_ of joystick _PARAM1_ is pressed"),
_("Joystick"),
"res/conditions/joystick24.png",
"res/conditions/joystick.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Joystick number (first joystick: 0)"))
.AddParameter("expression", _("Button"));
extension.AddCondition("JoystickAxis",
_("Value of an axis of a joystick"),
_("Test the value of an axis of a joystick."),
_("The value of the axis _PARAM2_ of joystick _PARAM1_ is _PARAM3__PARAM4_"),
_("Joystick"),
"res/conditions/joystick24.png",
"res/conditions/joystick.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Joystick number (first joystick: 0)"))
.AddParameter("joyaxis", _("Axis"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.SetManipulatedType("number");
extension.AddAction("GetJoystickAxis",
_("Get the value of the axis of a joystick"),
_("Save in the variable the value of the axis of the joystick (from -100 to 100)."),
_("Save in _PARAM3_ the value of axis _PARAM2_ of joystick _PARAM1_"),
_("Joystick"),
"res/actions/joystick24.png",
"res/actions/joystick.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Joystick number (first joystick: 0)"))
.AddParameter("joyaxis", _("Axis"))
.AddParameter("scenevar", _("Save result to scene variable"))
.SetManipulatedType("number");
extension.AddExpression("GetJoystickAxis",
_("Joystick axis"),
_("Value of an axis of a joystick"),
_("Joystick"),
"res/conditions/joystick.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Joystick number (first joystick: 0)"))
.AddParameter("joyaxis", _("Axis"));
#endif
}
}

View File

@@ -1,82 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsKeyboardExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinKeyboard",
_("Keyboard features"),
_("Built-in extension allowing to use keyboard"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddCondition("KeyPressed",
_("Key pressed"),
_("Test if a key is pressed"),
_("_PARAM1_ key is pressed"),
_("Keyboard"),
"res/conditions/keyboard24.png",
"res/conditions/keyboard.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("key", _("Key"));
extension.AddCondition("KeyReleased",
_("Key released"),
_("Test if a key was just released"),
_("_PARAM1_ key is released"),
_("Keyboard"),
"res/conditions/keyboard24.png",
"res/conditions/keyboard.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("key", _("Key"));
extension.AddCondition("KeyFromTextPressed",
_("Key pressed (text expression)"),
_("Test if a key, retrieved from the result of the expression, is pressed"),
_("_PARAM1_ key is pressed"),
_("Keyboard"),
"res/conditions/keyboard24.png",
"res/conditions/keyboard.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Expression generating the key to test"))
.MarkAsAdvanced();
extension.AddCondition("KeyFromTextReleased",
_("Key released (text expression)"),
_("Test if a key, retrieved from the result of the expression, was just released"),
_("_PARAM1_ key is released"),
_("Keyboard"),
"res/conditions/keyboard24.png",
"res/conditions/keyboard.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Expression generating the key to test"))
.MarkAsAdvanced();
extension.AddCondition("AnyKeyPressed",
_("Any key pressed"),
_("Test if any key is pressed"),
_("Any key is pressed"),
_("Keyboard"),
"res/conditions/keyboard24.png",
"res/conditions/keyboard.png")
.AddCodeOnlyParameter("currentScene", "");
extension.AddStrExpression("LastPressedKey",
_("Last pressed key"),
_("Get the name of the latest key pressed on the keyboard"),
_("Keyboard"),
"res/conditions/keyboard.png")
.AddCodeOnlyParameter("currentScene", "");
#endif
}
}

View File

@@ -1,185 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsMathematicalToolsExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinMathematicalTools",
_("Mathematical tools"),
_("Built-in extension providing mathematical tools"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddExpression("AngleDifference", _("Difference between two angles"), _("Difference between two angles"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("First angle"))
.AddParameter("expression", _("Second angle"));
extension.AddExpression("mod", _("Modulo"), _("x mod y"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("x (as in x mod y)"))
.AddParameter("expression", _("y (as in x mod y)"));
extension.AddExpression("min", _("Minimum of two numbers"), _("Minimum of two numbers"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("First expression"))
.AddParameter("expression", _("Second expression"));
extension.AddExpression("max", _("Maximum of two numbers"), _("Maximum of two numbers"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("First expression"))
.AddParameter("expression", _("Second expression"));
extension.AddExpression("abs", _("Absolute value"), _("Absolute value"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("acos", _("Arccosine"), _("Arccosine"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("acosh", _("Hyperbolic arccosine"), _("Hyperbolic arccosine"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("asin", _("Arcsine"), _("Arcsine"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("asinh", _("Arcsine"), _("Arcsine"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("atan", _("Arctangent"), _("Arctangent"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("atan2", _("2 argument arctangent"), _("2 argument arctangent (atan2)"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Y"))
.AddParameter("expression", _("X"));
extension.AddExpression("atanh", _("Hyperbolic arctangent"), _("Hyperbolic arctangent"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("cbrt", _("Cube root"), _("Cube root"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("ceil", _("Ceil (round up)"), _("Round number up to an integer"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("floor", _("Floor (round down)"), _("Round number down to an integer"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("cos", _("Cosine"), _("Cosine of a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("cosh", _("Hyperbolic cosine"), _("Hyperbolic cosine"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("cot", _("Cotangent"), _("Cotangent of a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("csc", _("Cosecant"), _("Cosecant of a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("int", _("Round"), _("Round a number"), _("Mathematical tools"), "res/mathfunction.png")
.SetHidden()
.AddParameter("expression", _("Expression"));
extension.AddExpression("rint", _("Round"), _("Round a number"), _("Mathematical tools"), "res/mathfunction.png")
.SetHidden()
.AddParameter("expression", _("Expression"));
extension.AddExpression("round", _("Round"), _("Round a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("exp", _("Exponential"), _("Exponential of a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("log", _("Logarithm"), _("Logarithm"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("ln", _("Logarithm"), _("Logarithm"), _("Mathematical tools"), "res/mathfunction.png")
.SetHidden()
.AddParameter("expression", _("Expression"));
extension.AddExpression("log2", _("Base-2 logarithm"), _("Base 2 Logarithm"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("log10", _("Base-10 logarithm"), _("Base-10 logarithm"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("nthroot", _("Nth root"), _("Nth root of a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Number"))
.AddParameter("expression", _("N"));
extension.AddExpression("pow", _("Power"), _("Raise a number to power n"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Number"))
.AddParameter("expression", _("The exponent (n in x^n)"));
extension.AddExpression("sec", _("Secant"), _("Secant"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("sign", _("Sign of a number"), _("Return the sign of a number (1,-1 or 0)"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("sin", _("Sine"), _("Sine of a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("sinh", _("Hyperbolic sine"), _("Hyperbolic sine"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("sqrt", _("Square root"), _("Square root of a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("tan", _("Tangent"), _("Tangent of a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("tanh", _("Hyperbolic tangent"), _("Hyperbolic tangent"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("trunc", _("Truncation"), _("Troncate a number"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("Expression"));
extension.AddExpression("lerp", _("Lerp (Linear interpolation)"), _("Linearly interpolate a to b by x"), _("Mathematical tools"), "res/mathfunction.png")
.AddParameter("expression", _("a (in a+(b-a)*x)"))
.AddParameter("expression", _("b (in a+(b-a)*x)"))
.AddParameter("expression", _("x (in a+(b-a)*x)"));
#endif
}
}

View File

@@ -1,260 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsMouseExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinMouse",
_("Mouse features"),
_("Built-in extension allowing to use the mouse"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddCondition("SourisSurObjet",
_("The cursor/touch is on an object"),
_("Test if the cursor is over an object, or if the object is being touched."),
_("The cursor/touch is on _PARAM0_"),
_("Mouse and touch"),
"res/conditions/surObjet24.png",
"res/conditions/surObjet.png")
.AddParameter("objectList", _("Object"))
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("yesorno", _("Accurate test (yes by default)"), "", true).SetDefaultValue("yes")
.AddCodeOnlyParameter("conditionInverted", "")
.MarkAsSimple();
extension.AddAction("TouchSimulateMouse",
_("De/activate moving mouse cursor with touches"),
_("When activated, any touch made on a touchscreen will also move the mouse cursor. When deactivated, mouse and touch positions will be completely independant.\nBy default, this is activated so that you can simply use the mouse conditions to also support touchscreens. If you want to have multitouch and differentiate mouse and touches, just deactivate it with this action."),
_("Move mouse cursor when touching screen: _PARAM1_"),
_("Mouse and touch"),
"res/conditions/touch24.png",
"res/conditions/touch.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("yesorno", _("Activate (yes by default when game is launched)")).SetDefaultValue("yes")
.MarkAsAdvanced();
extension.AddAction("CentreSourisX",
_("Center cursor horizontally"),
_("Put the cursor in the middle of the screen horizontally."),
_("Center cursor horizontally"),
_("Mouse and touch"),
"res/actions/mouse24.png",
"res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.MarkAsAdvanced();
extension.AddAction("CentreSourisY",
_("Center cursor vertically"),
_("Put the cursor in the middle of the screen vertically."),
_("Center cursor vertically"),
_("Mouse and touch"),
"res/actions/mouse24.png",
"res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.MarkAsAdvanced();
extension.AddAction("CacheSouris",
_("Hide the cursor"),
_("Hide the cursor."),
_("Hide the cursor"),
_("Mouse and touch"),
"res/actions/mouse24.png",
"res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.MarkAsAdvanced();
extension.AddAction("MontreSouris",
_("Show the cursor"),
_("Show the cursor."),
_("Show the cursor"),
_("Mouse and touch"),
"res/actions/mouse24.png",
"res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.MarkAsAdvanced();
extension.AddAction("SetSourisXY",
_("Position the cursor of the mouse"),
_("Position the cursor at the given coordinates."),
_("Position cursor at _PARAM1_;_PARAM2_"),
_("Mouse and touch"),
"res/actions/mouse24.png",
"res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("X position"))
.AddParameter("expression", _("Y position"))
.MarkAsAdvanced();
extension.AddAction("CentreSouris",
_("Center the cursor"),
_("Center the cursor on the screen."),
_("Center the cursor"),
_("Mouse and touch"),
"res/actions/mouse24.png",
"res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.MarkAsAdvanced();
extension.AddCondition("SourisX",
_("Cursor X position"),
_("Compare the X position of the cursor or of a touch."),
_("Cursor X position is _PARAM1__PARAM2_"),
_("Mouse and touch"),
"res/conditions/mouse24.png",
"res/conditions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("X position"))
.AddParameter("layer", _("Layer (base layer if empty)"), "", true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "", true).SetDefaultValue("0")
.SetManipulatedType("number");
extension.AddCondition("SourisY",
_("Cursor Y position"),
_("Compare the Y position of the cursor or of a touch."),
_("Cursor Y position is _PARAM1__PARAM2_"),
_("Mouse and touch"),
"res/conditions/mouse24.png",
"res/conditions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Y position"))
.AddParameter("layer", _("Layer (base layer if empty)"), "", true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "", true).SetDefaultValue("0")
.SetManipulatedType("number");
extension.AddCondition("SourisBouton",
_("Mouse button down or touch held"),
_("Return true if the specified button of the mouse is down or if any touch is in contact with the screen."),
_("Touch or _PARAM1_ mouse button is down"),
_("Mouse and touch"),
"res/conditions/mouse24.png",
"res/conditions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("mouse", _("Button to test"))
.MarkAsSimple();
extension.AddCondition("MouseButtonReleased",
_("Mouse button released"),
_("Return true if the specified button of the mouse was released."),
_("_PARAM1_ mouse button was released"),
_("Mouse and touch"),
"res/conditions/mouse24.png",
"res/conditions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("mouse", _("Button to test"))
.MarkAsSimple();
extension.AddCondition("TouchX",
_("Touch X position"),
_("Compare the X position of a specific touch."),
_("Touch #_PARAM1_ X position is _PARAM2__PARAM3_"),
_("Mouse and touch/Multitouch"),
"res/conditions/touch24.png",
"res/conditions/touch.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Touch identifier"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("X position"))
.AddParameter("layer", _("Layer (base layer if empty)"), "", true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "", true).SetDefaultValue("0")
.SetManipulatedType("number");
extension.AddCondition("TouchY",
_("Touch Y position"),
_("Compare the Y position of a specific touch."),
_("Touch #_PARAM1_ Y position is _PARAM2__PARAM3_"),
_("Mouse and touch/Multitouch"),
"res/conditions/touch24.png",
"res/conditions/touch.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Touch identifier"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("X position"))
.AddParameter("layer", _("Layer (base layer if empty)"), "", true).SetDefaultValue("\"\"")
.AddParameter("expression", _("Camera number (default : 0)"), "", true).SetDefaultValue("0")
.SetManipulatedType("number");
extension.AddCondition("PopStartedTouch",
_("A new touch has started"),
_("Return true if a touch has started. The touch identifier can be accessed using LastTouchId().\nAs more than one touch can have started, this condition is only true once for each touch: the next time you use it, it will be for a new touch or it will return false if there is no more touch that just started."),
_("A new touch has started"),
_("Mouse and touch/Multitouch"),
"res/conditions/touch24.png",
"res/conditions/touch.png")
.AddCodeOnlyParameter("currentScene", "");
extension.AddCondition("PopEndedTouch",
_("A touch has ended"),
_("Return true if a touch has ended. The touch identifier can be accessed using LastEndedTouchId().\nAs more than one touch can have ended, this condition is only true once for each touch: the next time you use it, it will be for a new touch or it will return false if there is no more touch that just ended."),
_("A touch has ended"),
_("Mouse and touch/Multitouch"),
"res/conditions/touch24.png",
"res/conditions/touch.png")
.AddCodeOnlyParameter("currentScene", "");
extension.AddExpression("MouseX", _("Cursor X position"), _("Cursor X position"), _("Mouse cursor"), "res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "", true).SetDefaultValue("\"\"")
.AddParameter("camera", _("Camera"), "", true).SetDefaultValue("0");
extension.AddExpression("SourisX", _("Cursor X position"), _("Cursor X position"), _("Mouse cursor"), "res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "", true).SetDefaultValue("\"\"")
.AddParameter("camera", _("Camera"), "", true).SetDefaultValue("0")
.SetHidden();
extension.AddExpression("MouseY", _("Cursor Y position"), _("Cursor Y position"), _("Mouse cursor"), "res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "", true).SetDefaultValue("\"\"")
.AddParameter("camera", _("Camera"), "", true).SetDefaultValue("0");
extension.AddExpression("SourisY", _("Cursor Y position"), _("Cursor Y position"), _("Mouse cursor"), "res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("layer", _("Layer"), "", true).SetDefaultValue("\"\"")
.AddParameter("camera", _("Camera"), "", true).SetDefaultValue("0")
.SetHidden();
extension.AddExpression("MouseWheelDelta", _("Mouse wheel: Displacement"), _("Mouse wheel displacement"), _("Mouse cursor"), "res/actions/mouse.png")
.AddCodeOnlyParameter("currentScene", "");
extension.AddExpression("TouchX", _("Touch X position"), _("Touch X position"), _("Multitouch"), "res/conditions/touch.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Touch identifier"))
.AddParameter("layer", _("Layer"), "", true).SetDefaultValue("\"\"")
.AddParameter("camera", _("Camera"), "", true).SetDefaultValue("0");
extension.AddExpression("TouchY", _("Touch Y position"), _("Touch Y position"), _("Multitouch"), "res/conditions/touch.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Touch identifier"))
.AddParameter("layer", _("Layer"), "", true).SetDefaultValue("\"\"")
.AddParameter("camera", _("Camera"), "", true).SetDefaultValue("0");
extension.AddExpression("LastTouchId", _("Identifier of the last touch"), _("Identifier of the last touch"), _("Multitouch"), "res/conditions/touch.png")
.AddCodeOnlyParameter("currentScene", "");
extension.AddExpression("LastEndedTouchId", _("Identifier of the last ended touch"), _("Identifier of the last ended touch"), _("Multitouch"), "res/conditions/touch.png")
.AddCodeOnlyParameter("currentScene", "");
#endif
}
}

View File

@@ -1,85 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsNetworkExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinNetwork",
_("Basic internet features"),
_("Built-in extension providing network features."),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddAction("EnvoiDataNet",
_("Send datas to a website"),
_("Send datas to a specified web site.\nYou need to set up a .php page on your web site so as to receive this datas.\nEnter here a password, and enter the same in the configuration of your .php page.\nRead the help file to get more informations."),
_("Send to _PARAM0_ the following datas : _PARAM2_, _PARAM3_,_PARAM4_,_PARAM5_,_PARAM6_,_PARAM7_"),
_("Network"),
"res/actions/net24.png",
"res/actions/net.png")
.AddParameter("string", _(".php page URL (don't forget the protocol http://)"))
.AddParameter("password", _("Password"))
.AddParameter("string", _("Data 1"))
.AddParameter("string", _("Data 2"), "", true)
.AddParameter("string", _("Data 3"), "", true)
.AddParameter("string", _("Data 4"), "", true)
.AddParameter("string", _("Data 5"), "", true)
.AddParameter("string", _("Data 6"), "", true)
.SetHidden();
extension.AddAction("SendRequest",
_("Send a request to a web page"),
_("Send a request to the specified web page.\n\nPlease note that for the web platform games, the game must be hosted on the same host as specified below, except if the server is configured to answer to all requests (cross-domain requests)."),
_("Send _PARAM3_ request to _PARAM0__PARAM1_ with body: _PARAM2_"),
_("Network"),
"res/actions/net24.png",
"res/actions/net.png")
.AddParameter("string", _("Host (example: http://www.some-server.org/)"))
.AddParameter("string", _("Path to page (Example: /page.php)"))
.AddParameter("string", _("Request body content"))
.AddParameter("string", _("Method: \"POST\" or \"GET\" (if empty, GET will be used)"), "", true ).SetDefaultValue("\"GET\"")
.AddParameter("string", _("Content type (application/x-www-form-urlencoded by default)"), "", true )
.AddParameter("scenevar", _("Store the response in this variable"), "", true )
.MarkAsComplex();
extension.AddAction("DownloadFile",
_("Download a file"),
_("Download a file from a web site"),
_("Download file _PARAM1_ from _PARAM0_ under the name of _PARAM2_"),
_("Network"),
"res/actions/net24.png",
"res/actions/net.png")
.AddParameter("string", _("Host (for example : http://www.website.com)"))
.AddParameter("string", _("Path to file (for example : /folder/file.txt)"))
.AddParameter("string", _("Save as"));
extension.AddAction("JSONToVariableStructure",
_("Convert JSON to variable"),
_("Parse a JSON object and store it into a variable"),
_("Parse JSON string _PARAM0_ and store it into variable _PARAM1_"),
_("Network"),
"res/actions/net24.png",
"res/actions/net.png")
.AddParameter("string", _("JSON string"))
.AddParameter("scenevar", _("Variable where store the JSON object"))
.MarkAsAdvanced();
extension.AddStrExpression("ToJSON",
_("Convert to JSON"),
_("Convert a variable to JSON"),
_("Conversion"),
"res/conditions/toujours24.png")
.AddParameter("scenevar", _("The variable to be stringify"));
#endif
}
}

View File

@@ -1,118 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsSceneExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinScene",
_("Scene management features"),
_("Built-in extension allowing to manipulate scenes"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddExpression("Random", _("Random value"), _("Random value"), _("Random"), "res/actions/position.png")
.AddParameter("expression", _("Maximum value"));
extension.AddStrExpression("CurrentSceneName", _("Current scene name"), _("Name of the current scene"), _("Scene"), "res/actions/texte.png")
.AddCodeOnlyParameter("currentScene", "");
extension.AddCondition("DepartScene",
_("At the beginning of the scene"),
_("Is true only when scene just begins."),
_("At the beginning of the scene"),
_("Scene"),
"res/conditions/depart24.png",
"res/conditions/depart.png")
.AddCodeOnlyParameter("currentScene", "")
.MarkAsSimple();
extension.AddAction("Scene",
_("Change the scene"),
_("Stop this scene and start the specified one instead."),
_("Change for scene _PARAM1_"),
_("Scene"),
"res/actions/replaceScene24.png",
"res/actions/replaceScene.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Name of the new scene"))
.AddParameter("yesorno", _("Stop any other paused scenes?")).SetDefaultValue("true")
.MarkAsAdvanced();
extension.AddAction("PushScene",
_("Pause and start a new scene"),
_("Pause this scene and start the specified one.\nLater, you can use \"Stop and go back to previous scene\" action to go back to this scene."),
_("Pause the scene and start _PARAM1_"),
_("Scene"),
"res/actions/pushScene24.png",
"res/actions/pushScene.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Name of the new scene"))
.MarkAsAdvanced();
extension.AddAction("PopScene",
_("Stop and go back to previous scene"),
_("Stop this scene and go back to the previous paused one.\nTo pause a scene, use \"Pause and start a new scene\" action."),
_("Stop the scene and go back to the previous paused one"),
_("Scene"),
"res/actions/popScene24.png",
"res/actions/popScene.png")
.AddCodeOnlyParameter("currentScene", "")
.MarkAsAdvanced();
extension.AddAction("Quit",
_("Quit the game"),
_("Quit the game"),
_("Quit the game"),
_("Scene"),
"res/actions/quit24.png",
"res/actions/quit.png")
.AddCodeOnlyParameter("currentScene", "")
.MarkAsAdvanced();
extension.AddAction("SceneBackground",
_("Change background color"),
_("Change the background color of the scene."),
_("Set background color to _PARAM1_"),
_("Scene"),
"res/actions/background24.png",
"res/actions/background.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("color", _("Color"))
.MarkAsAdvanced();
extension.AddAction("DisableInputWhenFocusIsLost",
_("Disable input when focus is lost"),
_("Set if the keyboard and mouse buttons must be taken into account even\nif the window is not active."),
_("Disable input when focus is lost: _PARAM1_"),
_("Scene"),
"res/actions/window24.png",
"res/actions/window.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("yesorno", _("Deactivate input when focus is lost"))
.MarkAsAdvanced();
extension.AddCondition("Egal",
_("Compare two expressions"),
_("Test the two expression"),
_("_PARAM0_ _PARAM1_ _PARAM2_"),
_("Other"),
"res/conditions/egal24.png",
"res/conditions/egal.png")
.AddParameter("expression", _("Expression 1"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Expression 2"))
.MarkAsAdvanced();
#endif
}
}

View File

@@ -1,67 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#ifndef GDCORE_ANIMATION_H
#define GDCORE_ANIMATION_H
#include <vector>
namespace gd { class Direction; }
namespace gd
{
/**
* \brief Class representing an animation of a SpriteObject.
*
* \see SpriteObject
* \see Direction
* \ingroup SpriteObjectExtension
*/
class GD_CORE_API Animation
{
public:
Animation();
virtual ~Animation();
/**
* \brief Return the n-th direction
*/
const Direction & GetDirection(std::size_t n) const;
/**
* \brief Return the n-th direction
*/
Direction & GetDirection(std::size_t n);
/**
* \brief Change a direction
*/
void SetDirection(const Direction & direction, std::size_t nb);
/**
* \brief Change direction count
*/
void SetDirectionsCount(std::size_t nb);
/**
* \brief Get direction count
*/
std::size_t GetDirectionsCount() const;
/**
* \brief Return true if there isn't any direction in the animation
*/
bool HasNoDirections() const;
bool useMultipleDirections;
private:
std::vector < Direction > directions;
static Direction badDirection;
};
}
#endif // GDCORE_ANIMATION_H

View File

@@ -1,17 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "GDCore/BuiltinExtensions/SpriteExtension/Point.h"
#include "GDCore/String.h"
Point::Point(const gd::String & name_) :
name(name_),
x(0),
y(0)
{
//ctor
}

View File

@@ -1,64 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#ifndef GDCORE_POINT_H
#define GDCORE_POINT_H
#include "GDCore/String.h"
/**
* \brief Named point used by Sprite.
*
* \ingroup SpriteObjectExtension
*/
class GD_CORE_API Point
{
public:
Point(const gd::String & name_);
virtual ~Point() {};
/**
* Change point name
*/
void SetName(const gd::String & name_) { name = name_; }
/**
* Get point name
*/
const gd::String & GetName() const { return name; }
/**
* Change point position.
*/
void SetXY(float x_, float y_) { x = x_;y = y_; }
/**
* Change point X position.
*/
void SetX(float x_) { x = x_; }
/**
* Change point Y position.
*/
void SetY(float y_) { y = y_; }
/**
* Get point X position.
*/
float GetX() const { return x; }
/**
* Get point Y position.
*/
float GetY() const { return y; }
private:
gd::String name;
float x;
float y;
};
#endif // GDCORE_POINT_H

View File

@@ -1,93 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "Polygon2d.h"
#include <cmath>
#include <iostream>
#include <SFML/System/Vector2.hpp>
void Polygon2d::Rotate(float angle)
{
float t,
cosa = cos(-angle),
sina = sin(-angle); //We want a clockwise rotation
for (std::size_t i = 0;i<vertices.size();++i)
{
t = vertices[i].x;
vertices[i].x = t*cosa + vertices[i].y*sina;
vertices[i].y = -t*sina + vertices[i].y*cosa;
}
}
void Polygon2d::Move(float x, float y)
{
for (std::size_t i = 0; i < vertices.size(); i++)
{
vertices[i].x += x;
vertices[i].y += y;
}
ComputeEdges();
}
void Polygon2d::ComputeEdges() const
{
sf::Vector2f v1, v2;
edges.clear();
for (std::size_t i = 0; i < vertices.size(); i++)
{
v1 = vertices[i];
if ((i + 1) >= vertices.size()) v2 = vertices[0];
else v2 = vertices[i + 1];
edges.push_back(v2 - v1);
}
}
bool Polygon2d::IsConvex() const
{
ComputeEdges();
if ( edges.size() < 3 ) return false;
bool zProductIsPositive = (edges[0].x*edges[0+1].y - edges[0].y*edges[0+1].x) > 0;
for (std::size_t i = 1;i<edges.size()-1;++i)
{
float zCrossProduct = edges[i].x*edges[i+1].y - edges[i].y*edges[i+1].x;
if ( (zCrossProduct > 0) != zProductIsPositive ) return false;
}
float lastZCrossProduct = edges[edges.size()-1].x*edges[0].y - edges[edges.size()-1].y*edges[0].x;
if ( (lastZCrossProduct > 0) != zProductIsPositive ) return false;
return true;
}
sf::Vector2f Polygon2d::ComputeCenter() const
{
sf::Vector2f center;
for (std::size_t i = 0; i < vertices.size(); i++)
{
center.x += vertices[i].x;
center.y += vertices[i].y;
}
center.x /= vertices.size();
center.y /= vertices.size();
return center;
}
Polygon2d Polygon2d::CreateRectangle(float width, float height)
{
Polygon2d rect;
rect.vertices.push_back(sf::Vector2f(-width/2.0f, -height/2.0f));
rect.vertices.push_back(sf::Vector2f(+width/2.0f, -height/2.0f));
rect.vertices.push_back(sf::Vector2f(+width/2.0f, +height/2.0f));
rect.vertices.push_back(sf::Vector2f(-width/2.0f, +height/2.0f));
return rect;
}

View File

@@ -1,71 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#ifndef GDCORE_POLYGON_H
#define GDCORE_POLYGON_H
#include <vector>
#include <SFML/System/Vector2.hpp>
/**
* \brief Represents a polygon. Usually used for collisions masks.
*
* This class stores the vertices of the polygon.
* It can also compute and store the edges ( needed by some collisions algorithms ) if ComputeEdges is called.
*
* \ingroup GameEngine
*/
class GD_CORE_API Polygon2d
{
public:
Polygon2d() {};
virtual ~Polygon2d() {};
std::vector<sf::Vector2f> vertices; ///< The vertices composing the polygon
mutable std::vector<sf::Vector2f> edges; ///< Edges. Can be computed from vertices using ComputeEdges()
/**
* Moves each vertices from the given amount.
*
* \note Edges are updated, there is no need to call ComputeEdges after calling Move.
*/
void Move(float x, float y);
/**
* Rotate the polygon.
* \param angle Angle in radians
*
* \warning Rotation is made clockwise
* \warning edges vector is not updated, you have to call ComputeEdges if needed.
*/
void Rotate(float angle);
/**
* Automatically fill edges vector using vertices.
*/
void ComputeEdges() const;
/**
* Check if the polygon is convex.
* \return true if the polygon is convex
*/
bool IsConvex() const;
/**
* Return the position of the center of the polygon
*/
sf::Vector2f ComputeCenter() const;
/** \name Tools
* Tool functions
*/
///@{
/**
* Create a rectangle
*/
static Polygon2d CreateRectangle(float width, float height);
///@}
};
#endif // GDCORE_POLYGON_H

View File

@@ -1,472 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the GNU Lesser General Public LicenFse.
*/
#include "GDCore/BuiltinExtensions/AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
#include "GDCore/PlatformDefinition/Object.h"
#include "GDCore/BuiltinExtensions/SpriteExtension/SpriteObject.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsSpriteExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("Sprite",
_("Sprite"),
_("Extension for adding animated objects in the scene, which can contain animations with directions within each."),
"Florian Rival",
"Open source (MIT License)");
gd::ObjectMetadata & obj = extension.AddObject("Sprite",
_("Sprite"),
_("Animated object which can be used for most elements of a game"),
"CppPlatform/Extensions/spriteicon.png",
&CreateSpriteObject);
#if defined(GD_IDE_ONLY)
obj.AddAction("Opacity",
_("Change object's opacity"),
_("Change the opacity of an object."),
_("Do _PARAM1__PARAM2_ to the opacity of _PARAM0_"),
_("Visibility"),
"res/actions/opacity24.png",
"res/actions/opacity.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsSimple()
.SetManipulatedType("number");
obj.AddAction("ChangeAnimation",
_("Change the animation"),
_("Modify the current animation of the object."),
_("Do _PARAM1__PARAM2_ to the number of current animation of _PARAM0_"),
_("Animations and images"),
"res/actions/animation24.png",
"res/actions/animation.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsSimple()
.SetManipulatedType("number");
obj.AddAction("ChangeDirection",
_("Change the direction"),
_("Change the direction of the object.\nIf the object is set to automatically rotate, the direction is its angle.\nIf the object is in 8 directions mode, the valid directions are 0..7"),
_("Do _PARAM1__PARAM2_ to the direction of _PARAM0_"),
_("Direction"),
"res/actions/direction24.png",
"res/actions/direction.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddAction("ChangeSprite",
_("Current frame"),
_("Modify the current frame of the object"),
_("Do _PARAM1__PARAM2_ to animation frame of _PARAM0_"),
_("Animations and images"),
"res/actions/sprite24.png",
"res/actions/sprite.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddAction("PauseAnimation",
_("Pause the animation"),
_("Pause the current animation of the object"),
_("Pause the current animation of _PARAM0_"),
_("Animations and images"),
"res/actions/animation24.png",
"res/actions/animation.png")
.AddParameter("object", _("Object"), "Sprite")
.MarkAsSimple();
obj.AddAction("PlayAnimation",
_("Play the animation"),
_("Play the current animation of the object"),
_("Play the current animation of _PARAM0_"),
_("Animations and images"),
"res/actions/animation24.png",
"res/actions/animation.png")
.AddParameter("object", _("Object"), "Sprite")
.MarkAsSimple();
obj.AddAction("ChangeAnimationSpeedScale",
_("Animation speed scale"),
_("Modify the animation speed scale (1 = the default speed, >1 = faster and <1 = slower)."),
_("Do _PARAM1__PARAM2_ to the animation speed scale of _PARAM0_"),
_("Animations and images"),
"res/actions/animation24.png",
"res/actions/animation.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsSimple()
.SetManipulatedType("number");
obj.AddAction("TourneVersPos",
_("Rotate an object toward a position"),
_("Rotate an object towards a position."),
_("Rotate _PARAM0_ towards _PARAM1_;_PARAM2_"),
_("Direction"),
"res/actions/direction24.png",
"res/actions/direction.png")
.AddParameter("object", _("Object to be rotated"), "Sprite")
.AddParameter("expression", _("X position"))
.AddParameter("expression", _("Y position"))
.AddParameter("expression", _("Angular speed (degrees per second)")).SetDefaultValue("0")
.AddCodeOnlyParameter("currentScene", "")
.SetHidden(); //Deprecated
obj.AddAction("ChangeScale",
_("Scale"),
_("Modify the scale of the specified object."),
_("Do _PARAM1__PARAM2_ to the scale of _PARAM0_"),
_("Size"),
"res/actions/scale24.png",
"res/actions/scale.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced();
obj.AddAction("ChangeScaleWidth",
_("Scale on X axis"),
_("Modify the scale of the width of an object."),
_("Do _PARAM1__PARAM2_ to the width's scale of _PARAM0_"),
_("Size"),
"res/actions/scale24.png",
"res/actions/scale.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddAction("ChangeScaleHeight",
_("Scale on Y axis"),
_("Modify the scale of the height of an object."),
_("Do _PARAM1__PARAM2_ to the height's scale of _PARAM0_"),
_("Size"),
"res/actions/scale24.png",
"res/actions/scale.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddCondition("Animation",
_("Current animation"),
_("Test the number of the current animation of the object."),
_("The number of the current animation of _PARAM0_ is _PARAM1__PARAM2_"),
_("Animations and images"),
"res/conditions/animation24.png",
"res/conditions/animation.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Number to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddCondition("Direction",
_("Current direction"),
_("Compare the direction of the object. If 8 direction mode is activated for the sprite, the value taken for direction will be from 0 to 7. Otherwise, the direction is in degrees."),
_("Direction of _PARAM0_ is _PARAM1__PARAM2_"),
_("Direction"),
"res/conditions/direction24.png",
"res/conditions/direction.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Direction to test"))
.SetManipulatedType("number");
obj.AddCondition("Sprite",
_("Current frame"),
_("Test the number of the current animation frame."),
_("The animation frame of _PARAM0_ is _PARAM1__PARAM2_"),
_("Animations and images"),
"res/conditions/sprite24.png",
"res/conditions/sprite.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Animation frame to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddCondition("AnimStopped",
_("Animation paused"),
_("Test if the animation of an object is paused"),
_("The animation of _PARAM0_ is paused"),
_("Animations and images"),
"res/conditions/animation24.png",
"res/conditions/animation.png")
.AddParameter("object", _("Object"), "Sprite")
.MarkAsSimple();
obj.AddCondition("AnimationEnded",
_("Animation finished"),
_("Check if the animation being played by the Sprite object is finished."),
_("The animation of _PARAM0_ is finished"),
_("Animations and images"),
"res/conditions/animation24.png",
"res/conditions/animation.png")
.AddParameter("object", _("Object"), "Sprite")
.MarkAsSimple();
obj.AddCondition("ScaleWidth",
_("Scale on X axis"),
_("Compare the scale of the width of an object."),
_("The width's scale of _PARAM0_ is _PARAM1__PARAM2_"),
_("Size"),
"res/conditions/scaleWidth24.png",
"res/conditions/scaleWidth.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddCondition("ScaleHeight",
_("Scale on Y axis"),
_("Compare the scale of the height of an object."),
_("The height's scale of _PARAM0_ is _PARAM1__PARAM2_"),
_("Size"),
"res/conditions/scaleHeight24.png",
"res/conditions/scaleHeight.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddCondition("Opacity",
_("Opacity"),
_("Compare the opacity of an object, between 0 (fully transparent) to 255 (opaque)"),
_("The opacity of _PARAM0_ is _PARAM1__PARAM2_"),
_("Visibility"),
"res/conditions/opacity24.png",
"res/conditions/opacity.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.MarkAsSimple()
.SetManipulatedType("number");
obj.AddCondition("BlendMode",
_("Blend mode"),
_("Compare the number of the blend mode currently used by an object"),
_("The number of the current blend mode of _PARAM0_ is _PARAM1__PARAM2_"),
_("Effects"),
"res/conditions/opacity24.png",
"res/conditions/opacity.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test (0: Alpha, 1: Add, 2: Multiply, 3: None)"))
.MarkAsAdvanced()
.SetManipulatedType("number");
obj.AddAction("CopyImageOnImageOfSprite",
_("Copy an image on the current one of an object"),
_("Copy an image on the current image of an object.\nNote that the source image must be preferably kept loaded in memory."),
_("Copy image _PARAM2_ on the current of _PARAM0_ at _PARAM3_;_PARAM4_"),
_("Effects"),
"res/copy24.png",
"res/copyicon.png")
.AddParameter("object", _("Object"), "Sprite")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Name of the source image"))
.AddParameter("expression", _("X position"))
.AddParameter("expression", _("Y position"))
.AddParameter("yesorno", _("Should the copy take in account the source transparency\?"));
obj.AddAction("CreateMaskFromColorOnActualImage", //Actual is indeed a mistake : Current should have been chosen.
_("Make a color of the image of an object transparent"),
_("Make a color of the image of an object transparent."),
_("Make color _PARAM1_ of the current image of _PARAM0_ transparent"),
_("Effects"),
"res/actions/opacity24.png",
"res/actions/opacity.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("color", _("Color to make transparent"));
obj.AddAction("ChangeColor",
_("Global color"),
_("Change the global color of an object. The default color is white."),
_("Change color of _PARAM0_ to _PARAM1_"),
_("Effects"),
"res/actions/color24.png",
"res/actions/color.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("color", _("Color"));
obj.AddAction("ChangeBlendMode",
_("Blend mode"),
_("Change the number of the blend mode of an object.\nThe default blend mode is 0 (Alpha)."),
_("Change Blend mode of _PARAM0_ to _PARAM1_"),
_("Effects"),
"res/actions/color24.png",
"res/actions/color.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("expression", _("Mode (0 : Alpha, 1 : Add, 2 : Multiply, 3 : None)"))
.MarkAsSimple();
obj.AddAction("FlipX",
_("Flip the object horizontally"),
_("Flip the object horizontally"),
_("Flip horizontally _PARAM0_ : _PARAM1_"),
_("Effects"),
"res/actions/flipX24.png",
"res/actions/flipX.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("yesorno", _("Activate flipping"))
.MarkAsSimple();
obj.AddAction("FlipY",
_("Flip the object vertically"),
_("Flip the object vertically"),
_("Flip vertically _PARAM0_ : _PARAM1_"),
_("Effects"),
"res/actions/flipY24.png",
"res/actions/flipY.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("yesorno", _("Activate flipping"))
.MarkAsSimple();
obj.AddCondition("FlippedX",
_("Horizontally flipped"),
_("Return true if the object is horizontally flipped"),
_("_PARAM0_ is horizontally flipped"),
_("Effects"),
"res/actions/flipX24.png",
"res/actions/flipX.png")
.AddParameter("object", _("Object"), "Sprite");
obj.AddCondition("FlippedY",
_("Vertically flipped"),
_("Return true if the object is vertically flipped"),
_("_PARAM0_ is vertically flipped"),
_("Effects"),
"res/actions/flipY24.png",
"res/actions/flipY.png")
.AddParameter("object", _("Object"), "Sprite");
obj.AddAction("TourneVers",
_("Rotate an object toward another"),
_("Rotate an object towards another."),
_("Rotate _PARAM0_ towards _PARAM1_"),
_("Direction"),
"res/actions/direction24.png",
"res/actions/direction.png")
.AddParameter("object", _("Object to be rotated"), "Sprite")
.AddParameter("objectPtr", _("Rotate toward this object"))
.AddCodeOnlyParameter("currentScene", "")
.SetHidden(); //Deprecated
obj.AddExpression("X", _("X position of a point"), _("X position of a point"), _("Position"), "res/actions/position.png")
.SetHidden()
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("", _("Name of the point"), "", true);
obj.AddExpression("Y", _("Y position of a point"), _("Y position of a point"), _("Position"), "res/actions/position.png")
.SetHidden()
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("", _("Name of the point"), "", true);
obj.AddExpression("PointX", _("X position of a point"), _("X position of a point"), _("Position"), "res/actions/position.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("", _("Name of the point"));
obj.AddExpression("PointY", _("Y position of a point"), _("Y position of a point"), _("Position"), "res/actions/position.png")
.AddParameter("object", _("Object"), "Sprite")
.AddParameter("", _("Name of the point"));
obj.AddExpression("Direc", _("Direction"), _("Direction of the object"), _("Direction"), "res/actions/direction.png")
.SetHidden()
.AddParameter("object", _("Object"), "Sprite");
obj.AddExpression("Direction", _("Direction"), _("Direction of the object"), _("Direction"), "res/actions/direction.png")
.AddParameter("object", _("Object"), "Sprite");
obj.AddExpression("Anim", _("Animation"), _("Animation of the object"), _("Animations and images"), "res/actions/animation.png")
.SetHidden()
.AddParameter("object", _("Object"), "Sprite");
obj.AddExpression("Animation", _("Animation"), _("Animation of the object"), _("Animations and images"), "res/actions/animation.png")
.AddParameter("object", _("Object"), "Sprite");
obj.AddExpression("Sprite", _("Image"), _("Animation frame of the object"), _("Animations and images"), "res/actions/sprite.png")
.AddParameter("object", _("Object"), "Sprite");
obj.AddExpression("AnimationSpeedScale", _("Animation speed scale"), _("Animation speed scale"), _("Animations and images"), "res/actions/animation.png")
.AddParameter("object", _("Object"), "Sprite");
obj.AddExpression("ScaleX", _("Scale of the width of an object"), _("Scale of the width of an object"), _("Size"), "res/actions/scaleWidth.png")
.AddParameter("object", _("Object"), "Sprite");
obj.AddExpression("ScaleY", _("Scale of the height of an object"), _("Scale of the height of an object"), _("Size"), "res/actions/scaleHeight.png")
.AddParameter("object", _("Object"), "Sprite");
extension.AddCondition("Collision",
_("Collision (Pixel perfect)"),
_("The condition is true if there is a collision between the two objects.\nThe test is pixel-perfect."),
_("_PARAM0_ is in collision with _PARAM1_ (pixel perfect)"),
_("Collision"),
"res/conditions/collision24.png",
"res/conditions/collision.png")
.AddParameter("objectList", _("Object 1"), "Sprite")
.AddParameter("objectList", _("Object 2"), "Sprite")
.AddCodeOnlyParameter("conditionInverted", "");
#endif
}
}

View File

@@ -1,134 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#ifndef GDCORE_SPRITEOBJECT_H
#define GDCORE_SPRITEOBJECT_H
#include "GDCore/PlatformDefinition/Object.h"
#include "GDCore/BuiltinExtensions/SpriteExtension/Animation.h"
#include "GDCore/BuiltinExtensions/SpriteExtension/Direction.h"
#include "GDCore/BuiltinExtensions/SpriteExtension/Sprite.h"
namespace gd { class InitialInstance; }
namespace gd { class Object; }
namespace gd { class Layout; }
namespace gd { class Sprite; }
namespace gd { class Animation; }
namespace gd { class MainFrameWrapper; }
namespace gd { class SerializerElement; }
namespace gd { class PropertyDescriptor; }
#if defined(GD_IDE_ONLY)
class wxBitmap;
class wxWindow;
#endif
namespace gd
{
/**
* \brief Standard sprite object for extensions that implements the standard SpriteExtension
* (see gd::BuiltinExtensionsImplementer::ImplementsSpriteExtension).
*
* A Sprite object is an object composed of animations, containing directions with images.
*
* \see Animation
* \see Direction
* \see Sprite
* \see gd::BuiltinExtensionsImplementer::ImplementsSpriteExtension
* \ingroup SpriteObjectExtension
*/
class GD_CORE_API SpriteObject : public gd::Object
{
public :
SpriteObject(gd::String name_);
virtual ~SpriteObject();
virtual gd::Object * Clone() const { return new SpriteObject(*this);}
#if defined(GD_IDE_ONLY)
virtual bool GenerateThumbnail(const gd::Project & project, wxBitmap & thumbnail) const;
virtual void ExposeResources(gd::ArbitraryResourceWorker & worker);
virtual std::map<gd::String, gd::PropertyDescriptor> GetInitialInstanceProperties(const gd::InitialInstance & position, gd::Project & project, gd::Layout & scene);
virtual bool UpdateInitialInstanceProperty(gd::InitialInstance & position, const gd::String & name, const gd::String & value, gd::Project & project, gd::Layout & scene);
virtual void EditObject( wxWindow* parent, gd::Project & project, gd::MainFrameWrapper & mainFrameWrapper_ );
#if !defined(EMSCRIPTEN)
virtual void DrawInitialInstance(gd::InitialInstance & instance, sf::RenderTarget & renderTarget, gd::Project & project, gd::Layout & layout);
virtual sf::Vector2f GetInitialInstanceDefaultSize(gd::InitialInstance & instance, gd::Project & project, gd::Layout & layout) const;
virtual sf::Vector2f GetInitialInstanceOrigin(gd::InitialInstance & instance, gd::Project & project, gd::Layout & layout) const;
virtual void LoadResources(gd::Project & project, gd::Layout & layout);
#endif
virtual bool SupportShaders() { return true; }
#endif
/** \name Animations
* Methods related to animations management
*/
///@{
/**
* \brief Return the animation at the specified index.
* If the index is out of bound, a "bad animation" object is returned.
*/
const Animation & GetAnimation(std::size_t nb) const;
/**
* \brief Return the animation at the specified index.
* If the index is out of bound, a "bad animation" object is returned.
*/
Animation & GetAnimation(std::size_t nb);
/**
* \brief Return the number of animations this object has.
*/
std::size_t GetAnimationsCount() const { return animations.size(); };
/**
* \brief Add an animation at the end of the existing ones.
*/
void AddAnimation(const Animation & animation);
/**
* \brief Remove an animation.
*/
bool RemoveAnimation(std::size_t nb);
/**
* \brief Remove all animations.
*/
void RemoveAllAnimations() { animations.clear(); }
/**
* \brief Return true if the object hasn't any animation.
*/
bool HasNoAnimations() const { return animations.empty(); }
/**
* \brief Swap the position of two sprites
*/
void SwapAnimations(std::size_t firstIndex, std::size_t secondIndex);
/**
* \brief Return a read-only reference to the vector containing all the animation of the object.
*/
const std::vector < Animation > & GetAllAnimations() const { return animations; }
///@}
private:
virtual void DoUnserializeFrom(gd::Project & project, const gd::SerializerElement & element);
#if defined(GD_IDE_ONLY)
virtual void DoSerializeTo(gd::SerializerElement & element) const;
#endif
const Sprite * GetInitialInstanceSprite(gd::InitialInstance & instance, gd::Project & project, gd::Layout & layout, bool * shouldNotRotate = NULL) const;
mutable std::vector < Animation > animations;
static Animation badAnimation; //< Bad animation when an out of bound animation is requested.
};
GD_CORE_API gd::Object * CreateSpriteObject(gd::String name);
}
#endif // GDCORE_SPRITEOBJECT_H

View File

@@ -1,129 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsStringInstructionsExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinStringInstructions",
_("Text manipulation"),
_("Built-in extension providing expressions for manipulating texts."),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddStrExpression("NewLine",
_("Insert a new line"),
_("Insert a new line"),
_("Manipulation on text"),
"res/conditions/toujours24.png");
extension.AddStrExpression("FromCodePoint",
_("Get character from code point"),
_("Get character from code point"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("expression", _("Code point"));
extension.AddStrExpression("ToUpperCase",
_("Uppercase a text"),
_("Uppercase a text"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text"));
extension.AddStrExpression("ToLowerCase",
_("Lowercase a text"),
_("Lowercase a text"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text"));
extension.AddStrExpression("SubStr",
_("Get a portion of a text"),
_("Get a portion of a text"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text"))
.AddParameter("expression", _("Start position of the portion (the first letter is at position 0)"))
.AddParameter("expression", _("Length of the portion"));
extension.AddStrExpression("StrAt",
_("Get a character from a text"),
_("Get a character from a text"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text"))
.AddParameter("expression", _("Position of the character (the first letter is at position 0)"));
extension.AddExpression("StrLength",
_("Length of a text"),
_("Length of a text"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text"));
extension.AddExpression("StrFind",
_("Search in a text"),
_("Search in a text (return the position of the result or -1 if not found)"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text"))
.AddParameter("string", _("Text to search for"));
extension.AddExpression("StrRFind",
_("Search in a text from end"),
_("Search in a text from the end (return the position of the result or -1 if not found)"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text"))
.AddParameter("string", _("Text to search for"));
extension.AddExpression("StrFindFrom",
_("Search in a text, starting from a position"),
_("Search in a text starting from a position (return the position of the result or -1 if not found)"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text"))
.AddParameter("string", _("Text to search for"))
.AddParameter("expression", _("Position of the first character in the string to be considered in the search"));
extension.AddExpression("StrRFindFrom",
_("Search in a text from the end, starting from a position"),
_("Search in a text from the end, starting from a position (return the position of the result or -1 if not found)"),
_("Manipulation on text"),
"res/conditions/toujours24.png")
.AddParameter("string", _("Text"))
.AddParameter("string", _("Text to search for"))
.AddParameter("expression", _("Position of the last character in the string to be considered in the search"));
#endif
}
}

View File

@@ -1,154 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsTimeExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinTime",
_("Time"),
_("Built-in extension providing actions and conditions about the time."),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddCondition("Timer",
_("Value of a timer"),
_("Test the elapsed time of a timer."),
_("The timer _PARAM2_ is greater than _PARAM1_ seconds"),
_("Timers and time"),
"res/conditions/timer24.png",
"res/conditions/timer.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Time in seconds"))
.AddParameter("string", _("Timer's name"));
extension.AddCondition("TimeScale",
_("Time scale"),
_("Test the time scale."),
_("The time scale is _PARAM1__PARAM2_"),
_("Timers and time"),
"res/conditions/time24.png",
"res/conditions/time.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to test"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("TimerPaused",
_("State of a timer"),
_("Test if specified timer is paused."),
_("The timer _PARAM1_ is paused"),
_("Timers and time"),
"res/conditions/timerPaused24.png",
"res/conditions/timerPaused.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Timer's name"))
.MarkAsAdvanced();
extension.AddAction("ResetTimer",
_("Reset a timer"),
_("Reset the specified timer."),
_("Reset the timer _PARAM1_"),
_("Timers and time"),
"res/actions/timer24.png",
"res/actions/timer.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Timer's name"));
extension.AddAction("PauseTimer",
_("Pause a timer"),
_("Pause a timer."),
_("Pause timer _PARAM1_"),
_("Timers and time"),
"res/actions/pauseTimer24.png",
"res/actions/pauseTimer.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Timer's name"))
.MarkAsAdvanced();
extension.AddAction("UnPauseTimer",
_("Unpause a timer"),
_("Unpause a timer."),
_("Unpause timer _PARAM1_"),
_("Timers and time"),
"res/actions/unPauseTimer24.png",
"res/actions/unPauseTimer.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Timer's name"))
.MarkAsAdvanced();
extension.AddAction("RemoveTimer",
_("Delete a timer"),
_("Delete a timer from memory."),
_("Delete timer _PARAM1_ from memory"),
_("Timers and time"),
"res/actions/timer24.png",
"res/actions/timer.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Timer's name"))
.MarkAsAdvanced();
extension.AddAction("ChangeTimeScale",
_("Change time scale"),
_("Change the time scale of the game."),
_("Set time scale to _PARAM1_"),
_("Timers and time"),
"res/actions/time24.png",
"res/actions/time.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Scale (1 : Default, 2 : Faster, 0.5 : Slower...)"));
extension.AddExpression("TimeDelta", _("Time elapsed since the last image"), _("Time elapsed since the last image"), _("Time"), "res/actions/time.png")
.AddCodeOnlyParameter("currentScene", "");
extension.AddExpression("TempsFrame", _("Time elapsed since the last image"), _("Time elapsed since the last image"), _("Time"), "res/actions/time.png")
.SetHidden()
.AddCodeOnlyParameter("currentScene", "");
extension.AddExpression("ElapsedTime", _("Time elapsed since the last image"), _("Time elapsed since the last image"), _("Time"), "res/actions/time.png")
.SetHidden()
.AddCodeOnlyParameter("currentScene", "");
extension.AddExpression("TimerElapsedTime", _("Timer value"), _("Value of a timer"), _("Time"), "res/actions/time.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Timer's name"));
extension.AddExpression("TimeFromStart", _("Time elapsed since the beginning of the scene"), _("Time elapsed since the beginning of the scene"), _("Time"), "res/actions/time.png")
.AddCodeOnlyParameter("currentScene", "")
;
extension.AddExpression("TempsDebut", _("Time elapsed since the beginning of the scene"), _("Time elapsed since the beginning of the scene"), _("Time"), "res/actions/time.png")
.SetHidden()
.AddCodeOnlyParameter("currentScene", "")
;
extension.AddExpression("TimeScale", _("Time scale"), _("Time scale"), _("Time"), "res/actions/time.png")
.AddCodeOnlyParameter("currentScene", "")
;
extension.AddExpression("TimeScale", _("Time scale"), _("Time scale"), _("Time"), "res/actions/time.png")
.SetHidden()
.AddCodeOnlyParameter("currentScene", "");
extension.AddExpression("Time", _("Current time"), _("Current time"), _("Time"), "res/actions/time.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("", _("Hour : hour\nMinutes : min\nSeconds : sec\nDay in the month : mday\nMonths since January : mon\nYear since 1900 : year\nDays since sunday :wday\nDays since January 1st : yday"));
#endif
}
}

View File

@@ -1,203 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsVariablesExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinVariables",
_("Variable features"),
_("Built-in extension allowing to manipulate variables"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddCondition("VarScene",
_("Value of a variable"),
_("Compare the value of a scene variable."),
_("Variable _PARAM0_ is _PARAM1__PARAM2_"),
_("Variables"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("scenevar", _("Variable"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to compare"))
.SetManipulatedType("number");
extension.AddCondition("VarSceneTxt",
_("Text of a variable"),
_("Compare the text of a scene variable."),
_("The text of variable _PARAM0_ is _PARAM1__PARAM2_"),
_("Variables"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("scenevar", _("Variable"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("string", _("Text to compare"))
.SetManipulatedType("string");
extension.AddCondition("VariableChildExists",
_("Child existence"),
_("Return true if the specified child of the variable exists."),
_("Child _PARAM1_ of variable _PARAM0_ exists"),
_("Variables/Structures"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("scenevar", _("Variable"))
.AddParameter("string", _("Name of the child"))
.MarkAsAdvanced();
extension.AddCondition("GlobalVariableChildExists",
_("Child existence"),
_("Return true if the specified child of the global variable exists."),
_("Child _PARAM1_ of global variable _PARAM0_ exists"),
_("Variables/Global variables/Structures"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("globalvar", _("Variable"))
.AddParameter("string", _("Name of the child"))
.MarkAsAdvanced();
extension.AddCondition("VarSceneDef",
_("Test if a scene variable is defined"),
_("Test if the scene variable exist."),
_("Variable _PARAM0_ is defined"),
_("Variables"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Variable"))
.SetHidden();
extension.AddCondition("VarGlobal",
_("Value of a global variable"),
_("Compare the value of a global variable."),
_("Global variable _PARAM0_ is _PARAM1__PARAM2_"),
_("Variables/Global variables"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("globalvar", _("Variable"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Value to compare"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddCondition("VarGlobalTxt",
_("Text of a global variable"),
_("Compare the text of a global variable."),
_("The text of the global variable _PARAM0_ is _PARAM1__PARAM2_"),
_("Variables/Global variables"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddParameter("globalvar", _("Variable"))
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("string", _("Text to compare"))
.MarkAsAdvanced()
.SetManipulatedType("string");
extension.AddCondition("VarGlobalDef",
_("Test if a global variable is defined"),
_("Test if a global variable exists"),
_("Global variable _PARAM0_ is defined"),
_("Variables/Global variables"),
"res/conditions/var24.png",
"res/conditions/var.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Variable"))
.MarkAsAdvanced()
.SetHidden();
extension.AddAction("ModVarScene",
_("Value of a variable"),
_("Modify the value of a scene variable."),
_("Do _PARAM1__PARAM2_ to variable _PARAM0_"),
_("Variables"),
"res/actions/var24.png",
"res/actions/var.png")
.AddParameter("scenevar", _("Variable"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.SetManipulatedType("number");
extension.AddAction("ModVarSceneTxt",
_("String of a variable"),
_("Modify the text of a scene variable."),
_("Do _PARAM1__PARAM2_ to the text of variable _PARAM0_"),
_("Variables"),
"res/actions/var24.png",
"res/actions/var.png")
.AddParameter("scenevar", _("Variable"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("string", _("Text"))
.SetManipulatedType("string");
extension.AddAction("ModVarGlobal",
_("Value of a global variable"),
_("Modify the value of a global variable"),
_("Do _PARAM1__PARAM2_ to global variable _PARAM0_"),
_("Variables/Global variables"),
"res/actions/var24.png",
"res/actions/var.png")
.AddParameter("globalvar", _("Variable"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsAdvanced()
.SetManipulatedType("number");
extension.AddAction("ModVarGlobalTxt",
_("String of a global variable"),
_("Modify the text of a global variable."),
_("Do _PARAM1__PARAM2_ to the text of global variable _PARAM0_"),
_("Variables/Global variables"),
"res/actions/var24.png",
"res/actions/var.png")
.AddParameter("globalvar", _("Variable"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("string", _("Text"))
.MarkAsAdvanced()
.SetManipulatedType("string");
extension.AddAction("VariableRemoveChild",
_("Remove a child"),
_("Remove a child from a variable."),
_("Remove child _PARAM1_ from variable _PARAM0_"),
_("Variables/Structure"),
"res/actions/var24.png",
"res/actions/var.png")
.AddParameter("scenevar", _("Variable"))
.AddParameter("string", _("Child's name"))
.MarkAsAdvanced();
extension.AddAction("GlobalVariableRemoveChild",
_("Remove a child"),
_("Remove a child from a global variable."),
_("Remove child _PARAM1_ from global variable _PARAM0_"),
_("Variables/Global variables/Structure"),
"res/actions/var24.png",
"res/actions/var.png")
.AddParameter("globalvar", _("Variable"))
.AddParameter("string", _("Child's name"))
.MarkAsAdvanced();
extension.AddExpression("Variable", _("Scene variables"), _("Scene variables"), _("Variables"), "res/actions/var.png")
.AddParameter("scenevar", _("Variable"));
extension.AddStrExpression("VariableString", _("Scene variables"), _("Text of a scene variable"), _("Variables"), "res/actions/var.png")
.AddParameter("scenevar", _("Variable"));
extension.AddExpression("GlobalVariable", _("Global variables"), _("Global variable"), _("Variables"), "res/actions/var.png")
.AddParameter("globalvar", _("Name of the global variable"));
extension.AddStrExpression("GlobalVariableString", _("Global variables"), _("Text of a global variable"), _("Variables"), "res/actions/var.png")
.AddParameter("globalvar", _("Variable"));
#endif
}
}

View File

@@ -1,95 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2015 Florian Rival (Florian.Rival@gmail.com). All rights reserved.
* This project is released under the MIT License.
*/
#include "AllBuiltinExtensions.h"
#include "GDCore/Tools/Localization.h"
using namespace std;
namespace gd
{
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsWindowExtension(gd::PlatformExtension & extension)
{
extension.SetExtensionInformation("BuiltinWindow",
_("Window features"),
_("Built-in extension allowing to manipulate the game's window"),
"Florian Rival",
"Open source (MIT License)");
#if defined(GD_IDE_ONLY)
extension.AddAction("SetFullScreen",
_("De/activate fullscreen"),
_("This action activate or desactivate fullscreen."),
_("Activate fullscreen: _PARAM1_ (keep aspect ratio: _PARAM2_)"),
_("Game's window"),
"res/actions/fullscreen24.png",
"res/actions/fullscreen.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("yesorno", _("Activate fullscreen"))
.AddParameter("yesorno", _("Keep aspect ratio (HTML5 games only, yes by default)"), "",true).SetDefaultValue("yes");
extension.AddAction("SetWindowMargins",
_("Change window's margins"),
_("This action change the margins, in pixels, of the game's window."),
_("Set margins of game window to _PARAM1_;_PARAM2_;_PARAM3_;_PARAM4_"),
_("Game's window"),
"res/actions/window24.png",
"res/actions/window.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Top"))
.AddParameter("expression", _("Right"))
.AddParameter("expression", _("Bottom"))
.AddParameter("expression", _("Left"));
extension.AddAction("SetWindowSize",
_("Change the size of the screen"),
_("This action change the size of the game window."),
_("Change window size: _PARAM1_x_PARAM2_"),
_("Game's window"),
"res/actions/window24.png",
"res/actions/window.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("expression", _("Width"))
.AddParameter("expression", _("Height"))
.AddParameter("yesorno", _("Use this size as default size for new scene cameras\?\n(Yes to change extend the game area, No to stretch the game to the window's size)."));
extension.AddAction("SetWindowIcon",
_("Change window's icon"),
_("This action change the icon of the game's window."),
_("Use _PARAM1_ as icon for the game's window."),
_("Game's window"),
"res/actions/window24.png",
"res/actions/window.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("Name of the image to be used as the icon"));
extension.AddAction("SetWindowTitle",
_("Change window's title"),
_("This action change the title of the game window."),
_("Change window title to _PARAM1_"),
_("Game's window"),
"res/actions/window24.png",
"res/actions/window.png")
.AddCodeOnlyParameter("currentScene", "")
.AddParameter("string", _("New title"));
extension.AddExpression("SceneWindowWidth", _("Width of the scene window"), _("Width of the scene window (or scene canvas for HTML5 games)"), _("Screen"), "res/window.png")
.AddCodeOnlyParameter("currentScene", "");
extension.AddExpression("SceneWindowHeight", _("Height of the scene window"), _("Height of the scene window (or scene canvas for HTML5 games)"), _("Screen"), "res/window.png")
.AddCodeOnlyParameter("currentScene", "");
extension.AddExpression("ScreenWidth", _("Width of the screen/page"), _("Width of the screen (or the page for HTML5 games in browser)"), _("Screen"), "res/display16.png");
extension.AddExpression("ScreenHeight", _("Height of the screen/page"), _("Height of the screen (or the page for HTML5 games in browser)"), _("Screen"), "res/display16.png");
extension.AddExpression("ColorDepth", _("Color depth"), _("Color depth"), _("Screen"), "res/display16.png");
extension.AddStrExpression("WindowTitle", _("Window's title"), _("Window's title"), _("Screen"), "res/window.png")
.AddCodeOnlyParameter("currentScene", "");
#endif
}
}

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