Compare commits

..

3 Commits

221 changed files with 4795 additions and 1762 deletions

View File

@ -45,6 +45,7 @@ import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.os.StatFs;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
@ -66,13 +67,15 @@ public class GenesisGLSurfaceView extends GLSurfaceView {
private String apklocation;
private float resourceSize;
private int storageType;
private float density;
private float xdpi;
private float ydpi;
private boolean usePrecompilerShader;
private GenesisRenderer mGenesisRenderer;
private GenesisEditText mGenesisEditText;
private ContextFactory mContextFactory;
static DisplayMetrics dm = new DisplayMetrics();
private AssetManager mMgr;
//get set methods=====================================================================================
@ -141,15 +144,15 @@ public class GenesisGLSurfaceView extends GLSurfaceView {
{
StatFs sf = new StatFs(data.getPath());
int availableBlocks = sf.getAvailableBlocks();
Log.d(TAG, "" + data.getAbsolutePath());
Log.d(TAG, "" + availableBlocks);
int size = sf.getBlockSize();
Log.d(TAG, "" + size + "");
int availableSize = availableBlocks * size;
Log.d(TAG, "" + availableSize + "");
return availableSize/(1024*1024);
}
private void copyAllResFiles(final Context context,String Data,String Dest)
{
Log.d( "copy", "copy start");
@ -364,6 +367,9 @@ public class GenesisGLSurfaceView extends GLSurfaceView {
public GenesisGLSurfaceView(Context context) {
super(context);
((GenesisActivity) context).getWindowManager().getDefaultDisplay().getMetrics(dm);
xdpi = dm.xdpi;
ydpi = dm.ydpi;
mMgr = context.getAssets();
this.setEGLContextClientVersion(2);
@ -401,7 +407,7 @@ public class GenesisGLSurfaceView extends GLSurfaceView {
gamedir = apklocation+"/assets/Data";
String path = "data/data/"+packagename;
String spath = path+"Data/Script";
String spath = path+"/Script";
File cdesDir = new File(spath);
File desDir = new File(path);
if(!cdesDir.exists())
@ -590,10 +596,7 @@ public class GenesisGLSurfaceView extends GLSurfaceView {
protected void onSizeChanged(final int pNewSurfaceWidth, final int pNewSurfaceHeight, final int pOldSurfaceWidth, final int pOldSurfaceHeight) {
if(!this.isInEditMode()) {
float screenWidth = (int)(pNewSurfaceWidth * density + 0.5f);
float screenHeight = (int)(pNewSurfaceHeight * density + 0.5f);
this.mGenesisRenderer.setScreenWidthAndHeight(pNewSurfaceWidth, pNewSurfaceHeight,screenWidth,screenHeight,mMgr);
this.mGenesisRenderer.setScreenWidthAndHeight(pNewSurfaceWidth, pNewSurfaceHeight,xdpi,ydpi,mMgr);
this.mGenesisRenderer.setConfig(gamedir,scenename,usePrecompilerShader);
this.mGenesisRenderer.setStorage(storageType, packagename,apklocation );
@ -602,8 +605,6 @@ public class GenesisGLSurfaceView extends GLSurfaceView {
@Override
public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent) {
switch (pKeyCode) {
case KeyEvent.KEYCODE_BACK:
this.queueEvent(new Runnable() {
@Override
public void run() {
@ -611,11 +612,18 @@ public class GenesisGLSurfaceView extends GLSurfaceView {
}
});
return true;
default:
return super.onKeyDown(pKeyCode, pKeyEvent);
}
}
@Override
public boolean onKeyUp(final int pKeyCode, final KeyEvent pKeyEvent) {
this.queueEvent(new Runnable() {
@Override
public void run() {
GenesisGLSurfaceView.this.mGenesisRenderer.handleKeyUp(pKeyCode);
}
});
return true;
}
private static class ContextFactory implements GLSurfaceView.EGLContextFactory {
private static int EGL_CONTEXT_CLIENT_VERSION = 0x3098;
public EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig) {

View File

@ -156,6 +156,7 @@ public class GenesisRenderer implements GLSurfaceView.Renderer {
private static native void nativeTouchesMove(final int[] pIDs, final float[] pXs, final float[] pYs);
private static native void nativeTouchesCancel(final int[] pIDs, final float[] pXs, final float[] pYs);
private static native boolean nativeKeyDown(final int pKeyCode);
private static native boolean nativeKeyUp(final int pKeyCode);
private static native void nativeRender();
private static native void nativeInit(final int pWidth, final int pHeight,final float dpiW,final float dpiH , AssetManager assetManager);
private static native void nativeConfig(final String gamedir, final String scenename,final boolean bShader);
@ -185,6 +186,10 @@ public class GenesisRenderer implements GLSurfaceView.Renderer {
GenesisRenderer.nativeKeyDown(pKeyCode);
}
public void handleKeyUp(final int pKeyCode) {
GenesisRenderer.nativeKeyUp(pKeyCode);
}
public void handleOnPause() {
GenesisRenderer.nativeOnPause();
}

View File

@ -22,11 +22,18 @@
# THE SOFTWARE.
#****************************************************************************
SET(LINK_ANDRIOD_PHYSX FALSE) # force close
ADD_DEFINITIONS(
-D__ANDROID__
-D__USE_AUDIO__
-DANDROID )
IF(${LINK_ANDRIOD_PHYSX})
ADD_DEFINITIONS( -D__USE_PHYSX__ )
ENDIF()
#temp definitions
ADD_DEFINITIONS(
-D__APP_BUILD_COMMIT__
@ -65,6 +72,7 @@ SET( ANDROID_PLATFORMS_ANDROID14_INCLUDE "${ANDROID_NDK_ROOT}/platforms/android-
SET( ANDROID_PLATFORMS_ANDROID14_LIB "${ANDROID_NDK_ROOT}/platforms/android-14/arch-arm/usr/lib" )
SET( GENESIS_EXTERNAL_PROJECT_DIR "${CMAKE_SOURCE_DIR}/../../genesis_externals/Externals")
MESSAGE( STATUS "ANDROID_NDK_ROOT:" ${ANDROID_NDK_ROOT} )
INCLUDE_DIRECTORIES( ${ANDROID_GUN_LIB_STD_INCLUDE_PATH} )

View File

@ -259,6 +259,7 @@ SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/../bin/win32/" )
#<-------------------------------------------------Editor------------------------------------------------>
SET( GENESIS_EDITOR_DIR ${PROJECT_SOURCE_DIR}/../../genesis_editor)
SET( GENESIS_INTERNAL_DIR ${PROJECT_SOURCE_DIR}/../../genesis_internal)
SET( GENESIS_EDITOR_CMAKE_FILE ${GENESIS_EDITOR_DIR}/CMake/EditorBuildConfig.cmake)
IF( EXISTS ${GENESIS_EDITOR_CMAKE_FILE} )

View File

@ -28,14 +28,5 @@ void RegisterMonoModules()
{
mono_aot_only = true;
//mono_ficall_flag = true;
mono_aot_register_module(mono_aot_module_mscorlib_info);
mono_aot_register_module(mono_aot_module_UserDefCSharp_info);
mono_aot_register_module(mono_aot_module_Mono_Security_info);
mono_aot_register_module(mono_aot_module_System_info);
mono_aot_register_module(mono_aot_module_ScriptFrameworkLibrary_info);
mono_aot_register_module(mono_aot_module_ScriptGUILibrary_info);
mono_aot_register_module(mono_aot_module_ScriptRuntimeLibrary_info);
mono_aot_register_module(mono_aot_module_System_Configuration_info);
mono_aot_register_module(mono_aot_module_System_Security_info);
mono_aot_register_module(mono_aot_module_System_Xml_info);
}

View File

@ -31,45 +31,6 @@
F5C42B2418B1AE5F00F5144E /* libmpg123-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F5C42B0418B1ADC100F5144E /* libmpg123-ios.a */; };
F5C42B2518B1AE5F00F5144E /* libOggIos.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F5C42AFE18B1AD6C00F5144E /* libOggIos.a */; };
F5C42B2618B1AE5F00F5144E /* libzlibIos.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F5C42AF818B1AD5A00F5144E /* libzlibIos.a */; };
F5EFE69418BC442000D585CC /* Asset in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68118BC441F00D585CC /* Asset */; };
F5EFE69518BC442000D585CC /* CompressRes in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68218BC441F00D585CC /* CompressRes */; };
F5EFE69618BC442000D585CC /* CompressUI in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68318BC441F00D585CC /* CompressUI */; };
F5EFE69718BC442000D585CC /* Google_UIMedia in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68418BC441F00D585CC /* Google_UIMedia */; };
F5EFE69818BC442000D585CC /* JYPK in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68518BC441F00D585CC /* JYPK */; };
F5EFE69918BC442000D585CC /* Lightmap in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68618BC441F00D585CC /* Lightmap */; };
F5EFE69A18BC442000D585CC /* logfiles in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68718BC441F00D585CC /* logfiles */; };
F5EFE69B18BC442000D585CC /* Mesh in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68818BC441F00D585CC /* Mesh */; };
F5EFE69C18BC442000D585CC /* Physics in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68918BC442000D585CC /* Physics */; };
F5EFE69D18BC442000D585CC /* preview in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68A18BC442000D585CC /* preview */; };
F5EFE69E18BC442000D585CC /* QMShader in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68B18BC442000D585CC /* QMShader */; };
F5EFE69F18BC442000D585CC /* Scene in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68C18BC442000D585CC /* Scene */; };
F5EFE6A018BC442000D585CC /* Script in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68D18BC442000D585CC /* Script */; };
F5EFE6A118BC442000D585CC /* Shader in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68E18BC442000D585CC /* Shader */; };
F5EFE6A218BC442000D585CC /* Sharp.Genesis in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE68F18BC442000D585CC /* Sharp.Genesis */; };
F5EFE6A318BC442000D585CC /* System in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE69018BC442000D585CC /* System */; };
F5EFE6A418BC442000D585CC /* toolchain in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE69118BC442000D585CC /* toolchain */; };
F5EFE6A518BC442000D585CC /* UIMedia in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE69218BC442000D585CC /* UIMedia */; };
F5EFE6A618BC442000D585CC /* UserDefCSharp in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE69318BC442000D585CC /* UserDefCSharp */; };
F5EFE6BC18BC443400D585CC /* Mono.Security.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6B218BC443400D585CC /* Mono.Security.dll */; };
F5EFE6BD18BC443400D585CC /* mscorlib.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6B318BC443400D585CC /* mscorlib.dll */; };
F5EFE6BE18BC443400D585CC /* ScriptFrameworkLibrary.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6B418BC443400D585CC /* ScriptFrameworkLibrary.dll */; };
F5EFE6BF18BC443400D585CC /* ScriptGUILibrary.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6B518BC443400D585CC /* ScriptGUILibrary.dll */; };
F5EFE6C018BC443400D585CC /* ScriptRuntimeLibrary.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6B618BC443400D585CC /* ScriptRuntimeLibrary.dll */; };
F5EFE6C118BC443400D585CC /* System.Configuration.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6B718BC443400D585CC /* System.Configuration.dll */; };
F5EFE6C218BC443400D585CC /* System.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6B818BC443400D585CC /* System.dll */; };
F5EFE6C318BC443400D585CC /* System.Security.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6B918BC443400D585CC /* System.Security.dll */; };
F5EFE6C418BC443400D585CC /* System.Xml.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6BA18BC443400D585CC /* System.Xml.dll */; };
F5EFE6C518BC443400D585CC /* UserDefCSharp.dll in Resources */ = {isa = PBXBuildFile; fileRef = F5EFE6BB18BC443400D585CC /* UserDefCSharp.dll */; };
F5EFE6C618BC444F00D585CC /* Mono.Security.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6B218BC443400D585CC /* Mono.Security.dll */; };
F5EFE6C718BC444F00D585CC /* mscorlib.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6B318BC443400D585CC /* mscorlib.dll */; };
F5EFE6C818BC444F00D585CC /* ScriptFrameworkLibrary.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6B418BC443400D585CC /* ScriptFrameworkLibrary.dll */; };
F5EFE6C918BC444F00D585CC /* ScriptGUILibrary.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6B518BC443400D585CC /* ScriptGUILibrary.dll */; };
F5EFE6CA18BC444F00D585CC /* ScriptRuntimeLibrary.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6B618BC443400D585CC /* ScriptRuntimeLibrary.dll */; };
F5EFE6CB18BC444F00D585CC /* System.Configuration.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6B718BC443400D585CC /* System.Configuration.dll */; };
F5EFE6CC18BC444F00D585CC /* System.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6B818BC443400D585CC /* System.dll */; };
F5EFE6CD18BC444F00D585CC /* System.Security.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6B918BC443400D585CC /* System.Security.dll */; };
F5EFE6CE18BC444F00D585CC /* System.Xml.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6BA18BC443400D585CC /* System.Xml.dll */; };
F5EFE6CF18BC444F00D585CC /* UserDefCSharp.dll in Sources */ = {isa = PBXBuildFile; fileRef = F5EFE6BB18BC443400D585CC /* UserDefCSharp.dll */; };
F5F49C2D17E1C17A00361F45 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5F49C2C17E1C17900361F45 /* UIKit.framework */; };
F5F49C2F17E1C17A00361F45 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5F49C2E17E1C17A00361F45 /* Foundation.framework */; };
F5F49C3117E1C17A00361F45 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5F49C3017E1C17A00361F45 /* CoreGraphics.framework */; };
@ -212,35 +173,6 @@
F5C42B0B18B1ADFE00F5144E /* libopcode.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libopcode.xcodeproj; path = ../../../genesis_externals/Externals/IosLibs/libopcode/libopcode.xcodeproj; sourceTree = "<group>"; };
F5C42B1118B1AE1000F5144E /* GLSLOptimizer.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = GLSLOptimizer.xcodeproj; path = ../../../genesis_externals/Externals/IosLibs/mesa/GLSLOptimizer/GLSLOptimizer.xcodeproj; sourceTree = "<group>"; };
F5C42B1718B1AE2A00F5144E /* hlsl2glslfork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = hlsl2glslfork.xcodeproj; path = ../../../genesis_externals/Externals/IosLibs/hlsl2glslfork/hlsl2glslfork/hlsl2glslfork.xcodeproj; sourceTree = "<group>"; };
F5EFE68118BC441F00D585CC /* Asset */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Asset; path = ../../../../TL_Run/Asset; sourceTree = "<group>"; };
F5EFE68218BC441F00D585CC /* CompressRes */ = {isa = PBXFileReference; lastKnownFileType = folder; name = CompressRes; path = ../../../../TL_Run/CompressRes; sourceTree = "<group>"; };
F5EFE68318BC441F00D585CC /* CompressUI */ = {isa = PBXFileReference; lastKnownFileType = folder; name = CompressUI; path = ../../../../TL_Run/CompressUI; sourceTree = "<group>"; };
F5EFE68418BC441F00D585CC /* Google_UIMedia */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Google_UIMedia; path = ../../../../TL_Run/Google_UIMedia; sourceTree = "<group>"; };
F5EFE68518BC441F00D585CC /* JYPK */ = {isa = PBXFileReference; lastKnownFileType = folder; name = JYPK; path = ../../../../TL_Run/JYPK; sourceTree = "<group>"; };
F5EFE68618BC441F00D585CC /* Lightmap */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Lightmap; path = ../../../../TL_Run/Lightmap; sourceTree = "<group>"; };
F5EFE68718BC441F00D585CC /* logfiles */ = {isa = PBXFileReference; lastKnownFileType = folder; name = logfiles; path = ../../../../TL_Run/logfiles; sourceTree = "<group>"; };
F5EFE68818BC441F00D585CC /* Mesh */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Mesh; path = ../../../../TL_Run/Mesh; sourceTree = "<group>"; };
F5EFE68918BC442000D585CC /* Physics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Physics; path = ../../../../TL_Run/Physics; sourceTree = "<group>"; };
F5EFE68A18BC442000D585CC /* preview */ = {isa = PBXFileReference; lastKnownFileType = folder; name = preview; path = ../../../../TL_Run/preview; sourceTree = "<group>"; };
F5EFE68B18BC442000D585CC /* QMShader */ = {isa = PBXFileReference; lastKnownFileType = folder; name = QMShader; path = ../../../../TL_Run/QMShader; sourceTree = "<group>"; };
F5EFE68C18BC442000D585CC /* Scene */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Scene; path = ../../../../TL_Run/Scene; sourceTree = "<group>"; };
F5EFE68D18BC442000D585CC /* Script */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Script; path = ../../../../TL_Run/Script; sourceTree = "<group>"; };
F5EFE68E18BC442000D585CC /* Shader */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Shader; path = ../../../../TL_Run/Shader; sourceTree = "<group>"; };
F5EFE68F18BC442000D585CC /* Sharp.Genesis */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = Sharp.Genesis; path = ../../../../TL_Run/Sharp.Genesis; sourceTree = "<group>"; };
F5EFE69018BC442000D585CC /* System */ = {isa = PBXFileReference; lastKnownFileType = folder; name = System; path = ../../../../TL_Run/System; sourceTree = "<group>"; };
F5EFE69118BC442000D585CC /* toolchain */ = {isa = PBXFileReference; lastKnownFileType = folder; name = toolchain; path = ../../../../TL_Run/toolchain; sourceTree = "<group>"; };
F5EFE69218BC442000D585CC /* UIMedia */ = {isa = PBXFileReference; lastKnownFileType = folder; name = UIMedia; path = ../../../../TL_Run/UIMedia; sourceTree = "<group>"; };
F5EFE69318BC442000D585CC /* UserDefCSharp */ = {isa = PBXFileReference; lastKnownFileType = folder; name = UserDefCSharp; path = ../../../../TL_Run/UserDefCSharp; sourceTree = "<group>"; };
F5EFE6B218BC443400D585CC /* Mono.Security.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = Mono.Security.dll; path = ../../../../TL_Run/Script/Mono.Security.dll; sourceTree = "<group>"; };
F5EFE6B318BC443400D585CC /* mscorlib.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = mscorlib.dll; path = ../../../../TL_Run/Script/mscorlib.dll; sourceTree = "<group>"; };
F5EFE6B418BC443400D585CC /* ScriptFrameworkLibrary.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = ScriptFrameworkLibrary.dll; path = ../../../../TL_Run/Script/ScriptFrameworkLibrary.dll; sourceTree = "<group>"; };
F5EFE6B518BC443400D585CC /* ScriptGUILibrary.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = ScriptGUILibrary.dll; path = ../../../../TL_Run/Script/ScriptGUILibrary.dll; sourceTree = "<group>"; };
F5EFE6B618BC443400D585CC /* ScriptRuntimeLibrary.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = ScriptRuntimeLibrary.dll; path = ../../../../TL_Run/Script/ScriptRuntimeLibrary.dll; sourceTree = "<group>"; };
F5EFE6B718BC443400D585CC /* System.Configuration.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = System.Configuration.dll; path = ../../../../TL_Run/Script/System.Configuration.dll; sourceTree = "<group>"; };
F5EFE6B818BC443400D585CC /* System.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = System.dll; path = ../../../../TL_Run/Script/System.dll; sourceTree = "<group>"; };
F5EFE6B918BC443400D585CC /* System.Security.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = System.Security.dll; path = ../../../../TL_Run/Script/System.Security.dll; sourceTree = "<group>"; };
F5EFE6BA18BC443400D585CC /* System.Xml.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = System.Xml.dll; path = ../../../../TL_Run/Script/System.Xml.dll; sourceTree = "<group>"; };
F5EFE6BB18BC443400D585CC /* UserDefCSharp.dll */ = {isa = PBXFileReference; lastKnownFileType = file; name = UserDefCSharp.dll; path = ../../../../TL_Run/Script/UserDefCSharp.dll; sourceTree = "<group>"; };
F5F49C2917E1C17900361F45 /* GameApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GameApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
F5F49C2C17E1C17900361F45 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
F5F49C2E17E1C17A00361F45 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
@ -412,25 +344,6 @@
F5F49C2017E1C17800361F45 = {
isa = PBXGroup;
children = (
F5EFE68118BC441F00D585CC /* Asset */,
F5EFE68218BC441F00D585CC /* CompressRes */,
F5EFE68318BC441F00D585CC /* CompressUI */,
F5EFE68418BC441F00D585CC /* Google_UIMedia */,
F5EFE68518BC441F00D585CC /* JYPK */,
F5EFE68618BC441F00D585CC /* Lightmap */,
F5EFE68718BC441F00D585CC /* logfiles */,
F5EFE68818BC441F00D585CC /* Mesh */,
F5EFE68918BC442000D585CC /* Physics */,
F5EFE68A18BC442000D585CC /* preview */,
F5EFE68B18BC442000D585CC /* QMShader */,
F5EFE68C18BC442000D585CC /* Scene */,
F5EFE68D18BC442000D585CC /* Script */,
F5EFE68E18BC442000D585CC /* Shader */,
F5EFE68F18BC442000D585CC /* Sharp.Genesis */,
F5EFE69018BC442000D585CC /* System */,
F5EFE69118BC442000D585CC /* toolchain */,
F5EFE69218BC442000D585CC /* UIMedia */,
F5EFE69318BC442000D585CC /* UserDefCSharp */,
F5F49C7A17E1C25F00361F45 /* CSharpAssembly */,
F5BC88A417F2959300F0D1DD /* IOSFramework */,
F5F49C2B17E1C17900361F45 /* Frameworks */,
@ -482,16 +395,6 @@
F5F49C7A17E1C25F00361F45 /* CSharpAssembly */ = {
isa = PBXGroup;
children = (
F5EFE6B218BC443400D585CC /* Mono.Security.dll */,
F5EFE6B318BC443400D585CC /* mscorlib.dll */,
F5EFE6B418BC443400D585CC /* ScriptFrameworkLibrary.dll */,
F5EFE6B518BC443400D585CC /* ScriptGUILibrary.dll */,
F5EFE6B618BC443400D585CC /* ScriptRuntimeLibrary.dll */,
F5EFE6B718BC443400D585CC /* System.Configuration.dll */,
F5EFE6B818BC443400D585CC /* System.dll */,
F5EFE6B918BC443400D585CC /* System.Security.dll */,
F5EFE6BA18BC443400D585CC /* System.Xml.dll */,
F5EFE6BB18BC443400D585CC /* UserDefCSharp.dll */,
F560C2FE1811212200487A7D /* RegisterMonoModules.cpp */,
F560C2FF1811212200487A7D /* RegisterMonoModules.h */,
);
@ -684,35 +587,6 @@
F5BC88BD17F2959400F0D1DD /* GenesisEngineIos-Info.plist in Resources */,
F560C2F018111C0700487A7D /* ViewController_iPad.xib in Resources */,
F560C2F118111C0700487A7D /* ViewController_iPhone.xib in Resources */,
F5EFE69418BC442000D585CC /* Asset in Resources */,
F5EFE69518BC442000D585CC /* CompressRes in Resources */,
F5EFE69618BC442000D585CC /* CompressUI in Resources */,
F5EFE69718BC442000D585CC /* Google_UIMedia in Resources */,
F5EFE69818BC442000D585CC /* JYPK in Resources */,
F5EFE69918BC442000D585CC /* Lightmap in Resources */,
F5EFE69A18BC442000D585CC /* logfiles in Resources */,
F5EFE69B18BC442000D585CC /* Mesh in Resources */,
F5EFE69C18BC442000D585CC /* Physics in Resources */,
F5EFE69D18BC442000D585CC /* preview in Resources */,
F5EFE69E18BC442000D585CC /* QMShader in Resources */,
F5EFE69F18BC442000D585CC /* Scene in Resources */,
F5EFE6A018BC442000D585CC /* Script in Resources */,
F5EFE6A118BC442000D585CC /* Shader in Resources */,
F5EFE6A218BC442000D585CC /* Sharp.Genesis in Resources */,
F5EFE6A318BC442000D585CC /* System in Resources */,
F5EFE6A418BC442000D585CC /* toolchain in Resources */,
F5EFE6A518BC442000D585CC /* UIMedia in Resources */,
F5EFE6A618BC442000D585CC /* UserDefCSharp in Resources */,
F5EFE6BC18BC443400D585CC /* Mono.Security.dll in Resources */,
F5EFE6BD18BC443400D585CC /* mscorlib.dll in Resources */,
F5EFE6BE18BC443400D585CC /* ScriptFrameworkLibrary.dll in Resources */,
F5EFE6BF18BC443400D585CC /* ScriptGUILibrary.dll in Resources */,
F5EFE6C018BC443400D585CC /* ScriptRuntimeLibrary.dll in Resources */,
F5EFE6C118BC443400D585CC /* System.Configuration.dll in Resources */,
F5EFE6C218BC443400D585CC /* System.dll in Resources */,
F5EFE6C318BC443400D585CC /* System.Security.dll in Resources */,
F5EFE6C418BC443400D585CC /* System.Xml.dll in Resources */,
F5EFE6C518BC443400D585CC /* UserDefCSharp.dll in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -723,18 +597,8 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
F5EFE6C618BC444F00D585CC /* Mono.Security.dll in Sources */,
587F8B4318FB8FB4007563A8 /* TextViewController.mm in Sources */,
F5EFE6C718BC444F00D585CC /* mscorlib.dll in Sources */,
F5EFE6C818BC444F00D585CC /* ScriptFrameworkLibrary.dll in Sources */,
F5EFE6C918BC444F00D585CC /* ScriptGUILibrary.dll in Sources */,
F5EFE6CA18BC444F00D585CC /* ScriptRuntimeLibrary.dll in Sources */,
F5EFE6CB18BC444F00D585CC /* System.Configuration.dll in Sources */,
F5EFE6CC18BC444F00D585CC /* System.dll in Sources */,
F5EFE6CD18BC444F00D585CC /* System.Security.dll in Sources */,
F5EFE6CE18BC444F00D585CC /* System.Xml.dll in Sources */,
587F8B4218FB8FB4007563A8 /* OCAndCPlusInterface.mm in Sources */,
F5EFE6CF18BC444F00D585CC /* UserDefCSharp.dll in Sources */,
F5BC88B617F2959400F0D1DD /* AppDelegate.mm in Sources */,
F5BC88BE17F2959400F0D1DD /* main.mm in Sources */,
F5BC88BF17F2959400F0D1DD /* ViewController.mm in Sources */,
@ -849,7 +713,9 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../Librarys\"",
/Users/qisong/Desktop/guopeng/new/genesis_externals/Librarys/PhysX3/Ios,
);
ONLY_ACTIVE_ARCH = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
USER_HEADER_SEARCH_PATHS = ../;
WRAPPER_EXTENSION = app;
@ -871,7 +737,9 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../Librarys\"",
/Users/qisong/Desktop/guopeng/new/genesis_externals/Librarys/PhysX3/Ios,
);
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
USER_HEADER_SEARCH_PATHS = ../;
WRAPPER_EXTENSION = app;

View File

@ -7,6 +7,12 @@
objects = {
/* Begin PBXBuildFile section */
255433DC192D909700DD4AA4 /* editstatus.cc in Sources */ = {isa = PBXBuildFile; fileRef = 255433D8192D909700DD4AA4 /* editstatus.cc */; };
255433DD192D909700DD4AA4 /* simplecamera.cc in Sources */ = {isa = PBXBuildFile; fileRef = 255433DA192D909700DD4AA4 /* simplecamera.cc */; };
255433E0192D90D500DD4AA4 /* RenderTargetSuite.cc in Sources */ = {isa = PBXBuildFile; fileRef = 255433DE192D90D500DD4AA4 /* RenderTargetSuite.cc */; };
2561E7331929DFE200F41739 /* script_hook.cc in Sources */ = {isa = PBXBuildFile; fileRef = 2561E7321929DFE200F41739 /* script_hook.cc */; };
5850EF201935F045008B3597 /* guirenderobject.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5850EF1C1935F045008B3597 /* guirenderobject.cc */; };
5850EF211935F045008B3597 /* guiscene.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5850EF1E1935F045008B3597 /* guiscene.cc */; };
58548DAE19061FC400BA92A0 /* script_app.cc in Sources */ = {isa = PBXBuildFile; fileRef = 58548DAC19061FC400BA92A0 /* script_app.cc */; };
82C7DF6B192222D2002CE939 /* FileData.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82C7DF5D192222D2002CE939 /* FileData.cc */; };
82C7DF6C192222D2002CE939 /* FileTable.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82C7DF60192222D2002CE939 /* FileTable.cc */; };
@ -14,6 +20,31 @@
82C7DF6E192222D2002CE939 /* PackageSystem.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82C7DF65192222D2002CE939 /* PackageSystem.cc */; };
82C7DF6F192222D2002CE939 /* PackageTool.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82C7DF67192222D2002CE939 /* PackageTool.cc */; };
82C7DF70192222D2002CE939 /* PackageUtil.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82C7DF69192222D2002CE939 /* PackageUtil.cc */; };
82D17E6819371431007B315E /* PhysicsBodyComponent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E6119371431007B315E /* PhysicsBodyComponent.cc */; };
82D17E6919371431007B315E /* PhysicsBodyComponentSerialization.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E6319371431007B315E /* PhysicsBodyComponentSerialization.cc */; };
82D17E6A19371431007B315E /* PhysicsFeature.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E6419371431007B315E /* PhysicsFeature.cc */; };
82D17E6B19371431007B315E /* UserReport.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E6619371431007B315E /* UserReport.cc */; };
82D17E8C1937144F007B315E /* PhysicsBoxShape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E6C1937144F007B315E /* PhysicsBoxShape.cc */; };
82D17E8D1937144F007B315E /* PhysicsCapsuleShape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E6E1937144F007B315E /* PhysicsCapsuleShape.cc */; };
82D17E8E1937144F007B315E /* PhysicsConvexShape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E701937144F007B315E /* PhysicsConvexShape.cc */; };
82D17E8F1937144F007B315E /* PhysicsDynamic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E731937144F007B315E /* PhysicsDynamic.cc */; };
82D17E901937144F007B315E /* PhysicsEntity.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E751937144F007B315E /* PhysicsEntity.cc */; };
82D17E911937144F007B315E /* PhysicsMaterial.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E771937144F007B315E /* PhysicsMaterial.cc */; };
82D17E921937144F007B315E /* PhysicsMeshShape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E791937144F007B315E /* PhysicsMeshShape.cc */; };
82D17E931937144F007B315E /* PhysicsPlaneShape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E7B1937144F007B315E /* PhysicsPlaneShape.cc */; };
82D17E941937144F007B315E /* PhysicsRole.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E7D1937144F007B315E /* PhysicsRole.cc */; };
82D17E951937144F007B315E /* PhysicsServer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E7F1937144F007B315E /* PhysicsServer.cc */; };
82D17E961937144F007B315E /* PhysicsShape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E811937144F007B315E /* PhysicsShape.cc */; };
82D17E971937144F007B315E /* PhysicsSphereShape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E831937144F007B315E /* PhysicsSphereShape.cc */; };
82D17E981937144F007B315E /* PhysicsStatic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E851937144F007B315E /* PhysicsStatic.cc */; };
82D17E991937144F007B315E /* PhysicsTerrian.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E871937144F007B315E /* PhysicsTerrian.cc */; };
82D17E9A1937144F007B315E /* UserStream.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82D17E8A1937144F007B315E /* UserStream.cc */; };
82F91395193748BD00BB1943 /* scriptbind_physicsbody_component.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82F9138F193748BD00BB1943 /* scriptbind_physicsbody_component.cc */; };
82F91396193748BD00BB1943 /* scriptbind_physicsboxshape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82F91390193748BD00BB1943 /* scriptbind_physicsboxshape.cc */; };
82F91397193748BD00BB1943 /* scriptbind_physicscapsuleshape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82F91391193748BD00BB1943 /* scriptbind_physicscapsuleshape.cc */; };
82F91398193748BD00BB1943 /* scriptbind_physicsmeshshape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82F91392193748BD00BB1943 /* scriptbind_physicsmeshshape.cc */; };
82F91399193748BD00BB1943 /* scriptbind_physicsscene.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82F91393193748BD00BB1943 /* scriptbind_physicsscene.cc */; };
82F9139A193748BD00BB1943 /* scriptbind_physicssphereshape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 82F91394193748BD00BB1943 /* scriptbind_physicssphereshape.cc */; };
F504B89B18BC39F800B7C723 /* SoundInterface.cc in Sources */ = {isa = PBXBuildFile; fileRef = F504B89918BC39F800B7C723 /* SoundInterface.cc */; };
F52905801830C2DC0081A084 /* CGTool.cc in Sources */ = {isa = PBXBuildFile; fileRef = F52905781830C2DC0081A084 /* CGTool.cc */; };
F52905811830C2DC0081A084 /* D3DCompiler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F529057A1830C2DC0081A084 /* D3DCompiler.cc */; };
@ -860,6 +891,18 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
255433D8192D909700DD4AA4 /* editstatus.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = editstatus.cc; sourceTree = "<group>"; };
255433D9192D909700DD4AA4 /* editstatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = editstatus.h; sourceTree = "<group>"; };
255433DA192D909700DD4AA4 /* simplecamera.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplecamera.cc; sourceTree = "<group>"; };
255433DB192D909700DD4AA4 /* simplecamera.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplecamera.h; sourceTree = "<group>"; };
255433DE192D90D500DD4AA4 /* RenderTargetSuite.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderTargetSuite.cc; sourceTree = "<group>"; };
255433DF192D90D500DD4AA4 /* RenderTargetSuite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderTargetSuite.h; sourceTree = "<group>"; };
2561E7321929DFE200F41739 /* script_hook.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = script_hook.cc; sourceTree = "<group>"; };
2561E7341929DFEC00F41739 /* script_hook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = script_hook.h; sourceTree = "<group>"; };
5850EF1C1935F045008B3597 /* guirenderobject.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = guirenderobject.cc; sourceTree = "<group>"; };
5850EF1D1935F045008B3597 /* guirenderobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = guirenderobject.h; sourceTree = "<group>"; };
5850EF1E1935F045008B3597 /* guiscene.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = guiscene.cc; sourceTree = "<group>"; };
5850EF1F1935F045008B3597 /* guiscene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = guiscene.h; sourceTree = "<group>"; };
58548DAC19061FC400BA92A0 /* script_app.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = script_app.cc; sourceTree = "<group>"; };
58548DAD19061FC400BA92A0 /* script_app.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = script_app.h; sourceTree = "<group>"; };
587A3D9A18F68D15000ED13A /* OCAndCPlusInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCAndCPlusInterface.h; sourceTree = "<group>"; };
@ -890,6 +933,88 @@
82C7DF68192222D2002CE939 /* PackageTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PackageTool.h; sourceTree = "<group>"; };
82C7DF69192222D2002CE939 /* PackageUtil.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PackageUtil.cc; sourceTree = "<group>"; };
82C7DF6A192222D2002CE939 /* PackageUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PackageUtil.h; sourceTree = "<group>"; };
82D17E6119371431007B315E /* PhysicsBodyComponent.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsBodyComponent.cc; path = physXfeature/PhysicsBodyComponent.cc; sourceTree = "<group>"; };
82D17E6219371431007B315E /* PhysicsBodyComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsBodyComponent.h; path = physXfeature/PhysicsBodyComponent.h; sourceTree = "<group>"; };
82D17E6319371431007B315E /* PhysicsBodyComponentSerialization.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsBodyComponentSerialization.cc; path = physXfeature/PhysicsBodyComponentSerialization.cc; sourceTree = "<group>"; };
82D17E6419371431007B315E /* PhysicsFeature.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsFeature.cc; path = physXfeature/PhysicsFeature.cc; sourceTree = "<group>"; };
82D17E6519371431007B315E /* PhysicsFeature.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsFeature.h; path = physXfeature/PhysicsFeature.h; sourceTree = "<group>"; };
82D17E6619371431007B315E /* UserReport.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UserReport.cc; path = physXfeature/UserReport.cc; sourceTree = "<group>"; };
82D17E6719371431007B315E /* UserReport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserReport.h; path = physXfeature/UserReport.h; sourceTree = "<group>"; };
82D17E6C1937144F007B315E /* PhysicsBoxShape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsBoxShape.cc; path = physXfeature/physicsCore/PhysicsBoxShape.cc; sourceTree = "<group>"; };
82D17E6D1937144F007B315E /* PhysicsBoxShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsBoxShape.h; path = physXfeature/physicsCore/PhysicsBoxShape.h; sourceTree = "<group>"; };
82D17E6E1937144F007B315E /* PhysicsCapsuleShape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsCapsuleShape.cc; path = physXfeature/physicsCore/PhysicsCapsuleShape.cc; sourceTree = "<group>"; };
82D17E6F1937144F007B315E /* PhysicsCapsuleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsCapsuleShape.h; path = physXfeature/physicsCore/PhysicsCapsuleShape.h; sourceTree = "<group>"; };
82D17E701937144F007B315E /* PhysicsConvexShape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsConvexShape.cc; path = physXfeature/physicsCore/PhysicsConvexShape.cc; sourceTree = "<group>"; };
82D17E711937144F007B315E /* PhysicsConvexShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsConvexShape.h; path = physXfeature/physicsCore/PhysicsConvexShape.h; sourceTree = "<group>"; };
82D17E721937144F007B315E /* PhysicsDeclaration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsDeclaration.h; path = physXfeature/physicsCore/PhysicsDeclaration.h; sourceTree = "<group>"; };
82D17E731937144F007B315E /* PhysicsDynamic.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsDynamic.cc; path = physXfeature/physicsCore/PhysicsDynamic.cc; sourceTree = "<group>"; };
82D17E741937144F007B315E /* PhysicsDynamic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsDynamic.h; path = physXfeature/physicsCore/PhysicsDynamic.h; sourceTree = "<group>"; };
82D17E751937144F007B315E /* PhysicsEntity.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsEntity.cc; path = physXfeature/physicsCore/PhysicsEntity.cc; sourceTree = "<group>"; };
82D17E761937144F007B315E /* PhysicsEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsEntity.h; path = physXfeature/physicsCore/PhysicsEntity.h; sourceTree = "<group>"; };
82D17E771937144F007B315E /* PhysicsMaterial.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsMaterial.cc; path = physXfeature/physicsCore/PhysicsMaterial.cc; sourceTree = "<group>"; };
82D17E781937144F007B315E /* PhysicsMaterial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsMaterial.h; path = physXfeature/physicsCore/PhysicsMaterial.h; sourceTree = "<group>"; };
82D17E791937144F007B315E /* PhysicsMeshShape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsMeshShape.cc; path = physXfeature/physicsCore/PhysicsMeshShape.cc; sourceTree = "<group>"; };
82D17E7A1937144F007B315E /* PhysicsMeshShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsMeshShape.h; path = physXfeature/physicsCore/PhysicsMeshShape.h; sourceTree = "<group>"; };
82D17E7B1937144F007B315E /* PhysicsPlaneShape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsPlaneShape.cc; path = physXfeature/physicsCore/PhysicsPlaneShape.cc; sourceTree = "<group>"; };
82D17E7C1937144F007B315E /* PhysicsPlaneShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsPlaneShape.h; path = physXfeature/physicsCore/PhysicsPlaneShape.h; sourceTree = "<group>"; };
82D17E7D1937144F007B315E /* PhysicsRole.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsRole.cc; path = physXfeature/physicsCore/PhysicsRole.cc; sourceTree = "<group>"; };
82D17E7E1937144F007B315E /* PhysicsRole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsRole.h; path = physXfeature/physicsCore/PhysicsRole.h; sourceTree = "<group>"; };
82D17E7F1937144F007B315E /* PhysicsServer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsServer.cc; path = physXfeature/physicsCore/PhysicsServer.cc; sourceTree = "<group>"; };
82D17E801937144F007B315E /* PhysicsServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsServer.h; path = physXfeature/physicsCore/PhysicsServer.h; sourceTree = "<group>"; };
82D17E811937144F007B315E /* PhysicsShape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsShape.cc; path = physXfeature/physicsCore/PhysicsShape.cc; sourceTree = "<group>"; };
82D17E821937144F007B315E /* PhysicsShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsShape.h; path = physXfeature/physicsCore/PhysicsShape.h; sourceTree = "<group>"; };
82D17E831937144F007B315E /* PhysicsSphereShape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsSphereShape.cc; path = physXfeature/physicsCore/PhysicsSphereShape.cc; sourceTree = "<group>"; };
82D17E841937144F007B315E /* PhysicsSphereShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsSphereShape.h; path = physXfeature/physicsCore/PhysicsSphereShape.h; sourceTree = "<group>"; };
82D17E851937144F007B315E /* PhysicsStatic.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsStatic.cc; path = physXfeature/physicsCore/PhysicsStatic.cc; sourceTree = "<group>"; };
82D17E861937144F007B315E /* PhysicsStatic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsStatic.h; path = physXfeature/physicsCore/PhysicsStatic.h; sourceTree = "<group>"; };
82D17E871937144F007B315E /* PhysicsTerrian.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhysicsTerrian.cc; path = physXfeature/physicsCore/PhysicsTerrian.cc; sourceTree = "<group>"; };
82D17E881937144F007B315E /* PhysicsTerrian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsTerrian.h; path = physXfeature/physicsCore/PhysicsTerrian.h; sourceTree = "<group>"; };
82D17E891937144F007B315E /* PhysicsUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhysicsUtil.h; path = physXfeature/physicsCore/PhysicsUtil.h; sourceTree = "<group>"; };
82D17E8A1937144F007B315E /* UserStream.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UserStream.cc; path = physXfeature/physicsCore/UserStream.cc; sourceTree = "<group>"; };
82D17E8B1937144F007B315E /* UserStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserStream.h; path = physXfeature/physicsCore/UserStream.h; sourceTree = "<group>"; };
82F9138F193748BD00BB1943 /* scriptbind_physicsbody_component.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scriptbind_physicsbody_component.cc; sourceTree = "<group>"; };
82F91390193748BD00BB1943 /* scriptbind_physicsboxshape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scriptbind_physicsboxshape.cc; sourceTree = "<group>"; };
82F91391193748BD00BB1943 /* scriptbind_physicscapsuleshape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scriptbind_physicscapsuleshape.cc; sourceTree = "<group>"; };
82F91392193748BD00BB1943 /* scriptbind_physicsmeshshape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scriptbind_physicsmeshshape.cc; sourceTree = "<group>"; };
82F91393193748BD00BB1943 /* scriptbind_physicsscene.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scriptbind_physicsscene.cc; sourceTree = "<group>"; };
82F91394193748BD00BB1943 /* scriptbind_physicssphereshape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scriptbind_physicssphereshape.cc; sourceTree = "<group>"; };
82F9139B193749C700BB1943 /* scriptbind_PhysicsScene_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_PhysicsScene_register.h; sourceTree = "<group>"; };
82F9139D19374A4400BB1943 /* bind_actor.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_actor.xml; sourceTree = "<group>"; };
82F9139E19374A4400BB1943 /* bind_actormanager.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_actormanager.xml; sourceTree = "<group>"; };
82F9139F19374A4400BB1943 /* bind_animation_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_animation_component.xml; sourceTree = "<group>"; };
82F913A019374A4400BB1943 /* bind_application.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_application.xml; sourceTree = "<group>"; };
82F913A119374A4400BB1943 /* bind_cameracomponent.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_cameracomponent.xml; sourceTree = "<group>"; };
82F913A219374A4400BB1943 /* bind_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_component.xml; sourceTree = "<group>"; };
82F913A319374A4400BB1943 /* bind_lightcomponent.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_lightcomponent.xml; sourceTree = "<group>"; };
82F913A419374A4400BB1943 /* bind_scene.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_scene.xml; sourceTree = "<group>"; };
82F913A519374A4400BB1943 /* bind_soundchorusfilter_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_soundchorusfilter_component.xml; sourceTree = "<group>"; };
82F913A619374A4400BB1943 /* bind_sounddistortionfilter_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_sounddistortionfilter_component.xml; sourceTree = "<group>"; };
82F913A719374A4400BB1943 /* bind_soundechofilter_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_soundechofilter_component.xml; sourceTree = "<group>"; };
82F913A819374A4400BB1943 /* bind_soundhighpassfilter_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_soundhighpassfilter_component.xml; sourceTree = "<group>"; };
82F913A919374A4400BB1943 /* bind_soundlowpassfilter_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_soundlowpassfilter_component.xml; sourceTree = "<group>"; };
82F913AA19374A4400BB1943 /* bind_soundreverb_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_soundreverb_component.xml; sourceTree = "<group>"; };
82F913AB19374A4400BB1943 /* bind_soundreverbfilter_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_soundreverbfilter_component.xml; sourceTree = "<group>"; };
82F913AC19374A4400BB1943 /* bind_soundsource_component.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = bind_soundsource_component.xml; sourceTree = "<group>"; };
82F913AD19374A4400BB1943 /* scriptbind_ActorManager_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_ActorManager_register.h; sourceTree = "<group>"; };
82F913AE19374A4400BB1943 /* scriptbind_Actor_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_Actor_register.h; sourceTree = "<group>"; };
82F913AF19374A4400BB1943 /* scriptbind_AnimationComponent_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_AnimationComponent_register.h; sourceTree = "<group>"; };
82F913B019374A4400BB1943 /* scriptbind_Application_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_Application_register.h; sourceTree = "<group>"; };
82F913B119374A4400BB1943 /* scriptbind_CameraComponent_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_CameraComponent_register.h; sourceTree = "<group>"; };
82F913B219374A4400BB1943 /* scriptbind_Component_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_Component_register.h; sourceTree = "<group>"; };
82F913B319374A4400BB1943 /* scriptbind_LightComponent_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_LightComponent_register.h; sourceTree = "<group>"; };
82F913B419374A4400BB1943 /* scriptbind_PhysicsBodyComponent_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_PhysicsBodyComponent_register.h; sourceTree = "<group>"; };
82F913B519374A4400BB1943 /* scriptbind_PhysicsBoxShape_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_PhysicsBoxShape_register.h; sourceTree = "<group>"; };
82F913B619374A4400BB1943 /* scriptbind_PhysicsCapsuleShape_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_PhysicsCapsuleShape_register.h; sourceTree = "<group>"; };
82F913B719374A4400BB1943 /* scriptbind_PhysicsMeshShape_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_PhysicsMeshShape_register.h; sourceTree = "<group>"; };
82F913B819374A4400BB1943 /* scriptbind_PhysicsScene_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_PhysicsScene_register.h; sourceTree = "<group>"; };
82F913B919374A4400BB1943 /* scriptbind_PhysicsShape_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_PhysicsShape_register.h; sourceTree = "<group>"; };
82F913BA19374A4400BB1943 /* scriptbind_PhysicsSphere_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_PhysicsSphere_register.h; sourceTree = "<group>"; };
82F913BB19374A4400BB1943 /* scriptbind_Scene_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_Scene_register.h; sourceTree = "<group>"; };
82F913BC19374A4400BB1943 /* scriptbind_SoundEchoFilterComponent_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_SoundEchoFilterComponent_register.h; sourceTree = "<group>"; };
82F913BD19374A4400BB1943 /* scriptbind_SoundLowPassFilterComponent_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_SoundLowPassFilterComponent_register.h; sourceTree = "<group>"; };
82F913BE19374A4400BB1943 /* scriptbind_SoundReverbFilterComponent_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_SoundReverbFilterComponent_register.h; sourceTree = "<group>"; };
82F913BF19374A4400BB1943 /* scriptbind_SoundReverbZone_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_SoundReverbZone_register.h; sourceTree = "<group>"; };
82F913C019374A4400BB1943 /* scriptbind_projector_component_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scriptbind_projector_component_register.h; sourceTree = "<group>"; };
F504B89918BC39F800B7C723 /* SoundInterface.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoundInterface.cc; sourceTree = "<group>"; };
F504B89A18BC39F800B7C723 /* SoundInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoundInterface.h; sourceTree = "<group>"; };
F52905781830C2DC0081A084 /* CGTool.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CGTool.cc; sourceTree = "<group>"; };
@ -2858,6 +2983,111 @@
path = ../../packagetool;
sourceTree = "<group>";
};
82D17E5E193713CA007B315E /* PhysXFeature */ = {
isa = PBXGroup;
children = (
82D17E60193713EE007B315E /* Core */,
82D17E5F193713DD007B315E /* Components */,
);
name = PhysXFeature;
sourceTree = "<group>";
};
82D17E5F193713DD007B315E /* Components */ = {
isa = PBXGroup;
children = (
82D17E6119371431007B315E /* PhysicsBodyComponent.cc */,
82D17E6219371431007B315E /* PhysicsBodyComponent.h */,
82D17E6319371431007B315E /* PhysicsBodyComponentSerialization.cc */,
82D17E6419371431007B315E /* PhysicsFeature.cc */,
82D17E6519371431007B315E /* PhysicsFeature.h */,
82D17E6619371431007B315E /* UserReport.cc */,
82D17E6719371431007B315E /* UserReport.h */,
);
name = Components;
sourceTree = "<group>";
};
82D17E60193713EE007B315E /* Core */ = {
isa = PBXGroup;
children = (
82D17E6C1937144F007B315E /* PhysicsBoxShape.cc */,
82D17E6D1937144F007B315E /* PhysicsBoxShape.h */,
82D17E6E1937144F007B315E /* PhysicsCapsuleShape.cc */,
82D17E6F1937144F007B315E /* PhysicsCapsuleShape.h */,
82D17E701937144F007B315E /* PhysicsConvexShape.cc */,
82D17E711937144F007B315E /* PhysicsConvexShape.h */,
82D17E721937144F007B315E /* PhysicsDeclaration.h */,
82D17E731937144F007B315E /* PhysicsDynamic.cc */,
82D17E741937144F007B315E /* PhysicsDynamic.h */,
82D17E751937144F007B315E /* PhysicsEntity.cc */,
82D17E761937144F007B315E /* PhysicsEntity.h */,
82D17E771937144F007B315E /* PhysicsMaterial.cc */,
82D17E781937144F007B315E /* PhysicsMaterial.h */,
82D17E791937144F007B315E /* PhysicsMeshShape.cc */,
82D17E7A1937144F007B315E /* PhysicsMeshShape.h */,
82D17E7B1937144F007B315E /* PhysicsPlaneShape.cc */,
82D17E7C1937144F007B315E /* PhysicsPlaneShape.h */,
82D17E7D1937144F007B315E /* PhysicsRole.cc */,
82D17E7E1937144F007B315E /* PhysicsRole.h */,
82D17E7F1937144F007B315E /* PhysicsServer.cc */,
82D17E801937144F007B315E /* PhysicsServer.h */,
82D17E811937144F007B315E /* PhysicsShape.cc */,
82D17E821937144F007B315E /* PhysicsShape.h */,
82D17E831937144F007B315E /* PhysicsSphereShape.cc */,
82D17E841937144F007B315E /* PhysicsSphereShape.h */,
82D17E851937144F007B315E /* PhysicsStatic.cc */,
82D17E861937144F007B315E /* PhysicsStatic.h */,
82D17E871937144F007B315E /* PhysicsTerrian.cc */,
82D17E881937144F007B315E /* PhysicsTerrian.h */,
82D17E891937144F007B315E /* PhysicsUtil.h */,
82D17E8A1937144F007B315E /* UserStream.cc */,
82D17E8B1937144F007B315E /* UserStream.h */,
);
name = Core;
sourceTree = "<group>";
};
82F9139C19374A4400BB1943 /* autogen */ = {
isa = PBXGroup;
children = (
82F9139D19374A4400BB1943 /* bind_actor.xml */,
82F9139E19374A4400BB1943 /* bind_actormanager.xml */,
82F9139F19374A4400BB1943 /* bind_animation_component.xml */,
82F913A019374A4400BB1943 /* bind_application.xml */,
82F913A119374A4400BB1943 /* bind_cameracomponent.xml */,
82F913A219374A4400BB1943 /* bind_component.xml */,
82F913A319374A4400BB1943 /* bind_lightcomponent.xml */,
82F913A419374A4400BB1943 /* bind_scene.xml */,
82F913A519374A4400BB1943 /* bind_soundchorusfilter_component.xml */,
82F913A619374A4400BB1943 /* bind_sounddistortionfilter_component.xml */,
82F913A719374A4400BB1943 /* bind_soundechofilter_component.xml */,
82F913A819374A4400BB1943 /* bind_soundhighpassfilter_component.xml */,
82F913A919374A4400BB1943 /* bind_soundlowpassfilter_component.xml */,
82F913AA19374A4400BB1943 /* bind_soundreverb_component.xml */,
82F913AB19374A4400BB1943 /* bind_soundreverbfilter_component.xml */,
82F913AC19374A4400BB1943 /* bind_soundsource_component.xml */,
82F913AD19374A4400BB1943 /* scriptbind_ActorManager_register.h */,
82F913AE19374A4400BB1943 /* scriptbind_Actor_register.h */,
82F913AF19374A4400BB1943 /* scriptbind_AnimationComponent_register.h */,
82F913B019374A4400BB1943 /* scriptbind_Application_register.h */,
82F913B119374A4400BB1943 /* scriptbind_CameraComponent_register.h */,
82F913B219374A4400BB1943 /* scriptbind_Component_register.h */,
82F913B319374A4400BB1943 /* scriptbind_LightComponent_register.h */,
82F913B419374A4400BB1943 /* scriptbind_PhysicsBodyComponent_register.h */,
82F913B519374A4400BB1943 /* scriptbind_PhysicsBoxShape_register.h */,
82F913B619374A4400BB1943 /* scriptbind_PhysicsCapsuleShape_register.h */,
82F913B719374A4400BB1943 /* scriptbind_PhysicsMeshShape_register.h */,
82F913B819374A4400BB1943 /* scriptbind_PhysicsScene_register.h */,
82F913B919374A4400BB1943 /* scriptbind_PhysicsShape_register.h */,
82F913BA19374A4400BB1943 /* scriptbind_PhysicsSphere_register.h */,
82F913BB19374A4400BB1943 /* scriptbind_Scene_register.h */,
82F913BC19374A4400BB1943 /* scriptbind_SoundEchoFilterComponent_register.h */,
82F913BD19374A4400BB1943 /* scriptbind_SoundLowPassFilterComponent_register.h */,
82F913BE19374A4400BB1943 /* scriptbind_SoundReverbFilterComponent_register.h */,
82F913BF19374A4400BB1943 /* scriptbind_SoundReverbZone_register.h */,
82F913C019374A4400BB1943 /* scriptbind_projector_component_register.h */,
);
name = autogen;
sourceTree = "<group>";
};
F52905931830CA550081A084 /* ShaderTemplate */ = {
isa = PBXGroup;
children = (
@ -4057,6 +4287,7 @@
F5F4911617E1A66100361F45 /* app */ = {
isa = PBXGroup;
children = (
82D17E5E193713CA007B315E /* PhysXFeature */,
F560C2AC181109EB00487A7D /* spritebacth */,
F5F49CB617E1C55900361F45 /* vegetationfeature */,
F5F4911717E1A66100361F45 /* ALSystemFeature */,
@ -4107,6 +4338,10 @@
F5F4912017E1A66100361F45 /* appframework */ = {
isa = PBXGroup;
children = (
255433D8192D909700DD4AA4 /* editstatus.cc */,
255433D9192D909700DD4AA4 /* editstatus.h */,
255433DA192D909700DD4AA4 /* simplecamera.cc */,
255433DB192D909700DD4AA4 /* simplecamera.h */,
F5E8AB301867EABF006C5348 /* profiletool.cc */,
F5E8AB311867EABF006C5348 /* profiletool.h */,
F5F4912117E1A66100361F45 /* actor.cc */,
@ -4303,6 +4538,10 @@
F5F491C117E1A66200361F45 /* guifeature */ = {
isa = PBXGroup;
children = (
5850EF1C1935F045008B3597 /* guirenderobject.cc */,
5850EF1D1935F045008B3597 /* guirenderobject.h */,
5850EF1E1935F045008B3597 /* guiscene.cc */,
5850EF1F1935F045008B3597 /* guiscene.h */,
F5F491C217E1A66200361F45 /* androidguiinputhandler.cc */,
F5F491C317E1A66200361F45 /* androidguiinputhandler.h */,
F5F491C417E1A66200361F45 /* FontFeature.cc */,
@ -4386,6 +4625,12 @@
F5F4923A17E1A66200361F45 /* scriptbind */ = {
isa = PBXGroup;
children = (
82F9138F193748BD00BB1943 /* scriptbind_physicsbody_component.cc */,
82F91390193748BD00BB1943 /* scriptbind_physicsboxshape.cc */,
82F91391193748BD00BB1943 /* scriptbind_physicscapsuleshape.cc */,
82F91392193748BD00BB1943 /* scriptbind_physicsmeshshape.cc */,
82F91393193748BD00BB1943 /* scriptbind_physicsscene.cc */,
82F91394193748BD00BB1943 /* scriptbind_physicssphereshape.cc */,
F5DA5AE0185826380083349F /* scriptbind_physicsshape.cc */,
F529059A1830CBA40081A084 /* scriptbind_projector_component.cc */,
F560C2C018110A0500487A7D /* scriptbind_camera.cc */,
@ -4430,6 +4675,8 @@
F5F4923B17E1A66200361F45 /* autogen */ = {
isa = PBXGroup;
children = (
82F9139C19374A4400BB1943 /* autogen */,
82F9139B193749C700BB1943 /* scriptbind_PhysicsScene_register.h */,
F5F4923C17E1A66200361F45 /* bind_actor.xml */,
F5F4923D17E1A66200361F45 /* bind_actormanager.xml */,
F5F4923E17E1A66200361F45 /* bind_animation_component.xml */,
@ -4476,6 +4723,8 @@
F5F492AE17E1A66200361F45 /* scriptfeature */ = {
isa = PBXGroup;
children = (
2561E7341929DFEC00F41739 /* script_hook.h */,
2561E7321929DFE200F41739 /* script_hook.cc */,
58548DAC19061FC400BA92A0 /* script_app.cc */,
58548DAD19061FC400BA92A0 /* script_app.h */,
F5F492AF17E1A66200361F45 /* editable_field_value.cc */,
@ -5679,6 +5928,8 @@
F5F495C317E1A66400361F45 /* graphicsystem */ = {
isa = PBXGroup;
children = (
255433DE192D90D500DD4AA4 /* RenderTargetSuite.cc */,
255433DF192D90D500DD4AA4 /* RenderTargetSuite.h */,
F5F495C417E1A66400361F45 /* base */,
F5F495D717E1A66400361F45 /* Camera */,
F5F495EE17E1A66400361F45 /* CMakeLists.txt */,
@ -6148,6 +6399,7 @@
F5F4978B17E1A66500361F45 /* MyGUI_Exception.cpp in Sources */,
F5F4978C17E1A66500361F45 /* MyGUI_FactoryManager.cpp in Sources */,
F5F4978D17E1A66500361F45 /* MyGUI_FileLogListener.cpp in Sources */,
82D17E6B19371431007B315E /* UserReport.cc in Sources */,
F5F4978E17E1A66500361F45 /* MyGUI_FontManager.cpp in Sources */,
F5F4978F17E1A66500361F45 /* MyGUI_GeometryUtility.cpp in Sources */,
F5F4979017E1A66500361F45 /* MyGUI_Gui.cpp in Sources */,
@ -6164,6 +6416,7 @@
F5F4979B17E1A66500361F45 /* MyGUI_LogManager.cpp in Sources */,
F5F4979C17E1A66500361F45 /* MyGUI_LogSource.cpp in Sources */,
F5F4979D17E1A66500361F45 /* MyGUI_MainSkin.cpp in Sources */,
82D17E961937144F007B315E /* PhysicsShape.cc in Sources */,
F5F4979E17E1A66500361F45 /* MyGUI_MaskPickInfo.cpp in Sources */,
F5F4979F17E1A66500361F45 /* MyGUI_MenuBar.cpp in Sources */,
F5F497A017E1A66500361F45 /* MyGUI_MenuControl.cpp in Sources */,
@ -6215,6 +6468,7 @@
F5F497CD17E1A66500361F45 /* MyGUI_WidgetManager.cpp in Sources */,
F5F497CE17E1A66500361F45 /* MyGUI_WidgetUserData.cpp in Sources */,
F5F497CF17E1A66500361F45 /* MyGUI_Window.cpp in Sources */,
255433DC192D909700DD4AA4 /* editstatus.cc in Sources */,
F5F497D017E1A66500361F45 /* MyGUI_XmlDocument.cpp in Sources */,
F5F4980617E1A66500361F45 /* particleColorAffector.cc in Sources */,
F5F4980717E1A66500361F45 /* particleColorAffectorSerialization.cc in Sources */,
@ -6222,11 +6476,13 @@
F5F4980B17E1A66500361F45 /* particleFollowerAffectorSerialization.cc in Sources */,
82C7DF6C192222D2002CE939 /* FileTable.cc in Sources */,
F5F4980C17E1A66500361F45 /* particleGravityAffector.cc in Sources */,
255433E0192D90D500DD4AA4 /* RenderTargetSuite.cc in Sources */,
F5F4980D17E1A66500361F45 /* particleGravityAffectorSerialization.cc in Sources */,
F5F4981017E1A66500361F45 /* particleLinearForceAffector.cc in Sources */,
F5F4981117E1A66500361F45 /* particleLinearForceAffectorSerialization.cc in Sources */,
F5F4981317E1A66500361F45 /* particleMovementAffectorSerialization.cc in Sources */,
F5F4981417E1A66500361F45 /* particleRandomiserAffector.cc in Sources */,
82D17E951937144F007B315E /* PhysicsServer.cc in Sources */,
F5F4981517E1A66500361F45 /* particleRandomiserAffectorSerialization.cc in Sources */,
F5F4981617E1A66500361F45 /* particleScaleAffector.cc in Sources */,
F5F4981717E1A66500361F45 /* particleScaleAffectorSerialization.cc in Sources */,
@ -6235,6 +6491,7 @@
F5F4981A17E1A66500361F45 /* particleTextureRotatorAffector.cc in Sources */,
F5F4981B17E1A66500361F45 /* particleTextureRotatorAffectorSerialization.cc in Sources */,
F5F4981C17E1A66500361F45 /* particleVortexAffector.cc in Sources */,
82D17E9A1937144F007B315E /* UserStream.cc in Sources */,
F5F4981D17E1A66500361F45 /* particleVortexAffectorSerialization.cc in Sources */,
F5F4981E17E1A66500361F45 /* particleBoxEmitter.cc in Sources */,
F5F4981F17E1A66500361F45 /* particleBoxEmitterSerialization.cc in Sources */,
@ -6353,6 +6610,7 @@
F5F4992A17E1A66500361F45 /* visserver.cc in Sources */,
F5F4992B17E1A66500361F45 /* viscell.cc in Sources */,
F5F4992C17E1A66500361F45 /* visquadtree.cc in Sources */,
2561E7331929DFE200F41739 /* script_hook.cc in Sources */,
F5F4992D17E1A66500361F45 /* vissystembase.cc in Sources */,
F5F4994317E1A66500361F45 /* ALSystemFeature.cc in Sources */,
F5F4994417E1A66500361F45 /* GameIap.cc in Sources */,
@ -6375,6 +6633,7 @@
F5F4995517E1A66500361F45 /* serialization.cc in Sources */,
F5F4995617E1A66500361F45 /* statehandler.cc in Sources */,
F5F4995717E1A66500361F45 /* intersectutil.cc in Sources */,
82D17E6919371431007B315E /* PhysicsBodyComponentSerialization.cc in Sources */,
F5F4995817E1A66500361F45 /* manuresutil.cc in Sources */,
F5F4995A17E1A66500361F45 /* mouserayutil.cc in Sources */,
F5F4995B17E1A66500361F45 /* shadowmaputil.cc in Sources */,
@ -6396,10 +6655,12 @@
F5F4997517E1A66500361F45 /* meshrenderobject.cc in Sources */,
F5F4997617E1A66500361F45 /* projectorcomponent.cc in Sources */,
F5F4997717E1A66500361F45 /* projectorcomponentserialization.cc in Sources */,
82D17E971937144F007B315E /* PhysicsSphereShape.cc in Sources */,
F5F4997817E1A66500361F45 /* projectorrenderobject.cc in Sources */,
F5F4997917E1A66500361F45 /* rendercomponent.cc in Sources */,
F5F4997A17E1A66500361F45 /* rendercomponentserialization.cc in Sources */,
F5F4997B17E1A66500361F45 /* screenmeshrenderobject.cc in Sources */,
82D17E8C1937144F007B315E /* PhysicsBoxShape.cc in Sources */,
F5F4997C17E1A66500361F45 /* simpleskycomponent.cc in Sources */,
F5F4997D17E1A66500361F45 /* simpleskycomponentserialization.cc in Sources */,
F5F4997E17E1A66500361F45 /* skeletoncomponent.cpp in Sources */,
@ -6429,6 +6690,7 @@
F5F4999C17E1A66500361F45 /* scriptbind_popupmenu.cc in Sources */,
F5F4999D17E1A66500361F45 /* scriptbind_progressbar.cc in Sources */,
F5F4999E17E1A66500361F45 /* scriptbind_rendertarget.cc in Sources */,
82D17E991937144F007B315E /* PhysicsTerrian.cc in Sources */,
F5F4999F17E1A66500361F45 /* scriptbind_scrollbar.cc in Sources */,
F5F499A017E1A66500361F45 /* scriptbind_scrollview.cc in Sources */,
F5F499A117E1A66500361F45 /* scriptbind_tabcontrol.cc in Sources */,
@ -6444,6 +6706,7 @@
F5F499AB17E1A66500361F45 /* guiserver.cc in Sources */,
F5F499AC17E1A66500361F45 /* guiutility.cc in Sources */,
F5F499AD17E1A66500361F45 /* osxguiinputhandler.cpp in Sources */,
82D17E8E1937144F007B315E /* PhysicsConvexShape.cc in Sources */,
F5F499AE17E1A66500361F45 /* scriptgui.cc in Sources */,
F5F499AF17E1A66500361F45 /* win32guiinputhandler.cc in Sources */,
F5F499B117E1A66500361F45 /* inputfeature.cc in Sources */,
@ -6458,6 +6721,7 @@
F5F499E217E1A66500361F45 /* ResourceFeature.cc in Sources */,
F5F499E317E1A66500361F45 /* scriptbind_actor.cc in Sources */,
F5F499E417E1A66500361F45 /* scriptbind_actor_manager.cc in Sources */,
82D17E941937144F007B315E /* PhysicsRole.cc in Sources */,
F5F499E517E1A66500361F45 /* scriptbind_animation_component.cc in Sources */,
F5F499E617E1A66500361F45 /* scriptbind_application.cc in Sources */,
F5F499E717E1A66500361F45 /* scriptbind_camera_component.cc in Sources */,
@ -6481,6 +6745,7 @@
F5F49A1D17E1A66500361F45 /* scriptbind_skeleton_component.cc in Sources */,
F5F49A2117E1A66500361F45 /* scriptbind_soundechofilter_component.cc in Sources */,
F5F49A2217E1A66500361F45 /* scriptbind_soundFilter_component.cc in Sources */,
82D17E8F1937144F007B315E /* PhysicsDynamic.cc in Sources */,
F5F49A2417E1A66500361F45 /* scriptbind_soundListener_component.cc in Sources */,
F5F49A2517E1A66500361F45 /* scriptbind_soundlowpassfilter_component.cc in Sources */,
F5F49A2717E1A66500361F45 /* scriptbind_soundreverbfilter_component.cc in Sources */,
@ -6513,6 +6778,7 @@
F5F49A4C17E1A66500361F45 /* SoundReverbFilterComponentSerialization.cc in Sources */,
F5F49A4D17E1A66500361F45 /* SoundSourceComponent.cc in Sources */,
F5F49A4E17E1A66500361F45 /* SoundSourceComponentSerialization.cc in Sources */,
82D17E981937144F007B315E /* PhysicsStatic.cc in Sources */,
F5F49A4F17E1A66500361F45 /* SoundFeature.cc in Sources */,
F5F49A5017E1A66500361F45 /* SoundRes.cc in Sources */,
F5F49A5717E1A66500361F45 /* stdneb.cc in Sources */,
@ -6534,6 +6800,7 @@
F5F49A7017E1A66500361F45 /* osxsysfunc.mm in Sources */,
F5F49A7117E1A66500361F45 /* refcounted.cc in Sources */,
F5F49A7217E1A66500361F45 /* refcountedlist.cc in Sources */,
255433DD192D909700DD4AA4 /* simplecamera.cc in Sources */,
F5F49A7317E1A66500361F45 /* rtti.cc in Sources */,
F5F49A7417E1A66500361F45 /* win32sysfunc.cc in Sources */,
F5F49A7517E1A66500361F45 /* debugcounter.cc in Sources */,
@ -6562,6 +6829,7 @@
F5F49A8C17E1A66500361F45 /* httprequestreader.cc in Sources */,
F5F49A8D17E1A66500361F45 /* httprequestwriter.cc in Sources */,
F5F49A8E17E1A66500361F45 /* httpresponsereader.cc in Sources */,
5850EF211935F045008B3597 /* guiscene.cc in Sources */,
F5F49A8F17E1A66500361F45 /* httpresponsewriter.cc in Sources */,
F5F49A9017E1A66500361F45 /* httpserver.cc in Sources */,
F5F49A9117E1A66500361F45 /* httpserverproxy.cc in Sources */,
@ -6573,6 +6841,7 @@
F5F49A9717E1A66500361F45 /* interfacehandlerbase.cc in Sources */,
F5F49A9817E1A66500361F45 /* androidarchive.cc in Sources */,
F5F49A9917E1A66500361F45 /* androidarchivefilesystem.cc in Sources */,
82D17E931937144F007B315E /* PhysicsPlaneShape.cc in Sources */,
F5F49A9A17E1A66500361F45 /* androidconsolehandler.cc in Sources */,
F5F49A9B17E1A66500361F45 /* androidfswrapper.cc in Sources */,
F5F49A9C17E1A66500361F45 /* archive.cc in Sources */,
@ -6589,6 +6858,7 @@
F5F49AA617E1A66500361F45 /* consolehandler.cc in Sources */,
F5F49AA717E1A66500361F45 /* consolepagehandler.cc in Sources */,
F5F49AA817E1A66500361F45 /* iopagehandler.cc in Sources */,
82D17E8D1937144F007B315E /* PhysicsCapsuleShape.cc in Sources */,
F5F49AA917E1A66500361F45 /* excelxmlreader.cc in Sources */,
F5F49AAA17E1A66500361F45 /* fileservicesystem.cc in Sources */,
F5F49AAB17E1A66500361F45 /* filestream.cc in Sources */,
@ -6618,6 +6888,7 @@
F5F49AC317E1A66500361F45 /* win360fswrapper.cc in Sources */,
F5F49AC417E1A66500361F45 /* xmlreader.cc in Sources */,
F5F49AC517E1A66500361F45 /* xmlwriter.cc in Sources */,
5850EF201935F045008B3597 /* guirenderobject.cc in Sources */,
F5F49AC617E1A66500361F45 /* ziparchive.cc in Sources */,
F5F49AC717E1A66500361F45 /* zipdirentry.cc in Sources */,
F5F49AC817E1A66500361F45 /* zipfileentry.cc in Sources */,
@ -6659,11 +6930,13 @@
F5F49AF317E1A66500361F45 /* osxmemorypool.cc in Sources */,
F5F49AF417E1A66500361F45 /* poolarrayallocator.cc in Sources */,
F5F49AF917E1A66500361F45 /* boxbuilder.cc in Sources */,
82D17E6819371431007B315E /* PhysicsBodyComponent.cc in Sources */,
F5F49AFA17E1A66500361F45 /* conebuilder.cc in Sources */,
F5F49AFB17E1A66500361F45 /* meshbuilder.cc in Sources */,
F5F49AFC17E1A66500361F45 /* parallelogrambuilder.cc in Sources */,
82C7DF6E192222D2002CE939 /* PackageSystem.cc in Sources */,
F5F49AFD17E1A66500361F45 /* asyncport.cc in Sources */,
82D17E911937144F007B315E /* PhysicsMaterial.cc in Sources */,
F5F49AFE17E1A66500361F45 /* asynhandlerthread.cc in Sources */,
F5F49AFF17E1A66500361F45 /* batchmessage.cc in Sources */,
F5F49B0017E1A66500361F45 /* blockinghandlerthread.cc in Sources */,
@ -6745,6 +7018,7 @@
F5F49B4E17E1A66500361F45 /* RenderToTexture.cc in Sources */,
F5F49B4F17E1A66500361F45 /* StreamBufferPool.cc in Sources */,
F5F49B5017E1A66500361F45 /* Camera.cc in Sources */,
82D17E901937144F007B315E /* PhysicsEntity.cc in Sources */,
F5F49B5117E1A66500361F45 /* CameraSetting.cc in Sources */,
F5F49B5217E1A66500361F45 /* ActiveLight.cc in Sources */,
F5F49B5317E1A66500361F45 /* DeferredLightingPass.cc in Sources */,
@ -6872,6 +7146,7 @@
F55211AA1856FC71003AC44B /* GenesisShaderParser.cc in Sources */,
F55211AB1856FC71003AC44B /* stdneb.cc in Sources */,
F55211AF1856FC9C003AC44B /* particleLimitAffector.cc in Sources */,
82D17E6A19371431007B315E /* PhysicsFeature.cc in Sources */,
F55211B01856FC9C003AC44B /* particleLimitAffectorSerialization.cc in Sources */,
F55211BA1856FD1A003AC44B /* DXTextureDecompress.cc in Sources */,
F55211BB1856FD1A003AC44B /* FloatsCompression.cc in Sources */,
@ -6890,6 +7165,7 @@
F55211D81856FDEF003AC44B /* RenderWindow.cc in Sources */,
F55211F118580147003AC44B /* MyGUI_GenesisDataManager.cpp in Sources */,
F55211F218580147003AC44B /* MyGUI_GenesisDataStream.cpp in Sources */,
82D17E921937144F007B315E /* PhysicsMeshShape.cc in Sources */,
F55211F318580147003AC44B /* MyGUI_GenesisInput.cpp in Sources */,
F55211F418580147003AC44B /* MyGUI_GenesisRenderManager.cpp in Sources */,
F55211F518580147003AC44B /* MyGUI_GenesisRTTexture.cpp in Sources */,
@ -6919,6 +7195,12 @@
F5C42B4E18B1E3A400F5144E /* ShaderJoint.cc in Sources */,
F5C42B4F18B1E3A400F5144E /* ShaderCompilerUtil.cc in Sources */,
F504B89B18BC39F800B7C723 /* SoundInterface.cc in Sources */,
82F91395193748BD00BB1943 /* scriptbind_physicsbody_component.cc in Sources */,
82F91396193748BD00BB1943 /* scriptbind_physicsboxshape.cc in Sources */,
82F91397193748BD00BB1943 /* scriptbind_physicscapsuleshape.cc in Sources */,
82F91398193748BD00BB1943 /* scriptbind_physicsmeshshape.cc in Sources */,
82F91399193748BD00BB1943 /* scriptbind_physicsscene.cc in Sources */,
82F9139A193748BD00BB1943 /* scriptbind_physicssphereshape.cc in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -7036,6 +7318,8 @@
__OSX__,
MYGUI_RTTI_DISABLE_TYPE_INFO,
__USE_AUDIO__,
NDEBUG,
__arm__,
);
HEADER_SEARCH_PATHS = (
../rendersystem,
@ -7053,6 +7337,22 @@
../../../genesis_externals/Externals/,
../extlibs/ShaderUtil,
../depends,
../ExtIncludes/physX3/ios,
../ExtIncludes/physX3/ios/cooking,
../ExtIncludes/physX3/ios/geometry,
../ExtIncludes/physX3/ios/extensions,
../ExtIncludes/physX3/ios/cloth,
../ExtIncludes/physX3/ios/characterkinematic,
../ExtIncludes/physX3/ios/common,
../ExtIncludes/physX3/ios/particles,
../ExtIncludes/physX3/ios/vehicle,
../ExtIncludes/physX3/ios/RepXUpgrader,
../ExtIncludes/physX3/ios/RepX,
../ExtIncludes/physX3/ios/pxtask,
../ExtIncludes/physX3/ios/pvd,
../ExtIncludes/physX3/ios/physxvisualdebuggersdk,
../ExtIncludes/physX3/ios/physxprofilesdk,
../ExtIncludes/physX3/ios/foundation,
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
@ -7075,6 +7375,8 @@
__OSX__,
MYGUI_RTTI_DISABLE_TYPE_INFO,
__USE_AUDIO__,
NDEBUG,
__arm__,
);
HEADER_SEARCH_PATHS = (
../rendersystem,
@ -7092,6 +7394,22 @@
../../../genesis_externals/Externals/,
../extlibs/ShaderUtil,
../depends,
../ExtIncludes/physX3/ios,
../ExtIncludes/physX3/ios/cooking,
../ExtIncludes/physX3/ios/geometry,
../ExtIncludes/physX3/ios/extensions,
../ExtIncludes/physX3/ios/cloth,
../ExtIncludes/physX3/ios/characterkinematic,
../ExtIncludes/physX3/ios/common,
../ExtIncludes/physX3/ios/particles,
../ExtIncludes/physX3/ios/vehicle,
../ExtIncludes/physX3/ios/RepXUpgrader,
../ExtIncludes/physX3/ios/RepX,
../ExtIncludes/physX3/ios/pxtask,
../ExtIncludes/physX3/ios/pvd,
../ExtIncludes/physX3/ios/physxvisualdebuggersdk,
../ExtIncludes/physX3/ios/physxprofilesdk,
../ExtIncludes/physX3/ios/foundation,
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";

View File

@ -10,5 +10,5 @@
//#define __PROJECTOR_COMMIT__
#define __APP_BUILD_COMMIT__
//#define __SOUND_COMMIT__
#define __PHYSX_COMMIT__
//#define __USE_PHYSX__
//#define __SCRIPT_COMMIT__

View File

@ -498,7 +498,8 @@ bool GenesisLoader::Init( int argc, char *argv[] )
for (;;)
{
if(!IsWindowEnabled(this->mh_PluginWnd))break;
if(!IsWindowEnabled(this->mh_PluginWnd))
break;
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{

View File

@ -26,6 +26,7 @@ THE SOFTWARE.
#include "input/input_stdneb.h"
#include "input/android/androidinputserver.h"
#include "input/inputtouchscreen.h"
#include "input/inputkeyboard.h"
namespace AndroidInput
{
@ -54,6 +55,9 @@ namespace AndroidInput
// create a default keyboard and mouse handler
this->defaultTouchScreen = InputTouchScreen::Create();
this->AttachInputHandler(InputPriority::Game, this->defaultTouchScreen.upcast<InputHandler>());
this->defaultKeyboard = InputKeyboard::Create();
this->AttachInputHandler(InputPriority::Game, this->defaultKeyboard.upcast<InputHandler>());
}
void AndroidInputServer::Close()

View File

@ -406,5 +406,33 @@ InputKey::KeyCodesByGroup(InputKey::Group group)
return keys;
}
#ifdef __ANDROID__
InputKey::Code InputKey::TranslateAndoridToWin32( InputKey::AndroidKeyCode androidCode )
{
switch (androidCode)
{
case KEYCODE_HOME : return Home;
case KEYCODE_BACK : return Back;
case KEYCODE_ENTER : return Return;
case KEYCODE_MENU : return Menu;
case KEYCODE_DPAD_UP : return Up;
case KEYCODE_DPAD_DOWN : return Down;
case KEYCODE_DPAD_LEFT : return Left;
case KEYCODE_DPAD_RIGHT : return Right;
case KEYCODE_DPAD_CENTER : return Return;
case KEYCODE_VOLUME_UP : return VolumeUp;
case KEYCODE_VOLUME_DOWN : return VolumeDown;
case KEYCODE_MUTE : return VolumeMute;
case KEYCODE_VOLUME_MUTE : return VolumeMute;
default:
break;
}
n_error("Invalid or Unsupported key code!");
return InvalidKey;
}
#endif
} // namespace Input

View File

@ -194,6 +194,231 @@ public:
InvalidKey,
};
#ifdef __ANDROID__
///Android key codes
enum AndroidKeyCode
{
KEYCODE_UNKNOWN = 0,
KEYCODE_SOFT_LEFT = 1,
KEYCODE_SOFT_RIGHT = 2,
KEYCODE_HOME = 3,
KEYCODE_BACK = 4,
KEYCODE_CALL = 5,
KEYCODE_ENDCALL = 6,
KEYCODE_0 = 7,
KEYCODE_1 = 8,
KEYCODE_2 = 9,
KEYCODE_3 = 10,
KEYCODE_4 = 11,
KEYCODE_5 = 12,
KEYCODE_6 = 13,
KEYCODE_7 = 14,
KEYCODE_8 = 15,
KEYCODE_9 = 16,
KEYCODE_STAR = 17,
KEYCODE_POUND = 18,
KEYCODE_DPAD_UP = 19,
KEYCODE_DPAD_DOWN = 20,
KEYCODE_DPAD_LEFT = 21,
KEYCODE_DPAD_RIGHT = 22,
KEYCODE_DPAD_CENTER = 23,
KEYCODE_VOLUME_UP = 24,
KEYCODE_VOLUME_DOWN = 25,
KEYCODE_POWER = 26,
KEYCODE_CAMERA = 27,
KEYCODE_CLEAR = 28,
KEYCODE_A = 29,
KEYCODE_B = 30,
KEYCODE_C = 31,
KEYCODE_D = 32,
KEYCODE_E = 33,
KEYCODE_F = 34,
KEYCODE_G = 35,
KEYCODE_H = 36,
KEYCODE_I = 37,
KEYCODE_J = 38,
KEYCODE_K = 39,
KEYCODE_L = 40,
KEYCODE_M = 41,
KEYCODE_N = 42,
KEYCODE_O = 43,
KEYCODE_P = 44,
KEYCODE_Q = 45,
KEYCODE_R = 46,
KEYCODE_S = 47,
KEYCODE_T = 48,
KEYCODE_U = 49,
KEYCODE_V = 50,
KEYCODE_W = 51,
KEYCODE_X = 52,
KEYCODE_Y = 53,
KEYCODE_Z = 54,
KEYCODE_COMMA = 55,
KEYCODE_PERIOD = 56,
KEYCODE_ALT_LEFT = 57,
KEYCODE_ALT_RIGHT = 58,
KEYCODE_SHIFT_LEFT = 59,
KEYCODE_SHIFT_RIGHT = 60,
KEYCODE_TAB = 61,
KEYCODE_SPACE = 62,
KEYCODE_SYM = 63,
KEYCODE_EXPLORER = 64,
KEYCODE_ENVELOPE = 65,
KEYCODE_ENTER = 66,
KEYCODE_DEL = 67,
KEYCODE_GRAVE = 68,
KEYCODE_MINUS = 69,
KEYCODE_EQUALS = 70,
KEYCODE_LEFT_BRACKET = 71,
KEYCODE_RIGHT_BRACKET = 72,
KEYCODE_BACKSLASH = 73,
KEYCODE_SEMICOLON = 74,
KEYCODE_APOSTROPHE = 75,
KEYCODE_SLASH = 76,
KEYCODE_AT = 77,
KEYCODE_NUM = 78,
KEYCODE_HEADSETHOOK = 79,
KEYCODE_FOCUS = 80,
KEYCODE_PLUS = 81,
KEYCODE_MENU = 82,
KEYCODE_NOTIFICATION = 83,
KEYCODE_SEARCH = 84,
KEYCODE_MEDIA_PLAY_PAUSE= 85,
KEYCODE_MEDIA_STOP = 86,
KEYCODE_MEDIA_NEXT = 87,
KEYCODE_MEDIA_PREVIOUS = 88,
KEYCODE_MEDIA_REWIND = 89,
KEYCODE_MEDIA_FAST_FORWARD = 90,
KEYCODE_MUTE = 91,
KEYCODE_PAGE_UP = 92,
KEYCODE_PAGE_DOWN = 93,
KEYCODE_PICTSYMBOLS = 94,
KEYCODE_SWITCH_CHARSET = 95,
KEYCODE_BUTTON_A = 96,
KEYCODE_BUTTON_B = 97,
KEYCODE_BUTTON_C = 98,
KEYCODE_BUTTON_X = 99,
KEYCODE_BUTTON_Y = 100,
KEYCODE_BUTTON_Z = 101,
KEYCODE_BUTTON_L1 = 102,
KEYCODE_BUTTON_R1 = 103,
KEYCODE_BUTTON_L2 = 104,
KEYCODE_BUTTON_R2 = 105,
KEYCODE_BUTTON_THUMBL = 106,
KEYCODE_BUTTON_THUMBR = 107,
KEYCODE_BUTTON_START = 108,
KEYCODE_BUTTON_SELECT = 109,
KEYCODE_BUTTON_MODE = 110,
KEYCODE_ESCAPE = 111,
KEYCODE_FORWARD_DEL = 112,
KEYCODE_CTRL_LEFT = 113,
KEYCODE_CTRL_RIGHT = 114,
KEYCODE_CAPS_LOCK = 115,
KEYCODE_SCROLL_LOCK = 116,
KEYCODE_META_LEFT = 117,
KEYCODE_META_RIGHT = 118,
KEYCODE_FUNCTION = 119,
KEYCODE_SYSRQ = 120,
KEYCODE_BREAK = 121,
KEYCODE_MOVE_HOME = 122,
KEYCODE_MOVE_END = 123,
KEYCODE_INSERT = 124,
KEYCODE_FORWARD = 125,
KEYCODE_MEDIA_PLAY = 126,
KEYCODE_MEDIA_PAUSE = 127,
KEYCODE_MEDIA_CLOSE = 128,
KEYCODE_MEDIA_EJECT = 129,
KEYCODE_MEDIA_RECORD = 130,
KEYCODE_F1 = 131,
KEYCODE_F2 = 132,
KEYCODE_F3 = 133,
KEYCODE_F4 = 134,
KEYCODE_F5 = 135,
KEYCODE_F6 = 136,
KEYCODE_F7 = 137,
KEYCODE_F8 = 138,
KEYCODE_F9 = 139,
KEYCODE_F10 = 140,
KEYCODE_F11 = 141,
KEYCODE_F12 = 142,
KEYCODE_NUM_LOCK = 143,
KEYCODE_NUMPAD_0 = 144,
KEYCODE_NUMPAD_1 = 145,
KEYCODE_NUMPAD_2 = 146,
KEYCODE_NUMPAD_3 = 147,
KEYCODE_NUMPAD_4 = 148,
KEYCODE_NUMPAD_5 = 149,
KEYCODE_NUMPAD_6 = 150,
KEYCODE_NUMPAD_7 = 151,
KEYCODE_NUMPAD_8 = 152,
KEYCODE_NUMPAD_9 = 153,
KEYCODE_NUMPAD_DIVIDE = 154,
KEYCODE_NUMPAD_MULTIPLY = 155,
KEYCODE_NUMPAD_SUBTRACT = 156,
KEYCODE_NUMPAD_ADD = 157,
KEYCODE_NUMPAD_DOT = 158,
KEYCODE_NUMPAD_COMMA = 159,
KEYCODE_NUMPAD_ENTER = 160,
KEYCODE_NUMPAD_EQUALS = 161,
KEYCODE_NUMPAD_LEFT_PAREN = 162,
KEYCODE_NUMPAD_RIGHT_PAREN = 163,
KEYCODE_VOLUME_MUTE = 164,
KEYCODE_INFO = 165,
KEYCODE_CHANNEL_UP = 166,
KEYCODE_CHANNEL_DOWN = 167,
KEYCODE_ZOOM_IN = 168,
KEYCODE_ZOOM_OUT = 169,
KEYCODE_TV = 170,
KEYCODE_WINDOW = 171,
KEYCODE_GUIDE = 172,
KEYCODE_DVR = 173,
KEYCODE_BOOKMARK = 174,
KEYCODE_CAPTIONS = 175,
KEYCODE_SETTINGS = 176,
KEYCODE_TV_POWER = 177,
KEYCODE_TV_INPUT = 178,
KEYCODE_STB_POWER = 179,
KEYCODE_STB_INPUT = 180,
KEYCODE_AVR_POWER = 181,
KEYCODE_AVR_INPUT = 182,
KEYCODE_PROG_RED = 183,
KEYCODE_PROG_GREEN = 184,
KEYCODE_PROG_YELLOW = 185,
KEYCODE_PROG_BLUE = 186,
KEYCODE_APP_SWITCH = 187,
KEYCODE_BUTTON_1 = 188,
KEYCODE_BUTTON_2 = 189,
KEYCODE_BUTTON_3 = 190,
KEYCODE_BUTTON_4 = 191,
KEYCODE_BUTTON_5 = 192,
KEYCODE_BUTTON_6 = 193,
KEYCODE_BUTTON_7 = 194,
KEYCODE_BUTTON_8 = 195,
KEYCODE_BUTTON_9 = 196,
KEYCODE_BUTTON_10 = 197,
KEYCODE_BUTTON_11 = 198,
KEYCODE_BUTTON_12 = 199,
KEYCODE_BUTTON_13 = 200,
KEYCODE_BUTTON_14 = 201,
KEYCODE_BUTTON_15 = 202,
KEYCODE_BUTTON_16 = 203,
KEYCODE_LANGUAGE_SWITCH = 204,
KEYCODE_MANNER_MODE = 205,
KEYCODE_3D_MODE = 206,
KEYCODE_CONTACTS = 207,
KEYCODE_CALENDAR = 208,
KEYCODE_MUSIC = 209,
KEYCODE_CALCULATOR = 210,
};
#endif
/// key group
enum Group
{
@ -211,6 +436,12 @@ public:
static Code FromString(const Util::String& str);
/// get key codes by group
static Util::Array<InputKey::Code> KeyCodesByGroup(InputKey::Group group);
#ifdef __ANDROID__
/// Translate Android key code to win32
static Code TranslateAndoridToWin32(AndroidKeyCode androidCode);
#endif
private:
static Util::Dictionary<Util::String,Code> dict;
};

View File

@ -23,8 +23,8 @@ THE SOFTWARE.
****************************************************************************/
#if WIN32
#include "input/input_stdneb.h"
#include "graphicsystem/GraphicSystem.h"
#include "input/win32/win32inputwebwindowsource.h"
#include "input/inputserver.h"
@ -97,6 +97,7 @@ namespace Win32Input
//------------------------------------------------------------------------
Win32InputWebWindowSource::Win32InputWebWindowSource()
:mWnd(0)
,mLockWinodwsSize(true)
{
mMousePostion.set(0.0, 0.0);
}
@ -158,8 +159,24 @@ namespace Win32Input
inputEvent.SetType(InputEvent::AppObtainFocus);
mInputEventList.Append(inputEvent);
//XInputEnable(true);
if (mLockWinodwsSize)
{
ReleaseCapture();
}
else
{
int nWidth = LOWORD(lParam); // width of client area
int nHeight = HIWORD(lParam); // height of client area
if(Graphic::GraphicSystem::HasInstance())
{
Graphic::ViewPortWindow* window = Graphic::GraphicSystem::Instance()->GetMainViewPortWindow();
if (window)
{
window->ChangeSize(nWidth, nHeight);
}
}
}
}
// manually change window size in child mode
//if (mWin32Device->parentWindow)

View File

@ -89,6 +89,11 @@ namespace Win32Input
/// compute normalized mouse position from absolute mouse pos
Math::float2 ComputeNormMousePos(const Math::float2& absMousePos) const;
void SetLockWindowSize(bool value);
bool GetLockWindowSize() const;
/// translate a Windows virtual key code into a Nebula3 key code
Input::InputKey::Code TranslateKeyCode(WPARAM wParam) const;
@ -112,22 +117,29 @@ namespace Win32Input
Math::float2 mMousePostion;
HWND mWnd;
bool mLockWinodwsSize;
};
//------------------------------------------------------------------------
inline
void
Win32InputWebWindowSource::SetWnd( HWND hWnd )
inline void Win32InputWebWindowSource::SetWnd( HWND hWnd )
{
mWnd = hWnd;
}
//------------------------------------------------------------------------
inline
HWND
Win32InputWebWindowSource::GetWnd(void) const
inline HWND Win32InputWebWindowSource::GetWnd(void) const
{
return mWnd;
}
inline void Win32InputWebWindowSource::SetLockWindowSize(bool value)
{
mLockWinodwsSize = value;
}
inline bool Win32InputWebWindowSource::GetLockWindowSize() const
{
return mLockWinodwsSize;
}
}

View File

@ -47,6 +47,17 @@ namespace MyGUI
Bottom = MYGUI_FLAG(4), /**< value from the bottom (and center horizontally) */
VStretch = Top | Bottom, /**< stretch vertically proportionate to parent window (and center horizontally) */
ProLeft = MYGUI_FLAG(5),
ProRight = MYGUI_FLAG(6),
ProHStretch = ProLeft | ProRight,
ProTop = MYGUI_FLAG(7),
ProBottom = MYGUI_FLAG(8),
ProVStretch = ProTop | ProBottom,
ProStretch = ProHStretch | ProVStretch,
ProDefault = ProLeft | ProTop,
Stretch = HStretch | VStretch, /**< stretch proportionate to parent window */
Default = Left | Top /**< default value (value from left and top) */
};
@ -58,17 +69,17 @@ namespace MyGUI
bool isHCenter() const
{
return HCenter == (value & ((int)HStretch));
return HCenter == (value & ((int)HStretch)) && HCenter == (value & ((int)ProHStretch));
}
bool isVCenter() const
{
return VCenter == (value & ((int)VStretch));
return VCenter == (value & ((int)VStretch)) && VCenter == (value & ((int)ProVStretch));
}
bool isCenter() const
{
return Center == (value & ((int)Stretch));
return Center == (value & ((int)Stretch)) && Center == (value & ((int)ProStretch));
}
bool isLeft() const
@ -76,41 +87,81 @@ namespace MyGUI
return Left == (value & ((int)HStretch));
}
bool isProLeft() const
{
return ProLeft == (value & ((int)ProHStretch));
}
bool isRight() const
{
return Right == (value & ((int)HStretch));
}
bool isProRight() const
{
return ProRight == (value & ((int)ProHStretch));
}
bool isHStretch() const
{
return HStretch == (value & ((int)HStretch));
}
bool isProHStretch() const
{
return ProHStretch == (value & ((int)ProHStretch));
}
bool isTop() const
{
return Top == (value & ((int)VStretch));
}
bool isProTop() const
{
return ProTop == (value & ((int)ProVStretch));
}
bool isBottom() const
{
return (Bottom == (value & ((int)VStretch)));
}
bool isProBottom() const
{
return (ProBottom == (value & ((int)ProVStretch)));
}
bool isVStretch() const
{
return (VStretch == (value & ((int)VStretch)));
}
bool isProVStretch() const
{
return (ProVStretch == (value & ((int)ProVStretch)));
}
bool isStretch() const
{
return (Stretch == (value & ((int)Stretch)));
}
bool isProStretch() const
{
return (ProStretch == (value & ((int)ProStretch)));
}
bool isDefault() const
{
return (Default == (value & ((int)Stretch)));
}
bool isProDefault() const
{
return (ProDefault == (value & ((int)ProStretch)));
}
Align& operator |= (Align const& _other)
{
value = Enum(int(value) | int(_other.value));
@ -171,6 +222,18 @@ namespace MyGUI
else
result = "HCenter";
if (value & ProLeft)
{
if (value & ProRight)
result = "ProHStretch";
else
result = "ProLeft";
}
else if (value & ProRight)
result = "ProRight";
else
result = "HCenter";
if (value & Top)
{
if (value & Bottom)
@ -183,6 +246,18 @@ namespace MyGUI
else
result += " VCenter";
if (value & ProTop)
{
if (value & ProBottom)
result += " ProVStretch";
else
result += " ProTop";
}
else if (value & ProBottom)
result += " ProBottom";
else
result += " VCenter";
return result;
}
@ -244,6 +319,15 @@ namespace MyGUI
map_names["ALIGN_STRETCH"] = Stretch;
map_names["ALIGN_DEFAULT"] = Default;
map_names["ALIGN_PRO_LEFT"] = ProLeft;
map_names["ALIGN_PRO_RIGHT"] = ProRight;
map_names["ALIGN_PRO_HSTRETCH"] = ProHStretch;
map_names["ALIGN_PRO_TOP"] = ProTop;
map_names["ALIGN_PRO_BOTTOM"] = ProBottom;
map_names["ALIGN_PRO_VSTRETCH"] = ProVStretch;
map_names["ALIGN_PRO_STRETCH"] = ProStretch;
map_names["ALIGN_PRO_DEFAULT"] = ProDefault;
MYGUI_REGISTER_VALUE(map_names, HCenter);
MYGUI_REGISTER_VALUE(map_names, VCenter);
MYGUI_REGISTER_VALUE(map_names, Center);
@ -255,6 +339,15 @@ namespace MyGUI
MYGUI_REGISTER_VALUE(map_names, VStretch);
MYGUI_REGISTER_VALUE(map_names, Stretch);
MYGUI_REGISTER_VALUE(map_names, Default);
MYGUI_REGISTER_VALUE(map_names, ProLeft);
MYGUI_REGISTER_VALUE(map_names, ProRight);
MYGUI_REGISTER_VALUE(map_names, ProHStretch);
MYGUI_REGISTER_VALUE(map_names, ProTop);
MYGUI_REGISTER_VALUE(map_names, ProBottom);
MYGUI_REGISTER_VALUE(map_names, ProVStretch);
MYGUI_REGISTER_VALUE(map_names, ProStretch);
MYGUI_REGISTER_VALUE(map_names, ProDefault);
}
return map_names;

View File

@ -54,6 +54,8 @@ namespace MyGUI
// метод для отрисовки себя
virtual void doRender();
virtual size_t getVertexCount() const;
void setCaption(const UString& _value);
const UString& getCaption() const;
@ -69,8 +71,10 @@ namespace MyGUI
virtual void setFontHeight(int _value);
virtual int getFontHeight() const;
virtual void updateDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void createDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void destroyDrawItem();
virtual void onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new);
virtual void setTextAlign(Align _value);
virtual Align getTextAlign() const;

View File

@ -29,7 +29,7 @@
namespace MyGUI
{
class ISubWidget;
class ILayer;
class ILayerItem;
class ILayerNode;
@ -70,7 +70,9 @@ namespace MyGUI
virtual void detachLayerItem(ILayerItem* _root) = 0;
// добавляет саб айтем и возвращает рендер айтем
virtual RenderItem* addToRenderItem(ITexture* _texture, bool _firstQueue, bool _separate) = 0;
virtual RenderItem* addToRenderItem(ISubWidget* _item, ITexture* _texture, bool _firstQueue, bool _separate) = 0;
virtual RenderItem* updateRenderItem(ISubWidget* _subWidget, RenderItem* _itemOld, ITexture* _texNew, bool _firstQueue, bool _separate) = 0;
// необходимо обновление нода
virtual void outOfDate(RenderItem* _item) = 0;

View File

@ -28,6 +28,10 @@
namespace MyGUI
{
enum IMaterialType{
NORMAL = 0,
GRAY = 1 << 0,
};
class ITexture;
class IVertexBuffer;
@ -41,7 +45,7 @@ namespace MyGUI
virtual void begin() = 0;
virtual void end() = 0;
virtual void doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count) = 0;
virtual void doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count, int _material_type) = 0;
virtual const RenderTargetInfo& getInfo() = 0;
};

View File

@ -46,8 +46,12 @@ namespace MyGUI
ISubWidget() : mVisible(true) { }
virtual ~ISubWidget() { }
virtual void updateDrawItem(ITexture* _texture, ILayerNode* _node) = 0;
virtual void createDrawItem(ITexture* _texture, ILayerNode* _node) = 0;
virtual void destroyDrawItem() = 0;
virtual void onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new) = 0;
virtual size_t getVertexCount() const = 0;
virtual void setAlpha(float _alpha) { }

View File

@ -35,10 +35,14 @@ namespace MyGUI
MYGUI_RTTI_DERIVED( ISubWidgetRect )
public:
ISubWidgetRect() : mGray(false) { }
virtual ~ISubWidgetRect() { }
virtual void _setGray(bool _gray) { }
virtual void _setUVSet(const FloatRect& _rect) { }
virtual void _setColour(const Colour& _value) { }
protected:
bool mGray;
};
} // namespace MyGUI

View File

@ -60,6 +60,7 @@ namespace MyGUI
void restoreLayerItem();
protected:
void updateTexture(ILayerNode* _node, ITexture* _texture);
void attachToLayerItemNode(ILayerNode* _node, bool _deep);
void detachFromLayerItemNode(bool _deep);

View File

@ -66,7 +66,9 @@ namespace MyGUI
virtual void detachLayerItem(ILayerItem* _item);
// добавляет саб айтем и возвращает рендер айтем
virtual RenderItem* addToRenderItem(ITexture* _texture, bool _firstQueue, bool _manualRender);
virtual RenderItem* addToRenderItem(ISubWidget* _subWidget, ITexture* _texture, bool _firstQueue, bool _separate);
virtual RenderItem* updateRenderItem(ISubWidget* _subWidget, RenderItem* _itemOld, ITexture* _texNew, bool _firstQueue, bool _separate);
// необходимо обновление нода
virtual void outOfDate(RenderItem* _item);
@ -82,6 +84,15 @@ namespace MyGUI
protected:
void updateCompression();
RenderItem* getRenderItem(ITexture* _texture, bool _firstQueue, bool _manualRender);
RenderItem* newRenderItem(ITexture* _texture, bool _manualRender);
RenderItem* pushNewRenderItem(VectorRenderItem& _array, ITexture* _texture, bool _manualRender);
VectorRenderItem::iterator insertNewRenderItem(ITexture* _texture, bool _manualRender, const VectorDrawItem& _nodes,
VectorRenderItem& _array, const VectorRenderItem::iterator& _where);
void notifyRenderItemChanged(const VectorDrawItem& _nodes, RenderItem* _old, RenderItem* _new);
protected:
// список двух очередей отрисовки, для сабскинов и текста

View File

@ -39,6 +39,8 @@ namespace MyGUI
PolygonalSkin();
virtual ~PolygonalSkin();
virtual size_t getVertexCount() const;
/** Set line points. */
void setPoints(const std::vector<FloatPoint>& _points);
@ -51,8 +53,10 @@ namespace MyGUI
virtual void setStateData(IStateInfo* _data);
virtual void updateDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void createDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void destroyDrawItem();
virtual void onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new);
// метод для отрисовки себя
virtual void doRender();
@ -65,6 +69,7 @@ namespace MyGUI
virtual void _setUVSet(const FloatRect& _rect);
virtual void _setColour(const Colour& _value);
virtual void _setGray(bool _gray);
protected:
void _rebuildGeometry();

View File

@ -37,7 +37,7 @@ namespace MyGUI
class MYGUI_EXPORT RenderItem
{
public:
RenderItem();
RenderItem(ILayerNode* _owner);
virtual ~RenderItem();
void renderToTarget(IRenderTarget* _target, bool _update);
@ -49,12 +49,16 @@ namespace MyGUI
bool getManualRender() const;
void addDrawItem(ISubWidget* _item, size_t _count);
void insertDrawItem(size_t index, ISubWidget* _item, size_t _count);
void removeDrawItem(ISubWidget* _item);
void clearDrawItems();// expand by genesis-3d
void reallockDrawItem(ISubWidget* _item, size_t _count);
void breakDrawItems(ISubWidget* _break, VectorDrawItem& _fronts, VectorDrawItem& _tails); // expand by genesis-3d
void outOfDate();
bool isOutOfDate() const;
size_t getDrawItemCount() const;
size_t getNeedVertexCount() const;
size_t getVertexCount() const;
@ -67,6 +71,12 @@ namespace MyGUI
bool getCompression();
void setMaterialType(IMaterialType _type);
private:
#if MYGUI_DEBUG_MODE == 1
std::string mTextureName;
@ -89,10 +99,19 @@ namespace MyGUI
IVertexBuffer* mVertexBuffer;
IRenderTarget* mRenderTarget;
ILayerNode* mLayerNode; // expand by genesis-3d
bool mCompression;
bool mManualRender;
int mMaterialType;
};
inline size_t RenderItem::getDrawItemCount() const
{
return mDrawItems.size();
}
} // namespace MyGUI
#endif // __MYGUI_RENDER_ITEM_H__

View File

@ -39,6 +39,8 @@ namespace MyGUI
RotatingSkin();
virtual ~RotatingSkin();
size_t getVertexCount() const;
/** Set angle of rotation in radians */
void setAngle(float _angle);
/** Get angle of rotation in radians */
@ -57,8 +59,10 @@ namespace MyGUI
virtual void setStateData(IStateInfo* _data);
virtual void updateDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void createDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void destroyDrawItem();
virtual void onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new);
// метод для отрисовки себя
virtual void doRender();
@ -71,6 +75,7 @@ namespace MyGUI
virtual void _setUVSet(const FloatRect& _rect);
virtual void _setColour(const Colour& _value);
virtual void _setGray(bool _gray);
protected:
void _rebuildGeometry();

View File

@ -52,6 +52,7 @@ namespace MyGUI
void _setSkinItemAlign(const IntSize& _size);
void _setSkinItemVisible(bool _value);
void _setSkinItemColour(const Colour& _value);
void _setSkinItemGray(bool _value);
void _setSkinItemAlpha(float _value);
void _correctSkinItemView();
void _updateSkinItemView();

View File

@ -44,14 +44,18 @@ namespace MyGUI
SubSkin();
virtual ~SubSkin();
virtual size_t getVertexCount() const;
virtual void setAlpha(float _alpha);
virtual void setVisible(bool _visible);
virtual void setStateData(IStateInfo* _data);
virtual void updateDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void createDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void destroyDrawItem();
virtual void onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new);
// метод для отрисовки себя
virtual void doRender();
@ -64,6 +68,7 @@ namespace MyGUI
virtual void _setUVSet(const FloatRect& _rect);
virtual void _setColour(const Colour& _value);
virtual void _setGray(bool _gray);
protected:
FloatRect mRectTexture;

View File

@ -43,12 +43,16 @@ namespace MyGUI
TileRect();
virtual ~TileRect();
virtual size_t getVertexCount() const;
virtual void setAlpha(float _alpha);
virtual void setVisible(bool _visible);
virtual void updateDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void createDrawItem(ITexture* _texture, ILayerNode* _node);
virtual void destroyDrawItem();
virtual void onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new);
// метод для отрисовки себя
virtual void doRender();
@ -63,6 +67,7 @@ namespace MyGUI
virtual void _setUVSet(const FloatRect& _rect);
virtual void _setColour(const Colour& _value);
virtual void _setGray(bool _gray);
protected:
bool mEmptyView;

View File

@ -185,6 +185,8 @@ namespace MyGUI
void setColour(const Colour& _value);
void setGray(bool _gray);
// являемся ли мы рутовым виджетом
/** Is this widget is root widget (root == without parents) */
bool isRootWidget() const;
@ -409,6 +411,8 @@ namespace MyGUI
Align mAlign;
bool mVisible;
FloatCoord mFloatCoord;
};
} // namespace MyGUI

View File

@ -303,13 +303,17 @@ namespace MyGUI
// если есть текстура, то приаттачиваемся
if (nullptr != mTexture && nullptr != mNode)
{
mRenderItem = mNode->addToRenderItem(mTexture, false, false);
mRenderItem->addDrawItem(this, mCountVertex);
mRenderItem = mNode->addToRenderItem(this, mTexture, false, false);
}
if (nullptr != mNode) mNode->outOfDate(mRenderItem);
}
size_t EditText::getVertexCount() const
{
return mCountVertex;
}
const std::string& EditText::getFontName() const
{
return mFont->getResourceName();
@ -337,8 +341,20 @@ namespace MyGUI
{
MYGUI_ASSERT(!mRenderItem, "mRenderItem must be nullptr");
mRenderItem = mNode->addToRenderItem(mTexture, false, false);
mRenderItem->addDrawItem(this, mCountVertex);
mRenderItem = mNode->addToRenderItem(this, mTexture, false, false);
//mRenderItem->addDrawItem(this, mCountVertex);
}
}
void EditText::updateDrawItem(ITexture* _texture, ILayerNode* _node)
{
mNode = _node;
if (nullptr != mTexture)
{
MYGUI_ASSERT(mRenderItem, "mRenderItem must not be nullptr");
mRenderItem = mNode->updateRenderItem(this, mRenderItem, mTexture, false, false);
//mRenderItem->addDrawItem(this, mCountVertex);
}
}
@ -352,6 +368,14 @@ namespace MyGUI
mNode = nullptr;
}
void EditText::onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new)
{
if (mNode == _sender && nullptr != mTexture)
{
mRenderItem = _new;
}
}
size_t EditText::getTextSelectionStart() const
{
return mStartSelect;
@ -648,6 +672,8 @@ namespace MyGUI
// колличество реально отрисованных вершин
mRenderItem->setLastVertexCount(vertexCount);
mRenderItem->setMaterialType(MyGUI::NORMAL);
}
void EditText::setInvertSelected(bool _value)

View File

@ -89,9 +89,11 @@ namespace MyGUI
if (mLayerNode)
{
ILayerNode* node = mLayerNode;
// позже сделать детач без текста
detachFromLayerItemNode(false);
attachToLayerItemNode(node, false);
//// позже сделать детач без текста
//detachFromLayerItemNode(false);
//attachToLayerItemNode(node, false);
updateTexture(node, _texture);
}
}
@ -145,6 +147,14 @@ namespace MyGUI
if (mLayerNode) mLayerNode->getLayer()->upChildItemNode(mLayerNode);
}
void LayerItem::updateTexture(ILayerNode* _node, ITexture* _texture)
{
for (VectorSubWidget::iterator skin = mDrawItems.begin(); skin != mDrawItems.end(); ++skin)
{
(*skin)->updateDrawItem(mTexture, _node);
}
}
void LayerItem::attachToLayerItemNode(ILayerNode* _item, bool _deep)
{
MYGUI_DEBUG_ASSERT(nullptr != _item, "attached item must be valid");

View File

@ -154,40 +154,133 @@ namespace MyGUI
return nullptr;
}
RenderItem* LayerNode::addToRenderItem(ITexture* _texture, bool _firstQueue, bool _manualRender)
RenderItem* LayerNode::addToRenderItem(ISubWidget* _subWidget, ITexture* _texture, bool _firstQueue, bool _separate)
{
RenderItem* item = getRenderItem(_texture, _firstQueue, _separate);
item->addDrawItem(_subWidget, _subWidget->getVertexCount());
return item;
}
RenderItem* LayerNode::updateRenderItem(ISubWidget* _subWidget, RenderItem* _itemOld, ITexture* _texNew, bool _firstQueue, bool _separate)
{
if (_itemOld == nullptr)
{
return addToRenderItem(_subWidget, _texNew, _firstQueue, _separate);
}
bool separateOld = _itemOld->getManualRender();
// check in first array.
VectorRenderItem::iterator itOld = std::find(mFirstRenderItems.begin(), mFirstRenderItems.end(), _itemOld);
if (itOld != mFirstRenderItems.end())
{
ITexture* _texOld = _itemOld->getTexture();
if (_texOld == _texNew && separateOld == _separate)
{
return _itemOld;
}
else
{
// break render item.
VectorDrawItem frontDrawItems;
VectorDrawItem tailDrawItems;
(*itOld)->breakDrawItems(_subWidget, frontDrawItems, tailDrawItems);
// front
if (frontDrawItems.size())
{
itOld = insertNewRenderItem(_texOld, separateOld, frontDrawItems, mFirstRenderItems, itOld);
RenderItem* itemFront = *itOld;
++itOld; //roll back to insert node,
notifyRenderItemChanged(frontDrawItems, _itemOld, itemFront);
}
//tail
if (tailDrawItems.size())
{
itOld = insertNewRenderItem(_texOld, separateOld, tailDrawItems, mFirstRenderItems, itOld + 1);
RenderItem* itemTail = *itOld;
--itOld;//roll back to insert node,
notifyRenderItemChanged(tailDrawItems, _itemOld, itemTail);
}
// middle
mOutOfDate = false;
if (0 == frontDrawItems.size())
{
if (*itOld != mFirstRenderItems.front())
{
// try combine vertices.
VectorRenderItem::iterator preItem = itOld - 1;
if ((*preItem)->getTexture() == _texNew && (((*preItem)->getManualRender() || _separate) == false) ) // manual render cannot combine vertices
{
(*preItem)->addDrawItem(_subWidget, _subWidget->getVertexCount());
_subWidget->onRenderItemChanged(this, _itemOld, *preItem);
(*itOld)->clearDrawItems();
return *preItem;
}
}
}
if (0 == tailDrawItems.size())
{
if (*itOld != mFirstRenderItems.back())
{
// try combine vertices.
VectorRenderItem::iterator nextItem = itOld + 1;
if ((*nextItem)->getTexture() == _texNew && ((*nextItem)->getManualRender() || _separate == false) ) // manual render cannot combine vertices.
{
(*nextItem)->insertDrawItem(0, _subWidget, _subWidget->getVertexCount());
_subWidget->onRenderItemChanged(this, _itemOld, *nextItem);
(*itOld)->clearDrawItems();
return *nextItem;
}
}
}
(*itOld)->clearDrawItems();
(*itOld)->setManualRender(_separate);
(*itOld)->setTexture(_texNew);
(*itOld)->addDrawItem(_subWidget, _subWidget->getVertexCount());
return *itOld;
}
}
// check in second array.
_itemOld->removeDrawItem(_subWidget);
return addToRenderItem(_subWidget, _texNew, _firstQueue, _separate);
}
RenderItem* LayerNode::getRenderItem(ITexture* _texture, bool _firstQueue, bool _manualRender)
{
// для первичной очереди нужен порядок
if (_firstQueue)
{
if (mFirstRenderItems.empty() || _manualRender)
{
// создаем новый буфер
RenderItem* item = new RenderItem();
item->setTexture(_texture);
item->setManualRender(_manualRender);
mFirstRenderItems.push_back(item);
mOutOfDate = false;
return item;
return pushNewRenderItem(mFirstRenderItems, _texture, _manualRender);
}
// find first empty element.
// если в конце пустой буфер, то нуна найти последний пустой с краю
// либо с нужной текстурой за пустым
VectorRenderItem::reverse_iterator iter = mFirstRenderItems.rbegin();
if ((*iter)->getNeedVertexCount() == 0)
if ((*iter)->getDrawItemCount() == 0)
{
while (true)
{
VectorRenderItem::reverse_iterator next = iter + 1;
if (next != mFirstRenderItems.rend())
{
if ((*next)->getNeedVertexCount() == 0)
if ((*next)->getDrawItemCount() == 0)
{
iter = next;
continue;
}
else if ((*next)->getTexture() == _texture)
else if ((*next)->getTexture() == _texture && (!(*iter)->getManualRender()) )
{
iter = next;
}
@ -197,59 +290,100 @@ namespace MyGUI
}
(*iter)->setTexture(_texture);
(*iter)->setManualRender(_manualRender);
mOutOfDate = false;
return (*iter);
}
// последний буфер с нужной текстурой
else if ((*iter)->getTexture() == _texture)
else if ( (*iter)->getTexture() == _texture && (!(*iter)->getManualRender()) )
{
mOutOfDate = false;
return *iter;
}
// создаем новый буфер
RenderItem* item = new RenderItem();
item->setTexture(_texture);
item->setManualRender(_manualRender);
mFirstRenderItems.push_back(item);
mOutOfDate = false;
return item;
return pushNewRenderItem(mFirstRenderItems, _texture, _manualRender);
}
// для второй очереди порядок неважен
for (VectorRenderItem::iterator iter = mSecondRenderItems.begin(); iter != mSecondRenderItems.end(); ++iter)
{
// либо такая же текстура, либо пустой буфер
if ((*iter)->getTexture() == _texture)
if ( (*iter)->getTexture() == _texture && (!(*iter)->getManualRender()) )
{
mOutOfDate = false;
return (*iter);
}
else if ((*iter)->getNeedVertexCount() == 0)
else if ((*iter)->getDrawItemCount() == 0)
{
(*iter)->setTexture(_texture);
(*iter)->setManualRender(_manualRender);
mOutOfDate = false;
return (*iter);
}
}
// не найденно создадим новый
RenderItem* item = new RenderItem();
return pushNewRenderItem(mSecondRenderItems, _texture, _manualRender);
}
RenderItem* LayerNode::newRenderItem(ITexture* _texture, bool _manualRender)
{
RenderItem* item = new RenderItem(this);
item->setTexture(_texture);
item->setManualRender(_manualRender);
return item;
}
mSecondRenderItems.push_back(item);
VectorRenderItem::iterator LayerNode::insertNewRenderItem(ITexture* _texture, bool _manualRender, const VectorDrawItem& _nodes,
VectorRenderItem& _array, const VectorRenderItem::iterator& _where)
{
RenderItem* _item = nullptr;
if (_array.size())
{
if (_array.back()->getDrawItemCount() == 0)
{
_item = _array.back();
_array.pop_back();
_item->setManualRender(_manualRender);
_item->setTexture(_texture);
}
}
if (nullptr == _item)
{
_item = newRenderItem(_texture, _manualRender);
}
VectorDrawItem::const_iterator itf = _nodes.begin();
VectorDrawItem::const_iterator endf = _nodes.end();
while(itf != endf)
{
_item->addDrawItem(itf->first, itf->second);
++itf;
}
return _array.insert(_where, _item);
}
RenderItem* LayerNode::pushNewRenderItem(VectorRenderItem& _array, ITexture* _texture, bool _manualRender)
{
RenderItem* item = newRenderItem(_texture, _manualRender);
mOutOfDate = false;
_array.push_back(item);
return _array.back();
}
return mSecondRenderItems.back();
void LayerNode::notifyRenderItemChanged(const VectorDrawItem& _nodes, RenderItem* _old, RenderItem* _new)
{
VectorDrawItem::const_iterator itt = _nodes.begin();
VectorDrawItem::const_iterator endt = _nodes.end();
while(itt != endt)
{
itt->first->onRenderItemChanged(this, _old, _new);
++itt;
}
}
void LayerNode::attachLayerItem(ILayerItem* _item)
@ -298,7 +432,7 @@ namespace MyGUI
VectorRenderItem::iterator iter2 = iter1 + 1;
while (iter2 != mFirstRenderItems.end())
{
if ((*iter1)->getNeedVertexCount() == 0 && !(*iter1)->getManualRender())
if ((*iter1)->getDrawItemCount() == 0)//(*iter1)->getNeedVertexCount() == 0 && !(*iter1)->getManualRender())
{
RenderItem* tmp = (*iter1);
(*iter1) = (*iter2);

View File

@ -226,13 +226,27 @@ namespace MyGUI
mNode->outOfDate(mRenderItem);
}
size_t PolygonalSkin::getVertexCount() const
{
return mVertexCount;
}
void PolygonalSkin::createDrawItem(ITexture* _texture, ILayerNode* _node)
{
MYGUI_ASSERT(!mRenderItem, "mRenderItem must be nullptr");
mNode = _node;
mRenderItem = mNode->addToRenderItem(_texture, true, false);
mRenderItem->addDrawItem(this, mVertexCount);
mRenderItem = mNode->addToRenderItem(this, _texture, true, false);
//mRenderItem->addDrawItem(this, mVertexCount);
}
void PolygonalSkin::updateDrawItem(ITexture* _texture, ILayerNode* _node)
{
MYGUI_ASSERT(mRenderItem, "mRenderItem must not be nullptr");
mNode = _node;
mRenderItem = mNode->updateRenderItem(this, mRenderItem, _texture, true, false);
//mRenderItem->addDrawItem(this, mVertexCount);
}
void PolygonalSkin::destroyDrawItem()
@ -244,6 +258,14 @@ namespace MyGUI
mRenderItem = nullptr;
}
void PolygonalSkin::onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new)
{
if (mNode == _sender)
{
mRenderItem = _new;
}
}
void PolygonalSkin::doRender()
{
if ((!mVisible) || mEmptyView)
@ -262,12 +284,26 @@ namespace MyGUI
size_t size = mResultVerticiesPos.size();
IMaterialType type = mGray ? MyGUI::GRAY : MyGUI::NORMAL;
for (size_t i = 0; i < size; ++i)
{
verticies[i].set(mResultVerticiesPos[i].left, mResultVerticiesPos[i].top, vertex_z, mResultVerticiesUV[i].left, mResultVerticiesUV[i].top, mCurrentColour);
}
mRenderItem->setLastVertexCount(size);
mRenderItem->setMaterialType(type);
}
void PolygonalSkin::_setGray(bool _gray)
{
if (mGray == _gray)
return;
mGray = _gray;
if (nullptr != mNode)
mNode->outOfDate(mRenderItem);
}
void PolygonalSkin::_setColour(const Colour& _value)

View File

@ -31,7 +31,7 @@
namespace MyGUI
{
RenderItem::RenderItem() :
RenderItem::RenderItem(ILayerNode* _owner) :
mTexture(nullptr),
mNeedVertexCount(0),
mOutOfDate(false),
@ -42,7 +42,9 @@ namespace MyGUI
mVertexBuffer(nullptr),
mRenderTarget(nullptr),
mCompression(false),
mManualRender(false)
mManualRender(false),
mLayerNode(_owner),
mMaterialType(MyGUI::NORMAL)
{
mVertexBuffer = RenderManager::getInstance().createVertexBuffer();
}
@ -105,7 +107,7 @@ namespace MyGUI
}
else
{
_target->doRender(mVertexBuffer, mTexture, mCountVertex);
_target->doRender(mVertexBuffer, mTexture, mCountVertex,mMaterialType);
}
}
}
@ -135,6 +137,17 @@ namespace MyGUI
MYGUI_EXCEPT("DrawItem not found");
}
void RenderItem::clearDrawItems()
{
mNeedVertexCount =0;
mDrawItems.clear();
mOutOfDate = true;
mVertexBuffer->setVertexCount(mNeedVertexCount);
mTexture = nullptr;
mCompression = true;
}
void RenderItem::addDrawItem(ISubWidget* _item, size_t _count)
{
@ -153,6 +166,22 @@ namespace MyGUI
mVertexBuffer->setVertexCount(mNeedVertexCount);
}
void RenderItem::insertDrawItem(size_t index, ISubWidget* _item, size_t _count)
{
// проверяем только в дебаге
#if MYGUI_DEBUG_MODE == 1
for (VectorDrawItem::iterator iter = mDrawItems.begin(); iter != mDrawItems.end(); ++iter)
{
MYGUI_ASSERT((*iter).first != _item, "DrawItem exist");
}
#endif
mDrawItems.insert(mDrawItems.begin() + index, DrawItemInfo(_item, _count));
mNeedVertexCount += _count;
mOutOfDate = true;
mVertexBuffer->setVertexCount(mNeedVertexCount);
}
void RenderItem::reallockDrawItem(ISubWidget* _item, size_t _count)
{
for (VectorDrawItem::iterator iter = mDrawItems.begin(); iter != mDrawItems.end(); ++iter)
@ -175,6 +204,30 @@ namespace MyGUI
MYGUI_EXCEPT("DrawItem not found");
}
void RenderItem::breakDrawItems(ISubWidget* _break, VectorDrawItem& _fronts, VectorDrawItem& _tails)
{
VectorDrawItem::const_iterator it = mDrawItems.begin();
while(it != mDrawItems.end())
{
if (it->first != _break)
{
_fronts.push_back(*it);
}
else
{
++it;
break;
}
++it;
}
while(it != mDrawItems.end())
{
_tails.push_back(*it);
++it;
}
}
void RenderItem::setTexture(ITexture* _value)
{
if (mTexture == _value)
@ -252,4 +305,14 @@ namespace MyGUI
return mRenderTarget;
}
void RenderItem::setMaterialType(IMaterialType _type)
{
if(mMaterialType == _type)
{
return;
}
mMaterialType = mMaterialType | _type;
}
} // namespace MyGUI

View File

@ -159,13 +159,34 @@ namespace MyGUI
mNode->outOfDate(mRenderItem);
}
size_t RotatingSkin::getVertexCount() const
{
return (GEOMETRY_VERTICIES_TOTAL_COUNT - 2) * 3;
}
void RotatingSkin::onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new)
{
if (mNode == _sender)
{
mRenderItem = _new;
}
}
void RotatingSkin::createDrawItem(ITexture* _texture, ILayerNode* _node)
{
MYGUI_ASSERT(!mRenderItem, "mRenderItem must be nullptr");
mNode = _node;
mRenderItem = mNode->addToRenderItem(_texture, true, false);
mRenderItem->addDrawItem(this, (GEOMETRY_VERTICIES_TOTAL_COUNT - 2) * 3);
mRenderItem = mNode->addToRenderItem(this, _texture, true, false);
//mRenderItem->addDrawItem(this, (GEOMETRY_VERTICIES_TOTAL_COUNT - 2) * 3);
}
void RotatingSkin::updateDrawItem(ITexture* _texture, ILayerNode* _node)
{
MYGUI_ASSERT(mRenderItem, "mRenderItem must not be nullptr");
mNode = _node;
mRenderItem = mNode->updateRenderItem(this, mRenderItem, _texture, true, false);
}
void RotatingSkin::destroyDrawItem()
@ -194,6 +215,7 @@ namespace MyGUI
mGeometryOutdated = false;
}
IMaterialType type = mGray ? MyGUI::GRAY : MyGUI::NORMAL;
for (int i = 1; i < GEOMETRY_VERTICIES_TOTAL_COUNT - 1; ++i)
{
verticies[3 * i - 3].set(mResultVerticiesPos[0].left, mResultVerticiesPos[0].top, vertex_z, mResultVerticiesUV[0].left, mResultVerticiesUV[0].top, mCurrentColour);
@ -202,6 +224,19 @@ namespace MyGUI
}
mRenderItem->setLastVertexCount((GEOMETRY_VERTICIES_TOTAL_COUNT - 2) * 3);
mRenderItem->setMaterialType(type);
}
void RotatingSkin::_setGray(bool _gray)
{
if (mGray == _gray)
return;
mGray = _gray;
if (nullptr != mNode)
mNode->outOfDate(mRenderItem);
}
void RotatingSkin::_setColour(const Colour& _value)

View File

@ -48,6 +48,16 @@ namespace MyGUI
(*skin)->setVisible(_value);
}
void SkinItem::_setSkinItemGray(bool _value)
{
for (VectorSubWidget::iterator skin = mSubSkinChild.begin(); skin != mSubSkinChild.end(); ++skin)
{
ISubWidgetRect* rect = (*skin)->castType<ISubWidgetRect>(false);
if (rect)
rect->_setGray(_value);
}
}
void SkinItem::_setSkinItemColour(const Colour& _value)
{
for (VectorSubWidget::iterator skin = mSubSkinChild.begin(); skin != mSubSkinChild.end(); ++skin)

View File

@ -186,13 +186,35 @@ namespace MyGUI
if (nullptr != mNode) mNode->outOfDate(mRenderItem);
}
size_t SubSkin::getVertexCount() const
{
return VertexQuad::VertexCount;
}
void SubSkin::onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new)
{
if (mNode == _sender)
{
mRenderItem = _new;
}
}
void SubSkin::createDrawItem(ITexture* _texture, ILayerNode* _node)
{
MYGUI_ASSERT(!mRenderItem, "mRenderItem must be nullptr");
mNode = _node;
mRenderItem = mNode->addToRenderItem(_texture, true, mSeparate);
mRenderItem->addDrawItem(this, VertexQuad::VertexCount);
mRenderItem = mNode->addToRenderItem(this, _texture, true, mSeparate);
//mRenderItem->addDrawItem(this, VertexQuad::VertexCount);
}
void SubSkin::updateDrawItem(ITexture* _texture, ILayerNode* _node)
{
MYGUI_ASSERT(mRenderItem, "mRenderItem must not be nullptr");
mNode = _node;
mRenderItem = mNode->updateRenderItem(this, mRenderItem, _texture, true, mSeparate);
//mRenderItem->addDrawItem(this, VertexQuad::VertexCount);
}
void SubSkin::destroyDrawItem()
@ -251,6 +273,7 @@ namespace MyGUI
float vertex_right = vertex_left + (info.pixScaleX * (float)mCurrentCoord.width * 2);
float vertex_top = -(((info.pixScaleY * (float)(mCurrentCoord.top + mCroppedParent->getAbsoluteTop() - info.topOffset) + info.vOffset) * 2) - 1);
float vertex_bottom = vertex_top - (info.pixScaleY * (float)mCurrentCoord.height * 2);
IMaterialType type = mGray ? MyGUI::GRAY : MyGUI::NORMAL;
quad->set(
vertex_left,
@ -266,6 +289,19 @@ namespace MyGUI
);
mRenderItem->setLastVertexCount(VertexQuad::VertexCount);
mRenderItem->setMaterialType(type);
}
void SubSkin::_setGray(bool _gray)
{
if (mGray == _gray)
return;
mGray = _gray;
if (nullptr != mNode)
mNode->outOfDate(mRenderItem);
}
void SubSkin::_setColour(const Colour& _value)

View File

@ -224,6 +224,7 @@ namespace MyGUI
float right = window_left;
float top = window_top;
float bottom = window_top;
IMaterialType type = mGray ? MyGUI::GRAY : MyGUI::NORMAL;
for (int y = 0; y < mCoord.height; y += mTileSize.height)
{
@ -334,6 +335,25 @@ namespace MyGUI
}
mRenderItem->setLastVertexCount(VertexQuad::VertexCount * count);
mRenderItem->setMaterialType(type);
}
void TileRect::onRenderItemChanged(ILayerNode* _sender, RenderItem* _old, RenderItem* _new)
{
if (mNode == _sender)
{
mRenderItem = _new;
}
}
void TileRect::updateDrawItem(ITexture* _texture, ILayerNode* _node)
{
MYGUI_ASSERT(mRenderItem, "mRenderItem must not be nullptr");
mNode = _node;
mRenderItem = mNode->updateRenderItem(this, mRenderItem, _texture, true, false);
//mRenderItem->addDrawItem(this, mCountVertex);
}
void TileRect::createDrawItem(ITexture* _texture, ILayerNode* _node)
@ -341,8 +361,13 @@ namespace MyGUI
MYGUI_ASSERT(!mRenderItem, "mRenderItem must be nullptr");
mNode = _node;
mRenderItem = mNode->addToRenderItem(_texture, true, false);
mRenderItem->addDrawItem(this, mCountVertex);
mRenderItem = mNode->addToRenderItem(this, _texture, true, false);
//mRenderItem->addDrawItem(this, mCountVertex);
}
size_t TileRect::getVertexCount() const
{
return mCountVertex;
}
void TileRect::destroyDrawItem()
@ -364,6 +389,17 @@ namespace MyGUI
_setUVSet(data->getRect());
}
void TileRect::_setGray(bool _gray)
{
if (mGray == _gray)
return;
mGray = _gray;
if (nullptr != mNode)
mNode->outOfDate(mRenderItem);
}
void TileRect::_setColour(const Colour& _value)
{
uint32 colour = texture_utility::toColourARGB(_value);

View File

@ -74,6 +74,7 @@ namespace MyGUI
skinInfo = SkinManager::getInstance().getByName(_skinName);
mCoord = _coord;
mFloatCoord = _coord;
mAlign = Align::Default;
mWidgetStyle = _style;
@ -580,47 +581,99 @@ namespace MyGUI
bool need_move = false;
bool need_size = false;
IntCoord coord = mCoord;
FloatCoord fcoord = mFloatCoord;
// первоначальное выравнивание
if (mAlign.isHStretch())
{
// растягиваем
coord.width = mCoord.width + (size.width - _oldsize.width);
fcoord.width = mFloatCoord.width + (float)(size.width - _oldsize.width);
need_size = true;
}
else if (mAlign.isRight())
{
// двигаем по правому краю
coord.left = mCoord.left + (size.width - _oldsize.width);
fcoord.left = mFloatCoord.left + (float)(size.width - _oldsize.width);
need_move = true;
}
else if (mAlign.isHCenter())
{
// выравнивание по горизонтали без растяжения
coord.left = (size.width - mCoord.width) / 2;
fcoord.left = ((float)size.width - mFloatCoord.width) / 2.f;
need_move = true;
}
if (mAlign.isProHStretch())
{
float Delt = ((float)size.width * fcoord.left)/(float)_oldsize.width;
fcoord.left = Delt;
Delt = ((float)size.width * fcoord.width)/(float)_oldsize.width;
fcoord.width = Delt;
need_size = true;
need_move = true;
}
else if (mAlign.isProRight())
{
float Delt = ((float)size.width * ((float)_oldsize.width - fcoord.right()))/(float)_oldsize.width;
float newRight = (float)size.width - Delt;
fcoord.left = newRight - mFloatCoord.width;
need_move = true;
}
else if (mAlign.isProLeft())
{
float Delt = ((float)size.width * fcoord.left)/(float)_oldsize.width;
fcoord.left = Delt;
need_move = true;
}
if (mAlign.isVStretch())
{
// растягиваем
coord.height = mCoord.height + (size.height - _oldsize.height);
fcoord.height = mFloatCoord.height + (float)(size.height - _oldsize.height);
need_size = true;
}
else if (mAlign.isBottom())
{
// двигаем по нижнему краю
coord.top = mCoord.top + (size.height - _oldsize.height);
fcoord.top = mFloatCoord.top + (float)(size.height - _oldsize.height);
need_move = true;
}
else if (mAlign.isVCenter())
{
// выравнивание по вертикали без растяжения
coord.top = (size.height - mCoord.height) / 2;
fcoord.top = ((float)size.height - mFloatCoord.height) / 2.f;
need_move = true;
}
if (mAlign.isProVStretch())
{
float Delt = (float)(size.height * fcoord.top)/(float)_oldsize.height;
fcoord.top = Delt;
Delt = (float)(size.height * fcoord.height)/(float)_oldsize.height;
fcoord.height = Delt;
need_size = true;
need_move = true;
}
else if (mAlign.isProBottom())
{
float Delt = ((float)size.height * ((float)_oldsize.height - fcoord.bottom()))/(float)_oldsize.height;
float newBottom = (float)size.height - Delt;
fcoord.top = newBottom - mFloatCoord.height;
need_move = true;
}
else if (mAlign.isProTop())
{
float Delt = ((float)size.height * fcoord.top)/(float)_oldsize.height;
fcoord.top = Delt;
need_move = true;
}
IntCoord coord;
coord.left = fcoord.left;
coord.top = fcoord.top;
coord.width = fcoord.width;
coord.height = fcoord.height;
if (need_move)
{
if (need_size)
@ -636,6 +689,8 @@ namespace MyGUI
{
_updateView(); // только если не вызвано передвижение и сайз
}
mFloatCoord = fcoord;
}
void Widget::setPosition(const IntPoint& _point)
@ -649,6 +704,8 @@ namespace MyGUI
(*widget)->_updateAbsolutePoint();
mCoord = _point;
mFloatCoord.left = _point.left;
mFloatCoord.top = _point.top;
_updateView();
}
@ -658,6 +715,8 @@ namespace MyGUI
// устанавливаем новую координату а старую пускаем в расчеты
IntSize old = mCoord.size();
mCoord = _size;
mFloatCoord.width = _size.width;
mFloatCoord.height = _size.height;
bool visible = true;
@ -701,6 +760,7 @@ namespace MyGUI
// устанавливаем новую координату а старую пускаем в расчеты
IntCoord old = mCoord;
mCoord = _coord;
mFloatCoord = _coord;
bool visible = true;
@ -1012,6 +1072,14 @@ namespace MyGUI
InputManager::getInstance().unlinkWidget(this);
}
void Widget::setGray(bool _gray)
{
_setSkinItemGray(_gray);
for (VectorWidgetPtr::iterator widget = mWidgetChildSkin.begin(); widget != mWidgetChildSkin.end(); ++widget)
(*widget)->setGray(_gray);
}
void Widget::setColour(const Colour& _value)
{
_setSkinItemColour(_value);

View File

@ -34,11 +34,21 @@ THE SOFTWARE.
#include "foundation/util/string.h"
namespace MyGUI
{
class GenesisGuiGlobal
{
public:
typedef std::vector<std::string> MediaLocations;
static void pushMediaLocation(const std::string& path);
static const MediaLocations& getMediaLocations();
private:
static GenesisGuiGlobal::MediaLocations _mediaLocations;
};
class GenesisDataManager :
public DataManager
{
public:
typedef std::vector<std::string> MediaLocations;
GenesisDataManager();
void initialise(const std::string& _group);
@ -52,7 +62,7 @@ namespace MyGUI
{
return static_cast<GenesisDataManager*>(DataManager::getInstancePtr());
}
void SetResourcePath(const Util::String& path);
const std::string& getGroup() const
{
return mGroup;
@ -74,10 +84,10 @@ namespace MyGUI
const VectorString& getDataListNames(const std::string& _pattern, bool _fullpath);
private:
IDataStream* getDataStream(const std::string& _url);
std::string mGroup;
bool mAllGroups;
bool mIsInitialise;
Util::String m_srcPath;
};
} // namespace MyGUI

View File

@ -46,7 +46,7 @@ namespace MyGUI
virtual void begin();
virtual void end();
virtual void doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count);
virtual void doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count,int _material_type);
virtual const RenderTargetInfo& getInfo()
{
@ -57,12 +57,13 @@ namespace MyGUI
private:
RenderTargetInfo mRenderTargetInfo;
GPtr<Graphic::RenderToTexture> m_rtt;
GPtr<Graphic::RenderToTexture> mRtt;
RenderBase::RenderTargetHandle mSaveRT;
};
inline const GPtr<Graphic::RenderToTexture>& GenesisRTTexture::getRenderToTexture() const
{
return m_rtt;
return mRtt;
}
} // namespace MyGUI

View File

@ -34,9 +34,9 @@ THE SOFTWARE.
#include "MyGUI_RenderManager.h"
namespace Graphic
namespace Resources
{
class Material;
class MaterialResInfo;
}
namespace MyGUI
@ -84,7 +84,7 @@ namespace MyGUI
virtual void end();
/** @see IRenderTarget::doRender */
virtual void doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count);
virtual void doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count, int _material_type = (int)MyGUI::NORMAL);
/** @see IRenderTarget::getInfo */
virtual const RenderTargetInfo& getInfo();
@ -110,7 +110,7 @@ namespace MyGUI
size_t getBatchCount() const;
static void SetResourcePath(const Util::String& path);
Resources::MaterialResInfo* getMaterial() const;
void outofDate();
@ -136,24 +136,21 @@ namespace MyGUI
private:
friend class GenesisRTTexture;
void _loadShader();
void _checkShader();
bool _loadShader(std::string& _name);
//void _checkShader();
void _beforeDraw();
GPtr<Graphic::Material> m_shader;
void SetMaterialByType(int _type);
GPtr<Resources::MaterialResInfo> m_shader;
RenderBase::GPUProgramHandle* m_shaderHandle;
static Util::String s_resourcePath;
GenesisVertexBufferMgr* m_VertexMgr;
GenesisTextureMgr* m_TextureMgr;
int m_MateriaType;
};
inline void GenesisRenderManager::_checkShader()
{
if (NULL == m_shader)
{
_loadShader();
}
}
//inline void GenesisRenderManager::_checkShader()
//{
// SetMaterialByType(m_MateriaType);
//}
inline const IntSize& GenesisRenderManager::getResolution() const
{
@ -175,6 +172,11 @@ namespace MyGUI
mUpdate = true;
}
inline Resources::MaterialResInfo* GenesisRenderManager::getMaterial() const
{
return m_shader.get_unsafe();
}
} // namespace MyGUI
#endif // __MYGUI_GENESIS_RENDER_MANAGER_H__

View File

@ -87,10 +87,11 @@ namespace MyGUI
static RenderBase::PixelFormat::Code FormatMyGuiToWj(PixelFormat format);
static RenderBase::RenderResource::Usage UsageMyGuiToWj(TextureUsage usage);
static void SetResourcePath(const Util::String& path);
private:
void createManualTexture(int _width, int _height, TextureUsage _usage, PixelFormat _format);
void createManualRenderToTexture(int _width, int _height, TextureUsage _usage, PixelFormat _format);
void loadTextureFromFile(const std::string& _filename);
void setFormat(PixelFormat format);
std::string mName;
std::string mGroup;
@ -107,7 +108,6 @@ namespace MyGUI
TextureBuffer m_texStream;
GPtr<Resources::TextureResInfo> m_texRes;
bool m_bManualCreate;
static Util::String s_resourcePath;
};
inline GenesisTexture::TextureBuffer& GenesisTexture::GetBuffer()

View File

@ -33,24 +33,39 @@ THE SOFTWARE.
#include "foundation/io/memorystream.h"
#include "foundation/io/iointerface.h"
#include "foundation/io/iointerfaceprotocol.h"
//#include <Ogre.h>
//#include "MyGUI_LastHeader.h"
#include "foundation/io/ioserver.h"
namespace MyGUI
{
GenesisGuiGlobal::MediaLocations GenesisGuiGlobal::_mediaLocations;
const GenesisGuiGlobal::MediaLocations& GenesisGuiGlobal::getMediaLocations()
{
return _mediaLocations;
}
void GenesisGuiGlobal::pushMediaLocation(const std::string& path)
{
if (std::find(_mediaLocations.begin(), _mediaLocations.end(), path) == _mediaLocations.end())
{
_mediaLocations.push_back(path);
if (*(_mediaLocations.rbegin()->rbegin()) != '/')
{
_mediaLocations.rbegin()->push_back('/');
}
}
}
GenesisDataManager::GenesisDataManager() :
mAllGroups(false),
mIsInitialise(false)
{
}
void GenesisDataManager::SetResourcePath(const Util::String& path)
{
m_srcPath = path;
}
void GenesisDataManager::initialise(const std::string& _group)
{
MYGUI_PLATFORM_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice");
@ -77,54 +92,61 @@ void GenesisDataManager::shutdown()
IDataStream* GenesisDataManager::getData(const std::string& _name)
{
Util::String filename = _name.c_str();
Util::String url = m_srcPath + filename;
try
std::string url;
const GenesisGuiGlobal::MediaLocations& paths = GenesisGuiGlobal::getMediaLocations();
if (paths.size() == 1)
{
//Ogre::DataStreamPtr stream = Ogre::ResourceGroupManager::getSingleton().openResource(_name, mGroup, true);
//OgreDataStream* data = new OgreDataStream(stream);
//return data;
GPtr<IO::Stream> pStream = IO::MemoryStream::Create();
n_assert( pStream );
GPtr<IO::ReadStream> readStreamMsg = IO::ReadStream::Create();
n_assert( readStreamMsg );
readStreamMsg->SetFileName( url);
readStreamMsg->SetStream( pStream );
IO::IoInterface::Instance()->SendWait( readStreamMsg.upcast<Messaging::Message>() );
url = paths.front() + _name;
return getDataStream(url);
}
else
{
MediaLocations::const_iterator it = paths.begin();
MediaLocations::const_iterator end = paths.end();
if ( !readStreamMsg->GetResult() )
IO::IoServer* ios = IO::IoServer::Instance();
while(it != end)
{
n_warning( "GenesisDataManager::getData: can not open %s", _name.c_str() );
url = *it + _name;
if (ios->FileExists(IO::URI(url.c_str())))
{
return getDataStream(url);
}
++it;
}
MYGUI_PLATFORM_LOG(Warning, std::string(std::string("file is not found:") + _name));
return nullptr;
}
pStream->SetAccessMode(IO::Stream::ReadAccess);
if (pStream->Open())
return nullptr;
}
IDataStream* GenesisDataManager::getDataStream(const std::string& _url)
{
//try
//{
GPtr<IO::Stream> fileStream = IO::IoServer::Instance()->ReadFile(_url.c_str());
if (fileStream.isvalid())
{
GPtr<IO::TextReader> tr = IO::TextReader::Create();
tr->SetStream(pStream);
tr->SetStream(fileStream);
GenesisDataStream* data = new GenesisDataStream(tr);
return (IDataStream*)data;
}
//GPtr<IO::Stream> stream = IO::IoServer::Instance()->CreateStream(IO::URI(url));
//if (stream && stream->Open())
//{
// GPtr<IO::TextReader> tr = IO::TextReader::Create();
// tr->SetStream(stream);
// GenesisDataStream* data = new GenesisDataStream(tr);
// return (IDataStream*)data;
//}
MYGUI_PLATFORM_LOG(Warning, std::string(std::string("file error:") + _url));
return nullptr;
}
catch(...) //(const Ogre::FileNotFoundException& _e)
{
//MYGUI_PLATFORM_LOG(Warning, _e.getDescription());
MYGUI_PLATFORM_LOG(Warning, std::string(std::string("file error:") + _name));
return nullptr;
}
MYGUI_PLATFORM_LOG(Warning, std::string(std::string("file error:") + _name));
return nullptr;
//}
//catch(...) //(const Ogre::FileNotFoundException& _e)
//{
// //MYGUI_PLATFORM_LOG(Warning, _e.getDescription());
// MYGUI_PLATFORM_LOG(Warning, std::string(std::string("file error:") + _url));
// return nullptr;
//}
//MYGUI_PLATFORM_LOG(Warning, std::string(std::string("file error:") + _url));
//return nullptr;
}
bool GenesisDataManager::isDataExist(const std::string& _name)

View File

@ -39,7 +39,7 @@ namespace MyGUI
GenesisRTTexture::GenesisRTTexture(GPtr<Graphic::RenderToTexture>& rtt)
{
m_rtt = rtt;
mRtt = rtt;
const GPtr<RenderBase::RenderTarget>& renderTarget = rtt->GetRenderTarget();
size_t width = renderTarget->GetWidth();
@ -55,25 +55,29 @@ namespace MyGUI
mRenderTargetInfo.pixScaleY = 1.0f / float(height);
}
GenesisRTTexture::~GenesisRTTexture()
{
m_rtt = NULL;
mRtt = NULL;
}
void GenesisRTTexture::begin()
{
GenesisRenderManager::getInstance()._beforeDraw();
Graphic::GraphicSystem::Instance()->SetRenderTarget(m_rtt->GetTargetHandle(), 0);
mSaveRT = Graphic::GraphicSystem::Instance()->GetRenderTarget();
Graphic::GraphicSystem::Instance()->SetRenderTarget(mRtt->GetTargetHandle(), 0, RenderBase::RenderTarget::ClearAll);
}
void GenesisRTTexture::end()
{
Graphic::GraphicSystem::Instance()->SetRenderTarget(RenderBase::TextureHandle(NULL), 0);
Graphic::GraphicSystem::Instance()->SetRenderTarget(mSaveRT, 0, RenderBase::RenderTarget::ClearNone);
mSaveRT = NULL;
}
void GenesisRTTexture::doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count)
void GenesisRTTexture::doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count,int _material_type)
{
GenesisRenderManager::getInstance().doRender(_buffer, _texture, _count);
GenesisRenderManager::getInstance().doRender(_buffer, _texture, _count,_material_type);
}
} // namespace MyGUI

View File

@ -29,7 +29,7 @@ THE SOFTWARE.
#include "stdneb.h"
#include "graphicsystem/GraphicSystem.h"
#include "rendersystem/RenderSystem.h"
#include "materialmaker/parser/GenesisShaderParser.h"
#include "resource/resourcemanager.h"
#include "foundation/io/ioserver.h"
#include "MyGUI_GenesisDataManager.h"
@ -51,8 +51,11 @@ namespace MyGUI
{
using namespace Graphic;
Util::String GenesisRenderManager::s_resourcePath = "";
Util::String g_shaderName = "gui.shader";
std::string g_NormalShaderName = "sys:gui.shader";
std::string g_GrayShaderName = "sys:gui_gray.shader";
std::string g_NormalShaderNameOld = "asset:UIMedia/gui.shader";
std::string g_GrayShaderNameOld = "asset:UIMedia/gui_gray.shader";
GenesisRenderManager& GenesisRenderManager::getInstance()
{
@ -72,6 +75,7 @@ namespace MyGUI
, m_shaderHandle(NULL)
,m_VertexMgr(NULL)
,m_TextureMgr(NULL)
,m_MateriaType(MyGUI::NORMAL)
{
#if RENDERDEVICE_D3D9
mVertexFormat = VertexColourType::ColourARGB;
@ -87,11 +91,16 @@ namespace MyGUI
void GenesisRenderManager::initialise(int width, int height, int bufferWidth, int bufferHeight)
{
mIsInitialise = true;
_checkShader();
//_checkShader();
m_VertexMgr = MyGUI::GenesisVertexBufferMgr::Create();
m_TextureMgr = MyGUI::GenesisTextureMgr::Create();
setResolution(width, height, bufferWidth, bufferHeight);
if(!_loadShader(g_NormalShaderName))
{
_loadShader(g_NormalShaderNameOld);
}
}
void GenesisRenderManager::shutdown()
@ -187,32 +196,30 @@ namespace MyGUI
outofDate();
}
void GenesisRenderManager::doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count)
void GenesisRenderManager::doRender(IVertexBuffer* _buffer, ITexture* _texture, size_t _count,int _material_type)
{
GraphicSystem* gs = GraphicSystem::Instance();
if (gs)
{
GenesisTexture* tex = static_cast<GenesisTexture*>(_texture);
if (tex)
if(_material_type != m_MateriaType)
{
if (tex->GetTextureHandle().IsValid())
{
gs->SetTexture(0,tex->GetTextureHandle());
SetMaterialByType(_material_type);
}
}
else
GenesisTexture* tex = static_cast<GenesisTexture*>(_texture);
if (tex && tex->GetTextureHandle().IsValid())
{
return;
}
}
GenesisVertexBuffer* vb = static_cast<GenesisVertexBuffer*>(_buffer);
RenderBase::PrimitiveHandle handle = vb->GetPrimitiveHandle();
if (vb)
if (handle.IsValid())
{
gs->SetTexture(0,tex->GetTextureHandle());
gs->SetRenderState(m_shader->GetHandle()->GetTech()->GetDefaultPass()->GetRenderStateObject(), 0);
gs->DrawPrimitive(handle, 0, _count, 0 , 0);
}
}
}
}
void GenesisRenderManager::begin()
{
@ -335,35 +342,65 @@ namespace MyGUI
{
GraphicSystem* gs = GraphicSystem::Instance();
gs->SetShaderProgram(*m_shaderHandle);
gs->SetRenderState(m_shader->GetTech()->GetDefaultPass()->GetRenderStateObject(), 0);
}
void GenesisRenderManager::_loadShader()
bool GenesisRenderManager::_loadShader(std::string& _name)
{
m_shaderHandle = nullptr;
//static Util::String file_name("mygui.cg");
Util::StringAtom fileName(s_resourcePath + g_shaderName);//
if(IO::IoServer::Instance()->FileExists(fileName))
Resources::ResourceId id = _name.c_str();
if(IO::IoServer::Instance()->FileExists(id))
{
m_shader = GenesisMaterialMaker::MakeFromShader(fileName);
m_shader = Resources::ResourceManager::Instance()->CreateMaterialInfo(id, false);//GenesisMaterialMaker::MakeFromShader(fileName);
if (m_shader)
{
m_shaderHandle = const_cast<RenderBase::GPUProgramHandle*>(&m_shader->GetTech(0)->GetDefaultPass()->GetGPUProgramHandle(0));
m_shaderHandle = const_cast<RenderBase::GPUProgramHandle*>(&m_shader->GetHandle()->GetTech(0)->GetDefaultPass()->GetGPUProgramHandle(0));
//assert(NULL != m_shader);
//assert(NULL != m_shaderHandle);
GPtr<RenderBase::RenderStateDesc>& rso = m_shader->GetTech()->GetDefaultPass()->GetRenderStateObject();
GPtr<RenderBase::RenderStateDesc>& rso = m_shader->GetHandle()->GetTech()->GetDefaultPass()->GetRenderStateObject();
RenderBase::DeviceDepthAndStencilState state;
state = rso->GetDepthAndStencilState();
state.m_stencilTwoEnable = false;
state.m_depthEnable = false;
state.m_depthWriteMask = false;
rso->SetDepthAndStencilState(state);
return true;
}
}
return false;
}
void GenesisRenderManager::SetResourcePath(const Util::String& path)
void GenesisRenderManager::SetMaterialByType(int _type)
{
s_resourcePath = path;
}
//ÔÝʱ ÎÞÓá£
//switch(_type)
//{
//case MyGUI::NORMAL:
// {
// if(!_loadShader(g_NormalShaderName))
// {
// _loadShader(g_NormalShaderNameOld);
// }
// }
// break;
//case MyGUI::GRAY:
// {
// if(!_loadShader(g_GrayShaderName))
// {
// _loadShader(g_GrayShaderNameOld);
// }
// }
// break;
//default:
// {
// if(!_loadShader(g_NormalShaderName))
// {
// _loadShader(g_NormalShaderNameOld);
// }
// }
// break;
//}
//_beforeDraw();
m_MateriaType = _type;
}
} // namespace MyGUI

View File

@ -27,13 +27,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#include "stdneb.h"
//#include <cstring>
#include "MyGUI_GenesisTexture.h"
//#include "MyGUI_DataManager.h"
//#include "MyGUI_GenesisRenderManager.h"
//#include "MyGUI_GenesisDiagnostic.h"
#include "MyGUI_GenesisRTTexture.h"
#include "resource/imageres.h"
#include "resource/resourceserver.h"
#include "graphicsystem/GraphicSystem.h"
@ -41,13 +34,19 @@ THE SOFTWARE.
#include "foundation/util/queue.h"
#include "resource/resourcemanager.h"
#include "MyGUI_GenesisDataManager.h"
#include "MyGUI_GenesisTexture.h"
#include "MyGUI_GenesisRTTexture.h"
namespace MyGUI
{
using namespace Resources;
using namespace Graphic;
Util::String GenesisTexture::s_resourcePath = "";
class TexUpdate
{
public:
@ -109,10 +108,6 @@ namespace MyGUI
destroy();
}
void GenesisTexture::SetResourcePath(const Util::String& path)
{
s_resourcePath = path;
}
const std::string& GenesisTexture::getName() const
{
return mName;
@ -142,7 +137,13 @@ namespace MyGUI
}
GenesisTextureMgr::Instance()->RemoveManualTexture(this);
}
else
{
if (m_bManualCreate)
{
delete mRenderTarget;
}
}
m_texStream = NULL;
m_texRes = NULL;
mRenderTarget = nullptr;
@ -222,7 +223,7 @@ namespace MyGUI
myFormat = PixelFormat::R8G8B8;
}
break;
case RenderBase::PixelFormat::R8G8B8A8:
case RenderBase::PixelFormat::A8R8G8B8:
{
myFormat = PixelFormat::R8G8B8A8;
}
@ -255,7 +256,7 @@ namespace MyGUI
else if(format == PixelFormat::R8G8B8A8)
{
wjFormat = RenderBase::PixelFormat::R8G8B8A8;
wjFormat = RenderBase::PixelFormat::A8R8G8B8;
}
else
{
@ -317,6 +318,19 @@ namespace MyGUI
m_height = _height;
mOriginalUsage = _usage;
setFormat(_format);
if (TextureUsage::RenderTarget == _usage)
{
createManualRenderToTexture(_width, _height, _usage, _format);
}
else
{
createManualTexture(_width, _height, _usage, _format);
}
}
void GenesisTexture::createManualTexture(int _width, int _height, TextureUsage _usage, PixelFormat _format)
{
RenderBase::PixelFormat::Code wj_format = FormatMyGuiToWj(_format);
GPtr<RenderBase::Texture> tex = RenderBase::Texture::Create();
@ -371,6 +385,18 @@ namespace MyGUI
mOriginalFormat = PixelFormat::Unknow;
}
}
void GenesisTexture::createManualRenderToTexture(int _width, int _height, TextureUsage _usage, PixelFormat _format)
{
RenderBase::PixelFormat::Code wj_format = FormatMyGuiToWj(_format);
GPtr<Graphic::RenderToTexture> rtt = Graphic::RenderToTexture::Create();
rtt->Setup(_width, _height, wj_format,
RenderBase::RenderTarget::ClearAll, Math::float4(0.0f,0.0f,0.0f,0.f), false, 1.f, RenderBase::AntiAliasQuality::None);
mRenderTarget = new GenesisRTTexture(rtt);
m_bManualCreate = true;
}
GPtr<RenderBase::Texture> _BuildTextureData(const GPtr<Resources::ImageRes>& image, GPtr<IO::MemoryStream>& memStream)
{
n_assert(image.isvalid());
@ -443,73 +469,45 @@ namespace MyGUI
return GPtr<RenderBase::Texture>();
}
void GenesisTexture::loadFromFile(const std::string& _filename)
void GenesisTexture::loadTextureFromFile(const std::string& _filename)
{
Util::String filename = _filename.c_str();
Util::String url = s_resourcePath + filename;
/*Resources::ResourceServer* resServer = Resources::ResourceServer::Instance();
GPtr<Resource> pRes = resServer->CreateOrGetResource(url, &ImageRes::RTTI );
n_assert( pRes.isvalid() );
if ( pRes->GetState() != Resource::Loaded )
{
bool bOK = resServer->LoadResource(pRes,false);
if (!bOK)
{
m_texHandle = RenderBase::PrimitiveHandle();
return;
}
}
GPtr<ImageRes> pImage = pRes.downcast<ImageRes>();
n_assert( pImage.isvalid() );
//pImage->SetManuLoad(true); // 避免被卸载
if ( !pRes.isvalid() || !pRes->GetResourceId().IsValid() )
{
m_texHandle = RenderBase::PrimitiveHandle();
return;
}
m_width = pImage->GetWidth();
m_height = pImage->GetHeight();
mOriginalUsage = TextureUsage::Default;
setFormat(FormatWjToMyGui(pImage->GetPixelFormat()));//mOriginalFormat =
const GPtr<GraphicSystem>& gs = GraphicSystem::Instance();
n_assert(gs.isvalid());
GPtr<RenderBase::Texture> tex = _BuildTextureData(pImage, m_texStream);
if ( tex.isvalid() )
{
m_texHandle = gs->CreateTexture( tex );
}
else
{
m_texHandle = RenderBase::TextureHandle();
}
pRes->UnLoad();
m_texStream = NULL;*/
m_texRes = Resources::ResourceManager::Instance()->CreateTextureInfo(url, 0);
m_texRes = Resources::ResourceManager::Instance()->CreateTextureInfo(Resources::ResourceId(_filename.c_str()), 0);
RenderBase::TEXTURE_DESC texDesc;
GraphicSystem::Instance()->GetTextureDesc(m_texRes->GetHandle(), texDesc);
m_width = texDesc.width;
m_height = texDesc.height;
mOriginalUsage = TextureUsage::Default;
setFormat(FormatWjToMyGui(texDesc.pixelFormat));//mOriginalFormat =
setFormat(FormatWjToMyGui(texDesc.pixelFormat));//mOriginalFormat
}
void GenesisTexture::loadFromFile(const std::string& _filename)
{
const GenesisGuiGlobal::MediaLocations& paths = GenesisGuiGlobal::getMediaLocations();
if (paths.size() == 1)
{
loadTextureFromFile(paths.front() + _filename);
}
else
{
IO::IoServer* ios = IO::IoServer::Instance();
std::string url;
GenesisDataManager::MediaLocations::const_iterator it = paths.begin();
GenesisDataManager::MediaLocations::const_iterator end = paths.end();
while(it != end)
{
url = *it + _filename;
if (ios->FileExists(IO::URI(url.c_str())))
{
loadTextureFromFile(url);
return;
}
++it;
}
}
}
void GenesisTexture::createFromRenderTarget(IRenderTarget* rt)
{
mRenderTarget = rt;
@ -560,7 +558,7 @@ namespace MyGUI
IRenderTarget* GenesisTexture::getRenderTarget()
{
//if (mRenderTarget == nullptr)
// mRenderTarget = new OgreRTTexture(mTexture);
// mRenderTarget = new GenesisRTTexture(mTexture);
return mRenderTarget;
}

View File

@ -921,26 +921,28 @@ namespace Particles
mMobileTime = 0;
Math::Color32 _color;
Math::bbox _box;
float halfSize = 0;
float halfXSize = 0;
float halfYSize = 0;
_box.begin_extend();
while (totalPar < quato)
{
mEmitter->_emit(particle,(float)mDuration*totalPar/quato);
halfSize = 0.5f*particle->mSize.x();
halfXSize = 0.5f*particle->mSize.x();
halfYSize = 0.5f*particle->mSize.y();
particleVertex[4*totalPar].mColor = particle->mColor.HexARGB();
particleVertex[4*totalPar].mPosition = particle->mPosition;
particleVertex[4*totalPar].mTangent.set(-halfSize,halfSize,0,0);
particleVertex[4*totalPar].mTangent.set(-halfXSize,halfYSize,0,0);
particleVertex[4*totalPar].mNormal = particle->mDirection;
particleVertex[4*totalPar].mTexCoord.set(_time,particle->mTotalTimeToLive);
particleVertex[4*totalPar+1] = particleVertex[4*totalPar];
particleVertex[4*totalPar+1].mTangent.set(-halfSize,-halfSize,0,1);
particleVertex[4*totalPar+1].mTangent.set(-halfXSize,-halfYSize,0,1);
particleVertex[4*totalPar+2] = particleVertex[4*totalPar];
particleVertex[4*totalPar+2].mTangent.set(halfSize,-halfSize,1,1);
particleVertex[4*totalPar+2].mTangent.set(halfXSize,-halfYSize,1,1);
particleVertex[4*totalPar+3] = particleVertex[4*totalPar];
particleVertex[4*totalPar+3].mTangent.set(halfSize,halfSize,1,0);
particleVertex[4*totalPar+3].mTangent.set(halfXSize,halfYSize,1,0);
indicies[6*totalPar] = 4*totalPar;
indicies[6*totalPar+1] = 4*totalPar + 1;

View File

@ -103,8 +103,9 @@ namespace Particles
}
Math::bbox bb;
_calculateBBox(bb,GetMatrixList());
bb.pmin -= mBoundingBox.pmin;
bb.pmax += mBoundingBox.pmax;
point pp = mBoundingBox.pmax - mBoundingBox.pmin;
bb.pmin -= pp*0.5;
bb.pmax += pp*0.5;
const Math::matrix44& worldMat = mParentSystem->GetWorldMatrix();
Math::matrix44 invMat = Math::matrix44::inverse(worldMat);
bb.transform(invMat);

View File

@ -291,13 +291,9 @@ namespace Particles
HorizontalPlane_OP op;
op.bt = HorizontalPlane_OP::ALIGN_XZ;
op.bat = this->GetBillBoardAlignType();
op.parentQuaternion = Math::quaternion::identity();
op.parentQuaternion = outquaternion;
op.parentScale = scaleVector;
if (mParentSystem)
{
op.parentQuaternion = mParentSystem->GetDerivedRotation();
}
numParticle = _updateTarget_BillBoard(pool,particleVertex, indicies, op, false);
}
break;
@ -306,13 +302,9 @@ namespace Particles
HorizontalPlane_OP op;
op.bt = HorizontalPlane_OP::ALIGN_YZ;
op.bat = this->GetBillBoardAlignType();
op.parentQuaternion = Math::quaternion::identity();
op.parentQuaternion = outquaternion;
op.parentScale = scaleVector;
if (mParentSystem)
{
op.parentQuaternion = mParentSystem->GetDerivedRotation();
}
numParticle = _updateTarget_BillBoard(pool,particleVertex, indicies, op, false);
}
break;
@ -321,13 +313,9 @@ namespace Particles
HorizontalPlane_OP op;
op.bt = HorizontalPlane_OP::ALIGN_XY;
op.bat = this->GetBillBoardAlignType();
op.parentQuaternion = Math::quaternion::identity();
op.parentQuaternion = outquaternion;
op.parentScale = scaleVector;
if (mParentSystem)
{
op.parentQuaternion = mParentSystem->GetDerivedRotation();
}
numParticle = _updateTarget_BillBoard(pool,particleVertex, indicies, op, false);
}
break;

View File

@ -105,8 +105,10 @@ namespace Resources
SkeletonRes::UnLoadImpl(void)
{
mSkelBones.Clear();
mSkelNames.Clear();
mSkelTree.Clear();
mSkelTreeArray.Clear();
mSkelKeyPair.Clear();
}
//------------------------------------------------------------------------
bool

View File

@ -232,7 +232,7 @@ namespace Sprite
#ifdef __SPRITE_CHECK__
mAnimationChangeCount = clip->getChangeCount();
#endif
mDirty = true;
updateAnimation();
}
}
}

View File

@ -129,6 +129,10 @@ namespace Vegetation
pGMP->SetMatrixParam(eGShaderMatMVP, mvp);
pGMP->SetMatrixParam(eGShaderMatM, _mat);
Math::matrix44 mv = Math::matrix44::multiply(pCamera->GetViewTransform(), _mat);
pGMP->SetMatrixParam(eGShaderMatMV, mv);
Math::matrix44 Inverse, InvTranspose;
Inverse = Math::matrix44::inverse(_mat);
InvTranspose = Math::matrix44::transpose(Inverse);
@ -205,6 +209,9 @@ namespace Vegetation
pGMP->SetMatrixParam(eGShaderMatMVP, mvp);
pGMP->SetMatrixParam(eGShaderMatM, _mat);
Math::matrix44 mv = Math::matrix44::multiply(pCamera->GetViewTransform(), _mat);
pGMP->SetMatrixParam(eGShaderMatMV, mv);
_Render(renderable, passType,
mOwner->GetPrimHandle(),
renderable->GetFirstVertix(),
@ -331,7 +338,7 @@ namespace Vegetation
pMarcro->TurnOnLight();
}
if (m_pRenderScene->GetEnvironment()->fogColor.w() > 0.0f)
if (m_pRenderScene->GetEnvironment() && m_pRenderScene->GetEnvironment()->fogColor.w() > 0.0f)
{
pMarcro->TurnOn(ShaderProgramCompiler::ShaderMarcro::m_sFog);
}

View File

@ -63,7 +63,7 @@ VisQuery::Run()
return;
}
#ifdef __WIN32__
#if __THREAD_JOB__
this->mJobPort = Jobs::JobPort::Create();
this->mJobPort->Setup();
@ -90,7 +90,7 @@ VisQuery::Run()
if (newJob.isvalid())
{
mJobs.Append( newJob );
#ifdef __WIN32__
#if __THREAD_JOB__
this->mJobPort->PushJob( newJob );
#endif
}

View File

@ -209,7 +209,7 @@ VisServer::PerformVisQuery(const GPtr<ObserverContext>& observer ,
{
GPtr<VisQuery> pQuery = CreateVisQuery( observer, systemIndex );
pQuery->Run();
#ifdef __WIN32__
#if __THREAD_JOB__
pQuery->WaitForFinished();
#endif
pQuery->EndQuery();

View File

@ -223,7 +223,7 @@ VisQuadtree::CreateVisJob(const GPtr<ObserverContext>& observer, Util::Array<GPt
// create new job
GPtr<Jobs::Job> visibilityJob = Jobs::Job::Create();
#ifdef __WIN32__
#if __THREAD_JOB__//
// input data for job
// function
JobFuncDesc jobFunction(VisCellJobFunc);

View File

@ -31,6 +31,7 @@ THE SOFTWARE.
#include "util/quadtree.h"
#include "jobs/job.h"
#define __THREAD_JOB__ 0 //
//------------------------------------------------------------------------------
namespace Vis
{

View File

@ -83,7 +83,9 @@ void GameIap::onStoreKitPurchaseSucceed(const Util::String & productIdentifier,
// 拿着sk返回的receipt再去appStore做验证但我们的iap是build-in而不是server-base因此没必要这样做
*/
ScriptIAPInstance::Instance()->onStoreKitPurchaseSucceed(productIdentifier,transactionIdentifier,transactionReceipt);
NALSystem::ALSystem::getInstance()->storeKitFinishTransaction(transactionIdentifier);
};

View File

@ -41,6 +41,7 @@ SET ( APPFRAMEWORK_HEADER_FILES
appframework/manager.h
appframework/serialization.h
appframework/scene.h
appframework/simplecamera.h
appframework/statehandler.h
appframework/profiletool.h
)
@ -62,6 +63,7 @@ SET ( APPFRAMEWORK_SOURCE_FILES
appframework/manager.cc
appframework/serialization.cc
appframework/scene.cc
appframework/simplecamera.cc
appframework/sceneserialization.cc
appframework/statehandler.cc
appframework/profiletool.cc
@ -247,6 +249,7 @@ SET ( VEGETATION_SOURCE_FILES
SET ( SCRIPTFEATURE_HEADER_FILES
scriptfeature/mono_script_manager.h
scriptfeature/mono_script.h
scriptfeature/script_hook.h
scriptfeature/mono_icall_registration.h
scriptfeature/script_general_manager.h
scriptfeature/script_message_regist.h
@ -267,6 +270,7 @@ SET ( SCRIPTFEATURE_SOURCE_FILES
scriptfeature/mono_icall_registration.cc
scriptfeature/script_general_manager.cc
scriptfeature/script_instance.cc
scriptfeature/script_hook.cc
scriptfeature/script_message.cc
scriptfeature/script_message_regist.cc
scriptfeature/script_feature.cc
@ -395,6 +399,10 @@ SET ( GUIFEATURE_FILES
guifeature/guievent.cc
guifeature/FontFeature.h
guifeature/FontFeature.cc
guifeature/guiscene.h
guifeature/guiscene.cc
guifeature/guirenderobject.h
guifeature/guirenderobject.cc
)
SET ( JNI_FILES
@ -713,23 +721,22 @@ INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/depends
${CMAKE_SOURCE_DIR}/depends/boostWraper
${CMAKE_SOURCE_DIR}/depends/freetype/include
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/cooking
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/foundation
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/common
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/characterkinematic
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/cloth
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/extensions
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/geometry
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/gpu
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/particles
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/physxprofilesdk
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/physxvisualdebuggersdk
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/pvd
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/pxtask
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/RepX
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/RepXUpgrader
${CMAKE_SOURCE_DIR}/extincludes/physX3/linux/vehicle
${CMAKE_SOURCE_DIR}/extincludes/physX3/android
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/cooking
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/foundation
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/common
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/characterkinematic
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/cloth
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/extensions
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/geometry
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/particles
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/physxprofilesdk
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/physxvisualdebuggersdk
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/pvd
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/pxtask
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/RepX
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/RepXUpgrader
${CMAKE_SOURCE_DIR}/extincludes/physX3/android/vehicle
# should remove later
${CMAKE_SOURCE_DIR}/graphicsystem

View File

@ -40,7 +40,7 @@ THE SOFTWARE.
#include "scriptfeature/inc/script_component.h"
#include "graphicfeature/components/rendercomponent.h"
#include "graphicfeature/components/spriterendercomponent.h"
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
#include "physXfeature/PhysicsBodyComponent.h"
#endif
@ -167,7 +167,7 @@ void Actor::SetLayerID(LayerID id)
n_assert(0 <= id);
mLayerID = id;
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
//从脚本设置的话需要更新物理形状的groupId
GPtr<PhysicsBodyComponent> com = FindComponent<PhysicsBodyComponent>();
if(com.isvalid() && com->GetEntity()->IsValid())
@ -1500,9 +1500,9 @@ void Actor::CopyFrom( const GPtr<Actor>& pSource,const ActorPropertySet& actorPr
void Actor::_CopyFrom_MustProperty( const GPtr<Actor>& pSource, bool needRecurVFL)
{
//更新 新加入的Component的显示属性
SetVisible(pSource->GetVisible(), needRecurVFL);
SetVisible(pSource->GetVisible(), false);
#ifdef __GENESIS_EDITOR__
SetFrozen(pSource->GetFrozen(), needRecurVFL);
SetFrozen(pSource->GetFrozen(), false);
#endif
SetLocalBoundingBox(pSource->GetLocalBoundingBox());
SetTemplateName( pSource->GetTemplateName() );
@ -1688,6 +1688,21 @@ Actor::FindChildIndex(FastId id) const
return InvalidIndex;
}
//------------------------------------------------------------------------
IndexT
Actor::FindChildIndex(const Util::String& name) const
{
// @todo may be need optimize, eg. Binary Search
SizeT count = mChildren.Size();
for ( IndexT index = 0; index < count; ++index )
{
if ( mChildren[index]->GetName() == name )
{
return index;
}
}
return InvalidIndex;
}
//------------------------------------------------------------------------
const GPtr<Actor>&
Actor::FindChild(FastId id, bool includeGrandson) const
{

View File

@ -222,6 +222,8 @@ namespace App
// find child actor index in child list
IndexT FindChildIndex(FastId id) const;
IndexT FindChildIndex(const Util::String& name) const;
// add child. If childActor Has Parent, Failed, Need Remove Form Other Parent First. Please Use SetParent
void AddChild(GPtr<Actor>& childActor );
@ -940,7 +942,7 @@ namespace App
#include "component_force_compile.cc"
#endif // __actor_H__

View File

@ -369,7 +369,7 @@ namespace App
pTemplate->CopyFrom(pSource,actorPropertySet, true, false, false);
#ifdef __GENESIS_EDITOR__
pTemplate->SetFrozen(false,false);
pTemplate->SetFrozen(false, true);
#endif
// template must deactive and link false
@ -449,8 +449,6 @@ namespace App
pTemplate->SetName(templateActorName);
if (WriteTemplateFile(templateName,pTemplate,iFileType))
{
UpdateTemplateCache(templateName,pTemplate,iFileType);
@ -581,7 +579,9 @@ namespace App
// cache
IndexT index = mTemplateActors.FindIndex( actorTemplateName );
if ( index == InvalidIndex)
{
mTemplateActors.Add(actorTemplateName, templateInfo);
}
else
mTemplateActors.ValueAtIndex( index ) = templateInfo;
@ -783,7 +783,7 @@ namespace App
}
}
//------------------------------------------------------------------------
void ActorManager::DeactiveActors( uint layerMark )
void ActorManager::DeactiveActors(Graphic::IRenderScene* renderScene, uint layerMark)
{
ActiveActorContainer copys = mActiveActors;
ActiveActorContainer::Iterator it = copys.Begin();
@ -793,7 +793,7 @@ namespace App
Actor* actor = it->Value();
LayerID layerID = actor->GetLayerID();
uint mark = BIT_FLAG(layerID);
if (mark & layerMark)
if (mark & layerMark && renderScene == actor->GetRenderScene())
{
actor->Deactive();
}

View File

@ -111,7 +111,7 @@ namespace App
void DeactiveActor( GPtr<Actor>& pActor, bool forceActiveControlofChild );// = false
void DeactiveActors( uint layerMark );
void DeactiveActors(Graphic::IRenderScene* renderScene, uint layerMark);
//---------------------------actor template manage ---------------------------------------------
/**

View File

@ -145,7 +145,7 @@ protected:
/// Setup all internal transform when BeginFrame
virtual void _SetInternalTransform();
void Component_force_compiler();
// void Component_force_compiler();
protected:

View File

@ -48,13 +48,13 @@ namespace App
mActor->ThrowMessageToScript<T>(name, pair);
}
}
void Component::Component_force_compiler()
{
return; // forbid to call me
//GPtr<PhysicsShapeComponent> pTemp;
//SendMessageToScript<PhysicsShapeComponent>("", pTemp,pTemp);
}
// void Component::Component_force_compiler()
// {
// return; // forbid to call me
//
// //GPtr<PhysicsShapeComponent> pTemp;
// //SendMessageToScript<PhysicsShapeComponent>("", pTemp,pTemp);
// }

View File

@ -48,8 +48,11 @@ namespace App
class SoundFeature;
class ScriptFeature;
class GUIServer;
#ifndef __OSX__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
class PhysicsFeature;
#endif
#ifndef __OSX__
class NetworkFeature;
#endif
class FontFeature;
@ -74,8 +77,10 @@ namespace App
typedef GPtr<SoundFeature> TSoundFeaturePtr;
typedef GPtr<FontFeature> TFontFeaturePtr;
typedef GPtr<ALSystemFeature> TALSystemFeaturePtr;
#ifndef __OSX__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
typedef GPtr<PhysicsFeature> TPhysicsFeaturePtr;
#endif
#ifndef __OSX__
typedef GPtr<NetworkFeature> TNetworkFeaturePtr;
#endif
}

View File

@ -102,6 +102,7 @@ GameApplication::GameApplication()
, m_pShaderFactory(NULL)
, mOpenSceneDirty(false)
, mCloseSceneDirty(false)
, mCurSceneState(Unknown)
{
__ConstructThreadSingleton;
_RegisterDynamicClass();
@ -223,6 +224,7 @@ GameApplication::Open()
// create collision server
mCollisonServer = Graphic::CollisionModelServer::Create();
mGuiServer = App::GUIServer::Create();
return true;
}
@ -269,13 +271,14 @@ GameApplication::Close()
exitGuiScript();
}
#ifndef __SCRIPT_COMMIT__
App::Utility_ScriptRootExit();
App::ShutDownScriptSystem();
#endif
exitGui();
mGuiServer = NULL;
this->cleanupGameFeatures();
this->mGameServer->Close();
@ -341,7 +344,7 @@ void GameApplication::Quit()
mQuit = true;
}
bool GameApplication::IsQuit()
bool GameApplication::IsQuit() const
{
return mQuit;
}
@ -380,6 +383,10 @@ GameApplication::Run()
}
this->mCoreServer->Trigger();
mGameServer->OnFrameWithoutGraphics();
if (mGuiServer)
{
mGuiServer->OnFrame();
}
}
break;
case DS_Reset:
@ -392,6 +399,10 @@ GameApplication::Run()
{
this->mCoreServer->Trigger();
mGameServer->OnFrame();
if (mGuiServer)
{
mGuiServer->OnFrame();
}
}
break;
default:
@ -410,13 +421,15 @@ GameApplication::Run()
bool GameApplication::OpenScene(const Util::String& sceneName, bool force)
{
n_assert(IsOpen());
mOpenSceneName = sceneName;
if (force)
{
return openScene(sceneName);
mCurSceneState = Loaded;
return openScene(mOpenSceneName);
}
else
{
mOpenSceneName = sceneName;
mCurSceneState = Loading;
mOpenSceneDirty = true;
return true;
}
@ -424,6 +437,7 @@ bool GameApplication::OpenScene(const Util::String& sceneName, bool force)
bool GameApplication::openScene(const Util::String& sceneName)
{
mCurSceneState = Loaded;
App::SceneScheduleManager* pSceneSchedule = App::SceneScheduleManager::Instance();
return pSceneSchedule->OpenScene(sceneName, false);
}
@ -477,9 +491,30 @@ const GPtr<Scene>& GameApplication::GetCurrentScene() const
return pSceneSchedule->GetMainScene();
}
int GameApplication::GetCurrentSceneState()
{
return mCurSceneState;
}
int GameApplication::GetSceneState(const Util::String& sceneName)
{
if (sceneName == mOpenSceneName)
{
return mCurSceneState;
}
App::SceneScheduleManager* pSceneSchedule = App::SceneScheduleManager::Instance();
GPtr<Scene> scene = pSceneSchedule->GetScene(sceneName);
if (scene.isvalid())
{
return Loaded;
}
return Unknown;
}
//------------------------------------------------------------------------------
bool GameApplication::closeScene(const Util::String& sceneName)
{
mCurSceneState = Closed;
App::SceneScheduleManager* pSceneSchedule = App::SceneScheduleManager::Instance();
return pSceneSchedule->CloseScene(sceneName);
}
@ -489,10 +524,12 @@ bool GameApplication::CloseScene( const Util::String& sceneName, bool force )
n_assert(IsOpen());
if (force)
{
mCurSceneState = Closed;
return closeScene(sceneName);
}
else
{
mCurSceneState = Closing;
mCloseSceneName = sceneName;
mCloseSceneDirty = true;
return true;
@ -503,6 +540,7 @@ bool GameApplication::CloseScene( const Util::String& sceneName, bool force )
void GameApplication::CloseAllScenes()
{
n_assert(IsOpen());
mCurSceneState = Closed;
App::SceneScheduleManager* pSceneSchedule = App::SceneScheduleManager::Instance();
pSceneSchedule->CloseAllScenes();
}
@ -548,7 +586,7 @@ GameApplication::setupGameFeatures()
this->mParticleFeature = App::ParticleFeature::Create();
this->mVegeFeature = App::VegetationFeature::Create();
this->mResourceFeature = App::ResourceFeature::Create();
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
this->mPhysicsFeature = App::PhysicsFeature::Create();
#endif
this->mAnimationFeature = App::AnimationFeature::Create();
@ -602,7 +640,7 @@ GameApplication::setupGameFeatures()
mGameServer->AttachGameFeature(this->mParticleFeature.upcast<App::Feature>());
mGameServer->AttachGameFeature(this->mVegeFeature.upcast<App::Feature>());
mGameServer->AttachGameFeature(this->mResourceFeature.upcast<App::Feature>());
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
mGameServer->AttachGameFeature(this->mPhysicsFeature.upcast<App::Feature>());
#endif
mGameServer->AttachGameFeature(this->mAnimationFeature.upcast<App::Feature>());
@ -628,21 +666,31 @@ GameApplication::setupGameFeatures()
void
GameApplication::initGui()
{
mGuiServer = App::GUIServer::Create();
if (!mGuiServer->IsOpen())
{
mGuiServer->SetCoreFile(GUI_ROOT_CONFIG);
mGuiServer->SetEngineDir(mEngineDir);
Util::String coreFile = Util::String(GUI_DEFAULT_LOCATION) + Util::String(GUI_ROOT_CONFIG);
if(mIoServer->FileExists(Util::StringAtom(coreFile)))
{
mGuiServer->SetLogDir(mEngineDir);
mGuiServer->AddMediaLocaltion(GUI_DEFAULT_LOCATION);
mGuiServer->Open();
}
}
if (mGuiServer->IsOpen())
{
mGuiInputHandler = Input::GuiInputHandler::Create();
n_assert(mGuiInputHandler);
mInputFeature->GetInputServer()->AttachInputHandler(Input::InputPriority::Gui, mGuiInputHandler.upcast<Input::InputHandler>());
}
}
void GameApplication::exitGui()
{
mInputFeature->GetInputServer()->RemoveInputHandler(mGuiInputHandler.upcast<Input::InputHandler>());
mGuiInputHandler = NULL;
if (this->mGuiServer)
{
this->mGuiServer->Close();
}
}
void
@ -665,20 +713,11 @@ void GameApplication::exitGuiScript()
{
if (this->mGuiServer && this->mGuiServer->IsOpen())
{
mInputFeature->GetInputServer()->RemoveInputHandler(mGuiInputHandler.upcast<Input::InputHandler>());
mGuiInputHandler = NULL;
this->mGuiServer->ExitGuiScript();
}
}
void GameApplication::exitGui()
{
if (this->mGuiServer)
{
this->mGuiServer->Close();
this->mGuiServer = NULL;
}
}
//------------------------------------------------------------------------------
@ -704,7 +743,7 @@ GameApplication::cleanupGameFeatures()
this->mParticleFeature = 0;
this->mVegeFeature = 0;
this->mResourceFeature = 0;
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
this->mPhysicsFeature = 0;
#endif
this->mAnimationFeature = 0;

View File

@ -76,6 +76,15 @@ class GameApplication : public Application
public:
typedef Delegates::delegates::CDelegate1<const Application&> EventHandle_Exit;//CDelegate1
enum SceneState
{
Loading = 0,
Loaded = 1,
Closing = 2,
Closed = 3,
Unknown = 4,
};
/// constructor
GameApplication();
/// destructor
@ -93,11 +102,14 @@ public:
virtual void Quit();
virtual bool IsQuit();
/// open a scence
virtual bool IsQuit() const;
/// open a scene
virtual bool OpenScene(const Util::String& sceneName, bool force = true);
/// close a scence
/// close a scene
virtual bool CloseScene(const Util::String& sceneName, bool force = true);
/// check the state of a scene
virtual int GetCurrentSceneState();
virtual int GetSceneState(const Util::String& sceneName);
/// called when the game stopped
virtual void OnStopped();
@ -138,6 +150,8 @@ public:
unsigned int GetGameHeight();
const GPtr<Input::InputSource>& GetInputSource() const;
void* GetWndHandle() const;
EventHandle_Exit eventExit;
void SetDeviceLost();
@ -169,18 +183,18 @@ protected:
virtual void setupProjectAssigns();
virtual void initGui();
virtual void exitGui();
virtual void initGuiScript();
virtual void exitGuiScript();
void setupSciptSystem();
void scriptRootLoad();
void initGui();
void initGuiScript();
void exitGuiScript();
void exitGui();
bool openScene(const Util::String& sceneName);
bool closeScene(const Util::String& sceneName);
/// loading scene logo
@ -226,7 +240,7 @@ protected:
TFontFeaturePtr mFontFeature;
GPtr<GUIServer> mGuiServer;
TSoundFeaturePtr mSoundFeature;
#ifndef __OSX__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
//TNetworkFeaturePtr mNetworkFeature;
TPhysicsFeaturePtr mPhysicsFeature;
#endif
@ -270,6 +284,8 @@ protected:
bool mCloseSceneDirty;
void* mWinHandle;
SceneState mCurSceneState;
IO::AssignRegistry* mAssignRegistry;
DeviceState mDeviceState;
@ -381,6 +397,12 @@ inline const Util::String& GameApplication::GetResourceBaseDir() const
{
return mResourceBaseDir;
}
inline void* GameApplication::GetWndHandle() const
{
return mWinHandle;
}
#if __ANDROID__
inline void GameApplication::SetNeedReadAPK(bool need)
{

View File

@ -124,7 +124,7 @@ GameServer::Close()
mGameFeatures["Script"] = NULL;
#endif
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
mGameFeatures["Physics"] = NULL;
#endif

View File

@ -56,6 +56,19 @@ namespace App
return mScene->GetRenderScene();
}
SceneEnvironment::SceneEnvironment()
:graivty(0.0f,-9.81f,0.0f)
,skinWidth(0.025f)
,bounce(0.0f)
,sleepVel(0.5f)
,sleepAngular(0.5f)
,maxAngular(7.0f)
,defaultMat("")
{
layerIDArray.Resize(32,0xffffffff);
}
__ImplementClass(App::Scene, 'SCEN' ,Core::RefCounted);
//------------------------------------------------------------------------
@ -99,7 +112,7 @@ namespace App
{
GetRenderScene()->SetEnvironment(&mEnvironment);
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
if(apply)
{
PhysicsServer::Instance()->SetGravity(mEnvironment.graivty);

View File

@ -53,13 +53,24 @@ namespace App
private:
Scene* mScene;
};
struct SceneEnvironment : public Graphic::RenderScene::Environment
{
Math::float3 graivty;
float skinWidth;
float bounce;
float sleepVel;
float sleepAngular;
float maxAngular;
Util::String defaultMat;
Util::Array<uint> layerIDArray;
SceneEnvironment();
};
class Scene : public Core::RefCounted, public App::ISerialization
{
__DeclareClass(Scene);
__ScriptBind
public:
typedef Graphic::RenderScene::Environment Environment;
/// constructor
Scene();
/// destructor
@ -69,9 +80,9 @@ namespace App
Graphic::RenderScene* GetRenderScene() const;
Environment& GetEnvironment();
SceneEnvironment& GetEnvironment();
const Environment& GetEnvironment() const;
const SceneEnvironment& GetEnvironment() const;
bool IsModified(void) const;
@ -163,7 +174,7 @@ namespace App
GPtr<RootActor> mRoot;
Graphic::RenderScene* mRenderScene;
Graphic::RenderScene::Environment mEnvironment;
SceneEnvironment mEnvironment;
friend class SceneSerialization;
friend class ActorManager;
@ -204,7 +215,7 @@ namespace App
//------------------------------------------------------------------------
inline
const Scene::Environment&
const SceneEnvironment&
Scene::GetEnvironment() const
{
return mEnvironment;
@ -212,7 +223,7 @@ namespace App
//------------------------------------------------------------------------
inline
Scene::Environment&
SceneEnvironment&
Scene::GetEnvironment()
{
return mEnvironment;

View File

@ -252,7 +252,7 @@ namespace App
}
else
{
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
PhysicsServer::Instance()->SetAllCollisionMaskMatrix( layerIDArray );
#endif
@ -442,14 +442,14 @@ namespace App
// environment shader param
{
const Scene::Environment& environment = pScene->GetEnvironment();
const SceneEnvironment& environment = pScene->GetEnvironment();
pSerialize->SerializeFloat4(s_GShaderVecAmbientColor, environment.ambientColor);
pSerialize->SerializeFloat4(s_GShaderVecFogColor, environment.fogColor);
pSerialize->SerializeFloat4(s_GShaderVecFogParam, environment.fogParam);
pSerialize->SerializeFloat4(s_SoftShadowParam, environment.softShadowParam);
pSerialize->SerializeFloat4(s_ShadowStrength, environment.shadowStrength);
}
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
// phyx layer filter
{
Util::Array<uint> layerIDArray = PhysicsServer::Instance()->GetAllCollisionMask();
@ -518,14 +518,6 @@ namespace App
}
}
//// 没找到合适的地方,先放这儿了
/*GPtr<Graphic::MaterialInstanceManager>& manager = GraphicObjectManager::Instance()->GetMaterialInstanceManager();
if ( manager )
{
manager->SaveMaterial();
}*/
}
}

View File

@ -0,0 +1,50 @@
/****************************************************************************
Copyright (c) 2011-2013,WebJet Business Division,CYOU
http://www.genesis-3d.com.cn
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.
****************************************************************************/
#include "stdneb.h"
#include "basegamefeature/managers/sceneschedulemanager.h"
#include "appframework/simplecamera.h"
namespace App
{
__ImplementClass(App::SimpleCamera, 'SPCA', Graphic::Camera);
SimpleCamera::SimpleCamera()
{
Super::SetRenderScene( SceneScheduleManager::Instance()->_GetMainRenderScene());
Super::SetCameraOrder(Graphic::eCO_Main);
Super::SetUseCallBack(false);
Super::SetRenderDepth(false);
Super::SetRenderLightLitMap(false);
Super::SetRenderDepth(false);
Super::SetRenderSort((uint)Graphic::Camera::SortRTT);
}
SimpleCamera::~SimpleCamera()
{
}
}

View File

@ -0,0 +1,49 @@
/****************************************************************************
Copyright (c) 2011-2013,WebJet Business Division,CYOU
http://www.genesis-3d.com.cn
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.
****************************************************************************/
#ifndef __simplecamera_H__
#define __simplecamera_H__
#include "graphicsystem/Camera/Camera.h"
namespace App
{
class SimpleCamera : public Graphic::Camera
{
__DeclareSubClass(SimpleCamera, Graphic::Camera);
__ScriptBind
public:
typedef Graphic::RenderScene::Environment Environment;
/// constructor
SimpleCamera();
~SimpleCamera();
};
}
#endif // __simplecamera_H__

View File

@ -189,16 +189,17 @@ namespace App
}
}
if (!privateScene)
if (privateScene)
{
scene->_ApplyEnvironment();
}
else
{
_SetMainScene(scene->GetName());
scene->_ApplyEnvironment(true);
}
else
{
scene->_ApplyEnvironment();
}
}
#ifdef __PROFILER_IO__
PROFILER_IO_TICKEND(tickBegin,delta);

View File

@ -1286,6 +1286,12 @@ namespace App
if (findAnim != InvalidIndex)
{
if(layer < 0)
{
n_warning("Invalid layer, layer must be equal or greater than 0.\n");
return;
}
AnimResParam& animParam = m_AnimInfos.animMap[findAnim];
if (animParam.animRes.isvalid() && animParam.animRes->GetState() == Resource::Loaded)

View File

@ -446,7 +446,7 @@ inline
bool
CameraComponent::GetRenderShadowMap() const
{
return m_camera->HasLightLitMap();
return m_camera->IsRenderLightLitMap();
}
inline

View File

@ -383,10 +383,10 @@ LightComponent::_SetupGlobalLightFrustum_NoCascade()
}
GlobalMaterialParam* pGMP = Material::GetGlobalMaterialParams();
pGMP->SetVectorParam(eGShaderVecLightCameraFrustumIntervalEnd,float4(splitDistances[1],splitDistances[2],splitDistances[3],splitDistances[4]));
Math::scalar fSize = Math::scalar( smcList.Size() );
const RenderBase::DisplayMode& dm = Graphic::GraphicSystem::Instance()->GetMainViewPortWindow()->GetDisplayMode();
pGMP->SetVectorParam(eGShaderVecLightCameraFrustumIntervalEnd,float4(splitDistances[1],splitDistances[2],splitDistances[3],splitDistances[4]));
pGMP->SetVectorParam(eGShaderVecShadowMapSize,float4((float)shadowMapWidth,(float)shadowMapWidth,m_depthBias,fSize));//width,height,bias,cascade levels
// set shadow color and strength
// shadow.w = shadow strength

View File

@ -37,6 +37,19 @@ namespace App
{
__ImplementClass(App::LightprobeComponent, 'LPOM', App::RenderComponent)
#if RENDERDEVICE_D3D9
const D3D9::TextureD3D9* GetD3DTexture9(const GPtr<Graphic::RenderToTexture>& rtt)
{
const RenderBase::TextureHandle handle = rtt->GetTextureHandle();
const Core::RefCounted* Ro = handle.AsObject();
const D3D9::TextureD3D9* front = reinterpret_cast<const D3D9::TextureD3D9*>(Ro);
return front;
}
#endif
LightprobeComponent::LightprobeComponent():
rendertime(0)
,m_RenderTime(-1)
@ -146,89 +159,89 @@ void LightprobeComponent::Save( AppWriter* pWriter ) const
void LightprobeComponent::SaveRenderResult( const Util::String& path )
{
#ifdef __WIN32__
#if RENDERDEVICE_D3D9
m_pExportCubeTex = D3D9::TextureD3D9::Create();
const D3D9::TextureD3D9& front = m_pXPosTexture->GetD3DTexture9();
const D3D9::TextureD3D9& back = m_pXNegTexture->GetD3DTexture9();
const D3D9::TextureD3D9* front = GetD3DTexture9(m_pXPosTexture);
const D3D9::TextureD3D9* back = GetD3DTexture9(m_pXNegTexture);
const D3D9::TextureD3D9& top = m_pYPosTexture->GetD3DTexture9();
const D3D9::TextureD3D9& under = m_pYNegTexture->GetD3DTexture9();
const D3D9::TextureD3D9* top = GetD3DTexture9(m_pYPosTexture);
const D3D9::TextureD3D9* under = GetD3DTexture9(m_pYNegTexture);
const D3D9::TextureD3D9& right = m_pZPosTexture->GetD3DTexture9();
const D3D9::TextureD3D9& left = m_pZNegTexture->GetD3DTexture9();
const D3D9::TextureD3D9* right = GetD3DTexture9(m_pZPosTexture);
const D3D9::TextureD3D9* left = GetD3DTexture9(m_pZNegTexture);
ubyte* CubeData = NULL;
CubeData = n_new_array(ubyte,front.GetTextureSize()*6);
CubeData = n_new_array(ubyte,front->GetTextureSize()*6);
n_assert(CubeData!=NULL);
//front
SizeT levelPixelSize =front.GetTextureSize();
SizeT levelPixelSize = front->GetTextureSize();
ubyte* dataFront = new ubyte[levelPixelSize];
n_assert(dataFront!=NULL);
front.GetTextureData(dataFront);
front->GetTextureData(dataFront);
Resources::ImageOperations::HorizontalFlipImage(dataFront,levelPixelSize,front.GetHeight(),front.GetWidth());
Resources::ImageOperations::HorizontalFlipImage(dataFront,levelPixelSize,front->GetHeight(),front->GetWidth());
//back
levelPixelSize =back.GetTextureSize();
levelPixelSize =back->GetTextureSize();
ubyte* dataBack = new ubyte[levelPixelSize];
n_assert(dataBack!=NULL);
back.GetTextureData(dataBack);
back->GetTextureData(dataBack);
Resources::ImageOperations::HorizontalFlipImage(dataBack,levelPixelSize,front.GetHeight(),front.GetWidth());
Resources::ImageOperations::HorizontalFlipImage(dataBack,levelPixelSize,front->GetHeight(),front->GetWidth());
//left
levelPixelSize =left.GetTextureSize();
levelPixelSize =left->GetTextureSize();
ubyte* dataLeft = new ubyte[levelPixelSize];
n_assert(dataLeft!=NULL);
left.GetTextureData(dataLeft);
left->GetTextureData(dataLeft);
Resources::ImageOperations::HorizontalFlipImage(dataLeft,levelPixelSize,front.GetHeight(),front.GetWidth());
Resources::ImageOperations::HorizontalFlipImage(dataLeft,levelPixelSize,front->GetHeight(),front->GetWidth());
//right
levelPixelSize =front.GetTextureSize();
levelPixelSize =front->GetTextureSize();
ubyte* dataRight = new ubyte[levelPixelSize];
n_assert(dataRight!=NULL);
right.GetTextureData(dataRight);
right->GetTextureData(dataRight);
Resources::ImageOperations::HorizontalFlipImage(dataRight,levelPixelSize,front.GetHeight(),front.GetWidth());
Resources::ImageOperations::HorizontalFlipImage(dataRight,levelPixelSize,front->GetHeight(),front->GetWidth());
//up
levelPixelSize =front.GetTextureSize();
levelPixelSize =front->GetTextureSize();
ubyte* dataUp = new ubyte[levelPixelSize];
n_assert(dataUp!=NULL);
top.GetTextureData(dataUp);
top->GetTextureData(dataUp);
Resources::ImageOperations::HorizontalFlipImage(dataUp,levelPixelSize,front.GetHeight(),front.GetWidth());
Resources::ImageOperations::HorizontalFlipImage(dataUp,levelPixelSize,front->GetHeight(),front->GetWidth());
//down
levelPixelSize =front.GetTextureSize();
levelPixelSize =front->GetTextureSize();
ubyte* dataDown = new ubyte[levelPixelSize];
n_assert(dataDown!=NULL);
under.GetTextureData(dataDown);
under->GetTextureData(dataDown);
Resources::ImageOperations::HorizontalFlipImage(dataDown,levelPixelSize,front.GetHeight(),front.GetWidth());
Resources::ImageOperations::HorizontalFlipImage(dataDown,levelPixelSize,front->GetHeight(),front->GetWidth());
//data generate
ubyte* srcDataOffset = NULL;
srcDataOffset = CubeData;
Memory::CopyToGraphicsMemory(dataFront,srcDataOffset,levelPixelSize);
srcDataOffset += front.GetTextureSize();
srcDataOffset += front->GetTextureSize();
Memory::CopyToGraphicsMemory(dataBack,srcDataOffset,levelPixelSize);
srcDataOffset += front.GetTextureSize();
srcDataOffset += front->GetTextureSize();
Memory::CopyToGraphicsMemory(dataUp,srcDataOffset,levelPixelSize);
srcDataOffset += front.GetTextureSize();
srcDataOffset += front->GetTextureSize();
Memory::CopyToGraphicsMemory(dataDown,srcDataOffset,levelPixelSize);
srcDataOffset += front.GetTextureSize();
srcDataOffset += front->GetTextureSize();
Memory::CopyToGraphicsMemory(dataRight,srcDataOffset,levelPixelSize);
srcDataOffset += front.GetTextureSize();
srcDataOffset += front->GetTextureSize();
Memory::CopyToGraphicsMemory(dataLeft,srcDataOffset,levelPixelSize);
Resources::ImageOperations::SaveDDSCubeImage(front.GetHeight(),front.GetWidth(),path,CubeData,front.GetTextureSize()*6);
Resources::ImageOperations::SaveDDSCubeImage(front->GetHeight(),front->GetWidth(),path,CubeData,front->GetTextureSize()*6);
n_delete_array(CubeData);

View File

@ -181,6 +181,11 @@ void ProjectorRenderComponent::_UpdateProjector()
// Update shader param & retrieve render objects
mProjector->_UpdateProjector();
for(int matIndex=0;matIndex<GetMaterialCount();matIndex++)
{
GPtr<Graphic::MaterialInstance> instance = GetMaterial(matIndex);
instance->SetSort(Graphic::MatSort_ProjectorBegin+matIndex);
}
// Collision dealing
Math::matrix44 viewProjMatrix = Math::matrix44::zero();

View File

@ -129,7 +129,7 @@ void SimpleSkyComponent::updateScale( Graphic::Camera* camera )
_mscale.scale(Math::float4(scale,scale,scale,1.0f));
Math::matrix44 trans = camera->GetCameraSetting().GetViewTransform();
trans.set_position(Math::float4(0.0f,0.0f,0.0f,1.0f));
Math::matrix44 rot = Math::matrix44::rotationx(-90);
Math::matrix44 rot = Math::matrix44::rotationx(-N_PI/2);
trans = Math::matrix44::multiply(trans,rot);
trans = Math::matrix44::multiply(trans,_mscale);
mActor->SetTransform(trans);

View File

@ -716,7 +716,9 @@ namespace App
}
}
if(!m_DefaultFinalTrans.IsEmpty())
const SizeT bonesCount = skeletonRes->GetBonesCount();
if(!m_DefaultFinalTrans.IsEmpty() && bonesCount == m_DefaultFinalTrans.Size())
{
m_FinalTrans = m_DefaultFinalTrans;
return true;
@ -725,7 +727,6 @@ namespace App
m_FinalTrans.Clear();
m_DefaultFinalTrans.Clear();
const SizeT bonesCount = skeletonRes->GetBonesCount();
const SkelBoneContainer& SkelBones = skeletonRes->GetSkelBones();

View File

@ -24,6 +24,7 @@ THE SOFTWARE.
#include "stdneb.h"
#include "scriptfeature/inc/script_utility.h"
#include "guifeature/guiutility.h"
namespace App
{
@ -352,6 +353,11 @@ namespace App
return widget->getRootKeyFocus();
}
static void ICall_setGray(gconstpointer widget_ptr, bool value)
{
MyGUI::Widget* widget = static_cast<MyGUI::Widget*>(widget_ptr);
widget->setGray(value);
}
void ICallReg_ScriptGUI_Widget()
@ -410,6 +416,7 @@ namespace App
,{ "ScriptGUI.Widget::ICall_isMaskPickInside", (void*)&ICall_isMaskPickInside}
,{ "ScriptGUI.Widget::ICall_getRootMouseFocus", (void*)&ICall_getRootMouseFocus}
,{ "ScriptGUI.Widget::ICall_getRootKeyFocus", (void*)&ICall_getRootKeyFocus}
,{ "ScriptGUI.Widget::ICall_setGray", (void*)&ICall_setGray}
};
int size = sizeof(s_cScriptBindInternalCallDetail)/sizeof(InternalCallDetail);

View File

@ -0,0 +1,75 @@
/****************************************************************************
Copyright (c) 2011-2013,WebJet Business Division,CYOU
http://www.genesis-3d.com.cn
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.
****************************************************************************/
#include "stdneb.h"
#include "graphicsystem/Camera/RenderPipeline/RenderData.h"
#include "guifeature/guiserver.h"
#include "guifeature/guirenderobject.h"
namespace App
{
__ImplementClass(GuiRenderObject,'GUOB',Graphic::RenderObject);
GuiRenderObject::GuiRenderObject()
:m_renderable(NULL)
{
SetLayerID(0);
}
GuiRenderObject::~GuiRenderObject()
{
n_delete(m_renderable);
m_renderable = NULL;
}
void GuiRenderObject::Setup()
{
if (m_renderable == NULL)
{
m_renderable = n_new(GuiRenderable);
m_renderable->SetMaterial(GUIServer::Instance()->GetGuiMaterial());
}
}
void GuiRenderObject::AddToCollection(Graphic::RenderDataCollection* collection, const Graphic::RenderConfig* renderConfig)
{
if (m_renderable)
{
collection->Push(m_renderable);
}
}
void GuiRenderObject::Render(const Graphic::Renderable* renderable, Graphic::RenderPassType passType, const Graphic::Material* customizedMaterial)
{
GUIServer::Instance()->_renderUI();
}
void GuiRenderObject::OnWillRenderObject(Graphic::Camera* sender)
{
}
}

View File

@ -0,0 +1,57 @@
/****************************************************************************
Copyright (c) 2011-2013,WebJet Business Division,CYOU
http://www.genesis-3d.com.cn
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.
****************************************************************************/
#ifndef __guirenderobject_H__
#define __guirenderobject_H__
#include "graphicsystem/Renderable/RenderObject.h"
#include "graphicsystem/Renderable/Renderable.h"
namespace App
{
class GuiRenderable : public Graphic::Renderable
{
};
class GuiRenderObject : public Graphic::RenderObject
{
__DeclareSubClass(GuiRenderObject, Graphic::RenderObject);
public:
GuiRenderObject();
virtual ~GuiRenderObject();
void Setup();
virtual void Render(const Graphic::Renderable* renderable, Graphic::RenderPassType passType, const Graphic::Material* customizedMaterial);
virtual void AddToCollection(Graphic::RenderDataCollection* collection, const Graphic::RenderConfig* renderConfig);
virtual void OnWillRenderObject(Graphic::Camera* sender);
private:
GuiRenderable* m_renderable;
};
}
#endif //__guirenderobject_H__

View File

@ -60,6 +60,7 @@ namespace App
GuiRoot::GuiRoot()
:m_rootObj(NULL)
,m_rootRefID(0)
{
}
@ -116,12 +117,15 @@ namespace App
}
void GuiRoot::Destroy()
{
if (m_rootObj)
{
mono_gchandle_free(m_rootRefID);
m_rootRefID = 0;
m_rootObj = NULL;
resetScriptMethods();
}
}
void GuiRoot::InitGuiScript()
{

View File

@ -0,0 +1,84 @@
/****************************************************************************
Copyright (c) 2011-2013,WebJet Business Division,CYOU
http://www.genesis-3d.com.cn
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.
****************************************************************************/
#include "stdneb.h"
#include "basegamefeature/managers/sceneschedulemanager.h"
#include "guifeature/guiserver.h"
#include "guifeature/guiscene.h"
#include "guifeature/guirenderobject.h"
namespace App
{
GuiScene::GuiScene()
{
}
GuiScene::~GuiScene()
{
}
void GuiScene::Setup()
{
m_scene = SceneScheduleManager::Instance()->OpenScene("gui scene for com.genesis", true, true);
m_scene->GetRenderScene()->SetRenderSort(Graphic::RenderScene::SortUI);
m_guiCamera = SimpleCamera::Create();
m_guiCamera->SetRenderSort(Graphic::Camera::SortUI);
m_guiCamera->SetPickMark(Graphic::Camera::PickSelfObjects);
m_guiCamera->SetUseCallBack(false);
m_guiCamera->Setup();
m_guiCamera->SetProj(Graphic::Camera::VT_ortho, 1.0f, -10.0f, 10.0f);
m_guiCamera->SetTransform(Math::matrix44::identity());
m_guiCamera->OnTransformChanged();
m_guiCamera->SetTargetWindow(GUIServer::Instance()->GetTargetWindow());
m_scene->GetRenderScene()->_AddCamera(m_guiCamera.get_unsafe());
m_guiObject = GuiRenderObject::Create();
m_guiObject->Setup();
m_guiObject->AttachNoCull(m_guiCamera->GetCameraScene());
}
void GuiScene::Destroy()
{
m_guiObject->Detach();
m_guiCamera->GetRenderScene()->_RemoveCamera(m_guiCamera.get_unsafe());
SceneScheduleManager::Instance()->CloseScene(m_scene);
m_scene = NULL;
}
void GuiScene::SetTargetWindow(Graphic::ViewPortWindow* vpw)
{
if (m_guiCamera.isvalid())
{
m_guiCamera->SetTargetWindow(vpw);
}
}
}

View File

@ -0,0 +1,55 @@
/****************************************************************************
Copyright (c) 2011-2013,WebJet Business Division,CYOU
http://www.genesis-3d.com.cn
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.
****************************************************************************/
#ifndef __guiscene_H__
#define __guiscene_H__
#include "appframework/scene.h"
#include "appframework/simplecamera.h"
namespace App
{
class GuiRenderObject;
class GuiScene
{
public:
GuiScene();
~GuiScene();
void Setup();
void Destroy();
void SetTargetWindow(Graphic::ViewPortWindow* vpw);
private:
GPtr<Scene> m_scene;
GPtr<SimpleCamera> m_guiCamera;
GPtr<GuiRenderObject> m_guiObject;
};
}
#endif //__guiscene_H__

View File

@ -28,7 +28,7 @@ THE SOFTWARE.
#include "addons/myguiplatforms/include/MyGUI_GenesisPlatform.h"
#include "basegamefeature/managers/timesource.h"
#include "guifeature/gui.h"
#include "guiroot.h"
#include "guifeature/guiscene.h"
#include "foundation/io/ioserver.h"
namespace App
@ -39,8 +39,6 @@ namespace App
using namespace MyGUI;
Util::String g_uiPath = "asset:UIMedia/";
GUIServer::GUIServer()
:m_gui(NULL)
@ -48,6 +46,7 @@ namespace App
,m_visible(true)
,m_opened(false)
,m_targetWindow(NULL)
,m_coreFile(GUI_ROOT_CONFIG)
{
__ConstructImageSingleton;
}
@ -63,27 +62,50 @@ namespace App
return (NULL != m_platform) && (NULL != m_gui);
}
void GUIServer::SetCoreFile(const char* core)
void GUIServer::SetLogDir(const Util::String& dir)
{
m_logDir = dir;
}
void GUIServer::SetCoreFile(const Util::String& core)
{
m_coreFile = core;
}
void GUIServer::SetEngineDir(const Util::String& dir)
void GUIServer::AddMediaLocaltion(const Util::String& path)
{
m_engineDir = dir;
GenesisGuiGlobal::pushMediaLocation(path.AsCharPtr());
}
bool GUIServer::Open()
void GUIServer::SetTargetWindow(Graphic::ViewPortWindow* vpw)
{
Util::String core_file = g_uiPath + m_coreFile;
if(IO::IoServer::Instance()->FileExists(Util::StringAtom(core_file)))
m_targetWindow = vpw;
OnWindowResized();
if (m_guiScene)
{
m_guiScene->SetTargetWindow(vpw);
}
}
void GUIServer::Open()
{
_initMyGUI();
_initScript();
m_opened = true;
}
return m_opened;
void GUIServer::OnFrame()
{
_beforeDraw();
}
Graphic::MaterialInstance* GUIServer::GetGuiMaterial() const
{
if (m_platform)
{
return m_platform->getRenderManagerPtr()->getMaterial()->GetHandle().get_unsafe();
}
return NULL;
}
void GUIServer::Close()
@ -103,11 +125,16 @@ namespace App
n_delete(m_platform);
m_platform = NULL;
}
if (m_guiScene)
{
m_guiScene->Destroy();
n_delete(m_guiScene);
m_guiScene = NULL;
}
m_targetWindow = NULL;
m_opened = false;
}
Graphic::GraphicSystem::Instance()->SetUIDrawCallBack(NULL);
}
void GUIServer::OnWindowResized()
@ -136,6 +163,11 @@ namespace App
{
m_guiRoot.ExitGuiScript();
ForceDestroyGuiScript();
}
void GUIServer::ForceDestroyGuiScript()
{
m_guiRoot.Destroy();
m_guiEvent.Destroy();
}
@ -346,20 +378,31 @@ namespace App
return mygui_key;
}
MyGUI::MouseButton GUIServer::MouseButtonToMyGUI(Input::InputMouseButton::Code btn)
{
switch(btn)
{
case Input::InputMouseButton::LeftButton:
return MyGUI::MouseButton::Left;
case Input::InputMouseButton::RightButton:
return MyGUI::MouseButton::Right;
case Input::InputMouseButton::MiddleButton:
return MyGUI::MouseButton::Middle;
default:
return MyGUI::MouseButton::None;
}
}
void GUIServer::_initMyGUI()
{
n_assert(NULL == m_platform);
n_assert(NULL == m_gui);
m_platform = n_new(GenesisPlatform);
GenesisTexture::SetResourcePath(g_uiPath);
GenesisRenderManager::SetResourcePath(g_uiPath);
GenesisDataManager::getInstance().SetResourcePath(g_uiPath);
std::string uilog;
#ifdef __WIN32__
if (m_engineDir.Length())
if (m_logDir.Length())
{
uilog = m_engineDir.AsCharPtr();
uilog = m_logDir.AsCharPtr();
uilog += "\\gui.log";
}
#endif
@ -368,19 +411,17 @@ namespace App
m_gui = n_new(Gui);
m_gui->initialise(m_coreFile.AsCharPtr());
Graphic::GraphicSystem::Instance()->SetUIDrawCallBack(_drawUI);
Graphic::GraphicSystem::Instance()->SetUIBeforeDrawCallBack(_beforeDraw);
MyGUI::PointerManager::getInstance().setVisible(false);
m_guiScene = n_new(GuiScene);
m_guiScene->Setup();
}
void GUIServer::_initScript()
{
m_guiRoot.Init();
m_guiEvent.Init();
}
void GUIServer::_drawUI()
{
Instance()->_renderUI();
}
void GUIServer::_renderUI()
{
@ -393,18 +434,14 @@ namespace App
}
if (vpw->GetNeedUpdate())
{
Graphic::GraphicSystem::Instance()->SetCurrentTargetWindow(vpw, RenderBase::RenderTarget::ClearNone);
GetPlatform()->getRenderManagerPtr()->renderGUI((float)App::GameTime::Instance()->GetFrameTime());
//Graphic::GraphicSystem::Instance()->_SetBackBuffer(vpw);
m_platform->getRenderManagerPtr()->renderGUI((float)App::GameTime::Instance()->GetFrameTime());
}
}
}
void GUIServer::_beforeDraw()
{
if (HasInstance())
{
Instance()->eventBeforeDrawUI((void*)Instance());
}
eventBeforeDrawUI((void*)Instance());
}
}

View File

@ -30,12 +30,13 @@ THE SOFTWARE.
#include "util/string.h"
#include "input/base/inputkeyboardbase.h"
#include "input/base/inputmousebase.h"
#include "guiroot.h"
#include "guievent.h"
#include "guifeature/guiroot.h"
#include "guifeature/guievent.h"
#include "foundation/delegates/delegatetype.h"
#define GUI_ROOT_CONFIG "gui_core.xml"
#define GUI_DEFAULT_LOCATION "asset:UIMedia/"
namespace MyGUI
{
class GenesisPlatform;
@ -43,11 +44,12 @@ namespace MyGUI
namespace Graphic
{
class ViewPortWindow;
class MaterialInstance;
}
namespace App
{
//typedef MyGUI::delegates::CMultiDelegate1<void*> EventHandle_BeforeDrawVoid;
class GuiScene;
typedef Delegates::delegates::CMultiDelegate1<void*> EventHandle_BeforeDrawVoid;
@ -57,12 +59,13 @@ namespace App
__DeclareImageSingleton(GUIServer);
public:
virtual ~GUIServer();
void SetCoreFile(const char* core);
void SetEngineDir(const Util::String& dir);
void SetCoreFile(const Util::String& core = GUI_ROOT_CONFIG);
bool Open();
void SetLogDir(const Util::String& dir);
void AddMediaLocaltion(const Util::String& path);
void SetCoreFile(const Util::String& core);
void Open();
bool IsOpen();
void Close();
void OnFrame();
void OnWindowResized();
void OnDeviceReseted();
@ -70,12 +73,14 @@ namespace App
Graphic::ViewPortWindow* GetTargetWindow() const;
MyGUI::Gui* GetGui() const;
MyGUI::GenesisPlatform* GetPlatform() const;
GuiEvent& GetGuiEvent();
MyGUI::IntSize GetScreenSize() const;
void InitGuiRootScript();
void ExitGuiScript();
void ForceDestroyGuiScript();
bool StartTick(bool start);
bool GetVisible();
@ -86,39 +91,35 @@ namespace App
bool AutoResolutionWidth();
bool AutoResolutionHeight();
Graphic::MaterialInstance* GetGuiMaterial() const;
EventHandle_BeforeDrawVoid eventBeforeDrawUI;
static MyGUI::KeyCode KeyCodeWJtoMyGUI(Input::InputKey::Code key);
static MyGUI::MouseButton MouseButtonToMyGUI(Input::InputMouseButton::Code btn);
void _renderUI();
private:
MyGUI::GenesisPlatform* GetPlatform() const;
void _initMyGUI();
void _initScript();
void _renderUI();
static void _beforeDraw();
static void _drawUI();
void _beforeDraw();
Graphic::ViewPortWindow* m_targetWindow;
MyGUI::Gui* m_gui;
MyGUI::GenesisPlatform* m_platform;
GuiScene* m_guiScene;
bool m_visible;
Util::String m_coreFile;
Util::String m_engineDir;
Util::String m_logDir;
GuiRoot m_guiRoot; //reference of a c# object.
GuiEvent m_guiEvent; //used for event between c++ and c#.
bool m_opened;
GUIServer();
};
inline void GUIServer::SetTargetWindow(Graphic::ViewPortWindow* vpw)
{
m_targetWindow = vpw;
OnWindowResized();
}
inline Graphic::ViewPortWindow* GUIServer::GetTargetWindow() const
{
return m_targetWindow;
@ -128,6 +129,7 @@ namespace App
{
return m_gui;
}
inline MyGUI::GenesisPlatform* GUIServer::GetPlatform() const
{
return m_platform;

View File

@ -416,6 +416,9 @@ namespace App
mRenderObject = RenderObjectType::Create();
}
mRenderObject->SetOwner(this);
#ifdef __GENESIS_EDITOR__
mRenderObject->SetEditorVisible(m_bEidtorVis);
#endif
mRenderObject->SetTransform(mActor->GetWorldTransform());
_AttachRenderObject();
mIsBuild = true;
@ -480,7 +483,7 @@ namespace App
void ParticleRenderComponent::SetEditorVisible(bool bVis)
{
Super::SetEditorVisible(bVis);
if (IsActive())
if (IsActive() && mRenderObject.isvalid())
{
mRenderObject->SetEditorVisible(bVis);
}

View File

@ -93,6 +93,7 @@ namespace App
Math::matrix44 vp = camera->GetViewProjTransform();
gModleMaterix = Math::matrix44::multiply(vp,gModleMaterix);
particleRC->GetParticleSystem()->SetShaderParam();
rightVec4.set_w(0.0);
pGMP->SetVectorParam(eGShaderParticleUpVec,Math::float4::normalize(upVector4));
pGMP->SetVectorParam(eGShaderParticleRightVec,Math::float4::normalize(rightVec4));
}

View File

@ -21,7 +21,7 @@ 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.
****************************************************************************/
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
#include "stdneb.h"
#include "PhysicsBodyComponent.h"
#include "appframework/actor.h"

View File

@ -21,7 +21,7 @@ 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.
****************************************************************************/
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
#include "stdneb.h"
#include "physXfeature/PhysicsBodyComponent.h"
#include "physicsCore/PhysicsDynamic.h"

View File

@ -21,7 +21,7 @@ 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.
****************************************************************************/
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
#include "stdneb.h"
#include "profilesystem/ProfileSystem.h"
#include "PhysicsFeature.h"

View File

@ -21,7 +21,7 @@ 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.
****************************************************************************/
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined(__GENESIS_EDITOR__)
#include "stdneb.h"
#include "appframework/actor.h"
#include "PhysicsBoxShape.h"
@ -70,15 +70,11 @@ namespace App
void PhysicsBoxShape::OnResize(const Math::bbox& bb)
{
const Math::bbox& _box = bb;
Math::vector _value = _box.size();
Math::vector _value = bb.size();
if (!Math::n_nearequal(_value.length(),0.0f,0.001f))
{
m_Dimension.set(_value.x(), _value.y(), _value.z());
}
Math::vector _center(_box.center().x(), _box.center().y(), _box.center().z());
_value = _center*m_ActorScale;
m_Center.set(_value.x(), _value.y(), _value.z());
}
void PhysicsBoxShape::SetDimension( const Math::float3& dimension )

View File

@ -21,7 +21,7 @@ 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.
****************************************************************************/
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
#include "stdneb.h"
#include "appframework/actor.h"
#include "PhysicsCapsuleShape.h"
@ -69,13 +69,9 @@ namespace App
void PhysicsCapsuleShape::OnResize(const Math::bbox& bb)
{
const Math::bbox& _box = bb;
Math::vector _center(_box.center().x(), _box.center().y(), _box.center().z());
Math::vector _value = _center*m_ActorScale;
m_Center.set(_value.x(), _value.y(), _value.z());
if (!Math::n_nearequal(_box.size().length(),0.0f,0.001f))
if (!Math::n_nearequal(bb.size().length(),0.0f,0.001f))
{
Math::float2 _extent = _GetScaledLocalExtent(_box.size(), (Math::scalar)m_Direct);
Math::float2 _extent = _GetScaledLocalExtent(bb.size(), (Math::scalar)m_Direct);
m_Radius = _extent.x();
m_Height = _extent.y();
}
@ -138,8 +134,13 @@ namespace App
if (m_pShape)
{
Math::quaternion _realRotation = Math::quaternion::multiply(m_Rotation, _GetQuatByDirection((Math::scalar)m_Direct));
PxMat44 pos = RotPosToPxMat(m_Center,_realRotation);
Math::float3 bbCenter(0.0f, 0.0f, 0.0f);
if (m_pEntity && m_pEntity->GetBodyCom() && m_pEntity->GetBodyCom()->GetActor())
{
const Math::bbox& bb = m_pEntity->GetBodyCom()->GetActor()->GetLocalBoundingBox();
bbCenter.set(bb.center().x(), bb.center().y(), bb.center().z());
}
PxMat44 pos = RotPosToPxMat(m_Center+bbCenter,_realRotation);
m_pShape->setLocalPose(PxTransform(pos));
}
}

View File

@ -21,7 +21,7 @@ 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.
****************************************************************************/
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
#include "stdneb.h"
#include "appframework/actor.h"
#include "resource/meshres.h"

View File

@ -21,7 +21,7 @@ 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.
****************************************************************************/
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
#include "PxRigidDynamic.h"
#include "PhysicsDynamic.h"
#include "PhysicsServer.h"

View File

@ -21,7 +21,7 @@ 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.
****************************************************************************/
#if __USE_PHYSX__ || __GENESIS_EDITOR__
#if defined (__USE_PHYSX__) || defined (__GENESIS_EDITOR__)
#include "stdneb.h"
#include "appframework/actor.h"
#include "PhysicsEntity.h"

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