Compare commits

...

94 Commits

Author SHA1 Message Date
Florian Rival
0a14872660 Bump newIDE version 2019-04-29 20:46:39 +01:00
Florian Rival
78834cbbfc Update translations 2019-04-29 20:43:05 +01:00
Florian Rival
668bd6a983 Fix action to set the string returned by an events function (SetReturnString) 2019-04-29 11:25:27 +01:00
Florian Rival
2cf2622b9e Fix crash at save (missing functions after integrating GDevelop.js in the repository) 2019-04-26 14:12:23 +01:00
Florian Rival
6d92430e76 Fix size of the game window when exported with Electron 2019-04-25 09:44:50 +01:00
Florian Rival
9b5a6d8bf0 Try more previous revision to find a pre-built libGD.js 2019-04-24 21:35:33 +01:00
Florian Rival
90c3f4f72b Avoid useless copy of arrays in ForEach event generated code
Lists of objects were wrongly initialized, creating a useless performance hit. All the objects of the "for each" were copied into arrays, before being emptied. And this, for every single object in the for each loop. This was particularly bad when a lot of objects were picked by the for each (if we have N objects, complexity was N*N copies of the array).
2019-04-24 21:23:16 +01:00
Florian Rival
c3794950ab Rename methods to declare list of objects without picking from scene, for consistency 2019-04-24 21:23:16 +01:00
Florian Rival
e7516baa0b Update bug report template to mention web-app 2019-04-24 19:29:28 +01:00
Florian Rival
88366b3362 Add margin around the full width InstructionEditorDialog 2019-04-23 22:47:13 +01:00
Florian Rival
dd93cecbcf Fix Events Sheet shortcuts 2019-04-23 21:53:35 +01:00
Florian Rival
359159b402 Remove VSCode flow workaround, as not needed anymore 2019-04-23 20:33:06 +01:00
Florian Rival
14b30677db Update README 2019-04-23 18:26:21 +01:00
Florian Rival
9f3dd50f99 Robustify import-libGD.js: allow to download a previous version of libGD.js if necessary 2019-04-23 18:00:54 +01:00
Florian Rival
1503b8eabd Update import-libGD.js error wording 2019-04-23 17:21:05 +01:00
Florian Rival
f3a86e93fd Don't error if libGD.js can't be downloaded, but a local one exists
This will happen when developers create commits on top of master
2019-04-23 17:19:12 +01:00
Florian Rival
c4b20ea7a4 Fix order for installation on Travis-CI
Install newIDE before building GDevelop.js will result in not finding any libGD.js for newIDE
2019-04-23 17:12:40 +01:00
Florian Rival
abf9321ed0 Update import-libGD.js to use an automatically built version 2019-04-23 17:08:30 +01:00
Florian Rival
ce9df3b57b Add back flags for C++11 2019-04-23 16:42:19 +01:00
Florian Rival
680c42c113 Remove check for C++11 compiler - assume compilers are now new enough to support it 2019-04-23 16:09:15 +01:00
Florian Rival
a648248680 Change output path of the Travis artifacts 2019-04-23 16:09:15 +01:00
Florian Rival
1693d863d3 Integrate GDevelop.js (emscripten bindings of Core/Extensions to JS) inside the repository 2019-04-23 16:09:15 +01:00
Florian Rival
ccc29ef416 Merge pull request #1034 from 4ian/refactor/remove-ide
Remove old IDE from GDevelop 5 codebase
2019-04-23 14:43:35 +01:00
Florian Rival
b9680e26e7 [WIP] Remove almost all remaining references to wxWidgets/GD4 IDE related code from codebase 2019-04-23 13:08:22 +01:00
Florian Rival
d444ed7e39 [WIP] Clean more old methods used only in GD4 2019-04-22 20:57:59 +01:00
Todor Imreorov
bb94cb2200 Add "Insert a New Object" to the Scene Editor context menu (#1025)
Visible when no instance selected
2019-04-22 15:01:27 +01:00
Florian Rival
eaf9494f91 [WIP] Remove deprecated network action 2019-04-22 14:57:28 +01:00
Florian Rival
d7abf86050 Fix preview crash with Firefox 2019-04-22 11:33:50 +01:00
Florian Rival
e8f4cfda85 Bump newIDE version 2019-04-22 00:34:48 +01:00
Florian Rival
e85c7dce01 Fix regression: slow opening of very large games 2019-04-21 22:58:24 +01:00
Florian Rival
87adc2cab9 [WIP] Clean old methods used only in GD4 in objects and behaviors (3) 2019-04-21 20:52:48 +01:00
Florian Rival
d59f40ff5d [WIP] Clean old methods used only in GD4 in objects and behaviors (2) 2019-04-21 19:40:05 +01:00
Florian Rival
edd98d8bd5 [WIP] Clean old methods used only in GD4 in objects and behaviors 2019-04-21 10:20:32 +01:00
Florian Rival
a8a6f2dfe9 Update translations 2019-04-21 00:01:36 +01:00
Florian Rival
73d9604107 [WIP] Remove all GDevelop 4 extensions not used in GDevelop 5 2019-04-20 23:29:59 +01:00
Florian Rival
04267acabc Add example video to BrowserResourceSources 2019-04-20 22:46:35 +01:00
Florian Rival
20e90e699c Add video-player example 2019-04-20 21:55:43 +01:00
Florian Rival
7f0033989a [WIP] Partially clean GDJS/GDCpp/GDCore of wxWidgets related code 2019-04-20 01:21:28 +01:00
Florian Rival
1de33312f3 Fix crash when using resource editor on web-app 2019-04-19 17:44:44 +01:00
Florian Rival
d1c6347f3d Add warning/information about using the Video object in the editor 2019-04-18 16:42:36 +01:00
Todor Imreorov
0ba44a4620 Add tooltips in Instances editor (#1023) 2019-04-17 17:43:28 +01:00
Florian Rival
db753e75cc Add empty renderer for VideoRuntimeObject for Cocos2D-JS 2019-04-17 09:46:25 +01:00
Bouh
db93a25b33 Add experimental Video extension (#951)
See remaining items here: https://github.com/4ian/GDevelop/pull/951#issuecomment-483974639
2019-04-17 08:43:30 +01:00
Florian Rival
1940b0cccd [WIP] Remove old IDE 2019-04-16 17:05:25 +01:00
Florian Rival
b101549c5b Add support for saving projects as multiple files (Folder Project) 2019-04-15 23:21:12 +01:00
Florian Rival
fefd862fbd Fix regression when launching external layout preview 2019-04-15 23:11:56 +01:00
Todor Imreorov
6333df011a Autosave projects when a preview is launched (#1015)
* Ask the user if they want to restore the autosave when opening a project with a recent autosave.
2019-04-14 17:46:15 +01:00
Florian Rival
d127cefdfb Fix Prettier 2019-04-13 16:02:11 +01:00
Florian Rival
5e325af153 Add help button in EventsFunctionExtractorDialog 2019-04-13 15:28:10 +01:00
Florian Rival
f57907c3d3 Update libGD.js version number 2019-04-13 10:10:24 +02:00
Florian Rival
64b59fd204 Fix some spacing 2019-04-13 10:09:43 +02:00
Florian Rival
ee53a59d69 Remove useless prop 2019-04-13 10:09:43 +02:00
Florian Rival
bf632c4c62 Add explanation about behavior arguments that differ from the behavior parameter name 2019-04-13 10:09:43 +02:00
Florian Rival
5add209ccf Improve naming in EventsContextAnalyzer 2019-04-13 10:09:43 +02:00
Florian Rival
480fc0dd4e Fix display of lists in EventsFunctionConfigurationEditor 2019-04-13 10:09:43 +02:00
Florian Rival
d9b22112c0 Add test for EventsFunctionExtractor 2019-04-13 10:09:43 +02:00
Florian Rival
9c4c2135d9 Add ScrollView 2019-04-13 10:09:43 +02:00
Florian Rival
1fca0e29ff Improve events function performance when querying objects 2019-04-13 10:09:43 +02:00
Florian Rival
b313b12004 Improve group support in EventsFunctionExtractor
Only expand groups into objects if the events are referencing one of these objects.
2019-04-13 10:09:43 +02:00
Florian Rival
37a3cf96b4 Add support for groups with behaviors in EventsFunctionExtractor 2019-04-13 10:09:43 +02:00
Florian Rival
59c2167f55 Add support for groups in EventsFunction 2019-04-13 10:09:43 +02:00
Florian Rival
42cbe3534f Add support for behaviors in EventsFunctionExtractor 2019-04-13 10:09:43 +02:00
Florian Rival
0a8ba7b838 Add EventsFunctionExtractor
No support for now for behaviors
2019-04-13 10:09:43 +02:00
Todor Imreorov
4e00dcf5ec Fix unzipper failing to extract external editors on Windows (#1018)
* Normalize paths
2019-04-10 09:44:00 +01:00
Todor Imreorov
098ec4941e Show resource name when hovering thumbnail (#1017) 2019-04-09 21:01:39 +01:00
Florian Rival
0b3b6f1b94 Robustify Clipboard handling 2019-04-07 20:28:16 +01:00
Todor Imreorov
9a64092244 Add variable/object thumbnail icons in the event sheet (#936) 2019-04-07 17:14:58 +01:00
Florian Rival
bc4fee0121 Remove preference to use the old expression parser 2019-04-07 16:38:33 +01:00
Florian Rival
b5e5db7755 Fix Flow 2019-04-07 16:37:10 +01:00
Florian Rival
c172d52116 Add alerts when entering dangerous values for minimum/maximum FPS values 2019-04-07 16:16:16 +01:00
Florian Rival
b7b94a18fb Add supporting for capping the maximum number of FPS, with safety margin 2019-04-07 16:06:05 +01:00
Wend1go
62858bbb68 Remove local paths in Pairs example (#1006) 2019-04-04 09:08:14 +01:00
Florian Rival
f078ad02f3 Add description for Pairs example, add it as starter 2019-04-04 00:24:24 +01:00
Wend1go
1c7d11a302 Add Tween behavior to animate object position/angle/properties (#980)
* Implementation based on Shifty.js
* Add examples
2019-04-03 23:34:11 +01:00
Bouh
20a62ef2dd Update link to Discord channel (#1004) 2019-04-02 13:18:41 +01:00
Kink
74e2aa1d24 Fix color picker in the scene properties (#1003)
Just inverted the checkbox and the colorfield : now the colorpicker doesn't show up over the checkbox button, and so there is no more "dead zone"  to pick a color in the color picker on the scene editor.
2019-04-02 12:36:35 +01:00
Florian Rival
18a99c664b Potential fix for games running on monitor/browsers with higher refresh rate (144hz, 70hz...) 2019-04-01 17:28:04 +01:00
Florian Rival
dde8d08693 Fix crash with LocalFolderPicker 2019-04-01 17:16:36 +01:00
Bouh
de1a47b013 Add checkboxes to filters by conditions/actions in the Events Search Panel (#996) 2019-04-01 17:48:04 +03:00
Todor Imreorov
75eaf911a2 Show object name when pasting and show hint if pasting as global
* also make font bold when object is global - so that it's easier to notice its status
2019-04-01 17:36:45 +03:00
Florian Rival
1dba4bbda8 Add updated package-lock.json after switching to unzipper 2019-03-26 22:17:53 +00:00
Todor Imreorov
9d14afa671 Disable menu items for disabling event/adding subevent if not applicable 2019-03-26 23:07:31 +01:00
Florian Rival
fd23daa3d2 Use unzipper instead of unzip2, removing dependencies on old fstream/graceful-fs 2019-03-26 21:51:20 +00:00
Florian Rival
9ba461675f Fix EmptyMessage wording in ResourcesPropertiesEditor 2019-03-18 20:55:16 +00:00
Florian Rival
0623cb2aaf Fix flow error 2019-03-17 22:59:08 +00:00
Florian Rival
ec6f8d04ed Add comment/errors for new version of react-sortable-tree 2019-03-17 22:16:05 +00:00
Florian Rival
06a4d30223 Make InstancesEditor initialization more robust against new react-dnd versions 2019-03-17 21:56:03 +00:00
Florian Rival
a27d0705a4 Fix typo in ParticleEmitterEditor 2019-03-17 20:39:35 +00:00
Florian Rival
60d7c8ca1e Fix deprecation warning with Pixi v4.8.6 2019-03-17 17:02:04 +00:00
Florian Rival
4b037c2543 Add marging to culling, to avoid issues when moving objects slightly out of the editor 2019-03-17 17:02:04 +00:00
Florian Rival
13302d7b30 Update to Pixi.js v4.8.6 (newIDE and GDJS game engine) 2019-03-17 17:02:04 +00:00
Florian Rival
596845cd76 Fix downhill-bike-physics-demo starter on web-app 2019-03-16 16:18:47 +00:00
Florian Rival
89316cbf50 Fix warning 2019-03-16 16:12:58 +00:00
Florian Rival
3cf8a8ea65 Add callbacks for when a gdjs.RuntimeScene is paused/resumed 2019-03-14 22:56:19 +00:00
2740 changed files with 57223 additions and 711903 deletions

View File

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

View File

@@ -21,4 +21,5 @@ Steps to reproduce the behavior:
## Other details
* Include any OS/browser version/smartphone that you're using
* Which version of GDevelop are you using? The desktop app or the web-app?
* Add any other context about the problem here.

11
.gitignore vendored
View File

@@ -3,8 +3,6 @@
/docs/GDJS Documentation
/docs/GDCpp Documentation
/docs/GDCore Documentation
/ExtLibs/wxwidgets
/ExtLibs/wxWidgets
/ExtLibs/SFML
/ExtLibs/*.7z
/scripts/Repository keys
@@ -20,14 +18,6 @@
/Binaries/Releases/**/*.tar.lzma
/Binaries/Releases/**/*.zip
/Binaries/Releases/**/*.deb
Binaries/Packaging/debian-source-package/gdevelop/
Binaries/Packaging/opensuse-build-service/gdevelop/
Binaries/Packaging/opensuse-build-service/final/
Binaries/Packaging/GDevelop.app
Binaries/Packaging/GDevelop.zip
Binaries/Packaging/GDevelop.pkg
Binaries/Packaging/logs
/GDevelop.js
*.depend
*.layout
*.xgdwe
@@ -46,7 +36,6 @@ Binaries/Packaging/logs
/Binaries/Output/Release_Linux/**
/Binaries/Output/Debug_Darwin/**
/Binaries/Output/Release_Darwin/**
/Binaries/Output/Frameworks/
!/Binaries/Output/Release_Linux/StartGDevelop.sh
!/Binaries/Output/Release_Linux/CppPlatform/
/Binaries/**/MinGW32

View File

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

View File

@@ -15,19 +15,13 @@
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/usr/include",
"/usr/local/lib/wx/include/osx_cocoa-unicode-3.0",
"/usr/local/include/wx-3.0",
"${workspaceRoot}"
],
"defines": [
"GD_IDE_ONLY",
"__WXMAC__",
"__WXOSX__",
"__WXOSX_COCOA__",
"GD_CORE_API=/* Macro used to export classes on Windows, please ignore */",
"GD_API=/* Macro used to export classes on Windows, please ignore */",
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */",
"WXUSINGDLL"
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */"
],
"intelliSenseMode": "clang-x64",
"browse": {
@@ -66,13 +60,9 @@
],
"defines": [
"GD_IDE_ONLY",
"__WXMAC__",
"__WXOSX__",
"__WXOSX_COCOA__",
"GD_CORE_API=/* Macro used to export classes on Windows, please ignore */",
"GD_API=/* Macro used to export classes on Windows, please ignore */",
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */",
"WXUSINGDLL"
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */"
],
"intelliSenseMode": "clang-x64",
"browse": {
@@ -102,13 +92,9 @@
"_DEBUG",
"UNICODE",
"GD_IDE_ONLY",
"__WXMAC__",
"__WXOSX__",
"__WXOSX_COCOA__",
"GD_CORE_API=/* Macro used to export classes on Windows, please ignore */",
"GD_API=/* Macro used to export classes on Windows, please ignore */",
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */",
"WXUSINGDLL"
"GD_EXTENSION_API=/* Macro used to export classes on Windows, please ignore */"
],
"intelliSenseMode": "msvc-x64",
"browse": {

View File

@@ -77,7 +77,9 @@
"cstdint": "cpp",
"forward_list": "cpp",
"mutex": "cpp",
"__hash": "cpp"
"__hash": "cpp",
"__debug": "cpp",
"__threading_support": "cpp"
},
"files.exclude": {
"Binaries/*build*": true,
@@ -94,10 +96,9 @@
"newIDE/app/resources/GDJS": true,
"newIDE/electron-app/app/www": true
},
// Support for Flowtype:
// Support for Flowtype (for newIDE):
"javascript.validate.enable": false,
"flow.useNPMPackagedFlow": true,
"flow.useLSP": false, // As we are in a monorepo, see https://github.com/flowtype/flow-for-vscode/issues/301
// Clang format styling (duplicated in scripts/CMakeClangUtils.txt)
"C_Cpp.clang_format_style": "{BasedOnStyle: Google, BinPackParameters: false, BinPackArguments: false}"

View File

@@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
viewBox="0 0 16.933333 16.933334"
version="1.1"
id="svg8"
inkscape:version="0.91 r13725"
sodipodi:docname="tween_behavior.svg"
inkscape:export-filename="/home/matthias/Programme/GD_MyFork/tween_example/icons/tween_behavior16.png"
inkscape:export-xdpi="22.500002"
inkscape:export-ydpi="22.500002">
<defs
id="defs2">
<mask
maskUnits="userSpaceOnUse"
id="mask1103">
<rect
style="opacity:1;fill:#e8e7e7;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect1105"
width="4.5836725"
height="17.212158"
x="35.265717"
y="5.1149116" />
</mask>
<mask
maskUnits="userSpaceOnUse"
id="mask1131">
<path
style="opacity:1;fill:#64b1df;fill-opacity:1;stroke:none;stroke-width:12.09194851;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
d="M 60.625098,21.909981 V 4.9766519 H 43.691765 v 0.006 l 16.92765,16.9276491 z"
id="path1133"
inkscape:connector-curvature="0" />
</mask>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.0786873"
inkscape:cx="29.846777"
inkscape:cy="20.519613"
inkscape:document-units="mm"
inkscape:current-layer="layer2"
showgrid="false"
units="px"
inkscape:snap-page="true"
inkscape:snap-bbox="true"
inkscape:snap-nodes="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:showpageshadow="false"
inkscape:window-width="1920"
inkscape:window-height="1026"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:snap-global="true">
<inkscape:grid
type="xygrid"
id="grid898" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Ebene1">
<rect
style="opacity:1;fill:#fefefe;fill-opacity:1;stroke:none;stroke-width:0.82572281;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect1051"
width="8.598958"
height="1.9843749"
x="-12.36927"
y="20.174479" />
<g
id="g3096"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
transform="translate(-43.691765,34.049609)">
<rect
style="opacity:1;fill:#4e9ac8;fill-opacity:1;stroke:none;stroke-width:12.09194851;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect3023"
width="16.933332"
height="16.933332"
x="43.691765"
y="-34.04929" />
<path
style="opacity:1;fill:#64b1df;fill-opacity:1;stroke:none;stroke-width:12.09194851;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
d="m 60.625099,-17.11628 0,-16.933329 -16.933333,0 0,0.006 16.92765,16.927649 z"
id="path3025"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#2c377f;stroke-width:1.60085762;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 47.198745,-30.887909 c 0,0 -3.27652,10.208224 0.152002,9.725277 3.410478,-0.480401 4.160872,-11.690975 8.651528,-9.26606 2.221298,1.19948 -0.281976,8.77544 -0.281976,8.77544"
id="path3027"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cssc" />
<circle
r="2.0333519"
cy="-30.52846"
cx="46.924824"
id="circle3045"
style="opacity:1;fill:#fefefe;fill-opacity:1;stroke:#424e96;stroke-width:0.80506569;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke" />
<path
style="opacity:1;fill:#e8e7e7;fill-opacity:1;stroke:none;stroke-width:0.64737606;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
d="m 45.769334,-31.686878 a 1.6231118,1.6471276 0 0 0 -0.472882,1.159772 1.6231118,1.6471276 0 0 0 1.623544,1.646848 1.6231118,1.6471276 0 0 0 1.142863,-0.479161 z"
id="path3047"
inkscape:connector-curvature="0" />
<circle
style="opacity:1;fill:#fefefe;fill-opacity:1;stroke:#424e96;stroke-width:1.28624356;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="circle3049"
cx="56.002975"
cy="-21.696535"
r="3.2486615" />
<path
style="opacity:1;fill:#e8e7e7;fill-opacity:1;stroke:none;stroke-width:1.03112972;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
d="m 54.141521,-23.515865 a 2.6043208,2.6043208 0 0 0 -0.760798,1.837285 2.6043208,2.6043208 0 0 0 2.604334,2.604333 2.6043208,2.6043208 0 0 0 1.837287,-0.760795 z"
id="path3051"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 19.1 16" style="enable-background:new 0 0 19.1 16;" xml:space="preserve">
<style type="text/css">
.st0{fill:#27AAE1;}
.st1{fill:#2B3990;}
.st2{fill:#FFFFFF;}
.st3{opacity:0.1;}
</style>
<rect id="base" x="2.9" y="1" class="st0" width="14" height="14"/>
<rect id="frame" x="3.9" y="3.7" class="st1" width="12" height="8.6"/>
<g id="hole">
<rect x="14.5" y="4.3" class="st2" width="1" height="0.9"/>
<rect x="4.4" y="4.3" class="st2" width="1" height="0.9"/>
<rect x="12" y="4.3" class="st2" width="1" height="0.9"/>
<rect x="6.9" y="4.3" class="st2" width="1" height="0.9"/>
<rect x="9.4" y="4.3" class="st2" width="1" height="0.9"/>
</g>
<g id="hole_1_">
<rect x="14.5" y="10.7" class="st2" width="1" height="0.9"/>
<rect x="4.4" y="10.7" class="st2" width="1" height="0.9"/>
<rect x="12" y="10.7" class="st2" width="1" height="0.9"/>
<rect x="6.9" y="10.7" class="st2" width="1" height="0.9"/>
<rect x="9.4" y="10.7" class="st2" width="1" height="0.9"/>
</g>
<polygon id="triangle_1_" class="st2" points="8.6,9.6 12.1,7.9 8.6,6.3 "/>
<g id="highlight">
<g class="st3">
<polygon points="16.9,15 2.9,1 2.9,15 "/>
<polygon class="st2" points="16.9,1 2.9,1 16.9,15 "/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key> <false/>
<key>com.apple.security.device.usb</key> <true/>
</dict>
</plist>

View File

@@ -1,120 +0,0 @@
#!/bin/sh
#Simply copy the entire GDevelop release directory into the bundle...
rm -rf GDevelop.app 2>&1 >/dev/null
cp -r macos-bundle-skeleton GDevelop.app
cp -r ../Output/Release_Darwin/ GDevelop.app/Contents/Resources/
cp -R ../../ExtLibs/SFML/extlibs/libs-osx/Frameworks GDevelop.app/Contents/
mkdir -p GDevelop.app/Contents/MacOS
mv GDevelop.app/Contents/Resources/GDIDE_launcher GDevelop.app/Contents/MacOS/GDIDE_launcher
type dylibbundler >/dev/null 2>&1 || { echo >&2 "Can't find dylibbundler, required to change libraries install names. Aborting..."; exit 1; }
#...and modify the internal paths to wxWidgets libraries:
#they are hardcoded in the executable (to /usr/local/lib or wherever they
#are installed).
#We use dylibbundler, that call install_name_tool to update the path to
#the external libs we depend one (i.e: wxWidgets). It also copy these
#libs into the 'libs' folder.
cd GDevelop.app/Contents/Resources/
echo . | dylibbundler -x GDIDE -b -cd -od -of -p '@executable_path/' > /dev/null
mv libs/* .
rm -rf libs
#Do the same for wxWidgets libs, to ensure that each wx library has
#the other local libraries as dependencies instead of the ones in /usr/local/[...].
for file in `ls libwx*`
do
echo . | dylibbundler -x $file -cd -od -of -p '@executable_path/'
done
#Do the same for GDCore and GDCpp.
#We don't need -b flag anymore as all external libs have already being copied.
echo . | dylibbundler -x libGDCpp.dylib -cd -od -of -p '@executable_path/' > /dev/null
echo . | dylibbundler -x libGDCore.dylib -cd -od -of -p '@executable_path/' > /dev/null
#Do the same for GDJS
cat <<EOF | dylibbundler -x JsPlatform/libGDJS.dylib -cd -od -of -p '@executable_path/' > /dev/null
JsPlatform
.
quit
EOF
#Do the same for all extensions
for file in `ls CppPlatform/Extensions/*.xgde`
do
echo "Updating libraries for $file..."
cat <<EOF | dylibbundler -x $file -cd -od -of -p '@executable_path/' > /dev/null
JsPlatform
CppPlatform/Extensions/
.
JsPlatform
CppPlatform/Extensions/
.
quit
EOF
done
for file in `ls JsPlatform/Extensions/*.xgde`
do
echo "Updating libraries for $file..."
cat <<EOF | dylibbundler -x $file -cd -od -of -p '@executable_path/' > /dev/null
JsPlatform
JsPlatform/Extensions/
.
JsPlatform
JsPlatform/Extensions/
.
quit
EOF
done
###Code signing and pkg building
#See http://kuvacode.com/blog/building-for-the-mac-app-store for more information
cd ../../..
#TODO:
rm -rf GDevelop.app/Contents/Resources/CppPlatform/Extensions/include/CommonDialogs/dlib-18.16/
rm -rf GDevelop.app/Contents/Resources/CppPlatform/Extensions/include/PhysicsBehavior/Box2D/Contributions
rm -rf GDevelop.app/Contents/Resources/CppPlatform/Extensions/Runtime/.xgd
rm -rf GDevelop.app/Contents/Resources/JsPlatform/Runtime/Extensions/CommonDialogs/dlib-18.16/
rm -rf GDevelop.app/Contents/Resources/JsPlatform/Runtime/Extensions/PhysicsBehavior/Box2D/Contributions
rm GDevelop.app/Contents/Resources/7zS.sfx
#Now sign the package:
function sign {
codesign -f -v --deep -s "Developer ID Application: Florian Rival" $1 --entitlements GDevelop.entitlements
}
for file in `ls GDevelop.app/Contents/Resources/*.dylib`
do
sign $file
done
for file in `ls GDevelop.app/Contents/Resources/CppPlatform/Extensions/*.{xgde,dylib}`
do
sign $file
done
for file in `ls GDevelop.app/Contents/Resources/JsPlatform/Extensions/*.{xgde,dylib}`
do
sign $file
done
for file in `ls GDevelop.app/Contents/Resources/CppPlatform/Extensions/Runtime/*.xgd`
do
sign $file
done
sign "GDevelop.app/Contents/Resources/CppPlatform/Runtime/ExeLinux"
sign "GDevelop.app/Contents/Resources/CppPlatform/Runtime/libGDCpp.dylib"
sign "GDevelop.app/Contents/Resources/JsPlatform/libGDJS.dylib"
sign "GDevelop.app/Contents/Resources/GDIDE"
sign "GDevelop.app/Contents/MacOS/GDIDE_launcher"
sign "GDevelop.app/Contents/Frameworks/sndfile.framework/Versions/Current"
sign "GDevelop.app/Contents/Frameworks/freetype.framework/Versions/Current"
sign "GDevelop.app"
#And create the pkg:
productbuild --component "GDevelop.app" /Applications --sign "Developer ID Installer: Florian Rival" --product "GDevelop.app/Contents/Info.plist" GDevelop.pkg

View File

@@ -1,91 +0,0 @@
#!/bin/bash
echo "This script will add the files needed by OBS in :\n'$PWD/opensuse-build-service/final'"
echo "Before that, enter those information:"
#Auto-detect last GDevelop version and current branch
(git tag -l *.*.* | sort -V -r) > versions
read autoversion < versions
(git rev-parse --abbrev-ref HEAD) > branch
read autobranch < branch
printf " GDevelop version ([ENTER] to use auto-detected [$autoversion]): "
read GD_VERSION
printf "$GD_VERSION"
if [ "$GD_VERSION" == "" ]; then
GD_VERSION="$autoversion"
fi
printf " Package revision (number): "
read PACKAGE_REV
printf " Git branch to use ([ENTER] to use current [$autobranch]): "
read BRANCH
if [ "$BRANCH" == "" ]; then
BRANCH="$autobranch"
fi
DATE=$(LC_ALL=C date +'%a, %d %b %Y %T %z')
GD_BASE_DIR=$(pwd)/../../
CUR_DIR=$(pwd)
echo "Started the OBS packaging process, using latest '$BRANCH' git tree"
#Remove old folders
printf " Preparing folders... "
if [ -d "opensuse-build-service/gdevelop" ]; then
rm -rf opensuse-build-service/gdevelop
fi
if [ -d "opensuse-build-service/final" ]; then
rm -rf opensuse-build-service/final
fi
mkdir -p opensuse-build-service/gdevelop
mkdir -p opensuse-build-service/final
echo "[OK]"
#Create the tar.gz containing the source
printf " Getting the sources... "
cd $GD_BASE_DIR
git archive --format tar.gz --output $CUR_DIR/opensuse-build-service/gdevelop/gdevelop_$GD_VERSION.orig.tar.gz --prefix=gdevelop-$GD_VERSION/ $BRANCH
cd $CUR_DIR/opensuse-build-service/gdevelop
tar zxf gdevelop_$GD_VERSION.orig.tar.gz
echo "[OK]"
#We need to include ExtLibs/SFML.7z because the buildbot do not have access to internet
printf " Copying SFML archive... "
cp -rf $GD_BASE_DIR/ExtLibs/SFML gdevelop-$GD_VERSION/ExtLibs/
echo "[OK]"
#Recreate the tar.gz with the added sources
printf " Creating the source archive... "
rm gdevelop_$GD_VERSION.orig.tar.gz
tar -zcf ../final/gdevelop_$GD_VERSION.orig.tar.gz gdevelop-$GD_VERSION/
echo "[OK]"
#Process SPEC and PKGBUILD files
cd ..
m4 -DMACRO_GD_VERSION=$GD_VERSION -DMACRO_PACKAGE_REV=$PACKAGE_REV gdevelop.spec >> final/gdevelop.spec
m4 -DMACRO_GD_VERSION=$GD_VERSION -DMACRO_PACKAGE_REV=$PACKAGE_REV PKGBUILD >> final/PKGBUILD
cp gdevelop-rpmlintrc final
cp PKGBUILD.install final
#Create the changelog and open an editor to edit it
echo -n "* " >> changelog.tmp
echo -n `LC_TIME=en_US date +"%a %b %e %Y"` >> changelog.tmp
echo -n " " >> changelog.tmp
echo -n `git config --get user.name` >> changelog.tmp
echo -n " <" >> changelog.tmp
echo -n `git config --get user.email` >> changelog.tmp
echo "> $GD_VERSION-$PACKAGE_REV" >> changelog.tmp
echo -n "- " >> changelog.tmp
"${EDITOR:-nano}" changelog.tmp
#Add the changelog at the end of the spec and as a separate file for PKGBUILD
mapfile < changelog.tmp
echo "${MAPFILE[@]}" >> final/gdevelop.spec
mv changelog.tmp final/PKGBUILD.changelog
#End
echo "Packaging process finished."

View File

@@ -1,63 +0,0 @@
#!/bin/sh
GPG_PUBLIC_KEY=0xA8025399
GD_VERSION=3.6.78
GD_VERSION_WITH_REV="$GD_VERSION"002
DISTRO=utopic
BRANCH=master
DATE=$(LC_ALL=C date +'%a, %d %b %Y %T %z')
GD_BASE_DIR=$(pwd)/../../
CUR_DIR=$(pwd)
UPLOAD="true"
DEBUILD_ARGS=""
while test $# -gt 0
do
case "$1" in
--no-upload) UPLOAD="false"
;;
--no-orig-tar-upload) DEBUILD_ARGS="-sd"
;;
esac
shift
done
echo "Started the debian source packaging process, using latest '$BRANCH' git tree"
#Create the changelog file
echo "gdevelop ($GD_VERSION_WITH_REV-1~$DISTRO) $DISTRO; urgency=low" > debian-source-package/extra-files/debian/changelog
echo "" >> debian-source-package/extra-files/debian/changelog
echo " * Released $GD_VERSION" >> debian-source-package/extra-files/debian/changelog
echo "" >> debian-source-package/extra-files/debian/changelog
echo " -- Florian <Florian.Rival@gmail.com> $DATE" >> debian-source-package/extra-files/debian/changelog
if [ -d "debian-source-package/gdevelop" ]; then
rm -rf debian-source-package/gdevelop
fi
mkdir -p debian-source-package/gdevelop
#Create the tar.gz containing the source
cd $GD_BASE_DIR
git archive --format tar.gz --output $CUR_DIR/debian-source-package/gdevelop/gdevelop_$GD_VERSION_WITH_REV.orig.tar.gz --prefix=gdevelop-$GD_VERSION_WITH_REV/ $BRANCH
cd $CUR_DIR/debian-source-package/gdevelop
tar zxvf gdevelop_$GD_VERSION_WITH_REV.orig.tar.gz
#We need to include ExtLibs/SFML.7z because buildbot do not have access to internet
cp $GD_BASE_DIR/ExtLibs/SFML.7z gdevelop-$GD_VERSION_WITH_REV/ExtLibs/
#Recreate the tar.gz with the added sources
rm gdevelop_$GD_VERSION_WITH_REV.orig.tar.gz
tar -zcvf gdevelop_$GD_VERSION_WITH_REV.orig.tar.gz gdevelop-$GD_VERSION_WITH_REV
#Add the debian folder
cp -r $CUR_DIR/debian-source-package/extra-files/debian gdevelop-$GD_VERSION_WITH_REV/
#Launch debuild
cd gdevelop-$GD_VERSION_WITH_REV/
debuild -S -sa -k$GPG_PUBLIC_KEY $DEBUILD_ARGS
cd ..
#Send ppa
if [ "$UPLOAD" = "true" ]; then
dput ppa:florian-rival/gdevelop gdevelop_$GD_VERSION_WITH_REV-1~"$DISTRO"_source.changes
fi;

View File

@@ -1,53 +0,0 @@
@echo off > %TEMP%\#
md logs
setLocal EnableDelayedExpansion
echo Script for packaging GDevelop for Windows
echo.
::Try to find Inno Setup
set INNOSETUP_EXE=C:\Program Files (x86)\Inno Setup 5\ISCC.exe
IF NOT EXIST "%INNOSETUP_EXE%" set INNOSETUP_EXE=C:\Program Files\Inno Setup 5\ISCC.exe
IF EXIST "%INNOSETUP_EXE%" (
echo "Note: InnoSetup found at %INNOSETUP_EXE%"
) ELSE (
echo Warning: InnoSetup Unicode not found! Skipping installer creation.
SET SKIPINSTALLER=1
)
echo Please ensure that locale directory is up to date with latest translations.
pause
echo Compiling Release target...
cd ..
IF EXIST "build" (
cd build
mingw32-make -j 4
cd ..
) ELSE (
echo Unable to find build directory, just make sure that GD is compiled inside Release_Windows
)
echo.
echo --Removing useless files...
del Output\Release_Windows\Examples\*.gdg.autosave > NUL 2> NUL
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 /Qp
IF "%SKIPINSTALLER%"=="1" echo (Skipped)
echo.
echo --Creating archive...
if exist Releases\gd4xxxx.7z (del Releases\gd4xxxx.7z)
cd Output\Release_Windows\
IF NOT "%SKIPINSTALLERANDARCHIVE%"=="1" "..\..\..\ExtLibs\7za.exe" a ..\..\Releases\gd4xxxx.7z * -bb
IF "%SKIPINSTALLERANDARCHIVE%"=="1" echo (Skipped)
cd ..\..\..
echo. >CON
echo Finished. Do not forget to : >CON
echo -Update news.txt >CON
echo -Update pad file >CON
pause >CON

View File

@@ -1,2 +0,0 @@
This directory contains scripts used to package GDevelop.
For Windows, packaging is made using Inno Setup, please ensure you have it installed.

View File

@@ -1,5 +0,0 @@
gdevelop (3.6.77001-1~utopic) utopic; urgency=low
* Released 3.6.77
-- Florian <Florian.Rival@gmail.com> Sat, 24 Jan 2015 17:46:44 +0100

View File

@@ -1,18 +0,0 @@
Source: gdevelop
Section: editors
Priority: optional
Maintainer: Florian <Florian.Rival@gmail.com>
Build-Depends: debhelper (>= 8.0.0), cmake, rsync, curl, p7zip-full, libwxgtk3.0-dev, libwebkitgtk-3.0-dev, libwebkitgtk-dev, libopenal-dev, libjpeg-dev, libglew-dev, libudev-dev, libxrandr-dev, libsndfile1-dev, libglu1-mesa-dev, libfreetype6-dev
Standards-Version: 3.9.4
Homepage: http://www.compilgames.net
#Vcs-Git: git://git.debian.org/collab-maint/gdevelop.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/gdevelop.git;a=summary
Package: gdevelop
Architecture: amd64
Depends: ${shlibs:Depends}, ${misc:Depends}, build-essential
Description: GDevelop, open source HTML5 and native game creator software
GDevelop is an open source game development software
allowing to create HTML5 and native games
without programming.

View File

@@ -1,38 +0,0 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: gdevelop
Source: <url://example.com>
Files: *
Copyright: <years> <put author's name and email here>
<years> <likewise for another author>
License: <special license>
<Put the license of the package here indented by 1 space>
<This follows the format of Description: lines in control file>
.
<Including paragraphs>
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2014 Florian <Florian.Rival@gmail.com>
License: GPL-2+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
# Please avoid to pick license terms that are more restrictive than the
# packaged work, as it may make Debian's contributions unacceptable upstream.

View File

@@ -1,2 +0,0 @@
license.txt
Readme.md

View File

@@ -1,14 +0,0 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh $@
override_dh_auto_configure:
dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=/opt/gdevelop/useless -DCMAKE_BUILD_TYPE=Release -DNO_UPDATE_CHECKER=TRUE
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=-ldebian/gdevelop/opt/gdevelop/

View File

@@ -1,337 +0,0 @@
; *** Inno Setup version 5.5.3+ Chinese (Simplified) messages ***
; By Qiming Li (qiming at clault.com)
;
; To download user-contributed translations of this file, go to:
; http://www.jrsoftware.org/files/istrans/
;
; Note: When translating this text, do not add periods (.) to the end of
; messages that didn't have them already, because on those messages Inno
; Setup adds the periods automatically (appending a period would result in
; two periods being displayed).
[LangOptions]
; The following three entries are very important. Be sure to read and
; understand the '[LangOptions] section' topic in the help file.
LanguageName=<4E2D><6587><FF08><7B80><4F53><FF09>
LanguageID=$0804
LanguageCodePage=936
; If the language you are translating to requires special font faces or
; sizes, uncomment any of the following entries and change them accordingly.
DialogFontName=<3D><><EFBFBD><EFBFBD>
;DialogFontSize=8
;WelcomeFontName=Verdana
;WelcomeFontSize=12
;TitleFontName=Arial
;TitleFontSize=29
;CopyrightFontName=Arial
;CopyrightFontSize=8
[Messages]
; *** Application titles
SetupAppTitle=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
SetupWindowTitle=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD> - %1
UninstallAppTitle=ж<><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UninstallAppFullTitle=%1ж<31><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; *** Misc. common
InformationTitle=<3D><>Ϣ
ConfirmTitle=ȷ<><C8B7>
ErrorTitle=<3D><><EFBFBD><EFBFBD>
; *** SetupLdr messages
SetupLdrStartupMessage=<3D><>װ<EFBFBD>򵼽<EFBFBD><F2B5BCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>ϰ<EFBFBD>װ%1<><31>ȷ<EFBFBD><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LdrCannotCreateTemp=<3D>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ֹ
LdrCannotExecTemp=<3D>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ֹ
; *** Startup error messages
LastErrorMessage=%1.%n%n<><6E><EFBFBD><EFBFBD> %2: %3
SetupFileMissing=<3D><>װĿ¼<C4BF><C2BC>ȱʧ<C8B1>ļ<EFBFBD>%1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD>ȡһ<C8A1>ݳ<EFBFBD><DDB3>򿽱<EFBFBD><F2BFBDB1><EFBFBD>
SetupFileCorrupt=<3D><>װ<EFBFBD>ļ<EFBFBD><C4BC>ѱ<EFBFBD><D1B1>𻵡<EFBFBD><F0BBB5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD>ȡһ<C8A1>ݳ<EFBFBD><DDB3>򿽱<EFBFBD><F2BFBDB1><EFBFBD>
SetupFileCorruptOrWrongVer=<3D><>װ<EFBFBD>ļ<EFBFBD><C4BC>ѱ<EFBFBD><D1B1>𻵣<EFBFBD><F0BBB5A3><EFBFBD><EFBFBD><EFBFBD><EBB1BE>װ<EFBFBD>򵼰汾<F2B5BCB0><E6B1BE><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><DDA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD>ȡһ<C8A1>ݳ<EFBFBD><DDB3>򿽱<EFBFBD><F2BFBDB1><EFBFBD>
InvalidParameter=<3D><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>%n%n%1
SetupAlreadyRunning=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>С<EFBFBD>
WindowsVersionNotSupported=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Windows<77><EFBFBD><E6B1BE>
WindowsServicePackRequired=<3D><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>%1 Service Pack %2<><32><EFBFBD><EFBFBD><EFBFBD>°汾<C2B0><E6B1BE>
NotOnThisPlatform=<3D><><EFBFBD>򲻿<EFBFBD><F2B2BBBF><EFBFBD>%1<><31><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
OnlyOnThisPlatform=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1<><31><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
OnlyOnTheseArchitectures=<3D><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>Windows<77><EFBFBD>ϰ<EFBFBD>װ<EFBFBD><D7B0>%n%n%1
MissingWOW64APIs=<3D><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>Windows<77>汾û<E6B1BE>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>64λ<34><CEBB>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>ܡ<EFBFBD><DCA1>밲װService Pack %1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WinVersionTooLowError=<3D><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>%2<><EFBFBD><E6B1BE><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>%1<><31>
WinVersionTooHighError=<3D><><EFBFBD>򲻿ɰ<F2B2BBBF>װ<EFBFBD><D7B0>%2<><32><EFBFBD><EFBFBD><EFBFBD>߰汾<DFB0><E6B1BE>%1<>ϡ<EFBFBD>
AdminPrivilegesRequired=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼Ϊ<C2BC><CEAA><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ܰ<EFBFBD>װ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
PowerUserPrivilegesRequired=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼Ϊ<C2BC><CEAA><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ܰ<EFBFBD>װ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
SetupAppRunningError=<3D><>װ<EFBFBD>򵼼<EFBFBD><F2B5BCBC>⵽%1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>%n%n<><6E><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>װ<EFBFBD><D7B0>
UninstallAppRunningError=ж<><D0B6><EFBFBD>򵼼<EFBFBD><F2B5BCBC>⵽%1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>%n%n<><6E><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ڣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>
; *** Misc. errors
ErrorCreatingDir=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>С<EFBFBD>%1<><31>
ErrorTooManyFilesInDir=<3D><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>С<EFBFBD>%1<><31><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ļ<EFBFBD>
; *** Setup common messages
ExitSetupTitle=<3D>˳<EFBFBD><CBB3><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
ExitSetupMessage=<3D><>װ<EFBFBD><D7B0>δ<EFBFBD><CEB4><EFBFBD>ɡ<EFBFBD><C9A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򽫲<EFBFBD><F2BDABB2><EFBFBD><E1B1BB>װ<EFBFBD><D7B0> %n%n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><C9B3><EFBFBD><EFBFBD>İ<EFBFBD>װ<EFBFBD><D7B0>%n%nȷ<6E><C8B7><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AboutSetupMenuItem=<3D><><EFBFBD>ڰ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(&A)<29><>
AboutSetupTitle=<3D><><EFBFBD>ڰ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
AboutSetupMessage=%1<>汾%2%n%3%n%n%1<><31>ҳ<EFBFBD><D2B3>%n%4
AboutSetupNote=
TranslatorNote=
; *** Buttons
ButtonBack=< <20><>һ<EFBFBD><D2BB>(&B)
ButtonNext=<3D><>һ<EFBFBD><D2BB>(&N) >
ButtonInstall=<3D><>װ(&I)
ButtonOK=ȷ<><C8B7>
ButtonCancel=ȡ<><C8A1>
ButtonYes=<3D><>(&Y)
ButtonYesToAll=ȫѡ<C8AB><D1A1>(&A)
ButtonNo=<3D><>(&N)
ButtonNoToAll=ȫѡ<C8AB><D1A1>(&O)
ButtonFinish=<3D><><EFBFBD><EFBFBD>(&F)
ButtonBrowse=<3D><><EFBFBD><EFBFBD>(&B)<29><>
ButtonWizardBrowse=<3D><><EFBFBD><EFBFBD>(&R)<29><>
ButtonNewFolder=<3D><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>(&M)
; *** "Select Language" dialog messages
SelectLanguageTitle=ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SelectLanguageLabel=ѡ<><D1A1><EFBFBD><EFBFBD>װʱʹ<CAB1><CAB9><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>
; *** Common wizard text
ClickNext=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>װ<EFBFBD>򵼡<EFBFBD>
BeveledLabel=
BrowseDialogTitle=<3D><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
BrowseDialogLabel=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ѡȡһ<C8A1><D2BB><EFBFBD>ļ<EFBFBD><C4BC>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
NewFolderName=<3D>½<EFBFBD><C2BD>ļ<EFBFBD><C4BC><EFBFBD>
; *** "Welcome" wizard page
WelcomeLabel1=<3D><>ӭʹ<D3AD><CAB9>[name]<5D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
WelcomeLabel2=<3D><><EFBFBD>򵼽<EFBFBD><F2B5BCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>ϰ<EFBFBD>װ[name/ver]%n%n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD>֮ǰ<D6AE>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
; *** "Password" wizard page
WizardPassword=<3D><><EFBFBD><EFBFBD>
PasswordLabel1=<3D><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB1A3><EFBFBD><EFBFBD>
PasswordLabel3=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд<D0A1><D0B4>
PasswordEditLabel=<3D><><EFBFBD><EFBFBD>(&P)<29><>
IncorrectPassword=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD>
; *** "License Agreement" wizard page
WizardLicense=<3D><><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>
LicenseLabel=<3D><><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>Ϣ<EFBFBD><CFA2>Ȼ<EFBFBD><C8BB><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
LicenseLabel3=<3D><><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><E9A1A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EEA3AC><C8BB><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
LicenseAccepted=<3D>ҽ<EFBFBD><D2BD><EFBFBD>Э<EFBFBD><D0AD>(&A)
LicenseNotAccepted=<3D>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>(&D)
; *** "Information" wizard pages
WizardInfoBefore=<3D><>Ϣ
InfoBeforeLabel=<3D><><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>Ϣ<EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
InfoBeforeClickLabel=׼<><D7BC><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>󣬵<EFBFBD><F3A3ACB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WizardInfoAfter=<3D><>Ϣ
InfoAfterLabel=<3D><><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>Ϣ<EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
InfoAfterClickLabel=׼<><D7BC><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>󣬵<EFBFBD><F3A3ACB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; *** "User Information" wizard page
WizardUserInfo=<3D>û<EFBFBD><C3BB><EFBFBD>Ϣ
UserInfoDesc=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
UserInfoName=<3D>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>(&U)<29><>
UserInfoOrg=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)<29><>
UserInfoSerial=<3D><><EFBFBD>к<EFBFBD><D0BA><EFBFBD>(&S)<29><>
UserInfoNameRequired=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
; *** "Select Destination Location" wizard page
WizardSelectDir=ѡ<><D1A1><EFBFBD><EFBFBD>װλ<D7B0><CEBB>
SelectDirDesc=<3D><>[name]<5D><>װ<EFBFBD><D7B0><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>
SelectDirLabel3=<3D><>װ<EFBFBD>򵼽<EFBFBD><F2B5BCBD><EFBFBD>[name]<5D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>С<EFBFBD>
SelectDirBrowseLabel=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫѡ<D2AA><D1A1><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>ļ<EFBFBD><C4BC>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DiskSpaceMBLabel=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[mb]<5D><><EFBFBD>ֽڣ<D6BD>MB<4D><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4>̿ռ
CannotInstallToNetworkDrive=<3D>޷<EFBFBD><DEB7><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CannotInstallToUNCPath=<3D>޷<EFBFBD><DEB7><EFBFBD>װ<EFBFBD><D7B0>UNC·<43><C2B7><EFBFBD><EFBFBD>
InvalidPath=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>磺%n%nC:\Ӧ<>ó<EFBFBD><C3B3><EFBFBD>%n%n<><6E><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ʽ<EFBFBD><CABD>UNC·<43><C2B7><EFBFBD><EFBFBD>%n%n\\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC>
InvalidDrive=<3D><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UNC<4E><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ򲻿ɷ<F2B2BBBF><C9B7>ʡ<EFBFBD><CAA1><EFBFBD><EFBFBD><EFBFBD>ѡһ<D1A1><D2BB><EFBFBD><EFBFBD>
DiskSpaceWarningTitle=<3D><><EFBFBD>̿ռ<D5BC><E4B2BB>
DiskSpaceWarning=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1ǧ<31>ֽڣ<D6BD>KB<4B><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿռ<C3BF><D5BC>ſɰ<C5BF>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%2ǧ<32>ֽڣ<D6BD>KB<4B><42><EFBFBD><EFBFBD><EFBFBD>ÿռ䡣%n%n<><6E>ȷ<EFBFBD><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DirNameTooLong=<3D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>·<EFBFBD><C2B7>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>
InvalidDirName=<3D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
BadDirName32=<3D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2>ܰ<EFBFBD><DCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>%n%n%1
DirExistsTitle=<3D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD>
DirExists=<3D>ļ<EFBFBD><C4BC><EFBFBD>%n%n%1%n%n<>Ѵ<EFBFBD><D1B4>ڡ<EFBFBD><DAA1><EFBFBD>ȷ<EFBFBD><C8B7>Ҫ<EFBFBD><D2AA>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DirDoesntExistTitle=<3D>ļ<EFBFBD><C4BC>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>
DirDoesntExist=<3D>ļ<EFBFBD><C4BC><EFBFBD>%n%n%1%n%n<><6E><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; *** "Select Components" wizard page
WizardSelectComponents=ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SelectComponentsDesc=Ҫ<><D2AA>װ<EFBFBD><D7B0>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SelectComponentsLabel2=<3D><>ѡ<EFBFBD><D1A1>Ҫ<EFBFBD><D2AA>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><D7BC><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FullInstallation=ȫ<><C8AB><EFBFBD><EFBFBD>װ
; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
CompactInstallation=<3D><><EFBFBD>లװ
CustomInstallation=<3D>Զ<EFBFBD><D4B6>尲װ
NoUninstallWarningTitle=<3D><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD>
NoUninstallWarning=<3D><>װ<EFBFBD>򵼼<EFBFBD><F2B5BCBC><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%n%n%1%n%nȡ<6E><C8A1>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%n%n<><6E>ȷ<EFBFBD><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
ComponentSize1=%1ǧ<31>ֽڣ<D6BD>KB<4B><42>
ComponentSize2=%1<><31><EFBFBD>ֽڣ<D6BD>MB<4D><42>
ComponentsDiskSpaceMBLabel=Ŀǰ<C4BF><C7B0>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[mb]<5D><><EFBFBD>ֽڣ<D6BD>MB<4D><42><EFBFBD><EFBFBD><EFBFBD>̿ռ
; *** "Select Additional Tasks" wizard page
WizardSelectTasks=ѡ<>񸽼<EFBFBD><F1B8BDBC><EFBFBD><EFBFBD><EFBFBD>
SelectTasksDesc=Ҫִ<D2AA><D6B4><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SelectTasksLabel2=<3D><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>װ[name]ʱ<><CAB1>Ҫִ<D2AA>еĸ<D0B5><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; *** "Select Start Menu Folder" wizard page
WizardSelectProgramGroup=ѡ<><D1A1><EFBFBD><EFBFBD>ʼ<EFBFBD>˵<EFBFBD><CBB5>ļ<EFBFBD><C4BC><EFBFBD>
SelectStartMenuFolderDesc=<3D>ѳ<EFBFBD><D1B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>
SelectStartMenuFolderLabel3=<3D><>װ<EFBFBD>򵼽<EFBFBD><F2B5BCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD>ʼ<EFBFBD>˵<EFBFBD><CBB5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ<EFBFBD><CABD>
SelectStartMenuFolderBrowseLabel=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫѡ<D2AA><D1A1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ļ<EFBFBD><C4BC>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MustEnterGroupName=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GroupNameTooLong=<3D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>·<EFBFBD><C2B7>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>
InvalidGroupName=<3D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
BadGroupName=<3D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2>ܰ<EFBFBD><DCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>%n%n%1
NoProgramGroupCheck2=<3D><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>˵<EFBFBD><CBB5>ļ<EFBFBD><C4BC><EFBFBD>(&D)
; *** "Ready to Install" wizard page
WizardReady=<3D><>װ׼<D7B0><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ReadyLabel1=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>ϰ<EFBFBD>װ[name]<5D><>
ReadyLabel2a=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>Ҫȷ<D2AA>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ReadyLabel2b=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>װ<EFBFBD><D7B0>
ReadyMemoUserInfo=<3D>û<EFBFBD><C3BB><EFBFBD>Ϣ<EFBFBD><CFA2>
ReadyMemoDir=<3D><>װλ<D7B0>ã<EFBFBD>
ReadyMemoType=<3D><>װ<EFBFBD><D7B0><EFBFBD>ͣ<EFBFBD>
ReadyMemoComponents=<3D><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ReadyMemoGroup=<3D><>ʼ<EFBFBD>˵<EFBFBD><CBB5>ļ<EFBFBD><C4BC>У<EFBFBD>
ReadyMemoTasks=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; *** "Preparing to Install" wizard page
WizardPreparing=׼<><D7BC><EFBFBD><EFBFBD>װ
PreparingDesc=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>ϰ<EFBFBD>װ[name]<5D><>
PreviousInstallNotCompleted=<3D>ϴγ<CFB4><CEB3><EFBFBD><EFBFBD><EFBFBD>װ/ж<><D0B6>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD><C9A1><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴΰ<CFB4>װ<EFBFBD><D7B0>%n%n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ[name]<5D><>
CannotContinue=<3D><>װ<EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>
ApplicationsFound=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>µ<EFBFBD><C2B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>ռ<EFBFBD>á<EFBFBD><C3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ر<EFBFBD><D8B1><EFBFBD>ЩӦ<D0A9>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
ApplicationsFound2=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>µ<EFBFBD><C2B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>ռ<EFBFBD>á<EFBFBD><C3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ر<EFBFBD><D8B1><EFBFBD>ЩӦ<D0A9>ó<EFBFBD><C3B3>򡣰<EFBFBD>װ<EFBFBD><D7B0><EFBFBD>ɺ󣬰<C9BA>װ<EFBFBD>򵼽<EFBFBD><F2B5BCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ЩӦ<D0A9>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
CloseApplications=<3D>Զ<EFBFBD><D4B6>ر<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>(&A)
DontCloseApplications=<3D><><EFBFBD>Զ<EFBFBD><D4B6>ر<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>(&D)
ErrorCloseApplications=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7>Զ<EFBFBD><D4B6>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>е<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>Щռ<D0A9>ð<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
; *** "Installing" wizard page
WizardInstalling=<3D><><EFBFBD>ڰ<EFBFBD>װ
InstallingLabel=<3D><><EFBFBD>Ժ򣬰<D4BA>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>ϰ<EFBFBD>װ[name]<5D><>
; *** "Setup Completed" wizard page
FinishedHeadingLabel=[name]<5D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
FinishedLabelNoIcons=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>ϰ<EFBFBD>װ[name]<5D><>
FinishedLabel=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>ϰ<EFBFBD>װ[name]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>Ѱ<EFBFBD>װ<EFBFBD>Ŀ<EFBFBD><C4BF>ݷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>򿪴<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
ClickFinish=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>װ<EFBFBD><D7B0>
FinishedRestartLabel=Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[name]<5D>İ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>װ<EFBFBD>򵼱<EFBFBD><F2B5BCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ԡ<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FinishedRestartMessage=Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[name]<5D>İ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>װ<EFBFBD>򵼱<EFBFBD><F2B5BCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ԡ<EFBFBD>%n%nҪ<6E><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ShowReadmeCheck=<3D>ǣ<EFBFBD><C7A3><EFBFBD>Ҫ<EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
YesRadio=<3D>ǣ<EFBFBD><C7A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&Y)
NoRadio=<3D><><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)
; used for example as 'Run MyProg.exe'
RunEntryExec=<3D><><EFBFBD><EFBFBD>%1
; used for example as 'View Readme.txt'
RunEntryShellExec=<3D><><EFBFBD><EFBFBD>%1
; *** "Setup Needs the Next Disk" stuff
ChangeDiskTitle=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>һ<EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
SelectDiskLabel2=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%n%n<><6E><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PathLabel=·<><C2B7>(&P)<29><>
FileNotInDir2=<3D>ļ<EFBFBD><C4BC><EFBFBD>%1<><31><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD>%2<><32><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Ĵ<EFBFBD><C4B4>̻<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>С<EFBFBD>
SelectDirectoryLabel=<3D><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>һ<EFBFBD>Ŵ<EFBFBD><C5B4>̵<EFBFBD>λ<EFBFBD>á<EFBFBD>
; *** Installation phase messages
SetupAborted=<3D><>װδ<D7B0><CEB4><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>%n%n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>װ<EFBFBD>򵼡<EFBFBD>
EntryAbortRetryIgnore=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1><EFBFBD><EFBFBD>³<EFBFBD><C2B3>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
; *** Installation status messages
StatusClosingApplications=<3D><><EFBFBD>ڹر<DAB9>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
StatusCreateDirs=<3D><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>С<EFBFBD>
StatusExtractFiles=<3D><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
StatusCreateIcons=<3D><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ<EFBFBD><CABD>
StatusCreateIniEntries=<3D><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>INI<4E><49>Ŀ<EFBFBD><C4BF>
StatusCreateRegistryEntries=<3D><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
StatusRegisterFiles=<3D><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
StatusSavingUninstall=<3D><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
StatusRunProgram=<3D><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
StatusRestartingApplications=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
StatusRollback=<3D><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD>
; *** Misc. errors
ErrorInternal2=<3D>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1
ErrorFunctionFailedNoCode=%1ʧ<31><CAA7>
ErrorFunctionFailed=%1ʧ<31>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%2
ErrorFunctionFailedWithMessage=%1ʧ<31>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%2<><32>%n%3
ErrorExecutingProgram=<3D>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>%n%1
; *** Registry errors
ErrorRegOpenKey=<3D><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%n%1\%2
ErrorRegCreateKey=<3D><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%n%1\%2
ErrorRegWriteKey=д<><D0B4>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%n%1\%2
; *** INI errors
ErrorIniEntry=<3D><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>%1<><31><EFBFBD>д<EFBFBD><D0B4><EFBFBD>INI<4E><49>Ŀʱ<C4BF><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; *** File copying errors
FileAbortRetryIgnore=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1><EFBFBD><EFBFBD>³<EFBFBD><C2B3>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
FileAbortRetryIgnore2=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1><EFBFBD><EFBFBD>³<EFBFBD><C2B3>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
SourceIsCorrupted=Դ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SourceDoesntExist=Դ<>ļ<EFBFBD><C4BC><EFBFBD>%1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ExistingFileReadOnly=<3D><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊֻ<CEAA><D6BB><EFBFBD><EFBFBD>%n%n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1>Ƴ<EFBFBD><C6B3><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>³<EFBFBD><C2B3>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
ErrorReadingExistingDest=<3D><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FileExists=<3D>ļ<EFBFBD><C4BC>Ѵ<EFBFBD><D1B4>ڡ<EFBFBD>%n%n<>ð<EFBFBD>װ<EFBFBD>򵼸<EFBFBD><F2B5BCB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ExistingFileNewer=<3D><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>Ȱ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>װ<EFBFBD>Ļ<EFBFBD>Ҫ<EFBFBD>¡<EFBFBD><C2A1><EFBFBD><EFBFBD><EFBFBD><E9B1A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>%n%n<><6E>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
ErrorChangingAttr=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ErrorCreatingTemp=<3D><>Ŀ<EFBFBD><C4BF><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ErrorReadingSource=<3D><>ȡԴ<C8A1>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ErrorCopying=<3D><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ErrorReplacingExistingFile=<3D><EFBFBD><E6BBBB><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ErrorRestartReplace=<3D><><EFBFBD><EFBFBD><EFBFBD>滻ʧ<E6BBBB>ܣ<EFBFBD>
ErrorRenamingTemp=ΪĿ<CEAA><C4BF><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ErrorRegisterServer=<3D>޷<EFBFBD>ע<EFBFBD>ᶯ̬<E1B6AF><CCAC><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>DLL/OCX<43><58><EFBFBD><EFBFBD>%1
ErrorRegSvr32Failed=<3D><><EFBFBD><EFBFBD>RegSvr32ʧ<32>ܣ<EFBFBD><DCA3><EFBFBD><E4B7B5>ֵΪ<D6B5><CEAA>%1
ErrorRegisterTypeLib=<3D>޷<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>Ϳ⣺%1
; *** Post-installation errors
ErrorOpeningReadme=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ErrorRestartingComputer=<3D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; *** Uninstaller messages
UninstallNotFound=<3D>ļ<EFBFBD><C4BC><EFBFBD>%1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1>޷<EFBFBD>ж<EFBFBD>ء<EFBFBD>
UninstallOpenError=<3D>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>%1<><31><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>ж<EFBFBD><D0B6>
UninstallUnsupportedVer=<3D>˰汾<CBB0><E6B1BE>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>ʶ<EFBFBD><CAB6>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>%1<><31><EFBFBD>ĸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>޷<EFBFBD>ж<EFBFBD><D0B6>
UninstallUnknownEntry=<3D><>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ֪<CEB4><D6AA>Ŀ (%1)
ConfirmUninstall=<3D><><EFBFBD>Ƿ<EFBFBD>ȷ<EFBFBD><C8B7>Ҫ<EFBFBD><D2AA>ȫɾ<C8AB><C9BE>%1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UninstallOnlyOnWin64=<3D>˰<EFBFBD>װֻ<D7B0><D6BB><EFBFBD><EFBFBD>64λWindows<77><73>ж<EFBFBD>ء<EFBFBD>
OnlyAdminCanUninstall=<3D>˰<EFBFBD>װֻ<D7B0><D6BB><EFBFBD>ɾ߱<C9BE><DFB1><EFBFBD><EFBFBD><EFBFBD>ԱȨ<D4B1>޵<EFBFBD><DEB5>û<EFBFBD>ж<EFBFBD>ء<EFBFBD>
UninstallStatusLabel=<3D><><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>%1<><31>
UninstalledAll=<3D>ѳɹ<D1B3><C9B9>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>%1<><31>
UninstalledMost=%1ж<31><D0B6><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>%n%nijЩ<C4B3><D0A9>Ŀ<EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ж<EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9>Ŀ<EFBFBD><C4BF>
UninstalledAndNeedsRestart=<3D><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>%1<><31>ж<EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD>%n%nҪ<6E><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UninstallDataCorrupted=<3D>ļ<EFBFBD><C4BC><EFBFBD>%1<><31><EFBFBD><EFBFBD><EFBFBD>𻵡<EFBFBD><F0BBB5A1>޷<EFBFBD>ж<EFBFBD><D0B6>
; *** Uninstallation phase messages
ConfirmDeleteSharedFileTitle=ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
ConfirmDeleteSharedFile2=ϵͳ<CFB5><CDB3>ʾû<CABE><C3BB><EFBFBD>κγ<CEBA><CEB3><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ҫɾ<D2AA><C9BE><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>%n%n<><6E><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>ʹ<EFBFBD>ø<EFBFBD><C3B8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>񡰷񡱡<F1A1B0B7><F1A1B1A1><EFBFBD><EFBFBD>¸<EFBFBD><C2B8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD>
SharedFileNameLabel=<3D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
SharedFileLocationLabel=λ<>ã<EFBFBD>
WizardUninstalling=ж<><D0B6>״̬
StatusUninstalling=<3D><><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>%1<><31>
; *** Shutdown block reasons
ShutdownBlockReasonInstallingApp=<3D><><EFBFBD>ڰ<EFBFBD>װ%1<><31>
ShutdownBlockReasonUninstallingApp=<3D><><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>%1<><31>
; The custom messages below aren't used by Setup itself, but if you make
; use of them in your scripts, you'll want to translate them.
[CustomMessages]
NameAndVersion=%1<>汾%2
AdditionalIcons=<3D><><EFBFBD>ӿ<EFBFBD><D3BF>ݷ<EFBFBD>ʽ<EFBFBD><CABD>
CreateDesktopIcon=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ(&D)
CreateQuickLaunchIcon=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ(&Q)
ProgramOnTheWeb=%1<><31>վ
UninstallProgram=ж<><D0B6>%1
LaunchProgram=<3D><><EFBFBD><EFBFBD>%1
AssocFileExtension=<3D><>%1<><31>%2<>ļ<EFBFBD><C4BC><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)
AssocingFileExtension=<3D><><EFBFBD>ڽ<EFBFBD>%1<><31>%2<>ļ<EFBFBD><C4BC><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AutoStartProgramGroupDescription=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AutoStartProgram=<3D>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>%1
AddonHostProgramNotFound=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>%1<><31>%n%n<>Ƿ<EFBFBD><C7B7><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

View File

@@ -1,8 +0,0 @@
#!/bin/bash
cd /opt/gdevelop
if [ -z ${1+x} ];
then
sh StartGDevelop.sh
else
sh StartGDevelop.sh "$1"
fi

View File

@@ -1,13 +0,0 @@
[Desktop Entry]
Version=1.0
Name=GDevelop
GenericName=Game creator IDE
GenericName[de]=Entwicklungsumgebung für Spiele
Comment=HTML5 and native game development software
Comment[de]=Entwicklungsumgebung für native und HTML5-Spiele
Exec=sh -c "gdevelop %F"
MimeType=application/x-gdevelop-project;
Icon=GDevelop
Terminal=false
Type=Application
Categories=Development;IDE;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,331 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
id="svg3126"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="GDevelop-lowres.svg"
inkscape:export-filename="/home/victor/Developpement/GD/Binaries/Packaging/linux-extra-files/usr/share/icons/hicolor/16x16/apps/GDevelop.png"
inkscape:export-xdpi="5.625"
inkscape:export-ydpi="5.625">
<defs
id="defs3128">
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3870"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3864">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3866" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3868" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3087"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3089">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3091" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3093" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3095"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3097">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3099" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3101" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3103"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3105">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3107" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3109" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient3870-1"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3864-1">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3866-1" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3868-1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4060"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4062">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop4064" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop4066" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4068"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4070">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop4072" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop4074" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4076"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4078">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop4080" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop4082" />
</linearGradient>
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient4091"
xlink:href="#linearGradient3864-1"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient4093"
xlink:href="#linearGradient3864-1"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient4095"
xlink:href="#linearGradient3864-1"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient4097"
xlink:href="#linearGradient3864-1"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4167"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4169"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4171"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4173"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.80957032"
inkscape:cx="130.9262"
inkscape:cy="39.814734"
inkscape:current-layer="g4158"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1006"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1" />
<metadata
id="metadata3131">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
transform="translate(0,192)">
<path
inkscape:connector-curvature="0"
style="fill:#604878;fill-opacity:1"
d="m 0,-192 255.99999,0 0,256 L 0,64 z"
id="rect3961-3" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Logo"
transform="translate(0,192)">
<g
id="g4158"
transform="matrix(1.3156402,0,0,1.3156402,87.33682,-103.64087)">
<g
inkscape:export-ydpi="50.027794"
inkscape:export-xdpi="50.027794"
inkscape:export-filename="D:\Florian\Pictures\GDevelop\Logos GDevelop\gdevelop-258x73.png"
style="fill:url(#linearGradient4173);fill-opacity:1"
id="g3851"
transform="translate(-135.23664,-243.63945)">
<g
style="fill:url(#linearGradient4169);fill-opacity:1"
id="g21">
<path
style="fill:url(#linearGradient4167);fill-opacity:1"
inkscape:connector-curvature="0"
id="path23"
d="m 172.503,303.436 c -12.338,0 -24.216,-3.336 -34.709,-10.6 -7.314,-5.061 -15.779,-16.489 -15.779,-35.863 0,-35.943 18.36,-49.061 55.256,-49.061 h 66.426 l 6.396,20.472 h -67.76 c -24.352,0 -38.832,1.899 -38.832,28.589 0,8.816 2.486,15.09 7.603,19.178 8.648,6.91 25.457,7.204 35.728,6.214 0,0 4.214,-13.551 4.908,-15.751 0.813,-2.578 0.457,-3.193 -2.079,-3.193 -3.663,0 -10.248,0 -17.237,0 -4.898,0 -9.71,-2.465 -9.71,-8.386 0,-5.718 4.477,-9.037 10.614,-9.037 10.626,0 32.511,0 36.607,0 5.37,0 10.85,0.77 8.054,9.271 l -14.807,44.906 c 0.001,10e-4 -12.096,3.261 -30.679,3.261 z" />
</g>
<path
style="fill:url(#linearGradient4171);fill-opacity:1"
inkscape:connector-curvature="0"
id="path25"
d="m 213.973,311.059 c -7.463,5.225 -18.517,8.113 -37.274,8.113 -32.329,0 -55.99,-11.617 -65.637,-34.138 -4.561,-10.645 -4.122,-22.71 -4.122,-39.027 H 85.455 c 0,17.206 -0.296,30.697 4.307,43.123 12.07,32.596 43.152,50.109 84.906,50.109 40.416,0 57.164,-11.525 68.082,-28.18 h -28.777 z" />
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -1,351 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
id="svg3126"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="GDevelop.svg">
<defs
id="defs3128">
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3870"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3864">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3866" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3868" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3087"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3089">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3091" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3093" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3095"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3097">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3099" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3101" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3103"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3105">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3107" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3109" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient3870-1"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3864-1">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3866-1" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3868-1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4060"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4062">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop4064" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop4066" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4068"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4070">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop4072" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop4074" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4076"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4078">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop4080" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop4082" />
</linearGradient>
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient4091"
xlink:href="#linearGradient3864-1"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient4093"
xlink:href="#linearGradient3864-1"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient4095"
xlink:href="#linearGradient3864-1"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient4097"
xlink:href="#linearGradient3864-1"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4167"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4169"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4171"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864-1"
id="linearGradient4173"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.80957032"
inkscape:cx="128.45575"
inkscape:cy="39.814734"
inkscape:current-layer="svg3126"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1006"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1" />
<metadata
id="metadata3131">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
transform="translate(0,192)">
<path
inkscape:connector-curvature="0"
style="fill:#604878;fill-opacity:1"
d="m 0,-192 255.99999,0 0,256 L 0,64 z"
id="rect3961-3" />
<path
style="fill:#000000;fill-opacity:0.19607843"
d="m 0,-192 0,80 c 17.537195,21.503835 37.384534,34.092368 54.25,40.124998 43.812716,15.68182 88.79436,16.268904 132.25,4.625008 28.64714,-7.675986 51.92073,-16.376103 69.5,-23.750004 L 256,-192 l -37.375,0 c -0.67043,17.02568 -1.5,37 -1.5,37 -35.24116,13.18006 -94.76964,27.92621 -131.75,11.75 -19.00714,-8.31253 -32.56004,-24.33749 -41.25,-48.75 L 0,-192 z M 0,-31.875002 0,53.124999 C 11.193881,57.460225 22.802204,61.088396 34.75,64 L 197,64 c 10.2141,-2.073897 20.56277,-4.453347 31,-7.25 9.7754,-2.61931 19.09175,-5.335394 28,-8.124998 l 0,-76.875004 c -11.95072,4.268195 -25.10846,8.418321 -39.875,12.375 C 130.08388,7.1796466 55.276708,2.2185193 0,-31.875002 z"
id="rect3961"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Logo"
transform="translate(0,192)">
<g
id="g4158"
transform="matrix(1.3156402,0,0,1.3156402,87.33682,-103.64087)">
<g
inkscape:export-ydpi="50.027794"
inkscape:export-xdpi="50.027794"
inkscape:export-filename="D:\Florian\Pictures\GDevelop\Logos GDevelop\gdevelop-258x73.png"
style="fill:url(#linearGradient4173);fill-opacity:1"
id="g3851"
transform="translate(-135.23664,-243.63945)">
<g
style="fill:url(#linearGradient4169);fill-opacity:1"
id="g21">
<path
style="fill:url(#linearGradient4167);fill-opacity:1"
inkscape:connector-curvature="0"
id="path23"
d="m 172.503,303.436 c -12.338,0 -24.216,-3.336 -34.709,-10.6 -7.314,-5.061 -15.779,-16.489 -15.779,-35.863 0,-35.943 18.36,-49.061 55.256,-49.061 h 66.426 l 6.396,20.472 h -67.76 c -24.352,0 -38.832,1.899 -38.832,28.589 0,8.816 2.486,15.09 7.603,19.178 8.648,6.91 25.457,7.204 35.728,6.214 0,0 4.214,-13.551 4.908,-15.751 0.813,-2.578 0.457,-3.193 -2.079,-3.193 -3.663,0 -10.248,0 -17.237,0 -4.898,0 -9.71,-2.465 -9.71,-8.386 0,-5.718 4.477,-9.037 10.614,-9.037 10.626,0 32.511,0 36.607,0 5.37,0 10.85,0.77 8.054,9.271 l -14.807,44.906 c 0.001,10e-4 -12.096,3.261 -30.679,3.261 z" />
</g>
<path
style="fill:url(#linearGradient4171);fill-opacity:1"
inkscape:connector-curvature="0"
id="path25"
d="m 213.973,311.059 c -7.463,5.225 -18.517,8.113 -37.274,8.113 -32.329,0 -55.99,-11.617 -65.637,-34.138 -4.561,-10.645 -4.122,-22.71 -4.122,-39.027 H 85.455 c 0,17.206 -0.296,30.697 4.307,43.123 12.07,32.596 43.152,50.109 84.906,50.109 40.416,0 57.164,-11.525 68.082,-28.18 h -28.777 z" />
</g>
<g
inkscape:export-ydpi="50.027794"
inkscape:export-xdpi="50.027794"
inkscape:export-filename="D:\Florian\Pictures\GDevelop\Logos GDevelop\gdevelop-258x73.png"
style="fill:#377fc9;fill-opacity:1"
id="g3847"
transform="translate(-135.23664,-243.63945)">
<path
style="fill:#377fc9;fill-opacity:1"
d="m 191.619,267 c -0.958,3.051 -4.787,15.365 -4.787,15.365 -10.271,0.99 -27.08,0.696 -35.728,-6.214 -2.906,-2.323 -4.962,-5.353 -6.197,-9.151 h -22.069 c 2.297,13.391 9.007,21.72 14.956,25.836 10.493,7.264 22.371,10.6 34.709,10.6 18.583,0 30.68,-3.26 30.68,-3.26 L 214.122,267 h -22.503 z"
id="path45"
inkscape:connector-curvature="0" />
<path
style="fill:#377fc9;fill-opacity:1"
d="m 89.762,289.129 c 12.07,32.596 43.152,50.109 84.906,50.109 40.416,0 57.164,-11.525 68.082,-28.18 h -28.776 c -7.463,5.225 -18.517,8.113 -37.274,8.113 -32.329,0 -55.99,-11.617 -65.637,-34.139 -2.356,-5.5 -3.373,-11.385 -3.81,-18.033 H 85.74 c 0.425,8.007 1.468,15.233 4.022,22.13 z"
id="path47"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,517 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg4486"
height="256"
width="256"
version="1.0"
inkscape:version="0.48.5 r10040"
sodipodi:docname="applications-x-gdevelop-project-lowres.svg"
inkscape:export-filename="/home/victor/Developpement/GD/Binaries/Packaging/linux-extra-files/usr/share/icons/hicolor/32x32/mimetypes/applications-x-gdevelop-project.png"
inkscape:export-xdpi="11.25"
inkscape:export-ydpi="11.25">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1006"
id="namedview44"
showgrid="false"
inkscape:zoom="2.4583333"
inkscape:cx="66.320162"
inkscape:cy="140.39148"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="svg4486" />
<metadata
id="metadata51">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs4488">
<linearGradient
id="linearGradient5060">
<stop
id="stop5062"
offset="0" />
<stop
id="stop5064"
style="stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3312"
y2="5.4565001"
gradientUnits="userSpaceOnUse"
x2="36.358002"
gradientTransform="matrix(5.2173457,0,0,5.4422088,3.3921377,7.6656911)"
y1="7.9842548"
x1="33.047932">
<stop
id="stop8591"
style="stop-color:#fefefe"
offset="0" />
<stop
id="stop8593"
style="stop-color:#cbcbcb"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3316"
y2="46.016998"
gradientUnits="userSpaceOnUse"
x2="24"
gradientTransform="matrix(5.3241595,0,0,5.2058567,0.26069817,6.1689759)"
y1="2"
x1="24">
<stop
id="stop3213"
style="stop-color:#fff"
offset="0" />
<stop
id="stop3215"
style="stop-color:#fff;stop-opacity:0"
offset="1" />
</linearGradient>
<radialGradient
id="radialGradient3319"
gradientUnits="userSpaceOnUse"
cy="112.3"
cx="102"
gradientTransform="matrix(0.3617,0,0,-0.39078,0.85106,47.517)"
r="139.56">
<stop
id="stop41"
style="stop-color:#b7b8b9"
offset="0" />
<stop
id="stop47"
style="stop-color:#ececec"
offset=".18851" />
<stop
id="stop49"
style="stop-color:#fafafa;stop-opacity:0"
offset=".25718" />
<stop
id="stop51"
style="stop-color:#fff;stop-opacity:0"
offset=".30111" />
<stop
id="stop53"
style="stop-color:#fafafa;stop-opacity:0"
offset=".53130" />
<stop
id="stop55"
style="stop-color:#ebecec;stop-opacity:0"
offset="0.85454136" />
<stop
id="stop57"
style="stop-color:#e1e2e3;stop-opacity:0"
offset="1" />
</radialGradient>
<linearGradient
id="linearGradient3322"
y2="47.013"
gradientUnits="userSpaceOnUse"
x2="25.132"
gradientTransform="matrix(5.2293733,0,0,5.0001698,2.5355656,3.4346286)"
y1="0.98521"
x1="25.132">
<stop
id="stop3602"
style="stop-color:#f4f4f4"
offset="0" />
<stop
id="stop3604"
style="stop-color:#dbdbdb"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3324"
y2="2.9061999"
gradientUnits="userSpaceOnUse"
x2="-51.785999"
gradientTransform="matrix(4.222719,0,0,4.6794001,313.21263,-2.1383145)"
y1="50.785999"
x1="-51.785999">
<stop
id="stop3106"
style="stop-color:#aaa"
offset="0" />
<stop
id="stop3108"
style="stop-color:#c8c8c8"
offset="1" />
</linearGradient>
<radialGradient
id="radialGradient3327"
xlink:href="#linearGradient5060"
gradientUnits="userSpaceOnUse"
cy="486.64999"
cx="605.71002"
gradientTransform="matrix(0.12048476,0,0,0.07687178,140.38708,207.14432)"
r="117.14" />
<radialGradient
id="radialGradient3330"
xlink:href="#linearGradient5060"
gradientUnits="userSpaceOnUse"
cy="486.64999"
cx="605.71002"
gradientTransform="matrix(-0.12048476,0,0,0.07687178,115.6103,207.14432)"
r="117.14" />
<linearGradient
id="linearGradient3333"
y2="609.51001"
gradientUnits="userSpaceOnUse"
x2="302.85999"
gradientTransform="matrix(0.35206756,0,0,0.07687178,0.7516188,207.14432)"
y1="366.64999"
x1="302.85999">
<stop
id="stop5050"
style="stop-opacity:0"
offset="0" />
<stop
id="stop5056"
offset=".5" />
<stop
id="stop5052"
style="stop-opacity:0"
offset="1" />
</linearGradient>
<filter
id="filter3212"
height="1.3286999"
width="1.2969"
y="-0.16434"
x="-0.14846"
color-interpolation-filters="sRGB">
<feGaussianBlur
id="feGaussianBlur3214"
stdDeviation="0.77391625" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3870"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3864">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3866" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3868" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3087"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3089">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3091" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3093" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3095"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3097">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3099" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3101" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3103"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3105">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3107" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3109" />
</linearGradient>
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient3118"
xlink:href="#linearGradient3864"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient3120"
xlink:href="#linearGradient3864"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient3122"
xlink:href="#linearGradient3864"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient3124"
xlink:href="#linearGradient3864"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3959"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3961"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3963"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3965"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3978"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3980"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3982"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3984"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3987"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientTransform="matrix(1.3351686,0,0,1.3351686,-101.71983,-230.26927)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3991"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3993"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3996"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientTransform="matrix(0.25532097,0,0,0.25532097,-19.9365,-46.605512)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient4008"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.3351686,0,0,1.3351686,-101.71983,-230.26927)"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3850"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.3241338,0,0,1.3351686,-99.218449,-230.26927)"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
</defs>
<rect
id="rect2879"
style="opacity:0.3;fill:url(#linearGradient3333)"
height="18.669386"
width="169.99648"
y="235.33061"
x="42.999413" />
<path
id="path2881"
style="opacity:0.3;fill:url(#radialGradient3330)"
d="m 42.999412,235.33064 v 18.66887 C 36.79476,254.03611 28,249.81601 28,244.66508 c 0,-5.15617 6.92369,-9.33444 14.999412,-9.33444 z"
inkscape:connector-curvature="0" />
<path
id="path2883"
style="opacity:0.3;fill:url(#radialGradient3327)"
d="m 212.99692,235.33064 v 18.66887 c 6.20727,0.0366 15.00308,-4.1835 15.00308,-9.33443 0,-5.15617 -6.92892,-9.33444 -15.00308,-9.33444 z"
inkscape:connector-curvature="0" />
<path
id="path4160"
style="fill:url(#linearGradient3322);stroke:url(#linearGradient3324);stroke-width:20;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
d="M 36.526493,16.048377 H 162.35044 c 7.35773,2.482121 46.88133,30.760218 57.20412,50.34213 V 246.17114 H 36.526493 V 16.04733 z"
inkscape:connector-curvature="0" />
<path
id="path4191"
style="fill:#614a79;fill-opacity:1"
d="m 41.032644,243.54076 c -1.042214,0 -1.891464,-0.91514 -1.891464,-2.04469 V 20.795601 c 0,-1.12693 0.84925,-2.042592 1.891464,-2.042592 39.13297,0.564771 82.493366,-0.844963 121.577706,0.14067 l 53.77364,46.363623 0.55431,176.240338 c 0,1.12955 -0.84715,2.04469 -1.89303,2.04469 H 41.032644 z"
inkscape:connector-curvature="0" />
<path
id="path2435"
style="opacity:0.6;fill:none;stroke:url(#linearGradient3316);stroke-width:29.06505775;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
d="M 215.88915,65.93621 V 243.03373 H 40.191894 V 19.184764 c 40.261294,-0.0016 81.480946,-0.0016 121.742226,-0.0016"
inkscape:connector-curvature="0" />
<path
id="path12038"
style="opacity:0.4;fill-rule:evenodd;filter:url(#filter3212)"
d="m 28.617,208.92126 c 4.283,0 2.154,8.4831 2.154,8.4831 0,0 10.357,-1.8023 10.357,2.8186 0,-2.6095 -11.302,-10.728 -12.511,-11.302 z"
inkscape:connector-curvature="0"
transform="matrix(5.2293733,0,0,5.2293733,2.5355665,-1074.2613)" />
<path
style="fill:url(#linearGradient4008);fill-opacity:1"
d="M 134.90625 47.28125 C 85.643862 47.28125 61.1875 64.822536 61.1875 112.8125 C 61.1875 138.68006 72.515824 153.9302 82.28125 160.6875 C 96.291177 170.38616 112.05794 174.90625 128.53125 174.90625 C 153.34269 174.90625 169.56385 170.50131 169.5625 170.5 L 189.3125 110.53125 C 193.04562 99.180993 185.70111 98.09375 178.53125 98.09375 L 129.6875 98.09375 C 121.49356 98.09375 115.46875 102.55298 115.46875 110.1875 C 115.46875 118.09301 121.99159 121.46875 128.53125 121.46875 L 151.5625 121.46875 C 154.94848 121.46875 155.42924 122.27667 154.34375 125.71875 C 153.41714 128.65614 147.8125 146.8125 147.8125 146.8125 C 134.09898 148.13433 111.64029 147.69478 100.09375 138.46875 C 93.261691 133.0106 89.8125 124.58335 89.8125 112.8125 C 89.8125 77.176826 109.26722 74.71875 141.78125 74.71875 L 200.9375 74.71875 L 200.9375 48 L 200.21875 47.28125 L 134.90625 47.28125 z "
id="path23" />
<path
style="fill:url(#linearGradient3850);fill-opacity:1"
d="m 54.501589,162.40625 0,38.75 c 20.142581,14.078 46.615101,21.46875 77.541301,21.46875 33.0844,0 54.18956,-5.86034 68.89461,-15.59375 l 0,-22 -16.8595,0 c -9.88201,6.97625 -24.44006,10.78125 -49.27685,10.78125 -36.584714,0 -64.874515,-11.34014 -80.299561,-33.40625 z"
id="path25"
inkscape:connector-curvature="0" />
<path
id="path4474"
style="fill:#f5f4f4;fill-opacity:1;fill-rule:evenodd"
d="m 159.72239,66.06117 71.21999,-0.287952 C 223.16981,48.054658 178.7852,8.8978731 159.72749,5.096393 z"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
</svg>

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1,518 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg4486"
height="256"
width="256"
version="1.0"
inkscape:version="0.48.5 r10040"
sodipodi:docname="applications-x-gdevelop-project.svg"
inkscape:export-filename="/home/victor/Developpement/GD/Binaries/Packaging/linux-extra-files/usr/share/icons/hicolor/256x256/mimetypes/applications-x-gdevelop-project.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1006"
id="namedview44"
showgrid="false"
inkscape:zoom="2.4583333"
inkscape:cx="154.18133"
inkscape:cy="99.214708"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="svg4486" />
<metadata
id="metadata51">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs4488">
<linearGradient
id="linearGradient5060">
<stop
id="stop5062"
offset="0" />
<stop
id="stop5064"
style="stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3312"
y2="5.4565001"
gradientUnits="userSpaceOnUse"
x2="36.358002"
gradientTransform="matrix(5.2173457,0,0,5.4422088,3.3921377,7.6656911)"
y1="8.059"
x1="32.891998">
<stop
id="stop8591"
style="stop-color:#fefefe"
offset="0" />
<stop
id="stop8593"
style="stop-color:#cbcbcb"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3316"
y2="46.016998"
gradientUnits="userSpaceOnUse"
x2="24"
gradientTransform="matrix(5.2293733,0,0,5.1131766,2.5355665,8.3932773)"
y1="2"
x1="24">
<stop
id="stop3213"
style="stop-color:#fff"
offset="0" />
<stop
id="stop3215"
style="stop-color:#fff;stop-opacity:0"
offset="1" />
</linearGradient>
<radialGradient
id="radialGradient3319"
gradientUnits="userSpaceOnUse"
cy="112.3"
cx="102"
gradientTransform="matrix(0.3617,0,0,-0.39078,0.85106,47.517)"
r="139.56">
<stop
id="stop41"
style="stop-color:#b7b8b9"
offset="0" />
<stop
id="stop47"
style="stop-color:#ececec"
offset=".18851" />
<stop
id="stop49"
style="stop-color:#fafafa;stop-opacity:0"
offset=".25718" />
<stop
id="stop51"
style="stop-color:#fff;stop-opacity:0"
offset=".30111" />
<stop
id="stop53"
style="stop-color:#fafafa;stop-opacity:0"
offset=".53130" />
<stop
id="stop55"
style="stop-color:#ebecec;stop-opacity:0"
offset="0.85454136" />
<stop
id="stop57"
style="stop-color:#e1e2e3;stop-opacity:0"
offset="1" />
</radialGradient>
<linearGradient
id="linearGradient3322"
y2="47.013"
gradientUnits="userSpaceOnUse"
x2="25.132"
gradientTransform="matrix(5.2293733,0,0,5.0001698,2.5355656,3.4346286)"
y1="0.98521"
x1="25.132">
<stop
id="stop3602"
style="stop-color:#f4f4f4"
offset="0" />
<stop
id="stop3604"
style="stop-color:#dbdbdb"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3324"
y2="2.9061999"
gradientUnits="userSpaceOnUse"
x2="-51.785999"
gradientTransform="matrix(4.222719,0,0,4.6794001,313.21263,-2.1383145)"
y1="50.785999"
x1="-51.785999">
<stop
id="stop3106"
style="stop-color:#aaa"
offset="0" />
<stop
id="stop3108"
style="stop-color:#c8c8c8"
offset="1" />
</linearGradient>
<radialGradient
id="radialGradient3327"
xlink:href="#linearGradient5060"
gradientUnits="userSpaceOnUse"
cy="486.64999"
cx="605.71002"
gradientTransform="matrix(0.12048476,0,0,0.07687178,140.38708,207.14432)"
r="117.14" />
<radialGradient
id="radialGradient3330"
xlink:href="#linearGradient5060"
gradientUnits="userSpaceOnUse"
cy="486.64999"
cx="605.71002"
gradientTransform="matrix(-0.12048476,0,0,0.07687178,115.6103,207.14432)"
r="117.14" />
<linearGradient
id="linearGradient3333"
y2="609.51001"
gradientUnits="userSpaceOnUse"
x2="302.85999"
gradientTransform="matrix(0.35206756,0,0,0.07687178,0.7516188,207.14432)"
y1="366.64999"
x1="302.85999">
<stop
id="stop5050"
style="stop-opacity:0"
offset="0" />
<stop
id="stop5056"
offset=".5" />
<stop
id="stop5052"
style="stop-opacity:0"
offset="1" />
</linearGradient>
<filter
id="filter3212"
height="1.3286999"
width="1.2969"
y="-0.16434"
x="-0.14846"
color-interpolation-filters="sRGB">
<feGaussianBlur
id="feGaussianBlur3214"
stdDeviation="0.77391625" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3870"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3864">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3866" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3868" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3087"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3089">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3091" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3093" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3095"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3097">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3099" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3101" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3103"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3105">
<stop
style="stop-color:#67ace3;stop-opacity:1;"
offset="0"
id="stop3107" />
<stop
style="stop-color:#4c90d4;stop-opacity:1"
offset="1"
id="stop3109" />
</linearGradient>
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient3118"
xlink:href="#linearGradient3864"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient3120"
xlink:href="#linearGradient3864"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient3122"
xlink:href="#linearGradient3864"
inkscape:collect="always" />
<linearGradient
y2="268.24673"
x2="168.82013"
y1="223.99173"
x1="168.82013"
gradientUnits="userSpaceOnUse"
id="linearGradient3124"
xlink:href="#linearGradient3864"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3959"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3961"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3963"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3965"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3978"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3980"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3982"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3984"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3987"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientTransform="matrix(1.3351686,0,0,1.3351686,-101.71983,-230.26927)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3991"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3993"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient3996"
gradientUnits="userSpaceOnUse"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673"
gradientTransform="matrix(0.25532097,0,0,0.25532097,-19.9365,-46.605512)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3864"
id="linearGradient4008"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.3351686,0,0,1.3351686,-101.71983,-230.26927)"
x1="168.82013"
y1="223.99173"
x2="168.82013"
y2="268.24673" />
</defs>
<rect
id="rect2879"
style="opacity:0.3;fill:url(#linearGradient3333)"
height="18.669386"
width="169.99648"
y="235.33061"
x="42.999413" />
<path
id="path2881"
style="opacity:0.3;fill:url(#radialGradient3330)"
d="m 42.999412,235.33064 v 18.66887 C 36.79476,254.03611 28,249.81601 28,244.66508 c 0,-5.15617 6.92369,-9.33444 14.999412,-9.33444 z"
inkscape:connector-curvature="0" />
<path
id="path2883"
style="opacity:0.3;fill:url(#radialGradient3327)"
d="m 212.99692,235.33064 v 18.66887 c 6.20727,0.0366 15.00308,-4.1835 15.00308,-9.33443 0,-5.15617 -6.92892,-9.33444 -15.00308,-9.33444 z"
inkscape:connector-curvature="0" />
<path
id="path4160"
style="fill:url(#linearGradient3322);stroke:url(#linearGradient3324);stroke-width:5.22895479;stroke-linejoin:round"
d="M 36.526493,16.048377 H 162.35044 c 7.35773,2.482121 46.88133,30.760218 57.20412,50.34213 V 246.17114 H 36.526493 V 16.04733 z"
inkscape:connector-curvature="0" />
<path
id="path4191"
style="fill:#614a79;fill-opacity:1"
d="m 41.032644,243.54076 c -1.042214,0 -1.891464,-0.91514 -1.891464,-2.04469 V 20.795601 c 0,-1.12693 0.84925,-2.042592 1.891464,-2.042592 39.13297,0.564771 82.493366,-0.844963 121.577706,0.14067 l 53.77364,46.363623 0.55431,176.240338 c 0,1.12955 -0.84715,2.04469 -1.89303,2.04469 H 41.032644 z"
inkscape:connector-curvature="0" />
<path
id="path2435"
style="opacity:0.6;fill:none;stroke:url(#linearGradient3316);stroke-width:5.22895479;stroke-linejoin:round"
d="M 214.32518,67.096473 V 241.04112 H 41.755866 V 21.177345 c 39.544521,-0.0016 80.030334,-0.0016 119.574844,-0.0016"
inkscape:connector-curvature="0" />
<path
id="path12038"
style="opacity:0.4;fill-rule:evenodd;filter:url(#filter3212)"
d="m 28.617,208.92126 c 4.283,0 2.154,8.4831 2.154,8.4831 0,0 10.357,-1.8023 10.357,2.8186 0,-2.6095 -11.302,-10.728 -12.511,-11.302 z"
inkscape:connector-curvature="0"
transform="matrix(5.2293733,0,0,5.2293733,2.5355665,-1074.2613)" />
<path
style="fill:url(#linearGradient4008);fill-opacity:1"
d="m 134.90408,47.27584 c -49.262388,0 -73.701481,17.540626 -73.701481,65.53059 0,25.86756 11.315485,41.12415 21.080911,47.88145 14.009927,9.69866 29.77396,14.21736 46.24727,14.21736 24.81144,0 41.01924,-4.41098 41.01789,-4.41229 l 19.77358,-59.97437 c 3.73312,-11.350257 -3.61573,-12.419768 -10.78559,-12.419768 l -48.86195,0 c -8.19394,0 -14.21737,4.458408 -14.21737,12.092928 0,7.90551 6.53378,11.27584 13.07344,11.27584 l 23.04193,0 c 3.38598,0 3.86359,0.80679 2.7781,4.24887 -0.92661,2.93739 -6.53671,21.08091 -6.53671,21.08091 -13.71352,1.32183 -36.1715,0.89171 -47.71804,-8.33432 -6.832059,-5.45815 -10.295327,-13.88576 -10.295327,-25.65661 0,-35.635674 19.452867,-38.07638 51.966897,-38.07638 l 69.77945,0 0,-16.078649 -11.31461,-11.375561 z"
id="path23"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsccssssscccsscccs" />
<path
style="fill:url(#linearGradient3987);fill-opacity:1"
d="m 44.533971,144.83634 0,49.51563 c 21.107555,18.51418 51.050717,28.2713 86.938329,28.2713 42.27645,0 65.13791,-9.402 80.07478,-24.18586 l 0,-13.40027 -27.61763,0 c -9.96436,6.97625 -24.63528,10.78559 -49.67905,10.78559 -43.164664,0 -74.875044,-15.52429 -87.755414,-45.59359 -0.761213,-1.77664 -1.394238,-3.54955 -1.961015,-5.3928 z"
id="path25"
inkscape:connector-curvature="0" />
<path
style="fill:#377fc9;fill-opacity:1"
d="m 154.12385,126.22077 c -1.27909,4.07357 -6.39145,20.51483 -6.39145,20.51483 -13.71352,1.32183 -36.15636,0.92931 -47.7029,-8.29672 -3.880008,-3.10159 -6.625116,-7.14714 -8.274047,-12.21811 H 62.289612 c 3.066886,17.87923 12.025865,28.99985 19.968786,34.4954 14.009921,9.69865 29.869052,14.15278 46.342372,14.15278 24.81143,0 40.96297,-4.35267 40.96297,-4.35267 l 14.60541,-44.29551 h -30.0453 z"
id="path45"
inkscape:connector-curvature="0" />
<path
style="fill:#377fc9;fill-opacity:1"
d="m 44.533971,144.67292 0,49.67905 c 21.107555,18.51418 51.050717,28.2713 86.938329,28.2713 42.27645,0 65.13791,-9.402 80.07478,-24.18586 l 0,-13.40027 -27.61763,0 c -9.96436,6.97625 -24.63528,10.78559 -49.67905,10.78559 -43.164658,0 -74.875044,-15.52292 -87.755414,-45.59359 -0.786414,-1.83588 -1.382241,-3.64823 -1.961015,-5.55622 z"
id="path47"
inkscape:connector-curvature="0" />
<path
id="path4474"
style="fill:url(#linearGradient3312);fill-rule:evenodd"
d="m 152.18454,18.265945 c 16.66602,0 12.21582,40.066412 12.21582,40.066412 0,0 53.20887,-5.130015 53.20887,19.034396 0,-5.888275 0.44972,-10.10315 -0.70074,-11.940752 -8.25195,-13.199984 -43.90058,-42.8202 -56.7753,-46.702487 -0.9622,-0.290753 -3.10102,-0.457569 -7.94865,-0.457569 z"
inkscape:connector-curvature="0" />
</svg>

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-gdevelop-project">
<comment>GDevelop project</comment>
<glob pattern="*.gdg"/>
<icon name="applications-x-gdevelop-project"/>
</mime-type>
</mime-info>

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>GDevelop</string>
<key>CFBundleExecutable</key>
<string>GDIDE_launcher</string>
<key>CFBundleIconFile</key>
<string>icon.icns</string>
<key>CFBundleIdentifier</key>
<string>com.gdevelop</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>GDevelop</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>11</string>
<key>LSMinimumSystemVersion</key>
<string>10.6</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.developer-tools</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View File

@@ -1,36 +0,0 @@
# Maintainer: Victor Levasseur <victorlevasseur52@gmail.com>
pkgname=gdevelop
pkgver=MACRO_GD_VERSION
pkgrel=MACRO_PACKAGE_REV
pkgdesc="GDevelop is a full featured, open source game development software, allowing to create HTML5 and native games without needing any knowledge in a specific programming language. All the game logic is made thanks to an intuitive and powerful event based system."
arch=('i686' 'x86_64')
url="http://www.compilgames.net"
license=('GPL' 'MIT' 'zlib/png')
groups=()
install='PKGBUILD.install'
makedepends=('rsync' 'cmake' 'git' 'curl')
depends=('gcc' 'wxgtk' 'openal' 'p7zip' 'glew' 'libsndfile' 'systemd' 'libjpeg-turbo' 'desktop-file-utils' 'gtk-update-icon-cache')
changelog='PKGBUILD.changelog'
source=( "gdevelop_$pkgver.orig.tar.gz")
md5sums=(SKIP)
build() {
cd "$srcdir"/$pkgname-$pkgver
cd Binaries
rm -rf .build
mkdir .build
cd .build
cmake -DNO_UPDATE_CHECKER=TRUE ../..
#Build the whole project
make -j4
}
package() {
cd "$srcdir"/$pkgname-$pkgver
cd Binaries/.build
make install DESTDIR="$pkgdir"
#Remove sfml installed libs
rm -rf "$pkgdir"/usr/local
}

View File

@@ -1,18 +0,0 @@
post_install() {
update-mime-database usr/share/mime
update-desktop-database
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
}
post_upgrade() {
update-mime-database usr/share/mime
update-desktop-database
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
}
post_remove() {
update-mime-database usr/share/mime
update-desktop-database
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
}

View File

@@ -1,4 +0,0 @@
#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/Sources/.*")

View File

@@ -1,123 +0,0 @@
Name: gdevelop
Version: MACRO_GD_VERSION
Release: MACRO_PACKAGE_REV
Summary: GDevelop game creator
Group: extra
License: GPL LGPL MIT
URL: http://www.compilgames.net
Source0: gdevelop_%{version}.orig.tar.gz
Source100: gdevelop-rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
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 libX11-devel
%else
BuildRequires: update-desktop-files libudev-devel libjpeg8-devel wxWidgets-3_0-devel xorg-x11-devel
%endif
Requires: gcc-c++ p7zip
#Exlude SFML libs (as they are private)
%global privlibs libsfml-audio|libsfml-graphics|libsfml-network|libsfml-system|libsfml-window|libGDCore|libGDCpp|libGDJS
%global __provides_exclude ^(%{privlibs})\\.so.*
%global __requires_exclude ^(%{privlibs})\\.so.*
#Exclude Extensions directory from auto dep (so they are not provided)
%global __requires_exclude_from ^%{buildroot}/opt/gdevelop/CppPlatform/Extensions/.*$
%global __provides_exclude_from ^%{buildroot}/opt/gdevelop/CppPlatform/Extensions/.*$
%description
GDevelop is a full featured, open source game development software,
allowing to create HTML5 and native games without needing any knowledge
in a specific programming language. All the game logic is made thanks
to an intuitive and powerful event based system.
%prep
%setup -q -n gdevelop-%{version}
%build
#Configuration
cd Binaries
rm -rf .build
mkdir .build
cd .build
#Fedora's wx-config name contains the version (wx-config-3.0 instead of wx-config and wxrc-3.0 instead of wxrc-3.0)
%if 0%{?fedora}
cmake -DNO_UPDATE_CHECKER=TRUE -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-3.0 -DwxWidgets_wxrc_EXECUTABLE=/usr/bin/wxrc-3.0 ../..
%else
cmake -DNO_UPDATE_CHECKER=TRUE ../..
%endif
#Build the whole project
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
cd Binaries/.build
make install DESTDIR=$RPM_BUILD_ROOT
#Remove sfml installed libs
rm -rf $RPM_BUILD_ROOT/usr/local
%if 0%{?fedora}
desktop-file-validate %{buildroot}%{_datadir}/applications/gdevelop.desktop
%else
%suse_update_desktop_file gdevelop
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
#GDevelop files
/opt/gdevelop
#Launch script
/usr/bin/gdevelop
#Desktop file
/usr/share/applications/gdevelop.desktop
#Icons
/usr/share/icons/hicolor/16x16/apps/GDevelop.png
/usr/share/icons/hicolor/16x16/mimetypes/applications-x-gdevelop-project.png
/usr/share/icons/hicolor/24x24/apps/GDevelop.png
/usr/share/icons/hicolor/24x24/mimetypes/applications-x-gdevelop-project.png
/usr/share/icons/hicolor/32x32/apps/GDevelop.png
/usr/share/icons/hicolor/32x32/mimetypes/applications-x-gdevelop-project.png
/usr/share/icons/hicolor/48x48/apps/GDevelop.png
/usr/share/icons/hicolor/48x48/mimetypes/applications-x-gdevelop-project.png
/usr/share/icons/hicolor/64x64/apps/GDevelop.png
/usr/share/icons/hicolor/64x64/mimetypes/applications-x-gdevelop-project.png
/usr/share/icons/hicolor/128x128/apps/GDevelop.png
/usr/share/icons/hicolor/128x128/mimetypes/applications-x-gdevelop-project.png
/usr/share/icons/hicolor/256x256/apps/GDevelop.png
/usr/share/icons/hicolor/256x256/mimetypes/applications-x-gdevelop-project.png
/usr/share/icons/hicolor/scalable/apps/GDevelop.svg
/usr/share/icons/hicolor/scalable/mimetypes/applications-x-gdevelop-project.svg
/usr/share/icons/hicolor/scalable/apps/GDevelop-lowres.svg
/usr/share/icons/hicolor/scalable/mimetypes/applications-x-gdevelop-project-lowres.svg
#Mime
/usr/share/mime/packages/gdevelop.xml
%post
update-mime-database %{_datadir}/mime >/dev/null 2>&1 || :
update-desktop-database >/dev/null 2>&1 || :
touch --no-create %{_datadir}/icons/hicolor >/dev/null 2>&1 || :
%postun
update-mime-database %{_datadir}/mime >/dev/null 2>&1 || :
update-desktop-database >/dev/null 2>&1 || :
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor >/dev/null 2>&1
gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null 2>&1 || :
fi
#Keep the changelog at the end as the packaging script adds the changelog at the end
%changelog

4
Binaries/README.md Normal file
View File

@@ -0,0 +1,4 @@
This is the directory where native/WebAssembly binaries from GDCore, GDCpp and GDJS are produced.
In particular, the extensions and/or the JS platform files will be
created into Output/Release_*OSNAME* with *OSNAME* being Windows, Linux or Darwin.

View File

@@ -1,4 +0,0 @@
This is the directory where binaries are produced.
In particular, the extensions and/or the JS platform files will be
created into Output/Release_OSNAME with OSNAME being Windows, Linux or Darwin.

View File

@@ -1,110 +0,0 @@
; Inno Setup installation script for GDevelop 4.
[Setup]
AppName=GDevelop
AppVersion=4.0
AppPublisher=Florian Rival
AppPublisherURL=http://www.compilgames.net
AppSupportURL=http://www.forum.compilgames.net
AppUpdatesURL=http://www.compilgames.net
DefaultDirName={pf}/GDevelop
DefaultGroupName=GDevelop
AllowNoIcons=yes
LicenseFile=..\Output\Release_Windows\License-en.rtf
InfoBeforeFile=..\Output\Release_Windows\Informations-en.rtf
OutputDir=.\
OutputBaseFilename=gd4097
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-2018 Florian Rival
VersionInfoCompany=Florian Rival
VersionInfoDescription=GDevelop setup
VersionInfoCopyright=2008-2018 Florian Rival
VersionInfoProductName=GDevelop
VersionInfoProductVersion=4.0
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl";
Name: "french"; MessagesFile: "compiler:Languages\French.isl"; LicenseFile: "..\Output\Release_Windows\License-fr.rtf"; InfoBeforeFile: "..\Output\Release_Windows\Informations-fr.rtf"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl";
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl";
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:
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
[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 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 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
Source: ..\Output\Release_Windows\*; DestDir: {app}; Flags: ignoreversion
Source: ..\Output\Release_Windows\Templates\*; DestDir: {app}\Templates; Flags: ignoreversion createallsubdirs recursesubdirs; Components: main
Source: ..\Output\Release_Windows\res\*; DestDir: {app}\res; Flags: ignoreversion createallsubdirs recursesubdirs; Components: main
Source: ..\Output\Release_Windows\CppPlatform\*; DestDir: {app}\CppPlatform; Flags: ignoreversion createallsubdirs recursesubdirs; Components: main
Source: ..\Output\Release_Windows\JsPlatform\*; DestDir: {app}\JsPlatform; Flags: ignoreversion createallsubdirs recursesubdirs; Components: main
Source: ..\Output\Release_Windows\locale\*; DestDir: {app}\locale; Flags: ignoreversion createallsubdirs recursesubdirs; Components: main
Source: ..\Output\Release_Windows\Examples\*; DestDir: {app}\Examples; Flags: ignoreversion createallsubdirs recursesubdirs; Components: example
Source: ..\Output\Release_Windows\Free resources\*; DestDir: {app}\Free resources; Flags: ignoreversion createallsubdirs recursesubdirs; Components: res
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
Source: ..\Output\Release_Windows\icon.ico; DestDir: {app}; Flags: ignoreversion
Source: ..\Output\Release_Windows\SelectLanguage-en.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: english; Components: main
Source: ..\Output\Release_Windows\SelectLanguage-fr.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: french ; Components: main
Source: ..\Output\Release_Windows\SelectLanguage-es.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: spanish ; Components: main
Source: ..\Output\Release_Windows\SelectLanguage-ru.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: russian ; Components: main
Source: ..\Output\Release_Windows\SelectLanguage-de.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: german ; Components: main
Source: ..\Output\Release_Windows\SelectLanguage-pt.cfg; DestDir: {userdocs}\..\.GDevelop; Flags: ignoreversion createallsubdirs recursesubdirs; DestName: SelectLanguage.cfg; Languages: portuguese ; Components: main
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}
Name: {group}\Aide; Filename: http://www.wiki.compilgames.net ;Languages: french;
Name: {group}\Help; Filename: http://www.wiki.compilgames.net; Languages: english;
Name: {group}\Tutoriel; Filename: http://www.wiki.compilgames.net/doku.php/game_develop/tutoriels; Languages: french;
Name: {group}\Tutorial; Filename: http://www.wiki.compilgames.net/doku.php/en/game_develop/tutorials; Languages: english;
Name: {group}\{cm:ProgramOnTheWeb,GDevelop}; Filename: http://www.compilgames.net
Name: {group}\{cm:UninstallProgram,GDevelop}; Filename: {uninstallexe}
Name: {commondesktop}\GDevelop; Filename: {app}\GDIDE.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\GDevelop; Filename: {app}\GDIDE.exe; WorkingDir: {app}; Tasks: quicklaunchicon
[Run]
Filename: {app}\GDIDE.exe; Description: {cm:LaunchProgram,GDevelop}; Flags: nowait postinstall skipifsilent
[Registry]
Root: HKCR; SubKey: .gdg; ValueType: string; ValueData: GDevelop Game; Flags: uninsdeletekey
Root: HKCR; SubKey: GDevelop Game; ValueType: string; ValueData: Game created with GDevelop; Flags: uninsdeletekey
Root: HKCR; SubKey: GDevelop Game\Shell\Open\Command; ValueType: string; ValueData: """{app}/GDIDE.exe"" ""%1"""; Flags: uninsdeletevalue
Root: HKCR; Subkey: GDevelop Game\DefaultIcon; ValueType: string; ValueData: {app}\icon.ico,-1; Flags: uninsdeletevalue
[InstallDelete]
Type: files; Name: "{app}\GDEditor.exe"
;Prevent crashes with incompatible extensions:
Type: files; Name: "{app}\CppPlatform\Extensions\TextBoxObject.xgdwe"
;Old extensions:
Type: files; Name: "{app}\CppPlatform\Extensions\AStarBehavior.xgdwe"
Type: filesandordirs; Name: "{app}\Extensions"
Type: filesandordirs; Name: "{app}\include"
Type: filesandordirs; Name: "{app}\Runtime"

View File

@@ -1,2 +0,0 @@
This is the directory where packaged binaries ready for release are produced.
See also Binaries/Packaging.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<News>
<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 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<News>
<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

@@ -1,167 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<XML_DIZ_INFO>
<MASTER_PAD_VERSION_INFO>
<MASTER_PAD_VERSION>3.11</MASTER_PAD_VERSION>
<MASTER_PAD_EDITOR>PADManager 2.0.69</MASTER_PAD_EDITOR>
<MASTER_PAD_EDITOR_URL>http://robosoft.rudenko.com</MASTER_PAD_EDITOR_URL>
<MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to disseminate information to anyone interested in their software products. To find out more go to http://www.asp-shareware.org/pad</MASTER_PAD_INFO>
</MASTER_PAD_VERSION_INFO>
<RoboSoft>
<Company_UIN>CMP-00C2117CDC1</Company_UIN>
<Company_Description></Company_Description>
<Product_UIN>APP-00C211F181F</Product_UIN>
<Publish_on_CD>FALSE</Publish_on_CD>
<RSProductType></RSProductType>
<Search_String></Search_String>
<Press_Release_Search_String></Press_Release_Search_String>
<NewsFeed_Search_String></NewsFeed_Search_String>
<Search_Engine_Search_String></Search_Engine_Search_String>
<Web_Directories_Search_String></Web_Directories_Search_String>
<Search_String_Unique></Search_String_Unique>
<Comments_For_Reviewer></Comments_For_Reviewer>
<Backlink></Backlink>
</RoboSoft>
<Company_Info>
<Company_Name>Florian Rival</Company_Name>
<Address_1>9, rue Alphonse Daudet</Address_1>
<Address_2></Address_2>
<City_Town>Muzillac</City_Town>
<State_Province>France</State_Province>
<Zip_Postal_Code>56190</Zip_Postal_Code>
<Country>France</Country>
<Company_WebSite_URL>http://www.compilgames.net</Company_WebSite_URL>
<Contact_Info>
<Contact_First_Name>Florian</Contact_First_Name>
<Contact_Last_Name>Rival</Contact_Last_Name>
<Contact_Email>Florian.rival@gmail.com</Contact_Email>
<Author_First_Name>Florian</Author_First_Name>
<Author_Last_Name>Rival</Author_Last_Name>
<Author_Email>Florian.rival@gmail.com</Author_Email>
</Contact_Info>
<Support_Info>
<Sales_Email>Florian.rival@gmail.com</Sales_Email>
<Support_Email>Florian.rival@gmail.com</Support_Email>
<General_Email>Florian.rival@gmail.com</General_Email>
<Sales_Phone></Sales_Phone>
<Support_Phone></Support_Phone>
<General_Phone></General_Phone>
<Fax_Phone></Fax_Phone>
</Support_Info>
</Company_Info>
<NewsFeed>
<NewsFeed_FORM>Y</NewsFeed_FORM>
<NewsFeed_VERSION>1.0</NewsFeed_VERSION>
<NewsFeed_URL>http://Submit-Everywhere.com/extensions/NewsFeed.htm</NewsFeed_URL>
<NewsFeed_DESCRIPTION>This PAD extension allows you to add your RSS and Atom news feeds info into your PAD file. This info can be used by RSS feed submission software or by feed directories themselves.</NewsFeed_DESCRIPTION>
<NewsFeed_Type>RSS 0.90</NewsFeed_Type>
<NewsFeed_Language>English</NewsFeed_Language>
<NewsFeed_Purpose>News</NewsFeed_Purpose>
<NewsFeed_Author_Email>Florian.rival@gmail.com</NewsFeed_Author_Email>
<NewsFeed_Author_First_Name>Florian</NewsFeed_Author_First_Name>
<NewsFeed_Author_Last_Name>Rival</NewsFeed_Author_Last_Name>
<NewsFeed_Feed_URL></NewsFeed_Feed_URL>
<NewsFeed_Site_Name></NewsFeed_Site_Name>
<NewsFeed_Site_URL></NewsFeed_Site_URL>
<NewsFeed_Title></NewsFeed_Title>
<NewsFeed_Description_70></NewsFeed_Description_70>
<NewsFeed_Description_250></NewsFeed_Description_250>
</NewsFeed>
<Program_Info>
<Program_Name>GDevelop</Program_Name>
<Program_Version>3</Program_Version>
<Program_Release_Month>07</Program_Release_Month>
<Program_Release_Day>11</Program_Release_Day>
<Program_Release_Year>2013</Program_Release_Year>
<Program_Cost_Dollars>0</Program_Cost_Dollars>
<Program_Type>Freeware</Program_Type>
<Program_Release_Status>Major Update</Program_Release_Status>
<Program_Install_Support>Install and Uninstall</Program_Install_Support>
<Program_OS_Support>WinXP,WinVista,WinVista x64,Win7 x32,Win7 x64,Win2000,Linux,Linux Gnome</Program_OS_Support>
<Program_Language>English,French</Program_Language>
<Program_Change_Info>Support for creating web based games (HTML5 games) that can be played on any modern browser or handheld device.</Program_Change_Info>
<Program_System_Requirements>Windows 2000, XP, Vista, 7 or Ubuntu</Program_System_Requirements>
<Program_Category_Class>Development::Other</Program_Category_Class>
<File_Info>
<File_Size_Bytes>46789632</File_Size_Bytes>
<File_Size_K>45693</File_Size_K>
<File_Size_MB>44.62</File_Size_MB>
<Filename_Versioned></Filename_Versioned>
<Filename_Previous></Filename_Previous>
<Filename_Generic></Filename_Generic>
<Filename_Long></Filename_Long>
</File_Info>
<Expire_Info>
<Has_Expire_Info>N</Has_Expire_Info>
<Expire_Based_On>Days</Expire_Based_On>
<Expire_Count></Expire_Count>
<Expire_Other_Info></Expire_Other_Info>
<Expire_Month></Expire_Month>
<Expire_Day></Expire_Day>
<Expire_Year></Expire_Year>
</Expire_Info>
<Program_Categories>Programming :: C &amp; C++ &amp; C#,Programming :: IDEs &amp; Coding Utilities,Games :: Gaming Tools</Program_Categories>
<Limitations>No limitations</Limitations>
<Program_Cost_Other_Code></Program_Cost_Other_Code>
<Program_Cost_Other></Program_Cost_Other>
<Awards></Awards>
<Program_Specific_Category></Program_Specific_Category>
<Includes_JAVA_VM></Includes_JAVA_VM>
<Includes_VB_Runtime></Includes_VB_Runtime>
<Includes_DirectX></Includes_DirectX>
</Program_Info>
<Web_Info>
<Application_URLs>
<Application_Info_URL>http://www.compilgames.net</Application_Info_URL>
<Application_Order_URL>http://www.ecompilgames.net</Application_Order_URL>
<Application_Screenshot_URL>http://www.compilgames.net/images/GameDevelop/Screen800600.jpg</Application_Screenshot_URL>
<Application_Icon_URL>http://www.compilgames.net/images/GameDevelop/icon32.gif</Application_Icon_URL>
<Application_XML_File_URL>http://www.compilgames.net/dl/gdpad.xml</Application_XML_File_URL>
</Application_URLs>
<Download_URLs>
<Primary_Download_URL>http://www.compilgames.net/dl/gd.exe</Primary_Download_URL>
<Secondary_Download_URL></Secondary_Download_URL>
<Additional_Download_URL_1></Additional_Download_URL_1>
<Additional_Download_URL_2></Additional_Download_URL_2>
</Download_URLs>
</Web_Info>
<Permissions>
<Distribution_Permissions>GDevelop can be freely distributed over the internet in an unchanged form.</Distribution_Permissions>
<EULA>· GDevelop
GDevelop is a freeware, meaning it is totally free.
-You can use the software, for personal or commercial use.
-The software is provided 'as-is', without any express or implied warranty.
-You can distribute the software to anybody provided you don't require money for it, you don't claim to be the author and you distribute the entire software with its installer.
-You must not try to decompile the software.
· Games created with GDevelop
-The author of GDevelop is not liable for games made with the software.
-If you create a game with GDevelop, an acknowledgment in the game documentation would be appreciated but is not required.
· If you have any questions
Contact the author : CompilGames@gmail.com
Go on our website : http://www.compilgames.net</EULA>
</Permissions>
<Program_Descriptions>
<English>
<Keywords>Development, creation, game, making, maker, programming, IDE, 2D, HTML5, 3D, develop, physics, build, create, C++</Keywords>
<Char_Desc_45>Free game development software</Char_Desc_45>
<Char_Desc_80>Free game creation software, allowing to create any kind of 2D games.</Char_Desc_80>
<Char_Desc_250>GDevelop is a free game creation software, allowing to make games for the web ( HTML5 ) or for Windows and Linux. No programming or coding skill is required! It is easy to use and powerful enough for advanced users.</Char_Desc_250>
<Char_Desc_450>GDevelop is a free game creation software, allowing to make games for the web ( HTML5 ) or for Windows and Linux. No programming or coding skill is required! It is easy to use and powerful enough for advanced users. All the game logic is made thanks to a powerful and intuitive events system. Many features are available: Physics, dynamic lights, particle systems, networking...</Char_Desc_450>
<Char_Desc_2000>GDevelop is a free game creation software, allowing to make games for the web ( HTML5 ) or for Windows and Linux. No programming or coding skill is required! It is easy to use and powerful enough for advanced users.
The creation under GDevelop is entirely visual : Creation of objects, image insertion, objects positioning...
The user interface allows you to preview your game and test it inside the editor, by simply clicking on a single button.
All the game logic is created using events, allowing to launch actions if some conditions are filled. An entire game can be created without using a single line of code as events are both easy to use and flexible, thanks to sub-events and custom events types like loop events or functions-like events.
Moreover, events are compiled by GDevelop to machine code, just like ordinary programming language used in commercial games: GDevelop is the only game development software which combine the simplicity of creation with the power of professional programming languages.
GDevelop provides you with many features for your project : Dynamic lights and particle systems are available trought dedicated objects, actions and conditions to create multiplayer games are available, 3D objects can be used to render buildings, realistic physics behaviour can be added to objects thanks to the Physics behavior.
Many of these features are provided thanks to official open source extensions, and external developers can also develop extensions to enhance GDevelop capabilities.</Char_Desc_2000>
</English>
</Program_Descriptions>
</XML_DIZ_INFO>

View File

@@ -17,12 +17,13 @@ endmacro()
gd_set_option(BUILD_CORE TRUE BOOL "TRUE to build GDevelop Core library, FALSE to use the already compiled binaries")
gd_set_option(BUILD_GDCPP TRUE BOOL "TRUE to build GDevelop C++ Platform")
gd_set_option(BUILD_GDJS TRUE BOOL "TRUE to build GDevelop JS Platform")
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)")
# Disable deprecated code
set(NO_GUI TRUE CACHE BOOL "" FORCE) #Force disable old GUI related code.
#Setting up installation directory, for Linux (has to be done before "project" command).
IF(NOT WIN32)
if (NOT APPLE)
@@ -55,9 +56,7 @@ IF ("${CMAKE_BUILD_TYPE}" STREQUAL "")
set(CMAKE_BUILD_TYPE Release)
ENDIF()
IF (EMSCRIPTEN)
set(NO_GUI TRUE CACHE BOOL "" FORCE) #Force disable gui when compiling with emscripten.
set(BUILD_GDCPP FALSE CACHE BOOL "" FORCE) #Force disable GDC++ when compiling with emscripten.
set(BUILD_IDE FALSE CACHE BOOL "" FORCE) #Force disable IDE when compiling with emscripten.
ENDIF()
IF("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND NOT WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
@@ -69,9 +68,9 @@ include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
else()
message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support (with GNU extensions). Please use a different C++ compiler.")
endif()
@@ -81,23 +80,19 @@ 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)
IF(BUILD_CORE)
ADD_SUBDIRECTORY(Core)
ENDIF()
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/GDJS/CMakeLists.txt" AND BUILD_GDJS)
IF(BUILD_GDJS)
ADD_SUBDIRECTORY(GDJS)
ENDIF()
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/GDCpp/CMakeLists.txt" AND BUILD_GDCPP)
IF(BUILD_GDCPP)
ADD_SUBDIRECTORY(GDCpp)
ENDIF()
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/IDE/CMakeLists.txt" AND BUILD_IDE)
ADD_SUBDIRECTORY(IDE)
ENDIF()
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/GDevelop.js/CMakeLists.txt" AND EMSCRIPTEN)
ADD_SUBDIRECTORY(GDevelop.js)
ENDIF()
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Extensions/CMakeLists.txt" AND BUILD_EXTENSIONS)
IF(BUILD_EXTENSIONS)
ADD_SUBDIRECTORY(Extensions)
ENDIF()

View File

@@ -15,14 +15,6 @@ set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SY
#Dependencies on external libraries:
###
include_directories(${sfml_include_dir})
IF(WIN32) #Special case for wxWidgets on Windows
include_directories(${wxwidgets_include_dir})
ELSEIF (NOT EMSCRIPTEN AND NOT NO_GUI)
find_package(wxWidgets COMPONENTS core base adv net ribbon stc aui propgrid richtext html xrc REQUIRED)
include( "${wxWidgets_USE_FILE}" )
include_directories(${GTK_INCLUDE_DIRS})
link_directories(${GTK_LIBRARY_DIRS})
ENDIF(WIN32)
#Defines
###
@@ -30,14 +22,8 @@ add_definitions( -DGD_IDE_ONLY )
IF (EMSCRIPTEN)
add_definitions( -DEMSCRIPTEN )
ENDIF()
IF (NO_GUI)
add_definitions( -DGD_NO_WX_GUI )
ENDIF()
IF(CMAKE_BUILD_TYPE MATCHES "Debug")
add_definitions( -DDEBUG )
IF(WIN32)
add_definitions( -D__WXDEBUG__ )
ENDIF(WIN32)
ELSE()
add_definitions( -DRELEASE )
ENDIF()
@@ -45,11 +31,7 @@ ENDIF()
IF(WIN32)
add_definitions( -DWINDOWS )
add_definitions( "-DGD_CORE_API=__declspec(dllexport)" )
add_definitions( -D__GNUWIN32__ )
add_definitions( -D__WXMSW__ )
add_definitions( -DwxUSE_UNICODE=1 )
add_definitions( -DWXUSINGDLL )
ELSE()
IF(APPLE)
add_definitions( -DMACOS )
@@ -58,9 +40,6 @@ ELSE()
ENDIF()
add_definitions( -DGD_API= )
add_definitions( -DGD_CORE_API= )
IF (NOT NO_GUI)
add_definitions(${GTK_CFLAGS_OTHER})
ENDIF()
ENDIF(WIN32)
#The target
@@ -68,10 +47,6 @@ ENDIF(WIN32)
include_directories(.)
file(GLOB_RECURSE source_files GDCore/*)
IF(NO_GUI)
list(REMOVE_ITEM source_files "${CMAKE_CURRENT_SOURCE_DIR}/GDCore/IDE/Dialogs/GDCoreDialogs.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/GDCore/IDE/Dialogs/GDCoreDialogs.h" "${CMAKE_CURRENT_SOURCE_DIR}/GDCore/IDE/Dialogs/GDCoreDialogs_dialogs_bitmaps.cpp")
ENDIF()
file(GLOB_RECURSE formatted_source_files tests/* GDCore/Events/* GDCore/Extensions/* GDCore/IDE/* GDCore/Project/* GDCore/Serialization/* GDCore/Tools/*)
list(REMOVE_ITEM formatted_source_files "${CMAKE_CURRENT_SOURCE_DIR}/GDCore/IDE/Dialogs/GDCoreDialogs.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/GDCore/IDE/Dialogs/GDCoreDialogs.h" "${CMAKE_CURRENT_SOURCE_DIR}/GDCore/IDE/Dialogs/GDCoreDialogs_dialogs_bitmaps.cpp")
gd_add_clang_utils(GDCore "${formatted_source_files}")
@@ -95,8 +70,6 @@ IF(EMSCRIPTEN)
#Nothing.
ELSE()
target_link_libraries(GDCore ${sfml_LIBRARIES})
target_link_libraries(GDCore ${wxWidgets_LIBRARIES})
target_link_libraries(GDCore ${GTK_LIBRARIES})
ENDIF()
#Tests
@@ -112,6 +85,4 @@ if(BUILD_TESTS)
set_target_properties(GDCore_tests PROPERTIES BUILD_WITH_INSTALL_RPATH FALSE) #Allow finding dependencies directly from build path on Mac OS X.
target_link_libraries(GDCore_tests GDCore)
target_link_libraries(GDCore_tests ${sfml_LIBRARIES})
target_link_libraries(GDCore_tests ${wxWidgets_LIBRARIES})
target_link_libraries(GDCore_tests ${GTK_LIBRARIES})
endif()

View File

@@ -1,519 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="GDevelop Core" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug - Edittime">
<Option output="../IDE/bin/debug/GDCore.dll" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="0" />
<Option object_output="obj/Debug/" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-g" />
<Add option="-DGD_CORE_API=__declspec(dllexport)" />
<Add option="-DDEBUG" />
<Add option="-DWINDOWS" />
<Add option="-D__GNUWIN32__" />
<Add option="-D__WXMSW__" />
<Add option="-D__WXDEBUG__" />
<Add option="-DwxUSE_UNICODE=1" />
<Add option="-DWXUSINGDLL" />
<Add option="-DBOOST_DISABLE_ASSERTS" />
<Add directory="../ExtLibs/wxwidgets/include" />
<Add directory="../ExtLibs/wxwidgets/lib/gcc_dll/mswud" />
</Compiler>
<Linker>
<Add option="-lmingw32" />
<Add option="-lopengl32" />
<Add option="-limm32" />
<Add option="-lcomctl32" />
<Add option="-lglu32" />
<Add option="-lws2_32" />
<Add option="-lgdi32" />
<Add option="-lwinmm" />
<Add option="-lwxmsw30ud_xrc" />
<Add option="-lwxmsw30ud_stc" />
<Add option="-lwxmsw30ud_richtext" />
<Add option="-lwxmsw30ud_ribbon" />
<Add option="-lwxmsw30ud_propgrid" />
<Add option="-lwxmsw30ud_aui" />
<Add option="-lwxmsw30ud_adv" />
<Add option="-lwxmsw30ud_html" />
<Add option="-lwxmsw30ud_core" />
<Add option="-lwxbase30ud_xml" />
<Add option="-lwxbase30ud_net" />
<Add option="-lwxexpatd" />
<Add option="-lwxbase30ud" />
<Add option="-lwxpngd" />
<Add option="-lwxjpegd" />
<Add option="-lwxzlibd" />
<Add option="-lwxtiffd" />
<Add option="-lsfml-audio-d" />
<Add option="-lsfml-graphics-d" />
<Add option="-lsfml-window-d" />
<Add option="-lsfml-network-d" />
<Add option="-lsfml-system-d" />
<Add directory="../ExtLibs/wxwidgets/lib/gcc_dll" />
<Add directory="../ExtLibs/wxwidgets/lib/gcc_dll/mswud" />
<Add directory="../ExtLibs/SFML/build-mingw-debug/lib" />
</Linker>
</Target>
<Target title="Development - Edittime">
<Option output="../IDE/bin/dev/GDCore.dll" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="0" />
<Option object_output="obj/Dev/" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-O2" />
<Add option="-DGD_CORE_API=__declspec(dllexport)" />
<Add option="-DDEV" />
<Add option="-DWINDOWS" />
<Add option="-D__GNUWIN32__" />
<Add option="-D__WXMSW__" />
<Add option="-DwxUSE_UNICODE=1" />
<Add option="-DWXUSINGDLL" />
<Add option="-DBOOST_DISABLE_ASSERTS" />
<Add directory="../ExtLibs/wxwidgets/include" />
<Add directory="../ExtLibs/wxwidgets/lib/gcc_dll/mswu" />
</Compiler>
<Linker>
<Add option="-s" />
<Add option="-lmingw32" />
<Add option="-lopengl32" />
<Add option="-limm32" />
<Add option="-lcomctl32" />
<Add option="-lglu32" />
<Add option="-lws2_32" />
<Add option="-lgdi32" />
<Add option="-lwinmm" />
<Add option="-lwxmsw30u_xrc" />
<Add option="-lwxmsw30u_stc" />
<Add option="-lwxmsw30u_richtext" />
<Add option="-lwxmsw30u_ribbon" />
<Add option="-lwxmsw30u_propgrid" />
<Add option="-lwxmsw30u_aui" />
<Add option="-lwxmsw30u_adv" />
<Add option="-lwxmsw30u_html" />
<Add option="-lwxmsw30u_core" />
<Add option="-lwxbase30u_xml" />
<Add option="-lwxbase30u_net" />
<Add option="-lwxexpat" />
<Add option="-lwxbase30u" />
<Add option="-lwxpng" />
<Add option="-lwxjpeg" />
<Add option="-lwxzlib" />
<Add option="-lwxtiff" />
<Add option="-lsfml-audio" />
<Add option="-lsfml-graphics" />
<Add option="-lsfml-window" />
<Add option="-lsfml-network" />
<Add option="-lsfml-system" />
<Add directory="../ExtLibs/wxwidgets/lib/gcc_dll/mswu" />
<Add directory="../ExtLibs/wxwidgets/lib/gcc_dll" />
<Add directory="../ExtLibs/SFML/build-mingw-release/lib" />
</Linker>
</Target>
<Target title="Release - Edittime">
<Option output="../IDE/bin/release/GDCore.dll" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME)" prefix_auto="1" extension_auto="0" />
<Option object_output="obj/Release/" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-O2" />
<Add option="-DGD_CORE_API=__declspec(dllexport)" />
<Add option="-DRELEASE" />
<Add option="-DWINDOWS" />
<Add option="-D__GNUWIN32__" />
<Add option="-D__WXMSW__" />
<Add option="-DwxUSE_UNICODE=1" />
<Add option="-DWXUSINGDLL" />
<Add option="-DBOOST_DISABLE_ASSERTS" />
<Add directory="../ExtLibs/wxwidgets/include" />
<Add directory="../ExtLibs/wxwidgets/lib/gcc_dll/mswu" />
</Compiler>
<Linker>
<Add option="-s" />
<Add option="-lmingw32" />
<Add option="-lopengl32" />
<Add option="-limm32" />
<Add option="-lcomctl32" />
<Add option="-lglu32" />
<Add option="-lws2_32" />
<Add option="-lgdi32" />
<Add option="-lwinmm" />
<Add option="-lwxmsw30u_xrc" />
<Add option="-lwxmsw30u_stc" />
<Add option="-lwxmsw30u_richtext" />
<Add option="-lwxmsw30u_ribbon" />
<Add option="-lwxmsw30u_propgrid" />
<Add option="-lwxmsw30u_aui" />
<Add option="-lwxmsw30u_adv" />
<Add option="-lwxmsw30u_html" />
<Add option="-lwxmsw30u_core" />
<Add option="-lwxbase30u_xml" />
<Add option="-lwxbase30u_net" />
<Add option="-lwxexpat" />
<Add option="-lwxbase30u" />
<Add option="-lwxpng" />
<Add option="-lwxjpeg" />
<Add option="-lwxzlib" />
<Add option="-lwxtiff" />
<Add option="-lsfml-audio" />
<Add option="-lsfml-graphics" />
<Add option="-lsfml-window" />
<Add option="-lsfml-network" />
<Add option="-lsfml-system" />
<Add directory="../ExtLibs/wxwidgets/lib/gcc_dll/mswu" />
<Add directory="../ExtLibs/wxwidgets/lib/gcc_dll" />
<Add directory="../ExtLibs/SFML/build-mingw-release/lib" />
</Linker>
</Target>
<Target title="Linux - Release - Edittime">
<Option output="../IDE/bin/release/libGDCore.so" prefix_auto="0" extension_auto="0" />
<Option object_output="obj/Linux Release/" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-O2" />
<Add option="-m32" />
<Add option="`wx-config --cppflags`" />
<Add option="`pkg-config gtk+-2.0 --cflags`" />
<Add option='-DGD_CORE_API=&quot;&quot;' />
<Add option="-DRELEASE" />
<Add option="-DLINUX" />
<Add option="-DBOOST_DISABLE_ASSERTS" />
</Compiler>
<Linker>
<Add option="-s" />
<Add option="`wx-config --libs all`" />
<Add option="-lsfml-audio" />
<Add option="-lsfml-graphics" />
<Add option="-lsfml-window" />
<Add option="-lsfml-network" />
<Add option="-lsfml-system" />
<Add directory="../ExtLibs/SFML/build-linux/lib" />
</Linker>
</Target>
<Target title="Linux - Debug - Edittime">
<Option output="../IDE/bin/debug/libGDCore.so" prefix_auto="0" extension_auto="0" />
<Option object_output="obj/Linux Debug/" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-g" />
<Add option="-m32" />
<Add option="`wx-config --cppflags`" />
<Add option="`pkg-config gtk+-2.0 --cflags`" />
<Add option='-DGD_CORE_API=&quot;&quot;' />
<Add option="-DDEBUG" />
<Add option="-DLINUX" />
</Compiler>
<Linker>
<Add option="`wx-config --libs all`" />
<Add option="-lsfml-audio" />
<Add option="-lsfml-graphics" />
<Add option="-lsfml-window" />
<Add option="-lsfml-network" />
<Add option="-lsfml-system" />
<Add directory="../ExtLibs/SFML/build-linux/lib" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
<Add option="-fexceptions" />
<Add option="-DGD_IDE_ONLY" />
<Add directory="../Core" />
<Add directory="../ExtLibs/boost" />
<Add directory="../ExtLibs/SFML/include" />
</Compiler>
<ResourceCompiler>
<Add directory="../Core" />
</ResourceCompiler>
<Unit filename="GDCore/CommonTools.cpp" />
<Unit filename="GDCore/CommonTools.h" />
<Unit filename="GDCore/DocMainPage.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" />
<Unit filename="GDCore/Events/Builtin/ForEachEvent.h" />
<Unit filename="GDCore/Events/Builtin/LinkEvent.cpp" />
<Unit filename="GDCore/Events/Builtin/LinkEvent.h" />
<Unit filename="GDCore/Events/Builtin/RepeatEvent.cpp" />
<Unit filename="GDCore/Events/Builtin/RepeatEvent.h" />
<Unit filename="GDCore/Events/Builtin/StandardEvent.cpp" />
<Unit filename="GDCore/Events/Builtin/StandardEvent.h" />
<Unit filename="GDCore/Events/Builtin/WhileEvent.cpp" />
<Unit filename="GDCore/Events/Builtin/WhileEvent.h" />
<Unit filename="GDCore/Events/Event.cpp" />
<Unit filename="GDCore/Events/Event.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/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/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/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/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" />
<Unit filename="GDCore/IDE/Dialogs/AdvancedEntryDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/ChooseBehaviorDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ChooseBehaviorDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/ChooseBehaviorTypeDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ChooseBehaviorTypeDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/ChooseLayerDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ChooseLayerDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/ChooseObjectDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ChooseObjectDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/ChooseObjectTypeDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ChooseObjectTypeDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/ChooseVariableDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ChooseVariableDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/EditComment.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EditComment.h" />
<Unit filename="GDCore/IDE/Dialogs/EditExpressionDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EditExpressionDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/EditForEachEvent.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EditForEachEvent.h" />
<Unit filename="GDCore/IDE/Dialogs/EditLayerDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EditLayerDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/EditLink.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EditLink.h" />
<Unit filename="GDCore/IDE/Dialogs/EditRepeatEvent.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EditRepeatEvent.h" />
<Unit filename="GDCore/IDE/Dialogs/EditStrExpressionDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/EditStrExpressionDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/GridSetupDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/GridSetupDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/InitialInstancesPropgridHelper.cpp" />
<Unit filename="GDCore/IDE/Dialogs/InitialInstancesPropgridHelper.h" />
<Unit filename="GDCore/IDE/Dialogs/InstancesAdvancedPasteDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/InstancesAdvancedPasteDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/LayersEditorPanel.cpp" />
<Unit filename="GDCore/IDE/Dialogs/LayersEditorPanel.h" />
<Unit filename="GDCore/IDE/Dialogs/LayoutEditorCanvas/LayoutEditorCanvas.cpp" />
<Unit filename="GDCore/IDE/Dialogs/LayoutEditorCanvas/LayoutEditorCanvas.h" />
<Unit filename="GDCore/IDE/Dialogs/LayoutEditorCanvas/LayoutEditorCanvas2.cpp" />
<Unit filename="GDCore/IDE/Dialogs/LayoutEditorCanvas/LayoutEditorCanvasAssociatedEditor.cpp" />
<Unit filename="GDCore/IDE/Dialogs/LayoutEditorCanvas/LayoutEditorCanvasAssociatedEditor.h" />
<Unit filename="GDCore/IDE/Dialogs/LayoutEditorCanvas/LayoutEditorCanvasOptions.cpp" />
<Unit filename="GDCore/IDE/Dialogs/LayoutEditorCanvas/LayoutEditorCanvasOptions.h" />
<Unit filename="GDCore/IDE/Dialogs/LayoutEditorCanvas/LayoutEditorCanvasTextDnd.cpp" />
<Unit filename="GDCore/IDE/Dialogs/LayoutEditorCanvas/LayoutEditorCanvasTextDnd.h" />
<Unit filename="GDCore/IDE/Dialogs/MainFrameWrapper.cpp" />
<Unit filename="GDCore/IDE/Dialogs/MainFrameWrapper.h" />
<Unit filename="GDCore/IDE/Dialogs/ObjectListDialogsHelper.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ObjectListDialogsHelper.h" />
<Unit filename="GDCore/IDE/Dialogs/ObjectsOnBadLayerDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ObjectsOnBadLayerDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/ObjectsPropgridHelper.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ObjectsPropgridHelper.h" />
<Unit filename="GDCore/IDE/Dialogs/ProjectExtensionsDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ProjectExtensionsDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/ProjectUpdateDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ProjectUpdateDialog.h" />
<Unit filename="GDCore/IDE/Dialogs/ResourceLibraryDialog.cpp" />
<Unit filename="GDCore/IDE/Dialogs/ResourceLibraryDialog.h" />
<Unit filename="GDCore/IDE/EventsChangesNotifier.cpp" />
<Unit filename="GDCore/IDE/EventsChangesNotifier.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/Project/ResourcesInUseHelper.cpp" />
<Unit filename="GDCore/IDE/Project/ResourcesInUseHelper.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/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/Events/TextFormatting.h" />
<Unit filename="GDCore/IDE/wxTools/AuiTabArt.cpp" />
<Unit filename="GDCore/IDE/wxTools/AuiTabArt.h" />
<Unit filename="GDCore/IDE/wxTools/FileProperty.cpp" />
<Unit filename="GDCore/IDE/wxTools/FileProperty.h" />
<Unit filename="GDCore/IDE/wxTools/RecursiveMkDir.cpp" />
<Unit filename="GDCore/IDE/wxTools/RecursiveMkDir.h" />
<Unit filename="GDCore/IDE/wxTools/SkinHelper.cpp" />
<Unit filename="GDCore/IDE/wxTools/SkinHelper.h" />
<Unit filename="GDCore/IDE/wxTools/TreeItemStringData.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/ObjectsContainer.cpp" />
<Unit filename="GDCore/Project/ObjectsContainer.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" />
<Unit filename="GDCore/TinyXml/tinyxml.h" />
<Unit filename="GDCore/TinyXml/tinyxmlerror.cpp" />
<Unit filename="GDCore/TinyXml/tinyxmlparser.cpp" />
<Unit filename="GDCore/Tools/DynamicLibrariesTools.cpp" />
<Unit filename="GDCore/Tools/DynamicLibrariesTools.h" />
<Unit filename="GDCore/Tools/HelpFileAccess.cpp" />
<Unit filename="GDCore/Tools/HelpFileAccess.h" />
<Unit filename="GDCore/Tools/Locale/LocaleManager.cpp" />
<Unit filename="GDCore/Tools/Locale/LocaleManager.h" />
<Unit filename="GDCore/Tools/Version.h" />
<Unit filename="GDCore/Tools/VersionWrapper.cpp" />
<Unit filename="GDCore/Tools/VersionWrapper.h" />
<Unit filename="wxsmith/AdvancedEntryDialog.wxs" />
<Unit filename="wxsmith/ChooseBehaviorDialog.wxs" />
<Unit filename="wxsmith/ChooseBehaviorTypeDialog.wxs" />
<Unit filename="wxsmith/ChooseLayerDialog.wxs" />
<Unit filename="wxsmith/ChooseObjectDialog.wxs" />
<Unit filename="wxsmith/ChooseObjectTypeDialog.wxs" />
<Unit filename="wxsmith/ChooseVariableDialog.wxs" />
<Unit filename="wxsmith/EditComment.wxs" />
<Unit filename="wxsmith/EditExpressionDialog.wxs" />
<Unit filename="wxsmith/EditForEachEvent.wxs" />
<Unit filename="wxsmith/EditLayerDialog.wxs" />
<Unit filename="wxsmith/EditLink.wxs" />
<Unit filename="wxsmith/EditRepeatEvent.wxs" />
<Unit filename="wxsmith/EditStrExpressionDialog.wxs" />
<Unit filename="wxsmith/GridSetupDialog.wxs" />
<Unit filename="wxsmith/InstancesAdvancedPasteDialog.wxs" />
<Unit filename="wxsmith/LayersEditorPanel.wxs" />
<Unit filename="wxsmith/LayoutEditorCanvas.wxs" />
<Unit filename="wxsmith/ObjectsOnBadLayerDialog.wxs" />
<Unit filename="wxsmith/ProjectExtensionsDialog.wxs" />
<Unit filename="wxsmith/ProjectUpdateDialog.wxs" />
<Unit filename="wxsmith/ResourceLibraryDialog.wxs" />
<Unit filename="wxsmith/SpriteObjectEditor.wxs" />
<Unit filename="wxsmith/ResourcesEditor.wxs" />
<Extensions>
<code_completion />
<envvars />
<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/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>
</Project>
</CodeBlocks_project_file>

View File

@@ -21,8 +21,6 @@
#define GD_DEPRECATED
#endif
class wxString;
namespace gd
{

View File

@@ -78,7 +78,6 @@
* The installation is fairly simple :<br>
* <br>
* - Launch the installer.<br>
* - Uncheck "Check for updated files on the TDM-GCC server" (otherwise you won't get TDM-GCC 4.9.2 but a more recent version that won't be compatible with wxWidgets pre-compiled binaries)
* - Choose Create.<br>
\image html compilerInstall1.png
@@ -157,9 +156,6 @@
* Binaries are created into *Binaries/Output/Release_{OS}* folder.
*
* To launch GDevelop in Windows, double click on **GDIDE**. For Linux, launch **StartGDevelop.sh**.
*
* If the build failed, check that you've properly installed wxWidgets and that you have installed any required
* development library.
*/
/**
@@ -192,18 +188,6 @@ sudo apt-get install curl
sudo apt-get install devscripts
\endcode
*
* \subsection wxWidgets Install wxWidgets development libraries
*
* Most distributions have wxWidgets 3 development libraries available: install them using your package manager. On Ubuntu:
\code
sudo apt-get install libwxgtk3.0-dev
\endcode
You should also have GTK+ development libraries installed. For GTK+2:
\code
sudo apt-get install libgtk2.0-dev
\endcode
*
* \subsection installcmake Install CMake
* You'll need CMake to build GDevelop: See more on \subpage installAndUseCMake.
@@ -222,7 +206,6 @@ sudo apt-get install libgtk2.0-dev
brew install cmake
brew install p7zip
brew install pkgconfig
brew install wxwidgets
brew install freetype
\endcode
* If you want to generate the documentation and translations, install Doxygen and Gettext:
@@ -248,44 +231,6 @@ make -j4
/**
* \page recommendedToolsAndConventions Recommended tools and advices to work with GD
*
* \section texteditor Text editor
*
* GDevelop is compiled thanks to CMake which can generate *Makefiles* or a project file for most popular IDE available.<br>
*
* [Sublime Text](http://www.sublimetext.com/) is a very nice text editor for programmers:
* *"You'll love the slick user interface, extraordinary features and amazing performance."*. <br>
* It has nice features like shortcut to search for a file at an amazing speed (just type a few letters of the file name you're searching for),
* multiple selection, plugins for better C++ and Javascript support.
*
* Take a look at it if you're unsure about which IDE to use. If you're more familiar with another IDE,
* ask CMake to generate a project file for it.
*
* ------
*
* \section designers Visual designers for IDE or GDCore dialogs
*
* \subsection newDesigner "New" dialogs created with wxCrafter
*
* New dialogs are designed using [wxCrafter](http://wxcrafter.codelite.org/). Download and launch it.
*
* All dialogs of GDCore, GDCpp, GDJS or the IDE created using wxCrafter are stored into a single .wxcp file in
* the wxsmith folder, next to files of dialogs created with wxSmith.<br>
* For example, open *GDJS/wxsmith/GDJS.wxcp*.
*
* You can edit and add new dialogs. Do not forget to click on "Generate code" if you made any change.
*
* wxCrafter creates base classes for dialog (their names start by *Base*), and any code must be inserted into
* a derived class. See examples in *GDJS*.
*
* \subsection oldDesigner "Old" dialogs created with wxSmith
* If you want to edit a dialog, first search if there is a file called *filename*.wxs in the folder *wxsmith* (in GDCore,
* GDCpp or IDE). If it is present, the dialog was made using the wxSmith visual designer integrated into the Code::Blocks IDE:
* - Download [Code::Blocks](http://www.codeblocks.org/) and launch it.
* - Open the .cbp in GDCore, GDCpp or IDE folder.
* - In the tab "Resources", locate the dialog to edit.
*
* ------
*
* \section git Git and GitHub
*
* Git is an amazing *version control system*. If you never used it before, take a look at some tutorials, there
@@ -413,8 +358,6 @@ double twopointfive = twopointfive.To<double>();
//twopointfive == 2.5
\endcode
*
* gd::String can also be implicitly constructed from a wxString or a sf::String, so that it is easy to use when you're dealing
* with wxWidgets GUI dialogs/editors or SFML objects.
*
* For more information, see the complete reference of the class. Tests cases have also been made for most functions.
*/

View File

@@ -4,15 +4,8 @@
* reserved. This project is released under the MIT License.
*/
#if !defined(GD_NO_WX_GUI)
#include <wx/dcmemory.h>
#endif
#include "CommentEvent.h"
#include "GDCore/CommonTools.h"
#include "GDCore/IDE/Dialogs/EditComment.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorItemsAreas.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorSelection.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsRenderingHelper.h"
#include "GDCore/Serialization/SerializerElement.h"
using namespace std;
@@ -47,143 +40,4 @@ void CommentEvent::UnserializeFrom(gd::Project &project,
com2 = element.GetChild("comment2", 0, "Com2").GetValue().GetString();
}
gd::BaseEvent::EditEventReturnType CommentEvent::EditEvent(
wxWindow *parent_,
gd::Project &game_,
gd::Layout &scene_,
gd::MainFrameWrapper &mainFrameWrapper_) {
#if !defined(GD_NO_WX_GUI)
EditComment dialog(parent_, *this);
if (dialog.ShowModal() == 0) return Cancelled;
#endif
return ChangesMadeButNoNeedForEventsRecompilation;
}
/**
* Render the event
*/
void CommentEvent::Render(wxDC &dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas &areas,
gd::EventsEditorSelection &selection,
const gd::Platform &) {
#if !defined(GD_NO_WX_GUI)
x += 1; // Small border
gd::EventsRenderingHelper *renderingHelper = gd::EventsRenderingHelper::Get();
renderingHelper->GetHTMLRenderer().SetDC(&dc);
renderingHelper->GetHTMLRenderer().SetStandardFonts(
renderingHelper->GetNiceFont().GetPointSize());
// Prepare HTML texts
gd::String str1 =
"<FONT color=" +
wxColour(textR, textG, textB).GetAsString(wxC2S_HTML_SYNTAX) + ">" +
renderingHelper->GetHTMLText(com1) + "</FONT>";
gd::String str2 =
"<FONT color=" +
wxColour(textR, textG, textB).GetAsString(wxC2S_HTML_SYNTAX) + ">" +
renderingHelper->GetHTMLText(com2) + "</FONT>";
// Calculate space constraints
const int sideSeparation = 3; // Spacing between text and borders
unsigned int textWidth = com2.empty() ? width - sideSeparation * 2
: width / 2 - sideSeparation * 2;
renderingHelper->GetHTMLRenderer().SetSize(textWidth, 9999);
renderingHelper->GetHTMLRenderer().SetHtmlText(str1);
unsigned int text1Height =
renderingHelper->GetHTMLRenderer().GetTotalHeight();
renderingHelper->GetHTMLRenderer().SetHtmlText(str2);
unsigned int text2Height =
renderingHelper->GetHTMLRenderer().GetTotalHeight();
// Prepare background
dc.SetBrush(wxBrush(wxColour(r, v, b), wxBRUSHSTYLE_TRANSPARENT));
dc.SetPen(wxPen(wxColour(r / 2, v / 2, b / 2), 1));
// Draw the background
unsigned int height = std::max(text1Height, text2Height) + sideSeparation * 2;
height = std::max(height, (unsigned int)15);
wxRect rectangle(x, y, width - 2, height);
dc.GradientFillLinear(rectangle,
wxColour(r + 20 > 255 ? 255 : r + 20,
v + 20 > 255 ? 255 : v + 20,
b + 20 > 255 ? 255 : b + 20),
wxColour(r, v, b),
wxSOUTH);
dc.DrawRectangle(rectangle);
// Draw text
{
renderingHelper->GetHTMLRenderer().SetHtmlText(str1);
wxArrayInt neededArray;
renderingHelper->GetHTMLRenderer().Render(
x + sideSeparation, y + sideSeparation, neededArray);
}
if (!com2.empty()) // Optional text
{
renderingHelper->GetHTMLRenderer().SetHtmlText(str2);
wxArrayInt neededArray;
renderingHelper->GetHTMLRenderer().Render(
x + sideSeparation + textWidth + sideSeparation,
y + sideSeparation,
neededArray);
}
#endif
}
unsigned int CommentEvent::GetRenderedHeight(unsigned int width,
const gd::Platform &) const {
#if !defined(GD_NO_WX_GUI)
if (eventHeightNeedUpdate) {
gd::EventsRenderingHelper *renderingHelper =
gd::EventsRenderingHelper::Get();
wxMemoryDC dc;
wxBitmap fakeBmp(1, 1);
dc.SelectObject(fakeBmp);
renderingHelper->GetHTMLRenderer().SetDC(&dc);
renderingHelper->GetHTMLRenderer().SetStandardFonts(
renderingHelper->GetNiceFont().GetPointSize());
gd::String str1 =
"<FONT color=" +
wxColour(textR, textG, textB).GetAsString(wxC2S_HTML_SYNTAX) + ">" +
renderingHelper->GetHTMLText(com1) + "</FONT>";
gd::String str2 =
"<FONT color=" +
wxColour(textR, textG, textB).GetAsString(wxC2S_HTML_SYNTAX) + ">" +
renderingHelper->GetHTMLText(com2) + "</FONT>";
// Calculate space constraints
const int sideSeparation = 3; // Spacing between text and borders
unsigned int textWidth = com2.empty() ? width - sideSeparation * 2
: width / 2 - sideSeparation * 2;
renderingHelper->GetHTMLRenderer().SetSize(textWidth, 9999);
renderingHelper->GetHTMLRenderer().SetHtmlText(str1);
unsigned int text1Height =
renderingHelper->GetHTMLRenderer().GetTotalHeight();
renderingHelper->GetHTMLRenderer().SetHtmlText(str2);
unsigned int text2Height =
renderingHelper->GetHTMLRenderer().GetTotalHeight();
unsigned int height =
std::max(text1Height, text2Height) + sideSeparation * 2;
height = std::max(height, (unsigned int)15);
renderedHeight = height;
}
#endif
return renderedHeight + 2; // 2 : 2 small borders
}
} // namespace gd

View File

@@ -7,26 +7,10 @@
#define COMMENTEVENT_H
#include "GDCore/Events/Event.h"
class TiXmlElement;
namespace gd {
class Layout;
}
namespace gd {
class Project;
}
namespace gd {
class MainFrameWrapper;
}
namespace gd {
class Project;
}
class wxWindow;
namespace gd {
class EventsEditorItemsAreas;
}
namespace gd {
class EventsEditorSelection;
}
namespace gd {
@@ -75,29 +59,6 @@ class GD_CORE_API CommentEvent : public gd::BaseEvent {
gd::String com1; ///< Comment
gd::String com2; ///< Optional second column comment, deprecated
/**
* Called by event editor to draw the event.
*/
virtual void Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform&);
/**
* Must return the height of the event when rendered
*/
virtual unsigned int GetRenderedHeight(unsigned int width,
const gd::Platform&) const;
virtual EditEventReturnType EditEvent(
wxWindow* parent_,
gd::Project& game_,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_);
};
} // namespace gd

View File

@@ -11,10 +11,6 @@
#include "GDCore/Events/CodeGeneration/ExpressionsCodeGeneration.h"
#include "GDCore/Events/Serialization.h"
#include "GDCore/Events/Tools/EventsCodeNameMangler.h"
#include "GDCore/IDE/Dialogs/EditForEachEvent.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorItemsAreas.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorSelection.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsRenderingHelper.h"
#include "GDCore/Serialization/SerializerElement.h"
#include "GDCore/TinyXml/tinyxml.h"
@@ -89,110 +85,4 @@ void ForEachEvent::UnserializeFrom(gd::Project& project,
project, events, element.GetChild("events", 0, "Events"));
}
/**
* Render the event in the bitmap
*/
void ForEachEvent::Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform) {
#if !defined(GD_NO_WX_GUI)
gd::EventsRenderingHelper* renderingHelper = gd::EventsRenderingHelper::Get();
int border = renderingHelper->instructionsListBorder;
const int forEachTextHeight = 20;
// Draw header rectangle
wxRect headerRect(x, y, width, forEachTextHeight);
renderingHelper->DrawNiceRectangle(dc, headerRect);
// For Each text
dc.SetFont(renderingHelper->GetNiceFont().Bold());
if (!IsDisabled())
dc.SetTextForeground(wxColour(0, 0, 0));
else
dc.SetTextForeground(wxColour(160, 160, 160));
dc.DrawText(_("For each object") + " " + objectsToPick.GetPlainString() +
_(", repeat :"),
x + 4,
y + 3);
// Draw conditions rectangle
wxRect rect(x,
y + forEachTextHeight,
renderingHelper->GetConditionsColumnWidth() + border,
GetRenderedHeight(width, platform) - forEachTextHeight);
renderingHelper->DrawNiceRectangle(dc, rect);
// Draw actions and conditions
renderingHelper->DrawConditionsList(
conditions,
dc,
x + border,
y + forEachTextHeight + border,
renderingHelper->GetConditionsColumnWidth() - border,
this,
areas,
selection,
platform);
renderingHelper->DrawActionsList(
actions,
dc,
x + renderingHelper->GetConditionsColumnWidth() + border,
y + forEachTextHeight + border,
width - renderingHelper->GetConditionsColumnWidth() - border * 2,
this,
areas,
selection,
platform);
#endif
}
unsigned int ForEachEvent::GetRenderedHeight(
unsigned int width, const gd::Platform& platform) const {
#if !defined(GD_NO_WX_GUI)
if (eventHeightNeedUpdate) {
gd::EventsRenderingHelper* renderingHelper =
gd::EventsRenderingHelper::Get();
int border = renderingHelper->instructionsListBorder;
const int forEachTextHeight = 20;
// Get maximum height needed
int conditionsHeight = renderingHelper->GetRenderedConditionsListHeight(
conditions,
renderingHelper->GetConditionsColumnWidth() - border,
platform);
int actionsHeight = renderingHelper->GetRenderedActionsListHeight(
actions,
width - renderingHelper->GetConditionsColumnWidth() - border * 2,
platform);
renderedHeight =
((conditionsHeight > actionsHeight ? conditionsHeight : actionsHeight) +
forEachTextHeight) +
border * 2;
eventHeightNeedUpdate = false;
}
return renderedHeight;
#else
return 0;
#endif
}
gd::BaseEvent::EditEventReturnType ForEachEvent::EditEvent(
wxWindow* parent_,
gd::Project& game_,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_) {
#if !defined(GD_NO_WX_GUI)
EditForEachEvent dialog(parent_, *this, game_, scene_);
if (dialog.ShowModal() == 0) return Cancelled;
#endif
return ChangesMade;
}
} // namespace gd

View File

@@ -8,27 +8,11 @@
#define FOREACHEVENT_H
#include "GDCore/Events/Event.h"
#include "GDCore/Events/EventsList.h"
class RuntimeScene;
namespace gd {
class Instruction;
}
namespace gd {
class Project;
}
namespace gd {
class MainFrameWrapper;
}
class TiXmlElement;
namespace gd {
class EventsEditorItemsAreas;
}
namespace gd {
class EventsEditorSelection;
}
namespace gd {
class Layout;
}
class wxWindow;
namespace gd {
@@ -75,32 +59,6 @@ class GD_CORE_API ForEachEvent : public gd::BaseEvent {
virtual void UnserializeFrom(gd::Project& project,
const SerializerElement& element);
/**
* Called by event editor to draw the event.
*/
virtual void Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform);
/**
* Must return the height of the event when rendered
*/
virtual unsigned int GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const;
/**
* Called when the user want to edit the event
*/
virtual EditEventReturnType EditEvent(
wxWindow* parent_,
gd::Project& game_,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_);
private:
gd::Expression objectsToPick;
gd::InstructionsList conditions;

View File

@@ -5,20 +5,10 @@
*/
#include "GroupEvent.h"
#if !defined(GD_NO_WX_GUI)
#include <wx/dcmemory.h>
#include <wx/renderer.h>
#include "GDCore/IDE/Dialogs/MainFrameWrapper.h"
#endif
#include "GDCore/CommonTools.h"
#include "GDCore/Events/CodeGeneration/EventsCodeGenerationContext.h"
#include "GDCore/Events/CodeGeneration/EventsCodeGenerator.h"
#include "GDCore/Events/Serialization.h"
#include "GDCore/IDE/Dialogs/EventStoreDialog.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorItemsAreas.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorSelection.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsRenderingHelper.h"
#include "GDCore/IDE/Dialogs/GroupEventDialog.h"
#include "GDCore/Serialization/SerializerElement.h"
#include "GDCore/TinyXml/tinyxml.h"
@@ -63,39 +53,6 @@ void GroupEvent::UnserializeFrom(gd::Project& project,
parameters.push_back(parametersElement.GetChild(i).GetValue().GetString());
}
gd::BaseEvent::EditEventReturnType GroupEvent::EditEvent(
wxWindow* parent_,
gd::Project& project,
gd::Layout& scene,
gd::MainFrameWrapper& mainFrameWrapper) {
if (events.IsEmpty())
events.InsertNewEvent(project, "BuiltinCommonInstructions::Standard");
#if !defined(GD_NO_WX_GUI)
if (source.empty()) {
GroupEventDialog dialog(parent_, *this);
dialog.ShowModal();
return ChangesMadeButNoNeedForEventsRecompilation;
} else {
gd::EventStoreDialog dialog(parent_, project, scene);
size_t found = source.rfind("/");
if (found != gd::String::npos && found < source.size() - 1) {
gd::String sourceId = source.substr(found + 1, source.size());
dialog.RefreshWith(sourceId, parameters);
}
if (dialog.ShowModal() != 1) return Cancelled;
// Insert new events
*this = dialog.GetGroupEvent();
return ChangesMade;
}
#else
return Cancelled;
#endif
}
void GroupEvent::SetBackgroundColor(unsigned int colorR_,
unsigned int colorG_,
unsigned int colorB_) {
@@ -104,60 +61,5 @@ void GroupEvent::SetBackgroundColor(unsigned int colorR_,
colorB = colorB_;
}
/**
* Render the event in the bitmap
*/
void GroupEvent::Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform) {
#if !defined(GD_NO_WX_GUI)
wxString groupTitle = name.empty() ? _("Untitled group") : wxString(name);
wxColour backgroundColor = wxColour(colorR, colorG, colorB);
wxColour textColor = colorR + colorG + colorB > 200 * 3 ? *wxBLACK : *wxWHITE;
if (IsDisabled()) {
backgroundColor.MakeDisabled();
textColor = wxColour(160, 160, 160);
}
dc.SetBrush(wxBrush(backgroundColor));
dc.SetPen(wxPen(backgroundColor.ChangeLightness(70)));
wxRect rect(x + 1, y, width - 2, GetRenderedHeight(width, platform) - 2);
dc.DrawRectangle(rect);
dc.SetTextBackground(backgroundColor);
dc.SetTextForeground(textColor);
dc.SetFont(
wxFont(12, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD));
dc.DrawText(groupTitle, x + 5, y + 5);
#endif
}
unsigned int GroupEvent::GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const {
#if !defined(GD_NO_WX_GUI)
if (eventHeightNeedUpdate) {
wxMemoryDC dc;
wxBitmap fakeBmp(1, 1);
dc.SelectObject(fakeBmp);
wxString groupTitle = name.empty() ? _("Untitled group") : wxString(name);
dc.SetFont(wxFont(
12, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL));
wxRect text = dc.GetTextExtent(groupTitle);
renderedHeight = text.GetHeight() + 10;
eventHeightNeedUpdate = false;
}
return renderedHeight;
#else
return 0;
#endif
}
} // namespace gd

View File

@@ -12,19 +12,9 @@
#include "GDCore/Events/Instruction.h"
namespace gd {
class Instruction;
}
namespace gd {
class Project;
}
class RuntimeScene;
class TiXmlElement;
class EventsCodeGenerationContext;
namespace gd {
class EventsEditorItemsAreas;
}
namespace gd {
class EventsEditorSelection;
}
namespace gd {
@@ -120,29 +110,6 @@ class GD_CORE_API GroupEvent : public gd::BaseEvent {
virtual void UnserializeFrom(gd::Project& project,
const SerializerElement& element);
virtual gd::BaseEvent::EditEventReturnType EditEvent(
wxWindow* parent_,
gd::Project& project,
gd::Layout& scene,
gd::MainFrameWrapper& mainFrameWrapper);
/**
* Called by event editor to draw the event.
*/
virtual void Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform);
/**
* Must return the height of the event when rendered
*/
virtual unsigned int GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const;
private:
EventsList events;

View File

@@ -5,18 +5,12 @@
*/
#include <fstream>
#include <iostream>
#if !defined(GD_NO_WX_GUI)
#include <wx/dcmemory.h>
#endif
#include "GDCore/CommonTools.h"
#include "GDCore/Events/Builtin/GroupEvent.h"
#include "GDCore/Events/Builtin/LinkEvent.h"
#include "GDCore/Events/CodeGeneration/EventsCodeGenerationContext.h"
#include "GDCore/Events/CodeGeneration/EventsCodeGenerator.h"
#include "GDCore/Events/Tools/EventsCodeNameMangler.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsRenderingHelper.h"
#include "GDCore/IDE/Dialogs/LinkEventEditor.h"
#include "GDCore/IDE/wxTools/SkinHelper.h"
#include "GDCore/Project/ExternalEvents.h"
#include "GDCore/Project/Layout.h"
#include "GDCore/Project/Object.h"
@@ -161,90 +155,4 @@ void LinkEvent::UnserializeFrom(gd::Project& project,
}
}
gd::BaseEvent::EditEventReturnType LinkEvent::EditEvent(
wxWindow* parent_,
gd::Project& project,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_) {
#if !defined(GD_NO_WX_GUI)
LinkEventEditor dialog(parent_, *this, project);
if (dialog.ShowModal() == 0) return Cancelled;
#endif
return ChangesMade;
}
/**
* Render the event in the bitmap
*/
void LinkEvent::Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform) {
#if !defined(GD_NO_WX_GUI)
gd::EventsRenderingHelper* renderingHelper = gd::EventsRenderingHelper::Get();
dc.SetBrush(wxBrush(wxColour(255, 255, 255)));
dc.SetPen(wxPen(wxColour(0, 0, 0), 1));
wxRect rect(x + 1, y, width - 2, GetRenderedHeight(width, platform) - 2);
dc.DrawRectangle(rect);
dc.DrawBitmap(gd::SkinHelper::GetIcon("events", 24), x + 4, y + 1, true);
dc.SetTextBackground(wxColour(255, 255, 255));
if (!IsDisabled())
dc.SetTextForeground(wxColour(0, 0, 0));
else
dc.SetTextForeground(wxColour(160, 160, 160));
dc.SetFont(renderingHelper->GetNiceFont());
dc.DrawText(_("Link to ") + GetTarget(), x + 32, y + 3);
if (GetIncludeConfig() == INCLUDE_BY_INDEX) {
wxRect textRect = dc.GetTextExtent(_("Link to ") + GetTarget());
dc.DrawText(_("Include only events ") +
gd::String::From(GetIncludeStart() + 1) + _(" to ") +
gd::String::From(GetIncludeEnd() + 1),
x + textRect.GetWidth() + 32 + 10,
y + 5);
} else if (GetIncludeConfig() == INCLUDE_EVENTS_GROUP) {
wxRect textRect = dc.GetTextExtent(_("Link to ") + GetTarget());
dc.DrawText(_("Include only the events group named \"") +
gd::String::From(GetEventsGroupName()) + _("\""),
x + textRect.GetWidth() + 32 + 10,
y + 5);
}
#endif
}
/**
* Precompute height for the link
*/
unsigned int LinkEvent::GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const {
#if !defined(GD_NO_WX_GUI)
if (eventHeightNeedUpdate) {
gd::EventsRenderingHelper* renderingHelper =
gd::EventsRenderingHelper::Get();
wxMemoryDC dc;
wxBitmap fakeBmp(1, 1);
dc.SelectObject(fakeBmp);
dc.SetFont(renderingHelper->GetNiceFont());
wxRect lien = dc.GetTextExtent(_("Link to "));
renderedHeight = lien.GetHeight() + 15;
eventHeightNeedUpdate = false;
}
return renderedHeight;
#else
return 0;
#endif
}
} // namespace gd

View File

@@ -109,29 +109,6 @@ class GD_CORE_API LinkEvent : public gd::BaseEvent {
virtual bool IsExecutable() const { return true; };
/**
* Called by event editor to draw the event.
*/
virtual void Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform);
/**
* Must return the height of the event when rendered
*/
virtual unsigned int GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const;
virtual EditEventReturnType EditEvent(
wxWindow* parent_,
gd::Project& game_,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_);
virtual void SerializeTo(SerializerElement& element) const;
virtual void UnserializeFrom(gd::Project& project,
const SerializerElement& element);

View File

@@ -9,10 +9,6 @@
#include "GDCore/Events/CodeGeneration/EventsCodeGenerator.h"
#include "GDCore/Events/CodeGeneration/ExpressionsCodeGeneration.h"
#include "GDCore/Events/Serialization.h"
#include "GDCore/IDE/Dialogs/EditRepeatEvent.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorItemsAreas.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorSelection.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsRenderingHelper.h"
#include "GDCore/Serialization/SerializerElement.h"
using namespace std;
@@ -92,109 +88,4 @@ void RepeatEvent::UnserializeFrom(gd::Project& project,
project, events, element.GetChild("events", 0, "Events"));
}
/**
* Render the event in the bitmap
*/
void RepeatEvent::Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform) {
#if !defined(GD_NO_WX_GUI)
gd::EventsRenderingHelper* renderingHelper = gd::EventsRenderingHelper::Get();
int border = renderingHelper->instructionsListBorder;
const int repeatTextHeight = 20;
// Draw header rectangle
wxRect headerRect(x, y, width, repeatTextHeight);
renderingHelper->DrawNiceRectangle(dc, headerRect);
// Repeat text
dc.SetFont(renderingHelper->GetNiceFont().Bold());
if (!IsDisabled())
dc.SetTextForeground(wxColour(0, 0, 0));
else
dc.SetTextForeground(wxColour(160, 160, 160));
dc.DrawText(_("Repeat") + " " + repeatNumberExpression.GetPlainString() +
" " + _("times :"),
x + 4,
y + 3);
// Draw conditions rectangle
wxRect rect(x,
y + repeatTextHeight,
renderingHelper->GetConditionsColumnWidth() + border,
GetRenderedHeight(width, platform) - repeatTextHeight);
renderingHelper->DrawNiceRectangle(dc, rect);
// Draw actions and conditions
renderingHelper->DrawConditionsList(
conditions,
dc,
x + border,
y + repeatTextHeight + border,
renderingHelper->GetConditionsColumnWidth() - border,
this,
areas,
selection,
platform);
renderingHelper->DrawActionsList(
actions,
dc,
x + renderingHelper->GetConditionsColumnWidth() + border,
y + repeatTextHeight + border,
width - renderingHelper->GetConditionsColumnWidth() - border * 2,
this,
areas,
selection,
platform);
#endif
}
unsigned int RepeatEvent::GetRenderedHeight(
unsigned int width, const gd::Platform& platform) const {
#if !defined(GD_NO_WX_GUI)
if (eventHeightNeedUpdate) {
gd::EventsRenderingHelper* renderingHelper =
gd::EventsRenderingHelper::Get();
int border = renderingHelper->instructionsListBorder;
const int repeatTextHeight = 20;
// Get maximum height needed
int conditionsHeight = renderingHelper->GetRenderedConditionsListHeight(
conditions,
renderingHelper->GetConditionsColumnWidth() - border,
platform);
int actionsHeight = renderingHelper->GetRenderedActionsListHeight(
actions,
width - renderingHelper->GetConditionsColumnWidth() - border * 2,
platform);
renderedHeight =
(conditionsHeight > actionsHeight ? conditionsHeight : actionsHeight) +
repeatTextHeight + border * 2;
eventHeightNeedUpdate = false;
}
return renderedHeight;
#else
return 0;
#endif
}
gd::BaseEvent::EditEventReturnType RepeatEvent::EditEvent(
wxWindow* parent_,
gd::Project& game_,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_) {
#if !defined(GD_NO_WX_GUI)
EditRepeatEvent dialog(parent_, *this, game_, scene_);
if (dialog.ShowModal() == 0) return Cancelled;
#endif
return ChangesMade;
}
} // namespace gd

View File

@@ -10,18 +10,8 @@
#include "GDCore/Events/EventsList.h"
namespace gd {
class Instruction;
}
namespace gd {
class Project;
}
class RuntimeScene;
class TiXmlElement;
namespace gd {
class EventsEditorItemsAreas;
}
namespace gd {
class EventsEditorSelection;
}
namespace gd {
@@ -65,32 +55,6 @@ class GD_CORE_API RepeatEvent : public gd::BaseEvent {
virtual void UnserializeFrom(gd::Project& project,
const SerializerElement& element);
/**
* Called by event editor to draw the event.
*/
virtual void Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform);
/**
* Must return the height of the event when rendered
*/
virtual unsigned int GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const;
/**
* Called when the user want to edit the event
*/
virtual EditEventReturnType EditEvent(
wxWindow* parent_,
gd::Project& game_,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_);
private:
gd::Expression repeatNumberExpression;
gd::InstructionsList conditions;

View File

@@ -9,11 +9,7 @@
#include "GDCore/Events/CodeGeneration/EventsCodeGenerationContext.h"
#include "GDCore/Events/CodeGeneration/EventsCodeGenerator.h"
#include "GDCore/Events/Serialization.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorItemsAreas.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorSelection.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsRenderingHelper.h"
#include "GDCore/Serialization/SerializerElement.h"
#include "GDCore/TinyXml/tinyxml.h"
using namespace std;
@@ -71,82 +67,4 @@ void StandardEvent::UnserializeFrom(gd::Project& project,
project, events, element.GetChild("events", 0, "Events"));
}
/**
* Render the event in the bitmap
*/
void StandardEvent::Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform) {
#if !defined(GD_NO_WX_GUI)
gd::EventsRenderingHelper* renderingHelper = gd::EventsRenderingHelper::Get();
int border = renderingHelper->instructionsListBorder;
// Draw event rectangle
wxRect rect(x,
y,
renderingHelper->GetConditionsColumnWidth() + border,
GetRenderedHeight(width, platform));
renderingHelper->DrawNiceRectangle(dc, rect);
renderingHelper->DrawConditionsList(
conditions,
dc,
x + border,
y + border,
renderingHelper->GetConditionsColumnWidth() - border,
this,
areas,
selection,
platform);
renderingHelper->DrawActionsList(
actions,
dc,
x + renderingHelper->GetConditionsColumnWidth() + border,
y + border,
width - renderingHelper->GetConditionsColumnWidth() - border * 2,
this,
areas,
selection,
platform);
// Make sure that Render is rendering an event with the same height as
// GetRenderedHeight : Use same values for border and similar calls to compute
// heights
#endif
}
unsigned int StandardEvent::GetRenderedHeight(
unsigned int width, const gd::Platform& platform) const {
#if !defined(GD_NO_WX_GUI)
if (eventHeightNeedUpdate) {
gd::EventsRenderingHelper* renderingHelper =
gd::EventsRenderingHelper::Get();
int border = renderingHelper->instructionsListBorder;
// Get maximum height needed
int conditionsHeight = renderingHelper->GetRenderedConditionsListHeight(
conditions,
renderingHelper->GetConditionsColumnWidth() - border * 2,
platform);
int actionsHeight = renderingHelper->GetRenderedActionsListHeight(
actions,
width - renderingHelper->GetConditionsColumnWidth() - border * 2,
platform);
renderedHeight =
(conditionsHeight > actionsHeight ? conditionsHeight : actionsHeight) +
border * 2;
eventHeightNeedUpdate = false;
}
return renderedHeight;
#else
return 0;
#endif
}
} // namespace gd

View File

@@ -13,19 +13,8 @@
#include "GDCore/Events/InstructionsList.h"
namespace gd {
class Instruction;
}
namespace gd {
class Project;
}
class RuntimeScene;
class TiXmlElement;
class EventsCodeGenerationContext;
namespace gd {
class EventsEditorItemsAreas;
}
namespace gd {
class EventsEditorSelection;
}
namespace gd {
@@ -60,23 +49,6 @@ class GD_CORE_API StandardEvent : public gd::BaseEvent {
virtual void UnserializeFrom(gd::Project& project,
const SerializerElement& element);
/**
* Called by event editor to draw the event.
*/
virtual void Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform);
/**
* Must return the height of the event when rendered
*/
virtual unsigned int GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const;
private:
gd::InstructionsList conditions;
gd::InstructionsList actions;

View File

@@ -6,19 +6,11 @@
#if defined(GD_IDE_ONLY)
#include "WhileEvent.h"
#if !defined(GD_NO_WX_GUI)
#include <wx/msgdlg.h>
#include "GDCore/IDE/wxTools/CommonBitmapProvider.h"
#endif
#include "GDCore/Events/CodeGeneration/EventsCodeGenerationContext.h"
#include "GDCore/Events/CodeGeneration/EventsCodeGenerator.h"
#include "GDCore/Events/CodeGeneration/ExpressionsCodeGeneration.h"
#include "GDCore/Events/Serialization.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorItemsAreas.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsEditorSelection.h"
#include "GDCore/IDE/Dialogs/EventsEditor/EventsRenderingHelper.h"
#include "GDCore/Serialization/SerializerElement.h"
#include "GDCore/TinyXml/tinyxml.h"
using namespace std;
@@ -83,165 +75,5 @@ void WhileEvent::UnserializeFrom(gd::Project& project,
project, events, element.GetChild("events", 0, "Events"));
}
/**
* Render the event in the bitmap
*/
void WhileEvent::Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform) {
#if !defined(GD_NO_WX_GUI)
gd::EventsRenderingHelper* renderingHelper = gd::EventsRenderingHelper::Get();
int border = renderingHelper->instructionsListBorder;
const int repeatHeight = 20;
// Draw header rectangle
int whileConditionsHeight =
renderingHelper->GetRenderedConditionsListHeight(
whileConditions, width - 80 - border * 2, platform) +
border * 2;
if (!infiniteLoopWarning && whileConditionsHeight < 32)
whileConditionsHeight = 32;
wxRect headerRect(x, y, width, whileConditionsHeight + repeatHeight);
renderingHelper->DrawNiceRectangle(dc, headerRect);
// While text
dc.SetFont(renderingHelper->GetNiceFont().Bold());
if (!IsDisabled())
dc.SetTextForeground(wxColour(0, 0, 0));
else
dc.SetTextForeground(wxColour(160, 160, 160));
dc.DrawText(_("While :"), x + 5, y + 5);
// Draw icon if infinite loop warning is deactivated.
if (!infiniteLoopWarning) {
if (gd::CommonBitmapProvider::Get()->noProtection.IsOk())
dc.DrawBitmap(gd::CommonBitmapProvider::Get()->noProtection,
wxPoint(x + 5, y + 5 + 18),
/*useMask=*/true);
}
// Draw "while conditions"
renderingHelper->DrawConditionsList(whileConditions,
dc,
x + 80 + border,
y + border,
width - 80 - border * 2,
this,
areas,
selection,
platform);
dc.SetFont(renderingHelper->GetNiceFont().Bold());
if (!IsDisabled())
dc.SetTextForeground(wxColour(0, 0, 0));
else
dc.SetTextForeground(wxColour(160, 160, 160));
dc.DrawText(_("Repeat :"), x + 4, y + whileConditionsHeight + 3);
whileConditionsHeight += repeatHeight;
// Draw conditions rectangle
wxRect rect(x,
y + whileConditionsHeight,
renderingHelper->GetConditionsColumnWidth() + border,
GetRenderedHeight(width, platform) - whileConditionsHeight);
renderingHelper->DrawNiceRectangle(dc, rect);
renderingHelper->DrawConditionsList(
conditions,
dc,
x + border,
y + whileConditionsHeight + border,
renderingHelper->GetConditionsColumnWidth() - border,
this,
areas,
selection,
platform);
renderingHelper->DrawActionsList(
actions,
dc,
x + renderingHelper->GetConditionsColumnWidth() + border,
y + whileConditionsHeight + border,
width - renderingHelper->GetConditionsColumnWidth() - border * 2,
this,
areas,
selection,
platform);
#endif
}
unsigned int WhileEvent::GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const {
#if !defined(GD_NO_WX_GUI)
if (eventHeightNeedUpdate) {
gd::EventsRenderingHelper* renderingHelper =
gd::EventsRenderingHelper::Get();
int border = renderingHelper->instructionsListBorder;
const int repeatHeight = 20;
// Get maximum height needed
int whileConditionsHeight =
renderingHelper->GetRenderedConditionsListHeight(
whileConditions, width - 80 - border * 2, platform);
if (!infiniteLoopWarning && whileConditionsHeight < 32)
whileConditionsHeight = 32;
int conditionsHeight = renderingHelper->GetRenderedConditionsListHeight(
conditions,
renderingHelper->GetConditionsColumnWidth() - border,
platform);
int actionsHeight = renderingHelper->GetRenderedActionsListHeight(
actions,
width - renderingHelper->GetConditionsColumnWidth() - border * 2,
platform);
renderedHeight =
((conditionsHeight > actionsHeight ? conditionsHeight : actionsHeight) +
whileConditionsHeight + repeatHeight) +
border * 2 + border * 2;
eventHeightNeedUpdate = false;
}
return renderedHeight;
#else
return 0;
#endif
}
gd::BaseEvent::EditEventReturnType WhileEvent::EditEvent(
wxWindow* parent_,
gd::Project& game_,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_) {
#if !defined(GD_NO_WX_GUI)
if (!justCreatedByTheUser) {
wxMessageDialog dialog(
parent_,
_("Do you want to activate the display of a message if the event is "
"repeated 100000 times? This message prevent the software from being "
"frozen if you accidentally create an infinite loop ( by letting the "
"conditions empty for example )."),
_("Protection against infinite loops."),
wxYES_NO | wxCANCEL | wxICON_INFORMATION);
dialog.SetExtendedMessage(_(
"This message is activated by default for \"While\" events in the IDE, "
"and is deactivated when the game is compiled to an executable."));
dialog.SetYesNoCancelLabels(_("Activate"), _("Deactivate"), _("Cancel"));
int answer = dialog.ShowModal();
if (answer == wxID_YES)
infiniteLoopWarning = true;
else if (answer == wxID_NO)
infiniteLoopWarning = false;
}
justCreatedByTheUser = false; // Show Message dialog next time.
#endif
return ChangesMade;
}
} // namespace gd
#endif

View File

@@ -10,18 +10,8 @@
#include "GDCore/Events/EventsList.h"
namespace gd {
class Instruction;
}
namespace gd {
class Project;
}
class RuntimeScene;
class TiXmlElement;
namespace gd {
class EventsEditorItemsAreas;
}
namespace gd {
class EventsEditorSelection;
}
namespace gd {
@@ -71,32 +61,6 @@ class GD_CORE_API WhileEvent : public gd::BaseEvent {
virtual void UnserializeFrom(gd::Project& project,
const SerializerElement& element);
/**
* Called by event editor to draw the event.
*/
virtual void Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform);
/**
* Must return the height of the event when rendered
*/
virtual unsigned int GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const;
/**
* Called when the user want to edit the event
*/
virtual EditEventReturnType EditEvent(
wxWindow* parent_,
gd::Project& game_,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_);
private:
gd::InstructionsList whileConditions;
gd::InstructionsList conditions;

View File

@@ -24,6 +24,10 @@ void EventsCodeGenerationContext::InheritsFrom(
parent_.objectsListsToBeDeclared.end(),
std::inserter(alreadyDeclaredObjectsLists,
alreadyDeclaredObjectsLists.begin()));
std::copy(parent_.objectsListsWithoutPickingToBeDeclared.begin(),
parent_.objectsListsWithoutPickingToBeDeclared.end(),
std::inserter(alreadyDeclaredObjectsLists,
alreadyDeclaredObjectsLists.begin()));
std::copy(parent_.emptyObjectsListsToBeDeclared.begin(),
parent_.emptyObjectsListsToBeDeclared.end(),
std::inserter(alreadyDeclaredObjectsLists,
@@ -47,16 +51,23 @@ void EventsCodeGenerationContext::Reuse(
void EventsCodeGenerationContext::ObjectsListNeeded(
const gd::String& objectName) {
if (emptyObjectsListsToBeDeclared.find(objectName) ==
emptyObjectsListsToBeDeclared.end())
if (!IsToBeDeclared(objectName))
objectsListsToBeDeclared.insert(objectName);
depthOfLastUse[objectName] = GetContextDepth();
}
void EventsCodeGenerationContext::ObjectsListWithoutPickingNeeded(
const gd::String& objectName) {
if (!IsToBeDeclared(objectName))
objectsListsWithoutPickingToBeDeclared.insert(objectName);
depthOfLastUse[objectName] = GetContextDepth();
}
void EventsCodeGenerationContext::EmptyObjectsListNeeded(
const gd::String& objectName) {
if (objectsListsToBeDeclared.find(objectName) ==
objectsListsToBeDeclared.end())
if (!IsToBeDeclared(objectName))
emptyObjectsListsToBeDeclared.insert(objectName);
depthOfLastUse[objectName] = GetContextDepth();
@@ -66,6 +77,8 @@ std::set<gd::String> EventsCodeGenerationContext::GetAllObjectsToBeDeclared()
const {
std::set<gd::String> allObjectListsToBeDeclared(
objectsListsToBeDeclared.begin(), objectsListsToBeDeclared.end());
allObjectListsToBeDeclared.insert(objectsListsWithoutPickingToBeDeclared.begin(),
objectsListsWithoutPickingToBeDeclared.end());
allObjectListsToBeDeclared.insert(emptyObjectsListsToBeDeclared.begin(),
emptyObjectsListsToBeDeclared.end());

View File

@@ -5,7 +5,6 @@
*/
#ifndef EVENTSCODEGENERATIONCONTEXT_H
#define EVENTSCODEGENERATIONCONTEXT_H
#include <map>
#include <memory>
#include <set>
@@ -21,7 +20,7 @@ namespace gd {
* - The "current object", i.e the object being used by an action or a
* condition.
* - If conditions are being generated, the context keeps track of the depth of
* the conditions ( see GetCurrentConditionDepth )
* the conditions (see GetCurrentConditionDepth)
* - You can also get the context depth of the last use of an object list.
*/
class GD_CORE_API EventsCodeGenerationContext {
@@ -106,19 +105,31 @@ class GD_CORE_API EventsCodeGenerationContext {
const gd::String& GetCurrentObject() const { return currentObject; };
/**
* \brief Call this when an instruction in the event need an object list.
* \brief Call this when an instruction in the event needs an objects list.
*
* The list will be filled with objects from the scene if it is the first time
* it is requested, unless there is already an object list with this name (
* i.e. ObjectAlreadyDeclared(objectName) returns true ).
* it is requested, unless there is already an object list with this name
* (i.e. `ObjectAlreadyDeclared(objectName)` returns true).
*/
void ObjectsListNeeded(const gd::String& objectName);
/**
* Call this when an instruction in the event need an object list.
* An empty event list will be declared, without filling it with objects from
* the scene. If there is already an object list with this name, no new list
* will be declared again.
* Call this when an instruction in the event needs an empty objects list
* or the one already declared, if any.
*
* An empty objects list will be declared, without filling it with objects
* from the scene. If there is already an objects list with this name, no new
* list will be declared again.
*/
void ObjectsListWithoutPickingNeeded(const gd::String& objectName);
/**
* Call this when an instruction in the event needs an empty object list,
* even if one is already declared.
*
* An empty objects list will be declared, without filling it with objects
* from the scene. If there is already an object list with this name, it won't
* be used to initialize the new list, which will remain empty.
*/
void EmptyObjectsListNeeded(const gd::String& objectName);
@@ -152,8 +163,18 @@ class GD_CORE_API EventsCodeGenerationContext {
};
/**
* Return the objects lists which will be declared, but no filled, by the
* current context
* Return the objects lists which will be will be declared, without filling
* them with objects from the scene.
*/
const std::set<gd::String>& GetObjectsListsToBeDeclaredWithoutPicking()
const {
return objectsListsWithoutPickingToBeDeclared;
};
/**
* Return the objects lists which will be will be declared empty, without
* filling them with objects from the scene and without copying any previously
* declared objects list.
*/
const std::set<gd::String>& GetObjectsListsToBeDeclaredEmpty() const {
return emptyObjectsListsToBeDeclared;
@@ -207,6 +228,21 @@ class GD_CORE_API EventsCodeGenerationContext {
size_t GetCurrentConditionDepth() const { return customConditionDepth; }
private:
/**
* \brief Returns true if the given object is already going to be declared
* (either as a traditional objects list, or one without picking, or one
* empty).
*
*/
bool IsToBeDeclared(const gd::String& objectName) {
return objectsListsToBeDeclared.find(objectName) !=
objectsListsToBeDeclared.end() ||
objectsListsWithoutPickingToBeDeclared.find(objectName) !=
objectsListsWithoutPickingToBeDeclared.end() ||
emptyObjectsListsToBeDeclared.find(objectName) !=
emptyObjectsListsToBeDeclared.end();
};
std::set<gd::String>
alreadyDeclaredObjectsLists; ///< Objects lists already needed in a
///< parent context.
@@ -214,9 +250,16 @@ class GD_CORE_API EventsCodeGenerationContext {
objectsListsToBeDeclared; ///< Objects lists that will be declared in
///< this context.
std::set<gd::String>
emptyObjectsListsToBeDeclared; ///< Objects lists that will be declared
///< in this context, but not filled with
///< scene's objects.
objectsListsWithoutPickingToBeDeclared; ///< Objects lists that will be
///< declared in this context,
///< but not filled with scene's
///< objects.
std::set<gd::String>
emptyObjectsListsToBeDeclared; ///< Objects lists that will be
///< declared in this context,
///< but not filled with scene's
///< objects and not filled with any
///< previously existing objects list.
std::map<gd::String, unsigned int>
depthOfLastUse; ///< The context depth when an object was last used.
gd::String

View File

@@ -11,6 +11,7 @@
#include "GDCore/Extensions/Metadata/InstructionMetadata.h"
#include "GDCore/Extensions/Metadata/MetadataProvider.h"
#include "GDCore/Extensions/Metadata/ObjectMetadata.h"
#include "GDCore/Extensions/Metadata/ParameterMetadataTools.h"
#include "GDCore/Extensions/Platform.h"
#include "GDCore/Extensions/PlatformExtension.h"
#include "GDCore/Project/Layout.h"
@@ -627,7 +628,7 @@ gd::String EventsCodeGenerator::GenerateParameterCodes(
}
argOutput = "\"" + argOutput + "\"";
} else if (metadata.type == "behavior") {
} else if (ParameterMetadata::IsBehavior(metadata.type)) {
argOutput = "\"" + ConvertToString(parameter) + "\"";
} else if (metadata.type == "key") {
argOutput = "\"" + ConvertToString(parameter) + "\"";
@@ -669,39 +670,28 @@ gd::String EventsCodeGenerator::GenerateParameterCodes(
}
vector<gd::String> EventsCodeGenerator::GenerateParametersCodes(
vector<gd::Expression> parameters,
const vector<gd::Expression>& parameters,
const vector<gd::ParameterMetadata>& parametersInfo,
EventsCodeGenerationContext& context,
std::vector<std::pair<gd::String, gd::String> >*
supplementaryParametersTypes) {
vector<gd::String> arguments;
while (parameters.size() < parametersInfo.size())
parameters.push_back(gd::Expression(""));
gd::String lastObjectName = "";
for (std::size_t pNb = 0;
pNb < parametersInfo.size() && pNb < parameters.size();
++pNb) {
if (parameters[pNb].GetPlainString().empty() &&
parametersInfo[pNb].optional)
parameters[pNb] = gd::Expression(parametersInfo[pNb].defaultValue);
gd::String argOutput =
GenerateParameterCodes(parameters[pNb].GetPlainString(),
parametersInfo[pNb],
context,
lastObjectName,
supplementaryParametersTypes);
// Memorize the last object name. By convention, parameters that require
// an object (mainly, "objectvar") should be placed after the object
// in the list of parameters (if possible, just after).
if (gd::ParameterMetadata::IsObject(parametersInfo[pNb].GetType()))
lastObjectName = parameters[pNb].GetPlainString();
arguments.push_back(argOutput);
}
gd::ParameterMetadataTools::IterateOverParameters(
parameters,
parametersInfo,
[this, &context, &supplementaryParametersTypes, &arguments](
const gd::ParameterMetadata& parameterMetadata,
const gd::String& parameterValue,
const gd::String& lastObjectName) {
gd::String argOutput =
GenerateParameterCodes(parameterValue,
parameterMetadata,
context,
lastObjectName,
supplementaryParametersTypes);
arguments.push_back(argOutput);
});
return arguments;
}
@@ -750,7 +740,7 @@ gd::String EventsCodeGenerator::GenerateObjectsDeclarationCode(
declarationsCode += objectListDeclaration + "\n";
}
for (auto object : context.GetObjectsListsToBeDeclaredEmpty()) {
for (auto object : context.GetObjectsListsToBeDeclaredWithoutPicking()) {
gd::String objectListDeclaration = "";
if (!context.ObjectAlreadyDeclared(object)) {
objectListDeclaration = "std::vector<RuntimeObject*> " +
@@ -761,6 +751,18 @@ gd::String EventsCodeGenerator::GenerateObjectsDeclarationCode(
declarationsCode += objectListDeclaration + "\n";
}
for (auto object : context.GetObjectsListsToBeDeclaredEmpty()) {
gd::String objectListDeclaration = "";
if (!context.ObjectAlreadyDeclared(object)) {
objectListDeclaration = "std::vector<RuntimeObject*> " +
GetObjectListName(object, context) + ";\n";
context.SetObjectDeclared(object);
} else
objectListDeclaration = "std::vector<RuntimeObject*> " +
GetObjectListName(object, context) + ";\n";
declarationsCode += objectListDeclaration + "\n";
}
return declarationsCode;
}

View File

@@ -127,7 +127,7 @@ class GD_CORE_API EventsCodeGenerator {
*
*/
std::vector<gd::String> GenerateParametersCodes(
std::vector<gd::Expression> parameters,
const std::vector<gd::Expression> & parameters,
const std::vector<gd::ParameterMetadata>& parametersInfo,
EventsCodeGenerationContext& context,
std::vector<std::pair<gd::String, gd::String> >*

View File

@@ -17,8 +17,7 @@ std::vector<gd::String> BaseEvent::emptyDependencies;
gd::String BaseEvent::emptySourceFile;
BaseEvent::BaseEvent()
: eventHeightNeedUpdate(true),
totalTimeDuringLastSession(0),
: totalTimeDuringLastSession(0),
percentDuringLastSession(0),
disabled(false),
folded(false) {}

View File

@@ -21,13 +21,9 @@ class Layout;
class EventsCodeGenerator;
class EventsCodeGenerationContext;
class Platform;
class EventsEditorItemsAreas;
class EventsEditorSelection;
class SerializerElement;
class Instruction;
}
class wxWindow;
class wxDC;
namespace gd {
@@ -259,76 +255,6 @@ class GD_CORE_API BaseEvent {
///@}
/** \name Event rendering
* Method and members used to render the event
*/
///@{
/**
* Redefine this method to draw the event.
*
* \param dc The wxWidgets drawing context to be used.
* \param x The x position where the events must be drawn.
* \param y The y position where the events must be drawn.
* \param width The width available for drawing.
* \param areas Use this object to indicate the areas where items have been
* drawn \param selection Give access to the current selection(s), to draw for
* example hovering or selecting effects.
*
* \note The height of the drawing must be the same as the height returned by
* BaseEvent::GetRenderedHeight
*
* \see gd::EventsRenderingHelper
* \see EventsEditorSelection
* \see EventsEditorItemsAreas
*/
virtual void Render(wxDC& dc,
int x,
int y,
unsigned int width,
gd::EventsEditorItemsAreas& areas,
gd::EventsEditorSelection& selection,
const gd::Platform& platform) {
return;
}
/**
* Must return the height of the event when rendered.
*
* \note The height of the drawing must be the same as the height of the
* drawing made by BaseEvent::Render
*/
virtual unsigned int GetRenderedHeight(unsigned int width,
const gd::Platform& platform) const {
return 0;
};
/**
* Used by EditEvent to describe what sort of changes have been made to the
* event. \see BaseEvent::EditEvent
*/
enum EditEventReturnType {
ChangesMade,
Cancelled,
ChangesMadeButNoNeedForEventsRecompilation
};
/**
* Called when the user want to edit the event.
*/
virtual EditEventReturnType EditEvent(
wxWindow* parent_,
gd::Project& game_,
gd::Layout& scene_,
gd::MainFrameWrapper& mainFrameWrapper_) {
return ChangesMade;
};
///@}
mutable bool eventHeightNeedUpdate; ///< Automatically set to true/false by
///< the events editor
std::weak_ptr<gd::BaseEvent>
originalEvent; ///< Pointer only used for profiling events, so as to
///< remember the original event from which it has been

View File

@@ -56,7 +56,7 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsAdvancedExtension(
_("Functions"),
"res/function24.png",
"res/function16.png")
.AddParameter("expression", "The text to be returned")
.AddParameter("string", "The text to be returned")
.MarkAsAdvanced();
extension

View File

@@ -21,30 +21,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsNetworkExtension(
.SetExtensionHelpPath("/all-features/network");
#if defined(GD_IDE_ONLY)
extension
.AddAction(
"EnvoiDataNet",
_("Send data to a website"),
_("Send data to a specified web site.\nYou need to set up a .php "
"page on your web site to receive this data.\nEnter a password "
"here, and enter the same password in the configuration of your "
".php page.\nRead the help file to get more information."),
_("Send to _PARAM0_ the following data : _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",

View File

@@ -1,328 +0,0 @@
/*
* GDevelop Core
* Copyright 2008-2016 Florian Rival (Florian.Rival@gmail.com). All rights
* reserved. This project is released under the MIT License.
*/
#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI)
#ifndef SPRITEOBJECTEDITOR_H
#define SPRITEOBJECTEDITOR_H
//(*Headers(SpriteObjectEditor)
#include <wx/aui/aui.h>
#include <wx/dialog.h>
#include <wx/listctrl.h>
#include <wx/menu.h>
#include <wx/panel.h>
#include <wx/scrolbar.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <wx/timer.h>
#include <wx/treectrl.h>
#include <wx/treelist.h>
//*)
#include <wx/dnd.h>
#include <vector>
namespace gd {
class MainFrameWrapper;
}
class ResourcesEditor;
class SpriteObject;
namespace gd {
class Resource;
}
namespace gd {
class Project;
}
class Sprite;
#include "GDCore/IDE/Dialogs/PolygonEditionHelper.h"
namespace gd {
/**
* \brief Dialog to edit Sprite objects from SpriteExtension.
*
* \ingroup IDEDialogs
* \ingroup BuiltinExtensions
*/
class SpriteObjectEditor : public wxDialog {
public:
SpriteObjectEditor(wxWindow* parent,
gd::Project& game,
SpriteObject& object,
gd::MainFrameWrapper& mainFrameWrapper_);
virtual ~SpriteObjectEditor();
/**
* \brief Can be called to add an image to the current animation.
*
* Used by DndTextSpriteObjectEditor so as to add a dragged image.
* \param image The name of the image resource to add.
* \param refresh Optional parameter: When set to false, the lists of images
* won't be refreshed.
*/
void AddImageToCurrentAnimation(wxString image, bool refresh = true);
//(*Declarations(SpriteObjectEditor)
wxAuiManager* AuiManager1;
wxMenu* MenuItem2;
wxTreeCtrl* animationsTree;
wxTreeListCtrl* maskTree;
wxMenuItem* MenuItem8;
wxListCtrl* pointsList;
wxPanel* toolbarPanel;
wxAuiToolBar* toolbar;
wxMenuItem* MenuItem7;
wxAuiToolBar* pointToolbar;
wxAuiManager* mgr;
wxAuiManager* AuiManager4;
wxStaticText* statusTxt;
wxMenuItem* MenuItem5;
wxPanel* centerPanel;
wxMenuItem* deleteItem;
wxMenuItem* MenuItem1;
wxMenuItem* MenuItem4;
wxMenuItem* MenuItem14;
wxMenuItem* MenuItem11;
wxMenuItem* MenuItem15;
wxPanel* Panel1;
wxMenu animationsMenu;
wxMenuItem* MenuItem17;
wxMenu* MenuItem13;
wxMenuItem* MenuItem10;
wxAuiManager* AuiManager2;
wxMenuItem* removeImageItem;
wxPanel* Panel3;
wxAuiToolBar* maskToolbar;
wxPanel* animationsPanel;
wxMenuItem* MenuItem12;
wxScrollBar* xScrollBar;
wxTimer previewTimer;
wxMenuItem* MenuItem3;
wxAuiManager* AuiManager3;
wxMenuItem* MenuItem20;
wxPanel* imagePanel;
wxScrollBar* yScrollBar;
wxMenu emptyImagesMenu;
wxMenuItem* moveLeftItem;
wxMenuItem* MenuItem6;
wxPanel* previewPanel;
wxPanel* maskPanel;
wxMenuItem* moveRightItem;
wxPanel* Panel2;
wxMenuItem* automaticRotationItem;
wxMenuItem* MenuItem16;
wxPanel* pointsPanel;
wxMenuItem* MenuItem9;
wxMenuItem* multipleDirectionsItem;
wxListCtrl* imagesList;
wxMenuItem* MenuItem18;
wxMenu imagesMenu;
wxMenu maskMenu;
wxPanel* imagesPanel;
wxAuiToolBar* animationToolbar;
wxMenuItem* MenuItem19;
//*)
ResourcesEditor* resourcesEditorPnl;
protected:
//(*Identifiers(SpriteObjectEditor)
static const long ID_MASKITEM;
static const long ID_POINTSITEM;
static const long ID_AUITOOLBARITEM4;
static const long ID_AUITOOLBARITEM2;
static const long ID_AUITOOLBAR1;
static const long ID_PANEL6;
static const long ID_PANEL4;
static const long ID_SCROLLBAR1;
static const long ID_SCROLLBAR2;
static const long ID_STATICTEXT1;
static const long ID_PANEL1;
static const long ID_AUITOOLBARITEM5;
static const long ID_AUITOOLBARITEM8;
static const long ID_TOOLLOOP;
static const long ID_AUITOOLBARITEM10;
static const long ID_AUITOOLBAR4;
static const long ID_PANEL11;
static const long ID_TREECTRL1;
static const long ID_PANEL3;
static const long ID_LISTCTRL1;
static const long ID_PANEL2;
static const long ID_AUITOOLBARITEM9;
static const long ID_AUITOOLBARITEM11;
static const long ID_AUITOOLBARITEM7;
static const long ID_AUITOOLBARITEM1;
static const long ID_MASKAPPLYWHOLEANIMITEM;
static const long ID_AUITOOLBAR3;
static const long ID_PANEL9;
static const long ID_TREELISTCTRL1;
static const long ID_PANEL8;
static const long ID_AUITOOLBARITEM3;
static const long ID_DELETEPOINTITEM;
static const long ID_POINTAPPLYWHOLEANIMITEM;
static const long ID_AUITOOLBAR2;
static const long ID_PANEL7;
static const long ID_LISTCTRL3;
static const long ID_PANEL5;
static const long ID_PANEL10;
static const long ID_MENUITEM5;
static const long ID_MENUITEM6;
static const long ID_MENUITEM4;
static const long ID_MENUIDLENAME;
static const long ID_MENUWALKNAME;
static const long ID_MENURUNNAME;
static const long ID_MENUJUMPNAME;
static const long ID_MENUSHOOTNAME;
static const long ID_MENUDEADNAME;
static const long ID_MENUCUSTOMNAME;
static const long ID_MENUITEM15;
static const long ID_MENUTIMEBETWEENFRAMES;
static const long ID_MENULOOP;
static const long ID_MENUITEM1;
static const long ID_MENUITEM2;
static const long ID_MENUITEM3;
static const long ID_MENUITEM7;
static const long ID_MENUITEM11;
static const long ID_MENUITEM8;
static const long ID_MENUITEM9;
static const long ID_MENUITEM10;
static const long ID_POSITIONMASKITEM;
static const long ID_MOVEPOLYGONITEM;
static const long ID_MENUITEM14;
static const long ID_TIMER1;
static const long ID_MENUITEM12;
static const long ID_MENUITEM13;
//*)
private:
//(*Handlers(SpriteObjectEditor)
void OnimagePanelPaint(wxPaintEvent& event);
void OnimagePanelEraseBackground(wxEraseEvent& event);
void OnimagesListItemSelect(wxListEvent& event);
void OnimagePanelResize(wxSizeEvent& event);
void OnanimationsTreeSelectionChanged(wxTreeEvent& event);
void OnAddAnimationSelected(wxCommandEvent& event);
void OnDeleteAnimationSelected(wxCommandEvent& event);
void OnanimationsTreeItemRightClick(wxTreeEvent& event);
void OnautomaticRotationItemSelected(wxCommandEvent& event);
void OnmultipleDirectionsItemSelected(wxCommandEvent& event);
void OnimagesListItemRClick(wxListEvent& event);
void OnremoveImageItemSelected(wxCommandEvent& event);
void OnMoveLeftSelected(wxCommandEvent& event);
void OnMoveRightSelected(wxCommandEvent& event);
void OnMaskEditClick(wxCommandEvent& event);
void OnPointEditClick(wxCommandEvent& event);
void OnmgrPaneClose(wxAuiManagerEvent& event);
void OnpointsListBeginLabelEdit(wxListEvent& event);
void OnpointsListEndLabelEdit(wxListEvent& event);
void OnimagePanelLeftUp(wxMouseEvent& event);
void OnpointsListItemSelect(wxListEvent& event);
void OnDeletePointClick(wxCommandEvent& event);
void OnAddPointClick(wxCommandEvent& event);
void OnpointsListItemActivated(wxListEvent& event);
void OnimagePanelLeftDown(wxMouseEvent& event);
void OnimagePanelMouseMove(wxMouseEvent& event);
void OnAddMaskClick(wxCommandEvent& event);
void OnDeleteMaskClick(wxCommandEvent& event);
void OnDefaultMaskClick(wxCommandEvent& event);
void OnPositionMaskSelected(wxCommandEvent& event);
void OnResizeMaskSelected(wxCommandEvent& event);
void OnMenuLoopSelected(wxCommandEvent& event);
void OnTimeBetweenFramesSelected(wxCommandEvent& event);
void OnpreviewPanelEraseBackground(wxEraseEvent& event);
void OnpreviewPanelResize(wxSizeEvent& event);
void OnpreviewPanelPaint(wxPaintEvent& event);
void OnTimer1Trigger(wxTimerEvent& event);
void OnpreviewTimerTrigger(wxTimerEvent& event);
void OnPreviewClick(wxCommandEvent& event);
void OnimagesListKeyDown(wxListEvent& event);
void OnAddImageFromFileSelected(wxCommandEvent& event);
void OnAddFromImageBankSelected(wxCommandEvent& event);
void OnHelpClick(wxCommandEvent& event);
void OnToolLoopClick(wxCommandEvent& event);
void OnMovePolygonSelected(wxCommandEvent& event);
void OnAddPolygonMaskClick(wxCommandEvent& event);
void OnAddVerticeClick(wxCommandEvent& event);
void OnRotatePolygonSelected(wxCommandEvent& event);
void OnyScrollBarScroll(wxScrollEvent& event);
void OnxScrollBarScroll(wxScrollEvent& event);
void OnSetAnimationNameIdleSelected(wxCommandEvent& event);
void OnSetAnimationNameWalkSelected(wxCommandEvent& event);
void OnSetAnimationNameRunSelected(wxCommandEvent& event);
void OnSetAnimationNameJumpSelected(wxCommandEvent& event);
void OnSetAnimationNameShootSelected(wxCommandEvent& event);
void OnSetAnimationNameDeadSelected(wxCommandEvent& event);
void OnSetCustomAnimationNameSelected(wxCommandEvent& event);
//*)
void OnmaskTreeItemRClick(wxTreeListEvent& event);
void OnmaskTreeItemActivated(wxTreeListEvent& event);
void OnmaskTreeSelectionChanged(wxTreeListEvent& event);
void OnimagesListRightClick(wxMouseEvent& event);
void RefreshAll();
void RefreshAnimationTree();
void RefreshAnimationToolbar();
void RefreshImagesList();
void RefreshImageAndControls();
void RefreshPoints();
void RefreshCollisionMasks();
void ResetPreview();
wxBitmap GetwxBitmapFromImageResource(gd::Resource& resource);
void SetAnimationName(gd::String newName);
/**
* Return a vector containing the sprites which must be modified when editing
* a point or collision masks: When buttons "Apply the changes to the whole
* animation" are checked, the vector contains all the sprites of the
* animation. If the buttons are unchecked, the vector contains only the
* sprite currently modified
*/
std::vector<Sprite*> GetSpritesToModify();
DECLARE_EVENT_TABLE()
gd::Project& game;
SpriteObject& object;
std::size_t selectedAnimation;
std::size_t selectedDirection;
std::size_t selectedImage;
gd::String selectedPoint;
float spritePosX; ///< Used to remember the position where the sprite have
///< been drawn.
float spritePosY; ///< Used to remember the position where the sprite have
///< been drawn.
float spriteWidth; ///< Used to remember the width of the current sprite.
float spriteHeight; ///< Used to remember the height of the current sprite.
bool editingMask;
bool editingPoint;
bool deletingMaskTreeItems; // Used to workaround an event being called when
// using maskTree->DeleteAllItems().
gd::String renamedPointOldName;
gd::PolygonEditionHelper polygonEditionHelper;
float previewElapsedTime;
int previewCurrentSprite;
gd::MainFrameWrapper& mainFrameWrapper;
};
/**
* \brief Tool class used by SpriteObjectEditor to enable inserting images using
* drag'n'drop
*/
class DndTextSpriteObjectEditor : public wxTextDropTarget {
public:
DndTextSpriteObjectEditor(SpriteObjectEditor& editor_) : editor(editor_) {}
virtual bool OnDropText(wxCoord x, wxCoord y, const wxString& text);
private:
SpriteObjectEditor& editor;
};
} // namespace gd
#endif
#endif

View File

@@ -4,9 +4,6 @@
* reserved. This project is released under the MIT License.
*/
#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI)
#include <wx/wx.h> //Must be placed first, otherwise we get nice errors relative to "cannot convert 'const TCHAR*'..." in wx/msw/winundef.h
#endif
#include <algorithm>
#include "GDCore/CommonTools.h"
#include "GDCore/Extensions/Builtin/SpriteExtension/Animation.h"
@@ -23,8 +20,6 @@
#if defined(GD_IDE_ONLY)
#include <SFML/Graphics.hpp>
#include "GDCore/Extensions/Builtin/SpriteExtension/Dialogs/SpriteObjectEditor.h"
#include "GDCore/IDE/Dialogs/MainFrameWrapper.h"
#include "GDCore/IDE/Dialogs/PropertyDescriptor.h"
#include "GDCore/IDE/Project/ArbitraryResourceWorker.h"
#endif
@@ -132,159 +127,6 @@ bool SpriteObject::UpdateProperty(const gd::String& name,
return true;
}
#if !defined(EMSCRIPTEN)
void SpriteObject::LoadResources(gd::Project& project, gd::Layout& layout) {
for (std::size_t j = 0; j < animations.size(); j++) {
Animation& anim = animations[j];
for (std::size_t k = 0; k < anim.GetDirectionsCount(); k++) {
for (std::size_t l = 0; l < anim.GetDirection(k).GetSpritesCount(); l++) {
Sprite& sprite = anim.GetDirection(k).GetSprite(l);
sprite.LoadImage(
project.GetImageManager()->GetSFMLTexture(sprite.GetImageName()));
}
}
}
}
const Sprite* SpriteObject::GetInitialInstanceSprite(
gd::InitialInstance& instance,
gd::Project& project,
gd::Layout& layout,
bool* shouldNotRotate) const {
if (HasNoAnimations()) return NULL;
// Search the first sprite of the current animation/direction.
std::size_t animationId =
instance.floatInfos.find("animation") != instance.floatInfos.end()
? instance.floatInfos.find("animation")->second
: 0;
if (animationId >= GetAnimationsCount()) animationId = 0;
const Animation& animation = GetAnimation(animationId);
if (animation.HasNoDirections()) return NULL;
std::size_t directionId = 0;
if (animation.useMultipleDirections) {
float normalizedAngle = static_cast<int>(instance.GetAngle()) % 360;
if (normalizedAngle < 0) normalizedAngle += 360;
directionId = static_cast<int>(gd::Round(normalizedAngle / 45.f)) % 8;
}
if (directionId >= animation.GetDirectionsCount()) directionId = 0;
const Direction& direction = animation.GetDirection(directionId);
if (shouldNotRotate) *shouldNotRotate = animation.useMultipleDirections;
return direction.HasNoSprites() ? NULL : &direction.GetSprite(0);
}
void SpriteObject::DrawInitialInstance(gd::InitialInstance& instance,
sf::RenderTarget& renderTarget,
gd::Project& project,
gd::Layout& layout) {
bool shouldNotRotate = false;
const Sprite* associatedSprite =
GetInitialInstanceSprite(instance, project, layout, &shouldNotRotate);
if (associatedSprite == NULL || !associatedSprite->GetSFMLTexture()) return;
sf::Sprite sprite(associatedSprite->GetSFMLTexture()->texture);
float scaleX =
instance.HasCustomSize()
? instance.GetCustomWidth() /
associatedSprite->GetSFMLTexture()->texture.getSize().x
: 1;
float scaleY =
instance.HasCustomSize()
? instance.GetCustomHeight() /
associatedSprite->GetSFMLTexture()->texture.getSize().y
: 1;
sprite.setOrigin(associatedSprite->GetCenter().GetX(),
associatedSprite->GetCenter().GetY());
;
sprite.setRotation(shouldNotRotate ? 0 : instance.GetAngle());
sprite.setPosition(instance.GetX() + (associatedSprite->GetCenter().GetX() -
associatedSprite->GetOrigin().GetX()) *
fabs(scaleX),
instance.GetY() + (associatedSprite->GetCenter().GetY() -
associatedSprite->GetOrigin().GetY()) *
fabs(scaleY));
sprite.setScale(scaleX, scaleY);
renderTarget.draw(sprite);
}
sf::Vector2f SpriteObject::GetInitialInstanceDefaultSize(
gd::InitialInstance& instance,
gd::Project& project,
gd::Layout& layout) const {
const Sprite* associatedSprite =
GetInitialInstanceSprite(instance, project, layout);
if (associatedSprite == NULL || !associatedSprite->GetSFMLTexture())
return sf::Vector2f(32, 32);
sf::Vector2u size = associatedSprite->GetSFMLTexture()->texture.getSize();
return sf::Vector2f(size.x, size.y);
}
sf::Vector2f SpriteObject::GetInitialInstanceOrigin(
gd::InitialInstance& instance,
gd::Project& project,
gd::Layout& layout) const {
const Sprite* associatedSprite =
GetInitialInstanceSprite(instance, project, layout);
if (associatedSprite == NULL || !associatedSprite->GetSFMLTexture())
return sf::Vector2f(0, 0);
float scaleX =
instance.HasCustomSize()
? instance.GetCustomWidth() /
associatedSprite->GetSFMLTexture()->texture.getSize().x
: 1;
float scaleY =
instance.HasCustomSize()
? instance.GetCustomHeight() /
associatedSprite->GetSFMLTexture()->texture.getSize().y
: 1;
return sf::Vector2f(
((float)associatedSprite->GetOrigin().GetX()) * fabs(scaleX),
((float)associatedSprite->GetOrigin().GetY()) * fabs(scaleY));
}
#endif
bool SpriteObject::GenerateThumbnail(const gd::Project& project,
wxBitmap& thumbnail) const {
#if !defined(GD_NO_WX_GUI)
// Generate a thumbnail from the first animation
if (!HasNoAnimations() && !GetAnimation(0).HasNoDirections() &&
!GetAnimation(0).GetDirection(0).HasNoSprites()) {
gd::String imageName =
GetAnimation(0).GetDirection(0).GetSprite(0).GetImageName();
if (project.GetResourcesManager().HasResource(imageName) &&
wxFileExists(project.GetResourcesManager()
.GetResource(imageName)
.GetAbsoluteFile(project))) {
thumbnail = wxBitmap(
project.GetResourcesManager().GetResource(imageName).GetAbsoluteFile(
project),
wxBITMAP_TYPE_ANY);
wxImage thumbImage = thumbnail.ConvertToImage();
thumbnail = wxBitmap(thumbImage.Scale(24, 24));
return true;
}
}
#endif
return false;
}
void SpriteObject::ExposeResources(gd::ArbitraryResourceWorker& worker) {
for (std::size_t j = 0; j < GetAnimationsCount(); j++) {
for (std::size_t k = 0; k < GetAnimation(j).GetDirectionsCount(); k++) {
@@ -298,15 +140,6 @@ void SpriteObject::ExposeResources(gd::ArbitraryResourceWorker& worker) {
}
}
void SpriteObject::EditObject(wxWindow* parent,
gd::Project& project,
gd::MainFrameWrapper& mainFrameWrapper) {
#if !defined(GD_NO_WX_GUI)
SpriteObjectEditor dialog(parent, project, *this, mainFrameWrapper);
dialog.ShowModal();
#endif
}
std::map<gd::String, gd::PropertyDescriptor>
SpriteObject::GetInitialInstanceProperties(const gd::InitialInstance& position,
gd::Project& project,

View File

@@ -12,32 +12,14 @@
#include "GDCore/Project/Object.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
namespace gd {
@@ -64,8 +46,6 @@ class GD_CORE_API SpriteObject : public gd::Object {
}
#if defined(GD_IDE_ONLY)
bool GenerateThumbnail(const gd::Project& project,
wxBitmap& thumbnail) const override;
void ExposeResources(gd::ArbitraryResourceWorker& worker) override;
std::map<gd::String, gd::PropertyDescriptor> GetProperties(
@@ -83,24 +63,6 @@ class GD_CORE_API SpriteObject : public gd::Object {
const gd::String& value,
gd::Project& project,
gd::Layout& scene) override;
void EditObject(wxWindow* parent,
gd::Project& project,
gd::MainFrameWrapper& mainFrameWrapper_) override;
#if !defined(EMSCRIPTEN)
void DrawInitialInstance(gd::InitialInstance& instance,
sf::RenderTarget& renderTarget,
gd::Project& project,
gd::Layout& layout) override;
sf::Vector2f GetInitialInstanceDefaultSize(gd::InitialInstance& instance,
gd::Project& project,
gd::Layout& layout) const override;
sf::Vector2f GetInitialInstanceOrigin(gd::InitialInstance& instance,
gd::Project& project,
gd::Layout& layout) const override;
void LoadResources(gd::Project& project, gd::Layout& layout) override;
#endif
bool SupportShaders() override { return true; };
#endif
/** \name Animations
@@ -168,10 +130,6 @@ class GD_CORE_API SpriteObject : public gd::Object {
void DoSerializeTo(gd::SerializerElement& element) const override;
#endif
const Sprite* GetInitialInstanceSprite(gd::InitialInstance& instance,
gd::Project& project,
gd::Layout& layout,
bool* shouldNotRotate = NULL) const;
mutable std::vector<Animation> animations;
bool updateIfNotVisible; ///< If set to true, ask the game engine to play
///< object animation even if hidden or far from the

View File

@@ -10,11 +10,6 @@
#include "GDCore/Extensions/Metadata/InstructionMetadata.h"
#include "GDCore/Project/Behavior.h"
#include "GDCore/Project/BehaviorsSharedData.h"
#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI)
#include <wx/bitmap.h>
#include <wx/file.h>
#include "GDCore/IDE/wxTools/SkinHelper.h"
#endif
namespace gd {
@@ -39,18 +34,6 @@ BehaviorMetadata::BehaviorMetadata(
SetGroup(group_);
className = className_;
iconFilename = icon24x24;
#if !defined(GD_NO_WX_GUI)
if (gd::SkinHelper::IconExists(iconFilename, 24))
SetBitmapIcon(gd::SkinHelper::GetIcon(iconFilename, 24));
else if (wxFile::Exists(iconFilename))
SetBitmapIcon(wxBitmap(iconFilename, wxBITMAP_TYPE_ANY));
else {
std::cout << "Warning: The icon file for behavior \"" << name_
<< " was not found in the current skin icons"
<< " and the specified name is not an existing filename.";
SetBitmapIcon(wxBitmap(24, 24));
}
#endif
#endif
if (instance) instance->SetTypeName(name_);
@@ -161,12 +144,6 @@ BehaviorMetadata& BehaviorMetadata::SetGroup(const gd::String& group_) {
#endif
return *this;
}
BehaviorMetadata& BehaviorMetadata::SetBitmapIcon(const wxBitmap& bitmap_) {
#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI)
icon = bitmap_;
#endif
return *this;
}
BehaviorMetadata& BehaviorMetadata::SetIncludeFile(
const gd::String& includeFile) {
#if defined(GD_IDE_ONLY)

View File

@@ -9,16 +9,12 @@
#include "GDCore/Extensions/Metadata/ExpressionMetadata.h"
#include "GDCore/Extensions/Metadata/InstructionMetadata.h"
#include "GDCore/String.h"
#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI)
#include <wx/bitmap.h>
#endif
namespace gd {
class Behavior;
class BehaviorsSharedData;
class InstructionMetadata;
class ExpressionMetadata;
} // namespace gd
class wxBitmap;
namespace gd {
@@ -90,7 +86,6 @@ class GD_CORE_API BehaviorMetadata {
BehaviorMetadata& SetDefaultName(const gd::String& defaultName_);
BehaviorMetadata& SetDescription(const gd::String& description_);
BehaviorMetadata& SetGroup(const gd::String& group_);
BehaviorMetadata& SetBitmapIcon(const wxBitmap& bitmap_);
/**
* \brief Erase any existing include file and add the specified include.
@@ -126,9 +121,6 @@ class GD_CORE_API BehaviorMetadata {
const gd::String& GetDescription() const { return description; }
const gd::String& GetGroup() const { return group; }
const gd::String& GetIconFilename() const { return iconFilename; }
#if !defined(GD_NO_WX_GUI)
const wxBitmap& GetBitmapIcon() const { return icon; }
#endif
#endif
std::shared_ptr<gd::Behavior> Get() const { return instance; }
std::shared_ptr<gd::BehaviorsSharedData> GetSharedDataInstance() const {
@@ -153,9 +145,6 @@ class GD_CORE_API BehaviorMetadata {
gd::String description;
gd::String group;
gd::String iconFilename;
#if !defined(GD_NO_WX_GUI)
wxBitmap icon;
#endif
#endif
std::shared_ptr<gd::Behavior> instance;

View File

@@ -11,10 +11,6 @@
#include <memory>
#include <vector>
#include "GDCore/String.h"
#if !defined(GD_NO_WX_GUI)
#include <wx/bitmap.h>
#endif
class wxBitmap;
namespace gd {
class EventsList;
class BaseEvent;
@@ -81,16 +77,10 @@ class GD_CORE_API EventMetadata {
const gd::String& GetFullName() const { return fullname; }
const gd::String& GetDescription() const { return description; }
const gd::String& GetGroup() const { return group; }
#if !defined(GD_NO_WX_GUI)
const wxBitmap& GetBitmapIcon() const { return smallicon; }
#endif
gd::String fullname;
gd::String description;
gd::String group;
#if !defined(GD_NO_WX_GUI)
wxBitmap smallicon;
#endif
std::shared_ptr<gd::BaseEvent> instance;
bool hasCustomCodeGenerator;

View File

@@ -6,10 +6,6 @@
#include "ExpressionMetadata.h"
#include "GDCore/CommonTools.h"
#include "GDCore/String.h"
#if !defined(GD_NO_WX_GUI)
#include <wx/bitmap.h>
#include <wx/file.h>
#endif
namespace gd {
@@ -25,13 +21,6 @@ ExpressionMetadata::ExpressionMetadata(const gd::String& extensionNamespace_,
shown(true),
smallIconFilename(smallicon_),
extensionNamespace(extensionNamespace_) {
#if !defined(GD_NO_WX_GUI)
if (wxFile::Exists(smallicon_)) {
smallicon = wxBitmap(smallicon_, wxBITMAP_TYPE_ANY);
} else {
smallicon = wxBitmap(16, 16);
}
#endif
}
ExpressionMetadata& ExpressionMetadata::SetHidden() {

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