Reorder the folders in tools to prepare moving tools/editor
- `certs` and `editor_fonts` go to `thirdparty` - `dist` and `scripts` go to a new `misc` folder - `collada` and `doc` go to `tools/editor` The next step will be to rename `tools/editor` to `editor` directly, but this will be done at the right time to avoid breaking too many PRs.
13
misc/dist/docker/Dockerfile
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
FROM ubuntu:14.04
|
||||
MAINTAINER Mohammad Rezai, https://github.com/mrezai
|
||||
WORKDIR /godot-dev
|
||||
COPY scripts/install-android-tools /godot-dev/
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
RUN dpkg --add-architecture i386 && \
|
||||
apt-get update && \
|
||||
apt-get upgrade -y && \
|
||||
apt-get install --no-install-recommends -y -q \
|
||||
build-essential gcc-multilib g++-multilib mingw32 mingw-w64 scons pkg-config libx11-dev libxcursor-dev \
|
||||
libasound2-dev libfreetype6-dev libgl1-mesa-dev libglu-dev libssl-dev libxinerama-dev libudev-dev \
|
||||
git wget openjdk-7-jdk libbcprov-java libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386 lib32z1
|
||||
|
||||
40
misc/dist/docker/README.md
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
## A Docker image to build Linux, Windows and Android godot binaries.
|
||||
|
||||
The main reason to write this, is to provide a simple way in all platforms to integrate external godot modules and build a custom version of godot.
|
||||
|
||||
## usage
|
||||
1. Install docker on Linux or docker toolbox on Windows or Mac.
|
||||
2. Open a terminal on linux or "Docker Quickstart Terminal" on Windows or Mac.
|
||||
3. Run command:
|
||||
- Linux: `cd`
|
||||
- Windows: `cd /c/Users/YOUR_USERNAME`
|
||||
- Mac: `cd /Users/YOUR_USERNAME`
|
||||
4. Get godot source code: `git clone https://github.com/godotengine/godot.git`
|
||||
5. Run command: `cd godot/tools/docker`
|
||||
6. Run command: `docker build -t godot .`(In Linux run Docker commands with `sudo` or add your user to docker group before run the Docker commands). The godot docker image will be build after a while.
|
||||
7. Run command:
|
||||
- Linux: `docker run -it --name=godot-dev -v /home/YOUR_USERNAME/godot:/godot-dev/godot godot`
|
||||
- Windows: `docker run -it --name=godot-dev -v /c/Users/YOUR_USERNAME/godot:/godot-dev/godot godot`
|
||||
- Mac: `docker run -it --name=godot-dev -v /Users/YOUR_USERNAME/godot:/godot-dev/godot godot`
|
||||
You are in the godot-dev container and /godot-dev directory now.
|
||||
8. Run `./install-android-tools` to download and install all android development tools.
|
||||
9. Run command: `source ~/.bashrc`
|
||||
10. Run command: `cd godot`
|
||||
11. Run command: `scons p=android target=release` to test everything is ok. You can set platform to x11, windows, android, haiku and server.
|
||||
|
||||
After use and exit, you can use this environment again by open terminal and type commands: `docker start godot-dev && docker attach godot-dev`.
|
||||
|
||||
### Windows and Mac stuffs:
|
||||
|
||||
- Speed up compilation:
|
||||
- Exit from container.
|
||||
- Run command: `docker-machine stop`
|
||||
- Open "Oracle VM VirtualBox".
|
||||
- In settings of default VM increase CPU cores and RAM to suitable values.
|
||||
- Run command: `docker-machine start`
|
||||
- Run command: `docker start godot-dev && docker attach godot-dev`
|
||||
|
||||
- ssh to VM(can be useful sometimes):
|
||||
- `docker-machine ssh`
|
||||
|
||||
Check docker and boot2docker projects for more details.
|
||||
90
misc/dist/docker/scripts/install-android-tools
vendored
Normal file
@ -0,0 +1,90 @@
|
||||
#!/bin/bash
|
||||
|
||||
BASH_RC=~/.bashrc
|
||||
GODOT_BUILD_TOOLS_PATH=/godot-dev/build-tools
|
||||
mkdir -p $GODOT_BUILD_TOOLS_PATH
|
||||
cd $GODOT_BUILD_TOOLS_PATH
|
||||
|
||||
ANDROID_BASE_URL=http://dl.google.com/android
|
||||
|
||||
ANDROID_SDK_RELEASE=android-sdk_r24.4.1
|
||||
ANDROID_SDK_DIR=android-sdk-linux
|
||||
ANDROID_SDK_FILENAME=$ANDROID_SDK_RELEASE-linux.tgz
|
||||
ANDROID_SDK_URL=$ANDROID_BASE_URL/$ANDROID_SDK_FILENAME
|
||||
ANDROID_SDK_PATH=$GODOT_BUILD_TOOLS_PATH/$ANDROID_SDK_DIR
|
||||
ANDROID_SDK_SHA1=725bb360f0f7d04eaccff5a2d57abdd49061326d
|
||||
|
||||
ANDROID_NDK_RELEASE=android-ndk-r10e
|
||||
ANDROID_NDK_DIR=$ANDROID_NDK_RELEASE
|
||||
ANDROID_NDK_FILENAME=$ANDROID_NDK_RELEASE-linux-x86_64.bin
|
||||
ANDROID_NDK_URL=$ANDROID_BASE_URL/ndk/$ANDROID_NDK_FILENAME
|
||||
ANDROID_NDK_PATH=$GODOT_BUILD_TOOLS_PATH/$ANDROID_NDK_DIR
|
||||
ANDROID_NDK_MD5=19af543b068bdb7f27787c2bc69aba7f
|
||||
|
||||
echo
|
||||
echo "Download and install Android development tools ..."
|
||||
echo
|
||||
|
||||
if [ ! -e $ANDROID_SDK_FILENAME ]; then
|
||||
echo "Downloading: Android SDK ..."
|
||||
wget $ANDROID_SDK_URL
|
||||
else
|
||||
echo $ANDROID_SDK_SHA1 $ANDROID_SDK_FILENAME > $ANDROID_SDK_FILENAME.sha1
|
||||
sha1sum --check --strict $ANDROID_SDK_FILENAME.sha1
|
||||
if [ ! $? -eq 0 ]; then
|
||||
echo "Downloading: Android SDK ..."
|
||||
wget $ANDROID_SDK_URL
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d $ANDROID_SDK_DIR ]; then
|
||||
tar -xvzf $ANDROID_SDK_FILENAME
|
||||
fi
|
||||
|
||||
if [ ! -e $ANDROID_NDK_FILENAME ]; then
|
||||
echo "Downloading: Android NDK ..."
|
||||
wget $ANDROID_NDK_URL
|
||||
else
|
||||
echo $ANDROID_NDK_MD5 $ANDROID_NDK_FILENAME > $ANDROID_NDK_FILENAME.md5
|
||||
md5sum --check --strict $ANDROID_NDK_FILENAME.md5
|
||||
if [ ! $? -eq 0 ]; then
|
||||
echo "Downloading: Android NDK ..."
|
||||
wget $ANDROID_NDK_URL
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d $ANDROID_NDK_DIR ]; then
|
||||
chmod a+x $ANDROID_NDK_FILENAME
|
||||
./$ANDROID_NDK_FILENAME
|
||||
echo
|
||||
fi
|
||||
|
||||
cd $ANDROID_SDK_DIR/tools
|
||||
chmod a+x android
|
||||
|
||||
if ! ./android list target | grep -q 'android-19'; then
|
||||
echo "Installing: Android Tools ..."
|
||||
echo y | ./android update sdk --no-ui --all --filter "platform-tools,android-19,build-tools-19.1.0,\
|
||||
extra-android-m2repository,extra-android-support,extra-google-google_play_services,extra-google-m2repository,\
|
||||
extra-google-play_apk_expansion,extra-google-play_billing,extra-google-play_licensing"
|
||||
fi
|
||||
|
||||
EXPORT_VAL="export ANDROID_HOME=$ANDROID_SDK_PATH"
|
||||
if ! grep -q "^$EXPORT_VAL" $BASH_RC; then
|
||||
echo $EXPORT_VAL >> ~/.bashrc
|
||||
fi
|
||||
|
||||
|
||||
EXPORT_VAL="export ANDROID_NDK_ROOT=$ANDROID_NDK_PATH"
|
||||
if ! grep -q "^$EXPORT_VAL" $BASH_RC; then
|
||||
echo $EXPORT_VAL >> ~/.bashrc
|
||||
fi
|
||||
|
||||
EXPORT_VAL="export PATH=$PATH:$ANDROID_SDK_PATH/tools"
|
||||
if ! grep -q "^export PATH=.*$ANDROID_SDK_PATH/tools.*" $BASH_RC; then
|
||||
echo $EXPORT_VAL >> ~/.bashrc
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Done!"
|
||||
echo
|
||||
149
misc/dist/html_fs/godotfs.js
vendored
Normal file
@ -0,0 +1,149 @@
|
||||
|
||||
var Module;
|
||||
if (typeof Module === 'undefined') Module = eval('(function() { try { return Module || {} } catch(e) { return {} } })()');
|
||||
if (!Module.expectedDataFileDownloads) {
|
||||
Module.expectedDataFileDownloads = 0;
|
||||
Module.finishedDataFileDownloads = 0;
|
||||
}
|
||||
Module.expectedDataFileDownloads++;
|
||||
(function() {
|
||||
|
||||
function fetchRemotePackage(packageName, callback, errback) {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', packageName, true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onprogress = function(event) {
|
||||
var url = packageName;
|
||||
if (event.loaded && event.total) {
|
||||
if (!xhr.addedTotal) {
|
||||
xhr.addedTotal = true;
|
||||
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
|
||||
Module.dataFileDownloads[url] = {
|
||||
loaded: event.loaded,
|
||||
total: event.total
|
||||
};
|
||||
} else {
|
||||
Module.dataFileDownloads[url].loaded = event.loaded;
|
||||
}
|
||||
var total = 0;
|
||||
var loaded = 0;
|
||||
var num = 0;
|
||||
for (var download in Module.dataFileDownloads) {
|
||||
var data = Module.dataFileDownloads[download];
|
||||
total += data.total;
|
||||
loaded += data.loaded;
|
||||
num++;
|
||||
}
|
||||
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
|
||||
} else if (!Module.dataFileDownloads) {
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data...');
|
||||
}
|
||||
};
|
||||
xhr.onload = function(event) {
|
||||
var packageData = xhr.response;
|
||||
callback(packageData);
|
||||
};
|
||||
xhr.send(null);
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error('package error:', error);
|
||||
};
|
||||
|
||||
var fetched = null, fetchedCallback = null;
|
||||
fetchRemotePackage('data.pck', function(data) {
|
||||
if (fetchedCallback) {
|
||||
fetchedCallback(data);
|
||||
fetchedCallback = null;
|
||||
} else {
|
||||
fetched = data;
|
||||
}
|
||||
}, handleError);
|
||||
|
||||
function runWithFS() {
|
||||
|
||||
function assert(check, msg) {
|
||||
if (!check) throw msg + new Error().stack;
|
||||
}
|
||||
|
||||
function DataRequest(start, end, crunched, audio) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.crunched = crunched;
|
||||
this.audio = audio;
|
||||
}
|
||||
DataRequest.prototype = {
|
||||
requests: {},
|
||||
open: function(mode, name) {
|
||||
this.name = name;
|
||||
this.requests[name] = this;
|
||||
Module['addRunDependency']('fp ' + this.name);
|
||||
},
|
||||
send: function() {},
|
||||
onload: function() {
|
||||
var byteArray = this.byteArray.subarray(this.start, this.end);
|
||||
|
||||
this.finish(byteArray);
|
||||
|
||||
},
|
||||
finish: function(byteArray) {
|
||||
var that = this;
|
||||
Module['FS_createPreloadedFile'](this.name, null, byteArray, true, true, function() {
|
||||
Module['removeRunDependency']('fp ' + that.name);
|
||||
}, function() {
|
||||
if (that.audio) {
|
||||
Module['removeRunDependency']('fp ' + that.name); // workaround for chromium bug 124926 (still no audio with this, but at least we don't hang)
|
||||
} else {
|
||||
Module.printErr('Preloading file ' + that.name + ' failed');
|
||||
}
|
||||
}, false, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
|
||||
this.requests[this.name] = null;
|
||||
},
|
||||
};
|
||||
new DataRequest(0, $DPLEN, 0, 0).open('GET', '/data.pck');
|
||||
|
||||
var PACKAGE_PATH;
|
||||
if (typeof window === 'object') {
|
||||
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
} else {
|
||||
// worker
|
||||
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
}
|
||||
var PACKAGE_NAME = 'data.pck';
|
||||
var REMOTE_PACKAGE_NAME = 'data.pck';
|
||||
var PACKAGE_UUID = 'b39761ce-0348-4959-9b16-302ed8e1592e';
|
||||
|
||||
function processPackageData(arrayBuffer) {
|
||||
Module.finishedDataFileDownloads++;
|
||||
assert(arrayBuffer, 'Loading data file failed.');
|
||||
var byteArray = new Uint8Array(arrayBuffer);
|
||||
var curr;
|
||||
|
||||
// Reuse the bytearray from the XHR as the source for file reads.
|
||||
DataRequest.prototype.byteArray = byteArray;
|
||||
DataRequest.prototype.requests["/data.pck"].onload();
|
||||
Module['removeRunDependency']('datafile_datapack');
|
||||
|
||||
};
|
||||
Module['addRunDependency']('datafile_datapack');
|
||||
|
||||
if (!Module.preloadResults) Module.preloadResults = {};
|
||||
|
||||
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
|
||||
if (fetched) {
|
||||
processPackageData(fetched);
|
||||
fetched = null;
|
||||
} else {
|
||||
fetchedCallback = processPackageData;
|
||||
}
|
||||
|
||||
}
|
||||
if (Module['calledRun']) {
|
||||
runWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
|
||||
}
|
||||
|
||||
})();
|
||||
0
misc/dist/ios_xcode/godot_xcode/data.pck
vendored
Normal file
0
misc/dist/ios_xcode/godot_xcode/godot_debug.iphone
vendored
Executable file
370
misc/dist/ios_xcode/godot_xcode/godot_ios.xcodeproj/project.pbxproj
vendored
Normal file
@ -0,0 +1,370 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
D07CD43F1C5D573600B7FB28 /* Default-568h@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD4331C5D573600B7FB28 /* Default-568h@2x~iphone.png */; };
|
||||
D07CD4401C5D573600B7FB28 /* Default-667h.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD4341C5D573600B7FB28 /* Default-667h.png */; };
|
||||
D07CD4411C5D573600B7FB28 /* Default-667h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD4351C5D573600B7FB28 /* Default-667h@2x.png */; };
|
||||
D07CD4421C5D573600B7FB28 /* Default-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD4361C5D573600B7FB28 /* Default-736h.png */; };
|
||||
D07CD4431C5D573600B7FB28 /* Default-736h@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD4371C5D573600B7FB28 /* Default-736h@3x.png */; };
|
||||
D07CD4441C5D573600B7FB28 /* Default-Landscape-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD4381C5D573600B7FB28 /* Default-Landscape-736h.png */; };
|
||||
D07CD4451C5D573600B7FB28 /* Default-Landscape@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD4391C5D573600B7FB28 /* Default-Landscape@2x~ipad.png */; };
|
||||
D07CD4461C5D573600B7FB28 /* Default-Landscape~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD43A1C5D573600B7FB28 /* Default-Landscape~ipad.png */; };
|
||||
D07CD4471C5D573600B7FB28 /* Default-Portrait@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD43B1C5D573600B7FB28 /* Default-Portrait@2x~ipad.png */; };
|
||||
D07CD4481C5D573600B7FB28 /* Default-Portrait~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD43C1C5D573600B7FB28 /* Default-Portrait~ipad.png */; };
|
||||
D07CD4491C5D573600B7FB28 /* Default@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD43D1C5D573600B7FB28 /* Default@2x~iphone.png */; };
|
||||
D07CD44A1C5D573600B7FB28 /* Default~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = D07CD43E1C5D573600B7FB28 /* Default~iphone.png */; };
|
||||
D07CD44E1C5D589C00B7FB28 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D07CD44D1C5D589C00B7FB28 /* Images.xcassets */; };
|
||||
D0BCFE3818AEBDA2004A7AAE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0BCFE3718AEBDA2004A7AAE /* Foundation.framework */; };
|
||||
D0BCFE3A18AEBDA2004A7AAE /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0BCFE3918AEBDA2004A7AAE /* CoreGraphics.framework */; };
|
||||
D0BCFE3C18AEBDA2004A7AAE /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0BCFE3B18AEBDA2004A7AAE /* UIKit.framework */; };
|
||||
D0BCFE3E18AEBDA2004A7AAE /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0BCFE3D18AEBDA2004A7AAE /* GLKit.framework */; };
|
||||
D0BCFE4018AEBDA2004A7AAE /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0BCFE3F18AEBDA2004A7AAE /* OpenGLES.framework */; };
|
||||
D0BCFE4618AEBDA2004A7AAE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D0BCFE4418AEBDA2004A7AAE /* InfoPlist.strings */; };
|
||||
D0BCFE7818AEBFEB004A7AAE /* data.pck in Resources */ = {isa = PBXBuildFile; fileRef = D0BCFE7718AEBFEB004A7AAE /* data.pck */; };
|
||||
D0BCFE7A18AEC06A004A7AAE /* godot_opt.iphone in Resources */ = {isa = PBXBuildFile; fileRef = D0BCFE7918AEC06A004A7AAE /* godot_opt.iphone */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
D07CD4331C5D573600B7FB28 /* Default-568h@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x~iphone.png"; sourceTree = "<group>"; };
|
||||
D07CD4341C5D573600B7FB28 /* Default-667h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-667h.png"; sourceTree = "<group>"; };
|
||||
D07CD4351C5D573600B7FB28 /* Default-667h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-667h@2x.png"; sourceTree = "<group>"; };
|
||||
D07CD4361C5D573600B7FB28 /* Default-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-736h.png"; sourceTree = "<group>"; };
|
||||
D07CD4371C5D573600B7FB28 /* Default-736h@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-736h@3x.png"; sourceTree = "<group>"; };
|
||||
D07CD4381C5D573600B7FB28 /* Default-Landscape-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape-736h.png"; sourceTree = "<group>"; };
|
||||
D07CD4391C5D573600B7FB28 /* Default-Landscape@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape@2x~ipad.png"; sourceTree = "<group>"; };
|
||||
D07CD43A1C5D573600B7FB28 /* Default-Landscape~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape~ipad.png"; sourceTree = "<group>"; };
|
||||
D07CD43B1C5D573600B7FB28 /* Default-Portrait@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait@2x~ipad.png"; sourceTree = "<group>"; };
|
||||
D07CD43C1C5D573600B7FB28 /* Default-Portrait~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait~ipad.png"; sourceTree = "<group>"; };
|
||||
D07CD43D1C5D573600B7FB28 /* Default@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x~iphone.png"; sourceTree = "<group>"; };
|
||||
D07CD43E1C5D573600B7FB28 /* Default~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default~iphone.png"; sourceTree = "<group>"; };
|
||||
D07CD44D1C5D589C00B7FB28 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
D0BCFE3418AEBDA2004A7AAE /* godot_ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = godot_ios.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D0BCFE3718AEBDA2004A7AAE /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
D0BCFE3918AEBDA2004A7AAE /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
D0BCFE3B18AEBDA2004A7AAE /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
D0BCFE3D18AEBDA2004A7AAE /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
|
||||
D0BCFE3F18AEBDA2004A7AAE /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
|
||||
D0BCFE4318AEBDA2004A7AAE /* godot_ios-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "godot_ios-Info.plist"; sourceTree = "<group>"; };
|
||||
D0BCFE4518AEBDA2004A7AAE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
D0BCFE4918AEBDA2004A7AAE /* godot_ios-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "godot_ios-Prefix.pch"; sourceTree = "<group>"; };
|
||||
D0BCFE6118AEBDA3004A7AAE /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
D0BCFE7718AEBFEB004A7AAE /* data.pck */ = {isa = PBXFileReference; lastKnownFileType = text; path = data.pck; sourceTree = "<group>"; };
|
||||
D0BCFE7918AEC06A004A7AAE /* godot_opt.iphone */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = godot_opt.iphone; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
D0BCFE3118AEBDA2004A7AAE /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D0BCFE4018AEBDA2004A7AAE /* OpenGLES.framework in Frameworks */,
|
||||
D0BCFE3A18AEBDA2004A7AAE /* CoreGraphics.framework in Frameworks */,
|
||||
D0BCFE3C18AEBDA2004A7AAE /* UIKit.framework in Frameworks */,
|
||||
D0BCFE3E18AEBDA2004A7AAE /* GLKit.framework in Frameworks */,
|
||||
D0BCFE3818AEBDA2004A7AAE /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
D0BCFE2B18AEBDA2004A7AAE = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D0BCFE7918AEC06A004A7AAE /* godot_opt.iphone */,
|
||||
D0BCFE7718AEBFEB004A7AAE /* data.pck */,
|
||||
D0BCFE4118AEBDA2004A7AAE /* godot_ios */,
|
||||
D0BCFE3618AEBDA2004A7AAE /* Frameworks */,
|
||||
D0BCFE3518AEBDA2004A7AAE /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D0BCFE3518AEBDA2004A7AAE /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D0BCFE3418AEBDA2004A7AAE /* godot_ios.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D0BCFE3618AEBDA2004A7AAE /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D0BCFE3718AEBDA2004A7AAE /* Foundation.framework */,
|
||||
D0BCFE3918AEBDA2004A7AAE /* CoreGraphics.framework */,
|
||||
D0BCFE3B18AEBDA2004A7AAE /* UIKit.framework */,
|
||||
D0BCFE3D18AEBDA2004A7AAE /* GLKit.framework */,
|
||||
D0BCFE3F18AEBDA2004A7AAE /* OpenGLES.framework */,
|
||||
D0BCFE6118AEBDA3004A7AAE /* XCTest.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D0BCFE4118AEBDA2004A7AAE /* godot_ios */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D07CD4331C5D573600B7FB28 /* Default-568h@2x~iphone.png */,
|
||||
D07CD4341C5D573600B7FB28 /* Default-667h.png */,
|
||||
D07CD4351C5D573600B7FB28 /* Default-667h@2x.png */,
|
||||
D07CD4361C5D573600B7FB28 /* Default-736h.png */,
|
||||
D07CD4371C5D573600B7FB28 /* Default-736h@3x.png */,
|
||||
D07CD4381C5D573600B7FB28 /* Default-Landscape-736h.png */,
|
||||
D07CD4391C5D573600B7FB28 /* Default-Landscape@2x~ipad.png */,
|
||||
D07CD43A1C5D573600B7FB28 /* Default-Landscape~ipad.png */,
|
||||
D07CD43B1C5D573600B7FB28 /* Default-Portrait@2x~ipad.png */,
|
||||
D07CD43C1C5D573600B7FB28 /* Default-Portrait~ipad.png */,
|
||||
D07CD43D1C5D573600B7FB28 /* Default@2x~iphone.png */,
|
||||
D07CD43E1C5D573600B7FB28 /* Default~iphone.png */,
|
||||
D07CD44D1C5D589C00B7FB28 /* Images.xcassets */,
|
||||
D0BCFE4218AEBDA2004A7AAE /* Supporting Files */,
|
||||
);
|
||||
path = godot_ios;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D0BCFE4218AEBDA2004A7AAE /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D0BCFE4318AEBDA2004A7AAE /* godot_ios-Info.plist */,
|
||||
D0BCFE4418AEBDA2004A7AAE /* InfoPlist.strings */,
|
||||
D0BCFE4918AEBDA2004A7AAE /* godot_ios-Prefix.pch */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
D0BCFE3318AEBDA2004A7AAE /* godot_ios */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = D0BCFE7118AEBDA3004A7AAE /* Build configuration list for PBXNativeTarget "godot_ios" */;
|
||||
buildPhases = (
|
||||
D0BCFE3018AEBDA2004A7AAE /* Sources */,
|
||||
D0BCFE3118AEBDA2004A7AAE /* Frameworks */,
|
||||
D0BCFE3218AEBDA2004A7AAE /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = godot_ios;
|
||||
productName = godot_ios;
|
||||
productReference = D0BCFE3418AEBDA2004A7AAE /* godot_ios.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
D0BCFE2C18AEBDA2004A7AAE /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = GodotEngine;
|
||||
};
|
||||
buildConfigurationList = D0BCFE2F18AEBDA2004A7AAE /* Build configuration list for PBXProject "godot_ios" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = D0BCFE2B18AEBDA2004A7AAE;
|
||||
productRefGroup = D0BCFE3518AEBDA2004A7AAE /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
D0BCFE3318AEBDA2004A7AAE /* godot_ios */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
D0BCFE3218AEBDA2004A7AAE /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D07CD4471C5D573600B7FB28 /* Default-Portrait@2x~ipad.png in Resources */,
|
||||
D07CD44E1C5D589C00B7FB28 /* Images.xcassets in Resources */,
|
||||
D0BCFE7818AEBFEB004A7AAE /* data.pck in Resources */,
|
||||
D07CD4461C5D573600B7FB28 /* Default-Landscape~ipad.png in Resources */,
|
||||
D07CD4411C5D573600B7FB28 /* Default-667h@2x.png in Resources */,
|
||||
D07CD4401C5D573600B7FB28 /* Default-667h.png in Resources */,
|
||||
D07CD4431C5D573600B7FB28 /* Default-736h@3x.png in Resources */,
|
||||
D07CD43F1C5D573600B7FB28 /* Default-568h@2x~iphone.png in Resources */,
|
||||
D07CD4451C5D573600B7FB28 /* Default-Landscape@2x~ipad.png in Resources */,
|
||||
D07CD44A1C5D573600B7FB28 /* Default~iphone.png in Resources */,
|
||||
D07CD4491C5D573600B7FB28 /* Default@2x~iphone.png in Resources */,
|
||||
D07CD4441C5D573600B7FB28 /* Default-Landscape-736h.png in Resources */,
|
||||
D07CD4421C5D573600B7FB28 /* Default-736h.png in Resources */,
|
||||
D0BCFE4618AEBDA2004A7AAE /* InfoPlist.strings in Resources */,
|
||||
D0BCFE7A18AEC06A004A7AAE /* godot_opt.iphone in Resources */,
|
||||
D07CD4481C5D573600B7FB28 /* Default-Portrait~ipad.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
D0BCFE3018AEBDA2004A7AAE /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
D0BCFE4418AEBDA2004A7AAE /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
D0BCFE4518AEBDA2004A7AAE /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
D0BCFE6F18AEBDA3004A7AAE /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D0BCFE7018AEBDA3004A7AAE /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D0BCFE7218AEBDA3004A7AAE /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "godot_ios/godot_ios-Prefix.pch";
|
||||
INFOPLIST_FILE = "godot_ios/godot_ios-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.godotengine.game.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALID_ARCHS = "armv7 armv7s";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D0BCFE7318AEBDA3004A7AAE /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_IDENTITY = "iPhone Distribution: Ariel Manzur (BYC57PA2Q5)";
|
||||
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "godot_ios/godot_ios-Prefix.pch";
|
||||
INFOPLIST_FILE = "godot_ios/godot_ios-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.godotengine.game.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALID_ARCHS = "armv7 armv7s";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
D0BCFE2F18AEBDA2004A7AAE /* Build configuration list for PBXProject "godot_ios" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D0BCFE6F18AEBDA3004A7AAE /* Debug */,
|
||||
D0BCFE7018AEBDA3004A7AAE /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D0BCFE7118AEBDA3004A7AAE /* Build configuration list for PBXNativeTarget "godot_ios" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D0BCFE7218AEBDA3004A7AAE /* Debug */,
|
||||
D0BCFE7318AEBDA3004A7AAE /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = D0BCFE2C18AEBDA2004A7AAE /* Project object */;
|
||||
}
|
||||
7
misc/dist/ios_xcode/godot_xcode/godot_ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:godot_ios.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-568h@2x~iphone.png
vendored
Normal file
|
After Width: | Height: | Size: 564 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-667h.png
vendored
Normal file
|
After Width: | Height: | Size: 683 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-667h@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 817 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-736h.png
vendored
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-736h@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-Landscape-736h.png
vendored
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-Landscape@2x~ipad.png
vendored
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-Landscape~ipad.png
vendored
Normal file
|
After Width: | Height: | Size: 634 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-Portrait@2x~ipad.png
vendored
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default-Portrait~ipad.png
vendored
Normal file
|
After Width: | Height: | Size: 589 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default@2x~iphone.png
vendored
Normal file
|
After Width: | Height: | Size: 515 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Default~iphone.png
vendored
Normal file
|
After Width: | Height: | Size: 309 B |
128
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Contents.json
vendored
Normal file
@ -0,0 +1,128 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "1x",
|
||||
"filename": "Icon-29.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "2x",
|
||||
"filename": "Icon-58.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "3x",
|
||||
"filename": "icon-87.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "2x",
|
||||
"filename": "Icon-80.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "3x",
|
||||
"filename": "Icon-120.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "57x57",
|
||||
"scale" : "1x",
|
||||
"filename": "Icon-57.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "57x57",
|
||||
"scale" : "2x",
|
||||
"filename": "Icon-114.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "2x",
|
||||
"filename": "Icon-120.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "3x",
|
||||
"filename": "Icon-180.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "29x29",
|
||||
"scale" : "1x",
|
||||
"filename": "Icon-29.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "29x29",
|
||||
"scale" : "2x",
|
||||
"filename": "Icon-58.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "40x40",
|
||||
"scale" : "1x",
|
||||
"filename": "Icon-40.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "40x40",
|
||||
"scale" : "2x",
|
||||
"filename": "Icon-80.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "50x50",
|
||||
"scale" : "1x",
|
||||
"filename": "Icon-50.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "50x50",
|
||||
"scale" : "2x",
|
||||
"filename": "Icon-100.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "72x72",
|
||||
"scale" : "1x",
|
||||
"filename": "Icon-72.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "72x72",
|
||||
"scale" : "2x",
|
||||
"filename": "Icon-144.png",
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-76.png",
|
||||
"scale" : "1x",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "76x76",
|
||||
"scale" : "2x",
|
||||
"filename": "Icon-152.png",
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "83.5x83.5",
|
||||
"scale" : "2x",
|
||||
"filename": "icon-167.png",
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-100.png
vendored
Normal file
|
After Width: | Height: | Size: 250 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-114.png
vendored
Normal file
|
After Width: | Height: | Size: 253 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-120.png
vendored
Normal file
|
After Width: | Height: | Size: 253 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-144.png
vendored
Normal file
|
After Width: | Height: | Size: 259 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-152.png
vendored
Normal file
|
After Width: | Height: | Size: 260 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-180.png
vendored
Normal file
|
After Width: | Height: | Size: 265 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-29.png
vendored
Normal file
|
After Width: | Height: | Size: 242 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-40.png
vendored
Normal file
|
After Width: | Height: | Size: 240 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-50.png
vendored
Normal file
|
After Width: | Height: | Size: 243 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-57.png
vendored
Normal file
|
After Width: | Height: | Size: 243 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-58.png
vendored
Normal file
|
After Width: | Height: | Size: 243 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-60.png
vendored
Normal file
|
After Width: | Height: | Size: 244 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-72.png
vendored
Normal file
|
After Width: | Height: | Size: 244 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-76.png
vendored
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/Icon-80.png
vendored
Normal file
|
After Width: | Height: | Size: 245 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/icon-167.png
vendored
Normal file
|
After Width: | Height: | Size: 262 B |
BIN
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/icon-87.png
vendored
Normal file
|
After Width: | Height: | Size: 247 B |
17
misc/dist/ios_xcode/godot_xcode/godot_ios/Images.xcassets/AppIcon.appiconset/sizes
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
100
|
||||
114
|
||||
120
|
||||
144
|
||||
152
|
||||
167
|
||||
180
|
||||
29
|
||||
40
|
||||
50
|
||||
57
|
||||
58
|
||||
60
|
||||
72
|
||||
76
|
||||
80
|
||||
87
|
||||
2
misc/dist/ios_xcode/godot_xcode/godot_ios/en.lproj/InfoPlist.strings
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
50
misc/dist/ios_xcode/godot_xcode/godot_ios/godot_ios-Info.plist
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
<?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>en</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Insert Name Here</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>godot_opt.iphone</string>
|
||||
<key>CFBundleIcons</key>
|
||||
<dict/>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict/>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UIRequiresFullScreen</key>
|
||||
<true/>
|
||||
<key>UIStatusBarHidden</key>
|
||||
<true/>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
39
misc/dist/ios_xcode/godot_xcode/godot_ios/main.m
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
/*************************************************************************/
|
||||
/* main.m */
|
||||
/*************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* GODOT ENGINE */
|
||||
/* http://www.godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
/* a copy of this software and associated documentation files (the */
|
||||
/* "Software"), to deal in the Software without restriction, including */
|
||||
/* without limitation the rights to use, copy, modify, merge, publish, */
|
||||
/* distribute, sublicense, and/or sell copies of the Software, and to */
|
||||
/* permit persons to whom the Software is furnished to do so, subject to */
|
||||
/* the following conditions: */
|
||||
/* */
|
||||
/* The above copyright notice and this permission notice shall be */
|
||||
/* included in all copies or substantial portions of the Software. */
|
||||
/* */
|
||||
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
|
||||
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
|
||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
|
||||
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
|
||||
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
|
||||
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
|
||||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/*************************************************************************/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "AppDelegate.h"
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
|
||||
}
|
||||
}
|
||||
0
misc/dist/ios_xcode/godot_xcode/godot_opt.iphone
vendored
Executable file
39
misc/dist/osx_template.app/Contents/Info.plist
vendored
Executable file
@ -0,0 +1,39 @@
|
||||
<?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>CFBundleExecutable</key>
|
||||
<string>$binary</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$name</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>$info</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>icon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$identifier</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$short_version</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>$signature</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$version</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>$copyright</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.9.0</string>
|
||||
<key>LSMinimumSystemVersionByArchitecture</key>
|
||||
<dict>
|
||||
<key>x86_64</key>
|
||||
<string>10.9.0</string>
|
||||
</dict>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
$highres
|
||||
</dict>
|
||||
</plist>
|
||||
1
misc/dist/osx_template.app/Contents/PkgInfo
vendored
Normal file
@ -0,0 +1 @@
|
||||
APPL????
|
||||
BIN
misc/dist/osx_template.app/Contents/Resources/icon.icns
vendored
Normal file
69
misc/dist/osx_tools.app/Contents/Info.plist
vendored
Executable file
@ -0,0 +1,69 @@
|
||||
<?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>CFBundleExecutable</key>
|
||||
<string>Godot</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Godot</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>(c) 2007-2017 Juan Linietsky, Ariel Manzur</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Godot.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.godotengine.godot</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>2.2-dev</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>godot</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2.2-dev</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>© 2007-2017 Juan Linietsky, Ariel Manzur</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.9.0</string>
|
||||
<key>LSMinimumSystemVersionByArchitecture</key>
|
||||
<dict>
|
||||
<key>x86_64</key>
|
||||
<string>10.9.0</string>
|
||||
</dict>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeExtensions</key>
|
||||
<array>
|
||||
<string>scn</string>
|
||||
<string>SCN</string>
|
||||
</array>
|
||||
<key>CFBundleTypeIconFile</key>
|
||||
<string>Godot.icns</string>
|
||||
<key>CFBundleTypeMIMETypes</key>
|
||||
<array>
|
||||
<string>scene/x-scn</string>
|
||||
</array>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>Godot Scene</string>
|
||||
<key>CFBundleTypeOSTypes</key>
|
||||
<array>
|
||||
<string>SCN </string>
|
||||
</array>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>LSIsAppleDefaultForType</key>
|
||||
<true/>
|
||||
<key>LSItemContentTypes</key>
|
||||
<array>
|
||||
<string>org.godotengine.scn</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
1
misc/dist/osx_tools.app/Contents/PkgInfo
vendored
Normal file
@ -0,0 +1 @@
|
||||
APPL????
|
||||
BIN
misc/dist/osx_tools.app/Contents/Resources/Godot.icns
vendored
Normal file
32
misc/dist/uwp_template/AppxManifest.xml
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp build" xmlns:build="http://schemas.microsoft.com/developer/appx/2015/build">
|
||||
<Identity Name="$identity_name$" Publisher="$publisher$" Version="$version_string$" ProcessorArchitecture="$architecture$" />
|
||||
<mp:PhoneIdentity PhoneProductId="$product_guid$" PhonePublisherId="$publisher_guid$" />
|
||||
<Properties>
|
||||
<DisplayName>$display_name$</DisplayName>
|
||||
<PublisherDisplayName>$publisher_display_name$</PublisherDisplayName>
|
||||
<Logo>Assets\StoreLogo.png</Logo>
|
||||
</Properties>
|
||||
<Dependencies>
|
||||
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.14393.0" />
|
||||
<PackageDependency Name="Microsoft.VCLibs.140.00" MinVersion="14.0.24123.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
|
||||
</Dependencies>
|
||||
<Resources>
|
||||
<Resource Language="EN-US" />
|
||||
</Resources>
|
||||
<Applications>
|
||||
<Application Id="App" Executable="godot.uwp.exe" EntryPoint="GodotUWP.App">
|
||||
<uap:VisualElements DisplayName="$display_name$" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="$app_description$" BackgroundColor="$bg_color$">
|
||||
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" Square310x310Logo="Assets\Square310x310Logo.png" Square71x71Logo="Assets\Square71x71Logo.png" ShortName="$short_name$">
|
||||
$name_on_tiles$
|
||||
</uap:DefaultTile>
|
||||
<uap:SplashScreen Image="Assets\SplashScreen.png" />
|
||||
$rotation_preference$
|
||||
</uap:VisualElements>
|
||||
</Application>
|
||||
</Applications>
|
||||
$capabilities_place$
|
||||
<build:Metadata>
|
||||
<build:Item Name="GodotEngine" Version="$godot_version$" />
|
||||
</build:Metadata>
|
||||
</Package>
|
||||
BIN
misc/dist/uwp_template/Assets/SplashScreen.scale-100.png
vendored
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
misc/dist/uwp_template/Assets/Square150x150Logo.scale-100.png
vendored
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
misc/dist/uwp_template/Assets/Square310x310Logo.scale-100.png
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
misc/dist/uwp_template/Assets/Square44x44Logo.scale-100.png
vendored
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
misc/dist/uwp_template/Assets/Square71x71Logo.scale-100.png
vendored
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
misc/dist/uwp_template/Assets/StoreLogo.scale-100.png
vendored
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
misc/dist/uwp_template/Assets/Wide310x150Logo.scale-100.png
vendored
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
70
misc/scripts/addheader.py
Normal file
@ -0,0 +1,70 @@
|
||||
header = """\
|
||||
/*************************************************************************/
|
||||
/* $filename */
|
||||
/*************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* GODOT ENGINE */
|
||||
/* http://www.godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */
|
||||
/* */
|
||||
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||
/* a copy of this software and associated documentation files (the */
|
||||
/* "Software"), to deal in the Software without restriction, including */
|
||||
/* without limitation the rights to use, copy, modify, merge, publish, */
|
||||
/* distribute, sublicense, and/or sell copies of the Software, and to */
|
||||
/* permit persons to whom the Software is furnished to do so, subject to */
|
||||
/* the following conditions: */
|
||||
/* */
|
||||
/* The above copyright notice and this permission notice shall be */
|
||||
/* included in all copies or substantial portions of the Software. */
|
||||
/* */
|
||||
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
|
||||
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
|
||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
|
||||
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
|
||||
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
|
||||
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
|
||||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/*************************************************************************/
|
||||
"""
|
||||
|
||||
f = open("files", "rb")
|
||||
|
||||
fname = f.readline()
|
||||
while (fname != ""):
|
||||
|
||||
fr = open(fname.strip(), "rb")
|
||||
l = fr.readline()
|
||||
bc = False
|
||||
fsingle = fname.strip()
|
||||
|
||||
if (fsingle.find("/") != -1):
|
||||
fsingle = fsingle[fsingle.rfind("/") + 1:]
|
||||
rep_fl = "$filename"
|
||||
rep_fi = fsingle
|
||||
len_fl = len(rep_fl)
|
||||
len_fi = len(rep_fi)
|
||||
if (len_fi < len_fl):
|
||||
for x in range(len_fl - len_fi):
|
||||
rep_fi += " "
|
||||
elif (len_fl < len_fi):
|
||||
for x in range(len_fi - len_fl):
|
||||
rep_fl += " "
|
||||
if (header.find(rep_fl) != -1):
|
||||
text = header.replace(rep_fl, rep_fi)
|
||||
else:
|
||||
text = header.replace("$filename", fsingle)
|
||||
|
||||
while (l != ""):
|
||||
if ((l.find("//") != 0 and l.find("/*") != 0 and l.strip() != "") or bc):
|
||||
text += l
|
||||
bc = True
|
||||
l = fr.readline()
|
||||
|
||||
fr.close()
|
||||
fr = open(fname.strip(), "wb")
|
||||
fr.write(text)
|
||||
fr.close()
|
||||
# print(text)
|
||||
fname = f.readline()
|
||||
56
misc/scripts/file-hex-array.py
Executable file
@ -0,0 +1,56 @@
|
||||
import binascii
|
||||
import os.path
|
||||
import sys
|
||||
|
||||
|
||||
def tof(filepath):
|
||||
with open(filepath, 'r') as f:
|
||||
content = f.read()
|
||||
content = content.replace("0x", "")
|
||||
content = content.split(',')
|
||||
for i in range(len(content)):
|
||||
if len(content[i]) == 1:
|
||||
content[i] = "0" + content[i]
|
||||
content = "".join(content)
|
||||
with open(filepath + ".file", 'wb') as f:
|
||||
content = f.write(content.decode("hex"))
|
||||
print(os.path.basename(filepath) + ".file created.")
|
||||
exit(0)
|
||||
|
||||
|
||||
def toa(filepath):
|
||||
with open(filepath, 'rb') as f:
|
||||
content = f.read()
|
||||
content = binascii.hexlify(content)
|
||||
content = [content[i:i + 2] for i in range(0, len(content), 2)]
|
||||
content = ",0x".join(content)
|
||||
content = "0x" + content
|
||||
content = content.replace("0x00", "0x0")
|
||||
with open(filepath + ".array", 'w') as f:
|
||||
content = f.write(content)
|
||||
print(os.path.basename(filepath) + ".array created.")
|
||||
exit(0)
|
||||
|
||||
|
||||
def usage():
|
||||
print("========================================================\n\
|
||||
#\n\
|
||||
# Usage: python file-hex-array.py [action] [option]\n\
|
||||
#\n\
|
||||
# Arguments:\n\
|
||||
# action ==> toa # convert file to array [option is file path]\n\
|
||||
# tof # convert array to file [option is array file path]\n\
|
||||
#\n\
|
||||
# Example : python file-hex-array.py toa 1.png\n\
|
||||
#\n\
|
||||
========================================================")
|
||||
exit(1)
|
||||
|
||||
if len(sys.argv) != 3:
|
||||
usage()
|
||||
if sys.argv[1] == "toa" and os.path.isfile(sys.argv[2]):
|
||||
toa(sys.argv[2])
|
||||
elif sys.argv[1] == "tof" and os.path.isfile(sys.argv[2]):
|
||||
tof(sys.argv[2])
|
||||
else:
|
||||
usage()
|
||||
67
misc/scripts/make_bmfhdr.py
Normal file
@ -0,0 +1,67 @@
|
||||
|
||||
|
||||
import sys
|
||||
|
||||
if (len(sys.argv) != 2):
|
||||
print("Pass me a .fnt argument!")
|
||||
|
||||
f = open(sys.argv[1], "rb")
|
||||
|
||||
name = sys.argv[1].lower().replace(".fnt", "")
|
||||
|
||||
l = f.readline()
|
||||
|
||||
font_height = 0
|
||||
font_ascent = 0
|
||||
font_charcount = 0
|
||||
font_chars = []
|
||||
font_cc = 0
|
||||
|
||||
while(l != ""):
|
||||
|
||||
fs = l.strip().find(" ")
|
||||
if (fs == -1):
|
||||
l = f.readline()
|
||||
continue
|
||||
t = l[0:fs]
|
||||
|
||||
dv = l[fs + 1:].split(" ")
|
||||
d = {}
|
||||
for x in dv:
|
||||
if (x.find("=") == -1):
|
||||
continue
|
||||
s = x.split("=")
|
||||
d[s[0]] = s[1]
|
||||
|
||||
if (t == "common"):
|
||||
font_height = d["lineHeight"]
|
||||
font_ascent = d["base"]
|
||||
|
||||
if (t == "char"):
|
||||
font_chars.append(d["id"])
|
||||
font_chars.append(d["x"])
|
||||
font_chars.append(d["y"])
|
||||
font_chars.append(d["width"])
|
||||
font_chars.append(d["height"])
|
||||
font_chars.append(d["xoffset"])
|
||||
font_chars.append(d["yoffset"])
|
||||
font_chars.append(d["xadvance"])
|
||||
font_cc += 1
|
||||
|
||||
l = f.readline()
|
||||
|
||||
|
||||
print("static const int _bi_font_" + name + "_height=" + str(font_height) + ";")
|
||||
print("static const int _bi_font_" + name + "_ascent=" + str(font_ascent) + ";")
|
||||
print("static const int _bi_font_" + name + "_charcount=" + str(font_cc) + ";")
|
||||
cstr = "static const int _bi_font_" + name + "_characters={"
|
||||
for i in range(len(font_chars)):
|
||||
|
||||
c = font_chars[i]
|
||||
if (i > 0):
|
||||
cstr += ", "
|
||||
cstr += c
|
||||
|
||||
cstr += ("};")
|
||||
|
||||
print(cstr)
|
||||
178
misc/scripts/make_glwrapper.py
Normal file
@ -0,0 +1,178 @@
|
||||
#! /usr/bin/env python
|
||||
import sys
|
||||
|
||||
if (len(sys.argv) < 2):
|
||||
print("usage: make_glwrapper.py <headers>")
|
||||
sys.exit(255)
|
||||
|
||||
|
||||
functions = []
|
||||
types = []
|
||||
constants = []
|
||||
|
||||
READ_FUNCTIONS = 0
|
||||
READ_TYPES = 1
|
||||
READ_CONSTANTS = 2
|
||||
|
||||
read_what = READ_TYPES
|
||||
|
||||
for x in (range(len(sys.argv) - 1)):
|
||||
f = open(sys.argv[x + 1], "r")
|
||||
|
||||
while(True):
|
||||
|
||||
line = f.readline()
|
||||
if (line == ""):
|
||||
break
|
||||
|
||||
line = line.replace("\n", "").strip()
|
||||
"""
|
||||
if (line.find("[types]")!=-1):
|
||||
read_what=READ_TYPES
|
||||
continue
|
||||
elif (line.find("[constants]")!=-1):
|
||||
read=READ_TYPES
|
||||
continue
|
||||
elif (line.find("[functions]")!=-1):
|
||||
read_what=READ_FUNCTIONS
|
||||
continue
|
||||
"""
|
||||
|
||||
if (line.find("#define") != -1):
|
||||
if (line.find("0x") == -1 and line.find("GL_VERSION") == -1):
|
||||
continue
|
||||
constants.append(line)
|
||||
elif (line.find("typedef") != -1):
|
||||
if (line.find("(") != -1 or line.find(")") != -1 or line.find("ARB") != -1 or line.find("EXT") != -1 or line.find("GL") == -1):
|
||||
continue
|
||||
types.append(line)
|
||||
elif (line.find("APIENTRY") != -1 and line.find("GLAPI") != -1):
|
||||
|
||||
if (line.find("ARB") != -1 or line.find("EXT") != -1 or line.find("NV") != -1):
|
||||
continue
|
||||
|
||||
line = line.replace("APIENTRY", "")
|
||||
line = line.replace("GLAPI", "")
|
||||
|
||||
glpos = line.find(" gl")
|
||||
if (glpos == -1):
|
||||
|
||||
glpos = line.find("\tgl")
|
||||
if (glpos == -1):
|
||||
continue
|
||||
|
||||
ret = line[:glpos].strip()
|
||||
|
||||
line = line[glpos:].strip()
|
||||
namepos = line.find("(")
|
||||
|
||||
if (namepos == -1):
|
||||
continue
|
||||
|
||||
name = line[:namepos].strip()
|
||||
line = line[namepos:]
|
||||
|
||||
argpos = line.rfind(")")
|
||||
if (argpos == -1):
|
||||
continue
|
||||
|
||||
args = line[1:argpos]
|
||||
|
||||
funcdata = {}
|
||||
funcdata["ret"] = ret
|
||||
funcdata["name"] = name
|
||||
funcdata["args"] = args
|
||||
|
||||
functions.append(funcdata)
|
||||
print(funcdata)
|
||||
|
||||
|
||||
# print(types)
|
||||
# print(constants)
|
||||
# print(functions)
|
||||
|
||||
|
||||
f = open("glwrapper.h", "w")
|
||||
|
||||
f.write("#ifndef GL_WRAPPER\n")
|
||||
f.write("#define GL_WRAPPER\n\n\n")
|
||||
|
||||
header_code = """\
|
||||
#if defined(__gl_h_) || defined(__GL_H__)
|
||||
#error gl.h included before glwrapper.h
|
||||
#endif
|
||||
#if defined(__glext_h_) || defined(__GLEXT_H_)
|
||||
#error glext.h included before glwrapper.h
|
||||
#endif
|
||||
#if defined(__gl_ATI_h_)
|
||||
#error glATI.h included before glwrapper.h
|
||||
#endif
|
||||
|
||||
#define __gl_h_
|
||||
#define __GL_H__
|
||||
#define __glext_h_
|
||||
#define __GLEXT_H_
|
||||
#define __gl_ATI_h_
|
||||
|
||||
#define GL_TRUE 1
|
||||
#define GL_FALSE 0
|
||||
|
||||
#define GL_ZERO 0
|
||||
#define GL_ONE 1
|
||||
#define GL_NONE 0
|
||||
#define GL_NO_ERROR 0
|
||||
|
||||
\n\n
|
||||
"""
|
||||
|
||||
f.write("#include <stddef.h>\n\n\n")
|
||||
|
||||
f.write(header_code)
|
||||
|
||||
f.write("#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n")
|
||||
f.write("#if defined(_WIN32) && !defined(__CYGWIN__)\n")
|
||||
f.write("#define GLWRP_APIENTRY __stdcall\n")
|
||||
f.write("#else\n")
|
||||
f.write("#define GLWRP_APIENTRY \n")
|
||||
f.write("#endif\n\n")
|
||||
for x in types:
|
||||
f.write(x + "\n")
|
||||
|
||||
f.write("\n\n")
|
||||
|
||||
for x in constants:
|
||||
f.write(x + "\n")
|
||||
|
||||
f.write("\n\n")
|
||||
|
||||
for x in functions:
|
||||
f.write("extern " + x["ret"] + " GLWRP_APIENTRY (*__wrapper_" + x["name"] + ")(" + x["args"] + ");\n")
|
||||
f.write("#define " + x["name"] + " __wrapper_" + x["name"] + "\n")
|
||||
|
||||
f.write("\n\n")
|
||||
f.write("typedef void (*GLWrapperFuncPtr)(void);\n\n")
|
||||
f.write("void glWrapperInit( GLWrapperFuncPtr (*wrapperFunc)(const char*) );\n")
|
||||
|
||||
f.write("#ifdef __cplusplus\n}\n#endif\n")
|
||||
|
||||
f.write("#endif\n\n")
|
||||
|
||||
f = open("glwrapper.c", "w")
|
||||
|
||||
f.write("\n\n")
|
||||
f.write("#include \"glwrapper.h\"\n")
|
||||
f.write("\n\n")
|
||||
|
||||
for x in functions:
|
||||
f.write(x["ret"] + " GLWRP_APIENTRY (*__wrapper_" + x["name"] + ")(" + x["args"] + ")=NULL;\n")
|
||||
|
||||
f.write("\n\n")
|
||||
f.write("void glWrapperInit( GLWrapperFuncPtr (*wrapperFunc)(const char*) ) {\n")
|
||||
f.write("\n")
|
||||
|
||||
for x in functions:
|
||||
f.write("\t__wrapper_" + x["name"] + "=(" + x["ret"] + " GLWRP_APIENTRY (*)(" + x["args"] + "))wrapperFunc(\"" + x["name"] + "\");\n")
|
||||
|
||||
f.write("\n\n")
|
||||
f.write("}\n")
|
||||
f.write("\n\n")
|
||||
5
misc/scripts/make_icons.sh
Normal file
@ -0,0 +1,5 @@
|
||||
convert -resize 32x32 ../../icon.svg icon32.ico
|
||||
convert -resize 32x32 ../../icon.svg icon32.icns
|
||||
for s in 16 24 32 64 96 128 256; do convert -resize ${s}x$s ../../icon.svg icon$s.png; done
|
||||
zip icons.zip icon*.png
|
||||
rm icon*.png
|
||||
82
misc/scripts/makeargs.py
Normal file
@ -0,0 +1,82 @@
|
||||
|
||||
text = """
|
||||
#define FUNC$numR(m_r,m_func,$argt)\\
|
||||
virtual m_r m_func($argtp) { \\
|
||||
if (Thread::get_caller_ID()!=server_thread) {\\
|
||||
m_r ret;\\
|
||||
command_queue.push_and_ret( visual_server, &VisualServer::m_func,$argp,&ret);\\
|
||||
return ret;\\
|
||||
} else {\\
|
||||
return visual_server->m_func($argp);\\
|
||||
}\\
|
||||
}
|
||||
|
||||
#define FUNC$numRC(m_r,m_func,$argt)\\
|
||||
virtual m_r m_func($argtp) const { \\
|
||||
if (Thread::get_caller_ID()!=server_thread) {\\
|
||||
m_r ret;\\
|
||||
command_queue.push_and_ret( visual_server, &VisualServer::m_func,$argp,&ret);\\
|
||||
return ret;\\
|
||||
} else {\\
|
||||
return visual_server->m_func($argp);\\
|
||||
}\\
|
||||
}
|
||||
|
||||
|
||||
#define FUNC$numS(m_func,$argt)\\
|
||||
virtual void m_func($argtp) { \\
|
||||
if (Thread::get_caller_ID()!=server_thread) {\\
|
||||
command_queue.push_and_sync( visual_server, &VisualServer::m_func,$argp);\\
|
||||
} else {\\
|
||||
visual_server->m_func($argp);\\
|
||||
}\\
|
||||
}
|
||||
|
||||
#define FUNC$numSC(m_func,$argt)\\
|
||||
virtual void m_func($argtp) const { \\
|
||||
if (Thread::get_caller_ID()!=server_thread) {\\
|
||||
command_queue.push_and_sync( visual_server, &VisualServer::m_func,$argp);\\
|
||||
} else {\\
|
||||
visual_server->m_func($argp);\\
|
||||
}\\
|
||||
}
|
||||
|
||||
|
||||
#define FUNC$num(m_func,$argt)\\
|
||||
virtual void m_func($argtp) { \\
|
||||
if (Thread::get_caller_ID()!=server_thread) {\\
|
||||
command_queue.push( visual_server, &VisualServer::m_func,$argp);\\
|
||||
} else {\\
|
||||
visual_server->m_func($argp);\\
|
||||
}\\
|
||||
}
|
||||
|
||||
#define FUNC$numC(m_func,$argt)\\
|
||||
virtual void m_func($argtp) const { \\
|
||||
if (Thread::get_caller_ID()!=server_thread) {\\
|
||||
command_queue.push( visual_server, &VisualServer::m_func,$argp);\\
|
||||
} else {\\
|
||||
visual_server->m_func($argp);\\
|
||||
}\\
|
||||
}
|
||||
|
||||
|
||||
"""
|
||||
|
||||
|
||||
for i in range(1, 8):
|
||||
|
||||
tp = ""
|
||||
p = ""
|
||||
t = ""
|
||||
for j in range(i):
|
||||
if (j > 0):
|
||||
tp += ", "
|
||||
p += ", "
|
||||
t += ", "
|
||||
tp += ("m_arg" + str(j + 1) + " p" + str(j + 1))
|
||||
p += ("p" + str(j + 1))
|
||||
t += ("m_arg" + str(j + 1))
|
||||
|
||||
t = text.replace("$argtp", tp).replace("$argp", p).replace("$argt", t).replace("$num", str(i))
|
||||
print(t)
|
||||
35
misc/scripts/memsort.py
Normal file
@ -0,0 +1,35 @@
|
||||
|
||||
import sys
|
||||
|
||||
arg = "memdump.txt"
|
||||
|
||||
if (len(sys.argv) > 1):
|
||||
arg = sys.argv[1]
|
||||
|
||||
f = open(arg, "rb")
|
||||
|
||||
|
||||
l = f.readline()
|
||||
|
||||
|
||||
sum = {}
|
||||
cnt = {}
|
||||
|
||||
|
||||
while(l != ""):
|
||||
|
||||
s = l.split("-")
|
||||
amount = int(s[1])
|
||||
what = s[2]
|
||||
if (what in sum):
|
||||
sum[what] += amount
|
||||
cnt[what] += 1
|
||||
else:
|
||||
sum[what] = amount
|
||||
cnt[what] = 1
|
||||
|
||||
l = f.readline()
|
||||
|
||||
|
||||
for x in sum:
|
||||
print(x.strip() + "(" + str(cnt[x]) + "):\n: " + str(sum[x]))
|
||||
29
misc/scripts/sort-demos.sh
Normal file
@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
# When scanning for demos, the project manager sorts them based on their
|
||||
# timestamp, i.e. last modification date. This can make for a pretty
|
||||
# messy output, so this script 'touches' each godot.cfg file in reverse
|
||||
# alphabetical order to ensure a nice listing.
|
||||
#
|
||||
# It's good practice to run it once before packaging demos on the build
|
||||
# server.
|
||||
|
||||
if [ ! -d "demos" ]; then
|
||||
echo "Run this script from the root directory where 'demos/' is contained."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -e demos.list ]; then
|
||||
rm -f demos.list
|
||||
fi
|
||||
|
||||
for dir in 2d 3d gui misc viewport; do
|
||||
find "demos/$dir" -name "godot.cfg" |sort >> demos.list
|
||||
done
|
||||
cat demos.list |sort -r > demos_r.list
|
||||
|
||||
while read line; do
|
||||
touch $line
|
||||
sleep 0.2
|
||||
done < demos_r.list
|
||||
|
||||
#rm -f demos.list demos_r.list
|
||||
137
misc/scripts/svgs_2_pngs.py
Normal file
@ -0,0 +1,137 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Basic exporter for svg icons
|
||||
|
||||
from os import listdir
|
||||
from os.path import isfile, join, dirname, realpath
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
import rsvg
|
||||
import cairo
|
||||
|
||||
last_svg_path = None
|
||||
last_svg_data = None
|
||||
|
||||
SCRIPT_FOLDER = dirname(realpath(__file__)) + '/'
|
||||
theme_dir_base = SCRIPT_FOLDER + '../../scene/resources/default_theme/'
|
||||
theme_dir_source = theme_dir_base + 'source/'
|
||||
icons_dir_base = SCRIPT_FOLDER + '../editor/icons/'
|
||||
icons_dir_2x = icons_dir_base + '2x/'
|
||||
icons_dir_source = icons_dir_base + 'source/'
|
||||
|
||||
|
||||
def svg_to_png(svg_path, png_path, dpi):
|
||||
global last_svg_path, last_svg_data
|
||||
|
||||
zoom = int(dpi / 90)
|
||||
if last_svg_path != svg_path:
|
||||
last_svg_data = open(svg_path, 'r').read()
|
||||
last_svg_path = svg_path
|
||||
svg = rsvg.Handle(data=last_svg_data)
|
||||
img = cairo.ImageSurface(
|
||||
cairo.FORMAT_ARGB32,
|
||||
svg.props.width * zoom,
|
||||
svg.props.height * zoom
|
||||
)
|
||||
ctx = cairo.Context(img)
|
||||
ctx.set_antialias(cairo.ANTIALIAS_DEFAULT)
|
||||
ctx.scale(zoom, zoom)
|
||||
svg.render_cairo(ctx)
|
||||
img.write_to_png('%s.png' % png_path)
|
||||
svg.close()
|
||||
|
||||
|
||||
def export_icons():
|
||||
svgs_path = icons_dir_source
|
||||
|
||||
file_names = [f for f in listdir(svgs_path) if isfile(join(svgs_path, f))]
|
||||
|
||||
for file_name in file_names:
|
||||
# name without extensions
|
||||
name_only = file_name.replace('.svg', '')
|
||||
|
||||
out_icon_names = [name_only] # export to a png with the same file name
|
||||
theme_out_icon_names = []
|
||||
# special cases
|
||||
if special_icons.has_key(name_only):
|
||||
special_icon = special_icons[name_only]
|
||||
if type(special_icon) is dict:
|
||||
if special_icon.get('avoid_self'):
|
||||
out_icon_names = []
|
||||
if special_icon.has_key('output_names'):
|
||||
out_icon_names += special_icon['output_names']
|
||||
if special_icon.has_key('theme_output_names'):
|
||||
theme_out_icon_names += special_icon['theme_output_names']
|
||||
|
||||
source_path = '%s%s.svg' % (svgs_path, name_only)
|
||||
|
||||
for out_icon_name in out_icon_names:
|
||||
svg_to_png(source_path, icons_dir_base + out_icon_name, 90)
|
||||
svg_to_png(source_path, icons_dir_2x + out_icon_name, 180)
|
||||
for theme_out_icon_name in theme_out_icon_names:
|
||||
svg_to_png(source_path, theme_dir_base + theme_out_icon_name, 90)
|
||||
|
||||
|
||||
def export_theme():
|
||||
svgs_path = theme_dir_source
|
||||
file_names = [f for f in listdir(svgs_path) if isfile(join(svgs_path, f))]
|
||||
|
||||
for file_name in file_names:
|
||||
# name without extensions
|
||||
name_only = file_name.replace('.svg', '')
|
||||
|
||||
out_icon_names = [name_only] # export to a png with the same file name
|
||||
# special cases
|
||||
if theme_icons.has_key(name_only):
|
||||
special_icon = theme_icons[name_only]
|
||||
if type(special_icon) is dict:
|
||||
if special_icon.has_key('output_names'):
|
||||
out_icon_names += special_icon['output_names']
|
||||
|
||||
source_path = '%s%s.svg' % (svgs_path, name_only)
|
||||
|
||||
for out_icon_name in out_icon_names:
|
||||
svg_to_png(source_path, theme_dir_base + out_icon_name, 90)
|
||||
|
||||
|
||||
# special cases for icons that will be exported to multiple target pngs or that require transforms.
|
||||
special_icons = {
|
||||
'icon_add_track': dict(
|
||||
output_names=['icon_add'],
|
||||
theme_output_names=['icon_add', 'icon_zoom_more']
|
||||
),
|
||||
'icon_new': dict(output_names=['icon_file']),
|
||||
'icon_animation_tree_player': dict(output_names=['icon_animation_tree']),
|
||||
'icon_tool_rotate': dict(
|
||||
output_names=['icon_reload'],
|
||||
theme_output_names=['icon_reload']
|
||||
),
|
||||
'icon_multi_edit': dict(output_names=['icon_multi_node_edit']),
|
||||
'icon_folder': dict(
|
||||
output_names=['icon_load', 'icon_open'],
|
||||
theme_output_names=['icon_folder']
|
||||
),
|
||||
'icon_file_list': dict(output_names=['icon_enum']),
|
||||
'icon_collision_2d': dict(output_names=['icon_collision_polygon_2d', 'icon_polygon_2d']),
|
||||
'icon_class_list': dict(output_names=['icon_filesystem']),
|
||||
'icon_color_ramp': dict(output_names=['icon_graph_color_ramp']),
|
||||
'icon_translation': dict(output_names=['icon_p_hash_translation']),
|
||||
'icon_shader': dict(output_names=['icon_shader_material', 'icon_material_shader']),
|
||||
'icon_canvas_item_shader_graph': dict(output_names=['icon_material_shader_graph']),
|
||||
|
||||
'icon_color_pick': dict(theme_output_names=['icon_color_pick'], avoid_self=True),
|
||||
'icon_play': dict(theme_output_names=['icon_play']),
|
||||
'icon_stop': dict(theme_output_names=['icon_stop']),
|
||||
'icon_zoom_less': dict(theme_output_names=['icon_zoom_less'], avoid_self=True),
|
||||
'icon_zoom_reset': dict(theme_output_names=['icon_zoom_reset'], avoid_self=True),
|
||||
'icon_snap': dict(theme_output_names=['icon_snap'])
|
||||
}
|
||||
|
||||
theme_icons = {
|
||||
'icon_close': dict(output_names=['close', 'close_hl']),
|
||||
'tab_menu': dict(output_names=['tab_menu_hl'])
|
||||
}
|
||||
|
||||
export_icons()
|
||||
export_theme()
|
||||