Weird, it's not detected by Kaspersky on VirusTotal. Maybe you've selected too agressive detection options in Kaspersky? EDIT: this one is not signed, we could probably sign it.
Printable View
If I ever change the aggressiveness it would be lower not higher, cause it can be annoying having random files being deleted, sometimes without even a warning lol
Anyway, just mentioned cause it can be pretty difficult to install it if it keeps getting into quarantine whenever we download it...
I've signed and re-uploaded the GPG Objects installer, hopefully this fixes the issue (if I've correctly uploaded it...).
Is there anyway to have better / faster clicking instead of having to do this: Attachment 30709
Doing this: Attachment 30710 Is pretty slow and you have miss clicks.
Bug found: Load animations is broken when "Optimize image size in RAM" is disabled.
I exported an object's animations and tried to load them into a separate object within the same MFA. The animations refuse to load no matter what. Enabling optimize image size and exporting the animations again fixes the issue.
MFA file: https://www.mediafire.com/file/n098x..._test.mfa/file
ANM file: https://www.mediafire.com/file/fl5aj..._anim.anm/file
Try this instead:
https://i.imgur.com/fb1JxwB.png
With last beta I got error when I tried to build Android app.
:cf25+: 293.9, Target version 12, API 31
Also I have some extensions, try to build this mfa: Attachment 30716
ErrorLog:
Code:> Task :app:preBuild UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :app:writeReleaseApplicationId
> Task :app:analyticsRecordingRelease
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:generateReleaseResValues
> Task :app:generateReleaseResources
> Task :app:createReleaseCompatibleScreenManifests
> Task :app:extractDeepLinksRelease
> Task :app:processReleaseMainManifest
> Task :app:processReleaseManifest
> Task :app:processApplicationManifestReleaseForBundle
> Task :app:checkReleaseDuplicateClasses
> Task :app:compileReleaseAidl NO-SOURCE
> Task :app:generateReleaseBuildConfig
> Task :app:javaPreCompileRelease
> Task :app:checkReleaseAarMetadata
> Task :app:processReleaseManifestForPackage
> Task :app:desugarReleaseFileDependencies
> Task :app:mergeReleaseShaders
> Task :app:compileReleaseShaders NO-SOURCE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseAssets
> Task :app:processReleaseJavaRes NO-SOURCE
> Task :app:mergeReleaseJniLibFolders
> Task :app:mergeReleaseJavaResource
> Task :app:collectReleaseDependencies
> Task :app:configureReleaseDependencies
> Task :app:parseReleaseIntegrityConfig
> Task :app:writeReleaseAppMetadata
> Task :app:validateSigningRelease
> Task :app:mergeReleaseNativeLibs
> Task :app:stripReleaseDebugSymbols
Unable to strip the following libraries, packaging them as they are: libES1Renderer.so, libES2Renderer.so, libES3Renderer.so, libRuntimeNative.so, libgdx.so.
> Task :app:extractReleaseNativeSymbolTables
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libES1Renderer.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libES2Renderer.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libES3Renderer.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libgdx.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libRuntimeNative.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libES1Renderer.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libES2Renderer.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libES3Renderer.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libgdx.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libRuntimeNative.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libES1Renderer.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libES2Renderer.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libES3Renderer.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libgdx.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libRuntimeNative.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libES1Renderer.so because unable to locate the objcopy executable for the x86_64 ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libES2Renderer.so because unable to locate the objcopy executable for the x86_64 ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libES3Renderer.so because unable to locate the objcopy executable for the x86_64 ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libgdx.so because unable to locate the objcopy executable for the x86_64 ABI.
Unable to extract native debug metadata from D:\Fusion temp\And7932.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libRuntimeNative.so because unable to locate the objcopy executable for the x86_64 ABI.
> Task :app:mergeReleaseResources
> Task :app:mergeExtDexRelease
> Task :app:bundleReleaseResources
> Task :app:processReleaseResources
> Task :app:compileReleaseJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
> Task :app:dexBuilderRelease
> Task :app:mergeDexRelease FAILED
ERROR:: D8: Cannot fit requested classes in a single dex file (# methods: 69468 > 65536)
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:128)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:115)
at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:111)
at com.android.build.gradle.internal.tasks.DexMergingWorkAction.merge(DexMergingTask.kt:805)
at com.android.build.gradle.internal.tasks.DexMergingWorkAction.run(DexMergingTask.kt:760)
at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:206)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:214)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, position: null
at Version.fakeStackEntry(Version_2.2.71.java:0)
at com.android.tools.r8.utils.a0.a(SourceFile:89)
at com.android.tools.r8.D8.run(D8.java:11)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:113)
... 36 more
Caused by: com.android.tools.r8.utils.b: Cannot fit requested classes in a single dex file (# methods: 69468 > 65536)
at com.android.tools.r8.utils.V0.a(SourceFile:22)
at com.android.tools.r8.utils.V0.a(SourceFile:25)
at com.android.tools.r8.dex.P.a(SourceFile:55)
at com.android.tools.r8.dex.P$h.a(SourceFile:7)
at com.android.tools.r8.dex.b.a(SourceFile:14)
at com.android.tools.r8.dex.b.c(SourceFile:30)
at com.android.tools.r8.D8.d(D8.java:163)
at com.android.tools.r8.D8.b(D8.java:1)
at com.android.tools.r8.utils.a0.a(SourceFile:47)
... 38 more
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDexRelease'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingTaskDelegate
> There was a failure while executing work items
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingWorkAction
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 35s
33 actionable tasks: 33 executed
Use target 11 and api 30. 12 and 31 are not yet supported.
Still got an error :(
I think the reason is count of extension, because I tried build empty app with little count of extensions (on API 31 and target version 12), and build was succeful
Code:Starting a Gradle Daemon, 2 incompatible and 1 stopped Daemons could not be reused, use --status for details
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :app:compileDebugRenderscript NO-SOURCE
> Task :app:generateDebugResValues
> Task :app:generateDebugResources
> Task :app:createDebugCompatibleScreenManifests
> Task :app:extractDeepLinksDebug
> Task :app:mergeDebugResources
> Task :app:processDebugMainManifest
> Task :app:processDebugManifest
> Task :app:processApplicationManifestDebugForBundle
> Task :app:mergeDebugShaders
> Task :app:compileDebugShaders NO-SOURCE
> Task :app:generateDebugAssets UP-TO-DATE
> Task :app:mergeDebugAssets
> Task :app:processDebugJavaRes NO-SOURCE
> Task :app:compileDebugAidl NO-SOURCE
> Task :app:generateDebugBuildConfig
> Task :app:javaPreCompileDebug
> Task :app:checkDebugDuplicateClasses
> Task :app:checkDebugAarMetadata
> Task :app:processDebugManifestForPackage
> Task :app:bundleDebugResources
> Task :app:mergeDebugJniLibFolders
> Task :app:mergeDebugJavaResource
> Task :app:parseDebugIntegrityConfig
> Task :app:writeDebugAppMetadata
> Task :app:desugarDebugFileDependencies
> Task :app:mergeDebugNativeLibs
> Task :app:processDebugResources
> Task :app:mergeExtDexDebug
> Task :app:compileDebugJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
> Task :app:dexBuilderDebug
> Task :app:stripDebugDebugSymbols
Unable to strip the following libraries, packaging them as they are: libES1Renderer.so, libES2Renderer.so, libES3Renderer.so, libRuntimeNative.so, libgdx.so.
> Task :app:mergeDexDebug
ERROR:: D8: Cannot fit requested classes in a single dex file (# methods: 68171 > 65536)
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:128)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:115)
at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:111)
at com.android.build.gradle.internal.tasks.DexMergingWorkAction.merge(DexMergingTask.kt:805)
at com.android.build.gradle.internal.tasks.DexMergingWorkAction.run(DexMergingTask.kt:760)
at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:206)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:214)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, position: null
at Version.fakeStackEntry(Version_2.2.71.java:0)
at com.android.tools.r8.utils.a0.a(SourceFile:89)
at com.android.tools.r8.D8.run(D8.java:11)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:113)
... 36 more
Caused by: com.android.tools.r8.utils.b: Cannot fit requested classes in a single dex file (# methods: 68171 > 65536)
at com.android.tools.r8.utils.V0.a(SourceFile:22)
at com.android.tools.r8.utils.V0.a(SourceFile:25)
at com.android.tools.r8.dex.P.a(SourceFile:55)
at com.android.tools.r8.dex.P$h.a(SourceFile:7)
at com.android.tools.r8.dex.b.a(SourceFile:14)
at com.android.tools.r8.dex.b.c(SourceFile:30)
at com.android.tools.r8.D8.d(D8.java:163)
at com.android.tools.r8.D8.b(D8.java:1)
at com.android.tools.r8.utils.a0.a(SourceFile:47)
... 38 more
> Task :app:mergeDexDebug FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDexDebug'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingTaskDelegate
> There was a failure while executing work items
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingWorkAction
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 2m 43s
27 actionable tasks: 27 executed
if you read the report it clearly mention that the problem is because you have more than 64K methods which is the max allow in a non multidex application, for this you need to add multidex feature, something that is under testing , let me finish this week this for you, so you can try in this project.
com.android.builder.dexing.DexArchiveMergerExcepti on: Error while merging dex archives: The number of method references in a .dex file cannot exceed 64K. Learn how to resolve this issue at https://developer.android.com/tools/.../multidex.html
I've got a crashing test application with the latest build.
Been trying to pin down some problems with mouse presses not registering correctly when running app as exe and started doing a simple test application.
After copying over some events from my game the test application just crashes. Even after removing the events that caused the crash, the application still crashes on startup every time (At least for me).
Attachment 30720
seem to have found at least one of the crashing actions: "move behind object with qualifier" that was copied from another app, seems some reference is missing maybe..
Attachment 30721
I have tasks list, where every new line (task) have a few spaces before the task text. Tasks list is one string object.
If display mode is Direct3D 11, spaces is ignored on some lines.
Direct3D 9:
Attachment 30722
Direct3D 11:
Attachment 30723
@GKProduction can you please post here what are the MIN, BUILD and TARGET API you have set there in the 64K error
yes the secret is to set MIN API 21 and then you may use the multidex feature, try and let me know
this is an old issue since the first day of the release of DX 11 runtime
https://community.clickteam.com/threads/108496-Bug-Some-character-in-the-beginning-of-the-string-will-be-ignored-under-DX11?p=768750&viewfull=1#post768750
Yves fixed part of this issue in several versions before, and he knows this, hopefully this will be fixed in the next update.
https://community.clickteam.com/threads/108737-Build-293-9-Beta-version?p=769759&viewfull=1#post769759
Quote:
I'll check it for a future update. A little boring to do as it's deep inside external code.
As a temporary workaround, you could try using some non-standard 'space' characters, such as the "punctuation space". You can find them in the windows character map utility, or you may be able to copy/paste them from my text below (the first character of each line):
punctuation space (this one may work as it often gets treated more like a 'real character' by various programs, rather than as a space)
en quad space
em quad space
6-per-em space
this workaround only work with some fonts (e.g. SourceHanSans)
https://cdn.discordapp.com/attachmen...80/unknown.png
as DX11 runtime works differently↓
we still need to wait until staff fix it.Quote:
Unlike the Windows API used by the other runtimes, this API will not try to get missing character glyphes from close fonts. This means (1) that you can only use truetype fonts with this runtime, and (2) that you must make sure that the font you use contains the glyphes for the all characters used in your application.
:(
Hey, love the beta version but Android Font Packer extension stopped working properly after the update. Could you please take a look into it? Thanks!
There is an object corruption in this action, the Group.buttons object ihas an incorrect ID, not sure what could have caused this issue (did you copy/paste this action from another app of frame for example?). If you edit the action, you'll see the "Group.Buttons" object is not selected, which means something is wrong. Just reselect the Group.Buttons object in the object list when you edit the action, this will fix the issue.
I tested it, it seems OK.
What build of Fusion were you using before?
I see there were changes in the build 293.2 in the way the object detects font files on disk when the application is built, maybe your fonts can't be found anymore. For what fonts did it stop working?
You can zoom in infinitely via Ctrl + in the Event/List editors
I kinda like this though lol XD
Could I ask for another feature before stable? e.e
I see a lot of people complaining about how difficult it is to make a custom movement, specially one that works for instances without the need of a For Each loop and nested Fast Loops.
Since making behaviors having a "invisible For Each" would be much more difficult, I have a small suggestion.
I see how setting a position to the object's alt value works independently, meaning if a instance got a different value it will use the value from the respective instance, but setting a position means it will teleport around, getting inside obstacles and such.
So, could it please be added a mode to Set X/Y Coordinate where it would be seen as instant move but it would actually be moving 1px at the time, just really really fast, like people do with Fast Loop movements...?
Something that would also help specially for making enemies and stuff would be the capability of check if the object would collide/overlap something if it was in a different position, basically it moves the hitbox to a point, test for collision and move it back, without ever being seen doing it.
Edit: Now that I'm thinking here, a "Scoped Fast Loop" could basically do the same, would this be easier? o.o
That sounds like a pretty huge feature. I doubt you'll get it before the next stable release.
Besides, how would it know which collisions to test for? If it only tests for backdrops, then that's very limited - it's not going to be able to test for enemies, moving platforms, the player, or anything else that's an active.
And if it tests for actives, then how will it know which ones to test for? Hitting 6 different actives (eg. Platform, lava, switch, trampoline, NPC, particle effect) might require 6 different consequences (eg. Stop, die, activate, jump, kill, ignore). How is a generic clickteam action supposed to know what to do in each case?
The same way Position condition works, in fact you can create a entire custom movement that works with instances without fast loops/for each loops, but you can only move 1px at time or lower or it will get inside obstacles.
I guess some conditions and actions have a internal For Each loop or something, but it's far more efficient than doing it with actual For Each events.
For example, in this mfa you can see that it doesn't use a Fast Loop or For Each loop for moving, only uses for gravity, cause it has to fall faster than 1px per frame, in this case it doesn't need anything fancy, but how would you do stuff like independent acceleration?
You simply can't without putting it on a For Each + Fast Loop, unless you use Move Safely 2, but still not ideal.
Attachment 30741
You can test it there, if you add multiple instances and set a alt value to the object position at start of frame, it will set each instance independently, like it had a For Each.
Same if you test for the object position, it will only trigger for objects that reaches that position.
For example, check my Bunnymark, it doesn't use For Each or Fast Loops and it has individual acceleration, directions and so on.
The only flaw is that I simply can't make it stop on a obstacle, cause it would probably jump over it because it can move more than 1px per frame.
Attachment 30742
(If you try running this Bunnymark from inside a For Each loop, it loses half of the performance)
Does Fusion have any particular reason to limit the maximum amount of objects at 30000?
Cause it would be nice to get another increase there, would be specially nice for backdrops, but interesting for other kinds of objects as well.
Small feature request: could we get an expression to get a sample's default frequency? This would make calculating pitch easier.
On object creation condition would make life much easier
I know there are alternative workarounds but they all have there ups and downs, while a simple "On object creation" condition would be the best :)
I still don't really follow. It seems you want an action that will automatically perform collision checks while it moves something and abort the movement if it finds an obstacle, but this sounds too rudimentary to be very useful. It would probably only be applicable to backdrops, which are already very limited. And what if you don't want the object to just abort its movement and stop? What if you want it to turn around? Or what if the obstacle is also dangerous, so you want the object to die when it touches it? Or anything else like that? In all those cases, you'd need to test the collisions yourself so you can put your own logic into the game, and an automatic hidden collision detection won't be of much use.
I also don't see the need for avoiding forEach loops. ForEach loops are great, are simple to use, and come with all sorts of advantages, such as being able to easily isolate subsets of objects, or being able to open/close groups in the middle of a loop. And their performance is fine, which is actually illustrated by your bunnymark example. I get 60fps when there are 16000(!) objects bouncing around. You say that the performance is halved when using forEach loops, which suggests I'd still get 60fps with 8000(!) objects bouncing around. That sounds totally fine to me. I can almost guarantee you that if you ever made a real game with this many objects, you would hit a GPU bottleneck from all of the graphics on screen long before you hit a CPU bottleneck from the forEach loops.
Though it doesn't matter what I think, of course. Yves is the one you need to convince, not me.
@Volnaiskra For example, I can only get 300 enemies that only fall, walk and turn around at 60 fps on my highly optimized enemy system on a high end computer.
The more complex AI/movement gets, the less instances you can have.
All conditions and expressions that come from the Active object can already work independently, it only falls apart when you need to use a Fast Loop.
Why do we need a fast loop? Cause you can only move 1px or less per frame if you don't want instances getting inside obstacles, or in certain speeds, going through it entirely.
So the two only ways of making a fast moving object with a custom movement is either with a Fast Loop or Move Safely 2.
Move Safely 2 works like I'm suggesting, in fact, Fusion 3 is confirmed to work similarly, they even mention it on the blog.
What Move Safely 2 does? It basically checks all positions before reaching the destination, so you can get a collision in between two points, even if the object "teleports".
But, Move Safely 2 is a pain to setup and can cause crashes it not done properly.
The push-out part wouldn't be necessary in what I suggested, just the part of moving one pixel at time, faster than the next frame be rendered, like a Fast Loop, but in a way that works on instances without a For Each like Set X/Y Coordinate.
So in resume, what would it do?
"Set Position" or "Set X/Y Coordinate" would teleport the object, collision would only be checked at the destination.
Now that I'm thinking, it makes total sense for it to be relative to object position and not absolute coordinates for my suggestion so...:
It would be something like "Move N pixels in X/Y", if I set it to move 10px, it would move 1px 10 times before rendering the next frame, effectively working like a multiple repeated actions on the same event, but in a way you can dynamically control how many times it will repeat, something like a in-line loop (which could also do it, would be even more useful, if you could set the start with the amount of times and the end on the action list, but this would require allowing to check for conditions in another event)
Attachment 30744
I think this would need a big change on how collisions are handled in Fusion, for it to check collisions while passing these positions
I'm not Yves to exactly know if it is hard or not but, but if it was hard to fix basic collision problems when scaling / rotating an object, it most be hard adding a whole new functionality to the collision system right?
But anyways, yeah I understand the appeal of it, at least if didn't matter in performance, it would matter in event size and simplicity in general
It can simplify a movement like this by a lot:
Attachment 30746
Though atleast it is something that exists in Fusion3 already
Hello, Please fix this error.
Attachment 30748
Second conditions dont work.
Attachment 30749
I doubt CT is going to fundamentally change the Fusion 2.5's core concepts.
I think this is one of the things that most new users http://https://community.clickteam.com/threads/109067-Help-scoping-multiple-objects
It would be nice if FastLoops didn't break scope. I suspect scoping wont be lost in F3. I can't wait! It's going to feel refreshing!
@Yves - give us some F3 news!! Just a little.... Lets get users excited again!
*I think this is one of the things that most new users struggle with: http://https://community.clickteam.com/threads/109067-Help-scoping-multiple-objects
**http://community.clickteam.com/threads/109067-Help-scoping-multiple-objects
I can't seem to edit my post.... sry! :(