diff --git a/Conch/build/conch/proj.android_studio/app/build.gradle b/Conch/build/conch/proj.android_studio/app/build.gradle index c8f2dd4..fb14165 100644 --- a/Conch/build/conch/proj.android_studio/app/build.gradle +++ b/Conch/build/conch/proj.android_studio/app/build.gradle @@ -1,6 +1,14 @@ apply plugin: 'com.android.application' android { + signingConfigs { + config { + keyAlias 'snowball' + keyPassword 'joychina' + storeFile file("../key/snowball") + storePassword 'joychina' + } + } compileSdkVersion 28 buildToolsVersion "28.0.0" useLibrary 'org.apache.http.legacy' @@ -9,8 +17,8 @@ android { applicationId "com.layabox.conch6" minSdkVersion 14 targetSdkVersion 28 - versionCode 17 - versionName "release-2.9.0" + versionCode 19 + versionName "release-2.11.0" } sourceSets.main{ jniLibs.srcDir 'libs' @@ -19,11 +27,13 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.config } debug { debuggable true jniDebuggable true renderscriptDebuggable true + signingConfig signingConfigs.config } } /* externalNativeBuild { diff --git a/Conch/build/conch/proj.android_studio/conch5/build.gradle b/Conch/build/conch/proj.android_studio/conch5/build.gradle index 3082116..f67a11f 100644 --- a/Conch/build/conch/proj.android_studio/conch5/build.gradle +++ b/Conch/build/conch/proj.android_studio/conch5/build.gradle @@ -9,8 +9,8 @@ android { defaultConfig { minSdkVersion 14 targetSdkVersion 28 - versionCode 17 - versionName "release-2.9.0" + versionCode 19 + versionName "release-2.11.0" } sourceSets.main{ jniLibs.srcDir 'libs' diff --git a/Conch/build/conch/proj.android_studio/conch5/libs/arm64-v8a/liblayaair.so b/Conch/build/conch/proj.android_studio/conch5/libs/arm64-v8a/liblayaair.so index e5335c1..70a770d 100644 Binary files a/Conch/build/conch/proj.android_studio/conch5/libs/arm64-v8a/liblayaair.so and b/Conch/build/conch/proj.android_studio/conch5/libs/arm64-v8a/liblayaair.so differ diff --git a/Conch/build/conch/proj.android_studio/conch5/libs/armeabi-v7a/liblayaair.so b/Conch/build/conch/proj.android_studio/conch5/libs/armeabi-v7a/liblayaair.so index 6bb6f28..9a41c05 100644 Binary files a/Conch/build/conch/proj.android_studio/conch5/libs/armeabi-v7a/liblayaair.so and b/Conch/build/conch/proj.android_studio/conch5/libs/armeabi-v7a/liblayaair.so differ diff --git a/Conch/build/conch/proj.android_studio/conch5/libs/x86/liblayaair.so b/Conch/build/conch/proj.android_studio/conch5/libs/x86/liblayaair.so index 5c524c5..c08ad17 100644 Binary files a/Conch/build/conch/proj.android_studio/conch5/libs/x86/liblayaair.so and b/Conch/build/conch/proj.android_studio/conch5/libs/x86/liblayaair.so differ diff --git a/Conch/build/conch/proj.android_studio/conch5/src/main/assets/scripts/apploader.js b/Conch/build/conch/proj.android_studio/conch5/src/main/assets/scripts/apploader.js index 5df3cb9..a3378e9 100644 --- a/Conch/build/conch/proj.android_studio/conch5/src/main/assets/scripts/apploader.js +++ b/Conch/build/conch/proj.android_studio/conch5/src/main/assets/scripts/apploader.js @@ -2835,6 +2835,7 @@ class GLCommandEncoder { } getExtension(name) { var extention = this._layagl._nativeObj.getStringEx(0x1F03); + let version = this._layagl._nativeObj.getStringEx(0x1F02); let extentions = extention.split(' '); function supports(extention) { for (let ext of extentions) { @@ -2860,7 +2861,7 @@ class GLCommandEncoder { (extention.indexOf('GL_EXT_shader_texture_lod') != -1 || extention.indexOf('GL_ARB_shader_texture_lod') != -1)) { return {}; } - else if (name === 'OES_element_index_uint' && extention.indexOf('GL_OES_element_index_uint') != -1) { + else if (name === 'OES_element_index_uint' && (extention.indexOf('GL_OES_element_index_uint') != -1)) { return {}; } else if (name === 'EXT_sRGB' && extention.indexOf('GL_EXT_sRGB') != -1) { @@ -2915,13 +2916,16 @@ class GLCommandEncoder { TEXTURE_MAX_ANISOTROPY_EXT: 34046, }; } - else if (name.indexOf('ANGLE_instanced_arrays') != -1 && (conchConfig.glCaps & GL_CAPS.INSTANCEING)) { + else if (name.indexOf('ANGLE_instanced_arrays') != -1 && ((extention.indexOf('_instanced_arrays') != -1) || version.indexOf("OpenGL ES 3.") != -1)) { return new ANGLEInstancedArrays(this); } - else if (name.indexOf('OES_vertex_array_object') != -1 && extention.indexOf('GL_OES_vertex_array_object') != -1) { + else if (name.indexOf('OES_vertex_array_object') != -1 && (extention.indexOf('GL_OES_vertex_array_object') != -1)) { return new OESVertexArrayObject(this); } - else if (name.indexOf('OES_texture_half_float') != -1 && extention.indexOf('GL_OES_texture_half_float') != -1) { + else if (name.indexOf('OES_texture_float') != -1 && extention.indexOf('GL_OES_texture_float') != -1) { + return {}; + } + else if (name.indexOf('OES_texture_half_float') != -1 && (extention.indexOf('GL_OES_texture_half_float') != -1)) { return { HALF_FLOAT_OES: 36193 }; } else if (name.indexOf('OES_texture_half_float_linear') != -1 && extention.indexOf('GL_OES_texture_half_float_linear') != -1) { diff --git a/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/browser/ExportJavaFunction.java b/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/browser/ExportJavaFunction.java index 1d21baa..e96d2df 100644 --- a/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/browser/ExportJavaFunction.java +++ b/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/browser/ExportJavaFunction.java @@ -955,7 +955,7 @@ public class ExportJavaFunction m_Handler.post(new _Runnable(nCmd, nParam1, nParam2)); } //------------------------------------------------------------------------------ - public static String getWifiMac() + /*public static String getWifiMac() { ExportJavaFunction exp = ExportJavaFunction.GetInstance(); if(exp==null ) @@ -967,7 +967,7 @@ public class ExportJavaFunction return (wifi==null)?"":wifi; } return ""; - } + }*/ //------------------------------------------------------------------------------ public static String getAndroidModel() { @@ -1103,7 +1103,7 @@ public class ExportJavaFunction int temp[]=pDevID.GetResolutionArray(); obj.put("dpi", temp[2]); obj.put("resolution",temp[1]+"*"+temp[0]); - obj.put("guid",pDevID.GetWifiMac()); + //obj.put("guid",pDevID.GetWifiMac()); obj.put("imei", imeiArr); obj.put("imsi", imsiArr); obj.put("os", "android"); diff --git a/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/browser/TouchFilter.java b/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/browser/TouchFilter.java index 3d7f2d2..0c1a962 100644 --- a/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/browser/TouchFilter.java +++ b/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/browser/TouchFilter.java @@ -1,5 +1,7 @@ package layaair.game.browser; +import android.app.Activity; +import android.util.DisplayMetrics; import android.util.Log; import android.view.MotionEvent; @@ -40,7 +42,13 @@ public class TouchFilter m_vTouches[i].m_nLastMoveY = 0; m_vTouches[i].m_nTouchState = TouchPoint.PTSTATE_NOTOUCH; } - setMoveRangeMM( 0.8f ); + setMoveRangeMM( getScreenDPI() * 2 ); + + } + public int getScreenDPI() { + ExportJavaFunction exp = ExportJavaFunction.GetInstance(); + DisplayMetrics metrics = ((Activity)exp.m_pEngine.mCtx).getApplicationContext().getResources().getDisplayMetrics(); + return (int)(metrics.density * 160f); } //外部设置移动的偏差毫米为单位 @@ -49,6 +57,7 @@ public class TouchFilter //毫米转英寸 float fInch = (float) (p_fMM/10.0f*0.3937008); m_nMovRange = Math.round( fInch ); + Log.i("LayaBox", "TouchFilter getScreenDPI() " + getScreenDPI() + " TouchFilter m_nMovRange " + m_nMovRange); } TouchPoint GetTouchPt(int p_nID) diff --git a/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/device/DevID.java b/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/device/DevID.java index 3bac0f5..7247fdd 100644 --- a/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/device/DevID.java +++ b/Conch/build/conch/proj.android_studio/conch5/src/main/java/layaair/game/device/DevID.java @@ -30,11 +30,11 @@ public class DevID String devsn = GetDevSerial(); if( devsn!=null && devsn.length()>0) return devsn; - String wifimac = GetWifiMac(); + /*String wifimac = GetWifiMac(); if( wifimac !=null && wifimac.length()>0 ) { return wifimac.replace(":", ""); - } + }*/ String androidid = GetAndroidID(); if( androidid!=null && androidid.length()>0 ) return androidid; @@ -139,13 +139,13 @@ public class DevID } else return "NA"; return res; } - public String GetWifiMac() + /*public String GetWifiMac() { String mac= getMac(); return mac; //WifiManager wm = (WifiManager) m_Context.getApplicationContext().getSystemService(Context.WIFI_SERVICE); //return wm.getConnectionInfo().getMacAddress(); - } + }*/ private static String parseByte(byte b) { String s = "00" + Integer.toHexString(b)+":"; diff --git a/Conch/build/conch/proj.ios/LayaBox.xcodeproj/project.pbxproj b/Conch/build/conch/proj.ios/LayaBox.xcodeproj/project.pbxproj index d752b0b..2a87668 100644 --- a/Conch/build/conch/proj.ios/LayaBox.xcodeproj/project.pbxproj +++ b/Conch/build/conch/proj.ios/LayaBox.xcodeproj/project.pbxproj @@ -801,7 +801,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 17; + CURRENT_PROJECT_VERSION = 19; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = MH4ZKZTS68; ENABLE_BITCODE = NO; @@ -823,7 +823,7 @@ ../../../../ThirdParty/curl/lib/ios, ../../../../ThirdParty/bullet/lib/ios, ); - MARKETING_VERSION = "release-2.9.0"; + MARKETING_VERSION = "release-2.11.0"; OTHER_CFLAGS = "-I../../../include/conchRuntime"; OTHER_LDFLAGS = ( "-lcurl", @@ -859,7 +859,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 17; + CURRENT_PROJECT_VERSION = 19; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = MH4ZKZTS68; ENABLE_BITCODE = NO; @@ -882,7 +882,7 @@ ../../../../ThirdParty/curl/lib/ios, ../../../../ThirdParty/bullet/lib/ios, ); - MARKETING_VERSION = "release-2.9.0"; + MARKETING_VERSION = "release-2.11.0"; OTHER_CFLAGS = "-I../../../include/conchRuntime"; OTHER_LDFLAGS = ( "-lcurl", diff --git a/Conch/build/conch/proj.ios/LayaBox/ViewController.mm b/Conch/build/conch/proj.ios/LayaBox/ViewController.mm index 2ce6bb9..528bf9c 100644 --- a/Conch/build/conch/proj.ios/LayaBox/ViewController.mm +++ b/Conch/build/conch/proj.ios/LayaBox/ViewController.mm @@ -26,12 +26,12 @@ static ViewController* g_pIOSMainViewController = nil; [super viewDidLoad]; //保持屏幕常亮,可以通过脚本设置 [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; - self->m_pGLContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3]; + /*self->m_pGLContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3]; if (self->m_pGLContext) { NSLog(@"iOS OpenGL ES 3.0 context created"); } - else + else*/ { self->m_pGLContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2]; if (self->m_pGLContext) diff --git a/Conch/build/conch/proj.ios/resource/scripts/apploader.js b/Conch/build/conch/proj.ios/resource/scripts/apploader.js index 5df3cb9..a3378e9 100644 --- a/Conch/build/conch/proj.ios/resource/scripts/apploader.js +++ b/Conch/build/conch/proj.ios/resource/scripts/apploader.js @@ -2835,6 +2835,7 @@ class GLCommandEncoder { } getExtension(name) { var extention = this._layagl._nativeObj.getStringEx(0x1F03); + let version = this._layagl._nativeObj.getStringEx(0x1F02); let extentions = extention.split(' '); function supports(extention) { for (let ext of extentions) { @@ -2860,7 +2861,7 @@ class GLCommandEncoder { (extention.indexOf('GL_EXT_shader_texture_lod') != -1 || extention.indexOf('GL_ARB_shader_texture_lod') != -1)) { return {}; } - else if (name === 'OES_element_index_uint' && extention.indexOf('GL_OES_element_index_uint') != -1) { + else if (name === 'OES_element_index_uint' && (extention.indexOf('GL_OES_element_index_uint') != -1)) { return {}; } else if (name === 'EXT_sRGB' && extention.indexOf('GL_EXT_sRGB') != -1) { @@ -2915,13 +2916,16 @@ class GLCommandEncoder { TEXTURE_MAX_ANISOTROPY_EXT: 34046, }; } - else if (name.indexOf('ANGLE_instanced_arrays') != -1 && (conchConfig.glCaps & GL_CAPS.INSTANCEING)) { + else if (name.indexOf('ANGLE_instanced_arrays') != -1 && ((extention.indexOf('_instanced_arrays') != -1) || version.indexOf("OpenGL ES 3.") != -1)) { return new ANGLEInstancedArrays(this); } - else if (name.indexOf('OES_vertex_array_object') != -1 && extention.indexOf('GL_OES_vertex_array_object') != -1) { + else if (name.indexOf('OES_vertex_array_object') != -1 && (extention.indexOf('GL_OES_vertex_array_object') != -1)) { return new OESVertexArrayObject(this); } - else if (name.indexOf('OES_texture_half_float') != -1 && extention.indexOf('GL_OES_texture_half_float') != -1) { + else if (name.indexOf('OES_texture_float') != -1 && extention.indexOf('GL_OES_texture_float') != -1) { + return {}; + } + else if (name.indexOf('OES_texture_half_float') != -1 && (extention.indexOf('GL_OES_texture_half_float') != -1)) { return { HALF_FLOAT_OES: 36193 }; } else if (name.indexOf('OES_texture_half_float_linear') != -1 && extention.indexOf('GL_OES_texture_half_float_linear') != -1) { diff --git a/Conch/source/conch/JSWrapper/JSInterface/JSC/JSCProxyTLS.h b/Conch/source/conch/JSWrapper/JSInterface/JSC/JSCProxyTLS.h index 401d603..ce790d7 100644 --- a/Conch/source/conch/JSWrapper/JSInterface/JSC/JSCProxyTLS.h +++ b/Conch/source/conch/JSWrapper/JSInterface/JSC/JSCProxyTLS.h @@ -104,20 +104,27 @@ namespace laya JSStringRef jsLinePropertyName = JSStringCreateWithUTF8CString("line"); JSStringRef jsColumnPropertyName = JSStringCreateWithUTF8CString("column"); JSStringRef jsUrlPropertyName = JSStringCreateWithUTF8CString("sourceURL"); + JSStringRef jsStackPropertyName = JSStringCreateWithUTF8CString("stack"); JSObjectRef exObject = JSValueToObject( pContext, exception, NULL ); JSValueRef line = JSObjectGetProperty( pContext, exObject, jsLinePropertyName, NULL ); JSValueRef column = JSObjectGetProperty( pContext, exObject, jsColumnPropertyName, NULL ); JSValueRef url = JSObjectGetProperty( pContext, exObject, jsUrlPropertyName, NULL ); + JSValueRef stack = JSObjectGetProperty( pContext, exObject, jsStackPropertyName, NULL ); char *pEx = __ToCppString(exception,pContext); char *pLine = __ToCppString(line,pContext); char *pColumn = __ToCppString(column,pContext); char *pUrl = __ToCppString(url,pContext); - + if (stack != NULL && JSValueGetType(pContext, stack) == kJSTypeString) + { + pStack = __ToCppString(stack,pContext); + } //通知全局错误处理脚本 std::string kBuf = "if(conch.onerror){conch.onerror('"; kBuf += UrlEncode(pEx); - kBuf += "','undefined','"; + kBuf += "','"; + kBuf += UrlEncode(pStack.c_str()); + kBuf += "','"; kBuf += UrlEncode(pLine); kBuf += "','"; kBuf += UrlEncode(pColumn); @@ -142,6 +149,7 @@ namespace laya JSStringRelease(jsLinePropertyName); JSStringRelease(jsColumnPropertyName); JSStringRelease(jsUrlPropertyName); + JSStringRelease(jsStackPropertyName); } } diff --git a/Conch/source/conch/JSWrapper/LayaWrap/Bullet/LayaBulletExport.cpp b/Conch/source/conch/JSWrapper/LayaWrap/Bullet/LayaBulletExport.cpp index 8269826..7ca626a 100644 --- a/Conch/source/conch/JSWrapper/LayaWrap/Bullet/LayaBulletExport.cpp +++ b/Conch/source/conch/JSWrapper/LayaWrap/Bullet/LayaBulletExport.cpp @@ -646,6 +646,13 @@ pointer_t WASM_EXP AllConvexResultCallback_get_m_collisionObjects(pointer_t ptr) } //btCollisionShape + +int WASM_EXP btCollisionShape_getShapeType(pointer_t ptr) +{ + btCollisionShape *shape = (btCollisionShape *)ptr; + return shape->getShapeType(); +} + pointer_t WASM_EXP btCollisionShape_getLocalScaling(pointer_t ptr) { btCollisionShape *shape = (btCollisionShape *)ptr; @@ -676,7 +683,18 @@ pointer_t WASM_EXP btBoxShape_create(pointer_t boxHalfExtents) return (pointer_t) new btBoxShape(*(btVector3 *)boxHalfExtents); } +void WASM_EXP btBoxShape_getAabb(pointer_t ptr, pointer_t t, pointer_t aabbMin, pointer_t aabbMax) +{ + btBoxShape *shape = (btBoxShape *)ptr; + shape->getAabb(*(btTransform *)t, *(btVector3 *)aabbMin, *(btVector3 *)aabbMax); +} +pointer_t WASM_EXP btBoxShape_getHalfExtentsWithMargin(pointer_t ptr, pointer_t t, pointer_t aabbMin, pointer_t aabbMax) +{ + btBoxShape *shape = (btBoxShape *)ptr; + tempbtVector3 = shape->getHalfExtentsWithMargin(); + return (pointer_t)&tempbtVector3; +} //btCapsuleShape pointer_t WASM_EXP btCapsuleShape_create(btScalar radius, btScalar height) @@ -1256,6 +1274,18 @@ void WASM_EXP btKinematicCharacterController_setStepHeight(pointer_t ptr, btScal character->setStepHeight(h); } +void WASM_EXP btKinematicCharacterController_setMaxPenetrationDepth(pointer_t ptr, btScalar d) +{ + btKinematicCharacterController *character = (btKinematicCharacterController *)ptr; + character->setMaxPenetrationDepth(d); +} + +btScalar WASM_EXP btKinematicCharacterController_getMaxPenetrationDepth(pointer_t ptr) +{ + btKinematicCharacterController *character = (btKinematicCharacterController *)ptr; + return character->getMaxPenetrationDepth(); +} + void WASM_EXP btKinematicCharacterController_destroy(pointer_t ptr) { btKinematicCharacterController *character = (btKinematicCharacterController *)ptr; diff --git a/Conch/source/conch/JSWrapper/LayaWrap/Bullet/LayaBulletExport.h b/Conch/source/conch/JSWrapper/LayaWrap/Bullet/LayaBulletExport.h index b0dfbff..aec3d85 100644 --- a/Conch/source/conch/JSWrapper/LayaWrap/Bullet/LayaBulletExport.h +++ b/Conch/source/conch/JSWrapper/LayaWrap/Bullet/LayaBulletExport.h @@ -154,11 +154,15 @@ namespace laya pointer_t AllConvexResultCallback_get_m_hitPointWorld(pointer_t ptr); pointer_t AllConvexResultCallback_get_m_hitFractions(pointer_t ptr); pointer_t AllConvexResultCallback_get_m_collisionObjects(pointer_t ptr); + + int btCollisionShape_getShapeType(pointer_t ptr); pointer_t btCollisionShape_getLocalScaling(pointer_t ptr); void btCollisionShape_setLocalScaling(pointer_t ptr, pointer_t scaling); void btCollisionShape_calculateLocalInertia(pointer_t ptr, btScalar mass, pointer_t inertia); void btCollisionShape_destroy(pointer_t ptr); pointer_t btBoxShape_create(pointer_t boxHalfExtents); + void btBoxShape_getAabb(pointer_t ptr, pointer_t t, pointer_t aabbMin, pointer_t aabbMax); + pointer_t btBoxShape_getHalfExtentsWithMargin(pointer_t ptr, pointer_t t, pointer_t aabbMin, pointer_t aabbMax); pointer_t btCapsuleShape_create(btScalar radius, btScalar height); pointer_t btCapsuleShapeX_create(btScalar radius, btScalar height); pointer_t btCapsuleShapeZ_create(btScalar radius, btScalar height); @@ -220,6 +224,8 @@ namespace laya void btRigidBody_setGravity(pointer_t ptr, pointer_t acceleration); void btKinematicCharacterController_setUp(pointer_t ptr, pointer_t up); void btKinematicCharacterController_setStepHeight(pointer_t ptr, btScalar h); + void btKinematicCharacterController_setMaxPenetrationDepth(pointer_t ptr, btScalar d); + btScalar btKinematicCharacterController_getMaxPenetrationDepth(pointer_t ptr); void btCollisionObject_setInterpolationWorldTransform(pointer_t ptr, pointer_t worldTrans); void btCollisionObject_setWorldTransform(pointer_t ptr, pointer_t worldTrans); pointer_t btRigidBody_getTotalForce(pointer_t ptr); diff --git a/Conch/source/conch/JSWrapper/LayaWrap/JSConchConfig.cpp b/Conch/source/conch/JSWrapper/LayaWrap/JSConchConfig.cpp index 3891502..8a68dba 100644 --- a/Conch/source/conch/JSWrapper/LayaWrap/JSConchConfig.cpp +++ b/Conch/source/conch/JSWrapper/LayaWrap/JSConchConfig.cpp @@ -321,13 +321,14 @@ namespace laya m_sGUID = CToObjectCGetGUID(); return m_sGUID.c_str(); #elif ANDROID - CToJavaBridge::JavaRet kRet; + /*CToJavaBridge::JavaRet kRet; if (CToJavaBridge::GetInstance()->callMethod(CToJavaBridge::JavaClass.c_str(), "getWifiMac", kRet)) { m_sGUID = CToJavaBridge::GetInstance()->getJavaString(kRet.pJNI, kRet.strRet); } LOGI("getGuid::get_Value=%s", m_sGUID.c_str()); - return m_sGUID.c_str(); + return m_sGUID.c_str();*/ + return "android"; #elif WIN32 return "window"; #endif @@ -335,11 +336,11 @@ namespace laya const char* JSConchConfig::getRuntimeVersion() { #ifdef __APPLE__ - return "ios-conch6-release-2.9.0"; + return "ios-conch6-release-2.11.0"; #elif ANDROID - return "android-conch6-release-2.9.0"; + return "android-conch6-release-2.11.0"; #elif WIN32 - return "window-conch6-release-2.9.0"; + return "window-conch6-release-2.11.0"; #endif } const char* JSConchConfig::getAppVersion() diff --git a/Conch/source/domsupport/LayaGL.ts b/Conch/source/domsupport/LayaGL.ts index d93516b..efcef0d 100644 --- a/Conch/source/domsupport/LayaGL.ts +++ b/Conch/source/domsupport/LayaGL.ts @@ -1303,7 +1303,7 @@ class GLCommandEncoder getExtension(name:string):any { var extention:string = this._layagl._nativeObj.getStringEx(0x1F03);/*GL_EXTENSIONS*/ - + let version:string = this._layagl._nativeObj.getStringEx(0x1F02); let extentions:string[] = extention.split(' '); function supports(extention:string) { @@ -1337,7 +1337,7 @@ class GLCommandEncoder { return {}; } - else if (name === 'OES_element_index_uint' && extention.indexOf('GL_OES_element_index_uint') != -1) + else if (name === 'OES_element_index_uint' && (extention.indexOf('GL_OES_element_index_uint') != -1)) { return {}; } @@ -1400,15 +1400,19 @@ class GLCommandEncoder TEXTURE_MAX_ANISOTROPY_EXT : 34046, }; } - else if (name.indexOf('ANGLE_instanced_arrays') != -1 && (conchConfig.glCaps & GL_CAPS.INSTANCEING)) + else if (name.indexOf('ANGLE_instanced_arrays') != -1 && ((extention.indexOf('_instanced_arrays') != -1) || version.indexOf("OpenGL ES 3.") != -1)) { return new ANGLEInstancedArrays(this); } - else if (name.indexOf('OES_vertex_array_object') != -1 && extention.indexOf('GL_OES_vertex_array_object') != -1) + else if (name.indexOf('OES_vertex_array_object') != -1 && (extention.indexOf('GL_OES_vertex_array_object') != -1)) { return new OESVertexArrayObject(this); } - else if (name.indexOf('OES_texture_half_float') != -1 && extention.indexOf('GL_OES_texture_half_float') != -1) + else if (name.indexOf('OES_texture_float') != -1 && extention.indexOf('GL_OES_texture_float') != -1) + { + return {}; + } + else if (name.indexOf('OES_texture_half_float') != -1 && (extention.indexOf('GL_OES_texture_half_float') != -1)) { return {HALF_FLOAT_OES: 36193}; } diff --git a/Conch/source/render/LayaGL/JCLayaGL.cpp b/Conch/source/render/LayaGL/JCLayaGL.cpp index 751a691..83afe75 100644 --- a/Conch/source/render/LayaGL/JCLayaGL.cpp +++ b/Conch/source/render/LayaGL/JCLayaGL.cpp @@ -824,13 +824,12 @@ namespace laya { case GL_UNPACK_ALIGNMENT: case GL_PACK_ALIGNMENT: - return; + ::glPixelStorei(pname, param); break; case 0x9240://UNPACK_FLIP_Y_WEBGL m_bFlipY = (param != 0); break; } - ::glPixelStorei(pname, param); #ifdef DEBUG_WEBGL LOGI("pixelStorei name=%d,param=%d", pname, param); getError(); @@ -948,7 +947,7 @@ namespace laya void JCLayaGL::_texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels) { if (format != GL_RGBA) { - ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + // ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); } if (pixels == NULL) { @@ -974,7 +973,7 @@ namespace laya } if (format != GL_RGBA) { - ::glPixelStorei(GL_UNPACK_ALIGNMENT, 4); + // ::glPixelStorei(GL_UNPACK_ALIGNMENT, 4); } } void JCLayaGL::flipY(GLenum format, GLsizei width, GLsizei height, void* pixels) @@ -1026,9 +1025,9 @@ namespace laya } if (format != GL_RGBA) { - ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + //::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); ::glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); - ::glPixelStorei(GL_UNPACK_ALIGNMENT, 4); + //::glPixelStorei(GL_UNPACK_ALIGNMENT, 4); } else { diff --git a/Redist/scripts/apploader.js b/Redist/scripts/apploader.js index 5df3cb9..a3378e9 100644 --- a/Redist/scripts/apploader.js +++ b/Redist/scripts/apploader.js @@ -2835,6 +2835,7 @@ class GLCommandEncoder { } getExtension(name) { var extention = this._layagl._nativeObj.getStringEx(0x1F03); + let version = this._layagl._nativeObj.getStringEx(0x1F02); let extentions = extention.split(' '); function supports(extention) { for (let ext of extentions) { @@ -2860,7 +2861,7 @@ class GLCommandEncoder { (extention.indexOf('GL_EXT_shader_texture_lod') != -1 || extention.indexOf('GL_ARB_shader_texture_lod') != -1)) { return {}; } - else if (name === 'OES_element_index_uint' && extention.indexOf('GL_OES_element_index_uint') != -1) { + else if (name === 'OES_element_index_uint' && (extention.indexOf('GL_OES_element_index_uint') != -1)) { return {}; } else if (name === 'EXT_sRGB' && extention.indexOf('GL_EXT_sRGB') != -1) { @@ -2915,13 +2916,16 @@ class GLCommandEncoder { TEXTURE_MAX_ANISOTROPY_EXT: 34046, }; } - else if (name.indexOf('ANGLE_instanced_arrays') != -1 && (conchConfig.glCaps & GL_CAPS.INSTANCEING)) { + else if (name.indexOf('ANGLE_instanced_arrays') != -1 && ((extention.indexOf('_instanced_arrays') != -1) || version.indexOf("OpenGL ES 3.") != -1)) { return new ANGLEInstancedArrays(this); } - else if (name.indexOf('OES_vertex_array_object') != -1 && extention.indexOf('GL_OES_vertex_array_object') != -1) { + else if (name.indexOf('OES_vertex_array_object') != -1 && (extention.indexOf('GL_OES_vertex_array_object') != -1)) { return new OESVertexArrayObject(this); } - else if (name.indexOf('OES_texture_half_float') != -1 && extention.indexOf('GL_OES_texture_half_float') != -1) { + else if (name.indexOf('OES_texture_float') != -1 && extention.indexOf('GL_OES_texture_float') != -1) { + return {}; + } + else if (name.indexOf('OES_texture_half_float') != -1 && (extention.indexOf('GL_OES_texture_half_float') != -1)) { return { HALF_FLOAT_OES: 36193 }; } else if (name.indexOf('OES_texture_half_float_linear') != -1 && extention.indexOf('GL_OES_texture_half_float_linear') != -1) { diff --git a/publish/nativetools/template/android_eclipse/libs/arm64-v8a/liblayaair.so b/publish/nativetools/template/android_eclipse/libs/arm64-v8a/liblayaair.so index e5335c1..70a770d 100644 Binary files a/publish/nativetools/template/android_eclipse/libs/arm64-v8a/liblayaair.so and b/publish/nativetools/template/android_eclipse/libs/arm64-v8a/liblayaair.so differ diff --git a/publish/nativetools/template/android_eclipse/libs/armeabi-v7a/liblayaair.so b/publish/nativetools/template/android_eclipse/libs/armeabi-v7a/liblayaair.so index 6bb6f28..9a41c05 100644 Binary files a/publish/nativetools/template/android_eclipse/libs/armeabi-v7a/liblayaair.so and b/publish/nativetools/template/android_eclipse/libs/armeabi-v7a/liblayaair.so differ diff --git a/publish/nativetools/template/android_eclipse/libs/layaconch.jar b/publish/nativetools/template/android_eclipse/libs/layaconch.jar index 244bbb6..0c97b0d 100644 Binary files a/publish/nativetools/template/android_eclipse/libs/layaconch.jar and b/publish/nativetools/template/android_eclipse/libs/layaconch.jar differ diff --git a/publish/nativetools/template/android_eclipse/libs/x86/liblayaair.so b/publish/nativetools/template/android_eclipse/libs/x86/liblayaair.so index 5c524c5..c08ad17 100644 Binary files a/publish/nativetools/template/android_eclipse/libs/x86/liblayaair.so and b/publish/nativetools/template/android_eclipse/libs/x86/liblayaair.so differ diff --git a/publish/nativetools/template/android_studio/app/libs/arm64-v8a/liblayaair.so b/publish/nativetools/template/android_studio/app/libs/arm64-v8a/liblayaair.so index e5335c1..70a770d 100644 Binary files a/publish/nativetools/template/android_studio/app/libs/arm64-v8a/liblayaair.so and b/publish/nativetools/template/android_studio/app/libs/arm64-v8a/liblayaair.so differ diff --git a/publish/nativetools/template/android_studio/app/libs/armeabi-v7a/liblayaair.so b/publish/nativetools/template/android_studio/app/libs/armeabi-v7a/liblayaair.so index 6bb6f28..9a41c05 100644 Binary files a/publish/nativetools/template/android_studio/app/libs/armeabi-v7a/liblayaair.so and b/publish/nativetools/template/android_studio/app/libs/armeabi-v7a/liblayaair.so differ diff --git a/publish/nativetools/template/android_studio/app/libs/layaconch.jar b/publish/nativetools/template/android_studio/app/libs/layaconch.jar index 244bbb6..0c97b0d 100644 Binary files a/publish/nativetools/template/android_studio/app/libs/layaconch.jar and b/publish/nativetools/template/android_studio/app/libs/layaconch.jar differ diff --git a/publish/nativetools/template/android_studio/app/libs/x86/liblayaair.so b/publish/nativetools/template/android_studio/app/libs/x86/liblayaair.so index 5c524c5..c08ad17 100644 Binary files a/publish/nativetools/template/android_studio/app/libs/x86/liblayaair.so and b/publish/nativetools/template/android_studio/app/libs/x86/liblayaair.so differ diff --git a/publish/nativetools/template/ios/LayaBox/LayaBox/ViewController.mm b/publish/nativetools/template/ios/LayaBox/LayaBox/ViewController.mm index 3d4c208..3838222 100644 --- a/publish/nativetools/template/ios/LayaBox/LayaBox/ViewController.mm +++ b/publish/nativetools/template/ios/LayaBox/LayaBox/ViewController.mm @@ -25,12 +25,12 @@ static ViewController* g_pIOSMainViewController = nil; [super viewDidLoad]; //保持屏幕常亮,可以通过脚本设置 [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; - self->m_pGLContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3]; + /*self->m_pGLContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3]; if (self->m_pGLContext) { NSLog(@"iOS OpenGL ES 3.0 context created"); } - else + else*/ { self->m_pGLContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2]; if (self->m_pGLContext) diff --git a/publish/nativetools/template/ios/LayaBox/resource/scripts/apploader.js b/publish/nativetools/template/ios/LayaBox/resource/scripts/apploader.js index 5df3cb9..a3378e9 100644 --- a/publish/nativetools/template/ios/LayaBox/resource/scripts/apploader.js +++ b/publish/nativetools/template/ios/LayaBox/resource/scripts/apploader.js @@ -2835,6 +2835,7 @@ class GLCommandEncoder { } getExtension(name) { var extention = this._layagl._nativeObj.getStringEx(0x1F03); + let version = this._layagl._nativeObj.getStringEx(0x1F02); let extentions = extention.split(' '); function supports(extention) { for (let ext of extentions) { @@ -2860,7 +2861,7 @@ class GLCommandEncoder { (extention.indexOf('GL_EXT_shader_texture_lod') != -1 || extention.indexOf('GL_ARB_shader_texture_lod') != -1)) { return {}; } - else if (name === 'OES_element_index_uint' && extention.indexOf('GL_OES_element_index_uint') != -1) { + else if (name === 'OES_element_index_uint' && (extention.indexOf('GL_OES_element_index_uint') != -1)) { return {}; } else if (name === 'EXT_sRGB' && extention.indexOf('GL_EXT_sRGB') != -1) { @@ -2915,13 +2916,16 @@ class GLCommandEncoder { TEXTURE_MAX_ANISOTROPY_EXT: 34046, }; } - else if (name.indexOf('ANGLE_instanced_arrays') != -1 && (conchConfig.glCaps & GL_CAPS.INSTANCEING)) { + else if (name.indexOf('ANGLE_instanced_arrays') != -1 && ((extention.indexOf('_instanced_arrays') != -1) || version.indexOf("OpenGL ES 3.") != -1)) { return new ANGLEInstancedArrays(this); } - else if (name.indexOf('OES_vertex_array_object') != -1 && extention.indexOf('GL_OES_vertex_array_object') != -1) { + else if (name.indexOf('OES_vertex_array_object') != -1 && (extention.indexOf('GL_OES_vertex_array_object') != -1)) { return new OESVertexArrayObject(this); } - else if (name.indexOf('OES_texture_half_float') != -1 && extention.indexOf('GL_OES_texture_half_float') != -1) { + else if (name.indexOf('OES_texture_float') != -1 && extention.indexOf('GL_OES_texture_float') != -1) { + return {}; + } + else if (name.indexOf('OES_texture_half_float') != -1 && (extention.indexOf('GL_OES_texture_half_float') != -1)) { return { HALF_FLOAT_OES: 36193 }; } else if (name.indexOf('OES_texture_half_float_linear') != -1 && extention.indexOf('GL_OES_texture_half_float_linear') != -1) { diff --git a/publish/nativetools/template/ios/LayaRuntime-iOS/libs/libconch.a b/publish/nativetools/template/ios/LayaRuntime-iOS/libs/libconch.a index 153fc91..c676174 100644 Binary files a/publish/nativetools/template/ios/LayaRuntime-iOS/libs/libconch.a and b/publish/nativetools/template/ios/LayaRuntime-iOS/libs/libconch.a differ