Created
June 12, 2025 12:01
-
-
Save leegao/018c0b7bfa5f07aa408b46010236522c to your computer and use it in GitHub Desktop.
Diff of recent Winlator Bionic changes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/app/build.gradle b/app/build.gradle | |
index f0f10e9..0abcde4 100644 | |
--- a/app/build.gradle | |
+++ b/app/build.gradle | |
@@ -21,18 +21,18 @@ plugins { | |
tasks.register("prepareKotlinBuildScriptModel"){} | |
android { | |
- namespace 'com.winlator' | |
+ namespace 'com.winlator.cmod' | |
// Keep compileSdk from your current config. If you want to match Termux-X11, you could set to 34. | |
compileSdk 34 | |
defaultConfig { | |
- applicationId "com.winlator" | |
+ applicationId "com.winlator.cmod" | |
minSdkVersion 26 | |
// We’re preserving Winlator’s request to keep targetSdkVersion at 28 | |
targetSdkVersion 28 | |
versionCode 20 | |
- versionName "7.1.4x-glibc-cmod-v12-alpha" | |
+ versionName "7.1.4x-cmod" | |
// External native build from Winlator | |
externalNativeBuild { | |
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml | |
index 8181f8c..0c4c690 100644 | |
--- a/app/src/main/AndroidManifest.xml | |
+++ b/app/src/main/AndroidManifest.xml | |
@@ -38,7 +38,7 @@ | |
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> | |
<application | |
- android:label="Winlator.glibcmod" | |
+ android:label="Winlator CMOD" | |
android:icon="@mipmap/ic_launcher" | |
android:roundIcon="@mipmap/ic_launcher_round" | |
android:theme="@style/AppTheme" | |
@@ -52,7 +52,7 @@ | |
<!-- Main activity --> | |
<activity | |
- android:name="com.winlator.MainActivity" | |
+ android:name="com.winlator.cmod.MainActivity" | |
android:theme="@style/AppTheme.Dark" | |
android:screenOrientation="sensor" | |
android:exported="true" | |
@@ -64,17 +64,17 @@ | |
</activity> | |
<activity | |
- android:name="com.winlator.BigPictureActivity" | |
+ android:name="com.winlator.cmod.BigPictureActivity" | |
android:theme="@style/Theme.AppCompat" | |
android:exported="false" /> | |
<activity | |
- android:name="com.winlator.TerminalActivity" | |
+ android:name="com.winlator.cmod.TerminalActivity" | |
android:theme="@style/Theme.AppCompat" | |
android:exported="false" /> | |
<activity | |
- android:name="com.winlator.XServerDisplayActivity" | |
+ android:name="com.winlator.cmod.XServerDisplayActivity" | |
android:theme="@style/AppThemeFullscreen" | |
android:launchMode="singleTask" | |
android:supportsPictureInPicture="true" | |
@@ -83,7 +83,7 @@ | |
android:exported="true" /> | |
<activity | |
- android:name="com.winlator.XrActivity" | |
+ android:name="com.winlator.cmod.XrActivity" | |
android:theme="@style/AppThemeFullscreen" | |
android:launchMode="singleTask" | |
android:resizeableActivity="false" | |
@@ -99,19 +99,19 @@ | |
</activity> | |
<activity | |
- android:name="com.winlator.ControlsEditorActivity" | |
+ android:name="com.winlator.cmod.ControlsEditorActivity" | |
android:theme="@style/AppThemeFullscreen" | |
android:screenOrientation="sensorLandscape" | |
android:exported="false" /> | |
<activity | |
- android:name="com.winlator.ExternalControllerBindingsActivity" | |
+ android:name="com.winlator.cmod.ExternalControllerBindingsActivity" | |
android:theme="@style/AppTheme" | |
android:screenOrientation="sensor" | |
android:exported="false" /> | |
<activity | |
- android:name="com.winlator.saves.CustomFilePickerActivity" | |
+ android:name=".saves.CustomFilePickerActivity" | |
android:theme="@style/AppTheme" | |
android:screenOrientation="sensor" | |
android:exported="false" /> | |
@@ -120,14 +120,14 @@ | |
android:name=".ShortcutBroadcastReceiver" | |
android:exported="true"> | |
<intent-filter> | |
- <action android:name="com.winlator.SHORTCUT_ADDED" /> | |
+ <action android:name="com.winlator.cmod.SHORTCUT_ADDED" /> | |
</intent-filter> | |
</receiver> | |
<!-- FileProvider for sharing files --> | |
<provider | |
android:name="androidx.core.content.FileProvider" | |
- android:authorities="com.winlator.tileprovider" | |
+ android:authorities="com.winlator.cmod.tileprovider" | |
android:exported="false" | |
android:grantUriPermissions="true"> | |
<meta-data | |
@@ -138,7 +138,7 @@ | |
<!-- Provider for Winlator’s DocumentProvider or similar usage --> | |
<provider | |
android:name=".core.WinlatorFilesProvider" | |
- android:authorities="com.winlator.core.WinlatorFilesProvider" | |
+ android:authorities="com.winlator.cmod.core.WinlatorFilesProvider" | |
android:exported="true" | |
android:grantUriPermissions="true" | |
android:permission="android.permission.MANAGE_DOCUMENTS"> | |
@@ -153,43 +153,13 @@ | |
android:theme="@style/Theme.AppCompat.Light.NoActionBar" | |
android:exported="true" /> | |
- <!-- X11 Activity (Termux-X11 style) --> | |
- <activity | |
- android:name=".X11Activity" | |
- android:taskAffinity=".X11Activity" | |
- android:supportsPictureInPicture="true" | |
- android:configChanges="fontScale|orientation|screenSize|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|screenLayout|touchscreen|uiMode|smallestScreenSize|density" | |
- android:resizeableActivity="true" | |
- android:windowSoftInputMode="stateHidden" | |
- android:exported="true"> | |
- <intent-filter> | |
- <category android:name="android.intent.category.SECONDARY_HOME" /> | |
- </intent-filter> | |
- <meta-data | |
- android:name="android.app.shortcuts" | |
- android:resource="@xml/shortcuts" /> | |
- </activity> | |
- | |
<meta-data | |
android:name="com.samsung.android.multidisplay.keep_process_alive" | |
android:value="false"/> | |
<meta-data | |
android:name="android.allow_multiple_resumed_activities" | |
android:value="true" /> | |
- | |
- <!-- Accessibility service for KeyInterceptor --> | |
- <service | |
- android:name=".x11utils.KeyInterceptor" | |
- android:label="Winlator:X11 KeyInterceptor" | |
- android:exported="true" | |
- android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"> | |
- <intent-filter> | |
- <action android:name="android.accessibilityservice.AccessibilityService" /> | |
- </intent-filter> | |
- <meta-data | |
- android:name="android.accessibilityservice" | |
- android:resource="@xml/accessibility_service_config" /> | |
- </service> | |
+ > | |
</application> | |
</manifest> | |
diff --git a/app/src/main/assets/box64_env_vars.json b/app/src/main/assets/box64_env_vars.json | |
index 319d780..7a29671 100644 | |
--- a/app/src/main/assets/box64_env_vars.json | |
+++ b/app/src/main/assets/box64_env_vars.json | |
@@ -1,16 +1,21 @@ | |
[ | |
{"name" : "BOX64_DYNAREC_SAFEFLAGS", "values" : ["0", "1", "2"], "defaultValue" : "1"}, | |
{"name" : "BOX64_DYNAREC_FASTNAN", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"}, | |
- {"name" : "BOX64_DYNAREC_FASTROUND", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"}, | |
- {"name" : "BOX64_DYNAREC_X87DOUBLE", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "0"}, | |
+ {"name" : "BOX64_DYNAREC_FASTROUND", "values" : ["0", "1", "2"], "toggleSwitch" : false, "defaultValue" : "1"}, | |
+ {"name" : "BOX64_DYNAREC_X87DOUBLE", "values" : ["0", "1", "2"], "toggleSwitch" : false, "defaultValue" : "0"}, | |
{"name" : "BOX64_DYNAREC_BIGBLOCK", "values" : ["0", "1", "2", "3"], "defaultValue" : "2"}, | |
{"name" : "BOX64_DYNAREC_STRONGMEM", "values" : ["0", "1", "2", "3"], "defaultValue" : "0"}, | |
{"name" : "BOX64_DYNAREC_FORWARD", "values" : ["0", "128", "256", "512", "1024"], "defaultValue" : "512"}, | |
- {"name" : "BOX64_DYNAREC_CALLRET", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"}, | |
+ {"name" : "BOX64_DYNAREC_CALLRET", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "0"}, | |
{"name" : "BOX64_DYNAREC_WAIT", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"}, | |
{"name" : "BOX64_AVX", "values" : ["0", "1", "2"], "defaultValue" : "1"}, | |
- {"name" : "BOX64_MAXCPU", "values" : ["4", "8", "16", "32", "64"], "defaultValue" : "8"}, | |
+ {"name" : "BOX64_MAXCPU", "values" : ["0", "4", "8", "16", "32", "64"], "defaultValue" : "0"}, | |
{"name" : "BOX64_UNITYPLAYER", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"}, | |
{"name" : "BOX64_DYNAREC_WEAKBARRIER", "values" : ["0", "1", "2"], "defaultValue" : "0"}, | |
+ {"name" : "BOX64_DYNAREC_ALIGNED_ATOMICS", "values" : ["0", "1"], "toggleSwitch" : "true", "defaultValue" : "0"}, | |
+ {"name" : "BOX64_DYNAREC_DF", "values" : ["0", "1"], "toggleSwitch" : "true", "defaultValue" : "1"}, | |
+ {"name" : "BOX64_DYNAREC_DIRTY", "values" : ["0", "1", "2"], "toggleSwitch" : "false", "defaultValue" : "0"}, | |
+ {"name" : "BOX64_DYNAREC_NATIVEFLAGS", "values" : ["0", "1"], "toggleSwitch" : "true", "defaultValue" : "1"}, | |
+ {"name" : "BOX64_DYNAREC_PAUSE", "values" : ["0", "1", "2", "3"], "toggleSwitch" : "false", "defaultValue" : "0"}, | |
{"name" : "BOX64_MMAP32", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"} | |
-] | |
\ No newline at end of file | |
+] | |
diff --git a/app/src/main/assets/box86_64/box64-0.2.7.tzst b/app/src/main/assets/box86_64/box64-0.2.7.tzst | |
deleted file mode 100644 | |
index 5a14c7f..0000000 | |
Binary files a/app/src/main/assets/box86_64/box64-0.2.7.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/box86_64/box64-0.2.8.tzst b/app/src/main/assets/box86_64/box64-0.2.8.tzst | |
deleted file mode 100644 | |
index 6fc905f..0000000 | |
Binary files a/app/src/main/assets/box86_64/box64-0.2.8.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/box86_64/box64-0.3.0.tzst b/app/src/main/assets/box86_64/box64-0.3.0.tzst | |
deleted file mode 100644 | |
index 99c3960..0000000 | |
Binary files a/app/src/main/assets/box86_64/box64-0.3.0.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/box86_64/box64-0.3.1.4e10cd6.tzst b/app/src/main/assets/box86_64/box64-0.3.1.4e10cd6.tzst | |
deleted file mode 100644 | |
index 8beabde..0000000 | |
Binary files a/app/src/main/assets/box86_64/box64-0.3.1.4e10cd6.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/box86_64/box64-0.3.1.8g2.tzst b/app/src/main/assets/box86_64/box64-0.3.1.8g2.tzst | |
deleted file mode 100644 | |
index b98812f..0000000 | |
Binary files a/app/src/main/assets/box86_64/box64-0.3.1.8g2.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/box86_64/box64-0.3.1.g.tzst b/app/src/main/assets/box86_64/box64-0.3.1.g.tzst | |
deleted file mode 100644 | |
index 976de40..0000000 | |
Binary files a/app/src/main/assets/box86_64/box64-0.3.1.g.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/box86_64/box64-0.3.1.tzst b/app/src/main/assets/box86_64/box64-0.3.1.tzst | |
deleted file mode 100644 | |
index b4f4093..0000000 | |
Binary files a/app/src/main/assets/box86_64/box64-0.3.1.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/box86_64/box64-0.3.2.tzst b/app/src/main/assets/box86_64/box64-0.3.2.tzst | |
new file mode 100644 | |
index 0000000..c2a4375 | |
Binary files /dev/null and b/app/src/main/assets/box86_64/box64-0.3.2.tzst differ | |
diff --git a/app/src/main/assets/box86_64/box64-0.3.6.fix.tzst b/app/src/main/assets/box86_64/box64-0.3.6.fix.tzst | |
new file mode 100644 | |
index 0000000..2bcfa0b | |
Binary files /dev/null and b/app/src/main/assets/box86_64/box64-0.3.6.fix.tzst differ | |
diff --git a/app/src/main/assets/box86_64/box64-0.3.6.tzst b/app/src/main/assets/box86_64/box64-0.3.6.tzst | |
new file mode 100644 | |
index 0000000..28ab900 | |
Binary files /dev/null and b/app/src/main/assets/box86_64/box64-0.3.6.tzst differ | |
diff --git a/app/src/main/assets/common_dlls.json b/app/src/main/assets/common_dlls.json | |
index d77227c..597becb 100644 | |
--- a/app/src/main/assets/common_dlls.json | |
+++ b/app/src/main/assets/common_dlls.json | |
@@ -1 +1 @@ | |
-{"system32":["wevtutil.exe","dxgi.dll","oledlg.dll","mscoree.dll","vdmdbg.dll","ksproxy.ax","d3dcompiler_40.dll","qcap.dll","windows.globalization.dll","tdh.dll","wimgapi.dll","url.dll","actxprxy.dll","ntdll.dll","snmpapi.dll","windows.security.authentication.onlineid.dll","msacm32.dll","sechost.dll","user32.dll","winmgmt.exe","mmdevapi.dll","gameux.dll","wlanapi.dll","dpnet.dll","xpsprint.dll","cryptowinrt.dll","shutdown.exe","msscript.ocx","atl100.dll","mpr.dll","dpnhupnp.dll","msxml6.dll","cryptext.dll","findstr.exe","dmusic32.dll","msisys.ocx","svrapi.dll","sc.exe","wlanui.dll","scarddlg.dll","advpack.dll","plugplay.exe","crtdll.dll","srvsvc.dll","twinapi.appcore.dll","msvcp120_app.dll","winefile.exe","odbcbcp.dll","profapi.dll","riched20.dll","whoami.exe","ucrtbase.dll","ir50_32.dll","qwave.dll","dmscript.dll","d3dx9_27.dll","bluetoothapis.dll","d3dcompiler_38.dll","msvcp140_atomic_wait.dll","mshtml.tlb","xolehlp.dll","hvsimanagementapi.dll","wsock32.dll","arp.exe","hhctrl.ocx","oleview.exe","d3dx9_32.dll","gpkcsp.dll","msisip.dll","wnaspi32.dll","dbghelp.dll","olepro32.dll","wsdapi.dll","d3dx10_40.dll","d3dx9_33.dll","icmp.dll","xaudio2_2.dll","sas.dll","dxtrans.dll","rtworkq.dll","resutils.dll","xinput9_1_0.dll","bcp47langs.dll","rpcrt4.dll","glu32.dll","xactengine3_5.dll","sppc.dll","srclient.dll","mssign32.dll","dwmapi.dll","cryptdlg.dll","ctapi32.dll","klist.exe","uiribbon.dll","wineconsole.exe","spoolss.dll","dbgeng.dll","d3dx9_29.dll","vcruntime140_1.dll","windows.ui.dll","slc.dll","xaudio2_7.dll","msnet32.dll","difxapi.dll","svchost.exe","windows.security.credentials.ui.userconsentverifier.dll","jscript.dll","localspl.dll","winegstreamer.dll","tbs.dll","xactengine2_9.dll","sdbinst.exe","wofutil.dll","d3dx9_30.dll","tapi32.dll","winmm.dll","unlodctr.exe","mspatcha.dll","xapofx1_5.dll","wow64cpu.dll","windows.devices.usb.dll","atl.dll","taskkill.exe","dllhost.exe","qmgrprxy.dll","msdmo.dll","kernelbase.dll","kernel32.dll","d3dx9_25.dll","termsv.exe","activeds.dll","winemapi.dll","qasf.dll","atl80.dll","windowscodecs.dll","x3daudio1_2.dll","d3dx10_34.dll","msvcrt20.dll","hnetcfg.dll","cdosys.dll","avifil32.dll","mshtml.dll","msftedit.dll","dmsynth.dll","cabarc.exe","dsound.dll","xinputuap.dll","dxva2.dll","dinput.dll","taskschd.dll","vcomp140.dll","initpki.dll","d3d12core.dll","dism.exe","inetcpl.cpl","msiexec.exe","xactengine3_7.dll","srvcli.dll","secur32.dll","ieproxy.dll","uianimation.dll","msvcr120_app.dll","vcomp110.dll","feclient.dll","msls31.dll","directmanipulation.dll","d3dx10_41.dll","geolocation.dll","imm32.dll","xaudio2_8.dll","atl110.dll","rasapi32.dll","esent.dll","advapi32.dll","expand.exe","d3d8thk.dll","dmcompos.dll","dhcpcsvc6.dll","drmclien.dll","shdocvw.dll","d3dx9_41.dll","mshta.exe","objsel.dll","d3dx10_35.dll","query.dll","iprop.dll","shdoclc.dll","windows.networking.hostname.dll","newdev.dll","msvcr120.dll","msimg32.dll","comctl32.dll","serialui.dll","d3d8.dll","infosoft.dll","samlib.dll","oleacc.dll","shcore.dll","atl90.dll","wintypes.dll","msvcr80.dll","d3d9.dll","mswsock.dll","d3dx10_42.dll","comcat.dll","dmloader.dll","nsi.dll","wmphoto.dll","windows.media.dll","propsys.dll","opengl32.dll","msvcp120.dll","loadperf.dll","dmusic.dll","progman.exe","softpub.dll","msvcp71.dll","localui.dll","wing32.dll","windows.media.speech.dll","qedit.dll","wsnmp32.dll","netutils.dll","odbccp32.dll","where.exe","windows.devices.bluetooth.dll","mfmediaengine.dll","devenum.dll","x3daudio1_7.dll","x3daudio1_1.dll","iccvid.dll","printui.dll","conhost.exe","authz.dll","imagehlp.dll","dispex.dll","iphlpapi.dll","updspapi.dll","msvcirt.dll","d3d10_1.dll","wdscore.dll","xinput1_3.dll","icacls.exe","mmcndmgr.dll","netapi32.dll","wininet.dll","userenv.dll","fltlib.dll","taskmgr.exe","wer.dll","xmllite.dll","x3daudio1_6.dll","vcomp.dll","net.exe","d3dx9_31.dll","d3dx10_43.dll","lz32.dll","d3dx9_34.dll","d3dcompiler_34.dll","msvcp140_1.dll","msxml.dll","credui.dll","adsldpc.dll","icinfo.exe","xactengine2_7.dll","rsabase.dll","coml2.dll","wldap32.dll","eject.exe","usp10.dll","midimap.dll","cryptdll.dll","msgsm32.acm","ctl3d32.dll","d3dcompiler_36.dll","winhttp.dll","ntdsapi.dll","scrrun.dll","d3dcompiler_33.dll","strmdll.dll","schedsvc.dll","xaudio2_9.dll","mapi32.dll","iexplore.exe","d3dx9_26.dll","d3dx9_28.dll","dpnlobby.dll","sensapi.dll","mciqtz32.dll","ktmw32.dll","dciman32.dll","msidb.exe","comdlg32.dll","apphelp.dll","qmgr.dll","regini.exe","xaudio2_1.dll","msident.dll","d3dx9_38.dll","write.exe","dpwsockx.dll","attrib.exe","mp3dmod.dll","mf3216.dll","itircl.dll","dplayx.dll","t2embed.dll","services.exe","stdole32.tlb","msvcp60.dll","msvcp140_codecvt_ids.dll","find.exe","odbccu32.dll","unicows.dll","scardsvr.dll","aclui.dll","ntprint.dll","rtutils.dll","windows.media.devices.dll","ksuser.dll","ping.exe","fc.exe","notepad.exe","normaliz.dll","imaadp32.acm","sxs.dll","windows.networking.dll","xactengine3_4.dll","extrac32.exe","msctf.dll","windows.gaming.ui.gamebar.dll","d3d11.dll","winemenubuilder.exe","sspicli.dll","msacm32.drv","opcservices.dll","xinput1_1.dll","pwrshplugin.dll","msvcr110.dll","d3drm.dll","mciwave.dll","msvcp140_2.dll","wiaservc.dll","dmband.dll","d3dcompiler_35.dll","pnputil.exe","winealsa.drv","vcomp100.dll","sfc.dll","start.exe","windows.gaming.input.dll","dxdiagn.dll","wintrust.dll","vcomp120.dll","win32u.dll","ddraw.dll","mciavi32.dll","xcopy.exe","xapofx1_2.dll","winsta.dll","msvcr71.dll","winex11.drv","windowscodecsext.dll","olecli32.dll","d3dim700.dll","jsproxy.dll","tzres.dll","coremessaging.dll","xaudio2_3.dll","xapofx1_1.dll","msrle32.dll","cards.dll","slbcsp.dll","inetcomm.dll","d3dim.dll","dnsapi.dll","rasdlg.dll","riched32.dll","activeds.tlb","msvcp90.dll","appwiz.cpl","psapi.dll","msvidc32.dll","d3dx9_24.dll","msvcp80.dll","xactengine3_6.dll","ole32.dll","cmd.exe","chcp.com","vulkan-1.dll","mprapi.dll","d3dx10_36.dll","windows.media.mediacontrol.dll","windows.devices.enumeration.dll","ipconfig.exe","hrtfapo.dll","mssip32.dll","dhcpcsvc.dll","prntvpt.dll","browseui.dll","d3dx9_43.dll","scrobj.dll","packager.dll","mfsrcsnk.dll","version.dll","amstream.dll","winemine.exe","pdh.dll","inetmib1.dll","d3dxof.dll","msasn1.dll","d3dx9_35.dll","graphicscapture.dll","dssenh.dll","ia2comproxy.dll","joy.cpl","d3dcompiler_39.dll","security.dll","xapofx1_4.dll","setx.exe","cabinet.dll","traffic.dll","concrt140.dll","msimtf.dll","wuauserv.exe","windows.perception.stub.dll","bthprops.cpl","winepath.exe","powrprof.dll","wuapi.dll","hlink.dll","hid.dll","davclnt.dll","cryptsp.dll","olesvr32.dll","atlthunk.dll","urlmon.dll","winver.exe","mf.dll","cscript.exe","httpapi.dll","d3d12.dll","winusb.dll","secedit.exe","inkobj.dll","stdole2.tlb","winemsibuilder.exe","rsaenh.dll","fontsub.dll","cryptui.dll","gamingtcui.dll","explorerframe.dll","xaudio2_0.dll","clusapi.dll","msvcp_win.dll","dmstyle.dll","control.exe","uninstaller.exe","msvcr100.dll","d3dx10_39.dll","msvcp100.dll","wevtsvc.dll","systeminfo.exe","d3dx10_37.dll","websocket.dll","winhlp32.exe","ninput.dll","mlang.dll","fwpuclnt.dll","wshom.ocx","netsh.exe","nddeapi.dll","d3dx10_33.dll","mfreadwrite.dll","dswave.dll","wineboot.exe","x3daudio1_0.dll","sccbase.dll","ws2_32.dll","inseng.dll","msxml4.dll","mfplay.dll","dpvoice.dll","mciseq.dll","xactengine3_0.dll","connect.dll","msxml3.dll","tasklist.exe","d3d10core.dll","mstask.dll","spoolsv.exe","oleaut32.dll","d3dx9_37.dll","dplaysvr.exe","combase.dll","rundll32.exe","wpc.dll","windows.applicationmodel.dll","winedbg.exe","appxdeploymentclient.dll","msvcp110.dll","view.exe","d3dx9_42.dll","wldp.dll","dxdiag.exe","d3dx11_43.dll","crypt32.dll","d3dcompiler_43.dll","setupapi.dll","d3dx9_39.dll","wow64win.dll","utildll.dll","msg711.acm","atmlib.dll","mgmtapi.dll","pidgen.dll","webservices.dll","xinput1_4.dll","xactengine3_1.dll","dwrite.dll","msctfp.dll","wow64.dll","mcicda.dll","dpnhpast.dll","d3dx11_42.dll","dpnsvr.exe","d2d1.dll","msvcrt.dll","xaudio2_5.dll","mfplat.dll","dhtmled.ocx","uxtheme.dll","vbscript.dll","gdi32.dll","d3dcompiler_37.dll","photometadatahandler.dll","shlwapi.dll","reg.exe","msvcrt40.dll","msdelta.dll","fntcache.dll","vcruntime140.dll","windows.web.dll","d3dcompiler_42.dll","netstat.exe","x3daudio1_5.dll","explorer.exe","robocopy.exe","qdvd.dll","evr.dll","pstorec.dll","rpcss.exe","d3dx9_40.dll","vssapi.dll","msvcm90.dll","faultrep.dll","avrt.dll","xactengine3_3.dll","schannel.dll","hal.dll","wevtapi.dll","wtsapi32.dll","regapi.dll","xpssvcs.dll","ncrypt.dll","rstrtmgr.dll","dcomp.dll","d3dcompiler_41.dll","comsvcs.dll","avicap32.dll","cryptnet.dll","sfc_os.dll","windows.storage.applicationdata.dll","certutil.exe","npptools.dll","d3dcompiler_47.dll","windows.system.profile.systemmanufacturers.dll","wuaueng.dll","xactengine2_0.dll","bcrypt.dll","wmp.dll","winnls32.dll","virtdisk.dll","compstui.dll","twain_32.dll","kerberos.dll","msauddecmft.dll","winedevice.exe","apisetschema.dll","l3codeca.acm","irprops.cpl","xaudio2_4.dll","wmasf.dll","mtxdm.dll","dxcore.dll","d3d10.dll","vga.dll","shfolder.dll","dx8vb.dll","xactengine3_2.dll","xaudio2_6.dll","msadp32.acm","dpnaddr.dll","msctfmonitor.dll","ntoskrnl.exe","amsi.dll","acledit.dll","msports.dll","netcfgx.dll","msvfw32.dll","sti.dll","dplay.dll","x3daudio1_3.dll","msv1_0.dll","bcryptprimitives.dll","fsutil.exe","msvcm80.dll","threadpoolwinrt.dll","x3daudio1_4.dll","winevulkan.dll","shell32.dll","xinput1_2.dll","itss.dll","rometadata.dll","dmime.dll","msmpeg2vdec.dll","regsvr32.exe","wmvcore.dll","wintab32.dll","msimsg.dll","subst.exe","msvcp70.dll","mapistub.dll","vcomp90.dll","dsuiext.dll","mferror.dll","gdiplus.dll","adsldp.dll","xactengine2_4.dll","d3dx10_38.dll","winebrowser.exe","quartz.dll","wined3d.dll","msinfo32.exe","ddrawex.dll","dsquery.dll","mscat32.dll","wusa.exe","cacls.exe","uiautomationcore.dll","wscript.exe","wmi.dll","winspool.drv","msdrm.dll","msxml2.dll","dsdmo.dll","olethk32.dll","xapofx1_3.dll","msvcr70.dll","netprofm.dll","d3dcompiler_46.dll","d3dx9_36.dll","clock.exe","dinput8.dll","msvcp140.dll","msvcr90.dll","ieframe.dll","cfgmgr32.dll","winepulse.drv","lodctr.exe","schtasks.exe","mscms.dll","msi.dll","magnification.dll","hostname.exe","dpvsetup.exe","winecfg.exe","msvcrtd.dll"],"syswow64":["wevtutil.exe","dxgi.dll","oledlg.dll","mscoree.dll","vdmdbg.dll","ksproxy.ax","d3dcompiler_40.dll","qcap.dll","windows.globalization.dll","tdh.dll","shell.dll","wimgapi.dll","url.dll","actxprxy.dll","ntdll.dll","snmpapi.dll","windows.security.authentication.onlineid.dll","msacm32.dll","sechost.dll","user32.dll","winmgmt.exe","mmdevapi.dll","gameux.dll","wlanapi.dll","dpnet.dll","xpsprint.dll","cryptowinrt.dll","shutdown.exe","lzexpand.dll","storage.dll","msscript.ocx","atl100.dll","mpr.dll","dpnhupnp.dll","msxml6.dll","cryptext.dll","findstr.exe","dmusic32.dll","msisys.ocx","svrapi.dll","sc.exe","wlanui.dll","scarddlg.dll","advpack.dll","ole2conv.dll","plugplay.exe","crtdll.dll","srvsvc.dll","twinapi.appcore.dll","msvcp120_app.dll","winefile.exe","odbcbcp.dll","profapi.dll","riched20.dll","whoami.exe","ucrtbase.dll","ir50_32.dll","qwave.dll","dmscript.dll","d3dx9_27.dll","bluetoothapis.dll","d3dcompiler_38.dll","msvcp140_atomic_wait.dll","mshtml.tlb","xolehlp.dll","hvsimanagementapi.dll","wsock32.dll","arp.exe","hhctrl.ocx","oleview.exe","d3dx9_32.dll","gpkcsp.dll","msisip.dll","wnaspi32.dll","dbghelp.dll","olepro32.dll","wsdapi.dll","d3dx10_40.dll","d3dx9_33.dll","icmp.dll","xaudio2_2.dll","sas.dll","dxtrans.dll","rtworkq.dll","resutils.dll","xinput9_1_0.dll","bcp47langs.dll","rpcrt4.dll","glu32.dll","xactengine3_5.dll","sppc.dll","srclient.dll","krnl386.exe","mssign32.dll","dwmapi.dll","cryptdlg.dll","ctapi32.dll","klist.exe","uiribbon.dll","wineconsole.exe","spoolss.dll","dbgeng.dll","d3dx9_29.dll","windows.ui.dll","slc.dll","xaudio2_7.dll","msnet32.dll","winaspi.dll","difxapi.dll","wing.dll","svchost.exe","w32sys.dll","windows.security.credentials.ui.userconsentverifier.dll","jscript.dll","localspl.dll","winegstreamer.dll","vtdapi.vxd","tbs.dll","xactengine2_9.dll","mouse.drv","sdbinst.exe","wofutil.dll","d3dx9_30.dll","tapi32.dll","winmm.dll","unlodctr.exe","mmdevldr.vxd","mspatcha.dll","xapofx1_5.dll","windows.devices.usb.dll","atl.dll","taskkill.exe","dllhost.exe","qmgrprxy.dll","msdmo.dll","kernelbase.dll","kernel32.dll","d3dx9_25.dll","termsv.exe","keyboard.drv","ole2thk.dll","activeds.dll","winemapi.dll","qasf.dll","atl80.dll","windowscodecs.dll","x3daudio1_2.dll","d3dx10_34.dll","olesvr.dll","msvcrt20.dll","hnetcfg.dll","cdosys.dll","avifil32.dll","mshtml.dll","msftedit.dll","dmsynth.dll","cabarc.exe","dsound.dll","xinputuap.dll","dxva2.dll","dinput.dll","taskschd.dll","vcomp140.dll","initpki.dll","d3d12core.dll","dism.exe","ole2.dll","inetcpl.cpl","msiexec.exe","xactengine3_7.dll","srvcli.dll","secur32.dll","ieproxy.dll","uianimation.dll","msvcr120_app.dll","vcomp110.dll","feclient.dll","msls31.dll","directmanipulation.dll","d3dx10_41.dll","geolocation.dll","imm32.dll","xaudio2_8.dll","atl110.dll","rasapi32.dll","esent.dll","advapi32.dll","expand.exe","d3d8thk.dll","dmcompos.dll","dhcpcsvc6.dll","drmclien.dll","shdocvw.dll","d3dx9_41.dll","ole2prox.dll","mshta.exe","objsel.dll","d3dx10_35.dll","query.dll","iprop.dll","shdoclc.dll","windows.networking.hostname.dll","newdev.dll","msvcr120.dll","msimg32.dll","comctl32.dll","serialui.dll","d3d8.dll","infosoft.dll","samlib.dll","oleacc.dll","shcore.dll","atl90.dll","wintypes.dll","msvcr80.dll","d3d9.dll","mswsock.dll","toolhelp.dll","d3dx10_42.dll","comcat.dll","dmloader.dll","nsi.dll","wmphoto.dll","windows.media.dll","propsys.dll","opengl32.dll","msvcp120.dll","loadperf.dll","dmusic.dll","progman.exe","softpub.dll","msvcp71.dll","localui.dll","wing32.dll","windows.media.speech.dll","qedit.dll","sound.drv","wsnmp32.dll","netutils.dll","odbccp32.dll","avifile.dll","where.exe","windows.devices.bluetooth.dll","mfmediaengine.dll","devenum.dll","x3daudio1_7.dll","x3daudio1_1.dll","iccvid.dll","printui.dll","authz.dll","windebug.dll","imagehlp.dll","dispex.dll","iphlpapi.dll","updspapi.dll","msvcirt.dll","d3d10_1.dll","wdscore.dll","xinput1_3.dll","icacls.exe","vnetbios.vxd","mmcndmgr.dll","netapi32.dll","wininet.dll","userenv.dll","fltlib.dll","taskmgr.exe","wer.dll","xmllite.dll","x3daudio1_6.dll","win87em.dll","vcomp.dll","net.exe","d3dx9_31.dll","d3dx10_43.dll","lz32.dll","d3dx9_34.dll","d3dcompiler_34.dll","msvcp140_1.dll","msxml.dll","credui.dll","adsldpc.dll","icinfo.exe","xactengine2_7.dll","rsabase.dll","coml2.dll","wldap32.dll","eject.exe","usp10.dll","midimap.dll","cryptdll.dll","msgsm32.acm","ifsmgr.vxd","ctl3d32.dll","d3dcompiler_36.dll","winhttp.dll","ntdsapi.dll","scrrun.dll","dispdib.dll","d3dcompiler_33.dll","strmdll.dll","schedsvc.dll","xaudio2_9.dll","mapi32.dll","iexplore.exe","d3dx9_26.dll","d3dx9_28.dll","dpnlobby.dll","winnls.dll","sensapi.dll","mciqtz32.dll","ktmw32.dll","dciman32.dll","msidb.exe","comdlg32.dll","apphelp.dll","qmgr.dll","regini.exe","xaudio2_1.dll","msident.dll","d3dx9_38.dll","wow32.dll","write.exe","compobj.dll","dpwsockx.dll","attrib.exe","mp3dmod.dll","mf3216.dll","itircl.dll","dplayx.dll","t2embed.dll","stdole32.tlb","msvcp60.dll","msvcp140_codecvt_ids.dll","find.exe","odbccu32.dll","unicows.dll","scardsvr.dll","aclui.dll","ntprint.dll","rtutils.dll","windows.media.devices.dll","ksuser.dll","ping.exe","fc.exe","system.drv","notepad.exe","normaliz.dll","imaadp32.acm","sxs.dll","windows.networking.dll","xactengine3_4.dll","extrac32.exe","msctf.dll","windows.gaming.ui.gamebar.dll","d3d11.dll","sspicli.dll","msacm32.drv","opcservices.dll","xinput1_1.dll","pwrshplugin.dll","msvcr110.dll","d3drm.dll","vdhcp.vxd","vwin32.vxd","mciwave.dll","msvcp140_2.dll","wiaservc.dll","dmband.dll","d3dcompiler_35.dll","pnputil.exe","winealsa.drv","vcomp100.dll","sfc.dll","start.exe","windows.gaming.input.dll","dxdiagn.dll","wintrust.dll","vcomp120.dll","win32u.dll","ddraw.dll","mciavi32.dll","xcopy.exe","vmm.vxd","xapofx1_2.dll","winsta.dll","msvcr71.dll","winex11.drv","windowscodecsext.dll","olecli32.dll","d3dim700.dll","jsproxy.dll","display.drv","tzres.dll","coremessaging.dll","xaudio2_3.dll","xapofx1_1.dll","msrle32.dll","cards.dll","slbcsp.dll","inetcomm.dll","d3dim.dll","dnsapi.dll","rasdlg.dll","riched32.dll","activeds.tlb","msvcp90.dll","appwiz.cpl","psapi.dll","msvidc32.dll","d3dx9_24.dll","msvcp80.dll","xactengine3_6.dll","ole32.dll","cmd.exe","chcp.com","vulkan-1.dll","mprapi.dll","d3dx10_36.dll","windows.media.mediacontrol.dll","windows.devices.enumeration.dll","ipconfig.exe","hrtfapo.dll","mssip32.dll","dhcpcsvc.dll","prntvpt.dll","browseui.dll","d3dx9_43.dll","scrobj.dll","packager.dll","mfsrcsnk.dll","version.dll","amstream.dll","winemine.exe","pdh.dll","inetmib1.dll","d3dxof.dll","msasn1.dll","d3dx9_35.dll","graphicscapture.dll","dssenh.dll","ia2comproxy.dll","joy.cpl","d3dcompiler_39.dll","gdi.exe","security.dll","xapofx1_4.dll","msvideo.dll","setx.exe","rasapi16.dll","cabinet.dll","traffic.dll","concrt140.dll","msimtf.dll","wuauserv.exe","windows.perception.stub.dll","bthprops.cpl","winepath.exe","powrprof.dll","wuapi.dll","hlink.dll","hid.dll","davclnt.dll","cryptsp.dll","olesvr32.dll","typelib.dll","atlthunk.dll","urlmon.dll","winver.exe","mf.dll","cscript.exe","httpapi.dll","d3d12.dll","winusb.dll","secedit.exe","inkobj.dll","stdole2.tlb","winemsibuilder.exe","rsaenh.dll","fontsub.dll","cryptui.dll","gamingtcui.dll","explorerframe.dll","hh.exe","xaudio2_0.dll","regedit.exe","clusapi.dll","msvcp_win.dll","ole2nls.dll","dmstyle.dll","control.exe","uninstaller.exe","msvcr100.dll","d3dx10_39.dll","olecli.dll","msvcp100.dll","wevtsvc.dll","systeminfo.exe","d3dx10_37.dll","websocket.dll","winhlp32.exe","ninput.dll","mlang.dll","fwpuclnt.dll","wshom.ocx","netsh.exe","nddeapi.dll","d3dx10_33.dll","mfreadwrite.dll","dswave.dll","user.exe","wineboot.exe","x3daudio1_0.dll","sccbase.dll","ws2_32.dll","inseng.dll","msxml4.dll","mfplay.dll","dpvoice.dll","mciseq.dll","xactengine3_0.dll","connect.dll","msxml3.dll","tasklist.exe","d3d10core.dll","mstask.dll","oleaut32.dll","d3dx9_37.dll","dplaysvr.exe","combase.dll","rundll32.exe","wpc.dll","windows.applicationmodel.dll","winedbg.exe","appxdeploymentclient.dll","msvcp110.dll","view.exe","wintab.dll","d3dx9_42.dll","wldp.dll","dxdiag.exe","stress.dll","d3dx11_43.dll","crypt32.dll","d3dcompiler_43.dll","setupapi.dll","d3dx9_39.dll","utildll.dll","msg711.acm","atmlib.dll","mgmtapi.dll","pidgen.dll","webservices.dll","xinput1_4.dll","xactengine3_1.dll","dwrite.dll","msctfp.dll","mcicda.dll","dpnhpast.dll","d3dx11_42.dll","dpnsvr.exe","d2d1.dll","msvcrt.dll","xaudio2_5.dll","mfplat.dll","vnbt.vxd","dhtmled.ocx","uxtheme.dll","vbscript.dll","gdi32.dll","d3dcompiler_37.dll","photometadatahandler.dll","shlwapi.dll","winoldap.mod","reg.exe","msvcrt40.dll","msdelta.dll","fntcache.dll","winsock.dll","vcruntime140.dll","windows.web.dll","d3dcompiler_42.dll","netstat.exe","x3daudio1_5.dll","explorer.exe","robocopy.exe","qdvd.dll","evr.dll","pstorec.dll","rpcss.exe","d3dx9_40.dll","setupx.dll","vssapi.dll","msvcm90.dll","faultrep.dll","avrt.dll","xactengine3_3.dll","schannel.dll","hal.dll","ctl3d.dll","wevtapi.dll","wtsapi32.dll","regapi.dll","xpssvcs.dll","ncrypt.dll","rstrtmgr.dll","dcomp.dll","d3dcompiler_41.dll","comsvcs.dll","avicap32.dll","cryptnet.dll","sfc_os.dll","windows.storage.applicationdata.dll","certutil.exe","monodebg.vxd","npptools.dll","d3dcompiler_47.dll","windows.system.profile.systemmanufacturers.dll","wuaueng.dll","xactengine2_0.dll","bcrypt.dll","wmp.dll","winnls32.dll","virtdisk.dll","compstui.dll","kerberos.dll","msauddecmft.dll","winedevice.exe","apisetschema.dll","l3codeca.acm","irprops.cpl","xaudio2_4.dll","dosx.exe","wmasf.dll","mtxdm.dll","dxcore.dll","dsound.vxd","winevdm.exe","d3d10.dll","vga.dll","shfolder.dll","dx8vb.dll","xactengine3_2.dll","xaudio2_6.dll","msadp32.acm","dpnaddr.dll","ver.dll","msctfmonitor.dll","ntoskrnl.exe","amsi.dll","acledit.dll","msports.dll","netcfgx.dll","msvfw32.dll","w32skrnl.dll","sti.dll","ddhelp.exe","ole2disp.dll","dplay.dll","x3daudio1_3.dll","msv1_0.dll","bcryptprimitives.dll","fsutil.exe","msvcm80.dll","threadpoolwinrt.dll","x3daudio1_4.dll","winevulkan.dll","shell32.dll","xinput1_2.dll","itss.dll","rometadata.dll","dmime.dll","msmpeg2vdec.dll","regsvr32.exe","wmvcore.dll","wintab32.dll","msimsg.dll","subst.exe","msvcp70.dll","mapistub.dll","vcomp90.dll","dsuiext.dll","mferror.dll","gdiplus.dll","adsldp.dll","xactengine2_4.dll","d3dx10_38.dll","winebrowser.exe","quartz.dll","wined3d.dll","msinfo32.exe","ddrawex.dll","dsquery.dll","mscat32.dll","imm.dll","wusa.exe","cacls.exe","uiautomationcore.dll","wscript.exe","wmi.dll","winspool.drv","msdrm.dll","msxml2.dll","dsdmo.dll","olethk32.dll","win32s16.dll","xapofx1_3.dll","msacm.dll","msvcr70.dll","netprofm.dll","d3dcompiler_46.dll","d3dx9_36.dll","clock.exe","commdlg.dll","dinput8.dll","msvcp140.dll","msvcr90.dll","ieframe.dll","cfgmgr32.dll","winepulse.drv","lodctr.exe","schtasks.exe","comm.drv","mscms.dll","msi.dll","magnification.dll","hostname.exe","dpvsetup.exe","ctl3dv2.dll","winecfg.exe","msvcrtd.dll"]} | |
\ No newline at end of file | |
+{"system32":["wevtutil.exe","dxgi.dll","oledlg.dll","mscoree.dll","vdmdbg.dll","ksproxy.ax","d3dcompiler_40.dll","qcap.dll","windows.globalization.dll","tdh.dll","wimgapi.dll","url.dll","actxprxy.dll","ntdll.dll","snmpapi.dll","windows.security.authentication.onlineid.dll","msacm32.dll","sechost.dll","user32.dll","winmgmt.exe","mmdevapi.dll","gameux.dll","wlanapi.dll","dpnet.dll","xpsprint.dll","cryptowinrt.dll","shutdown.exe","msscript.ocx","atl100.dll","mpr.dll","dpnhupnp.dll","msxml6.dll","cryptext.dll","findstr.exe","dmusic32.dll","msisys.ocx","svrapi.dll","sc.exe","wlanui.dll","scarddlg.dll","advpack.dll","plugplay.exe","crtdll.dll","srvsvc.dll","twinapi.appcore.dll","msvcp120_app.dll","winefile.exe","odbcbcp.dll","profapi.dll","riched20.dll","whoami.exe","ucrtbase.dll","ir50_32.dll","qwave.dll","dmscript.dll","d3dx9_27.dll","bluetoothapis.dll","d3dcompiler_38.dll","msvcp140_atomic_wait.dll","mshtml.tlb","xolehlp.dll","hvsimanagementapi.dll","wsock32.dll","arp.exe","hhctrl.ocx","oleview.exe","d3dx9_32.dll","gpkcsp.dll","msisip.dll","wnaspi32.dll","dbghelp.dll","olepro32.dll","wsdapi.dll","d3dx10_40.dll","d3dx9_33.dll","icmp.dll","xaudio2_2.dll","sas.dll","dxtrans.dll","rtworkq.dll","resutils.dll","xinput9_1_0.dll","bcp47langs.dll","rpcrt4.dll","glu32.dll","xactengine3_5.dll","sppc.dll","srclient.dll","mssign32.dll","dwmapi.dll","cryptdlg.dll","ctapi32.dll","klist.exe","uiribbon.dll","wineconsole.exe","spoolss.dll","dbgeng.dll","d3dx9_29.dll","vcruntime140_1.dll","windows.ui.dll","slc.dll","xaudio2_7.dll","msnet32.dll","difxapi.dll","svchost.exe","windows.security.credentials.ui.userconsentverifier.dll","jscript.dll","localspl.dll","winegstreamer.dll","tbs.dll","xactengine2_9.dll","sdbinst.exe","wofutil.dll","d3dx9_30.dll","tapi32.dll","winmm.dll","unlodctr.exe","mspatcha.dll","xapofx1_5.dll","wow64cpu.dll","windows.devices.usb.dll","atl.dll","taskkill.exe","dllhost.exe","qmgrprxy.dll","msdmo.dll","kernelbase.dll","kernel32.dll","d3dx9_25.dll","termsv.exe","activeds.dll","winemapi.dll","qasf.dll","atl80.dll","windowscodecs.dll","x3daudio1_2.dll","d3dx10_34.dll","msvcrt20.dll","hnetcfg.dll","cdosys.dll","avifil32.dll","mshtml.dll","msftedit.dll","dmsynth.dll","cabarc.exe","dsound.dll","xinputuap.dll","dxva2.dll","dinput.dll","taskschd.dll","vcomp140.dll","initpki.dll","d3d12core.dll","dism.exe","inetcpl.cpl","msiexec.exe","xactengine3_7.dll","srvcli.dll","secur32.dll","ieproxy.dll","uianimation.dll","msvcr120_app.dll","vcomp110.dll","feclient.dll","msls31.dll","directmanipulation.dll","d3dx10_41.dll","geolocation.dll","imm32.dll","xaudio2_8.dll","atl110.dll","rasapi32.dll","esent.dll","advapi32.dll","expand.exe","d3d8thk.dll","dmcompos.dll","dhcpcsvc6.dll","drmclien.dll","shdocvw.dll","d3dx9_41.dll","mshta.exe","objsel.dll","d3dx10_35.dll","query.dll","iprop.dll","shdoclc.dll","windows.networking.hostname.dll","newdev.dll","msvcr120.dll","msimg32.dll","comctl32.dll","serialui.dll","d3d8.dll","infosoft.dll","samlib.dll","oleacc.dll","shcore.dll","atl90.dll","wintypes.dll","msvcr80.dll","d3d9.dll","mswsock.dll","d3dx10_42.dll","comcat.dll","dmloader.dll","nsi.dll","wmphoto.dll","windows.media.dll","propsys.dll","opengl32.dll","msvcp120.dll","loadperf.dll","dmusic.dll","progman.exe","softpub.dll","msvcp71.dll","localui.dll","wing32.dll","windows.media.speech.dll","qedit.dll","wsnmp32.dll","netutils.dll","odbccp32.dll","where.exe","windows.devices.bluetooth.dll","mfmediaengine.dll","devenum.dll","x3daudio1_7.dll","x3daudio1_1.dll","iccvid.dll","printui.dll","conhost.exe","authz.dll","imagehlp.dll","dispex.dll","iphlpapi.dll","updspapi.dll","msvcirt.dll","d3d10_1.dll","wdscore.dll","xinput1_3.dll","icacls.exe","mmcndmgr.dll","netapi32.dll","wininet.dll","userenv.dll","fltlib.dll","taskmgr.exe","wer.dll","xmllite.dll","x3daudio1_6.dll","vcomp.dll","net.exe","d3dx9_31.dll","d3dx10_43.dll","lz32.dll","d3dx9_34.dll","d3dcompiler_34.dll","msvcp140_1.dll","msxml.dll","credui.dll","adsldpc.dll","icinfo.exe","xactengine2_7.dll","rsabase.dll","coml2.dll","wldap32.dll","eject.exe","usp10.dll","midimap.dll","cryptdll.dll","msgsm32.acm","ctl3d32.dll","d3dcompiler_36.dll","winhttp.dll","ntdsapi.dll","scrrun.dll","d3dcompiler_33.dll","strmdll.dll","schedsvc.dll","xaudio2_9.dll","mapi32.dll","iexplore.exe","d3dx9_26.dll","d3dx9_28.dll","dpnlobby.dll","sensapi.dll","mciqtz32.dll","ktmw32.dll","dciman32.dll","msidb.exe","comdlg32.dll","apphelp.dll","qmgr.dll","regini.exe","xaudio2_1.dll","msident.dll","d3dx9_38.dll","write.exe","dpwsockx.dll","attrib.exe","mp3dmod.dll","mf3216.dll","itircl.dll","dplayx.dll","t2embed.dll","services.exe","stdole32.tlb","msvcp60.dll","msvcp140_codecvt_ids.dll","find.exe","odbccu32.dll","unicows.dll","scardsvr.dll","aclui.dll","ntprint.dll","rtutils.dll","windows.media.devices.dll","ksuser.dll","ping.exe","fc.exe","notepad.exe","normaliz.dll","imaadp32.acm","sxs.dll","windows.networking.dll","xactengine3_4.dll","extrac32.exe","msctf.dll","windows.gaming.ui.gamebar.dll","d3d11.dll","winemenubuilder.exe","sspicli.dll","msacm32.drv","opcservices.dll","xinput1_1.dll","pwrshplugin.dll","msvcr110.dll","d3drm.dll","mciwave.dll","msvcp140_2.dll","wiaservc.dll","dmband.dll","d3dcompiler_35.dll","pnputil.exe","winealsa.drv","vcomp100.dll","sfc.dll","start.exe","windows.gaming.input.dll","dxdiagn.dll","wintrust.dll","vcomp120.dll","win32u.dll","ddraw.dll","mciavi32.dll","xcopy.exe","xapofx1_2.dll","winsta.dll","msvcr71.dll","winex11.drv","windowscodecsext.dll","olecli32.dll","d3dim700.dll","jsproxy.dll","tzres.dll","coremessaging.dll","xaudio2_3.dll","xapofx1_1.dll","msrle32.dll","cards.dll","slbcsp.dll","inetcomm.dll","d3dim.dll","dnsapi.dll","rasdlg.dll","riched32.dll","activeds.tlb","msvcp90.dll","appwiz.cpl","psapi.dll","msvidc32.dll","d3dx9_24.dll","msvcp80.dll","xactengine3_6.dll","ole32.dll","cmd.exe","chcp.com","vulkan-1.dll","mprapi.dll","d3dx10_36.dll","windows.media.mediacontrol.dll","windows.devices.enumeration.dll","ipconfig.exe","hrtfapo.dll","mssip32.dll","dhcpcsvc.dll","prntvpt.dll","browseui.dll","d3dx9_43.dll","scrobj.dll","packager.dll","mfsrcsnk.dll","version.dll","amstream.dll","winemine.exe","pdh.dll","inetmib1.dll","d3dxof.dll","msasn1.dll","d3dx9_35.dll","graphicscapture.dll","dssenh.dll","ia2comproxy.dll","joy.cpl","d3dcompiler_39.dll","security.dll","xapofx1_4.dll","setx.exe","cabinet.dll","traffic.dll","concrt140.dll","msimtf.dll","wuauserv.exe","windows.perception.stub.dll","bthprops.cpl","winepath.exe","powrprof.dll","wuapi.dll","hlink.dll","hid.dll","davclnt.dll","cryptsp.dll","olesvr32.dll","atlthunk.dll","urlmon.dll","winver.exe","mf.dll","cscript.exe","httpapi.dll","d3d12.dll","winusb.dll","secedit.exe","inkobj.dll","stdole2.tlb","winemsibuilder.exe","rsaenh.dll","fontsub.dll","cryptui.dll","gamingtcui.dll","explorerframe.dll","xaudio2_0.dll","clusapi.dll","msvcp_win.dll","dmstyle.dll","control.exe","uninstaller.exe","msvcr100.dll","d3dx10_39.dll","msvcp100.dll","wevtsvc.dll","systeminfo.exe","d3dx10_37.dll","websocket.dll","winhlp32.exe","ninput.dll","mlang.dll","fwpuclnt.dll","wshom.ocx","netsh.exe","nddeapi.dll","d3dx10_33.dll","mfreadwrite.dll","dswave.dll","wineboot.exe","x3daudio1_0.dll","sccbase.dll","ws2_32.dll","inseng.dll","msxml4.dll","mfplay.dll","dpvoice.dll","mciseq.dll","xactengine3_0.dll","connect.dll","msxml3.dll","tasklist.exe","d3d10core.dll","mstask.dll","spoolsv.exe","oleaut32.dll","d3dx9_37.dll","dplaysvr.exe","combase.dll","rundll32.exe","wpc.dll","windows.applicationmodel.dll","winedbg.exe","appxdeploymentclient.dll","msvcp110.dll","view.exe","d3dx9_42.dll","wldp.dll","dxdiag.exe","d3dx11_43.dll","crypt32.dll","d3dcompiler_43.dll","setupapi.dll","d3dx9_39.dll","wow64win.dll","utildll.dll","msg711.acm","atmlib.dll","mgmtapi.dll","pidgen.dll","webservices.dll","xinput1_4.dll","xactengine3_1.dll","dwrite.dll","msctfp.dll","wow64.dll","mcicda.dll","dpnhpast.dll","d3dx11_42.dll","dpnsvr.exe","d2d1.dll","msvcrt.dll","xaudio2_5.dll","mfplat.dll","dhtmled.ocx","uxtheme.dll","vbscript.dll","gdi32.dll","d3dcompiler_37.dll","photometadatahandler.dll","shlwapi.dll","reg.exe","msvcrt40.dll","msdelta.dll","fntcache.dll","vcruntime140.dll","windows.web.dll","d3dcompiler_42.dll","netstat.exe","x3daudio1_5.dll","explorer.exe","robocopy.exe","qdvd.dll","evr.dll","pstorec.dll","rpcss.exe","d3dx9_40.dll","vssapi.dll","msvcm90.dll","faultrep.dll","avrt.dll","xactengine3_3.dll","schannel.dll","hal.dll","wevtapi.dll","wtsapi32.dll","regapi.dll","xpssvcs.dll","ncrypt.dll","rstrtmgr.dll","dcomp.dll","d3dcompiler_41.dll","comsvcs.dll","avicap32.dll","cryptnet.dll","sfc_os.dll","windows.storage.applicationdata.dll","certutil.exe","npptools.dll","d3dcompiler_47.dll","windows.system.profile.systemmanufacturers.dll","wuaueng.dll","xactengine2_0.dll","bcrypt.dll","wmp.dll","winnls32.dll","virtdisk.dll","compstui.dll","twain_32.dll","kerberos.dll","msauddecmft.dll","winedevice.exe","apisetschema.dll","l3codeca.acm","irprops.cpl","xaudio2_4.dll","wmasf.dll","mtxdm.dll","dxcore.dll","d3d10.dll","vga.dll","shfolder.dll","dx8vb.dll","xactengine3_2.dll","xaudio2_6.dll","msadp32.acm","dpnaddr.dll","msctfmonitor.dll","ntoskrnl.exe","amsi.dll","acledit.dll","msports.dll","netcfgx.dll","msvfw32.dll","sti.dll","dplay.dll","x3daudio1_3.dll","msv1_0.dll","bcryptprimitives.dll","fsutil.exe","msvcm80.dll","threadpoolwinrt.dll","x3daudio1_4.dll","winevulkan.dll","shell32.dll","xinput1_2.dll","itss.dll","rometadata.dll","dmime.dll","msmpeg2vdec.dll","regsvr32.exe","wmvcore.dll","wintab32.dll","msimsg.dll","subst.exe","msvcp70.dll","mapistub.dll","vcomp90.dll","dsuiext.dll","mferror.dll","gdiplus.dll","adsldp.dll","xactengine2_4.dll","d3dx10_38.dll","winebrowser.exe","quartz.dll","wined3d.dll","msinfo32.exe","ddrawex.dll","dsquery.dll","mscat32.dll","wusa.exe","cacls.exe","uiautomationcore.dll","wscript.exe","wmi.dll","winspool.drv","msdrm.dll","msxml2.dll","dsdmo.dll","olethk32.dll","xapofx1_3.dll","msvcr70.dll","netprofm.dll","d3dcompiler_46.dll","d3dx9_36.dll","clock.exe","dinput8.dll","msvcp140.dll","msvcr90.dll","ieframe.dll","cfgmgr32.dll","winepulse.drv","lodctr.exe","schtasks.exe","mscms.dll","msi.dll","magnification.dll","hostname.exe","dpvsetup.exe","winecfg.exe","msvcrtd.dll","winedmo.dll","mfmp4srcsnk.dll","mfasfsrcsnk.dll"],"syswow64":["wevtutil.exe","dxgi.dll","oledlg.dll","mscoree.dll","vdmdbg.dll","ksproxy.ax","d3dcompiler_40.dll","qcap.dll","windows.globalization.dll","tdh.dll","shell.dll","wimgapi.dll","url.dll","actxprxy.dll","ntdll.dll","snmpapi.dll","windows.security.authentication.onlineid.dll","msacm32.dll","sechost.dll","user32.dll","winmgmt.exe","mmdevapi.dll","gameux.dll","wlanapi.dll","dpnet.dll","xpsprint.dll","cryptowinrt.dll","shutdown.exe","lzexpand.dll","storage.dll","msscript.ocx","atl100.dll","mpr.dll","dpnhupnp.dll","msxml6.dll","cryptext.dll","findstr.exe","dmusic32.dll","msisys.ocx","svrapi.dll","sc.exe","wlanui.dll","scarddlg.dll","advpack.dll","ole2conv.dll","plugplay.exe","crtdll.dll","srvsvc.dll","twinapi.appcore.dll","msvcp120_app.dll","winefile.exe","odbcbcp.dll","profapi.dll","riched20.dll","whoami.exe","ucrtbase.dll","ir50_32.dll","qwave.dll","dmscript.dll","d3dx9_27.dll","bluetoothapis.dll","d3dcompiler_38.dll","msvcp140_atomic_wait.dll","mshtml.tlb","xolehlp.dll","hvsimanagementapi.dll","wsock32.dll","arp.exe","hhctrl.ocx","oleview.exe","d3dx9_32.dll","gpkcsp.dll","msisip.dll","wnaspi32.dll","dbghelp.dll","olepro32.dll","wsdapi.dll","d3dx10_40.dll","d3dx9_33.dll","icmp.dll","xaudio2_2.dll","sas.dll","dxtrans.dll","rtworkq.dll","resutils.dll","xinput9_1_0.dll","bcp47langs.dll","rpcrt4.dll","glu32.dll","xactengine3_5.dll","sppc.dll","srclient.dll","krnl386.exe","mssign32.dll","dwmapi.dll","cryptdlg.dll","ctapi32.dll","klist.exe","uiribbon.dll","wineconsole.exe","spoolss.dll","dbgeng.dll","d3dx9_29.dll","windows.ui.dll","slc.dll","xaudio2_7.dll","msnet32.dll","winaspi.dll","difxapi.dll","wing.dll","svchost.exe","w32sys.dll","windows.security.credentials.ui.userconsentverifier.dll","jscript.dll","localspl.dll","winegstreamer.dll","vtdapi.vxd","tbs.dll","xactengine2_9.dll","mouse.drv","sdbinst.exe","wofutil.dll","d3dx9_30.dll","tapi32.dll","winmm.dll","unlodctr.exe","mmdevldr.vxd","mspatcha.dll","xapofx1_5.dll","windows.devices.usb.dll","atl.dll","taskkill.exe","dllhost.exe","qmgrprxy.dll","msdmo.dll","kernelbase.dll","kernel32.dll","d3dx9_25.dll","termsv.exe","keyboard.drv","ole2thk.dll","activeds.dll","winemapi.dll","qasf.dll","atl80.dll","windowscodecs.dll","x3daudio1_2.dll","d3dx10_34.dll","olesvr.dll","msvcrt20.dll","hnetcfg.dll","cdosys.dll","avifil32.dll","mshtml.dll","msftedit.dll","dmsynth.dll","cabarc.exe","dsound.dll","xinputuap.dll","dxva2.dll","dinput.dll","taskschd.dll","vcomp140.dll","initpki.dll","d3d12core.dll","dism.exe","ole2.dll","inetcpl.cpl","msiexec.exe","xactengine3_7.dll","srvcli.dll","secur32.dll","ieproxy.dll","uianimation.dll","msvcr120_app.dll","vcomp110.dll","feclient.dll","msls31.dll","directmanipulation.dll","d3dx10_41.dll","geolocation.dll","imm32.dll","xaudio2_8.dll","atl110.dll","rasapi32.dll","esent.dll","advapi32.dll","expand.exe","d3d8thk.dll","dmcompos.dll","dhcpcsvc6.dll","drmclien.dll","shdocvw.dll","d3dx9_41.dll","ole2prox.dll","mshta.exe","objsel.dll","d3dx10_35.dll","query.dll","iprop.dll","shdoclc.dll","windows.networking.hostname.dll","newdev.dll","msvcr120.dll","msimg32.dll","comctl32.dll","serialui.dll","d3d8.dll","infosoft.dll","samlib.dll","oleacc.dll","shcore.dll","atl90.dll","wintypes.dll","msvcr80.dll","d3d9.dll","mswsock.dll","toolhelp.dll","d3dx10_42.dll","comcat.dll","dmloader.dll","nsi.dll","wmphoto.dll","windows.media.dll","propsys.dll","opengl32.dll","msvcp120.dll","loadperf.dll","dmusic.dll","progman.exe","softpub.dll","msvcp71.dll","localui.dll","wing32.dll","windows.media.speech.dll","qedit.dll","sound.drv","wsnmp32.dll","netutils.dll","odbccp32.dll","avifile.dll","where.exe","windows.devices.bluetooth.dll","mfmediaengine.dll","devenum.dll","x3daudio1_7.dll","x3daudio1_1.dll","iccvid.dll","printui.dll","authz.dll","windebug.dll","imagehlp.dll","dispex.dll","iphlpapi.dll","updspapi.dll","msvcirt.dll","d3d10_1.dll","wdscore.dll","xinput1_3.dll","icacls.exe","vnetbios.vxd","mmcndmgr.dll","netapi32.dll","wininet.dll","userenv.dll","fltlib.dll","taskmgr.exe","wer.dll","xmllite.dll","x3daudio1_6.dll","win87em.dll","vcomp.dll","net.exe","d3dx9_31.dll","d3dx10_43.dll","lz32.dll","d3dx9_34.dll","d3dcompiler_34.dll","msvcp140_1.dll","msxml.dll","credui.dll","adsldpc.dll","icinfo.exe","xactengine2_7.dll","rsabase.dll","coml2.dll","wldap32.dll","eject.exe","usp10.dll","midimap.dll","cryptdll.dll","msgsm32.acm","ifsmgr.vxd","ctl3d32.dll","d3dcompiler_36.dll","winhttp.dll","ntdsapi.dll","scrrun.dll","dispdib.dll","d3dcompiler_33.dll","strmdll.dll","schedsvc.dll","xaudio2_9.dll","mapi32.dll","iexplore.exe","d3dx9_26.dll","d3dx9_28.dll","dpnlobby.dll","winnls.dll","sensapi.dll","mciqtz32.dll","ktmw32.dll","dciman32.dll","msidb.exe","comdlg32.dll","apphelp.dll","qmgr.dll","regini.exe","xaudio2_1.dll","msident.dll","d3dx9_38.dll","wow32.dll","write.exe","compobj.dll","dpwsockx.dll","attrib.exe","mp3dmod.dll","mf3216.dll","itircl.dll","dplayx.dll","t2embed.dll","stdole32.tlb","msvcp60.dll","msvcp140_codecvt_ids.dll","find.exe","odbccu32.dll","unicows.dll","scardsvr.dll","aclui.dll","ntprint.dll","rtutils.dll","windows.media.devices.dll","ksuser.dll","ping.exe","fc.exe","system.drv","notepad.exe","normaliz.dll","imaadp32.acm","sxs.dll","windows.networking.dll","xactengine3_4.dll","extrac32.exe","msctf.dll","windows.gaming.ui.gamebar.dll","d3d11.dll","sspicli.dll","msacm32.drv","opcservices.dll","xinput1_1.dll","pwrshplugin.dll","msvcr110.dll","d3drm.dll","vdhcp.vxd","vwin32.vxd","mciwave.dll","msvcp140_2.dll","wiaservc.dll","dmband.dll","d3dcompiler_35.dll","pnputil.exe","winealsa.drv","vcomp100.dll","sfc.dll","start.exe","windows.gaming.input.dll","dxdiagn.dll","wintrust.dll","vcomp120.dll","win32u.dll","ddraw.dll","mciavi32.dll","xcopy.exe","vmm.vxd","xapofx1_2.dll","winsta.dll","msvcr71.dll","winex11.drv","windowscodecsext.dll","olecli32.dll","d3dim700.dll","jsproxy.dll","display.drv","tzres.dll","coremessaging.dll","xaudio2_3.dll","xapofx1_1.dll","msrle32.dll","cards.dll","slbcsp.dll","inetcomm.dll","d3dim.dll","dnsapi.dll","rasdlg.dll","riched32.dll","activeds.tlb","msvcp90.dll","appwiz.cpl","psapi.dll","msvidc32.dll","d3dx9_24.dll","msvcp80.dll","xactengine3_6.dll","ole32.dll","cmd.exe","chcp.com","vulkan-1.dll","mprapi.dll","d3dx10_36.dll","windows.media.mediacontrol.dll","windows.devices.enumeration.dll","ipconfig.exe","hrtfapo.dll","mssip32.dll","dhcpcsvc.dll","prntvpt.dll","browseui.dll","d3dx9_43.dll","scrobj.dll","packager.dll","mfsrcsnk.dll","version.dll","amstream.dll","winemine.exe","pdh.dll","inetmib1.dll","d3dxof.dll","msasn1.dll","d3dx9_35.dll","graphicscapture.dll","dssenh.dll","ia2comproxy.dll","joy.cpl","d3dcompiler_39.dll","gdi.exe","security.dll","xapofx1_4.dll","msvideo.dll","setx.exe","rasapi16.dll","cabinet.dll","traffic.dll","concrt140.dll","msimtf.dll","wuauserv.exe","windows.perception.stub.dll","bthprops.cpl","winepath.exe","powrprof.dll","wuapi.dll","hlink.dll","hid.dll","davclnt.dll","cryptsp.dll","olesvr32.dll","typelib.dll","atlthunk.dll","urlmon.dll","winver.exe","mf.dll","cscript.exe","httpapi.dll","d3d12.dll","winusb.dll","secedit.exe","inkobj.dll","stdole2.tlb","winemsibuilder.exe","rsaenh.dll","fontsub.dll","cryptui.dll","gamingtcui.dll","explorerframe.dll","hh.exe","xaudio2_0.dll","regedit.exe","clusapi.dll","msvcp_win.dll","ole2nls.dll","dmstyle.dll","control.exe","uninstaller.exe","msvcr100.dll","d3dx10_39.dll","olecli.dll","msvcp100.dll","wevtsvc.dll","systeminfo.exe","d3dx10_37.dll","websocket.dll","winhlp32.exe","ninput.dll","mlang.dll","fwpuclnt.dll","wshom.ocx","netsh.exe","nddeapi.dll","d3dx10_33.dll","mfreadwrite.dll","dswave.dll","user.exe","wineboot.exe","x3daudio1_0.dll","sccbase.dll","ws2_32.dll","inseng.dll","msxml4.dll","mfplay.dll","dpvoice.dll","mciseq.dll","xactengine3_0.dll","connect.dll","msxml3.dll","tasklist.exe","d3d10core.dll","mstask.dll","oleaut32.dll","d3dx9_37.dll","dplaysvr.exe","combase.dll","rundll32.exe","wpc.dll","windows.applicationmodel.dll","winedbg.exe","appxdeploymentclient.dll","msvcp110.dll","view.exe","wintab.dll","d3dx9_42.dll","wldp.dll","dxdiag.exe","stress.dll","d3dx11_43.dll","crypt32.dll","d3dcompiler_43.dll","setupapi.dll","d3dx9_39.dll","utildll.dll","msg711.acm","atmlib.dll","mgmtapi.dll","pidgen.dll","webservices.dll","xinput1_4.dll","xactengine3_1.dll","dwrite.dll","msctfp.dll","mcicda.dll","dpnhpast.dll","d3dx11_42.dll","dpnsvr.exe","d2d1.dll","msvcrt.dll","xaudio2_5.dll","mfplat.dll","vnbt.vxd","dhtmled.ocx","uxtheme.dll","vbscript.dll","gdi32.dll","d3dcompiler_37.dll","photometadatahandler.dll","shlwapi.dll","winoldap.mod","reg.exe","msvcrt40.dll","msdelta.dll","fntcache.dll","winsock.dll","vcruntime140.dll","windows.web.dll","d3dcompiler_42.dll","netstat.exe","x3daudio1_5.dll","explorer.exe","robocopy.exe","qdvd.dll","evr.dll","pstorec.dll","rpcss.exe","d3dx9_40.dll","setupx.dll","vssapi.dll","msvcm90.dll","faultrep.dll","avrt.dll","xactengine3_3.dll","schannel.dll","hal.dll","ctl3d.dll","wevtapi.dll","wtsapi32.dll","regapi.dll","xpssvcs.dll","ncrypt.dll","rstrtmgr.dll","dcomp.dll","d3dcompiler_41.dll","comsvcs.dll","avicap32.dll","cryptnet.dll","sfc_os.dll","windows.storage.applicationdata.dll","certutil.exe","monodebg.vxd","npptools.dll","d3dcompiler_47.dll","windows.system.profile.systemmanufacturers.dll","wuaueng.dll","xactengine2_0.dll","bcrypt.dll","wmp.dll","winnls32.dll","virtdisk.dll","compstui.dll","kerberos.dll","msauddecmft.dll","winedevice.exe","apisetschema.dll","l3codeca.acm","irprops.cpl","xaudio2_4.dll","dosx.exe","wmasf.dll","mtxdm.dll","dxcore.dll","dsound.vxd","winevdm.exe","d3d10.dll","vga.dll","shfolder.dll","dx8vb.dll","xactengine3_2.dll","xaudio2_6.dll","msadp32.acm","dpnaddr.dll","ver.dll","msctfmonitor.dll","ntoskrnl.exe","amsi.dll","acledit.dll","msports.dll","netcfgx.dll","msvfw32.dll","w32skrnl.dll","sti.dll","ddhelp.exe","ole2disp.dll","dplay.dll","x3daudio1_3.dll","msv1_0.dll","bcryptprimitives.dll","fsutil.exe","msvcm80.dll","threadpoolwinrt.dll","x3daudio1_4.dll","winevulkan.dll","shell32.dll","xinput1_2.dll","itss.dll","rometadata.dll","dmime.dll","msmpeg2vdec.dll","regsvr32.exe","wmvcore.dll","wintab32.dll","msimsg.dll","subst.exe","msvcp70.dll","mapistub.dll","vcomp90.dll","dsuiext.dll","mferror.dll","gdiplus.dll","adsldp.dll","xactengine2_4.dll","d3dx10_38.dll","winebrowser.exe","quartz.dll","wined3d.dll","msinfo32.exe","ddrawex.dll","dsquery.dll","mscat32.dll","imm.dll","wusa.exe","cacls.exe","uiautomationcore.dll","wscript.exe","wmi.dll","winspool.drv","msdrm.dll","msxml2.dll","dsdmo.dll","olethk32.dll","win32s16.dll","xapofx1_3.dll","msacm.dll","msvcr70.dll","netprofm.dll","d3dcompiler_46.dll","d3dx9_36.dll","clock.exe","commdlg.dll","dinput8.dll","msvcp140.dll","msvcr90.dll","ieframe.dll","cfgmgr32.dll","winepulse.drv","lodctr.exe","schtasks.exe","comm.drv","mscms.dll","msi.dll","magnification.dll","hostname.exe","dpvsetup.exe","ctl3dv2.dll","winecfg.exe","msvcrtd.dll","winedmo.dll","mfmp4srcsnk.dll","mfasfsrcsnk.dll"]} | |
diff --git a/app/src/main/assets/container_pattern.tzst b/app/src/main/assets/container_pattern.tzst | |
index b676301..ef02255 100644 | |
--- a/app/src/main/assets/container_pattern.tzst | |
+++ b/app/src/main/assets/container_pattern.tzst | |
@@ -1,3 +1,3 @@ | |
version https://git-lfs.github.com/spec/v1 | |
-oid sha256:e3a6163bd93636cb931eaed3954e259e967e81355d1d3fae0386a5c653d0c383 | |
-size 9192329 | |
+oid sha256:9b8b1692214600d5cb5985a8eb1f53ef10c880bbb72880d4d5f6600328f05a13 | |
+size 25158035 | |
diff --git a/app/src/main/assets/container_pattern_bionic.tzst b/app/src/main/assets/container_pattern_bionic.tzst | |
deleted file mode 100644 | |
index 2f5b357..0000000 | |
--- a/app/src/main/assets/container_pattern_bionic.tzst | |
+++ /dev/null | |
@@ -1,3 +0,0 @@ | |
-version https://git-lfs.github.com/spec/v1 | |
-oid sha256:84e637b757247ad08f0093f096a4cc478d179a58ae971627616d50afce18cd78 | |
-size 11569333 | |
diff --git a/app/src/main/assets/container_pattern_common.tzst b/app/src/main/assets/container_pattern_common.tzst | |
index 3e4c55d..5a92bf2 100644 | |
Binary files a/app/src/main/assets/container_pattern_common.tzst and b/app/src/main/assets/container_pattern_common.tzst differ | |
diff --git a/app/src/main/assets/contents.json b/app/src/main/assets/contents.json | |
new file mode 100644 | |
index 0000000..529fb09 | |
--- /dev/null | |
+++ b/app/src/main/assets/contents.json | |
@@ -0,0 +1,4 @@ | |
+[ | |
+ { "type": "DXVK", "verName": "0.96", "verCode": 1, "remoteUrl": "https://github.com/longjunyu2/winlator/releases/download/v7.1.2/dxvk-0.96.wcp" }, | |
+ { "type": "DXVK", "verName": "1.10.3", "verCode": 1, "remoteUrl": "https://github.com/longjunyu2/winlator/releases/download/v7.1.2/dxvk-1.10.3.wcp" } | |
+] | |
diff --git a/app/src/main/assets/cpu_database.json b/app/src/main/assets/cpu_database.json | |
deleted file mode 100644 | |
index 8ca75ad..0000000 | |
--- a/app/src/main/assets/cpu_database.json | |
+++ /dev/null | |
@@ -1,774 +0,0 @@ | |
-{ | |
- "a32x":{ | |
- "CPU":"2x Cortex-A76 @ 2GHz 6x Cortex-A55 @ 2GHz", | |
- "SoC":"MediaTek Dimensity 720 (MT6853)" | |
- }, | |
- "angler":{ | |
- "CPU":"4x Cortex-A57 @ 1.95GHz 4x Cortex-A53 @ 1.55GHz", | |
- "SoC":"Snapdragon 810 MSM8994" | |
- }, | |
- "ane":{ | |
- "CPU":"4x Cortex-A54 @ 2.3GHz 4x Cortex-A54 @ 1.7GHz", | |
- "SoC":"HiSilicon Kirin 659" | |
- }, | |
- "amar_row_wifi":{ | |
- "CPU":"8x Cortex-A53 @ 1.8GHz", | |
- "SoC":"Mediatek MT8768" | |
- }, | |
- "atlas":{ | |
- "CPU":"-", | |
- "SoC":"Intel(R) Core(TM) i5-8200Y @ 1.3GHz" | |
- }, | |
- "apq8084":{ | |
- "CPU":"4x Krait 450 @ 2.65GHz", | |
- "SoC":"Snapdragon 805 APQ8084" | |
- }, | |
- "atoll":{ | |
- "CPU":"2x Kryo 465 Gold @ 2.3GHz 6x Kryo 465 Silver @ 1.8GHz", | |
- "SoC":"Snapdragon 720G (SM7125)" | |
- }, | |
- "art-l29":{ | |
- "CPU":"4x Cortex-A73 @ 2.2GHz 4x Cortex-A53 @ 1.7GHz", | |
- "SoC":"HiSilicon Kirin 710F" | |
- }, | |
- "baylake":{ | |
- "CPU":"Atom Z3745 @ 1.3GHz", | |
- "SoC":"Intel Atom Z3745" | |
- }, | |
- "begonia":{ | |
- "CPU":"2x Cortex-176 @ 2GHz 6x Cortex-A55 @ 2GHz", | |
- "SoC":"MediaTek Helios G90T MT6785T" | |
- }, | |
- "blueline":{ | |
- "CPU":"4x Kryo 385 Gold @ 2.8GHz 4x Kryo 385 Silver @ 1.75GHz", | |
- "SoC":"Snapdragon 845" | |
- }, | |
- "bullhead":{ | |
- "CPU":"4x Cortex-A57 @ 1.8GHz 4x Cortex-A53 @ 1.44GHz", | |
- "SoC":"Snapdragon 808" | |
- }, | |
- "capri":{ | |
- "CPU":"2x Cortex-A9 @ 1.2GHz", | |
- "SoC":"Broadcom BCM28155" | |
- }, | |
- "cepheus":{ | |
- "CPU":"1x Kryo 485 Gold @ 2.8GHz 3x Kryo 485 Gold @ 2.4GHz 4x Kryo 485 Silver @ 1.7GHz", | |
- "SoC":"Snapdragon 855 SM8150" | |
- }, | |
- "cheryl":{ | |
- "CPU":"4x Kryo 280 HP @ 2.45GHz 4x Kryo 280 LP @ 1.9GHz", | |
- "SoC":"Snapdragon 835 MSM8998" | |
- }, | |
- "cheryl2":{ | |
- "CPU":"4x Kryo 385 Gold @ 2.8GHz 4x Kryo 385 Silver @ 1.8GHz", | |
- "SoC":"Snapdragon 845 SDM845" | |
- }, | |
- "cheetah":{ | |
- "CPU":"2x Cortex-X1 @ 2.8GHz 2x Cortex-A78 @ 2.3GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Google Tensor G2 (GS201)" | |
- }, | |
- "comet":{ | |
- "CPU":"1x Cortex-X4 @ 31.GHz 3x Cortex-A720 @ 2.6GHz 4x Cortex-A520 @ 1.95GHz", | |
- "SoC":"Google Tensor G4 (GS401)" | |
- }, | |
- "eureka":{ | |
- "CPU":"6x Cortex-A78C @ 2.3 GHz", | |
- "SoC":"Snapdragon XR2 Gen 2 (SM8550)" | |
- }, | |
- "felix":{ | |
- "CPU":"2x Cortex-X1 @ 2.8GHz 2x Cortex-A78 @ 2.3GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Google Tensor G2 (GS201)" | |
- }, | |
- "tangorpro":{ | |
- "CPU":"2x Cortex-X1 @ 2.8GHz 2x Cortex-A78 @ 2.3GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Google Tensor G2 (GS201)" | |
- }, | |
- "codina":{ | |
- "CPU":"2x Cortex-A9 @ 1.0GHz", | |
- "SoC":"NovaThor U8500" | |
- }, | |
- "clovertrail":{ | |
- "CPU":"2x Atom Z2560 @ 1.6GHz", | |
- "SoC":"Intel Atom Z2560" | |
- }, | |
- "clt":{ | |
- "CPU":"4x Cortex-A73 @ 2.36GHz 4x Cortex-A53 @ 1.8GHz", | |
- "SoC":"HiSilicon Kirin 970" | |
- }, | |
- "els":{ | |
- "CPU":"4x Cortex-A76 @ 2.8GHz 4x Cortex-A55 @ 1.9GHz", | |
- "SoC":"HiSilicon Kirin 990 5G" | |
- }, | |
- "dandelion":{ | |
- "CPU":"8x Cortex-A54 @ 1.5GHz", | |
- "SoC":"MediaTek Helio G25 (MT6762G)" | |
- }, | |
- "darcy":{ | |
- "CPU":"4x ARM Cortex-A53 4x ARM Cortex-A57", | |
- "SoC":"nVIDIA Tegra X1 T210" | |
- }, | |
- "db8520h":{ | |
- "CPU":"2x Cortex-A9 @ 1.0GHz", | |
- "SoC":"NovaThor U8500" | |
- }, | |
- "dragon":{ | |
- "CPU":"4x Cortex-A57 @ 1.9GHz 4x Cortex-A53 @ 1.3GHz", | |
- "SoC":"nVIDIA Tegra X1 T210" | |
- }, | |
- "douglas":{ | |
- "CPU":"4x Cortex-A53 @ 1.3GHz", | |
- "SoC":"MediaTek MT8163" | |
- }, | |
- "eeepad":{ | |
- "CPU":"4x Atom Z2520 @ 1.2GHz", | |
- "SoC":"Intel Atom Z2520" | |
- }, | |
- "endeavoru":{ | |
- "CPU":"4x Cortex-A9 @ 1.5GHz 1x Cortex-A9 @ 0.5GHz", | |
- "SoC":"nVIDIA Tegra 3 AP33" | |
- }, | |
- "eml":{ | |
- "CPU":"4x Cortex-A73 @ 2.36GHz 4x Cortex-A53 @ 1.8GHz", | |
- "SoC":"HiSilicon Kirin 970" | |
- }, | |
- "eve":{ | |
- "CPU":"i5-7Y56 @ 1.2GHz", | |
- "SoC":"Ambel Lake-Y / Kaby Lake-U/Y" | |
- }, | |
- "eva-l19":{ | |
- "CPU":"4x Cortex-A72 @ 2.5GHz 4x Cortex-A53 @ 1.8GHz", | |
- "SoC":"HiSilicon Kirin 955" | |
- }, | |
- "exynos990":{ | |
- "CPU":"4x Cortex-A55 @ 2GHz 2x Cortex-A76 @ 2.5GHz 2x Exynos M5 @ 2.7GHz", | |
- "SoC":"Exynos 990" | |
- }, | |
- "exynos9611":{ | |
- "CPU":"4x Cortex-A73 @ 2.3GHz 4x Cortex-A53 @ 1.7GHz", | |
- "SoC":"Exynos 7 Octa (9611)" | |
- }, | |
- "exynos2100":{ | |
- "CPU":"1x Cortex-X1 @ 2.9GHz 3x Cortex-A78 @ 2.8GHz 4x Cortex-A55 @ 2.2GHz", | |
- "SoC":"Exynos 2100" | |
- }, | |
- "exynos9810":{ | |
- "CPU":"4x Exynos M3 @ 2.7GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Exynos 9 (9810)" | |
- }, | |
- "exynos9820":{ | |
- "CPU":"2 Exynos M4 @ 2.7GHz 2x Cortex-A75 @ 2.3GHz 4x Cortex-A55 @ 1.9GHz", | |
- "SoC":"Exynos 9 (9820)" | |
- }, | |
- "ford":{ | |
- "CPU":"4x Cortex-A7 @ 1.3GHz", | |
- "SoC":"MediaTek MT8127" | |
- }, | |
- "flo":{ | |
- "CPU":"4x Krait 300 @ 1.5GHz", | |
- "SoC":"Snapdragon 600 APQ8064-FLO" | |
- }, | |
- "flame":{ | |
- "CPU":"1x Kryo 485 Gold @ 2.8GHz 3x Kryo 485 Gold @ 2.4GHz 4x Kryo 485 Silver @ 1.7GHz", | |
- "SoC":"Snapdragon 855 SM8150" | |
- }, | |
- "fleur":{ | |
- "CPU":"2x Cortex-A76 @ 2GHz 6x Cortex-A55 @ 2GHz", | |
- "SoC":"MediaTek Helio G96 (MT6781)" | |
- }, | |
- "flounder":{ | |
- "CPU":"2x nVidia Denver @ 2.5GHz", | |
- "SoC":"nVIDIA Tegra K1 T132" | |
- }, | |
- "g3u":{ | |
- "CPU":"2x Cortex-A5 @ 1.0GHz", | |
- "SoC":"Snapdragon S4 Play MSM8225" | |
- }, | |
- "gee":{ | |
- "CPU":"4x Krait 300 @ 1.5GHz", | |
- "SoC":"Snapdragon S4 Pro APQ8064" | |
- }, | |
- "grouper":{ | |
- "CPU":"4x Cortex-A9 @ 1.3GHz 1x Cortex-A9 @ 0.5GHz", | |
- "SoC":"nVIDIA Tegra 3 T30L" | |
- }, | |
- "hammerhead":{ | |
- "CPU":"4x Krait 400 @ 2.26GHz", | |
- "SoC":"Snapdragon 800 MSM8974" | |
- }, | |
- "hawaii_ss_kylepro":{ | |
- "CPU":"2x Cortex-A9 @ 1.2GHz", | |
- "SoC":"Broadcom BCM21664T" | |
- }, | |
- "herring":{ | |
- "CPU":"1x Cortex-A8 @ 1.0GHz", | |
- "SoC":"Exynos 3 Single 3110" | |
- }, | |
- "hollywood":{ | |
- "CPU":"4x Kryo 280 HP @ 2.4GHz 4x Kryo 280 LP @ 1.9GHz", | |
- "SoC":"Snapdragon XR2" | |
- }, | |
- "k6853v1_64_titan":{ | |
- "CPU":"2x Cortex-A76 @ 2Ghz 6x Cortex-A55 @ 2GHz", | |
- "SoC":"MediaTek Dimensity 720 (MT6853)" | |
- }, | |
- "kalama":{ | |
- "CPU":"1x Cortex-X3 @ 3.3GHz 2x Cortex-A710 @ 2.8GHz 2x Cortex-A715 @ 2.8GHz 3x Cortex-A510 @ 2.0GHz", | |
- "SoC":"Snapdragon 8 Gen 2 (SM8550)" | |
- }, | |
- "kona":{ | |
- "CPU":"1x Cortex-A77 @ 3.1GHz 3x Cortex-A77 @ 2.4GHz 4x Kryo 585 Silver @ 1.8GHz", | |
- "SoC":"Snapdragon 865 SM8250" | |
- }, | |
- "kohaku":{ | |
- "CPU":"i5-10210U @ 1.6GHz", | |
- "SoC":"Comet Lake-U" | |
- }, | |
- "lahaina":{ | |
- "CPU":"1x Cortex-X1 @ 2.8GHz 3x Cortex-A78 @ 2.4GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Snapdragon 888" | |
- }, | |
- "liara":{ | |
- "CPU":"5 Compute cores 2C+3G", | |
- "SoC":"AMD A4-9120C Radeon R4" | |
- }, | |
- "lito":{ | |
- "CPU":"2x Cortex-A77 @ 2.1GHz 6x Kryo 560 Silver @ 1.7GHz", | |
- "SoC":"Snapdragon 690 SM6350" | |
- }, | |
- "lya":{ | |
- "CPU":"2x Cortex-A76 @ 2.6GHz 2x Cortex-A76 @ 1.9GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"HiSilicon Kirin 980" | |
- }, | |
- "lyo-l01":{ | |
- "CPU":"4x Cortex-153 @ 1.3GHz", | |
- "SoC":"MediaTek MT6735" | |
- }, | |
- "mako":{ | |
- "CPU":"4x Krait @ 1.5GHz", | |
- "SoC":"Snapdragon S4 Pro APQ8064" | |
- }, | |
- "marlin":{ | |
- "CPU":"2x Kryo HP @ 2.15GHz 2x Kryo @ 1.6GHz", | |
- "SoC":"Snapdragon 821 MSM8996 Pro" | |
- }, | |
- "med":{ | |
- "CPU":"8x Cortex-A54 @ 1.5GHz", | |
- "SoC":"MediaTek MT6762R" | |
- }, | |
- "mocha":{ | |
- "CPU":"4x Cortex-A15 @2.2GHz", | |
- "SoC":"nVIDIA Tegra K1 T124" | |
- }, | |
- "msm8225":{ | |
- "CPU":"2x Cortex-A5 @ 1.2GHz", | |
- "SoC":"Snapdragon S4 MSM8225" | |
- }, | |
- "msm8226":{ | |
- "CPU":"4x Cortex-A7 @ 1.19GHz", | |
- "SoC":"Snapdragon 400 MSM8226" | |
- }, | |
- "msm8625":{ | |
- "CPU":"2x Cortex-A5 @ 1.2GHz", | |
- "SoC":"Snapdragon S4 MSM8625" | |
- }, | |
- "MSM8227":{ | |
- "CPU":"2x Krait @ 1GHz", | |
- "SoC":"Snapdragon S4 Plus MSM8227" | |
- }, | |
- "msm8627":{ | |
- "CPU":"2x Krait @ 1GHz", | |
- "SoC":"Snapdragon S4 Plus MSM8627" | |
- }, | |
- "apq8030":{ | |
- "CPU":"2x Krait @ 1.2GHz", | |
- "SoC":"Snapdragon S4 Plus APQ8030" | |
- }, | |
- "msm8230":{ | |
- "CPU":"2x Krait @ 1.2GHz", | |
- "SoC":"Snapdragon S4 Plus MSM8230" | |
- }, | |
- "msm8660_surf":{ | |
- "CPU":"2x Scorpion @ 1.5GHz", | |
- "SoC":"Snapdragon S3 MSM8260" | |
- }, | |
- "msm8630":{ | |
- "CPU":"2x Krait @ 1.2GHz", | |
- "SoC":"Snapdragon S4 Plus MSM8630" | |
- }, | |
- "msm8930":{ | |
- "CPU":"2x Krait @ 1.2GHz", | |
- "SoC":"Snapdragon S4 Plus MSM8930" | |
- }, | |
- "msm8937":{ | |
- "CPU":"4x Cortex-A53 @ 1.4GHz", | |
- "SoC":"Snapdragon 425 MSM8917" | |
- }, | |
- "apq8060a":{ | |
- "CPU":"2x Krait @ 1.5GHz", | |
- "SoC":"Snapdragon S4 Plus APQ8060A" | |
- }, | |
- "msm8260a":{ | |
- "CPU":"2x Krait @ 1.5GHz", | |
- "SoC":"Snapdragon S4 Plus MSM8260A" | |
- }, | |
- "msm8660a":{ | |
- "CPU":"2x Krait @ 1.5GHz", | |
- "SoC":"Snapdragon S4 Plus MSM8660A" | |
- }, | |
- "msm8960":{ | |
- "CPU":"2x Krait @ 1.5GHz", | |
- "SoC":"Snapdragon S4 Plus MSM8960" | |
- }, | |
- "msm8260a-pro":{ | |
- "CPU":"2x Krait 300 @ 1.7GHz", | |
- "SoC":"Snapdragon S4 Pro MSM8260A Pro" | |
- }, | |
- "msm8960t":{ | |
- "CPU":"2x Krait 300 @ 1.7GHz", | |
- "SoC":"Snapdragon S4 Pro MSM8960T" | |
- }, | |
- "msm8960t-pro":{ | |
- "CPU":"2x Krait 300 @ 1.7GHz", | |
- "SoC":"Snapdragon S4 Pro MSM8960T Pro" | |
- }, | |
- "msm8960ab":{ | |
- "CPU":"2x Krait 300 @ 1.7GHz", | |
- "SoC":"Snapdragon S4 Pro MSM8960AB" | |
- }, | |
- "msm8960dt":{ | |
- "CPU":"2x Krait 300 @ 1.7GHz", | |
- "SoC":"Snapdragon S4 Pro MSM8960DT" | |
- }, | |
- "apq8064":{ | |
- "CPU":"4x Krait 300 @ 1.5GHz", | |
- "SoC":"Snapdragon 600 APQ8064" | |
- }, | |
- "msm8916":{ | |
- "CPU":"4x Cortex-A53 @ 1.2GHz", | |
- "SoC":"Snapdragon 410 MSM8916" | |
- }, | |
- "msm8953":{ | |
- "CPU":"8x Cortex-A53 @ 2.0GHz", | |
- "SoC":"Snapdragon 625 MSM8953" | |
- }, | |
- "msm8952":{ | |
- "CPU":"8x Cortex-A53 @ 1.2GHz", | |
- "SoC":"Snapdragon 617 MSM8952" | |
- }, | |
- "msm8956":{ | |
- "CPU":"2x Cortex-A72 @ 1.8GHz 4x Cortex-A53 @ 1.4GHz", | |
- "SoC":"Snapdragon 650 MSM8956" | |
- }, | |
- "msm8974":{ | |
- "CPU":"4x Krait 400 @ 2.15GHz", | |
- "SoC":"Snapdragon 800 MSM8974" | |
- }, | |
- "msm8974pro-ab":{ | |
- "CPU":"4x Krait 400 @ 2.26GHz", | |
- "SoC":"Snapdragon 801 MSM8974PRO-AB" | |
- }, | |
- "msm8974pro-ac":{ | |
- "CPU":"4x Krait 400 @ 2.45GHz", | |
- "SoC":"Snapdragon 801 MSM8974AC" | |
- }, | |
- "msm8976":{ | |
- "CPU":"4x Cortex-A53 @ 1.4GHz 4x Cortex-A72 @ 1.8GHz", | |
- "SoC":"Snapdragon 652 MSM8976" | |
- }, | |
- "msm8976pro":{ | |
- "CPU":"4x Cortex-A53 @ 1.4GHz 4x Cortex-A72 @ 1.9GHz", | |
- "SoC":"Snapdragon 653 MSM8976 Pro" | |
- }, | |
- "msm8992":{ | |
- "CPU":"4x Cortex-A57 @ 1.8GHz 4x Cortex-A53 @ 1.4GHz", | |
- "SoC":"Snapdragon 808 MSM8992" | |
- }, | |
- "msm8994":{ | |
- "CPU":"4x Cortex-A57 @ 1.95GHz 4x Cortex-A53 @ 1.5GHz", | |
- "SoC":"Snapdragon 810 MSM8994" | |
- }, | |
- "msm8996":{ | |
- "CPU":"2x Kryo HP @ 1.8GHz 2x Kryo LP @ 1.36GHz", | |
- "SoC":"Snapdragon 820 MSM8996" | |
- }, | |
- "msm8996pro":{ | |
- "CPU":"2x Kryo HP @ 2.34GHz 2x Kryo LP @ 2.18GHz", | |
- "SoC":"Snapdragon 821 MSM8996 Pro" | |
- }, | |
- "msm8998":{ | |
- "CPU":"4x Kryo 280 HP @ 2.4GHz 4x Kryo 280 LP @ 1.9GHz", | |
- "SoC":"Snapdragon 835 MSM8998" | |
- }, | |
- "msmnile":{ | |
- "CPU":"1x Kryo 485 Gold @ 2.8GHz 3x Kryo 485 Gold @ 2.4GHz 4x Kryo 485 Silver @ 1.8GHz", | |
- "SoC":"Snapdragon 855 SM8150" | |
- }, | |
- "mt6795t":{ | |
- "CPU":"8x Cortex-A53 @ 2.1GHz", | |
- "SoC":"MediaTek Helio X10 MT6795T" | |
- }, | |
- "mt6797m":{ | |
- "CPU":"2x Cortex-A72 @ 2.1GHz 4x Cortex-A53 @ 1.85GHz 4x Cortex-A53 @ 1.4GHz", | |
- "SoC":"MediaTek Helio X20 MT6797M" | |
- }, | |
- "mt6750t":{ | |
- "CPU":"8x Cortex-A53 @ 1.5GHz", | |
- "SoC":"MediaTek MT6750T" | |
- }, | |
- "mx5":{ | |
- "CPU":"8x Cortex-A53 @ 2.1GHz", | |
- "SoC":"MediaTek Helio X10 MT6795T" | |
- }, | |
- "mtk6575":{ | |
- "CPU":"1x Cortex-A9 @ 1.0GHz", | |
- "SoC":"MediaTek MT6575" | |
- }, | |
- "noh":{ | |
- "CPU":"4x Cortex-A77 @ 3.1GHz 4x Cortex-A55 @ 2.0GHz", | |
- "SoC":"HiSilicon Kirin 9000" | |
- }, | |
- "sdm710":{ | |
- "CPU":"2x Kryo 385 Gold @ 2.2GHz 6x Kryo 385 Silver @ 1.7GHz", | |
- "SoC":"Snapdragon 710 SDM710" | |
- }, | |
- "sdm845":{ | |
- "CPU":"4x Kryo 385 Gold @ 2.8GHz 4x Kryo 385 Silver @ 1.7GHz", | |
- "SoC":"Snapdragon 845 SDM845" | |
- }, | |
- "monterey":{ | |
- "CPU":"4x Kryo 280 HP @ 2.45GHz 4x Kryo 280 LP @ 1.9GHz", | |
- "SoC":"Snapdragon 835 MSM8998" | |
- }, | |
- "oriole":{ | |
- "CPU":"2x Cortex-X1 @ 2.8GHz 2x Cortex-A76 @ 2.2GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Google Tensor (Whitechapel)" | |
- }, | |
- "oppo6779_18073":{ | |
- "CPU":"2x Cortex-A75 @ 2.2GHz 6x Cortex-A55 @ 2GHz", | |
- "SoC":"Mediatek MT6779 Helio P90" | |
- }, | |
- "gt-p7510":{ | |
- "CPU":"2x Cortex-A9 @ 1.0GHz", | |
- "SoC":"nVIDIA Tegra 2 T20" | |
- }, | |
- "pacific":{ | |
- "CPU":"2x @ 2.1GHz 2x @ 1.6GHz", | |
- "SoC":"Snapdragon 820E Embedded" | |
- }, | |
- "piranha":{ | |
- "CPU":"2x Cortex-A9 @ 1.0GHz", | |
- "SoC":"Texas Instruments OMAP4430" | |
- }, | |
- "pro5":{ | |
- "CPU":"4xCortex-56 @ 2.1GHz 4x Cortex-53 @ 1.5GHz", | |
- "SoC":"Exynos 7 Octa 7420" | |
- }, | |
- "pro7plus":{ | |
- "CPU":"2x Cortex-A73 @ 2.6GHz 4x Cortex-A53 @ 2.2GHz 4x Cortex-A35 @ 1.9GHz", | |
- "SoC":"MediaTek Helio X30 MT6799" | |
- }, | |
- "pxa986":{ | |
- "CPU":"2x Cortex-A9 @ 1.2GHz", | |
- "SoC":"Marvell PXA988" | |
- }, | |
- "pxa19xx":{ | |
- "CPU":"4x Cortex-A53 @ 1.25GHz", | |
- "SoC":"Maxvell Armada PXA1908" | |
- }, | |
- "rhea_ss_corsicass":{ | |
- "CPU":"1x Cortex-A9 @ 0.9GHz", | |
- "SoC":"Broadcom BCM21654" | |
- }, | |
- "panther":{ | |
- "CPU":"1x Cortex-X1 @ 2.8GHz 2x Cortex-A78 @ 2.3GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Google Tensor G2" | |
- }, | |
- "prada":{ | |
- "CPU":"4x Cortex-A53 @ 1.4 GHz 4x Cortex-A53 @ 1.1GHz", | |
- "SoC":"Snapdragon 430 MSM8937" | |
- }, | |
- "pro6plus":{ | |
- "CPU":"4x Exynos M1 @ 1.97GHz 4x Cortex-A53 @ 1.48GHz", | |
- "SoC":"Exynos 8 Octa 8890" | |
- }, | |
- "universal3110":{ | |
- "CPU":"1x Cortex-A8 @ 1.2GHz", | |
- "SoC":"Exynos 3 Single 3110" | |
- }, | |
- "universal9820":{ | |
- "CPU":"2x Exynos M4 @ 2.7GHz 2x Cortex-A75 @ 2.3GHz 4x Cortex-A55 @ 1.95GHz", | |
- "SoC":"Exynos 9 9820" | |
- }, | |
- "redfin":{ | |
- "CPU":"2x Kryo 475 Gold @ 2.4GHz 2x Kryo 475 Gold 2.2GHz 6x Kryo 475 Silver @ 1.8GHz ", | |
- "SoC":"Snapdragon 765/765G" | |
- }, | |
- "s5e9925":{ | |
- "CPU":"1x Cortex-X2 @ 2.8GHZ 3x Cortex-A710 @ 2.5GHz 4x Cortex-A510 @ 1.8GHz", | |
- "SoC":"Exynos 2200" | |
- }, | |
- "saturn":{ | |
- "CPU":"4x Krait 450 @ 2.45GHz", | |
- "SoC":"Snapdragon 805 APQ8084" | |
- }, | |
- "sailfish":{ | |
- "CPU":"2x Kryo HP @ 2.15GHz 2x Kryo @ 1.6GHz", | |
- "SoC":"Snapdragon 821 MSM8996 Pro" | |
- }, | |
- "sdm660":{ | |
- "CPU":"4x Kryo 260 HP @ 2.2GHz 4x Kryo 260 LP @ 1.8GHz", | |
- "SoC":"Snapdragon 660" | |
- }, | |
- "sc-02b":{ | |
- "CPU":"1x Cortex-A8 @ 1.2GHz", | |
- "SoC":"Exynos 3 Single 3110" | |
- }, | |
- "sch-i905":{ | |
- "CPU":"2x Cortex-A9 @ 1.0GHz", | |
- "SoC":"nVIDIA Tegra 2 T20" | |
- }, | |
- "sc7730s":{ | |
- "CPU":"4x Cortex-A7 @ 1.3GHz", | |
- "SoC":"Spreadtrum SC7730S" | |
- }, | |
- "shamu":{ | |
- "CPU":"4x Krai 450 @ 2.65GHz", | |
- "SoC":"Snapdragon 805 APQ8084AB" | |
- }, | |
- "shiba":{ | |
- "CPU":"1x Cortex-X3 @ 2.9GHz 4x Cortex-A715 @ 2.3GHz 4x Cortex-A510 @ 1.7GHz", | |
- "SoC":"Google Tensor G3 (GS301)" | |
- }, | |
- "sm6150":{ | |
- "CPU":"2x Kryo 460 Gold @ 2GHz 6x 460 Kryo Silver @ 1.7GHz", | |
- "SoC":"Snapdragon 675 SM6150" | |
- }, | |
- "smdkc110":{ | |
- "CPU":"1x Cortex-A8 @ 1.2GHz", | |
- "SoC":"Exynos 3 Single 3110" | |
- }, | |
- "sun":{ | |
- "CPU":"2x Oryon @ 4.5GHz 6x Oryon @ 3.5GHz", | |
- "SoC":"Snapdragon 8 Elite (SM8750)" | |
- }, | |
- "ums512_25c10": { | |
- "CPU":"2 Cortex-A75 @2GHz 6x Cortex-A55 @ 2 GHz", | |
- "SoC":"Unisoc Tiger T618" | |
- }, | |
- "universal3250":{ | |
- "CPU":"2x Cortex-A7 @ 1.0GHz", | |
- "SoC":"Exynos 2 Dual 3250" | |
- }, | |
- "universal3470":{ | |
- "CPU":"4x Cortex-A7 @ 1.4GHz", | |
- "SoC":"Exynos 3 Quad 3470" | |
- }, | |
- "universal3475":{ | |
- "CPU":"4x Cortex-A7 @ 1.3GHz", | |
- "SoC":"Exynos 3 Quad 3475" | |
- }, | |
- "universal4210":{ | |
- "CPU":"2x Cortex-A9 @ 1.4GHz", | |
- "SoC":"Exynos 4 Dual 4210" | |
- }, | |
- "universal4212":{ | |
- "CPU":"2x Cortex-A9 @ 1.5GHz", | |
- "SoC":"Exynos 4 Dual 4212" | |
- }, | |
- "universal4412":{ | |
- "CPU":"4x Cortex-A9 @ 1.4GHz", | |
- "SoC":"Exynos 4 Quad 4412" | |
- }, | |
- "smdk4x12":{ | |
- "CPU":"4x Cortex-A9 @ 1.4GHz", | |
- "SoC":"Exynos 4 Quad 4412" | |
- }, | |
- "universal4415":{ | |
- "CPU":"4x Cortex-A9 @ 1.5GHz", | |
- "SoC":"Exynos 4 Quad 4415" | |
- }, | |
- "universal5250":{ | |
- "CPU":"2x Cortex-A15 @ 1.7GHz", | |
- "SoC":"Exynos 5 Dual 5250" | |
- }, | |
- "universal5260":{ | |
- "CPU":"2x Cortex-A15 @ 1.7GHz 4x Cortex-A7 @ 1.3GHz", | |
- "SoC":"Exynos 5 Hexa 5260" | |
- }, | |
- "universal5410":{ | |
- "CPU":"4x Cortex-A15 @ 1.6GHz 4x Cortex-A7 @ 1.2GHz", | |
- "SoC":"Exynos 5 Octa 5410" | |
- }, | |
- "universal5420":{ | |
- "CPU":"4x Cortex-A15 @ 1.9GHz 4x Cortex-A7 @ 1.3GHz", | |
- "SoC":"Exynos 5 Octa 5420" | |
- }, | |
- "universal5422":{ | |
- "CPU":"4x Cortex-A15 @ 2.1GHz 4x Cortex-A7 @ 1.5GHz", | |
- "SoC":"Exynos 5 Octa 5422" | |
- }, | |
- "universal5430":{ | |
- "CPU":"4x Cortex-A15 @ 1.8GHz 4x Cortex-A7 @ 1.3GHz", | |
- "SoC":"Exynos 5 Octa 5430" | |
- }, | |
- "universal5800":{ | |
- "CPU":"4x Cortex-A15 @ 2.0GHz 4x Cortex-A7 @ 1.3GHz", | |
- "SoC":"Exynos 5 Octa 5800" | |
- }, | |
- "universal5433":{ | |
- "CPU":"4x Cortex-A57 @ 1.9GHz 4x Cortex-A53 @ 1.3GHz", | |
- "SoC":"Exynos 7 Octa 5433" | |
- }, | |
- "universal7420":{ | |
- "CPU":"4x Cortex-A57 @ 2.1GHz 4x Cortex-A53 @ 1.5GHz", | |
- "SoC":"Exynos 7 Octa 7420" | |
- }, | |
- "universal7570":{ | |
- "CPU":"8x Cortex-A53 @ 1.4GHz", | |
- "SoC":"Exynos 7 Quad 7570" | |
- }, | |
- "universal7580":{ | |
- "CPU":"8x Cortex-A53 @ 1.6GHz", | |
- "SoC":"Exynos 7 Octa 7580" | |
- }, | |
- "universal7870":{ | |
- "CPU":"8x Cortex-A53 @ 1.6GHz", | |
- "SoC":"Exynos 7 Octa 7870" | |
- }, | |
- "universal7880":{ | |
- "CPU":"8x Cortex-A53 @ 1.9GHz", | |
- "SoC":"Exynos 7 Octa 7880" | |
- }, | |
- "universal7872":{ | |
- "CPU":"2x Cortex-A73 @ 2.0GHz 4x Cortex-A53 @ 1.6GHz", | |
- "SoC":"Exynos 7 Hexa 7872" | |
- }, | |
- "universal7885":{ | |
- "CPU":"2x Cortex-A73 @ 2.2GHz 6x Cortex-A53 @ 1.6GHz", | |
- "SoC":"Exynos 7 Octa 7885" | |
- }, | |
- "universal8890":{ | |
- "CPU":"4x Cortex-A53 @ 1.6GHz 4x Samsung Exynos M1 @ 2.6GHz", | |
- "SoC":"Exynos 8 Octa 8890" | |
- }, | |
- "universal8895":{ | |
- "CPU":"4x Samsung Exynos M1 @ 2.3GHz 4x Cortex-A53 @ 1.6GHz", | |
- "SoC":"Exynos 9 Octa 8895" | |
- }, | |
- "universal9810":{ | |
- "CPU":"4x Samsung Exynos M3 @ 2.8GHz 4x Cortex-A55 @ 1.7GHz", | |
- "SoC":"Exynos 9 Series 9810" | |
- }, | |
- "universal9825":{ | |
- "CPU":"2x Samsung Exynos M4 @ 2.7GHz 2x Cortex-A75 @ 2.4GHz 4x Cortex-A55 @ 1.9GHz", | |
- "SoC":"Exynos 9 Series 9825" | |
- }, | |
- "ville":{ | |
- "CPU":"2x Krait @ 1.5GHz", | |
- "SoC":"Snapdragon S4 MSM8290" | |
- }, | |
- "vog":{ | |
- "CPU":"2x Cortex-A76 @ 2.6GHz 2x Cortex-A76 @ 1.9GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"HiSilicon Kirin 980" | |
- }, | |
- "venus":{ | |
- "CPU":"1x Cortex-X1 @ 2.8GHz 3x Cortex-A78 @ 2.4GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Snapdragon 888 SM8350" | |
- }, | |
- "vtr":{ | |
- "CPU":"4x Cortex-A73 @ 2.4GHz 4x Cortex-A53 @ 1.8GHz", | |
- "SoC":"HiSilicon Kirin 960" | |
- }, | |
- "taimen":{ | |
- "CPU":"4x Kryo 280 HP @ 2.45GHz 4x Kryo 280 LP @ 1.9GHz", | |
- "SoC":"Snapdragon 835 MSM8998" | |
- }, | |
- "tn8":{ | |
- "CPU":"4x Cortex-A15 @2.2GHz", | |
- "SoC":"nVIDIA Tegra K1 T124" | |
- }, | |
- "taro":{ | |
- "CPU":"1x Cortex-X2 @ 3GHz 3x Cortex-A710 @ 2.5GHz 4x Cortex-A510 @ 1.8GHz", | |
- "SoC":"Snapdragon 8 Gen 1 (SM8450)" | |
- }, | |
- "thebes":{ | |
- "CPU":"2x Cortex-A15 @ 1.5GHz 2x Cortex-A7 @ 1.2GHz", | |
- "SoC":"MediaTek MT8135" | |
- }, | |
- "trinket":{ | |
- "CPU":"4x Kryo 260 HP @ 2GHz 4x Kryo 260 LP @ 1.8GHz", | |
- "SoC":"Snapdragon 665 SM6125" | |
- }, | |
- "tuna":{ | |
- "CPU":"2x Cortex-A9 @ 1.2GHz", | |
- "SoC":"TI OMAP 4460" | |
- }, | |
- "vu2kt":{ | |
- "CPU":"2x Krait @ 1.5GHz", | |
- "SoC":"Snapdragon S4 Plus MSM8960" | |
- }, | |
- "walleye":{ | |
- "CPU":"4x Kryo 280 HP @ 2.45GHz 4x Kryo 280 LP @ 1.9GHz", | |
- "SoC":"Snapdragon 835 MSM8998" | |
- }, | |
- "wikipad":{ | |
- "CPU":"4x Cortex-A9 @ 1.3GHz 1x Cortex-A9 @ 0.5GHz", | |
- "SoC":"nVIDIA Tegra 3 T30L" | |
- }, | |
- "qc_reference_phone":{ | |
- "CPU":"2x Kryo HP @ 2.15GHz 2x Kryo LP @ 1.36GHz", | |
- "SoC":"Snapdragon 820 MSM8996" | |
- }, | |
- "z4u":{ | |
- "CPU":"4x Cortex-A5 @ 1.2GHz", | |
- "SoC":"Snapdragon 200 MSM8225Q" | |
- }, | |
- "zs600kl":{ | |
- "CPU":"4x Kryo 385 Gold @ 3GHz 4x Kryo 385 Silver @ 1.8GHz", | |
- "SoC":"Snapdragon 845" | |
- }, | |
- "mt6765v":{ | |
- "CPU":"4x Cortex-A53 @ 2.3GHz 4x Cortex-A53 @ 1.8GHz", | |
- "SoC":"Mediatek MT6765G Helio G35 (12 nm)" | |
- }, | |
- "k65v1_64_bsp_titan_rat":{ | |
- "CPU":"4x Cortex-A53 @ 2.3GHz 4x Cortex-A53 @ 1.8GHz", | |
- "SoC":"Mediatek MT6765 Helio P35 (12nm)" | |
- }, | |
- "careena":{ | |
- "CPU":"AMD 670F00h", | |
- "SoC":"AMD A4-9120C RADEON R4, 5 COMPUTE CORES 2C+3G" | |
- }, | |
- "sion":{ | |
- "CPU":"i3-8130U CPU 2.2GHz SoC", | |
- "SoC":"i3-8130U CPU 2,2 GHz soc" | |
- }, | |
- "biloba":{ | |
- "CPU":"2x Cortex-A75 @ 2.0GHz 6x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Mediatek MT6769Z Helio G85 (12nm)" | |
- }, | |
- "ele":{ | |
- "CPU":"2x Cortex-A76 @ 2.6GHz 2x Cortex-A76 @ 1.9GHz 4x Cortex-A55 @ 1.8GHz", | |
- "SoC":"Kirin 980 (7 nm)" | |
- }, | |
- "krane":{ | |
- "CPU":"4x Cortex-A73 @ 2.0GHz + 4x Cortex-A53 @ 2.0GHz", | |
- "SoC":"MediaTekHelio P60T (12nm)" | |
- }, | |
- "pineapple":{ | |
- "CPU":"1x Cortex-X4 @ 3.3GHz 3x Cortex-A720 @ 3.2GHz 2x Cortex-A720 @ 2.6GHz 4x Cortex-A520 @ 2.3GHz", | |
- "SoC":"Qualcomm SM8650-AB Snapdragon 8 Gen 3" | |
- }, | |
- "s5e9945":{ | |
- "CPU":"1x Cortex-X4 @ 3.2GHz 2x Cortex-A720 @ 2.9GHz 3x Cortex-A720 @ 2.6GHz 4x Cortex-A520 @ 2.0GHz", | |
- "SoC":"Exynos 2400" | |
- }, | |
- "a12":{ | |
- "CPU":"4x Cortex-A53 @ 2.35GHz 4x Cortex-A53 @ 1.8GHz", | |
- "SoC":"MediaTek Helio P35 (MT6765)" | |
- }, | |
- "generic":{ | |
- "CPU":"Unknown", | |
- "SoC":"Generic Android AARCH64 CPU" | |
- } | |
-} | |
diff --git a/app/src/main/assets/ddrawrapper/cnc-ddraw.tzst b/app/src/main/assets/ddrawrapper/cnc-ddraw.tzst | |
new file mode 100644 | |
index 0000000..3d7e67e | |
Binary files /dev/null and b/app/src/main/assets/ddrawrapper/cnc-ddraw.tzst differ | |
diff --git a/app/src/main/assets/ddrawrapper/dd7to9.tzst b/app/src/main/assets/ddrawrapper/dd7to9.tzst | |
new file mode 100644 | |
index 0000000..b1d30a5 | |
Binary files /dev/null and b/app/src/main/assets/ddrawrapper/dd7to9.tzst differ | |
diff --git a/app/src/main/assets/ddrawrapper/dgvoodoo.tzst b/app/src/main/assets/ddrawrapper/dgvoodoo.tzst | |
new file mode 100644 | |
index 0000000..05de997 | |
Binary files /dev/null and b/app/src/main/assets/ddrawrapper/dgvoodoo.tzst differ | |
diff --git a/app/src/main/assets/ddrawrapper/nglide.tzst b/app/src/main/assets/ddrawrapper/nglide.tzst | |
new file mode 100644 | |
index 0000000..202467c | |
Binary files /dev/null and b/app/src/main/assets/ddrawrapper/nglide.tzst differ | |
diff --git a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/bilinear.glsl b/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/bilinear.glsl | |
deleted file mode 100644 | |
index 01ea8d2..0000000 | |
--- a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/bilinear.glsl | |
+++ /dev/null | |
@@ -1,73 +0,0 @@ | |
-#if defined(VERTEX) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING out | |
-#define COMPAT_ATTRIBUTE in | |
-#define COMPAT_TEXTURE texture | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define COMPAT_ATTRIBUTE attribute | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-COMPAT_ATTRIBUTE vec4 VertexCoord; | |
-COMPAT_ATTRIBUTE vec4 COLOR; | |
-COMPAT_ATTRIBUTE vec4 TexCoord; | |
-COMPAT_VARYING vec4 COL0; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-uniform mat4 MVPMatrix; | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
- | |
-void main() | |
-{ | |
- gl_Position = VertexCoord.x * MVPMatrix[0] + VertexCoord.y * MVPMatrix[1] + VertexCoord.z * MVPMatrix[2] + VertexCoord.w * MVPMatrix[3]; | |
- TEX0.xy = TexCoord.xy; | |
-} | |
- | |
-#elif defined(FRAGMENT) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING in | |
-#define COMPAT_TEXTURE texture | |
-out vec4 FragColor; | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define FragColor gl_FragColor | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#ifdef GL_FRAGMENT_PRECISION_HIGH | |
-precision highp float; | |
-#else | |
-precision mediump float; | |
-#endif | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
-uniform sampler2D Texture; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-void main() | |
-{ | |
- FragColor = COMPAT_TEXTURE(Texture, TEX0.xy); | |
-} | |
-#endif | |
\ No newline at end of file | |
diff --git a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/catmull-rom-bilinear.glsl b/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/catmull-rom-bilinear.glsl | |
deleted file mode 100644 | |
index cfe00bf..0000000 | |
--- a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/catmull-rom-bilinear.glsl | |
+++ /dev/null | |
@@ -1,137 +0,0 @@ | |
-/* | |
- The following code is licensed under the MIT license: https://gist.github.com/TheRealMJP/bc503b0b87b643d3505d41eab8b332ae | |
- Ported from code: https://gist.github.com/TheRealMJP/c83b8c0f46b63f3a88a5986f4fa982b1 | |
- Samples a texture with Catmull-Rom filtering, using 9 texture fetches instead of 16. | |
- See http://vec3.ca/bicubic-filtering-in-fewer-taps/ for more details | |
- ATENTION: This code only work using LINEAR filter sampling set on Retroarch! | |
- Modified to use 5 texture fetches | |
-*/ | |
- | |
-#if defined(VERTEX) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING out | |
-#define COMPAT_ATTRIBUTE in | |
-#define COMPAT_TEXTURE texture | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define COMPAT_ATTRIBUTE attribute | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#define COMPAT_PRECISION mediump | |
-precision COMPAT_PRECISION float; | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-COMPAT_ATTRIBUTE vec4 VertexCoord; | |
-COMPAT_ATTRIBUTE vec4 COLOR; | |
-COMPAT_ATTRIBUTE vec4 TexCoord; | |
-COMPAT_VARYING vec4 COL0; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-uniform mat4 MVPMatrix; | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
- | |
-void main() | |
-{ | |
- gl_Position = MVPMatrix * VertexCoord; | |
- COL0 = COLOR; | |
- TEX0.xy = TexCoord.xy; | |
-} | |
- | |
-#elif defined(FRAGMENT) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING in | |
-#define COMPAT_TEXTURE texture | |
-out mediump vec4 FragColor; | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define FragColor gl_FragColor | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#ifdef GL_FRAGMENT_PRECISION_HIGH | |
-precision highp float; | |
-#else | |
-precision mediump float; | |
-#endif | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
-uniform sampler2D Texture; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-// compatibility #defines | |
-#define Source Texture | |
-#define vTexCoord TEX0.xy | |
- | |
-#define SourceSize vec4(TextureSize, 1.0 / TextureSize) //either TextureSize or InputSize | |
-#define outsize vec4(OutputSize, 1.0 / OutputSize) | |
- | |
-void main() | |
-{ | |
- // We're going to sample a a 4x4 grid of texels surrounding the target UV coordinate. We'll do this by rounding | |
- // down the sample location to get the exact center of our "starting" texel. The starting texel will be at | |
- // location [1, 1] in the grid, where [0, 0] is the top left corner. | |
- vec2 samplePos = vTexCoord * SourceSize.xy; | |
- vec2 texPos1 = floor(samplePos - 0.5) + 0.5; | |
- | |
- // Compute the fractional offset from our starting texel to our original sample location, which we'll | |
- // feed into the Catmull-Rom spline function to get our filter weights. | |
- vec2 f = samplePos - texPos1; | |
- | |
- // Compute the Catmull-Rom weights using the fractional offset that we calculated earlier. | |
- // These equations are pre-expanded based on our knowledge of where the texels will be located, | |
- // which lets us avoid having to evaluate a piece-wise function. | |
- vec2 w0 = f * (-0.5 + f * (1.0 - 0.5 * f)); | |
- vec2 w1 = 1.0 + f * f * (-2.5 + 1.5 * f); | |
- vec2 w2 = f * (0.5 + f * (2.0 - 1.5 * f)); | |
- vec2 w3 = f * f * (-0.5 + 0.5 * f); | |
- | |
- // Work out weighting factors and sampling offsets that will let us use bilinear filtering to | |
- // simultaneously evaluate the middle 2 samples from the 4x4 grid. | |
- vec2 w12 = w1 + w2; | |
- vec2 offset12 = w2 / (w1 + w2); | |
- | |
- // Compute the final UV coordinates we'll use for sampling the texture | |
- vec2 texPos0 = texPos1 - 1.; | |
- vec2 texPos3 = texPos1 + 2.; | |
- vec2 texPos12 = texPos1 + offset12; | |
- | |
- texPos0 *= SourceSize.zw; | |
- texPos3 *= SourceSize.zw; | |
- texPos12 *= SourceSize.zw; | |
- | |
- float wtm = w12.x * w0.y; | |
- float wml = w0.x * w12.y; | |
- float wmm = w12.x * w12.y; | |
- float wmr = w3.x * w12.y; | |
- float wbm = w12.x * w3.y; | |
- | |
- vec3 result = vec3(0.0f); | |
- | |
- result += COMPAT_TEXTURE(Source, vec2(texPos12.x, texPos0.y)).rgb * wtm; | |
- result += COMPAT_TEXTURE(Source, vec2(texPos0.x, texPos12.y)).rgb * wml; | |
- result += COMPAT_TEXTURE(Source, vec2(texPos12.x, texPos12.y)).rgb * wmm; | |
- result += COMPAT_TEXTURE(Source, vec2(texPos3.x, texPos12.y)).rgb * wmr; | |
- result += COMPAT_TEXTURE(Source, vec2(texPos12.x, texPos3.y)).rgb * wbm; | |
- | |
- FragColor = vec4(result * (1./(wtm+wml+wmm+wmr+wbm)), 1.0); | |
-} | |
-#endif | |
diff --git a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/fsr.glsl b/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/fsr.glsl | |
deleted file mode 100644 | |
index 225b47a..0000000 | |
--- a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/fsr.glsl | |
+++ /dev/null | |
@@ -1,324 +0,0 @@ | |
-/* | |
- FSR - [EASU] EDGE ADAPTIVE SPATIAL UPSAMPLING | |
- Ported from https://www.shadertoy.com/view/stXSWB, MIT license | |
-*/ | |
- | |
-#if defined(VERTEX) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING out | |
-#define COMPAT_ATTRIBUTE in | |
-#define COMPAT_TEXTURE texture | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define COMPAT_ATTRIBUTE attribute | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-COMPAT_ATTRIBUTE vec4 VertexCoord; | |
-COMPAT_ATTRIBUTE vec4 COLOR; | |
-COMPAT_ATTRIBUTE vec4 TexCoord; | |
-COMPAT_VARYING vec4 COL0; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-uniform mat4 MVPMatrix; | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
- | |
-void main() | |
-{ | |
- gl_Position = MVPMatrix * VertexCoord; | |
- COL0 = COLOR; | |
- TEX0.xy = TexCoord.xy; | |
-} | |
- | |
-#elif defined(FRAGMENT) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING in | |
-#define COMPAT_TEXTURE texture | |
-out vec4 FragColor; | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define FragColor gl_FragColor | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#ifdef GL_FRAGMENT_PRECISION_HIGH | |
-precision highp float; | |
-#else | |
-precision mediump float; | |
-#endif | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
-uniform sampler2D Texture; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-// compatibility #defines | |
-#define Source Texture | |
-#define vTexCoord TEX0.xy | |
- | |
-#define SourceSize vec4(TextureSize, 1.0 / TextureSize) //either TextureSize or InputSize | |
-#define outsize vec4(OutputSize, 1.0 / OutputSize) | |
- | |
-vec3 FsrEasuCF(vec2 p) { | |
- return COMPAT_TEXTURE(Source,p).rgb; | |
-} | |
- | |
-/**** EASU ****/ | |
-void FsrEasuCon( | |
- out vec4 con0, | |
- out vec4 con1, | |
- out vec4 con2, | |
- out vec4 con3, | |
- // This the rendered image resolution being upscaled | |
- vec2 inputViewportInPixels, | |
- // This is the resolution of the resource containing the input image (useful for dynamic resolution) | |
- vec2 inputSizeInPixels, | |
- // This is the display resolution which the input image gets upscaled to | |
- vec2 outputSizeInPixels | |
-) | |
-{ | |
- // Output integer position to a pixel position in viewport. | |
- con0 = vec4( | |
- inputViewportInPixels.x/outputSizeInPixels.x, | |
- inputViewportInPixels.y/outputSizeInPixels.y, | |
- .5*inputViewportInPixels.x/outputSizeInPixels.x-.5, | |
- .5*inputViewportInPixels.y/outputSizeInPixels.y-.5 | |
- ); | |
- // Viewport pixel position to normalized image space. | |
- // This is used to get upper-left of 'F' tap. | |
- con1 = vec4(1,1,1,-1)/inputSizeInPixels.xyxy; | |
- // Centers of gather4, first offset from upper-left of 'F'. | |
- // +---+---+ | |
- // | | | | |
- // +--(0)--+ | |
- // | b | c | | |
- // +---F---+---+---+ | |
- // | e | f | g | h | | |
- // +--(1)--+--(2)--+ | |
- // | i | j | k | l | | |
- // +---+---+---+---+ | |
- // | n | o | | |
- // +--(3)--+ | |
- // | | | | |
- // +---+---+ | |
- // These are from (0) instead of 'F'. | |
- con2 = vec4(-1,2,1,2)/inputSizeInPixels.xyxy; | |
- con3 = vec4(0,4,0,0)/inputSizeInPixels.xyxy; | |
-} | |
- | |
-// Filtering for a given tap for the scalar. | |
-void FsrEasuTapF( | |
- inout vec3 aC, // Accumulated color, with negative lobe. | |
- inout float aW, // Accumulated weight. | |
- vec2 off, // Pixel offset from resolve position to tap. | |
- vec2 dir, // Gradient direction. | |
- vec2 len, // Length. | |
- float lob, // Negative lobe strength. | |
- float clp, // Clipping point. | |
- vec3 c | |
-) | |
-{ | |
- // Tap color. | |
- // Rotate offset by direction. | |
- vec2 v = vec2(dot(off, dir), dot(off,vec2(-dir.y,dir.x))); | |
- // Anisotropy. | |
- v *= len; | |
- // Compute distance^2. | |
- float d2 = min(dot(v,v),clp); | |
- // Limit to the window as at corner, 2 taps can easily be outside. | |
- // Approximation of lancos2 without sin() or rcp(), or sqrt() to get x. | |
- // (25/16 * (2/5 * x^2 - 1)^2 - (25/16 - 1)) * (1/4 * x^2 - 1)^2 | |
- // |_______________________________________| |_______________| | |
- // base window | |
- // The general form of the 'base' is, | |
- // (a*(b*x^2-1)^2-(a-1)) | |
- // Where 'a=1/(2*b-b^2)' and 'b' moves around the negative lobe. | |
- float wB = .4 * d2 - 1.; | |
- float wA = lob * d2 -1.; | |
- wB *= wB; | |
- wA *= wA; | |
- wB = 1.5625*wB-.5625; | |
- float w= wB * wA; | |
- // Do weighted average. | |
- aC += c*w; | |
- aW += w; | |
-} | |
- | |
-//------------------------------------------------------------------------------------------------------------------------------ | |
-// Accumulate direction and length. | |
-void FsrEasuSetF( | |
- inout vec2 dir, | |
- inout float len, | |
- float w, | |
- float lA,float lB,float lC,float lD,float lE | |
-) | |
-{ | |
- // Direction is the '+' diff. | |
- // a | |
- // b c d | |
- // e | |
- // Then takes magnitude from abs average of both sides of 'c'. | |
- // Length converts gradient reversal to 0, smoothly to non-reversal at 1, shaped, then adding horz and vert terms. | |
- float lenX = max(abs(lD - lC), abs(lC - lB)); | |
- float dirX = lD - lB; | |
- dir.x += dirX * w; | |
- lenX = clamp(abs(dirX)/lenX,0.,1.); | |
- lenX *= lenX; | |
- len += lenX * w; | |
- // Repeat for the y axis. | |
- float lenY = max(abs(lE - lC), abs(lC - lA)); | |
- float dirY = lE - lA; | |
- dir.y += dirY * w; | |
- lenY = clamp(abs(dirY) / lenY,0.,1.); | |
- lenY *= lenY; | |
- len += lenY * w; | |
-} | |
- | |
-//------------------------------------------------------------------------------------------------------------------------------ | |
-void FsrEasuF( | |
- out vec3 pix, | |
- vec2 ip, // Integer pixel position in output. | |
- // Constants generated by FsrEasuCon(). | |
- vec4 con0, // xy = output to input scale, zw = first pixel offset correction | |
- vec4 con1, | |
- vec4 con2, | |
- vec4 con3 | |
-) | |
-{ | |
- //------------------------------------------------------------------------------------------------------------------------------ | |
- // Get position of 'f'. | |
- vec2 pp = ip * con0.xy + con0.zw; // Corresponding input pixel/subpixel | |
- vec2 fp = floor(pp);// fp = source nearest pixel | |
- pp -= fp; // pp = source subpixel | |
- | |
- //------------------------------------------------------------------------------------------------------------------------------ | |
- // 12-tap kernel. | |
- // b c | |
- // e f g h | |
- // i j k l | |
- // n o | |
- // Gather 4 ordering. | |
- // a b | |
- // r g | |
- vec2 p0 = fp * con1.xy + con1.zw; | |
- | |
- // These are from p0 to avoid pulling two constants on pre-Navi hardware. | |
- vec2 p1 = p0 + con2.xy; | |
- vec2 p2 = p0 + con2.zw; | |
- vec2 p3 = p0 + con3.xy; | |
- | |
- // TextureGather is not available on WebGL2 | |
- vec4 off = vec4(-.5,.5,-.5,.5)*con1.xxyy; | |
- // textureGather to texture offsets | |
- // x=west y=east z=north w=south | |
- vec3 bC = FsrEasuCF(p0 + off.xw); float bL = bC.g + 0.5 *(bC.r + bC.b); | |
- vec3 cC = FsrEasuCF(p0 + off.yw); float cL = cC.g + 0.5 *(cC.r + cC.b); | |
- vec3 iC = FsrEasuCF(p1 + off.xw); float iL = iC.g + 0.5 *(iC.r + iC.b); | |
- vec3 jC = FsrEasuCF(p1 + off.yw); float jL = jC.g + 0.5 *(jC.r + jC.b); | |
- vec3 fC = FsrEasuCF(p1 + off.yz); float fL = fC.g + 0.5 *(fC.r + fC.b); | |
- vec3 eC = FsrEasuCF(p1 + off.xz); float eL = eC.g + 0.5 *(eC.r + eC.b); | |
- vec3 kC = FsrEasuCF(p2 + off.xw); float kL = kC.g + 0.5 *(kC.r + kC.b); | |
- vec3 lC = FsrEasuCF(p2 + off.yw); float lL = lC.g + 0.5 *(lC.r + lC.b); | |
- vec3 hC = FsrEasuCF(p2 + off.yz); float hL = hC.g + 0.5 *(hC.r + hC.b); | |
- vec3 gC = FsrEasuCF(p2 + off.xz); float gL = gC.g + 0.5 *(gC.r + gC.b); | |
- vec3 oC = FsrEasuCF(p3 + off.yz); float oL = oC.g + 0.5 *(oC.r + oC.b); | |
- vec3 nC = FsrEasuCF(p3 + off.xz); float nL = nC.g + 0.5 *(nC.r + nC.b); | |
- | |
- //------------------------------------------------------------------------------------------------------------------------------ | |
- // Simplest multi-channel approximate luma possible (luma times 2, in 2 FMA/MAD). | |
- // Accumulate for bilinear interpolation. | |
- vec2 dir = vec2(0); | |
- float len = 0.; | |
- | |
- FsrEasuSetF(dir, len, (1.-pp.x)*(1.-pp.y), bL, eL, fL, gL, jL); | |
- FsrEasuSetF(dir, len, pp.x *(1.-pp.y), cL, fL, gL, hL, kL); | |
- FsrEasuSetF(dir, len, (1.-pp.x)* pp.y , fL, iL, jL, kL, nL); | |
- FsrEasuSetF(dir, len, pp.x * pp.y , gL, jL, kL, lL, oL); | |
- | |
- //------------------------------------------------------------------------------------------------------------------------------ | |
- // Normalize with approximation, and cleanup close to zero. | |
- vec2 dir2 = dir * dir; | |
- float dirR = dir2.x + dir2.y; | |
- bool zro = dirR < (1.0/32768.0); | |
- dirR = inversesqrt(dirR); | |
- dirR = zro ? 1.0 : dirR; | |
- dir.x = zro ? 1.0 : dir.x; | |
- dir *= vec2(dirR); | |
- // Transform from {0 to 2} to {0 to 1} range, and shape with square. | |
- len = len * 0.5; | |
- len *= len; | |
- // Stretch kernel {1.0 vert|horz, to sqrt(2.0) on diagonal}. | |
- float stretch = dot(dir,dir) / (max(abs(dir.x), abs(dir.y))); | |
- // Anisotropic length after rotation, | |
- // x := 1.0 lerp to 'stretch' on edges | |
- // y := 1.0 lerp to 2x on edges | |
- vec2 len2 = vec2(1. +(stretch-1.0)*len, 1. -.5 * len); | |
- // Based on the amount of 'edge', | |
- // the window shifts from +/-{sqrt(2.0) to slightly beyond 2.0}. | |
- float lob = .5 - .29 * len; | |
- // Set distance^2 clipping point to the end of the adjustable window. | |
- float clp = 1./lob; | |
- | |
- //------------------------------------------------------------------------------------------------------------------------------ | |
- // Accumulation mixed with min/max of 4 nearest. | |
- // b c | |
- // e f g h | |
- // i j k l | |
- // n o | |
- vec3 min4 = min(min(fC,gC),min(jC,kC)); | |
- vec3 max4 = max(max(fC,gC),max(jC,kC)); | |
- // Accumulation. | |
- vec3 aC = vec3(0); | |
- float aW = 0.; | |
- FsrEasuTapF(aC, aW, vec2( 0,-1)-pp, dir, len2, lob, clp, bC); | |
- FsrEasuTapF(aC, aW, vec2( 1,-1)-pp, dir, len2, lob, clp, cC); | |
- FsrEasuTapF(aC, aW, vec2(-1, 1)-pp, dir, len2, lob, clp, iC); | |
- FsrEasuTapF(aC, aW, vec2( 0, 1)-pp, dir, len2, lob, clp, jC); | |
- FsrEasuTapF(aC, aW, vec2( 0, 0)-pp, dir, len2, lob, clp, fC); | |
- FsrEasuTapF(aC, aW, vec2(-1, 0)-pp, dir, len2, lob, clp, eC); | |
- FsrEasuTapF(aC, aW, vec2( 1, 1)-pp, dir, len2, lob, clp, kC); | |
- FsrEasuTapF(aC, aW, vec2( 2, 1)-pp, dir, len2, lob, clp, lC); | |
- FsrEasuTapF(aC, aW, vec2( 2, 0)-pp, dir, len2, lob, clp, hC); | |
- FsrEasuTapF(aC, aW, vec2( 1, 0)-pp, dir, len2, lob, clp, gC); | |
- FsrEasuTapF(aC, aW, vec2( 1, 2)-pp, dir, len2, lob, clp, oC); | |
- FsrEasuTapF(aC, aW, vec2( 0, 2)-pp, dir, len2, lob, clp, nC); | |
- //------------------------------------------------------------------------------------------------------------------------------ | |
- // Normalize and dering. | |
- pix=min(max4,max(min4,aC/aW)); | |
-} | |
- | |
-void main() | |
-{ | |
- vec3 c; | |
- vec4 con0,con1,con2,con3; | |
- | |
- vec2 fragCoord = vTexCoord.xy * OutputSize.xy; | |
- | |
- FsrEasuCon( | |
- con0, con1, con2, con3, SourceSize.xy, SourceSize.xy, OutputSize.xy | |
- ); | |
- FsrEasuF(c, fragCoord, con0, con1, con2, con3); | |
- FragColor = vec4(c.xyz, 1); | |
-} | |
- | |
-#endif | |
diff --git a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/fsr.glsl.pass1 b/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/fsr.glsl.pass1 | |
deleted file mode 100644 | |
index a89566e..0000000 | |
--- a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/fsr.glsl.pass1 | |
+++ /dev/null | |
@@ -1,178 +0,0 @@ | |
-/* | |
- FSR - [RCAS] ROBUST CONTRAST ADAPTIVE SHARPENING | |
- Ported from https://www.shadertoy.com/view/stXSWB, MIT license | |
-*/ | |
- | |
-#pragma parameter FSR_SHARPENING "FSR RCAS Sharpening Amount (Lower = Sharper)" 0.6 0.0 2.0 0.1 | |
- | |
-#if defined(VERTEX) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING out | |
-#define COMPAT_ATTRIBUTE in | |
-#define COMPAT_TEXTURE texture | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define COMPAT_ATTRIBUTE attribute | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-COMPAT_ATTRIBUTE vec4 VertexCoord; | |
-COMPAT_ATTRIBUTE vec4 COLOR; | |
-COMPAT_ATTRIBUTE vec4 TexCoord; | |
-COMPAT_VARYING vec4 COL0; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-uniform mat4 MVPMatrix; | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
- | |
-void main() | |
-{ | |
- gl_Position = MVPMatrix * VertexCoord; | |
- COL0 = COLOR; | |
- TEX0.xy = TexCoord.xy; | |
-} | |
- | |
-#elif defined(FRAGMENT) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING in | |
-#define COMPAT_TEXTURE texture | |
-out vec4 FragColor; | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define FragColor gl_FragColor | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#ifdef GL_FRAGMENT_PRECISION_HIGH | |
-precision highp float; | |
-#else | |
-precision mediump float; | |
-#endif | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
-uniform sampler2D Texture; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-// compatibility #defines | |
-#define Source Texture | |
-#define vTexCoord TEX0.xy | |
- | |
-#define SourceSize vec4(TextureSize, 1.0 / TextureSize) //either TextureSize or InputSize | |
-#define outsize vec4(OutputSize, 1.0 / OutputSize) | |
- | |
-#ifdef PARAMETER_UNIFORM | |
-uniform COMPAT_PRECISION float FSR_SHARPENING; | |
-#else | |
-#define FSR_SHARPENING 0.6 | |
-#endif | |
- | |
-#define FSR_RCAS_LIMIT (0.25-(1.0/16.0)) | |
-//#define FSR_RCAS_DENOISE | |
- | |
-// Input callback prototypes that need to be implemented by calling shader | |
-vec4 FsrRcasLoadF(vec2 p); | |
-//------------------------------------------------------------------------------------------------------------------------------ | |
-void FsrRcasCon( | |
- out float con, | |
- // The scale is {0.0 := maximum, to N>0, where N is the number of stops (halving) of the reduction of sharpness}. | |
- float sharpness | |
-){ | |
- // Transform from stops to linear value. | |
- con = exp2(-sharpness); | |
-} | |
- | |
-vec3 FsrRcasF( | |
- vec2 ip, // Integer pixel position in output. | |
- float con | |
-) | |
-{ | |
- // Constant generated by RcasSetup(). | |
- // Algorithm uses minimal 3x3 pixel neighborhood. | |
- // b | |
- // d e f | |
- // h | |
- vec2 sp = vec2(ip); | |
- vec3 b = FsrRcasLoadF(sp + vec2( 0,-1)).rgb; | |
- vec3 d = FsrRcasLoadF(sp + vec2(-1, 0)).rgb; | |
- vec3 e = FsrRcasLoadF(sp).rgb; | |
- vec3 f = FsrRcasLoadF(sp+vec2( 1, 0)).rgb; | |
- vec3 h = FsrRcasLoadF(sp+vec2( 0, 1)).rgb; | |
- // Luma times 2. | |
- float bL = b.g + .5 * (b.b + b.r); | |
- float dL = d.g + .5 * (d.b + d.r); | |
- float eL = e.g + .5 * (e.b + e.r); | |
- float fL = f.g + .5 * (f.b + f.r); | |
- float hL = h.g + .5 * (h.b + h.r); | |
- // Noise detection. | |
- float nz = .25 * (bL + dL + fL + hL) - eL; | |
- nz=clamp( | |
- abs(nz) | |
- /( | |
- max(max(bL,dL),max(eL,max(fL,hL))) | |
- -min(min(bL,dL),min(eL,min(fL,hL))) | |
- ), | |
- 0., 1. | |
- ); | |
- nz=1.-.5*nz; | |
- // Min and max of ring. | |
- vec3 mn4 = min(b, min(f, h)); | |
- vec3 mx4 = max(b, max(f, h)); | |
- // Immediate constants for peak range. | |
- vec2 peakC = vec2(1., -4.); | |
- // Limiters, these need to be high precision RCPs. | |
- vec3 hitMin = mn4 / (4. * mx4); | |
- vec3 hitMax = (peakC.x - mx4) / (4.* mn4 + peakC.y); | |
- vec3 lobeRGB = max(-hitMin, hitMax); | |
- float lobe = max( | |
- -FSR_RCAS_LIMIT, | |
- min(max(lobeRGB.r, max(lobeRGB.g, lobeRGB.b)), 0.) | |
- )*con; | |
- // Apply noise removal. | |
- #ifdef FSR_RCAS_DENOISE | |
- lobe *= nz; | |
- #endif | |
- // Resolve, which needs the medium precision rcp approximation to avoid visible tonality changes. | |
- return (lobe * (b + d + h + f) + e) / (4. * lobe + 1.); | |
-} | |
- | |
- | |
-vec4 FsrRcasLoadF(vec2 p) { | |
- return COMPAT_TEXTURE(Source,p/OutputSize.xy); | |
-} | |
- | |
-void main() | |
-{ | |
- vec2 fragCoord = vTexCoord.xy * OutputSize.xy; | |
- | |
- // Set up constants | |
- float con; | |
- FsrRcasCon(con, FSR_SHARPENING); | |
- | |
- // Perform RCAS pass | |
- vec3 col = FsrRcasF(fragCoord, con); | |
- | |
- FragColor = vec4(col,1); | |
-} | |
- | |
-#endif | |
diff --git a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/jinc2-dedither.glsl b/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/jinc2-dedither.glsl | |
deleted file mode 100644 | |
index e14a3c7..0000000 | |
--- a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/jinc2-dedither.glsl | |
+++ /dev/null | |
@@ -1,202 +0,0 @@ | |
-/* | |
- Hyllian's jinc windowed-jinc 2-lobe sharper with anti-ringing Shader | |
- | |
- Copyright (C) 2011-2016 Hyllian/Jararaca - [email protected] | |
- | |
- 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. | |
- | |
-*/ | |
- | |
-#define JINC2_WINDOW_SINC 0.405 | |
-#define JINC2_SINC 0.79 | |
-#define JINC2_AR_STRENGTH 0.8 | |
- | |
-#define texCoord TEX0 | |
- | |
-#if defined(VERTEX) | |
- | |
-#if __VERSION__ >= 130 | |
-#define OUT out | |
-#define IN in | |
-#define tex2D texture | |
-#else | |
-#define OUT varying | |
-#define IN attribute | |
-#define tex2D texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
- | |
-IN vec4 VertexCoord; | |
-IN vec4 Color; | |
-IN vec2 TexCoord; | |
-OUT vec4 color; | |
-OUT vec2 texCoord; | |
- | |
-uniform mat4 MVPMatrix; | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
- | |
-void main() | |
-{ | |
- gl_Position = MVPMatrix * VertexCoord; | |
- color = Color; | |
- texCoord = TexCoord * 1.0001; | |
-} | |
- | |
-#elif defined(FRAGMENT) | |
- | |
-#if __VERSION__ >= 130 | |
-#define IN in | |
-#define tex2D texture | |
-out vec4 FragColor; | |
-#else | |
-#define IN varying | |
-#define FragColor gl_FragColor | |
-#define tex2D texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#ifdef GL_FRAGMENT_PRECISION_HIGH | |
-precision highp float; | |
-#else | |
-precision mediump float; | |
-#endif | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
-uniform sampler2D s_p; | |
-IN vec2 texCoord; | |
- | |
-const float halfpi = 1.5707963267948966192313216916398; | |
-const float pi = 3.1415926535897932384626433832795; | |
-const float wa = JINC2_WINDOW_SINC*pi; | |
-const float wb = JINC2_SINC*pi; | |
- | |
-// Calculates the distance between two points | |
-float d(vec2 pt1, vec2 pt2) | |
-{ | |
- vec2 v = pt2 - pt1; | |
- return sqrt(dot(v,v)); | |
-} | |
- | |
-vec3 min4(vec3 a, vec3 b, vec3 c, vec3 d) | |
-{ | |
- return min(a, min(b, min(c, d))); | |
-} | |
- | |
-vec3 max4(vec3 a, vec3 b, vec3 c, vec3 d) | |
-{ | |
- return max(a, max(b, max(c, d))); | |
-} | |
- | |
-vec4 resampler(vec4 x) | |
-{ | |
- vec4 res; | |
- | |
- res = (x==vec4(0.0, 0.0, 0.0, 0.0)) ? vec4(wa*wb) : sin(x*wa)*sin(x*wb)/(x*x); | |
- | |
- return res; | |
-} | |
- | |
-void main() | |
-{ | |
- | |
- vec3 color; | |
- vec4 weights[4]; | |
- | |
- vec2 dx = vec2(1.0, 0.0); | |
- vec2 dy = vec2(0.0, 1.0); | |
- | |
- vec2 pc = texCoord*TextureSize; | |
- | |
- vec2 tc = (floor(pc-vec2(0.5,0.5))+vec2(0.5,0.5)); | |
- | |
- weights[0] = resampler(vec4(d(pc, tc -dx -dy), d(pc, tc -dy), d(pc, tc +dx -dy), d(pc, tc+2.0*dx -dy))); | |
- weights[1] = resampler(vec4(d(pc, tc -dx ), d(pc, tc ), d(pc, tc +dx ), d(pc, tc+2.0*dx ))); | |
- weights[2] = resampler(vec4(d(pc, tc -dx +dy), d(pc, tc +dy), d(pc, tc +dx +dy), d(pc, tc+2.0*dx +dy))); | |
- weights[3] = resampler(vec4(d(pc, tc -dx+2.0*dy), d(pc, tc +2.0*dy), d(pc, tc +dx+2.0*dy), d(pc, tc+2.0*dx+2.0*dy))); | |
- | |
- dx = dx/TextureSize; | |
- dy = dy/TextureSize; | |
- tc = tc/TextureSize; | |
- | |
- vec3 c00 = tex2D(s_p, tc -dx -dy).xyz; | |
- vec3 c10 = tex2D(s_p, tc -dy).xyz; | |
- vec3 c20 = tex2D(s_p, tc +dx -dy).xyz; | |
- vec3 c30 = tex2D(s_p, tc+2.0*dx -dy).xyz; | |
- vec3 c01 = tex2D(s_p, tc -dx ).xyz; | |
- vec3 c11 = tex2D(s_p, tc ).xyz; | |
- vec3 c21 = tex2D(s_p, tc +dx ).xyz; | |
- vec3 c31 = tex2D(s_p, tc+2.0*dx ).xyz; | |
- vec3 c02 = tex2D(s_p, tc -dx +dy).xyz; | |
- vec3 c12 = tex2D(s_p, tc +dy).xyz; | |
- vec3 c22 = tex2D(s_p, tc +dx +dy).xyz; | |
- vec3 c32 = tex2D(s_p, tc+2.0*dx +dy).xyz; | |
- vec3 c03 = tex2D(s_p, tc -dx+2.0*dy).xyz; | |
- vec3 c13 = tex2D(s_p, tc +2.0*dy).xyz; | |
- vec3 c23 = tex2D(s_p, tc +dx+2.0*dy).xyz; | |
- vec3 c33 = tex2D(s_p, tc+2.0*dx+2.0*dy).xyz; | |
- | |
- color = tex2D(s_p, texCoord).xyz; | |
- | |
- // Get min/max samples | |
- vec3 min_sample = min4(c11, c21, c12, c22); | |
- vec3 max_sample = max4(c11, c21, c12, c22); | |
-/* | |
- color = mat4x3(c00, c10, c20, c30) * weights[0]; | |
- color+= mat4x3(c01, c11, c21, c31) * weights[1]; | |
- color+= mat4x3(c02, c12, c22, c32) * weights[2]; | |
- color+= mat4x3(c03, c13, c23, c33) * weights[3]; | |
- mat4 wgts = mat4(weights[0], weights[1], weights[2], weights[3]); | |
- vec4 wsum = wgts * vec4(1.0,1.0,1.0,1.0); | |
- color = color/(dot(wsum, vec4(1.0,1.0,1.0,1.0))); | |
-*/ | |
- | |
- | |
- color = vec3(dot(weights[0], vec4(c00.x, c10.x, c20.x, c30.x)), dot(weights[0], vec4(c00.y, c10.y, c20.y, c30.y)), dot(weights[0], vec4(c00.z, c10.z, c20.z, c30.z))); | |
- color+= vec3(dot(weights[1], vec4(c01.x, c11.x, c21.x, c31.x)), dot(weights[1], vec4(c01.y, c11.y, c21.y, c31.y)), dot(weights[1], vec4(c01.z, c11.z, c21.z, c31.z))); | |
- color+= vec3(dot(weights[2], vec4(c02.x, c12.x, c22.x, c32.x)), dot(weights[2], vec4(c02.y, c12.y, c22.y, c32.y)), dot(weights[2], vec4(c02.z, c12.z, c22.z, c32.z))); | |
- color+= vec3(dot(weights[3], vec4(c03.x, c13.x, c23.x, c33.x)), dot(weights[3], vec4(c03.y, c13.y, c23.y, c33.y)), dot(weights[3], vec4(c03.z, c13.z, c23.z, c33.z))); | |
- color = color/(dot(weights[0], vec4(1,1,1,1)) + dot(weights[1], vec4(1,1,1,1)) + dot(weights[2], vec4(1,1,1,1)) + dot(weights[3], vec4(1,1,1,1))); | |
- | |
- // Anti-ringing | |
- vec3 aux = color; | |
- color = clamp(color, min_sample, max_sample); | |
- color = mix(aux, color, JINC2_AR_STRENGTH); | |
- | |
- // final sum and weight normalization | |
- FragColor.xyz = color; | |
-} | |
-#endif | |
diff --git a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/lanczos2-sharp.glsl b/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/lanczos2-sharp.glsl | |
deleted file mode 100644 | |
index 35fc1e8..0000000 | |
--- a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/interpolation/lanczos2-sharp.glsl | |
+++ /dev/null | |
@@ -1,205 +0,0 @@ | |
-/* | |
- Hyllian's jinc windowed-jinc 2-lobe sharper with anti-ringing Shader | |
- | |
- Copyright (C) 2011-2016 Hyllian/Jararaca - [email protected] | |
- | |
- 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. | |
- | |
-*/ | |
- | |
-#define JINC2_WINDOW_SINC 0.5 | |
-#define JINC2_SINC 1.0 | |
-#define JINC2_AR_STRENGTH 0.8 | |
- | |
-#define texCoord TEX0 | |
- | |
-#if defined(VERTEX) | |
- | |
-#if __VERSION__ >= 130 | |
-#define OUT out | |
-#define IN in | |
-#define tex2D texture | |
-#else | |
-#define OUT varying | |
-#define IN attribute | |
-#define tex2D texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
- | |
-IN vec4 VertexCoord; | |
-IN vec4 Color; | |
-IN vec2 TexCoord; | |
-OUT vec4 color; | |
-OUT vec2 texCoord; | |
- | |
-uniform mat4 MVPMatrix; | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
- | |
-void main() | |
-{ | |
- gl_Position = MVPMatrix * VertexCoord; | |
- color = Color; | |
- texCoord = TexCoord; | |
-} | |
- | |
-#elif defined(FRAGMENT) | |
- | |
-#if __VERSION__ >= 130 | |
-#define IN in | |
-#define tex2D texture | |
-out vec4 FragColor; | |
-#else | |
-#define IN varying | |
-#define FragColor gl_FragColor | |
-#define tex2D texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#ifdef GL_FRAGMENT_PRECISION_HIGH | |
-precision highp float; | |
-#else | |
-precision mediump float; | |
-#endif | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
-uniform sampler2D s_p; | |
-IN vec2 texCoord; | |
- | |
-const float halfpi = 1.5707963267948966192313216916398; | |
-const float pi = 3.1415926535897932384626433832795; | |
-const float wa = JINC2_WINDOW_SINC*pi; | |
-const float wb = JINC2_SINC*pi; | |
- | |
-// Calculates the distance between two points | |
-float d(vec2 pt1, vec2 pt2) | |
-{ | |
- vec2 v = pt2 - pt1; | |
- return sqrt(dot(v,v)); | |
-} | |
- | |
-vec3 min4(vec3 a, vec3 b, vec3 c, vec3 d) | |
-{ | |
- return min(a, min(b, min(c, d))); | |
-} | |
- | |
-vec3 max4(vec3 a, vec3 b, vec3 c, vec3 d) | |
-{ | |
- return max(a, max(b, max(c, d))); | |
-} | |
- | |
-vec4 resampler(vec4 x) | |
-{ | |
- vec4 res; | |
- | |
- res.x = (x.x==0.0) ? wa*wb : sin(x.x*wa)*sin(x.x*wb)/(x.x*x.x); | |
- res.y = (x.y==0.0) ? wa*wb : sin(x.y*wa)*sin(x.y*wb)/(x.y*x.y); | |
- res.z = (x.z==0.0) ? wa*wb : sin(x.z*wa)*sin(x.z*wb)/(x.z*x.z); | |
- res.w = (x.w==0.0) ? wa*wb : sin(x.w*wa)*sin(x.w*wb)/(x.w*x.w); | |
- | |
- return res; | |
-} | |
- | |
-void main() | |
-{ | |
- | |
- vec3 color; | |
- vec4 weights[4]; | |
- | |
- vec2 dx = vec2(1.0, 0.0); | |
- vec2 dy = vec2(0.0, 1.0); | |
- | |
- vec2 pc = texCoord*TextureSize; | |
- | |
- vec2 tc = (floor(pc-vec2(0.5,0.5))+vec2(0.5,0.5)); | |
- | |
- weights[0] = resampler(vec4(d(pc, tc -dx -dy), d(pc, tc -dy), d(pc, tc +dx -dy), d(pc, tc+2.0*dx -dy))); | |
- weights[1] = resampler(vec4(d(pc, tc -dx ), d(pc, tc ), d(pc, tc +dx ), d(pc, tc+2.0*dx ))); | |
- weights[2] = resampler(vec4(d(pc, tc -dx +dy), d(pc, tc +dy), d(pc, tc +dx +dy), d(pc, tc+2.0*dx +dy))); | |
- weights[3] = resampler(vec4(d(pc, tc -dx+2.0*dy), d(pc, tc +2.0*dy), d(pc, tc +dx+2.0*dy), d(pc, tc+2.0*dx+2.0*dy))); | |
- | |
- dx = dx/TextureSize; | |
- dy = dy/TextureSize; | |
- tc = tc/TextureSize; | |
- | |
- vec3 c00 = tex2D(s_p, tc -dx -dy).xyz; | |
- vec3 c10 = tex2D(s_p, tc -dy).xyz; | |
- vec3 c20 = tex2D(s_p, tc +dx -dy).xyz; | |
- vec3 c30 = tex2D(s_p, tc+2.0*dx -dy).xyz; | |
- vec3 c01 = tex2D(s_p, tc -dx ).xyz; | |
- vec3 c11 = tex2D(s_p, tc ).xyz; | |
- vec3 c21 = tex2D(s_p, tc +dx ).xyz; | |
- vec3 c31 = tex2D(s_p, tc+2.0*dx ).xyz; | |
- vec3 c02 = tex2D(s_p, tc -dx +dy).xyz; | |
- vec3 c12 = tex2D(s_p, tc +dy).xyz; | |
- vec3 c22 = tex2D(s_p, tc +dx +dy).xyz; | |
- vec3 c32 = tex2D(s_p, tc+2.0*dx +dy).xyz; | |
- vec3 c03 = tex2D(s_p, tc -dx+2.0*dy).xyz; | |
- vec3 c13 = tex2D(s_p, tc +2.0*dy).xyz; | |
- vec3 c23 = tex2D(s_p, tc +dx+2.0*dy).xyz; | |
- vec3 c33 = tex2D(s_p, tc+2.0*dx+2.0*dy).xyz; | |
- | |
- color = tex2D(s_p, texCoord).xyz; | |
- | |
- // Get min/max samples | |
- vec3 min_sample = min4(c11, c21, c12, c22); | |
- vec3 max_sample = max4(c11, c21, c12, c22); | |
-/* | |
- color = mat4x3(c00, c10, c20, c30) * weights[0]; | |
- color+= mat4x3(c01, c11, c21, c31) * weights[1]; | |
- color+= mat4x3(c02, c12, c22, c32) * weights[2]; | |
- color+= mat4x3(c03, c13, c23, c33) * weights[3]; | |
- mat4 wgts = mat4(weights[0], weights[1], weights[2], weights[3]); | |
- vec4 wsum = wgts * vec4(1.0,1.0,1.0,1.0); | |
- color = color/(dot(wsum, vec4(1.0,1.0,1.0,1.0))); | |
-*/ | |
- | |
- | |
- color = vec3(dot(weights[0], vec4(c00.x, c10.x, c20.x, c30.x)), dot(weights[0], vec4(c00.y, c10.y, c20.y, c30.y)), dot(weights[0], vec4(c00.z, c10.z, c20.z, c30.z))); | |
- color+= vec3(dot(weights[1], vec4(c01.x, c11.x, c21.x, c31.x)), dot(weights[1], vec4(c01.y, c11.y, c21.y, c31.y)), dot(weights[1], vec4(c01.z, c11.z, c21.z, c31.z))); | |
- color+= vec3(dot(weights[2], vec4(c02.x, c12.x, c22.x, c32.x)), dot(weights[2], vec4(c02.y, c12.y, c22.y, c32.y)), dot(weights[2], vec4(c02.z, c12.z, c22.z, c32.z))); | |
- color+= vec3(dot(weights[3], vec4(c03.x, c13.x, c23.x, c33.x)), dot(weights[3], vec4(c03.y, c13.y, c23.y, c33.y)), dot(weights[3], vec4(c03.z, c13.z, c23.z, c33.z))); | |
- color = color/(dot(weights[0], vec4(1,1,1,1)) + dot(weights[1], vec4(1,1,1,1)) + dot(weights[2], vec4(1,1,1,1)) + dot(weights[3], vec4(1,1,1,1))); | |
- | |
- // Anti-ringing | |
- vec3 aux = color; | |
- color = clamp(color, min_sample, max_sample); | |
- color = mix(aux, color, JINC2_AR_STRENGTH); | |
- | |
- // final sum and weight normalization | |
- FragColor.xyz = color; | |
-} | |
-#endif | |
diff --git a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/nearest-neighbor.glsl b/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/nearest-neighbor.glsl | |
deleted file mode 100644 | |
index 01ea8d2..0000000 | |
--- a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/Shaders/nearest-neighbor.glsl | |
+++ /dev/null | |
@@ -1,73 +0,0 @@ | |
-#if defined(VERTEX) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING out | |
-#define COMPAT_ATTRIBUTE in | |
-#define COMPAT_TEXTURE texture | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define COMPAT_ATTRIBUTE attribute | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-COMPAT_ATTRIBUTE vec4 VertexCoord; | |
-COMPAT_ATTRIBUTE vec4 COLOR; | |
-COMPAT_ATTRIBUTE vec4 TexCoord; | |
-COMPAT_VARYING vec4 COL0; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-uniform mat4 MVPMatrix; | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
- | |
-void main() | |
-{ | |
- gl_Position = VertexCoord.x * MVPMatrix[0] + VertexCoord.y * MVPMatrix[1] + VertexCoord.z * MVPMatrix[2] + VertexCoord.w * MVPMatrix[3]; | |
- TEX0.xy = TexCoord.xy; | |
-} | |
- | |
-#elif defined(FRAGMENT) | |
- | |
-#if __VERSION__ >= 130 | |
-#define COMPAT_VARYING in | |
-#define COMPAT_TEXTURE texture | |
-out vec4 FragColor; | |
-#else | |
-#define COMPAT_VARYING varying | |
-#define FragColor gl_FragColor | |
-#define COMPAT_TEXTURE texture2D | |
-#endif | |
- | |
-#ifdef GL_ES | |
-#ifdef GL_FRAGMENT_PRECISION_HIGH | |
-precision highp float; | |
-#else | |
-precision mediump float; | |
-#endif | |
-#define COMPAT_PRECISION mediump | |
-#else | |
-#define COMPAT_PRECISION | |
-#endif | |
- | |
-uniform COMPAT_PRECISION int FrameDirection; | |
-uniform COMPAT_PRECISION int FrameCount; | |
-uniform COMPAT_PRECISION vec2 OutputSize; | |
-uniform COMPAT_PRECISION vec2 TextureSize; | |
-uniform COMPAT_PRECISION vec2 InputSize; | |
-uniform sampler2D Texture; | |
-COMPAT_VARYING vec4 TEX0; | |
- | |
-void main() | |
-{ | |
- FragColor = COMPAT_TEXTURE(Texture, TEX0.xy); | |
-} | |
-#endif | |
\ No newline at end of file | |
diff --git a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/ddraw.ini b/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/ddraw.ini | |
deleted file mode 100644 | |
index 1bf7368..0000000 | |
--- a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/ddraw.ini | |
+++ /dev/null | |
@@ -1,1243 +0,0 @@ | |
-; cnc-ddraw - https://github.com/FunkyFr3sh/cnc-ddraw | |
- | |
-[ddraw] | |
-; ### Optional settings ### | |
-; Use the following settings to adjust the look and feel to your liking | |
- | |
- | |
-; Stretch to custom resolution, 0 = defaults to the size game requests | |
-width=0 | |
-height=0 | |
- | |
-; Override the width/height settings shown above and always stretch to fullscreen | |
-; Note: Can be combined with 'windowed=true' to get windowed-fullscreen aka borderless mode | |
-fullscreen=false | |
- | |
-; Run in windowed mode rather than going fullscreen | |
-windowed=false | |
- | |
-; Maintain aspect ratio | |
-maintas=false | |
- | |
-; Windowboxing / Integer Scaling | |
-boxing=false | |
- | |
-; Real rendering rate, -1 = screen rate, 0 = unlimited, n = cap | |
-; Note: Does not have an impact on the game speed, to limit your game speed use 'maxgameticks=' | |
-maxfps=-1 | |
- | |
-; Vertical synchronization, enable if you get tearing - (Requires 'renderer=auto/opengl*/direct3d9*') | |
-; Note: vsync=true can fix tearing but it will cause input lag | |
-vsync=false | |
- | |
-; Automatic mouse sensitivity scaling | |
-; Note: Only works if stretching is enabled. Sensitivity will be adjusted according to the size of the window | |
-adjmouse=true | |
- | |
-; Preliminary libretro shader support - (Requires 'renderer=opengl*') https://github.com/libretro/glsl-shaders | |
-; 2x scaling example: https://imgur.com/a/kxsM1oY - 4x scaling example: https://imgur.com/a/wjrhpFV | |
-; You can specify a full path to a .glsl shader file here or use one of the values listed below | |
-; Possible values: Nearest neighbor, Bilinear, Bicubic, Lanczos, xBR-lv2 | |
-shader=C:\ProgramData\cnc-ddraw\Shaders\interpolation\catmull-rom-bilinear.glsl | |
- | |
-; Window position, -32000 = center to screen | |
-posX=-32000 | |
-posY=-32000 | |
- | |
-; Renderer, possible values: auto, opengl, openglcore, gdi, direct3d9, direct3d9on12 (auto = try direct3d9/opengl, fallback = gdi) | |
-renderer=auto | |
- | |
-; Developer mode (don't lock the cursor) | |
-devmode=false | |
- | |
-; Show window borders in windowed mode | |
-border=true | |
- | |
-; Save window position/size/state on game exit and restore it automatically on next game start | |
-; Possible values: 0 = disabled, 1 = save to global 'ddraw' section, 2 = save to game specific section | |
-savesettings=1 | |
- | |
-; Should the window be resizable by the user in windowed mode? | |
-resizable=true | |
- | |
-; Upscaling filter for the direct3d9* renderers | |
-; Possible values: 0 = nearest-neighbor, 1 = bilinear, 2 = bicubic, 3 = lanczos (bicubic/lanczos only support 16/32bit color depth games) | |
-d3d9_filter=2 | |
- | |
-; Enable upscale hack for high resolution patches (Supports C&C1, Red Alert 1, Worms 2 and KKND Xtreme) | |
-vhack=false | |
- | |
-; Where should screenshots be saved | |
-screenshotdir=.\Screenshots\ | |
- | |
-; Switch between windowed/borderless modes with alt+enter rather than windowed/fullscreen modes | |
-toggle_borderless=false | |
- | |
-; Switch between windowed/fullscreen upscaled modes with alt+enter rather than windowed/fullscreen modes | |
-toggle_upscaled=false | |
- | |
- | |
- | |
-; ### Compatibility settings ### | |
-; Use the following settings in case there are any issues with the game | |
- | |
- | |
-; Hide WM_ACTIVATEAPP and WM_NCACTIVATE messages to prevent problems on alt+tab | |
-noactivateapp=false | |
- | |
-; Max game ticks per second, possible values: -1 = disabled, -2 = refresh rate, 0 = emulate 60hz vblank, 1-1000 = custom game speed | |
-; Note: Can be used to slow down a too fast running game, fix flickering or too fast animations | |
-; Note: Usually one of the following values will work: 60 / 30 / 25 / 20 / 15 (lower value = slower game speed) | |
-maxgameticks=0 | |
- | |
-; Method that should be used to limit game ticks (maxgameticks=): 0 = Automatic, 1 = TestCooperativeLevel, 2 = BltFast | |
-limiter_type=0 | |
- | |
-; Force minimum FPS, possible values: 0 = disabled, -1 = use 'maxfps=' value, -2 = same as -1 but force full redraw, 1-1000 = custom FPS | |
-; Note: Set this to a low value such as 5 or 10 if some parts of the game are not being displayed (e.g. menus or loading screens) | |
-minfps=0 | |
- | |
-; Disable fullscreen-exclusive mode for the direct3d9*/opengl* renderers | |
-; Note: Can be used in case some GUI elements like buttons/textboxes/videos/etc.. are invisible | |
-nonexclusive=false | |
- | |
-; Force CPU0 affinity, avoids crashes/freezing, *might* have a performance impact | |
-; Note: Disable this if the game is not running smooth or there are sound issues | |
-singlecpu=false | |
- | |
-; Available resolutions, possible values: 0 = Small list, 1 = Very small list, 2 = Full list | |
-; Note: Set this to 2 if your chosen resolution is not working or does not show up in the list | |
-; Note: Set this to 1 if the game is crashing on startup | |
-resolutions=0 | |
- | |
-; Child window handling, possible values: 0 = Disabled, 1 = Display top left, 2 = Display top left + repaint, 3 = Hide | |
-; Note: Disables upscaling if a child window was detected (to ensure the game is fully playable, may look weird though) | |
-fixchilds=2 | |
- | |
-; Enable one of the following settings if your cursor doesn't work properly when upscaling is enabled | |
-hook_peekmessage=false | |
-hook_getmessage=false | |
- | |
- | |
-; Undocumented settings - You may or may not change these (You should rather focus on the settings above) | |
-releasealt=false | |
-game_handles_close=false | |
-fixnotresponding=false | |
-hook=4 | |
-guard_lines=200 | |
-max_resolutions=0 | |
-lock_surfaces=false | |
-allow_wmactivate=false | |
-flipclear=false | |
-fixmousehook=false | |
-rgb555=false | |
-no_dinput_hook=false | |
-refresh_rate=0 | |
-anti_aliased_fonts_min_size=13 | |
-custom_width=0 | |
-custom_height=0 | |
-min_font_size=0 | |
-direct3d_passthrough=false | |
-center_cursor_fix=false | |
-;fake_mode=640x480x32 | |
-wine_allow_resize=false | |
-lock_mouse_top_left=false | |
-no_compat_warning=false | |
- | |
- | |
- | |
-; ### Hotkeys ### | |
-; Use the following settings to configure your hotkeys, 0x00 = disabled | |
-; Virtual-Key Codes: https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes | |
- | |
- | |
-; Switch between windowed and fullscreen mode = [Alt] + ??? | |
-keytogglefullscreen=0x0D | |
- | |
-; Maximize window = [Alt] + ??? | |
-keytogglemaximize=0x22 | |
- | |
-; Unlock cursor 1 = [Ctrl] + ??? | |
-keyunlockcursor1=0x09 | |
- | |
-; Unlock cursor 2 = [Right Alt] + ??? | |
-keyunlockcursor2=0xA3 | |
- | |
-; Screenshot | |
-keyscreenshot=0x2C | |
- | |
- | |
- | |
-; ### Config program settings ### | |
-; The following settings are for cnc-ddraw config.exe | |
- | |
- | |
-; cnc-ddraw config program language, possible values: auto, english, chinese, german, spanish, russian, hungarian, french, italian | |
-configlang=auto | |
- | |
-; cnc-ddraw config program theme, possible values: Windows10, Cobalt XEMedia | |
-configtheme=Windows10 | |
- | |
-; Hide the 'Compatibility Settings' tab in cnc-ddraw config | |
-hide_compat_tab=false | |
- | |
-; Allow the users to 'Restore default settings' via cnc-ddraw config | |
-allow_reset=true | |
- | |
- | |
- | |
-; ### Game specific settings ### | |
-; The following settings override all settings shown above, section name = executable name | |
- | |
- | |
-; Atrox | |
-[Atrox] | |
-nonexclusive=true | |
-allow_wmactivate=true | |
- | |
-; Atomic Bomberman | |
-[BM] | |
-maxgameticks=60 | |
- | |
-; Age of Empires | |
-[empires] | |
-nonexclusive=true | |
-adjmouse=true | |
-resolutions=2 | |
- | |
-; Age of Empires: The Rise of Rome | |
-[empiresx] | |
-nonexclusive=true | |
-adjmouse=true | |
-resolutions=2 | |
- | |
-; Age of Empires II | |
-[EMPIRES2] | |
-nonexclusive=true | |
-adjmouse=true | |
- | |
-; Age of Empires II: The Conquerors | |
-[age2_x1] | |
-nonexclusive=true | |
-adjmouse=true | |
- | |
-; American Conquest / Cossacks | |
-[DMCR] | |
-resolutions=2 | |
-guard_lines=300 | |
-minfps=-2 | |
- | |
-; American Girls Dress Designer | |
-[Dress Designer] | |
-fake_mode=640x480x32 | |
-nonexclusive=true | |
- | |
-; Age of Wonders 2 | |
-[AoW2] | |
-resolutions=2 | |
-renderer=opengl | |
- | |
-; Age of Wonders 2 | |
-[AoW2Compat] | |
-resolutions=2 | |
-renderer=opengl | |
- | |
-; Age of Wonders 2 Config Tool | |
-[aow2Setup] | |
-resolutions=2 | |
- | |
-; Age of Wonders: Shadow Magic | |
-[AoWSM] | |
-resolutions=2 | |
-renderer=opengl | |
- | |
-; Age of Wonders: Shadow Magic | |
-[AoWSMCompat] | |
-resolutions=2 | |
-renderer=opengl | |
- | |
-; Age of Wonders: Shadow Magic Config Tool | |
-[AoWSMSetup] | |
-resolutions=2 | |
- | |
-; Anstoss 3 | |
-[anstoss3] | |
-renderer=gdi | |
-adjmouse=true | |
- | |
-; Anno 1602 | |
-[1602] | |
-adjmouse=true | |
- | |
-; Alien Nations | |
-[AN] | |
-adjmouse=true | |
- | |
-; Atlantis | |
-[ATLANTIS] | |
-renderer=opengl | |
-maxgameticks=60 | |
-center_cursor_fix=true | |
- | |
-; Airline Tycoon Deluxe | |
-[AT] | |
-fixchilds=0 | |
- | |
-; Arthur's Wilderness Rescue | |
-[Arthur] | |
-renderer=gdi | |
- | |
-; Baldur's Gate II | |
-; Note: 'Use 3D Acceleration' must be disabled and 'Full Screen' must be enabled in BGConfig.exe | |
-[BGMain] | |
-resolutions=2 | |
- | |
-; BALDR FORCE EXE | |
-[BaldrForce] | |
-noactivateapp=true | |
- | |
-; Blade & Sword | |
-[comeon] | |
-maxgameticks=60 | |
-fixchilds=3 | |
- | |
-; Blood II - The Chosen / Shogo - Mobile Armor Division | |
-[Client] | |
-checkfile=.\SOUND.REZ | |
-noactivateapp=true | |
- | |
-; Blue's 123 Time Activities | |
-[Blues123Time] | |
-renderer=gdi | |
-hook=3 | |
- | |
-; Blue's Treasure Hunt | |
-[Blue'sTreasureHunt-Disc1] | |
-renderer=gdi | |
- | |
-; Blue's Treasure Hunt | |
-[Blue'sTreasureHunt-Disc2] | |
-renderer=gdi | |
- | |
-; Blue's Reading Time Activities | |
-[Blue's Reading Time] | |
-renderer=gdi | |
- | |
-; Blue's ArtTime Activities | |
-[ArtTime] | |
-renderer=gdi | |
- | |
-; Carmageddon | |
-[CARMA95] | |
-noactivateapp=true | |
-flipclear=true | |
- | |
-; Carmageddon | |
-[CARM95] | |
-noactivateapp=true | |
-flipclear=true | |
- | |
-; Carmageddon 2 | |
-[Carma2_SW] | |
-noactivateapp=true | |
- | |
-; Carmen Sandiego's Great Chase - NOT WORKING YET | |
-[TIME32] | |
-allow_wmactivate=true | |
-renderer=gdi | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Captain Claw | |
-[claw] | |
-adjmouse=true | |
-noactivateapp=true | |
-nonexclusive=true | |
- | |
-; Command & Conquer: Sole Survivor | |
-[SOLE] | |
-maxgameticks=120 | |
-maxfps=60 | |
-minfps=-1 | |
- | |
-; Command & Conquer Gold - CnCNet | |
-[cnc95] | |
-maxfps=125 | |
- | |
-; Command & Conquer Gold | |
-[C&C95] | |
-maxgameticks=120 | |
-maxfps=60 | |
-minfps=-1 | |
- | |
-; Command & Conquer: Red Alert - CnCNet | |
-[ra95-spawn] | |
-maxfps=125 | |
- | |
-; Command & Conquer: Red Alert | |
-[ra95] | |
-maxgameticks=120 | |
-maxfps=60 | |
-minfps=-1 | |
- | |
-; Command & Conquer: Red Alert | |
-[ra95_Mod-Launcher] | |
-maxgameticks=120 | |
-maxfps=60 | |
-minfps=-1 | |
- | |
-; Command & Conquer: Red Alert | |
-[ra95p] | |
-maxfps=60 | |
-minfps=-1 | |
- | |
-; Command & Conquer: Tiberian Sun / Command & Conquer: Red Alert 2 | |
-[game] | |
-checkfile=.\blowfish.dll | |
-tshack=true | |
-noactivateapp=true | |
-adjmouse=true | |
-maxfps=60 | |
-minfps=-1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Command & Conquer: Tiberian Sun Demo | |
-[SUN] | |
-noactivateapp=true | |
-tshack=true | |
-adjmouse=true | |
-maxfps=60 | |
-minfps=-1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Command & Conquer: Tiberian Sun - CnCNet | |
-[ts-spawn] | |
-noactivateapp=true | |
-tshack=true | |
-adjmouse=true | |
-maxfps=60 | |
-minfps=-1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Command & Conquer: Red Alert 2 - XWIS | |
-[ra2] | |
-noactivateapp=true | |
-tshack=true | |
-maxfps=60 | |
-minfps=-1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Command & Conquer: Red Alert 2 - XWIS | |
-[Red Alert 2] | |
-noactivateapp=true | |
-tshack=true | |
-maxfps=60 | |
-minfps=-1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Command & Conquer: Red Alert 2: Yuri's Revenge | |
-[gamemd] | |
-noactivateapp=true | |
-tshack=true | |
-maxfps=60 | |
-minfps=-1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Command & Conquer: Red Alert 2: Yuri's Revenge - ?ModExe? | |
-[ra2md] | |
-noactivateapp=true | |
-tshack=true | |
-maxfps=60 | |
-minfps=-1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Command & Conquer: Red Alert 2: Yuri's Revenge - CnCNet | |
-[gamemd-spawn] | |
-noactivateapp=true | |
-tshack=true | |
-maxfps=60 | |
-minfps=-1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Command & Conquer: Red Alert 2: Yuri's Revenge - XWIS | |
-[Yuri's Revenge] | |
-noactivateapp=true | |
-tshack=true | |
-maxfps=60 | |
-minfps=-1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Commandos | |
-[comandos] | |
-maxgameticks=-1 | |
- | |
-; Commandos | |
-[comandos_w10] | |
-maxgameticks=-1 | |
- | |
-; Caesar III | |
-[c3] | |
-nonexclusive=true | |
-adjmouse=true | |
- | |
-; Chris Sawyer's Locomotion | |
-[LOCO] | |
-adjmouse=true | |
- | |
-; Cultures 2 | |
-[Cultures2] | |
-adjmouse=true | |
- | |
-; Cultures 2 MP | |
-[Cultures2MP] | |
-adjmouse=true | |
- | |
-; Close Combat 2: A Bridge Too Far | |
-[cc2] | |
-adjmouse=true | |
-nonexclusive=true | |
- | |
-; Close Combat 3: The Russian Front | |
-[cc3] | |
-adjmouse=true | |
-nonexclusive=true | |
- | |
-; Close Combat 4: The Battle of the Bulge | |
-[cc4] | |
-adjmouse=true | |
-nonexclusive=true | |
- | |
-; Close Combat 5: Invasion: Normandy | |
-[cc5] | |
-adjmouse=true | |
-nonexclusive=true | |
- | |
-; ClueFinders Math Adventures 1.0 | |
-[TCFM32] | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; ClueFinders Math Adventures 1.0 | |
-[cfmath32] | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Call To Power 2 | |
-[ctp2] | |
-maintas=false | |
-boxing=false | |
- | |
-; Corsairs Gold | |
-[corsairs] | |
-adjmouse=true | |
- | |
-; Divine Divinity | |
-[div] | |
-resolutions=2 | |
- | |
-; Dragon Throne: Battle of Red Cliffs | |
-[AdSanguo] | |
-maxgameticks=60 | |
-noactivateapp=true | |
-limiter_type=2 | |
- | |
-; Dark Reign: The Future of War | |
-[DKReign] | |
-maxgameticks=60 | |
- | |
-; Dungeon Keeper 2 | |
-[DKII] | |
-maxgameticks=60 | |
-noactivateapp=true | |
- | |
-; Deadlock 2 | |
-[DEADLOCK] | |
-fixchilds=0 | |
-adjmouse=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Diablo | |
-[Diablo] | |
-devmode=true | |
- | |
-; Diablo: Hellfire | |
-[hellfire] | |
-devmode=true | |
- | |
-; Escape Velocity Nova | |
-[EV Nova] | |
-nonexclusive=true | |
-hook_peekmessage=true | |
-rgb555=true | |
-keytogglefullscreen=0x46 | |
-adjmouse=true | |
- | |
-; Economic War | |
-[EcoW] | |
-maxgameticks=60 | |
-fixnotresponding=true | |
- | |
-; Enemy Infestation | |
-[EI] | |
-hook_getmessage=true | |
- | |
-; Fairy Tale About Father Frost, Ivan and Nastya | |
-[mrazik] | |
-guard_lines=0 | |
- | |
-; Future Cop - L.A.P.D. | |
-[FCopLAPD] | |
-nonexclusive=true | |
-adjmouse=true | |
- | |
-; Freddi 1 | |
-[Freddi1] | |
-renderer=gdi | |
- | |
-; Freddi Fish : The Case of the Hogfish Rustlers of Briny Gulch | |
-[Freddihrbg] | |
-renderer=gdi | |
- | |
-; Freddi Water Worries | |
-[Water] | |
-renderer=gdi | |
- | |
-; Freddi Fish | |
-[FreddiSCS] | |
-renderer=gdi | |
- | |
-; Freddi Fish | |
-[FREDDI4] | |
-renderer=gdi | |
-hook=3 | |
- | |
-; Freddi Fish's One-Stop Fun Shop | |
-[FreddisFunShop] | |
-renderer=gdi | |
- | |
-; Freddi Fish: The Case of the Creature of Coral Cove | |
-[freddicove] | |
-renderer=gdi | |
- | |
-; Freddi Fish: The Case of the Haunted Schoolhouse | |
-[FreddiCHSH] | |
-renderer=gdi | |
- | |
-; Freddi Fish: Maze Madness | |
-[Maze] | |
-renderer=gdi | |
- | |
-; G-Police | |
-[GPOLICE] | |
-maxgameticks=60 | |
- | |
-; Gangsters: Organized Crime | |
-[gangsters] | |
-adjmouse=true | |
-nonexclusive=true | |
- | |
-; Gruntz | |
-[GRUNTZ] | |
-adjmouse=true | |
-noactivateapp=true | |
-nonexclusive=true | |
- | |
-; Jazz Jackrabbit 2 plus | |
-[Jazz2] | |
-keytogglefullscreen=0x08 | |
-custom_width=800 | |
-custom_height=450 | |
- | |
-; Jazz Jackrabbit 2 | |
-[Jazz2_NonPlus] | |
-keytogglefullscreen=0x08 | |
-custom_width=800 | |
-custom_height=450 | |
- | |
-; Heroes of Might and Magic II: The Succession Wars | |
-[HEROES2W] | |
-adjmouse=true | |
- | |
-; Heroes of Might and Magic III | |
-[Heroes3] | |
-renderer=opengl | |
-game_handles_close=true | |
- | |
-; Heroes of Might and Magic III HD Mod | |
-[Heroes3 HD] | |
-renderer=opengl | |
-game_handles_close=true | |
- | |
-; Hard Truck: Road to Victory | |
-[htruck] | |
-maxgameticks=25 | |
-renderer=opengl | |
-noactivateapp=true | |
- | |
-; Icewind Dale 2 | |
-; Note: 'Full Screen' must be enabled in Config.exe | |
-; Note: 1070x602 is the lowest possible 16:9 resolution for the Widescreen patch (600/601 height will crash) | |
-[iwd2] | |
-resolutions=2 | |
-custom_width=1070 | |
-custom_height=602 | |
- | |
-; Invictus | |
-[Invictus] | |
-adjmouse=true | |
-renderer=opengl | |
- | |
-; Interstate 76 | |
-[i76] | |
-adjmouse=true | |
- | |
-; Infantry | |
-[infantry] | |
-resolutions=2 | |
-infantryhack=true | |
-max_resolutions=90 | |
- | |
-; Infantry Steam | |
-[FreeInfantry] | |
-resolutions=2 | |
-infantryhack=true | |
-max_resolutions=90 | |
- | |
-; Jagged Alliance 2 | |
-[ja2] | |
-fixmousehook=true | |
-noactivateapp=true | |
-releasealt=true | |
- | |
-; Jagged Alliance 2: Unfinished Business | |
-[JA2UB] | |
-fixmousehook=true | |
-noactivateapp=true | |
-releasealt=true | |
- | |
-; Jagged Alliance 2: Wildfire | |
-[WF6] | |
-fixmousehook=true | |
-noactivateapp=true | |
-releasealt=true | |
- | |
-; Jagged Alliance 2 - UC mod | |
-[JA2_UC] | |
-fixmousehook=true | |
-noactivateapp=true | |
-releasealt=true | |
- | |
-; Jagged Alliance 2 - Vengeance Reloaded mod | |
-[JA2_Vengeance] | |
-fixmousehook=true | |
-noactivateapp=true | |
-releasealt=true | |
- | |
-; Jedi Knight Dark Forces 2 | |
-[JK] | |
-direct3d_passthrough=true | |
- | |
-; Kings Quest 8 | |
-[Mask] | |
-renderer=opengl | |
- | |
-; Konung | |
-[konung] | |
-fixchilds=0 | |
- | |
-; Konung 2 | |
-[Konung2] | |
-fixchilds=0 | |
- | |
-; KKND Xtreme (With high resolution patch) | |
-[KKNDgame] | |
-vhack=true | |
- | |
-; KKND2: Krossfire | |
-[KKND2] | |
-noactivateapp=true | |
- | |
-; Knights and Merchants The Shattered Kingdom | |
-[KaM_800] | |
-limiter_type=2 | |
-maxgameticks=60 | |
- | |
-; Knights and Merchants The Shattered Kingdom | |
-[KaM_1024] | |
-limiter_type=2 | |
-maxgameticks=60 | |
- | |
-; Little Bear Kindergarten/Preschool Thinking Adventures: Parent's Progress Report | |
-[LBPR] | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Little Bear Kindergarten/Preschool Thinking Adventures | |
-[LBSTART] | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Little Bear Toddler Discovery Adventures | |
-[LBT] | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Lionheart | |
-[Lionheart] | |
-hook_peekmessage=true | |
- | |
-; Madeline 1st Grade Math | |
-[madmath1] | |
-nonexclusive=true | |
-no_compat_warning=true | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Madeline 1st Grade Math: Progress Report | |
-[madpr] | |
-nonexclusive=true | |
-no_compat_warning=true | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Madeline 2nd Grade Math | |
-[madmath2] | |
-nonexclusive=true | |
-no_compat_warning=true | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Majesty Gold | |
-[Majesty] | |
-minfps=-2 | |
- | |
-; Majesty Gold HD | |
-[MajestyHD] | |
-adjmouse=true | |
- | |
-; Majesty Gold HD | |
-[MajestyHD - Old] | |
-adjmouse=true | |
- | |
-; Mech Warrior 3 | |
-[Mech3] | |
-nonexclusive=true | |
- | |
-; Moorhuhn 2 | |
-[Moorhuhn2] | |
-releasealt=true | |
- | |
-; New Robinson | |
-[ROBY] | |
-adjmouse=true | |
-hook_peekmessage=true | |
- | |
-; Nancy Drew (All games) | |
-[Game/3] | |
-checkfile=.\Nancy.cid | |
-limiter_type=1 | |
-maxgameticks=120 | |
- | |
-; Nox | |
-[NOX] | |
-checkfile=.\NOX.ICD | |
-renderer=direct3d9 | |
-nonexclusive=false | |
-windowed=false | |
-maxgameticks=125 | |
- | |
-; Nox Reloaded | |
-[NoxReloaded] | |
-maxgameticks=125 | |
- | |
-; Nox GOG | |
-[Game/2] | |
-checkfile=.\nox.cfg | |
-maxgameticks=125 | |
- | |
-; Outlaws | |
-[olwin] | |
-noactivateapp=true | |
-maxgameticks=60 | |
-adjmouse=true | |
-renderer=gdi | |
- | |
-; Pajama Sam's Games to Play on Any Day | |
-[PJGAMES] | |
-renderer=gdi | |
- | |
-; Pajama Sam | |
-[PajamaTAL] | |
-renderer=gdi | |
- | |
-; Pajama Sam: No Need to Hide When It's Dark Outside | |
-[PajamaNHD] | |
-renderer=gdi | |
- | |
-; Pajama Sam 3 | |
-[Pajama3] | |
-renderer=gdi | |
- | |
-; Pajama Sam(r): Life is Rough When You Lose Your Stuff(tm) | |
-[PajamaLRS] | |
-keytogglefullscreen=0x08 | |
- | |
-; Pajama Sam's One-Stop Fun Shop | |
-[SamsFunShop] | |
-renderer=gdi | |
- | |
-; Pajama Sam DON'T FEAR THE DARK | |
-[pjSam] | |
-renderer=gdi | |
- | |
-; Pajama Sam 3: You Are What You Eat From Your Head To Your Feet | |
-[UKpajamaEAT] | |
-renderer=gdi | |
- | |
-; Pharaoh | |
-[Pharaoh] | |
-adjmouse=true | |
- | |
-; Putt-Putt Saves The Zoo | |
-[PUTTZOO] | |
-renderer=gdi | |
-hook=3 | |
- | |
-; Putt-Putt's One-Stop Fun Shop | |
-[PuttsFunShop] | |
-renderer=gdi | |
- | |
-; Putt-Putt and Pep's Dog On A Stick | |
-[DOG] | |
-renderer=gdi | |
- | |
-; Putt-Putt Joins the Circus | |
-[puttcircus] | |
-renderer=gdi | |
- | |
-; Putt-Putt Enters The Race | |
-[UKPuttRace] | |
-renderer=gdi | |
- | |
-; Putt-Putt: Travels Through Time | |
-[PuttTTT] | |
-renderer=gdi | |
- | |
-; Putt-Putt and Pep's Balloon-o-Rama | |
-[Balloon] | |
-renderer=gdi | |
- | |
-; Putt-Putt Travels Through Time | |
-[PUTTPUTTTTT] | |
-renderer=gdi | |
- | |
-; Putt-Putt Joins the Circus | |
-[puttputtjtc] | |
-renderer=gdi | |
- | |
-; Putt-Putt: Pep's Birthday Surprise | |
-[PuttsFunShop] | |
-keytogglefullscreen=0x08 | |
- | |
-; Pizza Syndicate | |
-[Pizza2] | |
-renderer=opengl | |
- | |
-; Pizza Syndicate - Mehr Biss (Mission CD) | |
-[Pizza_Mission] | |
-renderer=opengl | |
- | |
-; Pax Imperia | |
-[Pax Imperia] | |
-nonexclusive=true | |
- | |
-; Railroad Tycoon II | |
-[RT2] | |
-adjmouse=true | |
- | |
-; Reader Rabbit Thinking Ages 4-6 (US) | |
-[rrta32] | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Reader Rabbit Reading Ages 4-6 | |
-[rrirjw32] | |
-renderer=gdi | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Reader Rabbit Reading Ages 6-9 | |
-[irj2w32] | |
-renderer=gdi | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; ROAD RASH | |
-[RoadRash] | |
-adjmouse=true | |
-nonexclusive=true | |
- | |
-; Scooby-Doo(TM), Case File #1 The Glowing Bug Man - NOT WORKING YET | |
-[Case File #1] | |
-windowed=true | |
-nonexclusive=true | |
-fake_mode=640x480x32 | |
- | |
-; Sim Copter | |
-[SimCopter] | |
-nonexclusive=true | |
- | |
-; Settlers 3 | |
-[s3] | |
-nonexclusive=true | |
- | |
-; Star Trek - Armada | |
-[Armada] | |
-armadahack=true | |
-nonexclusive=true | |
-adjmouse=true | |
-maintas=false | |
-boxing=false | |
- | |
-; Star Wars: Galactic Battlegrounds | |
-[battlegrounds] | |
-nonexclusive=true | |
-adjmouse=true | |
- | |
-; Star Wars: Galactic Battlegrounds: Clone Campaigns | |
-[battlegrounds_x1] | |
-nonexclusive=true | |
-adjmouse=true | |
- | |
-; Starcraft | |
-[StarCraft] | |
-game_handles_close=true | |
- | |
-; Space Rangers | |
-[Rangers] | |
-hook_peekmessage=true | |
- | |
-; SPYFox: Hold the Mustard | |
-[mustard] | |
-renderer=gdi | |
- | |
-; SPY Fox: Some Assembly Required | |
-[Spyfox2] | |
-renderer=gdi | |
- | |
-; SPY Fox in Dry Cereal (2008) | |
-[SpyFox] | |
-renderer=gdi | |
- | |
-; SPY Fox in Dry Cereal (2001) | |
-[SPYFOXDC] | |
-renderer=gdi | |
- | |
-; SPY Fox : Some Assembly Required | |
-[SPYFOXSR] | |
-renderer=gdi | |
- | |
-; SPY Fox: Operation Ozone | |
-[spyozon] | |
-renderer=gdi | |
- | |
-; SPY Fox: Operation Ozone | |
-[spyfoxozu] | |
-renderer=gdi | |
- | |
-; Stronghold Crusader HD | |
-[Stronghold Crusader] | |
-resolutions=2 | |
-stronghold_hack=true | |
-adjmouse=true | |
- | |
-; Stronghold Crusader Extreme HD | |
-[Stronghold_Crusader_Extreme] | |
-resolutions=2 | |
-stronghold_hack=true | |
-adjmouse=true | |
- | |
-; Stronghold HD | |
-[Stronghold] | |
-resolutions=2 | |
-stronghold_hack=true | |
-adjmouse=true | |
- | |
-; Sim City 3000 | |
-[SC3] | |
-minfps=-2 | |
- | |
-; Shadow Watch | |
-[sw] | |
-adjmouse=true | |
- | |
-; Shadow Flare | |
-[ShadowFlare] | |
-nonexclusive=true | |
-adjmouse=true | |
-maintas=false | |
-boxing=false | |
- | |
-; Total Annihilation (Unofficial Beta Patch v3.9.02) | |
-[TotalA] | |
-max_resolutions=32 | |
-lock_surfaces=true | |
- | |
-; Total Annihilation Replay Viewer (Unofficial Beta Patch v3.9.02) | |
-[Viewer] | |
-max_resolutions=32 | |
-lock_surfaces=true | |
- | |
-; Total Annihilation: Kingdoms | |
-[Kingdoms] | |
-game_handles_close=true | |
-max_resolutions=32 | |
- | |
-; The X-Files DVD | |
-[XFiles] | |
-windowed=true | |
-fullscreen=true | |
-toggle_borderless=true | |
- | |
-; The Learning Company Launcher | |
-[TLCLauncher] | |
-tlc_hack=true | |
-adjmouse=false | |
-width=0 | |
-height=0 | |
-resizable=false | |
-maintas=false | |
-boxing=false | |
- | |
-; Three Kingdoms: Fate of the Dragon | |
-[sanguo] | |
-maxgameticks=60 | |
-noactivateapp=true | |
-limiter_type=2 | |
- | |
-; RollerCoaster Tycoon | |
-[rct] | |
-no_dinput_hook=true | |
-maxfps=0 | |
-adjmouse=true | |
- | |
-; Twisted Metal | |
-[TWISTED] | |
-nonexclusive=true | |
-maxgameticks=25 | |
-minfps=5 | |
- | |
-; Twisted Metal 2 | |
-[Tm2] | |
-nonexclusive=true | |
-maxgameticks=60 | |
-adjmouse=true | |
-fixchilds=1 | |
-maintas=false | |
-boxing=false | |
- | |
-; Tzar: The Burden of the Crown | |
-; Note: Must set 'DIRECTXDEVICE=0' in 'Tzar.ini' | |
-[Tzar] | |
-adjmouse=true | |
- | |
-; Uprising | |
-[uprising] | |
-adjmouse=true | |
- | |
-; Uprising 2 | |
-[Uprising 2] | |
-renderer=opengl | |
-adjmouse=true | |
- | |
-; Vermeer | |
-[vermeer] | |
-adjmouse=true | |
-fake_mode=640x480x32 | |
- | |
-; Wizardry 8 | |
-[Wiz8] | |
-fixmousehook=true | |
-noactivateapp=true | |
-releasealt=true | |
- | |
-; Worms 2 | |
-[worms2] | |
-vhack=true | |
-flipclear=true | |
-game_handles_close=true | |
-center_cursor_fix=true | |
- | |
-; Worms Armageddon | |
-[WA] | |
-adjmouse=true | |
-width=0 | |
-height=0 | |
-resizable=false | |
- | |
-; War Wind | |
-[WW] | |
-minfps=-1 | |
- | |
-; Zeus and Poseidon | |
-[Zeus] | |
-adjmouse=true | |
- | |
diff --git a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/ddraw.tzst b/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/ddraw.tzst | |
deleted file mode 100644 | |
index 6d03ec5..0000000 | |
Binary files a/app/src/main/assets/dxwrapper/cnc-ddraw-6.6/ddraw.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/dxwrapper/dxvk-1.7.1.tzst b/app/src/main/assets/dxwrapper/dxvk-1.7.1.tzst | |
index ee5aa7a..7acc91c 100644 | |
Binary files a/app/src/main/assets/dxwrapper/dxvk-1.7.1.tzst and b/app/src/main/assets/dxwrapper/dxvk-1.7.1.tzst differ | |
diff --git a/app/src/main/assets/dxwrapper/vkd3d-2.12-0.tzst b/app/src/main/assets/dxwrapper/vkd3d-2.12-0.tzst | |
new file mode 100644 | |
index 0000000..90665a6 | |
Binary files /dev/null and b/app/src/main/assets/dxwrapper/vkd3d-2.12-0.tzst differ | |
diff --git a/app/src/main/assets/dxwrapper/vkd3d-2.12.tzst b/app/src/main/assets/dxwrapper/vkd3d-2.12.tzst | |
deleted file mode 100644 | |
index 8480298..0000000 | |
Binary files a/app/src/main/assets/dxwrapper/vkd3d-2.12.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/dxwrapper/vkd3d-2.13-0.tzst b/app/src/main/assets/dxwrapper/vkd3d-2.13-0.tzst | |
new file mode 100644 | |
index 0000000..d3d1dc4 | |
Binary files /dev/null and b/app/src/main/assets/dxwrapper/vkd3d-2.13-0.tzst differ | |
diff --git a/app/src/main/assets/dxwrapper/vkd3d-2.13.tzst b/app/src/main/assets/dxwrapper/vkd3d-2.13.tzst | |
deleted file mode 100644 | |
index e71c69c..0000000 | |
Binary files a/app/src/main/assets/dxwrapper/vkd3d-2.13.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/dxwrapper/vkd3d-2.14.1-0.tzst b/app/src/main/assets/dxwrapper/vkd3d-2.14.1-0.tzst | |
new file mode 100644 | |
index 0000000..bb8916b | |
Binary files /dev/null and b/app/src/main/assets/dxwrapper/vkd3d-2.14.1-0.tzst differ | |
diff --git a/app/src/main/assets/dxwrapper/vkd3d-2.8-0.tzst b/app/src/main/assets/dxwrapper/vkd3d-2.8-0.tzst | |
new file mode 100644 | |
index 0000000..1032621 | |
Binary files /dev/null and b/app/src/main/assets/dxwrapper/vkd3d-2.8-0.tzst differ | |
diff --git a/app/src/main/assets/graphics_driver/turnip-24.1.0.tzst b/app/src/main/assets/graphics_driver/turnip-24.1.0.tzst | |
deleted file mode 100644 | |
index 3a24b6c..0000000 | |
Binary files a/app/src/main/assets/graphics_driver/turnip-24.1.0.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/graphics_driver/turnip-24.3.0.5.tzst b/app/src/main/assets/graphics_driver/turnip-24.3.0.5.tzst | |
deleted file mode 100644 | |
index 9437903..0000000 | |
Binary files a/app/src/main/assets/graphics_driver/turnip-24.3.0.5.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/graphics_driver/turnip-24.3.0.tzst b/app/src/main/assets/graphics_driver/turnip-24.3.0.tzst | |
deleted file mode 100644 | |
index b286079..0000000 | |
Binary files a/app/src/main/assets/graphics_driver/turnip-24.3.0.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/graphics_driver/turnip-25.0.0.bionic.tzst b/app/src/main/assets/graphics_driver/turnip-25.0.0.bionic.tzst | |
deleted file mode 100644 | |
index a70c450..0000000 | |
Binary files a/app/src/main/assets/graphics_driver/turnip-25.0.0.bionic.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/graphics_driver/virgl-23.1.9.tzst b/app/src/main/assets/graphics_driver/virgl-23.1.9.tzst | |
deleted file mode 100644 | |
index 4364f25..0000000 | |
Binary files a/app/src/main/assets/graphics_driver/virgl-23.1.9.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/graphics_driver/wrapper.tzst b/app/src/main/assets/graphics_driver/wrapper.tzst | |
index be67109..0ead9bb 100644 | |
Binary files a/app/src/main/assets/graphics_driver/wrapper.tzst and b/app/src/main/assets/graphics_driver/wrapper.tzst differ | |
diff --git a/app/src/main/assets/graphics_driver/zink-22.2.5.tzst b/app/src/main/assets/graphics_driver/zink-22.2.5.tzst | |
deleted file mode 100644 | |
index f805608..0000000 | |
Binary files a/app/src/main/assets/graphics_driver/zink-22.2.5.tzst and /dev/null differ | |
diff --git a/app/src/main/assets/graphics_driver/zink_libs.tzst b/app/src/main/assets/graphics_driver/zink_libs.tzst | |
new file mode 100644 | |
index 0000000..71de153 | |
Binary files /dev/null and b/app/src/main/assets/graphics_driver/zink_libs.tzst differ | |
diff --git a/app/src/main/assets/imagefs.txz b/app/src/main/assets/imagefs.txz | |
index 77d214d..3c63388 100644 | |
--- a/app/src/main/assets/imagefs.txz | |
+++ b/app/src/main/assets/imagefs.txz | |
@@ -1,3 +1,3 @@ | |
version https://git-lfs.github.com/spec/v1 | |
-oid sha256:4cb3ecb217a891404dae4bc9800ac8f7a18f7a42d750aa8d5bcbcd0adb407356 | |
-size 283893376 | |
+oid sha256:1627c4d8854b6a0a2cd44ce5551a845a9901812fc7cc6ddfb575876024a3c2a8 | |
+size 406211296 | |
diff --git a/app/src/main/assets/graphics_driver/zink_dlls.tzst b/app/src/main/assets/wincomponents/opengl.tzst | |
similarity index 100% | |
rename from app/src/main/assets/graphics_driver/zink_dlls.tzst | |
rename to app/src/main/assets/wincomponents/opengl.tzst | |
diff --git a/app/src/main/assets/wincomponents/wincomponents.json b/app/src/main/assets/wincomponents/wincomponents.json | |
index 364cdc8..7b78406 100644 | |
--- a/app/src/main/assets/wincomponents/wincomponents.json | |
+++ b/app/src/main/assets/wincomponents/wincomponents.json | |
@@ -6,5 +6,6 @@ | |
"directplay" : ["dplaysvr.exe", "dplayx", "dpmodemx", "dpnet", "dpnhpast", "dpnhupnp", "dpnsvr.exe", "dpwsockx"], | |
"xaudio" : ["x3daudio1_0", "x3daudio1_1", "x3daudio1_2", "x3daudio1_3", "x3daudio1_4", "x3daudio1_5", "x3daudio1_6", "x3daudio1_7", "xactengine2_0", "xactengine2_1", "xactengine2_2", "xactengine2_3", "xactengine2_4", "xactengine2_5", "xactengine2_6", "xactengine2_7", "xactengine2_8", "xactengine2_9", "xactengine2_10", "xactengine3_0", "xactengine3_1", "xactengine3_2", "xactengine3_3", "xactengine3_4", "xactengine3_5", "xactengine3_6", "xactengine3_7", "xapofx1_0", "xapofx1_1", "xapofx1_2", "xapofx1_3", "xapofx1_4", "xapofx1_5", "xaudio2_0", "xaudio2_1", "xaudio2_2", "xaudio2_3", "xaudio2_4", "xaudio2_5", "xaudio2_6", "xaudio2_7"], | |
"vcrun2010" : ["msvcp100", "msvcr100", "vcomp100", "atl100"], | |
- "windowsmediafoundation" : ["atmfd","colorcnv","mf","mfds","mferror","mfplat","mfplay","mfps","mfreadwrite","mfc40","mfc40u","mfc42u","msmpeg2adec","msmpeg2vdec","sqmapi","tsmf","wmadmod","wmvdecod"] | |
+ "windowsmediafoundation" : ["atmfd","colorcnv","mf","mfds","mferror","mfplat","mfplay","mfps","mfreadwrite","mfc40","mfc40u","mfc42u","msmpeg2adec","msmpeg2vdec","sqmapi","tsmf","wmadmod","wmvdecod"], | |
+ "opengl" : ["libgallium_wgl", "opengl32"] | |
} | |
diff --git a/app/src/main/assets/wine_debug_channels.json b/app/src/main/assets/wine_debug_channels.json | |
index 69cd920..15bbfc9 100644 | |
--- a/app/src/main/assets/wine_debug_channels.json | |
+++ b/app/src/main/assets/wine_debug_channels.json | |
@@ -1 +1 @@ | |
-["acledit","aclui","actctx","activeds","actxprxy","adpcm","adsldp","advapi","advpack","alsa","amsi","animate","appbar","apphelp","appwizcpl","appx","asmshader","aspi","atl","atlthunk","atmlib","atom","authz","avicap","avifile","avrt","bcrypt","bidi","bitblt","bitmap","bluetooth","bluetoothapis","browseui","button","bytecodewriter","cabinet","capi","capture","cards","cdosys","class","clipboard","clipping","clusapi","combase","combo","comboex","comm","commctrl","commdlg","compstui","comsvcs","concrt","connect","console","context","coreaudio","cred","credentials","credui","crypt","cryptasn","cryptdlg","cryptext","cryptnet","crypto","cryptui","ctapi32","cursor","d2d","d3d","d3d10","d3d10core","d3d11","d3d12","d3d8","d3d9","d3d_decl","d3d_shader","d3dcompiler","d3drm","d3dx","d3dxof","d3dxof_parsing","data","datetime","davclnt","dbgeng","dbghelp","dbghelp_coff","dbghelp_dwarf","dbghelp_macho","dbghelp_msc","dbghelp_stabs","dc","dciman","dcomp","ddeml","ddraw","ddrawex","debug_buffer","debugstr","devenum","dhcpcsvc","dhtmled","dialog","diasymreader","difxapi","dinput","display","dll","dmband","dmcompos","dmfile","dmime","dmloader","dmobj","dmscript","dmstyle","dmsynth","dmusic","dmusic32","dnsapi","dosmem","dpa","dplay","dpnet","dpnhpast","dpnhupnp","dpvoice","dragdrop","driver","dsa","dsdmo","dsound","dsound3d","dsquery","dssenh","dsuiext","dswave","dwmapi","dwrite","dx8vb","dxcore","dxdiag","dxgi","dxtrans","dxva2","edit","enhmetafile","enumeration","environ","err","event","eventlog","evr","exception","exec","explorerframe","faultrep","file","fixme","fixup","fltlib","fltmgr","font","fontcache","fontsub","fusion","fwpuclnt","g711","gamebar","gameux","gamingtcui","gdi","gdiplus","geolocator","gl_compat","global","globalmem","glu","graphics","gsm","handle","header","heap","hid","hlink","hnetcfg","hook","hostname","hotkey","htmlhelp","http","hvsi","iccvid","icm","icon","ieframe","image","imagehlp","imagelist","imm","inetcomm","inetcpl","inetmib1","infosoft","inkobj","input","inseng","int","int21","int31","ipaddress","iphlpapi","ir50_32","itss","joycpl","jscript","jsproxy","kerberos","kernelbase","keyboard","ksecdd","lanman","listbox","listview","loaddll","loadperf","local","locale","localspl","localui","macdrv","manipulation","mapi","mci","mciavi","mcicda","mcimidi","mciqtz","mciwave","mdi","media","mediacontrol","menu","message","metafile","mfplat","mgmtapi","midi","mlang","mmaux","mmc","mmdevapi","mmio","mmsys","mmtime","model","module","monthcal","mountmgr","mp3dmod","mpeg3","mpr","mprapi","msacm","msado15","msasn1","msauddecmft","mscms","msctf","msctfmonitor","msdasql","msdmo","msdrm","msftedit","msg","mshtml","msi","msidb","msident","msimg32","msimtf","msisip","msisys","msmpeg2vdec","msnet","msopc","mspatcha","msrle32","msscript","mssign","mstask","msttsengine","msvcirt","msvcm","msvcp","msvcrt","msvidc32","msvideo","mswsock","msxml","nativefont","ncrypt","nddeapi","ndis","netapi32","netbios","netcfgx","netio","netprofm","ninput","nls","nonclient","nsi","nstc","ntdll","ntdsapi","ntlm","ntoskrnl","ntprint","objsel","odbc","ole","oleacc","oledb","oledlg","olemalloc","olepicture","opencl","opengl","oss","packager","pager","palette","path","pdh","perception","pidgen","pidl","plugplay","powermgnt","powrprof","print","printui","prntvpt","process","profile","progress","propsheet","propsys","psdrv","pstores","pulse","qmgr","quartz","query","qwave","ras","rasdlg","rawinput","rebar","recyclebin","reg","region","relay","resource","richedit","richedit_lists","rpc","rstrtmgr","rtutils","sapi","schannel","schedsvc","scrobj","scroll","scrrun","scsiport","secur32","security","seh","selector","sensapi","service","setupapi","sfc","shcore","shdocvw","shell","shlctrl","slc","smbios","snmpapi","snoop","sound","speech","spoolss","sspicli","static","statusbar","sti","storage","stress","string","sxs","sync","syslevel","syslink","system","systray","t2embed","tab","tape","tapi","task","taskdialog","taskschd","tbs","tdh","tdi","text","theme_scroll","thread","threadpool","thunk","toolbar","toolhelp","tooltips","trackbar","traffic","treeview","twain","twinapi","ui","uianimation","uiautomation","uiribbon","unloaddll","unwind","updown","updspapi","url","urlmon","usb","usbd","user","uxtheme","variant","vbscript","vcomp","vcruntime","vdmdbg","ver","virtdisk","volume","vulkan","vxd","warn","wavemap","waylanddrv","wbemdisp","wbemprox","webservices","wer","wevtapi","wgl","wia","wimgapi","win","wincodecs","winemapi","wineusb","wing","winhttp","wininet","winmm","winprint","winscard","winsock","winspool","winsta","winstation","winstring","wintab","wintab32","wintrust","wintypes","winusb","wlanapi","wldap32","wldp","wmadec","wmi","wmiutils","wmp","wmvcore","wnet","wofutil","wow","wpc","wpcap","wsdapi","wshom","wsnmp32","wtsapi","wuapi","x11drv","xaudio2","xdnd","xim","xinput","xmllite","xolehlp","xrandr","xrender","xvidmode"] | |
\ No newline at end of file | |
+["acledit","aclui","actctx","activeds","actxprxy","adpcm","adsldp","advapi","advpack","alsa","amsi","animate","appbar","apphelp","appwizcpl","appx","asmshader","aspi","atl","atlthunk","atmlib","atom","authz","avicap","avifile","avrt","bcrypt","bidi","bitblt","bitmap","bluetooth","bluetoothapis","browseui","button","bytecodewriter","cabinet","capi","capture","cards","cdosys","class","clipboard","clipping","clusapi","combase","combo","comboex","comm","commctrl","commdlg","compstui","comsvcs","concrt","connect","console","context","coreaudio","cred","credentials","credui","crypt","cryptasn","cryptdlg","cryptext","cryptnet","crypto","cryptui","ctapi32","cursor","d2d","d3d","d3d10","d3d10core","d3d11","d3d12","d3d8","d3d9","d3d_decl","d3d_shader","d3dcompiler","d3drm","d3dx","d3dxof","d3dxof_parsing","data","datetime","davclnt","dbgeng","dbghelp","dbghelp_coff","dbghelp_dwarf","dbghelp_macho","dbghelp_msc","dbghelp_stabs","dc","dciman","dcomp","ddeml","ddraw","ddrawex","debug_buffer","debugstr","devenum","dhcpcsvc","dhtmled","dialog","diasymreader","difxapi","dinput","display","dll","dmband","dmcompos","dmfile","dmime","dmloader","dmobj","dmscript","dmstyle","dmsynth","dmusic","dmusic32","dnsapi","dosmem","dpa","dplay","dpnet","dpnhpast","dpnhupnp","dpvoice","dragdrop","driver","dsa","dsdmo","dsound","dsound3d","dsquery","dssenh","dsuiext","dswave","dwmapi","dwrite","dx8vb","dxcore","dxdiag","dxgi","dxtrans","dxva2","edit","enhmetafile","enumeration","environ","err","event","eventlog","evr","exception","exec","explorerframe","faultrep","file","fixme","fixup","fltlib","fltmgr","font","fontcache","fontsub","fusion","fwpuclnt","g711","gamebar","gameux","gamingtcui","gdi","gdiplus","geolocator","gl_compat","global","globalmem","glu","graphics","gsm","handle","header","heap","hid","hlink","hnetcfg","hook","hostname","hotkey","htmlhelp","http","hvsi","iccvid","icm","icon","ieframe","image","imagehlp","imagelist","imm","inetcomm","inetcpl","inetmib1","infosoft","inkobj","input","inseng","int","int21","int31","ipaddress","iphlpapi","ir50_32","itss","joycpl","jscript","jsproxy","kerberos","kernelbase","keyboard","ksecdd","lanman","listbox","listview","loaddll","loadperf","local","locale","localspl","localui","macdrv","manipulation","mapi","mci","mciavi","mcicda","mcimidi","mciqtz","mciwave","mdi","media","mediacontrol","menu","message","metafile","mfplat","mgmtapi","midi","mlang","mmaux","mmc","mmdevapi","mmio","mmsys","mmtime","model","module","monthcal","mountmgr","mp3dmod","mpeg3","mpr","mprapi","msacm","msado15","msasn1","msauddecmft","mscms","msctf","msctfmonitor","msdasql","msdmo","msdrm","msftedit","msg","mshtml","msi","msidb","msident","msimg32","msimtf","msisip","msisys","msmpeg2vdec","msnet","msopc","mspatcha","msrle32","msscript","mssign","mstask","msttsengine","msvcirt","msvcm","msvcp","msvcrt","msvidc32","msvideo","mswsock","msxml","nativefont","ncrypt","nddeapi","ndis","netapi32","netbios","netcfgx","netio","netprofm","ninput","nls","nonclient","nsi","nstc","ntdll","ntdsapi","ntlm","ntoskrnl","ntprint","objsel","odbc","ole","oleacc","oledb","oledlg","olemalloc","olepicture","opencl","opengl","oss","packager","pager","palette","path","pdh","perception","pidgen","pidl","plugplay","powermgnt","powrprof","print","printui","prntvpt","process","profile","progress","propsheet","propsys","psdrv","pstores","pulse","qmgr","quartz","query","qwave","ras","rasdlg","rawinput","rebar","recyclebin","reg","region","relay","resource","richedit","richedit_lists","rpc","rstrtmgr","rtutils","sapi","schannel","schedsvc","scrobj","scroll","scrrun","scsiport","secur32","security","seh","selector","sensapi","service","setupapi","sfc","shcore","shdocvw","shell","shlctrl","slc","smbios","snmpapi","snoop","sound","speech","spoolss","sspicli","static","statusbar","sti","storage","stress","string","sxs","sync","syslevel","syslink","system","systray","t2embed","tab","tape","tapi","task","taskdialog","taskschd","tbs","tdh","tdi","text","theme_scroll","thread","threadpool","thunk","toolbar","toolhelp","tooltips","trackbar","traffic","treeview","twain","twinapi","ui","uianimation","uiautomation","uiribbon","unloaddll","unwind","updown","updspapi","url","urlmon","usb","usbd","user","uxtheme","variant","vbscript","vcomp","vcruntime","vdmdbg","ver","virtdisk","volume","vulkan","vxd","warn","wavemap","waylanddrv","wbemdisp","wbemprox","webservices","wer","wevtapi","wgl","wia","wimgapi","win","winebrowser","wincodecs","winemapi","wineusb","wing","winhttp","wininet","winmm","winprint","winscard","winsock","winspool","winsta","winstation","winstring","wintab","wintab32","wintrust","wintypes","winusb","wlanapi","wldap32","wldp","wmadec","wmi","wmiutils","wmp","wmvcore","wnet","wofutil","wow","wpc","wpcap","wsdapi","wshom","wsnmp32","wtsapi","wuapi","x11drv","xaudio2","xdnd","xim","xinput","xmllite","xolehlp","xrandr","xrender","xvidmode","dmo"] | |
diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt | |
index fa9f077..0b653b8 100644 | |
--- a/app/src/main/cpp/CMakeLists.txt | |
+++ b/app/src/main/cpp/CMakeLists.txt | |
@@ -4,9 +4,6 @@ project(Winlator) | |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -Wno-unused-function -Wimplicit-function-declaration") | |
- | |
-# Add other subdirectories | |
-add_subdirectory(virglrenderer) | |
add_subdirectory(OpenXR-SDK) | |
add_subdirectory(patchelf) | |
diff --git a/app/src/main/cpp/winlator/alsa_client.c b/app/src/main/cpp/winlator/alsa_client.c | |
index a9d4c18..c98f9f7 100644 | |
--- a/app/src/main/cpp/winlator/alsa_client.c | |
+++ b/app/src/main/cpp/winlator/alsa_client.c | |
@@ -72,13 +72,13 @@ static void aaudioFlush(AAudioStream *aaudioStream) { | |
} | |
JNIEXPORT jlong JNICALL | |
-Java_com_winlator_alsaserver_ALSAClient_create(JNIEnv *env, jobject obj, jint format, | |
+Java_com_winlator_cmod_alsaserver_ALSAClient_create(JNIEnv *env, jobject obj, jint format, | |
jbyte channelCount, jint sampleRate, jint bufferSize) { | |
return (jlong)aaudioCreate(format, channelCount, sampleRate, bufferSize); | |
} | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_alsaserver_ALSAClient_write(JNIEnv *env, jobject obj, jlong streamPtr, jobject buffer, | |
+Java_com_winlator_cmod_alsaserver_ALSAClient_write(JNIEnv *env, jobject obj, jlong streamPtr, jobject buffer, | |
jint numFrames) { | |
AAudioStream *aaudioStream = (AAudioStream*)streamPtr; | |
if (aaudioStream) { | |
@@ -88,31 +88,31 @@ Java_com_winlator_alsaserver_ALSAClient_write(JNIEnv *env, jobject obj, jlong st | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_alsaserver_ALSAClient_start(JNIEnv *env, jobject obj, jlong streamPtr) { | |
+Java_com_winlator_cmod_alsaserver_ALSAClient_start(JNIEnv *env, jobject obj, jlong streamPtr) { | |
AAudioStream *aaudioStream = (AAudioStream*)streamPtr; | |
if (aaudioStream) aaudioStart(aaudioStream); | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_alsaserver_ALSAClient_stop(JNIEnv *env, jobject obj, jlong streamPtr) { | |
+Java_com_winlator_cmod_alsaserver_ALSAClient_stop(JNIEnv *env, jobject obj, jlong streamPtr) { | |
AAudioStream *aaudioStream = (AAudioStream*)streamPtr; | |
if (aaudioStream) aaudioStop(aaudioStream); | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_alsaserver_ALSAClient_pause(JNIEnv *env, jobject obj, jlong streamPtr) { | |
+Java_com_winlator_cmod_alsaserver_ALSAClient_pause(JNIEnv *env, jobject obj, jlong streamPtr) { | |
AAudioStream *aaudioStream = (AAudioStream*)streamPtr; | |
if (aaudioStream) aaudioPause(aaudioStream); | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_alsaserver_ALSAClient_flush(JNIEnv *env, jobject obj, jlong streamPtr) { | |
+Java_com_winlator_cmod_alsaserver_ALSAClient_flush(JNIEnv *env, jobject obj, jlong streamPtr) { | |
AAudioStream *aaudioStream = (AAudioStream*)streamPtr; | |
if (aaudioStream) aaudioFlush(aaudioStream); | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_alsaserver_ALSAClient_close(JNIEnv *env, jobject obj, jlong streamPtr) { | |
+Java_com_winlator_cmod_alsaserver_ALSAClient_close(JNIEnv *env, jobject obj, jlong streamPtr) { | |
AAudioStream *aaudioStream = (AAudioStream*)streamPtr; | |
if (aaudioStream) AAudioStream_close(aaudioStream); | |
} | |
\ No newline at end of file | |
diff --git a/app/src/main/cpp/winlator/drawable.c b/app/src/main/cpp/winlator/drawable.c | |
index 14f7fab..97062a3 100644 | |
--- a/app/src/main/cpp/winlator/drawable.c | |
+++ b/app/src/main/cpp/winlator/drawable.c | |
@@ -73,7 +73,7 @@ static int setPixelOp(int srcColor, int dstColor, enum GCFunction gcFunction) { | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xserver_Drawable_drawBitmap(JNIEnv *env, jclass obj, | |
+Java_com_winlator_cmod_xserver_Drawable_drawBitmap(JNIEnv *env, jclass obj, | |
jshort width, jshort height, jobject srcData, | |
jobject dstData) { | |
uint8_t *srcDataAddr = (*env)->GetDirectBufferAddress(env, srcData); | |
@@ -94,7 +94,7 @@ Java_com_winlator_xserver_Drawable_drawBitmap(JNIEnv *env, jclass obj, | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xserver_Drawable_copyArea(JNIEnv *env, jclass obj, jshort srcX, | |
+Java_com_winlator_cmod_xserver_Drawable_copyArea(JNIEnv *env, jclass obj, jshort srcX, | |
jshort srcY, jshort dstX, jshort dstY, | |
jshort width, jshort height, jshort srcStride, | |
jshort dstStride, jobject srcData, | |
@@ -122,7 +122,7 @@ Java_com_winlator_xserver_Drawable_copyArea(JNIEnv *env, jclass obj, jshort srcX | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xserver_Drawable_copyAreaOp(JNIEnv *env, jclass obj, jshort srcX, | |
+Java_com_winlator_cmod_xserver_Drawable_copyAreaOp(JNIEnv *env, jclass obj, jshort srcX, | |
jshort srcY, jshort dstX, jshort dstY, | |
jshort width, jshort height, jshort srcStride, | |
jshort dstStride, jobject srcData, | |
@@ -152,7 +152,7 @@ Java_com_winlator_xserver_Drawable_copyAreaOp(JNIEnv *env, jclass obj, jshort sr | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xserver_Drawable_fillRect(JNIEnv *env, jclass obj, jshort x, jshort y, | |
+Java_com_winlator_cmod_xserver_Drawable_fillRect(JNIEnv *env, jclass obj, jshort x, jshort y, | |
jshort width, jshort height, jint color, jshort stride, | |
jobject data) { | |
uint8_t *dataAddr = (*env)->GetDirectBufferAddress(env, data); | |
@@ -183,7 +183,7 @@ Java_com_winlator_xserver_Drawable_fillRect(JNIEnv *env, jclass obj, jshort x, j | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xserver_Drawable_drawLine(JNIEnv *env, jclass obj, jshort x0, jshort y0, | |
+Java_com_winlator_cmod_xserver_Drawable_drawLine(JNIEnv *env, jclass obj, jshort x0, jshort y0, | |
jshort x1, jshort y1, jint color, jshort lineWidth, | |
jshort stride, jobject data) { | |
uint8_t *dataAddr = (*env)->GetDirectBufferAddress(env, data); | |
@@ -234,7 +234,7 @@ Java_com_winlator_xserver_Drawable_drawLine(JNIEnv *env, jclass obj, jshort x0, | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xserver_Drawable_drawAlphaMaskedBitmap(JNIEnv *env, jclass obj, | |
+Java_com_winlator_cmod_xserver_Drawable_drawAlphaMaskedBitmap(JNIEnv *env, jclass obj, | |
jbyte foreRed, jbyte foreGreen, | |
jbyte foreBlue, jbyte backRed, | |
jbyte backGreen, jbyte backBlue, | |
@@ -259,7 +259,7 @@ Java_com_winlator_xserver_Drawable_drawAlphaMaskedBitmap(JNIEnv *env, jclass obj | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xserver_Drawable_fromBitmap(JNIEnv *env, jclass obj, jobject bitmap, | |
+Java_com_winlator_cmod_xserver_Drawable_fromBitmap(JNIEnv *env, jclass obj, jobject bitmap, | |
jobject data) { | |
char *dataAddr = (*env)->GetDirectBufferAddress(env, data); | |
@@ -288,7 +288,7 @@ Java_com_winlator_xserver_Drawable_fromBitmap(JNIEnv *env, jclass obj, jobject b | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xserver_Pixmap_toBitmap(JNIEnv *env, jclass obj, jobject colorData, | |
+Java_com_winlator_cmod_xserver_Pixmap_toBitmap(JNIEnv *env, jclass obj, jobject colorData, | |
jobject maskData, jobject bitmap) { | |
char *colorDataAddr = (*env)->GetDirectBufferAddress(env, colorData); | |
char *maskDataAddr = maskData ? (*env)->GetDirectBufferAddress(env, maskData) : NULL; | |
diff --git a/app/src/main/cpp/winlator/gpu_image.c b/app/src/main/cpp/winlator/gpu_image.c | |
index 8424ec0..dff4adc 100644 | |
--- a/app/src/main/cpp/winlator/gpu_image.c | |
+++ b/app/src/main/cpp/winlator/gpu_image.c | |
@@ -89,7 +89,7 @@ AHardwareBuffer* createHardwareBuffer(int width, int height) { | |
// JNI method to extract a hardware buffer from a socketpair | |
JNIEXPORT jlong JNICALL | |
-Java_com_winlator_renderer_GPUImage_hardwareBufferFromSocket(JNIEnv *env, jclass obj, jint fd) { | |
+Java_com_winlator_cmod_renderer_GPUImage_hardwareBufferFromSocket(JNIEnv *env, jclass obj, jint fd) { | |
AHardwareBuffer *ahb; | |
uint8_t buf = 1; | |
@@ -109,7 +109,7 @@ Java_com_winlator_renderer_GPUImage_hardwareBufferFromSocket(JNIEnv *env, jclass | |
// JNI method to create a hardware buffer | |
JNIEXPORT jlong JNICALL | |
-Java_com_winlator_renderer_GPUImage_createHardwareBuffer(JNIEnv *env, jclass obj, jshort width, jshort height) { | |
+Java_com_winlator_cmod_renderer_GPUImage_createHardwareBuffer(JNIEnv *env, jclass obj, jshort width, jshort height) { | |
AHardwareBuffer *buffer = createHardwareBuffer(width, height); | |
if (!buffer) { | |
printf("Failed to create hardware buffer\n"); | |
@@ -120,7 +120,7 @@ Java_com_winlator_renderer_GPUImage_createHardwareBuffer(JNIEnv *env, jclass obj | |
// JNI method to create an EGL image | |
JNIEXPORT jlong JNICALL | |
-Java_com_winlator_renderer_GPUImage_createImageKHR(JNIEnv *env, jclass obj, jlong hardwareBufferPtr, jint textureId) { | |
+Java_com_winlator_cmod_renderer_GPUImage_createImageKHR(JNIEnv *env, jclass obj, jlong hardwareBufferPtr, jint textureId) { | |
AHardwareBuffer* hardwareBuffer = (AHardwareBuffer*)hardwareBufferPtr; | |
if (!hardwareBuffer) { | |
printf("Invalid AHardwareBuffer pointer\n"); | |
@@ -131,7 +131,7 @@ Java_com_winlator_renderer_GPUImage_createImageKHR(JNIEnv *env, jclass obj, jlon | |
// JNI method to destroy a hardware buffer | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_renderer_GPUImage_destroyHardwareBuffer(JNIEnv *env, jclass obj, jlong hardwareBufferPtr) { | |
+Java_com_winlator_cmod_renderer_GPUImage_destroyHardwareBuffer(JNIEnv *env, jclass obj, jlong hardwareBufferPtr) { | |
AHardwareBuffer* hardwareBuffer = (AHardwareBuffer*)hardwareBufferPtr; | |
if (hardwareBuffer) { | |
AHardwareBuffer_unlock(hardwareBuffer, NULL); | |
@@ -141,7 +141,7 @@ Java_com_winlator_renderer_GPUImage_destroyHardwareBuffer(JNIEnv *env, jclass ob | |
// JNI method to lock a hardware buffer | |
JNIEXPORT jobject JNICALL | |
-Java_com_winlator_renderer_GPUImage_lockHardwareBuffer(JNIEnv *env, jclass obj, jlong hardwareBufferPtr) { | |
+Java_com_winlator_cmod_renderer_GPUImage_lockHardwareBuffer(JNIEnv *env, jclass obj, jlong hardwareBufferPtr) { | |
AHardwareBuffer* hardwareBuffer = (AHardwareBuffer*)hardwareBufferPtr; | |
if (!hardwareBuffer) { | |
printf("Invalid AHardwareBuffer pointer\n"); | |
@@ -184,7 +184,7 @@ Java_com_winlator_renderer_GPUImage_lockHardwareBuffer(JNIEnv *env, jclass obj, | |
// JNI method to destroy an EGL image | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_renderer_GPUImage_destroyImageKHR(JNIEnv *env, jclass obj, jlong imageKHRPtr) { | |
+Java_com_winlator_cmod_renderer_GPUImage_destroyImageKHR(JNIEnv *env, jclass obj, jlong imageKHRPtr) { | |
EGLImageKHR imageKHR = (EGLImageKHR)imageKHRPtr; | |
if (imageKHR) { | |
EGLDisplay eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY); | |
diff --git a/app/src/main/cpp/winlator/patchelf_wrapper.cpp b/app/src/main/cpp/winlator/patchelf_wrapper.cpp | |
index 58418dd..55e7a70 100644 | |
--- a/app/src/main/cpp/winlator/patchelf_wrapper.cpp | |
+++ b/app/src/main/cpp/winlator/patchelf_wrapper.cpp | |
@@ -2,83 +2,83 @@ | |
extern "C" | |
JNIEXPORT jlong JNICALL | |
-Java_com_winlator_core_PatchElf_createElfObject(JNIEnv *env, jobject thiz, jstring path) { | |
+Java_com_winlator_cmod_core_PatchElf_createElfObject(JNIEnv *env, jobject thiz, jstring path) { | |
// TODO: implement createElfObject() | |
} | |
extern "C" | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_core_PatchElf_destroyElfObject(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
+Java_com_winlator_cmod_core_PatchElf_destroyElfObject(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
// TODO: implement destroyElfObject() | |
} | |
extern "C" | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_core_PatchElf_isChanged(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
+Java_com_winlator_cmod_core_PatchElf_isChanged(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
// TODO: implement isChanged() | |
} | |
extern "C" | |
JNIEXPORT jstring JNICALL | |
-Java_com_winlator_core_PatchElf_getInterpreter(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
+Java_com_winlator_cmod_core_PatchElf_getInterpreter(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
// TODO: implement getInterpreter() | |
} | |
extern "C" | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_core_PatchElf_setInterpreter(JNIEnv *env, jobject thiz, jlong object_ptr, | |
+Java_com_winlator_cmod_core_PatchElf_setInterpreter(JNIEnv *env, jobject thiz, jlong object_ptr, | |
jstring interpreter) { | |
// TODO: implement setInterpreter() | |
} | |
extern "C" | |
JNIEXPORT jstring JNICALL | |
-Java_com_winlator_core_PatchElf_getOsAbi(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
+Java_com_winlator_cmod_core_PatchElf_getOsAbi(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
// TODO: implement getOsAbi() | |
} | |
extern "C" | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_core_PatchElf_replaceOsAbi(JNIEnv *env, jobject thiz, jlong object_ptr, | |
+Java_com_winlator_cmod_core_PatchElf_replaceOsAbi(JNIEnv *env, jobject thiz, jlong object_ptr, | |
jstring os_abi) { | |
// TODO: implement replaceOsAbi() | |
} | |
extern "C" | |
JNIEXPORT jstring JNICALL | |
-Java_com_winlator_core_PatchElf_getSoName(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
+Java_com_winlator_cmod_core_PatchElf_getSoName(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
// TODO: implement getSoName() | |
} | |
extern "C" | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_core_PatchElf_replaceSoName(JNIEnv *env, jobject thiz, jlong object_ptr, | |
+Java_com_winlator_cmod_core_PatchElf_replaceSoName(JNIEnv *env, jobject thiz, jlong object_ptr, | |
jstring so_name) { | |
// TODO: implement replaceSoName() | |
} | |
extern "C" | |
JNIEXPORT jobjectArray JNICALL | |
-Java_com_winlator_core_PatchElf_getRPath(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
+Java_com_winlator_cmod_core_PatchElf_getRPath(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
// TODO: implement getRPath() | |
} | |
extern "C" | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_core_PatchElf_addRPath(JNIEnv *env, jobject thiz, jlong object_ptr, | |
+Java_com_winlator_cmod_core_PatchElf_addRPath(JNIEnv *env, jobject thiz, jlong object_ptr, | |
jstring rpath) { | |
// TODO: implement addRPath() | |
} | |
extern "C" | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_core_PatchElf_removeRPath(JNIEnv *env, jobject thiz, jlong object_ptr, | |
+Java_com_winlator_cmod_core_PatchElf_removeRPath(JNIEnv *env, jobject thiz, jlong object_ptr, | |
jstring rpath) { | |
// TODO: implement removeRPath() | |
} | |
extern "C" | |
JNIEXPORT jobjectArray JNICALL | |
-Java_com_winlator_core_PatchElf_getNeeded(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
+Java_com_winlator_cmod_core_PatchElf_getNeeded(JNIEnv *env, jobject thiz, jlong object_ptr) { | |
// TODO: implement getNeeded() | |
} | |
extern "C" | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_core_PatchElf_addNeeded(JNIEnv *env, jobject thiz, jlong object_ptr, | |
+Java_com_winlator_cmod_core_PatchElf_addNeeded(JNIEnv *env, jobject thiz, jlong object_ptr, | |
jstring needed) { | |
// TODO: implement addNeeded() | |
} | |
extern "C" | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_core_PatchElf_removeNeeded(JNIEnv *env, jobject thiz, jlong object_ptr, | |
+Java_com_winlator_cmod_core_PatchElf_removeNeeded(JNIEnv *env, jobject thiz, jlong object_ptr, | |
jstring needed) { | |
// TODO: implement removeNeeded() | |
} | |
\ No newline at end of file | |
diff --git a/app/src/main/cpp/winlator/sysvshared_memory.c b/app/src/main/cpp/winlator/sysvshared_memory.c | |
index d637069..05e6d94 100644 | |
--- a/app/src/main/cpp/winlator/sysvshared_memory.c | |
+++ b/app/src/main/cpp/winlator/sysvshared_memory.c | |
@@ -47,7 +47,7 @@ static int memfd_create(const char *name, unsigned int flags) { | |
} | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_sysvshm_SysVSharedMemory_ashmemCreateRegion(JNIEnv *env, jobject obj, jint index, | |
+Java_com_winlator_cmod_sysvshm_SysVSharedMemory_ashmemCreateRegion(JNIEnv *env, jobject obj, jint index, | |
jlong size) { | |
char name[32]; | |
sprintf(name, "sysvshm-%d", index); | |
@@ -55,21 +55,21 @@ Java_com_winlator_sysvshm_SysVSharedMemory_ashmemCreateRegion(JNIEnv *env, jobje | |
} | |
JNIEXPORT jobject JNICALL | |
-Java_com_winlator_sysvshm_SysVSharedMemory_mapSHMSegment(JNIEnv *env, jobject obj, jint fd, jlong size, jint offset, jboolean readonly) { | |
+Java_com_winlator_cmod_sysvshm_SysVSharedMemory_mapSHMSegment(JNIEnv *env, jobject obj, jint fd, jlong size, jint offset, jboolean readonly) { | |
char *data = mmap(NULL, size, readonly ? PROT_READ : PROT_WRITE | PROT_READ, MAP_SHARED, fd, offset); | |
if (data == MAP_FAILED) return NULL; | |
return (*env)->NewDirectByteBuffer(env, data, size); | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_sysvshm_SysVSharedMemory_unmapSHMSegment(JNIEnv *env, jobject obj, jobject data, | |
+Java_com_winlator_cmod_sysvshm_SysVSharedMemory_unmapSHMSegment(JNIEnv *env, jobject obj, jobject data, | |
jlong size) { | |
char *dataAddr = (*env)->GetDirectBufferAddress(env, data); | |
munmap(dataAddr, size); | |
} | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_sysvshm_SysVSharedMemory_createMemoryFd(JNIEnv *env, jclass obj, jstring name, | |
+Java_com_winlator_cmod_sysvshm_SysVSharedMemory_createMemoryFd(JNIEnv *env, jclass obj, jstring name, | |
jint size) { | |
const char *namePtr = (*env)->GetStringUTFChars(env, name, 0); | |
diff --git a/app/src/main/cpp/winlator/vulkan.cpp b/app/src/main/cpp/winlator/vulkan.cpp | |
index ba27fe0..28fb449 100644 | |
--- a/app/src/main/cpp/winlator/vulkan.cpp | |
+++ b/app/src/main/cpp/winlator/vulkan.cpp | |
@@ -61,7 +61,7 @@ std::vector<VkPhysicalDevice> get_physical_devices(VkInstance instance) { | |
} | |
extern "C" JNIEXPORT jstring JNICALL | |
-Java_com_winlator_core_GPUInformation_getVersion(JNIEnv *env, jclass obj) { | |
+Java_com_winlator_cmod_core_GPUInformation_getVersion(JNIEnv *env, jclass obj) { | |
VkPhysicalDeviceProperties props = {}; | |
char *driverVersion; | |
VkInstance instance; | |
@@ -85,9 +85,9 @@ Java_com_winlator_core_GPUInformation_getVersion(JNIEnv *env, jclass obj) { | |
} | |
extern "C" JNIEXPORT jstring JNICALL | |
-Java_com_winlator_core_GPUInformation_getRenderer(JNIEnv *env, jclass obj) { | |
+Java_com_winlator_cmod_core_GPUInformation_getRenderer(JNIEnv *env, jclass obj) { | |
VkPhysicalDeviceProperties props = {}; | |
- char *driverVersion; | |
+ char *renderer; | |
VkInstance instance; | |
instance = create_instance(); | |
@@ -96,16 +96,16 @@ Java_com_winlator_core_GPUInformation_getRenderer(JNIEnv *env, jclass obj) { | |
for (const auto &pdevice: get_physical_devices(instance)) { | |
getPhysicalDeviceProperties(pdevice, &props); | |
- asprintf(&driverVersion, "%s", props.deviceName); | |
+ asprintf(&renderer, "%s", props.deviceName); | |
} | |
destroyInstance(instance, NULL); | |
- return (env->NewStringUTF(driverVersion)); | |
+ return (env->NewStringUTF(renderer)); | |
} | |
extern "C" JNIEXPORT jlong JNICALL | |
-Java_com_winlator_core_GPUInformation_getMemorySize(JNIEnv *env, jclass obj) { | |
+Java_com_winlator_cmod_core_GPUInformation_getMemorySize(JNIEnv *env, jclass obj) { | |
VkPhysicalDeviceMemoryProperties props = {}; | |
long memorySize; | |
VkInstance instance; | |
@@ -121,4 +121,33 @@ Java_com_winlator_core_GPUInformation_getMemorySize(JNIEnv *env, jclass obj) { | |
destroyInstance(instance, NULL); | |
return memorySize / 1048576; | |
+} | |
+ | |
+extern "C" JNIEXPORT jobjectArray JNICALL | |
+Java_com_winlator_cmod_core_GPUInformation_enumerateExtensions(JNIEnv *env, jclass obj) { | |
+ jobjectArray extensions; | |
+ VkInstance instance; | |
+ uint32_t extensionCount; | |
+ std::vector<VkExtensionProperties> extensionProperties; | |
+ | |
+ instance = create_instance(); | |
+ | |
+ PFN_vkEnumerateDeviceExtensionProperties enumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties)gip(instance, "vkEnumerateDeviceExtensionProperties"); | |
+ PFN_vkDestroyInstance destroyInstance = (PFN_vkDestroyInstance)gip(instance, "vkDestroyInstance"); | |
+ | |
+ for (const auto &pdevice : get_physical_devices(instance)) { | |
+ enumerateDeviceExtensionProperties(pdevice, NULL, &extensionCount, NULL); | |
+ extensionProperties.resize(extensionCount); | |
+ enumerateDeviceExtensionProperties(pdevice, NULL, &extensionCount, extensionProperties.data()); | |
+ extensions = (jobjectArray)env->NewObjectArray(extensionCount, env->FindClass("java/lang/String"), env->NewStringUTF("")); | |
+ int index = 0; | |
+ for (const auto &extensionProperty : extensionProperties) { | |
+ env->SetObjectArrayElement(extensions, index, env->NewStringUTF(extensionProperty.extensionName)); | |
+ index++; | |
+ } | |
+ } | |
+ | |
+ destroyInstance(instance, NULL); | |
+ | |
+ return extensions; | |
} | |
\ No newline at end of file | |
diff --git a/app/src/main/cpp/winlator/xconnector_epoll.c b/app/src/main/cpp/winlator/xconnector_epoll.c | |
index 79fb561..b002251 100644 | |
--- a/app/src/main/cpp/winlator/xconnector_epoll.c | |
+++ b/app/src/main/cpp/winlator/xconnector_epoll.c | |
@@ -18,7 +18,7 @@ | |
struct epoll_event events[MAX_EVENTS]; | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_xconnector_XConnectorEpoll_createAFUnixSocket(JNIEnv *env, jobject obj, | |
+Java_com_winlator_cmod_xconnector_XConnectorEpoll_createAFUnixSocket(JNIEnv *env, jobject obj, | |
jstring path) { | |
int fd = socket(AF_UNIX, SOCK_STREAM, 0); | |
if (fd < 0) return -1; | |
@@ -45,17 +45,17 @@ Java_com_winlator_xconnector_XConnectorEpoll_createAFUnixSocket(JNIEnv *env, job | |
} | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_xconnector_XConnectorEpoll_createEpollFd(JNIEnv *env, jobject obj) { | |
+Java_com_winlator_cmod_xconnector_XConnectorEpoll_createEpollFd(JNIEnv *env, jobject obj) { | |
return epoll_create(MAX_EVENTS); | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xconnector_XConnectorEpoll_closeFd(JNIEnv *env, jobject obj, jint fd) { | |
+Java_com_winlator_cmod_xconnector_XConnectorEpoll_closeFd(JNIEnv *env, jobject obj, jint fd) { | |
close(fd); | |
} | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_xconnector_XConnectorEpoll_doEpollIndefinitely(JNIEnv *env, jobject obj, | |
+Java_com_winlator_cmod_xconnector_XConnectorEpoll_doEpollIndefinitely(JNIEnv *env, jobject obj, | |
jint epollFd, jint serverFd, | |
jboolean addClientToEpoll) { | |
jclass cls = (*env)->GetObjectClass(env, obj); | |
@@ -88,7 +88,7 @@ Java_com_winlator_xconnector_XConnectorEpoll_doEpollIndefinitely(JNIEnv *env, jo | |
} | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_xconnector_XConnectorEpoll_addFdToEpoll(JNIEnv *env, jobject obj, | |
+Java_com_winlator_cmod_xconnector_XConnectorEpoll_addFdToEpoll(JNIEnv *env, jobject obj, | |
jint epollFd, | |
jint fd) { | |
struct epoll_event event; | |
@@ -99,32 +99,32 @@ Java_com_winlator_xconnector_XConnectorEpoll_addFdToEpoll(JNIEnv *env, jobject o | |
} | |
JNIEXPORT void JNICALL | |
-Java_com_winlator_xconnector_XConnectorEpoll_removeFdFromEpoll(JNIEnv *env, jobject obj, | |
+Java_com_winlator_cmod_xconnector_XConnectorEpoll_removeFdFromEpoll(JNIEnv *env, jobject obj, | |
jint epollFd, jint fd) { | |
epoll_ctl(epollFd, EPOLL_CTL_DEL, fd, NULL); | |
} | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_xconnector_ClientSocket_read(JNIEnv *env, jobject obj, jint fd, jobject data, | |
+Java_com_winlator_cmod_xconnector_ClientSocket_read(JNIEnv *env, jobject obj, jint fd, jobject data, | |
jint offset, jint length) { | |
char *dataAddr = (*env)->GetDirectBufferAddress(env, data); | |
return read(fd, dataAddr + offset, length); | |
} | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_xconnector_ClientSocket_write(JNIEnv *env, jobject obj, jint fd, jobject data, | |
+Java_com_winlator_cmod_xconnector_ClientSocket_write(JNIEnv *env, jobject obj, jint fd, jobject data, | |
jint length) { | |
char *dataAddr = (*env)->GetDirectBufferAddress(env, data); | |
return write(fd, dataAddr, length); | |
} | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_xconnector_XConnectorEpoll_createEventFd(JNIEnv *env, jobject obj) { | |
+Java_com_winlator_cmod_xconnector_XConnectorEpoll_createEventFd(JNIEnv *env, jobject obj) { | |
return eventfd(0, EFD_NONBLOCK); | |
} | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_xconnector_ClientSocket_recvAncillaryMsg(JNIEnv *env, jobject obj, jint clientFd, jobject data, | |
+Java_com_winlator_cmod_xconnector_ClientSocket_recvAncillaryMsg(JNIEnv *env, jobject obj, jint clientFd, jobject data, | |
jint offset, jint length) { | |
char *dataAddr = (*env)->GetDirectBufferAddress(env, data); | |
@@ -165,7 +165,7 @@ Java_com_winlator_xconnector_ClientSocket_recvAncillaryMsg(JNIEnv *env, jobject | |
} | |
JNIEXPORT jint JNICALL | |
-Java_com_winlator_xconnector_ClientSocket_sendAncillaryMsg(JNIEnv *env, jobject obj, jint clientFd, | |
+Java_com_winlator_cmod_xconnector_ClientSocket_sendAncillaryMsg(JNIEnv *env, jobject obj, jint clientFd, | |
jobject data, jint length, jint ancillaryFd) { | |
char *dataAddr = (*env)->GetDirectBufferAddress(env, data); | |
@@ -195,7 +195,7 @@ Java_com_winlator_xconnector_ClientSocket_sendAncillaryMsg(JNIEnv *env, jobject | |
} | |
JNIEXPORT jboolean JNICALL | |
-Java_com_winlator_xconnector_XConnectorEpoll_waitForSocketRead(JNIEnv *env, jobject obj, jint clientFd, jint shutdownFd) { | |
+Java_com_winlator_cmod_xconnector_XConnectorEpoll_waitForSocketRead(JNIEnv *env, jobject obj, jint clientFd, jint shutdownFd) { | |
struct pollfd pfds[2]; | |
pfds[0].fd = clientFd; | |
pfds[0].events = POLLIN; | |
@@ -215,7 +215,7 @@ Java_com_winlator_xconnector_XConnectorEpoll_waitForSocketRead(JNIEnv *env, jobj | |
} | |
JNIEXPORT jintArray JNICALL | |
-Java_com_winlator_xconnector_XConnectorEpoll_pollEpollEvents(JNIEnv *env, jobject obj, | |
+Java_com_winlator_cmod_xconnector_XConnectorEpoll_pollEpollEvents(JNIEnv *env, jobject obj, | |
jint epollFd, jint maxEvents) { | |
struct epoll_event events[maxEvents]; | |
int numFds = epoll_wait(epollFd, events, maxEvents, -1); // Wait indefinitely | |
diff --git a/app/src/main/java/com/winlator/AdrenotoolsFragment.java b/app/src/main/java/com/winlator/cmod/AdrenotoolsFragment.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/AdrenotoolsFragment.java | |
rename to app/src/main/java/com/winlator/cmod/AdrenotoolsFragment.java | |
index e5cb6fe..1a701c6 100644 | |
--- a/app/src/main/java/com/winlator/AdrenotoolsFragment.java | |
+++ b/app/src/main/java/com/winlator/cmod/AdrenotoolsFragment.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.app.Activity; | |
import android.content.Intent; | |
import android.net.Uri; | |
-import com.winlator.R; | |
+import com.winlator.cmod.R; | |
import android.os.Bundle; | |
import android.view.LayoutInflater; | |
@@ -16,8 +16,8 @@ import androidx.fragment.app.Fragment; | |
import androidx.recyclerview.widget.DividerItemDecoration; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.contents.AdrenotoolsManager; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.contents.AdrenotoolsManager; | |
import java.util.ArrayList; | |
public class AdrenotoolsFragment extends Fragment { | |
diff --git a/app/src/main/java/com/winlator/BigPictureActivity.java b/app/src/main/java/com/winlator/cmod/BigPictureActivity.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/BigPictureActivity.java | |
rename to app/src/main/java/com/winlator/cmod/BigPictureActivity.java | |
index 9b3ca5c..efbb1a7 100644 | |
--- a/app/src/main/java/com/winlator/BigPictureActivity.java | |
+++ b/app/src/main/java/com/winlator/cmod/BigPictureActivity.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.animation.Animator; | |
import android.animation.AnimatorListenerAdapter; | |
@@ -11,14 +11,9 @@ import android.graphics.Bitmap; | |
import android.graphics.BitmapFactory; | |
import android.graphics.Color; | |
import android.graphics.PorterDuff; | |
-import android.graphics.Shader; | |
-import android.graphics.drawable.AnimatedImageDrawable; | |
-import android.graphics.drawable.AnimationDrawable; | |
-import android.graphics.drawable.BitmapDrawable; | |
import android.graphics.drawable.Drawable; | |
import android.media.MediaPlayer; | |
import android.net.Uri; | |
-import android.os.Build; | |
import android.os.Bundle; | |
import android.os.Handler; | |
import android.util.Log; | |
@@ -28,10 +23,8 @@ import android.view.MotionEvent; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.view.ViewTreeObserver; | |
-import android.view.WindowManager; | |
import android.widget.Button; | |
import android.widget.EditText; | |
-import android.widget.FrameLayout; | |
import android.widget.ImageButton; | |
import android.widget.ImageView; | |
import android.widget.LinearLayout; | |
@@ -40,7 +33,6 @@ import android.widget.RadioGroup; | |
import android.widget.SeekBar; | |
import android.widget.TextView; | |
-import androidx.annotation.Nullable; | |
import androidx.appcompat.app.AppCompatActivity; | |
import androidx.documentfile.provider.DocumentFile; | |
import androidx.preference.PreferenceManager; | |
@@ -49,24 +41,20 @@ import androidx.recyclerview.widget.LinearSnapHelper; | |
import androidx.recyclerview.widget.RecyclerView; | |
import androidx.recyclerview.widget.SnapHelper; | |
-import com.bumptech.glide.Glide; | |
-import com.bumptech.glide.load.DataSource; | |
-import com.bumptech.glide.load.resource.gif.GifDrawable; | |
-import com.bumptech.glide.request.RequestOptions; | |
-import com.github.luben.zstd.BuildConfig; | |
import com.google.gson.Gson; | |
import com.google.gson.GsonBuilder; | |
-import com.winlator.bigpicture.BigPictureAdapter; | |
-import com.winlator.bigpicture.CarouselItemDecoration; | |
-import com.winlator.bigpicture.TiledBackgroundView; | |
-import com.winlator.bigpicture.steamgrid.SteamGridDBApi; | |
-import com.winlator.bigpicture.steamgrid.SteamGridGridsResponse; | |
-import com.winlator.bigpicture.steamgrid.SteamGridGridsResponseDeserializer; | |
-import com.winlator.bigpicture.steamgrid.SteamGridSearchResponse; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.container.Shortcut; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.bigpicture.BigPictureAdapter; | |
+import com.winlator.cmod.bigpicture.CarouselItemDecoration; | |
+import com.winlator.cmod.bigpicture.TiledBackgroundView; | |
+import com.winlator.cmod.bigpicture.steamgrid.SteamGridDBApi; | |
+import com.winlator.cmod.bigpicture.steamgrid.SteamGridGridsResponse; | |
+import com.winlator.cmod.bigpicture.steamgrid.SteamGridGridsResponseDeserializer; | |
+import com.winlator.cmod.bigpicture.steamgrid.SteamGridSearchResponse; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.container.Shortcut; | |
+import com.winlator.cmod.core.FileUtils; | |
import java.io.File; | |
import java.io.FileInputStream; | |
@@ -95,10 +83,6 @@ import android.animation.ObjectAnimator; | |
import android.view.animation.AccelerateDecelerateInterpolator; | |
import android.widget.Toast; | |
-import com.bumptech.glide.request.RequestListener; | |
-import com.bumptech.glide.request.target.Target; | |
-import com.bumptech.glide.load.engine.GlideException; | |
- | |
public class BigPictureActivity extends AppCompatActivity { | |
private ImageView coverArtView; | |
private TextView gameTitleView, graphicsDriverView, graphicsDriverVersionView, dxWrapperView, dxWrapperConfigView, audioDriverView, box86PresetView, box64PresetView, playCountView, playtimeView; | |
@@ -985,14 +969,11 @@ public class BigPictureActivity extends AppCompatActivity { | |
playtimeView.setText("Playtime: " + formatPlaytime(totalPlaytime)); | |
// Get the associated container for this shortcut (unchanged) | |
- Container container = manager.getContainerForShortcut(shortcut); | |
- String graphicsDriver = shortcut.getExtra("graphicsDriver"); | |
+ Container container = manager.getContainerForShortcut(shortcut); | |
+ String graphicsDriver = shortcut.getExtra("graphicsDriver"); | |
- setTextOrPlaceholder(graphicsDriverView, graphicsDriver, container.getGraphicsDriver()); | |
- if (graphicsDriver.contains("turnip")) | |
- setTextOrPlaceholder(graphicsDriverVersionView, shortcut.getExtra("turnipGraphicsDriverVersion"), container.getTurnipGraphicsDriverVersion()); | |
- else | |
- setTextOrPlaceholder(graphicsDriverVersionView, shortcut.getExtra("wrapperGraphicsDriverVersion"), container.getWrapperGraphicsDriverVersion()); | |
+ setTextOrPlaceholder(graphicsDriverView, graphicsDriver, container.getGraphicsDriver()); | |
+ setTextOrPlaceholder(graphicsDriverVersionView, shortcut.getExtra("wrapperGraphicsDriverVersion"), container.getWrapperGraphicsDriverVersion()); | |
setTextOrPlaceholder(dxWrapperView, shortcut.getExtra("dxwrapper"), container.getDXWrapper()); | |
setTextOrPlaceholder(dxWrapperConfigView, shortcut.getExtra("dxwrapperConfig"), container.getDXWrapperConfig()); | |
setTextOrPlaceholder(audioDriverView, shortcut.getExtra("audioDriver"), container.getAudioDriver()); | |
diff --git a/app/src/main/java/com/winlator/Box86_64RCFragment.java b/app/src/main/java/com/winlator/cmod/Box86_64RCFragment.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/Box86_64RCFragment.java | |
rename to app/src/main/java/com/winlator/cmod/Box86_64RCFragment.java | |
index c992633..d6c61fe 100644 | |
--- a/app/src/main/java/com/winlator/Box86_64RCFragment.java | |
+++ b/app/src/main/java/com/winlator/cmod/Box86_64RCFragment.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.app.Activity; | |
import android.content.Context; | |
@@ -34,16 +34,17 @@ import androidx.recyclerview.widget.DividerItemDecoration; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.box86_64.rc.RCField; | |
-import com.winlator.box86_64.rc.RCGroup; | |
-import com.winlator.box86_64.rc.RCItem; | |
-import com.winlator.box86_64.rc.RCManager; | |
-import com.winlator.box86_64.rc.RCFile; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.contentdialog.ImportGroupDialog; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.box86_64.rc.RCField; | |
+import com.winlator.cmod.box86_64.rc.RCGroup; | |
+import com.winlator.cmod.box86_64.rc.RCItem; | |
+import com.winlator.cmod.box86_64.rc.RCManager; | |
+import com.winlator.cmod.box86_64.rc.RCFile; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.contentdialog.ImportGroupDialog; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.FileUtils; | |
import org.json.JSONObject; | |
diff --git a/app/src/main/java/com/winlator/ContainerDetailFragment.java b/app/src/main/java/com/winlator/cmod/ContainerDetailFragment.java | |
similarity index 81% | |
rename from app/src/main/java/com/winlator/ContainerDetailFragment.java | |
rename to app/src/main/java/com/winlator/cmod/ContainerDetailFragment.java | |
index 7a1867d..cfc1cc9 100644 | |
--- a/app/src/main/java/com/winlator/ContainerDetailFragment.java | |
+++ b/app/src/main/java/com/winlator/cmod/ContainerDetailFragment.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.annotation.SuppressLint; | |
import android.app.Activity; | |
@@ -23,7 +23,6 @@ import android.widget.FrameLayout; | |
import android.widget.LinearLayout; | |
import android.widget.PopupMenu; | |
import android.widget.Spinner; | |
-import android.widget.Switch; | |
import android.widget.TextView; | |
import android.widget.Toast; | |
@@ -34,41 +33,42 @@ import androidx.fragment.app.Fragment; | |
import androidx.preference.PreferenceManager; | |
import com.google.android.material.tabs.TabLayout; | |
-import com.winlator.box86_64.Box86_64Preset; | |
-import com.winlator.box86_64.Box86_64PresetManager; | |
-import com.winlator.box86_64.rc.RCManager; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.contentdialog.AddEnvVarDialog; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.contentdialog.DXVKConfigDialog; | |
-import com.winlator.contentdialog.GraphicsDriverConfigDialog; | |
-import com.winlator.contentdialog.ShortcutSettingsDialog; | |
-import com.winlator.contentdialog.VKD3DConfigDialog; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.GPUInformation; | |
-import com.winlator.core.KeyValueSet; | |
-import com.winlator.core.PreloaderDialog; | |
-import com.winlator.core.StringUtils; | |
-import com.winlator.core.WineInfo; | |
-import com.winlator.core.WineRegistryEditor; | |
-import com.winlator.core.WineThemeManager; | |
-import com.winlator.core.WineUtils; | |
-import com.winlator.fexcore.FEXCoreManager; | |
-import com.winlator.midi.MidiManager; | |
-import com.winlator.widget.CPUListView; | |
-import com.winlator.widget.ColorPickerView; | |
-import com.winlator.widget.EnvVarsView; | |
-import com.winlator.widget.ImagePickerView; | |
-import com.winlator.winhandler.WinHandler; | |
-import com.winlator.xenvironment.ImageFs; | |
-import com.winlator.xserver.XKeycode; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.box86_64.Box86_64Preset; | |
+import com.winlator.cmod.box86_64.Box86_64PresetManager; | |
+import com.winlator.cmod.box86_64.rc.RCManager; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.contentdialog.AddEnvVarDialog; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.contentdialog.DXVKConfigDialog; | |
+import com.winlator.cmod.contentdialog.GraphicsDriverConfigDialog; | |
+import com.winlator.cmod.contentdialog.ShortcutSettingsDialog; | |
+import com.winlator.cmod.contentdialog.VKD3DConfigDialog; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.GPUInformation; | |
+import com.winlator.cmod.core.KeyValueSet; | |
+import com.winlator.cmod.core.PreloaderDialog; | |
+import com.winlator.cmod.core.StringUtils; | |
+import com.winlator.cmod.core.WineInfo; | |
+import com.winlator.cmod.core.WineRegistryEditor; | |
+import com.winlator.cmod.core.WineThemeManager; | |
+import com.winlator.cmod.core.WineUtils; | |
+import com.winlator.cmod.fexcore.FEXCoreManager; | |
+import com.winlator.cmod.midi.MidiManager; | |
+import com.winlator.cmod.widget.CPUListView; | |
+import com.winlator.cmod.widget.ColorPickerView; | |
+import com.winlator.cmod.widget.EnvVarsView; | |
+import com.winlator.cmod.widget.ImagePickerView; | |
+import com.winlator.cmod.winhandler.WinHandler; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
+import com.winlator.cmod.xserver.XKeycode; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
@@ -92,12 +92,9 @@ public class ContainerDetailFragment extends Fragment { | |
private JSONArray gpuCards; | |
private Callback<String> openDirectoryCallback; | |
- private String turnipGraphicsDriverVersion = ""; | |
private String wrapperGraphicsDriverVersion = ""; | |
- | |
- private boolean isBionic; | |
- | |
- private String tempGraphicsDriverVersion; // Temporary storage for the graphics driver version | |
+ private String oldWrapperGraphicsDriverVersion = ""; | |
+ private String blacklistedExtensions = ""; | |
private static boolean isDarkMode; | |
@@ -179,6 +176,9 @@ public class ContainerDetailFragment extends Fragment { | |
Spinner sDXWrapper = view.findViewById(R.id.SDXWrapper); | |
sDXWrapper.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
+ Spinner sDDrawrapper = view.findViewById(R.id.SDDrawrapper); | |
+ sDDrawrapper.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
+ | |
Spinner sAudioDriver = view.findViewById(R.id.SAudioDriver); | |
sAudioDriver.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
@@ -358,28 +358,28 @@ public class ContainerDetailFragment extends Fragment { | |
// Set container name and graphics driver version based on mode | |
if (isEditMode()) { | |
etName.setText(container.getName()); | |
- turnipGraphicsDriverVersion = container.getTurnipGraphicsDriverVersion(); | |
wrapperGraphicsDriverVersion = container.getWrapperGraphicsDriverVersion(); | |
+ blacklistedExtensions = container.getBlacklistedExtensions(); | |
} else { | |
etName.setText(getString(R.string.container) + "-" + manager.getNextContainerId()); | |
} | |
- // Handle Wine version selection based on the toggle | |
- final ArrayList<WineInfo> wineInfos = WineUtils.getInstalledWineInfos(context); | |
- loadWineVersionSpinner(view, sWineVersion, wineInfos); | |
+ loadWineVersionSpinner(view, sWineVersion); | |
loadScreenSizeSpinner(view, isEditMode() ? container.getScreenSize() : Container.DEFAULT_SCREEN_SIZE); | |
final Spinner sGraphicsDriver = view.findViewById(R.id.SGraphicsDriver); | |
final Spinner sDXWrapper = view.findViewById(R.id.SDXWrapper); | |
+ final Spinner sDDrawrapper = view.findViewById(R.id.SDDrawrapper); | |
final View vDXWrapperConfig = view.findViewById(R.id.BTDXWrapperConfig); | |
- vDXWrapperConfig.setTag(isEditMode() ? container.getDXWrapperConfig() : ""); | |
+ vDXWrapperConfig.setTag(isEditMode() ? container.getDXWrapperConfig() : Container.DEFAULT_DXWRAPPERCONFIG); | |
final View vGraphicsDriverConfig = view.findViewById(R.id.BTGraphicsDriverConfig); | |
setupDXWrapperSpinner(sDXWrapper, vDXWrapperConfig); | |
+ setupDDrawSpinner(sDDrawrapper, isEditMode() ? container.getDDrawWrapper() : Container.DEFAULT_DDRAWRAPPER); | |
loadGraphicsDriverSpinner(sGraphicsDriver, sDXWrapper, vGraphicsDriverConfig, | |
isEditMode() ? container.getGraphicsDriver() : Container.DEFAULT_GRAPHICS_DRIVER, | |
isEditMode() ? container.getDXWrapper() : Container.DEFAULT_DXWRAPPER); | |
@@ -502,75 +502,13 @@ public class ContainerDetailFragment extends Fragment { | |
FEXCoreManager.loadFEXCoreSpinners(context, container, sFEXCoreTSOPreset, sFEXCoreMultiBlock, sFEXCoreX87ReducedPrecision); | |
- final Switch swBionicContainer = view.findViewById(R.id.SWBionicContainer); | |
- | |
- if (isEditMode()) { | |
- swBionicContainer.setChecked(container.isBionic()); | |
- swBionicContainer.setEnabled(false); // Disable toggle in edit mode | |
- } | |
- | |
- FrameLayout fexcoreFL = view.findViewById(R.id.fexcoreFrame); | |
- LinearLayout emulatorLL = view.findViewById(R.id.LLEmulator); | |
- | |
- if (!swBionicContainer.isChecked()) { | |
- // Remove wrapper from graphics driver entries. | |
- isBionic = false; | |
- String selectedDriver = sGraphicsDriver.getSelectedItem().toString(); | |
- List<String> sGraphicsItemsList = new ArrayList<>(Arrays.asList(context.getResources().getStringArray(R.array.graphics_driver_entries))); | |
- sGraphicsItemsList.remove("Wrapper"); | |
- sGraphicsDriver.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, sGraphicsItemsList)); | |
- AppUtils.setSpinnerSelectionFromValue(sGraphicsDriver, selectedDriver); | |
- fexcoreFL.setVisibility(View.GONE); | |
- emulatorLL.setVisibility(View.GONE); | |
- } | |
- else { | |
- isBionic = true; | |
- String selectedDriver = sGraphicsDriver.getSelectedItem().toString(); | |
- List<String> sGraphicsItemsList = new ArrayList<>(Arrays.asList(context.getResources().getStringArray(R.array.graphics_driver_entries))); | |
- sGraphicsItemsList.remove("VirGL"); | |
- sGraphicsDriver.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, sGraphicsItemsList)); | |
- AppUtils.setSpinnerSelectionFromValue(sGraphicsDriver, selectedDriver); | |
- fexcoreFL.setVisibility(View.VISIBLE); | |
- emulatorLL.setVisibility(View.VISIBLE); | |
- } | |
- | |
- swBionicContainer.setOnCheckedChangeListener((buttonView, isChecked) -> { | |
- if (isChecked) { | |
- // Disable Wine version | |
- sWineVersion.setEnabled(false); | |
- sWineVersion.setSelection(0); | |
- | |
- // Enable fexcore section | |
- fexcoreFL.setVisibility(View.VISIBLE); | |
- emulatorLL.setVisibility(View.VISIBLE); | |
- | |
- // Readd wrapper to graphics driver entries and remove virgl | |
- String selectedDriver = sGraphicsDriver.getSelectedItem().toString(); | |
- List<String> sGraphicsItemsList = new ArrayList<>(Arrays.asList(context.getResources().getStringArray(R.array.graphics_driver_entries))); | |
- sGraphicsItemsList.remove("VirGL"); | |
- sGraphicsDriver.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, sGraphicsItemsList)); | |
- AppUtils.setSpinnerSelectionFromValue(sGraphicsDriver, selectedDriver); | |
- isBionic = true; | |
- } else { | |
- // Enable Wine version | |
- sWineVersion.setEnabled(true); | |
- | |
- | |
- // Disable fexcore section | |
- fexcoreFL.setVisibility(View.GONE); | |
- emulatorLL.setVisibility(View.GONE); | |
- | |
- // Remove wrapper from graphics driver entries | |
- String selectedDriver = sGraphicsDriver.getSelectedItem().toString(); | |
- List<String> sGraphicsItemsList = new ArrayList<>(Arrays.asList(context.getResources().getStringArray(R.array.graphics_driver_entries))); | |
- sGraphicsItemsList.remove("Wrapper"); | |
- sGraphicsDriver.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, sGraphicsItemsList)); | |
- AppUtils.setSpinnerSelectionFromValue(sGraphicsDriver, selectedDriver); | |
- isBionic = false; | |
- } | |
- }); | |
- | |
+ String selectedDriver = sGraphicsDriver.getSelectedItem().toString(); | |
+ List<String> sGraphicsItemsList = new ArrayList<>(Arrays.asList(context.getResources().getStringArray(R.array.graphics_driver_entries))); | |
+ sGraphicsDriver.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, sGraphicsItemsList)); | |
+ AppUtils.setSpinnerSelectionFromValue(sGraphicsDriver, selectedDriver); | |
+ sWineVersion.setEnabled(false); | |
+ sWineVersion.setSelection(0); | |
final Spinner sRCFile = view.findViewById(R.id.SRCFile); | |
final int[] rcfileIds = {0}; | |
@@ -616,22 +554,18 @@ public class ContainerDetailFragment extends Fragment { | |
try { | |
// Capture and set container properties based on UI inputs | |
String name = etName.getText().toString(); | |
- Boolean isBionic = swBionicContainer.isChecked(); | |
String screenSize = getScreenSize(view); | |
String envVars = envVarsView.getEnvVars(); | |
String graphicsDriver = StringUtils.parseIdentifier(sGraphicsDriver.getSelectedItem()); | |
- if (isBionic) { | |
- String turnipGraphicsDriverVersion = (this.turnipGraphicsDriverVersion != "") ? this.turnipGraphicsDriverVersion : DefaultVersion.TURNIP_BIONIC; | |
- } else { | |
- String turnipGraphicsDriverVersion = (this.turnipGraphicsDriverVersion != "") ? this.turnipGraphicsDriverVersion : DefaultVersion.TURNIP_GLIBC; | |
- } | |
- | |
String wrapperGraphicsDriverVersion = (this.wrapperGraphicsDriverVersion != "") ? this.wrapperGraphicsDriverVersion : DefaultVersion.WRAPPER; | |
+ String oldWrapperGraphicsDriverVersion = (this.oldWrapperGraphicsDriverVersion != "") ? this.oldWrapperGraphicsDriverVersion : DefaultVersion.WRAPPER; | |
String dxwrapper = StringUtils.parseIdentifier(sDXWrapper.getSelectedItem()); | |
+ String ddrawrapper = StringUtils.parseIdentifier(sDDrawrapper.getSelectedItem()); | |
String dxwrapperConfig = vDXWrapperConfig.getTag().toString(); | |
String audioDriver = StringUtils.parseIdentifier(sAudioDriver.getSelectedItem()); | |
String emulator = StringUtils.parseIdentifier(sEmulator.getSelectedItem()); | |
String wincomponents = getWinComponents(view); | |
+ String blacklistedExtensions = this.blacklistedExtensions; | |
String drives = getDrives(view); | |
boolean showFPS = cbShowFPS.isChecked(); | |
boolean fullscreenStretched = cbFullscreenStretched.isChecked(); | |
@@ -681,13 +615,15 @@ public class ContainerDetailFragment extends Fragment { | |
container.setCPUList(cpuList); | |
container.setCPUListWoW64(cpuListWoW64); | |
container.setGraphicsDriver(graphicsDriver); | |
- container.setTurnipGraphicsDriverVersion(turnipGraphicsDriverVersion); | |
container.setWrapperGraphicsDriverVersion(wrapperGraphicsDriverVersion); | |
+ container.setOldWrapperGraphicsDriverVersion(oldWrapperGraphicsDriverVersion); | |
container.setDXWrapper(dxwrapper); | |
+ container.setDDrawWrapper(ddrawrapper); | |
container.setDXWrapperConfig(dxwrapperConfig); | |
container.setAudioDriver(audioDriver); | |
container.setEmulator(emulator); | |
container.setWinComponents(wincomponents); | |
+ container.setBlacklistedExtensions(blacklistedExtensions); | |
container.setDrives(drives); | |
container.setShowFPS(showFPS); | |
container.setFullscreenStretched(fullscreenStretched); | |
@@ -702,11 +638,9 @@ public class ContainerDetailFragment extends Fragment { | |
container.setLC_ALL(lc_all); | |
container.setPrimaryController(primaryController); | |
container.setControllerMapping(controllerMapping); | |
- container.setBionic(isBionic); | |
container.saveData(); | |
saveWineRegistryKeys(view); | |
- if (isBionic) | |
- FEXCoreManager.saveFEXCoreSpinners(container, sFEXCoreTSOPreset, sFEXCoreMultiBlock, sFEXCoreX87ReducedPrecision); | |
+ FEXCoreManager.saveFEXCoreSpinners(container, sFEXCoreTSOPreset, sFEXCoreMultiBlock, sFEXCoreX87ReducedPrecision); | |
getActivity().onBackPressed(); | |
} else { | |
// Create new container with specified properties | |
@@ -717,17 +651,15 @@ public class ContainerDetailFragment extends Fragment { | |
data.put("cpuList", cpuList); | |
data.put("cpuListWoW64", cpuListWoW64); | |
data.put("graphicsDriver", graphicsDriver); | |
- | |
- if (graphicsDriver.contains("turnip")) | |
- data.put("turnipGraphicsDriverVersion", getTurnipGraphicsDriverVersion()); | |
- else if (graphicsDriver.contains("wrapper")) | |
- data.put("wrapperGraphicsDriverVersion", getWrapperGraphicsDriverVersion()); | |
- | |
+ data.put("wrapperGraphicsDriverVersion",wrapperGraphicsDriverVersion); | |
+ data.put("oldWrapperGraphicsDriverVersion", oldWrapperGraphicsDriverVersion); | |
data.put("dxwrapper", dxwrapper); | |
+ data.put("ddrawrapper", ddrawrapper); | |
data.put("dxwrapperConfig", dxwrapperConfig); | |
data.put("audioDriver", audioDriver); | |
data.put("emulator", emulator); | |
data.put("wincomponents", wincomponents); | |
+ data.put("blacklistedextensions", blacklistedExtensions); | |
data.put("drives", drives); | |
data.put("showFPS", showFPS); | |
data.put("fullscreenStretched", fullscreenStretched); | |
@@ -743,7 +675,6 @@ public class ContainerDetailFragment extends Fragment { | |
data.put("lc_all", lc_all); | |
data.put("primaryController", primaryController); | |
data.put("controllerMapping", controllerMapping); | |
- data.put("isBionic", isBionic); | |
preloaderDialog.show(R.string.creating_container); | |
@@ -751,21 +682,15 @@ public class ContainerDetailFragment extends Fragment { | |
File imageFsRoot = new File(context.getFilesDir(), "imagefs"); | |
imageFs = ImageFs.find(imageFsRoot); | |
- if (isBionic) { | |
- switchWineSymlinkToBionic(imageFs); // e.g. /opt/wine -> /opt/wine.bionic | |
- } else { | |
- switchWineSymlinkToGlibc(imageFs); // e.g. /opt/wine -> /opt/wine.glibc | |
- } | |
manager.createContainerAsync(data, (container) -> { | |
if (container != null) { | |
this.container = container; | |
- container.setBionic(isBionic); | |
- container.setTurnipGraphicsDriverVersion(turnipGraphicsDriverVersion); | |
container.setWrapperGraphicsDriverVersion(wrapperGraphicsDriverVersion); | |
+ container.setOldWrapperGraphicsDriverVersion(oldWrapperGraphicsDriverVersion); | |
+ container.setBlacklistedExtensions(blacklistedExtensions); | |
saveWineRegistryKeys(view); | |
- if (isBionic) | |
- FEXCoreManager.saveFEXCoreSpinners(container, sFEXCoreTSOPreset, sFEXCoreMultiBlock, sFEXCoreX87ReducedPrecision); | |
+ FEXCoreManager.saveFEXCoreSpinners(container, sFEXCoreTSOPreset, sFEXCoreMultiBlock, sFEXCoreX87ReducedPrecision); | |
} | |
preloaderDialog.close(); | |
getActivity().onBackPressed(); | |
@@ -778,23 +703,6 @@ public class ContainerDetailFragment extends Fragment { | |
return view; | |
} | |
- private void switchWineSymlinkToBionic(ImageFs imageFs) { | |
- File link = new File(imageFs.getRootDir(), "opt/wine"); | |
- File bionicDir = new File(imageFs.getRootDir(), "opt/wine.bionic"); | |
- FileUtils.delete(link); | |
- FileUtils.symlink(bionicDir.getName(), link.getAbsolutePath()); | |
- Log.d("ContainerDetailFragment", "Switched /opt/wine → /opt/wine.bionic"); | |
- } | |
- | |
- private void switchWineSymlinkToGlibc(ImageFs imageFs) { | |
- File link = new File(imageFs.getRootDir(), "opt/wine"); | |
- File glibcDir = new File(imageFs.getRootDir(), "opt/wine.glibc"); | |
- FileUtils.delete(link); | |
- FileUtils.symlink(glibcDir.getName(), link.getAbsolutePath()); | |
- Log.d("ContainerDetailFragment", "Switched /opt/wine → /opt/wine.glibc"); | |
- } | |
- | |
- | |
private void saveWineRegistryKeys(View view) { | |
File userRegFile = new File(container.getRootDir(), ".wine/user.reg"); | |
try (WineRegistryEditor registryEditor = new WineRegistryEditor(userRegFile)) { | |
@@ -976,26 +884,18 @@ public class ContainerDetailFragment extends Fragment { | |
} | |
private void showGraphicsDriverConfigDialog(View anchor, String graphicsDriver) { | |
- String graphicsDriverVersion; | |
- if (graphicsDriver.contains("turnip")) { | |
- if (isBionic) { | |
- graphicsDriverVersion = (turnipGraphicsDriverVersion != "") ? turnipGraphicsDriverVersion : DefaultVersion.TURNIP_BIONIC; | |
- } | |
- else { | |
- graphicsDriverVersion = (turnipGraphicsDriverVersion != "") ? turnipGraphicsDriverVersion : DefaultVersion.TURNIP_GLIBC; | |
- } | |
- } | |
- else | |
- graphicsDriverVersion = (wrapperGraphicsDriverVersion != "") ? wrapperGraphicsDriverVersion : DefaultVersion.WRAPPER; | |
+ String graphicsDriverVersion = (wrapperGraphicsDriverVersion != "") ? wrapperGraphicsDriverVersion : DefaultVersion.WRAPPER; | |
+ String blacklistedExtensions = this.blacklistedExtensions; | |
// Create a new GraphicsDriverConfigDialog | |
- new GraphicsDriverConfigDialog(anchor, graphicsDriverVersion, graphicsDriver, isBionic, (version) -> { | |
+ new GraphicsDriverConfigDialog(anchor, graphicsDriverVersion, blacklistedExtensions, graphicsDriver, (version, blExtensions) -> { | |
// Update the fragment-level variable with the selected version | |
- if (graphicsDriver.contains("turnip")) | |
- turnipGraphicsDriverVersion = version; | |
- else | |
- wrapperGraphicsDriverVersion = version; | |
+ this.oldWrapperGraphicsDriverVersion = this.wrapperGraphicsDriverVersion; | |
+ this.wrapperGraphicsDriverVersion = version; | |
+ this.blacklistedExtensions = blExtensions; | |
Log.d("ContainerDetailFragment", "Selected graphics driver version: " + version); | |
+ Log.d("ContainerDDetailFragment", "Old graphics driver version: " + version); | |
+ Log.d("ContainerDetailFragment", "Selected blacklisted extensions: " + blExtensions); | |
}).show(); | |
} | |
@@ -1008,31 +908,19 @@ public class ContainerDetailFragment extends Fragment { | |
Runnable update = () -> { | |
String graphicsDriver = StringUtils.parseIdentifier(sGraphicsDriver.getSelectedItem()); | |
- boolean isTurnip = graphicsDriver.equals("turnip"); | |
- boolean isWrapper = graphicsDriver.equals("wrapper"); | |
// Update the DXWrapper spinner | |
ArrayList<String> items = new ArrayList<>(); | |
for (String value : context.getResources().getStringArray(R.array.dxwrapper_entries)) { | |
- if (isTurnip || isWrapper || (!value.equals("DXVK") && !value.equals("VKD3D"))) { | |
- items.add(value); | |
- } | |
+ items.add(value); | |
} | |
- sDXWrapper.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, items.toArray(new String[0]))); | |
+ sDXWrapper.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, items.toArray())); | |
AppUtils.setSpinnerSelectionFromIdentifier(sDXWrapper, selectedDXWrapper); | |
- // Update the gear icon for the graphics driver | |
- if (isTurnip || isWrapper) { | |
- vGraphicsDriverConfig.setOnClickListener((v) -> { | |
- | |
- showGraphicsDriverConfigDialog(vGraphicsDriverConfig, graphicsDriver); | |
- | |
- }); | |
- vGraphicsDriverConfig.setVisibility(View.VISIBLE); | |
- } | |
- else { | |
- vGraphicsDriverConfig.setVisibility(View.GONE); // VirGL doesn't allow version selection | |
- } | |
+ vGraphicsDriverConfig.setOnClickListener((v) -> { | |
+ showGraphicsDriverConfigDialog(vGraphicsDriverConfig, graphicsDriver); | |
+ }); | |
+ vGraphicsDriverConfig.setVisibility(View.VISIBLE); | |
}; | |
sGraphicsDriver.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | |
@@ -1050,10 +938,6 @@ public class ContainerDetailFragment extends Fragment { | |
update.run(); | |
} | |
- | |
- | |
- | |
- | |
public static void setupDXWrapperSpinner(final Spinner sDXWrapper, final View vDXWrapperConfig) { | |
sDXWrapper.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | |
@Override | |
@@ -1074,6 +958,16 @@ public class ContainerDetailFragment extends Fragment { | |
}); | |
} | |
+ public static void setupDDrawSpinner(final Spinner sDDrawspinner, String selectedDDrawrapper) { | |
+ final Context context = sDDrawspinner.getContext(); | |
+ ArrayList<String> items = new ArrayList<>(); | |
+ for (String value : context.getResources().getStringArray(R.array.ddrawrapper_entries)) { | |
+ items.add(value); | |
+ } | |
+ sDDrawspinner.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, items.toArray(new String[0]))); | |
+ AppUtils.setSpinnerSelectionFromIdentifier(sDDrawspinner, selectedDDrawrapper); | |
+ } | |
+ | |
public static String getWinComponents(View view) { | |
ViewGroup parent = view.findViewById(R.id.LLTabWinComponents); | |
@@ -1239,34 +1133,45 @@ public class ContainerDetailFragment extends Fragment { | |
} | |
- private void loadWineVersionSpinner(final View view, Spinner sWineVersion, final ArrayList<WineInfo> wineInfos) { | |
+ private void loadWineVersionSpinner(final View view, Spinner sWineVersion) { | |
final Context context = getContext(); | |
sWineVersion.setEnabled(!isEditMode()); | |
-// sWineVersion.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | |
-// @Override | |
-// public void onItemSelected(AdapterView<?> parent, View v, int position, long id) { | |
-// WineInfo wineInfo = wineInfos.get(position); | |
-// boolean isMainWineVersion = WineInfo.isMainWineVersion(wineInfo.identifier()); | |
-// CheckBox cbWoW64Mode = view.findViewById(R.id.CBWoW64Mode); | |
-// cbWoW64Mode.setEnabled(isMainWineVersion); | |
-// if (!isMainWineVersion) cbWoW64Mode.setChecked(false); | |
-// } | |
// | |
-// @Override | |
-// public void onNothingSelected(AdapterView<?> parent) {} | |
-// }); | |
-// view.findViewById(R.id.LLWineVersion).setVisibility(View.VISIBLE); | |
-// sWineVersion.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, wineInfos)); | |
-// if (isEditMode()) AppUtils.setSpinnerSelectionFromValue(sWineVersion, WineInfo.fromIdentifier(context, container.getWineVersion()).toString()); | |
sWineVersion.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | |
@Override | |
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) { | |
CheckBox cbWoW64Mode = view.findViewById(R.id.CBWoW64Mode); | |
+ FrameLayout fexcoreFL = view.findViewById(R.id.fexcoreFrame); | |
+ Spinner sEmulator = view.findViewById(R.id.SEmulator); | |
+ String wineVersion = sWineVersion.getSelectedItem().toString(); | |
+ WineInfo wineInfo = WineInfo.fromIdentifier(context, wineVersion); | |
+ if (wineInfo.isArm64EC()) { | |
+ fexcoreFL.setVisibility(View.VISIBLE); | |
+ sEmulator.setEnabled(true); | |
+ } | |
+ else { | |
+ fexcoreFL.setVisibility(View.GONE); | |
+ sEmulator.setEnabled(false); | |
+ sEmulator.setSelection(1); | |
+ } | |
cbWoW64Mode.setEnabled(true); // Always allow user to toggle WoW64 mode | |
- | |
} | |
@Override | |
- public void onNothingSelected(AdapterView<?> parent) {} | |
+ public void onNothingSelected(AdapterView<?> parent) { | |
+ FrameLayout fexcoreFL = view.findViewById(R.id.fexcoreFrame); | |
+ Spinner sEmulator = view.findViewById(R.id.SEmulator); | |
+ String wineVersion = sWineVersion.getSelectedItem().toString(); | |
+ WineInfo wineInfo = WineInfo.fromIdentifier(context, wineVersion); | |
+ if (wineInfo.isArm64EC()) { | |
+ fexcoreFL.setVisibility(View.VISIBLE); | |
+ sEmulator.setEnabled(true); | |
+ } | |
+ else { | |
+ fexcoreFL.setVisibility(View.GONE); | |
+ sEmulator.setEnabled(false); | |
+ sEmulator.setSelection(1); | |
+ } | |
+ } | |
}); | |
@@ -1279,30 +1184,6 @@ public class ContainerDetailFragment extends Fragment { | |
if (isEditMode()) AppUtils.setSpinnerSelectionFromValue(sWineVersion, container.getWineVersion()); | |
} | |
-// public static void updateGraphicsDriverSpinner(Context context, ContentsManager contentsManager, Spinner sGraphicsDriver) { | |
-// if (contentsManager == null) { | |
-// Log.e("ContainerDetailFragment", "ContentsManager is null, cannot update graphics driver spinner."); | |
-// return; | |
-// } | |
-// | |
-// List<ContentProfile> profiles = contentsManager.getProfiles(ContentProfile.ContentType.CONTENT_TYPE_TURNIP); | |
-// if (profiles == null) { | |
-// Log.e("ContainerDetailFragment", "No profiles found for Turnip in ContentsManager."); | |
-// } else { | |
-// Log.d("ContainerDetailFragment", "Found " + profiles.size() + " Turnip profiles."); | |
-// } | |
-// | |
-// // Rest of the method... | |
-// } | |
- | |
- public String getTurnipGraphicsDriverVersion() { | |
- return turnipGraphicsDriverVersion; | |
- } | |
- | |
- public String getWrapperGraphicsDriverVersion() { | |
- return wrapperGraphicsDriverVersion; | |
- } | |
- | |
public String getControllerMapping(View view) { | |
//The order has to be the same like Container.XrControllerMapping | |
int[] ids = { | |
diff --git a/app/src/main/java/com/winlator/ContainersFragment.java b/app/src/main/java/com/winlator/cmod/ContainersFragment.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/ContainersFragment.java | |
rename to app/src/main/java/com/winlator/cmod/ContainersFragment.java | |
index d87e5da..2908e1a 100644 | |
--- a/app/src/main/java/com/winlator/ContainersFragment.java | |
+++ b/app/src/main/java/com/winlator/cmod/ContainersFragment.java | |
@@ -1,14 +1,11 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
-import static com.winlator.core.AppUtils.showToast; | |
+import static com.winlator.cmod.core.AppUtils.showToast; | |
import android.app.Activity; | |
import android.app.AlertDialog; | |
import android.content.Context; | |
import android.content.Intent; | |
-import android.content.SharedPreferences; | |
-import android.content.pm.PackageInfo; | |
-import android.content.pm.PackageManager; | |
import android.graphics.Color; | |
import android.graphics.PorterDuff; | |
import android.graphics.drawable.Drawable; | |
@@ -16,7 +13,6 @@ import android.net.Uri; | |
import android.os.Build; | |
import android.os.Bundle; | |
import android.os.Environment; | |
-import android.util.Log; | |
import android.view.LayoutInflater; | |
import android.view.Menu; | |
import android.view.MenuInflater; | |
@@ -24,7 +20,6 @@ import android.view.MenuItem; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.FrameLayout; | |
-import android.widget.ImageButton; | |
import android.widget.ImageView; | |
import android.widget.PopupMenu; | |
import android.widget.TextView; | |
@@ -32,33 +27,29 @@ import android.widget.Toast; | |
import androidx.annotation.NonNull; | |
import androidx.annotation.Nullable; | |
-import androidx.annotation.RequiresApi; | |
import androidx.appcompat.app.AppCompatActivity; | |
import androidx.documentfile.provider.DocumentFile; | |
import androidx.fragment.app.Fragment; | |
import androidx.fragment.app.FragmentManager; | |
-import androidx.preference.PreferenceManager; | |
import androidx.recyclerview.widget.DividerItemDecoration; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.container.Shortcut; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.contentdialog.StorageInfoDialog; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.PreloaderDialog; | |
-import com.winlator.xenvironment.ImageFs; | |
-import com.winlator.TerminalActivity; | |
- | |
-import java.io.BufferedReader; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.container.Shortcut; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.contentdialog.StorageInfoDialog; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.PreloaderDialog; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
+ | |
import java.io.File; | |
import java.io.FileOutputStream; | |
import java.io.IOException; | |
import java.io.InputStream; | |
-import java.io.InputStreamReader; | |
import java.io.OutputStream; | |
import java.util.ArrayList; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/ContentsFragment.java b/app/src/main/java/com/winlator/cmod/ContentsFragment.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/ContentsFragment.java | |
rename to app/src/main/java/com/winlator/cmod/ContentsFragment.java | |
index 9fbe0a1..273a16c 100644 | |
--- a/app/src/main/java/com/winlator/ContentsFragment.java | |
+++ b/app/src/main/java/com/winlator/cmod/ContentsFragment.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.annotation.SuppressLint; | |
import android.app.Activity; | |
@@ -27,17 +27,18 @@ import androidx.recyclerview.widget.DividerItemDecoration; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.contentdialog.ContentInfoDialog; | |
-import com.winlator.contentdialog.ContentUntrustedDialog; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.contents.Downloader; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.PreloaderDialog; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.contentdialog.ContentInfoDialog; | |
+import com.winlator.cmod.contentdialog.ContentUntrustedDialog; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.contents.Downloader; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.PreloaderDialog; | |
import java.io.File; | |
import java.util.ArrayList; | |
@@ -76,7 +77,7 @@ public class ContentsFragment extends Fragment { | |
super.onResume(); | |
new Thread(() -> { | |
- String json = Downloader.downloadString(ContentsManager.REMOTE_PROFILES_URL); | |
+ String json = FileUtils.readString(getActivity(), ContentsManager.REMOTE_PROFILES); | |
if (json == null) | |
return; | |
getActivity().runOnUiThread(() -> { | |
diff --git a/app/src/main/java/com/winlator/ControlsEditorActivity.java b/app/src/main/java/com/winlator/cmod/ControlsEditorActivity.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/ControlsEditorActivity.java | |
rename to app/src/main/java/com/winlator/cmod/ControlsEditorActivity.java | |
index 17b94b7..aec75e0 100644 | |
--- a/app/src/main/java/com/winlator/ControlsEditorActivity.java | |
+++ b/app/src/main/java/com/winlator/cmod/ControlsEditorActivity.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.graphics.BitmapFactory; | |
import android.os.Bundle; | |
@@ -19,16 +19,17 @@ import android.widget.TextView; | |
import androidx.appcompat.app.AppCompatActivity; | |
-import com.winlator.inputcontrols.Binding; | |
-import com.winlator.inputcontrols.ControlElement; | |
-import com.winlator.inputcontrols.ControlsProfile; | |
-import com.winlator.inputcontrols.InputControlsManager; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.UnitUtils; | |
-import com.winlator.widget.InputControlsView; | |
-import com.winlator.widget.NumberPicker; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.inputcontrols.Binding; | |
+import com.winlator.cmod.inputcontrols.ControlElement; | |
+import com.winlator.cmod.inputcontrols.ControlsProfile; | |
+import com.winlator.cmod.inputcontrols.InputControlsManager; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.UnitUtils; | |
+import com.winlator.cmod.widget.InputControlsView; | |
+import com.winlator.cmod.widget.NumberPicker; | |
import java.io.IOException; | |
import java.io.InputStream; | |
diff --git a/app/src/main/java/com/winlator/ExternalControllerBindingsActivity.java b/app/src/main/java/com/winlator/cmod/ExternalControllerBindingsActivity.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/ExternalControllerBindingsActivity.java | |
rename to app/src/main/java/com/winlator/cmod/ExternalControllerBindingsActivity.java | |
index 2930b30..62209cb 100644 | |
--- a/app/src/main/java/com/winlator/ExternalControllerBindingsActivity.java | |
+++ b/app/src/main/java/com/winlator/cmod/ExternalControllerBindingsActivity.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.animation.ValueAnimator; | |
import android.content.Context; | |
@@ -26,13 +26,14 @@ import androidx.recyclerview.widget.DividerItemDecoration; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.inputcontrols.Binding; | |
-import com.winlator.inputcontrols.ControlsProfile; | |
-import com.winlator.inputcontrols.ExternalController; | |
-import com.winlator.inputcontrols.ExternalControllerBinding; | |
-import com.winlator.inputcontrols.InputControlsManager; | |
-import com.winlator.math.Mathf; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.inputcontrols.Binding; | |
+import com.winlator.cmod.inputcontrols.ControlsProfile; | |
+import com.winlator.cmod.inputcontrols.ExternalController; | |
+import com.winlator.cmod.inputcontrols.ExternalControllerBinding; | |
+import com.winlator.cmod.inputcontrols.InputControlsManager; | |
+import com.winlator.cmod.math.Mathf; | |
public class ExternalControllerBindingsActivity extends AppCompatActivity { | |
private TextView emptyTextView; | |
diff --git a/app/src/main/java/com/winlator/InputControlsFragment.java b/app/src/main/java/com/winlator/cmod/InputControlsFragment.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/InputControlsFragment.java | |
rename to app/src/main/java/com/winlator/cmod/InputControlsFragment.java | |
index 3c465b2..e832bec 100644 | |
--- a/app/src/main/java/com/winlator/InputControlsFragment.java | |
+++ b/app/src/main/java/com/winlator/cmod/InputControlsFragment.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.app.Activity; | |
import android.content.Context; | |
@@ -29,16 +29,17 @@ import androidx.core.widget.ImageViewCompat; | |
import androidx.fragment.app.Fragment; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.HttpUtils; | |
-import com.winlator.inputcontrols.ControlsProfile; | |
-import com.winlator.inputcontrols.ExternalController; | |
-import com.winlator.inputcontrols.InputControlsManager; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.widget.InputControlsView; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.HttpUtils; | |
+import com.winlator.cmod.inputcontrols.ControlsProfile; | |
+import com.winlator.cmod.inputcontrols.ExternalController; | |
+import com.winlator.cmod.inputcontrols.InputControlsManager; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.widget.InputControlsView; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
diff --git a/app/src/main/java/com/winlator/MainActivity.java b/app/src/main/java/com/winlator/cmod/MainActivity.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/MainActivity.java | |
rename to app/src/main/java/com/winlator/cmod/MainActivity.java | |
index fecf7bb..68167bf 100644 | |
--- a/app/src/main/java/com/winlator/MainActivity.java | |
+++ b/app/src/main/java/com/winlator/cmod/MainActivity.java | |
@@ -1,9 +1,7 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.Manifest; | |
-import android.app.Activity; | |
import android.app.AlertDialog; | |
-import android.content.DialogInterface; | |
import android.content.Intent; | |
import android.content.SharedPreferences; | |
import android.content.pm.PackageInfo; | |
@@ -22,7 +20,6 @@ import android.util.Log; | |
import android.view.MenuItem; | |
import android.view.View; | |
import android.widget.TextView; | |
-import android.widget.Toast; | |
import androidx.annotation.IntRange; | |
import androidx.annotation.NonNull; | |
@@ -38,19 +35,17 @@ import androidx.fragment.app.FragmentManager; | |
import androidx.preference.PreferenceManager; | |
import com.google.android.material.navigation.NavigationView; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.contentdialog.SaveEditDialog; | |
-import com.winlator.contentdialog.SaveSettingsDialog; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.PreloaderDialog; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.saves.CustomFilePickerActivity; | |
-import com.winlator.saves.Save; | |
-import com.winlator.saves.SaveManager; | |
-import com.winlator.xenvironment.ImageFsInstaller; | |
- | |
-import java.io.File; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.contentdialog.SaveEditDialog; | |
+import com.winlator.cmod.contentdialog.SaveSettingsDialog; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.PreloaderDialog; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.saves.Save; | |
+import com.winlator.cmod.saves.SaveManager; | |
+import com.winlator.cmod.xenvironment.ImageFsInstaller; | |
+ | |
import java.util.List; | |
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { | |
@@ -371,9 +366,9 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On | |
break; | |
case R.id.main_menu_contents: | |
show(new ContentsFragment(), false); // Forward animation | |
- break; | |
- case R.id.main_menu_adrenotools_gpu_drivers: | |
- show(new AdrenotoolsFragment(), false); | |
+ break; | |
+ case R.id.main_menu_adrenotools_gpu_drivers: | |
+ show(new AdrenotoolsFragment(), false); | |
break; | |
case R.id.main_menu_saves: | |
show(new SavesFragment(), false); // Forward animation | |
diff --git a/app/src/main/java/com/winlator/SavesFragment.java b/app/src/main/java/com/winlator/cmod/SavesFragment.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/SavesFragment.java | |
rename to app/src/main/java/com/winlator/cmod/SavesFragment.java | |
index 24100c7..ff1e8f6 100644 | |
--- a/app/src/main/java/com/winlator/SavesFragment.java | |
+++ b/app/src/main/java/com/winlator/cmod/SavesFragment.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.app.Activity; | |
import android.app.AlertDialog; | |
@@ -32,17 +32,17 @@ import androidx.recyclerview.widget.DividerItemDecoration; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.core.PreloaderDialog; | |
-import com.winlator.core.TarCompressorUtils; | |
-import com.winlator.saves.Save; | |
-import com.winlator.saves.SaveManager; | |
- | |
-import org.json.JSONException; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.core.PreloaderDialog; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
+import com.winlator.cmod.saves.Save; | |
+import com.winlator.cmod.saves.SaveManager; | |
+ | |
import org.json.JSONObject; | |
import java.io.File; | |
diff --git a/app/src/main/java/com/winlator/SettingsFragment.java b/app/src/main/java/com/winlator/cmod/SettingsFragment.java | |
similarity index 86% | |
rename from app/src/main/java/com/winlator/SettingsFragment.java | |
rename to app/src/main/java/com/winlator/cmod/SettingsFragment.java | |
index 5458b5b..03faca6 100644 | |
--- a/app/src/main/java/com/winlator/SettingsFragment.java | |
+++ b/app/src/main/java/com/winlator/cmod/SettingsFragment.java | |
@@ -1,11 +1,10 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.app.Activity; | |
import android.app.AlertDialog; | |
import android.content.Context; | |
import android.content.Intent; | |
import android.content.SharedPreferences; | |
-import android.content.res.AssetManager; | |
import android.content.res.TypedArray; | |
import android.graphics.Color; | |
import android.hardware.Sensor; | |
@@ -41,40 +40,40 @@ import androidx.fragment.app.FragmentManager; | |
import androidx.preference.PreferenceManager; | |
import com.google.android.material.navigation.NavigationView; | |
-import com.winlator.box86_64.Box86_64EditPresetDialog; | |
-import com.winlator.box86_64.Box86_64Preset; | |
-import com.winlator.box86_64.Box86_64PresetManager; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.ArrayUtils; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.PreloaderDialog; | |
-import com.winlator.core.StringUtils; | |
-import com.winlator.core.TarCompressorUtils; | |
-import com.winlator.core.WineInfo; | |
-import com.winlator.core.WineUtils; | |
-import com.winlator.inputcontrols.ControlElement; | |
-import com.winlator.inputcontrols.ControlsProfile; | |
-import com.winlator.inputcontrols.ExternalController; | |
-import com.winlator.inputcontrols.PreferenceKeys; | |
-import com.winlator.midi.MidiManager; | |
-import com.winlator.restore.RestoreActivity; | |
-import com.winlator.widget.InputControlsView; | |
-import com.winlator.xenvironment.ImageFs; | |
-import com.winlator.xenvironment.ImageFsInstaller; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.box86_64.Box86_64EditPresetDialog; | |
+import com.winlator.cmod.box86_64.Box86_64Preset; | |
+import com.winlator.cmod.box86_64.Box86_64PresetManager; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.ArrayUtils; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.PreloaderDialog; | |
+import com.winlator.cmod.core.StringUtils; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
+import com.winlator.cmod.core.WineInfo; | |
+import com.winlator.cmod.core.WineUtils; | |
+import com.winlator.cmod.inputcontrols.ControlElement; | |
+import com.winlator.cmod.inputcontrols.ExternalController; | |
+import com.winlator.cmod.inputcontrols.PreferenceKeys; | |
+import com.winlator.cmod.midi.MidiManager; | |
+import com.winlator.cmod.restore.RestoreActivity; | |
+import com.winlator.cmod.widget.InputControlsView; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
+import com.winlator.cmod.xenvironment.ImageFsInstaller; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
+import org.tukaani.xz.check.Check; | |
import java.io.File; | |
import java.io.IOException; | |
-import java.io.InputStream; | |
import java.util.ArrayList; | |
import java.util.Arrays; | |
import java.util.List; | |
@@ -83,7 +82,6 @@ import java.util.concurrent.Executors; | |
public class SettingsFragment extends Fragment { | |
public static final String DEFAULT_WINE_DEBUG_CHANNELS = "warn,err,fixme"; | |
- private Callback<Uri> selectWineFileCallback; | |
private Callback<Uri> installSoundFontCallback; | |
private PreloaderDialog preloaderDialog; | |
public static final String DEFAULT_EXPORT_PATH = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/Winlator/Frontend"; | |
@@ -400,10 +398,6 @@ public class SettingsFragment extends Fragment { | |
} | |
btHelpTriggerMode.setOnClickListener(v -> AppUtils.showHelpBox(context, v, R.string.help_trigger_mode)); | |
- final CheckBox cbUseGlibc = view.findViewById(R.id.CBUseGlibc); | |
- cbUseGlibc.setChecked(preferences.getBoolean("use_glibc", true)); | |
- cbUseGlibc.setEnabled(false); | |
- | |
final CheckBox cbEnableFileProvider = view.findViewById(R.id.CBEnableFileProvider); | |
final View btHelpFileProvider = view.findViewById(R.id.BTHelpFileProvider); | |
@@ -411,11 +405,11 @@ public class SettingsFragment extends Fragment { | |
cbEnableFileProvider.setOnClickListener(v -> AppUtils.showToast(context, R.string.take_effect_next_startup)); | |
btHelpFileProvider.setOnClickListener(v -> AppUtils.showHelpBox(context, v, R.string.help_file_provider)); | |
- loadInstalledWineList(view); | |
+ final CheckBox cbOpenInBrowser = view.findViewById(R.id.CBOpenWithAndroidBrowser); | |
+ cbOpenInBrowser.setChecked(preferences.getBoolean("open_with_android_browser", false)); | |
- view.findViewById(R.id.BTSelectWineFile).setOnClickListener((v) -> { | |
- ContentDialog.alert(context, R.string.msg_warning_install_wine, this::selectWineFileForInstall); | |
- }); | |
+ final CheckBox cbShareClipboard = view.findViewById(R.id.CBShareAndroidClipboard); | |
+ cbShareClipboard.setChecked(preferences.getBoolean("share_android_clipboard", false)); | |
view.findViewById(R.id.BTReInstallImagefs).setOnClickListener(v -> { | |
ContentDialog.confirm(context, R.string.do_you_want_to_reinstall_imagefs, () -> ImageFsInstaller.installFromAssets((MainActivity) getActivity())); | |
@@ -450,12 +444,14 @@ public class SettingsFragment extends Fragment { | |
editor.putBoolean("enable_wine_debug", cbEnableWineDebug.isChecked()); | |
editor.putBoolean("enable_box86_64_logs", cbEnableBox86_64Logs.isChecked()); | |
editor.putInt("trigger_type", triggerRbIds.indexOf(rgTriggerType.getCheckedRadioButtonId())); | |
- editor.putBoolean("use_glibc", cbUseGlibc.isChecked()); | |
editor.putBoolean("cursor_lock", cbCursorLock.isChecked()); // Save cursor lock state | |
editor.putBoolean("xinput_toggle", cbXinputToggle.isChecked()); // Save xinput toggle state | |
editor.putBoolean("touchscreen_toggle", cbXTouchscreenToggle.isChecked()); // Save touchscreen toggle state | |
editor.putBoolean("force_mouse_control_enabled", cbForceMouseControl.isChecked()); | |
editor.putBoolean("enable_file_provider", cbEnableFileProvider.isChecked()); | |
+ editor.putBoolean("open_with_android_browser", cbOpenInBrowser.isChecked()); | |
+ editor.putBoolean("share_android_clipboard", cbShareClipboard.isChecked()); | |
+ | |
// Save gyro settings | |
editor.putBoolean("gyro_enabled", cbGyroEnabled.isChecked()); | |
@@ -533,11 +529,6 @@ public class SettingsFragment extends Fragment { | |
} | |
private void applyDynamicStylesRecursively(View view) { | |
- | |
- // Find TextViews by ID and apply dynamic styles | |
- TextView installedWineLabel = view.findViewById(R.id.TVInstalledWine); | |
- applyFieldSetLabelStyle(installedWineLabel, isDarkMode); | |
- | |
TextView box86box64Label = view.findViewById(R.id.TVBox86Box64); | |
applyFieldSetLabelStyle(box86box64Label, isDarkMode); | |
@@ -690,85 +681,6 @@ public class SettingsFragment extends Fragment { | |
view.findViewById(R.id.BTRemoveBox64Preset).setOnClickListener((v) -> onRemovePreset.call("box64")); | |
} | |
- private void removeInstalledWine(WineInfo wineInfo, Runnable onSuccess) { | |
- final Activity activity = getActivity(); | |
- ContainerManager manager = new ContainerManager(activity); | |
- | |
- ArrayList<Container> containers = manager.getContainers(); | |
- for (Container container : containers) { | |
- if (container.getWineVersion().equals(wineInfo.identifier())) { | |
- AppUtils.showToast(activity, R.string.unable_to_remove_this_wine_version); | |
- return; | |
- } | |
- } | |
- | |
- String suffix = wineInfo.fullVersion()+"-"+wineInfo.getArch(); | |
- File installedWineDir = ImageFs.find(activity).getInstalledWineDir(); | |
- File wineDir = new File(wineInfo.path); | |
- File containerPatternFile = new File(installedWineDir, "container-pattern-"+suffix+".tzst"); | |
- | |
- if (!wineDir.isDirectory() || !containerPatternFile.isFile()) { | |
- AppUtils.showToast(activity, R.string.unable_to_remove_this_wine_version); | |
- return; | |
- } | |
- | |
- preloaderDialog.show(R.string.removing_wine); | |
- Executors.newSingleThreadExecutor().execute(() -> { | |
- FileUtils.delete(wineDir); | |
- FileUtils.delete(containerPatternFile); | |
- preloaderDialog.closeOnUiThread(); | |
- if (onSuccess != null) activity.runOnUiThread(onSuccess); | |
- }); | |
- } | |
- | |
- private void loadInstalledWineList(final View view) { | |
- Context context = getContext(); | |
- LinearLayout container = view.findViewById(R.id.LLInstalledWineList); | |
- container.removeAllViews(); | |
- ArrayList<WineInfo> wineInfos = WineUtils.getInstalledWineInfos(context); | |
- | |
- LayoutInflater inflater = LayoutInflater.from(context); | |
- for (final WineInfo wineInfo : wineInfos) { | |
- View itemView = inflater.inflate(R.layout.installed_wine_list_item, container, false); | |
- ((TextView)itemView.findViewById(R.id.TVTitle)).setText(wineInfo.toString()); | |
- if (wineInfo != WineInfo.MAIN_WINE_VERSION) { | |
- View removeButton = itemView.findViewById(R.id.BTRemove); | |
- removeButton.setVisibility(View.VISIBLE); | |
- removeButton.setOnClickListener((v) -> { | |
- ContentDialog.confirm(getContext(), R.string.do_you_want_to_remove_this_wine_version, () -> { | |
- removeInstalledWine(wineInfo, () -> loadInstalledWineList(view)); | |
- }); | |
- }); | |
- } | |
- container.addView(itemView); | |
- } | |
- } | |
- | |
- private void selectWineFileForInstall() { | |
- final Context context = getContext(); | |
- selectWineFileCallback = (uri) -> { | |
- preloaderDialog.show(R.string.preparing_installation); | |
- WineUtils.extractWineFileForInstallAsync(context, uri, (wineDir) -> { | |
- if (wineDir != null) { | |
- WineUtils.findWineVersionAsync(context, wineDir, (wineInfo) -> { | |
- preloaderDialog.closeOnUiThread(); | |
- if (wineInfo == null) { | |
- AppUtils.showToast(context, R.string.unable_to_install_wine); | |
- return; | |
- } | |
- | |
- getActivity().runOnUiThread(() -> showWineInstallOptionsDialog(wineInfo)); | |
- }); | |
- } | |
- else { | |
- AppUtils.showToast(context, R.string.unable_to_install_wine); | |
- preloaderDialog.closeOnUiThread(); | |
- } | |
- }); | |
- }; | |
- openFile(MainActivity.OPEN_FILE_REQUEST_CODE); | |
- } | |
- | |
private void openFile(int requestCode) { | |
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); | |
@@ -780,45 +692,6 @@ public class SettingsFragment extends Fragment { | |
} | |
- private void installWine(final WineInfo wineInfo) { | |
- Context context = getContext(); | |
- File installedWineDir = ImageFs.find(context).getInstalledWineDir(); | |
- | |
- File wineDir = new File(installedWineDir, wineInfo.identifier()); | |
- if (wineDir.isDirectory()) { | |
- AppUtils.showToast(context, R.string.unable_to_install_wine); | |
- return; | |
- } | |
- | |
- Intent intent = new Intent(context, XServerDisplayActivity.class); | |
- intent.putExtra("generate_wineprefix", true); | |
- intent.putExtra("wine_info", wineInfo); | |
- context.startActivity(intent); | |
- } | |
- | |
- private void showWineInstallOptionsDialog(final WineInfo wineInfo) { | |
- Context context = getContext(); | |
- ContentDialog dialog = new ContentDialog(context, R.layout.wine_install_options_dialog); | |
- dialog.setCancelable(false); | |
- dialog.setCanceledOnTouchOutside(false); | |
- dialog.setTitle(R.string.install_wine); | |
- dialog.setIcon(R.drawable.icon_wine); | |
- | |
- EditText etVersion = dialog.findViewById(R.id.ETVersion); | |
- etVersion.setText("Wine "+wineInfo.version+(wineInfo.subversion != null ? " ("+wineInfo.subversion+")" : "")); | |
- | |
- Spinner sArch = dialog.findViewById(R.id.SArch); | |
- List<String> archList = wineInfo.isWin64() ? Arrays.asList("x86", "x86_64") : Arrays.asList("x86"); | |
- sArch.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, archList)); | |
- sArch.setSelection(archList.size()-1); | |
- | |
- dialog.setOnConfirmCallback(() -> { | |
- wineInfo.setArch(sArch.getSelectedItem().toString()); | |
- installWine(wineInfo); | |
- }); | |
- dialog.show(); | |
- } | |
- | |
private void loadWineDebugChannels(final View view, final ArrayList<String> debugChannels) { | |
final Context context = getContext(); | |
LinearLayout container = view.findViewById(R.id.LLWineDebugChannels); | |
@@ -1151,14 +1024,6 @@ public class SettingsFragment extends Fragment { | |
if (isRestoreAction) { | |
restoreAppData(uri); | |
isRestoreAction = false; // Reset the flag | |
- } else if (selectWineFileCallback != null) { | |
- try { | |
- selectWineFileCallback.call(uri); | |
- } catch (Exception e) { | |
- AppUtils.showToast(getContext(), R.string.unable_to_import_profile); | |
- } finally { | |
- selectWineFileCallback = null; | |
- } | |
} | |
break; | |
diff --git a/app/src/main/java/com/winlator/ShortcutBroadcastReceiver.java b/app/src/main/java/com/winlator/cmod/ShortcutBroadcastReceiver.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/ShortcutBroadcastReceiver.java | |
rename to app/src/main/java/com/winlator/cmod/ShortcutBroadcastReceiver.java | |
index aa9911e..fbe9f1c 100644 | |
--- a/app/src/main/java/com/winlator/ShortcutBroadcastReceiver.java | |
+++ b/app/src/main/java/com/winlator/cmod/ShortcutBroadcastReceiver.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.content.BroadcastReceiver; | |
import android.content.Context; | |
diff --git a/app/src/main/java/com/winlator/ShortcutsFragment.java b/app/src/main/java/com/winlator/cmod/ShortcutsFragment.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/ShortcutsFragment.java | |
rename to app/src/main/java/com/winlator/cmod/ShortcutsFragment.java | |
index bd55719..a4ea720 100644 | |
--- a/app/src/main/java/com/winlator/ShortcutsFragment.java | |
+++ b/app/src/main/java/com/winlator/cmod/ShortcutsFragment.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import static androidx.core.content.ContextCompat.getSystemService; | |
@@ -36,12 +36,13 @@ import androidx.recyclerview.widget.DividerItemDecoration; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.container.Shortcut; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.contentdialog.ShortcutSettingsDialog; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.container.Shortcut; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.contentdialog.ShortcutSettingsDialog; | |
+import com.winlator.cmod.core.FileUtils; | |
import java.io.BufferedReader; | |
import java.io.File; | |
@@ -306,12 +307,12 @@ public class ShortcutsFragment extends Fragment { | |
writer.write("Platform Type: Custom\n"); | |
writer.write("Name: Windows (or Winlator, whatever you prefer)\n"); | |
writer.write("Short name: windows\n"); | |
- writer.write("Player app: Select Winlator.glibcmod (or whichever fork you are using that has adopted this code)\n"); | |
+ writer.write("Player app: Select Winlator.CMOD (or whichever fork you are using that has adopted this code)\n"); | |
writer.write("ROMs folder: Use Android FilePicker to select the Downloads\\Winlator\\Frontend directory\n"); | |
writer.write("Expand Advanced:\n"); | |
writer.write("File handling: Default\n"); | |
writer.write("Use custom launch: True\n"); | |
- writer.write("am start command: am start -n com.winlator/com.winlator.XServerDisplayActivity -e shortcut_path {file_path}\n\n"); | |
+ writer.write("am start command: am start -n " + getContext().getPackageName() + "/com.winlator.cmod.XServerDisplayActivity -e shortcut_path {file_path}\n\n"); | |
writer.write("4. Click Save\n"); | |
writer.write("5. Scan the folder for your game\n"); | |
writer.write("6. Launch your game!\n"); | |
@@ -329,7 +330,7 @@ public class ShortcutsFragment extends Fragment { | |
writer.write("shortname: windows\n"); | |
writer.write("extensions: desktop\n"); | |
writer.write("launch: am start\n"); | |
- writer.write(" -n com.winlator/.XServerDisplayActivity\n"); | |
+ writer.write(" -n " + getContext().getPackageName() + "/.XServerDisplayActivity\n"); | |
writer.write(" -e shortcut_path {file.path}\n"); | |
writer.write(" --activity-clear-task\n"); | |
writer.write(" --activity-clear-top\n"); | |
diff --git a/app/src/main/java/com/winlator/TerminalActivity.java b/app/src/main/java/com/winlator/cmod/TerminalActivity.java | |
similarity index 74% | |
rename from app/src/main/java/com/winlator/TerminalActivity.java | |
rename to app/src/main/java/com/winlator/cmod/TerminalActivity.java | |
index bf899bb..b17fbea 100644 | |
--- a/app/src/main/java/com/winlator/TerminalActivity.java | |
+++ b/app/src/main/java/com/winlator/cmod/TerminalActivity.java | |
@@ -1,22 +1,19 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
-import android.content.SharedPreferences; | |
import android.os.Bundle; | |
-import android.preference.PreferenceManager; | |
import android.view.View; | |
import android.widget.Button; | |
import android.widget.EditText; | |
import android.widget.TextView; | |
import androidx.appcompat.app.AppCompatActivity; | |
-import com.winlator.R; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.xenvironment.ImageFs; | |
-import com.winlator.xenvironment.XEnvironment; | |
-import com.winlator.xenvironment.components.GlibcProgramLauncherComponent; | |
-import com.winlator.xenvironment.components.BionicProgramLauncherComponent; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.xenvironment.components.GuestProgramLauncherComponent; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
+import com.winlator.cmod.xenvironment.XEnvironment; | |
+import com.winlator.cmod.xenvironment.components.BionicProgramLauncherComponent; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.xenvironment.components.GuestProgramLauncherComponent; | |
import java.io.File; | |
@@ -50,16 +47,8 @@ public class TerminalActivity extends AppCompatActivity { | |
// Initialize ContentsManager | |
ContentsManager contentsManager = new ContentsManager(this); | |
- // Load preference to determine whether to use Glibc or Bionic | |
- SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); | |
- boolean useGlibc = preferences.getBoolean("use_glibc", true); | |
- | |
// Choose the appropriate launcher based on preference | |
- if (useGlibc) { | |
- launcher = new GlibcProgramLauncherComponent(contentsManager, null, null); | |
- } else { | |
- launcher = new BionicProgramLauncherComponent(contentsManager, null, null); | |
- } | |
+ launcher = new BionicProgramLauncherComponent(contentsManager, null, null); | |
// Add the launcher to XEnvironment | |
xEnvironment.addComponent(launcher); | |
diff --git a/app/src/main/java/com/winlator/XServerDisplayActivity.java b/app/src/main/java/com/winlator/cmod/XServerDisplayActivity.java | |
similarity index 76% | |
rename from app/src/main/java/com/winlator/XServerDisplayActivity.java | |
rename to app/src/main/java/com/winlator/cmod/XServerDisplayActivity.java | |
index bde1633..9162733 100644 | |
--- a/app/src/main/java/com/winlator/XServerDisplayActivity.java | |
+++ b/app/src/main/java/com/winlator/cmod/XServerDisplayActivity.java | |
@@ -1,32 +1,28 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
-import static com.winlator.core.AppUtils.showToast; | |
+import static com.winlator.cmod.core.AppUtils.showToast; | |
import android.annotation.SuppressLint; | |
import android.app.Activity; | |
-import android.content.BroadcastReceiver; | |
+import android.content.ClipData; | |
+import android.content.ClipboardManager; | |
import android.content.Context; | |
import android.content.Intent; | |
-import android.content.IntentFilter; | |
import android.content.SharedPreferences; | |
import android.content.pm.ActivityInfo; | |
-import android.content.pm.PackageInfo; | |
import android.content.pm.PackageManager; | |
-import android.content.res.AssetManager; | |
import android.content.res.Configuration; | |
import android.hardware.Sensor; | |
import android.hardware.SensorEvent; | |
import android.hardware.SensorEventListener; | |
import android.hardware.SensorManager; | |
-import android.os.Build; | |
+import android.net.Uri; | |
import android.os.Bundle; | |
import android.os.FileObserver; | |
import android.os.Handler; | |
import android.os.Looper; | |
import android.util.Log; | |
-import android.view.InputDevice; | |
import android.view.KeyEvent; | |
-import android.view.LayoutInflater; | |
import android.view.Menu; | |
import android.view.MenuItem; | |
import android.view.MotionEvent; | |
@@ -34,11 +30,8 @@ import android.view.PointerIcon; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.ArrayAdapter; | |
-import android.widget.Button; | |
import android.widget.CheckBox; | |
-import android.widget.EditText; | |
import android.widget.FrameLayout; | |
-import android.widget.LinearLayout; | |
import android.widget.Spinner; | |
import android.widget.TextView; | |
import android.widget.Toast; | |
@@ -47,7 +40,6 @@ import androidx.activity.result.ActivityResultLauncher; | |
import androidx.activity.result.contract.ActivityResultContracts; | |
import androidx.annotation.NonNull; | |
import androidx.annotation.Nullable; | |
-import androidx.annotation.RequiresApi; | |
import androidx.appcompat.app.AppCompatActivity; | |
import androidx.core.content.ContextCompat; | |
import androidx.core.view.GravityCompat; | |
@@ -55,86 +47,87 @@ import androidx.drawerlayout.widget.DrawerLayout; | |
import androidx.preference.PreferenceManager; | |
import com.google.android.material.navigation.NavigationView; | |
-import com.winlator.box86_64.rc.RCFile; | |
-import com.winlator.box86_64.rc.RCManager; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.container.Shortcut; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.contentdialog.DXVKConfigDialog; | |
-import com.winlator.contentdialog.DebugDialog; | |
-import com.winlator.contentdialog.GamepadConfiguratorDialog; | |
-import com.winlator.contentdialog.ScreenEffectDialog; | |
-import com.winlator.contentdialog.VKD3DConfigDialog; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.contents.AdrenotoolsManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.EnvironmentManager; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.GPUInformation; | |
-import com.winlator.core.KeyValueSet; | |
-import com.winlator.core.OnExtractFileListener; | |
-import com.winlator.core.PreloaderDialog; | |
-import com.winlator.core.ProcessHelper; | |
-import com.winlator.core.StringUtils; | |
-import com.winlator.core.TarCompressorUtils; | |
-import com.winlator.core.Win32AppWorkarounds; | |
-import com.winlator.core.WineInfo; | |
-import com.winlator.core.WineRegistryEditor; | |
-import com.winlator.core.WineStartMenuCreator; | |
-import com.winlator.core.WineThemeManager; | |
-import com.winlator.core.WineUtils; | |
-import com.winlator.fexcore.FEXCoreManager; | |
-import com.winlator.inputcontrols.ControlsProfile; | |
-import com.winlator.inputcontrols.ExternalController; | |
-import com.winlator.inputcontrols.InputControlsManager; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.math.XForm; | |
-import com.winlator.midi.MidiHandler; | |
-import com.winlator.midi.MidiManager; | |
-import com.winlator.renderer.GLRenderer; | |
-import com.winlator.renderer.effects.CRTEffect; | |
-import com.winlator.renderer.effects.ColorEffect; | |
-import com.winlator.renderer.effects.FXAAEffect; | |
-import com.winlator.renderer.effects.NTSCCombinedEffect; | |
-import com.winlator.renderer.effects.ToonEffect; | |
-import com.winlator.widget.FrameRating; | |
-import com.winlator.widget.InputControlsView; | |
-import com.winlator.widget.LogView; | |
-import com.winlator.widget.MagnifierView; | |
-import com.winlator.widget.TouchpadView; | |
-import com.winlator.widget.WinetricksFloatingView; | |
-import com.winlator.widget.XServerView; | |
-import com.winlator.winhandler.TaskManagerDialog; | |
-import com.winlator.winhandler.WinHandler; | |
-import com.winlator.xconnector.UnixSocketConfig; | |
-import com.winlator.xenvironment.ImageFs; | |
-import com.winlator.xenvironment.XEnvironment; | |
-import com.winlator.xenvironment.components.ALSAServerComponent; | |
-import com.winlator.xenvironment.components.BionicProgramLauncherComponent; | |
-import com.winlator.xenvironment.components.GlibcProgramLauncherComponent; | |
-import com.winlator.xenvironment.components.GuestProgramLauncherComponent; | |
-import com.winlator.xenvironment.components.NetworkInfoUpdateComponent; | |
-import com.winlator.xenvironment.components.PulseAudioComponent; | |
-import com.winlator.xenvironment.components.SysVSharedMemoryComponent; | |
-import com.winlator.xenvironment.components.VirGLRendererComponent; | |
-import com.winlator.xenvironment.components.XServerComponent; | |
-import com.winlator.xserver.Pointer; | |
-import com.winlator.xserver.Property; | |
-import com.winlator.xserver.ScreenInfo; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.WindowManager; | |
-import com.winlator.xserver.XServer; | |
- | |
-import java.nio.file.Files; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.box86_64.rc.RCFile; | |
+import com.winlator.cmod.box86_64.rc.RCManager; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.container.Shortcut; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.contentdialog.DXVKConfigDialog; | |
+import com.winlator.cmod.contentdialog.DebugDialog; | |
+import com.winlator.cmod.contentdialog.ScreenEffectDialog; | |
+import com.winlator.cmod.contentdialog.VKD3DConfigDialog; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.contents.AdrenotoolsManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.EnvironmentManager; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.GPUInformation; | |
+import com.winlator.cmod.core.KeyValueSet; | |
+import com.winlator.cmod.core.OnExtractFileListener; | |
+import com.winlator.cmod.core.PreloaderDialog; | |
+import com.winlator.cmod.core.ProcessHelper; | |
+import com.winlator.cmod.core.StringUtils; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
+import com.winlator.cmod.core.Win32AppWorkarounds; | |
+import com.winlator.cmod.core.WineInfo; | |
+import com.winlator.cmod.core.WineRegistryEditor; | |
+import com.winlator.cmod.core.WineRequestHandler; | |
+import com.winlator.cmod.core.WineStartMenuCreator; | |
+import com.winlator.cmod.core.WineThemeManager; | |
+import com.winlator.cmod.core.WineUtils; | |
+import com.winlator.cmod.fexcore.FEXCoreManager; | |
+import com.winlator.cmod.inputcontrols.ControlsProfile; | |
+import com.winlator.cmod.inputcontrols.ExternalController; | |
+import com.winlator.cmod.inputcontrols.InputControlsManager; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.math.XForm; | |
+import com.winlator.cmod.midi.MidiHandler; | |
+import com.winlator.cmod.midi.MidiManager; | |
+import com.winlator.cmod.renderer.GLRenderer; | |
+import com.winlator.cmod.renderer.effects.CRTEffect; | |
+import com.winlator.cmod.renderer.effects.ColorEffect; | |
+import com.winlator.cmod.renderer.effects.FXAAEffect; | |
+import com.winlator.cmod.renderer.effects.NTSCCombinedEffect; | |
+import com.winlator.cmod.renderer.effects.ToonEffect; | |
+import com.winlator.cmod.widget.FrameRating; | |
+import com.winlator.cmod.widget.InputControlsView; | |
+import com.winlator.cmod.widget.LogView; | |
+import com.winlator.cmod.widget.MagnifierView; | |
+import com.winlator.cmod.widget.TouchpadView; | |
+import com.winlator.cmod.widget.WinetricksFloatingView; | |
+import com.winlator.cmod.widget.XServerView; | |
+import com.winlator.cmod.winhandler.TaskManagerDialog; | |
+import com.winlator.cmod.winhandler.WinHandler; | |
+import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
+import com.winlator.cmod.xenvironment.XEnvironment; | |
+import com.winlator.cmod.xenvironment.components.ALSAServerComponent; | |
+import com.winlator.cmod.xenvironment.components.BionicProgramLauncherComponent; | |
+import com.winlator.cmod.xenvironment.components.GlibcProgramLauncherComponent; | |
+import com.winlator.cmod.xenvironment.components.GuestProgramLauncherComponent; | |
+import com.winlator.cmod.xenvironment.components.NetworkInfoUpdateComponent; | |
+import com.winlator.cmod.xenvironment.components.PulseAudioComponent; | |
+import com.winlator.cmod.xenvironment.components.SysVSharedMemoryComponent; | |
+import com.winlator.cmod.xenvironment.components.XServerComponent; | |
+import com.winlator.cmod.xserver.Pointer; | |
+import com.winlator.cmod.xserver.Property; | |
+import com.winlator.cmod.xserver.ScreenInfo; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.WindowManager; | |
+import com.winlator.cmod.xserver.XServer; | |
+ | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
import java.io.BufferedReader; | |
+import java.io.DataInputStream; | |
+import java.io.DataOutputStream; | |
import java.io.File; | |
import java.io.FileInputStream; | |
import java.io.FileOutputStream; | |
@@ -143,13 +136,15 @@ import java.io.IOException; | |
import java.io.InputStream; | |
import java.io.InputStreamReader; | |
import java.io.OutputStream; | |
-import java.lang.reflect.Method; | |
+import java.lang.reflect.Field; | |
+import java.net.ServerSocket; | |
+import java.net.Socket; | |
+import java.nio.charset.StandardCharsets; | |
import java.util.ArrayDeque; | |
import java.util.ArrayList; | |
-import java.util.HashMap; | |
import java.util.Iterator; | |
-import java.util.List; | |
import java.util.Map; | |
+import java.util.concurrent.Executor; | |
import java.util.concurrent.Executors; | |
import cn.sherlock.com.sun.media.sound.SF2Soundbank; | |
@@ -172,6 +167,7 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
private String audioDriver = Container.DEFAULT_AUDIO_DRIVER; | |
private String emulator = Container.DEFAULT_EMULATOR; | |
private String dxwrapper = Container.DEFAULT_DXWRAPPER; | |
+ private String ddrawrapper = Container.DEFAULT_DDRAWRAPPER; | |
private KeyValueSet dxwrapperConfig; | |
private WineInfo wineInfo; | |
private final EnvVars envVars = new EnvVars(); | |
@@ -179,6 +175,7 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
private SharedPreferences preferences; | |
private OnExtractFileListener onExtractFileListener; | |
private WinHandler winHandler; | |
+ private WineRequestHandler wineRequestHandler; | |
private float globalCursorSpeed = 1.0f; | |
private MagnifierView magnifierView; | |
private DebugDialog debugDialog; | |
@@ -208,11 +205,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
private Runnable savePlaytimeRunnable; | |
private static final long SAVE_INTERVAL_MS = 1000; | |
-// private boolean overrideGraphicsDriver = false; | |
- | |
- private String currentTurnipVersion; | |
- private String originalContainerDriverVersion; | |
- | |
private Handler timeoutHandler = new Handler(Looper.getMainLooper()); | |
private Runnable hideControlsRunnable; | |
@@ -303,12 +295,16 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
// Check for Dark Mode | |
isDarkMode = preferences.getBoolean("dark_mode", false); | |
+ boolean isOpenWithAndroidBrowser = preferences.getBoolean("open_with_android_browser", false); | |
+ boolean isShareAndroidClipboard = preferences.getBoolean("share_android_clipboard", false); | |
+ | |
// Initialize the WinHandler after context is set up | |
winHandler = new WinHandler(this); | |
winHandler.initializeController(); | |
controller = winHandler.getCurrentController(); | |
- | |
+ if (isOpenWithAndroidBrowser || isShareAndroidClipboard) | |
+ wineRequestHandler = new WineRequestHandler(this); | |
if (controller != null) { | |
int triggerType = preferences.getInt("trigger_type", ExternalController.TRIGGER_IS_AXIS); // Default to TRIGGER_IS_AXIS | |
@@ -519,6 +515,7 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
emulator = container.getEmulator(); | |
midiSoundFont = container.getMIDISoundFont(); | |
dxwrapper = container.getDXWrapper(); | |
+ ddrawrapper = container.getDDrawWrapper(); | |
String dxwrapperConfig = container.getDXWrapperConfig(); | |
screenSize = container.getScreenSize(); | |
winHandler.setInputType((byte) container.getInputType()); | |
@@ -533,6 +530,7 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
audioDriver = shortcut.getExtra("audioDriver", container.getAudioDriver()); | |
emulator = shortcut.getExtra("emulator", container.getEmulator()); | |
dxwrapper = shortcut.getExtra("dxwrapper", container.getDXWrapper()); | |
+ ddrawrapper = shortcut.getExtra("ddrawrapper", container.getDDrawWrapper()); | |
dxwrapperConfig = shortcut.getExtra("dxwrapperConfig", container.getDXWrapperConfig()); | |
screenSize = shortcut.getExtra("screenSize", container.getScreenSize()); | |
lc_all = shortcut.getExtra("lc_all", container.getLC_ALL()); | |
@@ -644,20 +642,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
// Check if a profile is defined by the shortcut | |
String controlsProfile = shortcut != null ? shortcut.getExtra("controlsProfile", "") : ""; | |
- | |
- if (container != null && container.isBionic()) { | |
- switchUsrSymlinkToBionic(); | |
- } | |
- else { | |
- switchUsrSymlinkToGlibc(); | |
- } | |
- | |
- if (container.isBionic()) { | |
- switchWineSymlinkToBionic(imageFs); | |
- } | |
- else { | |
- switchWineSymlinkToGlibc(imageFs); | |
- } | |
Runnable runnable = () -> { | |
setupUI(); | |
@@ -674,11 +658,19 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
// container.setGraphicsDriverVersion(originalContainerDriverVersion); | |
// container.saveData(); | |
changeWineAudioDriver(); | |
- if (container != null && container.isBionic()) { | |
- if (emulator.toLowerCase().equals("fexcore")) | |
+ if (container != null) { | |
+ if (!wineInfo.isArm64EC()) | |
+ envVars.put("HODLL", "wow64cpu.dll"); | |
+ else if (emulator.toLowerCase().equals("fexcore")) | |
envVars.put("HODLL", "libwow64fex.dll"); | |
else | |
envVars.put("HODLL", "box64cpu.dll"); | |
+ if (isOpenWithAndroidBrowser) | |
+ envVars.put("WINE_OPEN_WITH_ANDROID_BROWSER", "1"); | |
+ if (isShareAndroidClipboard) { | |
+ envVars.put("WINE_FROM_ANDROID_CLIPBOARD", "1"); | |
+ envVars.put("WINE_TO_ANDROID_CLIPBOARD", "1"); | |
+ } | |
} | |
// runWinetricksAfterSetup(); | |
// Run winetricks before setting up the X environment | |
@@ -704,47 +696,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
runnable.run(); | |
} | |
- private void switchUsrSymlinkToBionic() { | |
- File rootDir = imageFs.getRootDir(); | |
- File usrLink = new File(rootDir, "usr"); | |
- File usrBionic = new File(rootDir, "usr.bionic"); | |
- | |
- // 1) Remove the existing 'usr' symlink or folder | |
- FileUtils.delete(usrLink); | |
- | |
- // 2) Symlink /usr -> usr.bionic | |
- FileUtils.symlink("usr.bionic", usrLink.getAbsolutePath()); | |
- Log.d("XServerDisplayActivity", "Switched /usr → /usr.bionic (Bionic mode)."); | |
- } | |
- | |
- private void switchUsrSymlinkToGlibc() { | |
- File rootDir = imageFs.getRootDir(); | |
- File usrLink = new File(rootDir, "usr"); | |
- File usrGlibc = new File(rootDir, "usr.glibc"); | |
- | |
- FileUtils.delete(usrLink); | |
- | |
- // Symlink /usr -> usr.glibc | |
- FileUtils.symlink("usr.glibc", usrLink.getAbsolutePath()); | |
- Log.d("XServerDisplayActivity", "Switched /usr → /usr.glibc (Glibc mode)."); | |
- } | |
- | |
- private void switchWineSymlinkToBionic(ImageFs imageFs) { | |
- File link = new File(imageFs.getRootDir(), "opt/wine"); | |
- File bionicDir = new File(imageFs.getRootDir(), "opt/wine.bionic"); | |
- FileUtils.delete(link); | |
- FileUtils.symlink(bionicDir.getName(), link.getAbsolutePath()); | |
- Log.d("ContainerDetailFragment", "Switched /opt/wine → /opt/wine.bionic"); | |
- } | |
- | |
- private void switchWineSymlinkToGlibc(ImageFs imageFs) { | |
- File link = new File(imageFs.getRootDir(), "opt/wine"); | |
- File glibcDir = new File(imageFs.getRootDir(), "opt/wine.glibc"); | |
- FileUtils.delete(link); | |
- FileUtils.symlink(glibcDir.getName(), link.getAbsolutePath()); | |
- Log.d("ContainerDetailFragment", "Switched /opt/wine → /opt/wine.glibc"); | |
- } | |
- | |
// Method to parse container_id from .desktop file | |
private int parseContainerIdFromDesktopFile(File desktopFile) { | |
int containerId = 0; | |
@@ -923,13 +874,13 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
} | |
private void exit() { | |
- boolean once; | |
if (midiHandler != null) midiHandler.stop(); | |
// Unregister sensor listener to avoid memory leaks | |
if (sensorManager != null) sensorManager.unregisterListener(gyroListener); | |
if (environment != null) environment.stopEnvironmentComponents(); | |
if (preloaderDialog != null && preloaderDialog.isShowing()) preloaderDialog.close(); | |
if (winHandler != null) winHandler.stop(); | |
+ if (wineRequestHandler != null) wineRequestHandler.stop(); | |
/* Gracefully terminate all running wine processes */ | |
ProcessHelper.terminateAllWineProcesses(); | |
/* Wait until all processes have gracefully terminated, forcefully killing them only after a certain amount of time */ | |
@@ -981,8 +932,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
} | |
} | |
- | |
- | |
@SuppressLint("SourceLockedOrientationActivity") | |
@Override | |
public boolean onNavigationItemSelected(@NonNull MenuItem item) { | |
@@ -992,10 +941,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
AppUtils.showKeyboard(this); | |
drawerLayout.closeDrawers(); | |
break; | |
-// case R.id.main_menu_gamepad_configurator: // New case for gamepad configurator | |
-// showGamepadConfiguratorDialog(); | |
-// drawerLayout.closeDrawers(); | |
-// break; | |
case R.id.main_menu_input_controls: | |
showInputControlsDialog(); | |
drawerLayout.closeDrawers(); | |
@@ -1005,10 +950,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
drawerLayout.closeDrawers(); | |
touchpadView.toggleFullscreen(); | |
break; | |
-// case R.id.main_menu_toggle_orientation: | |
-// // Handle orientation toggle | |
-// drawerLayout.closeDrawers(); | |
-// break; | |
case R.id.main_menu_pip_mode: | |
enterPictureInPictureMode(); | |
drawerLayout.closeDrawers(); | |
@@ -1061,7 +1002,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
screenEffectDialog.show(); | |
drawerLayout.closeDrawers(); | |
break; | |
- | |
case R.id.main_menu_logs: | |
debugDialog.show(); | |
drawerLayout.closeDrawers(); | |
@@ -1071,100 +1011,82 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
break; | |
case R.id.main_menu_terminal: // New case for TerminalActivity | |
openTerminal(); | |
-// runWinetricksAfterSetup(container, contentsManager); | |
return true; | |
case R.id.main_menu_winetricks: | |
- if (!container.isBionic()) { | |
- if (winetricksFloatingView == null) { | |
- FrameLayout frameLayout = findViewById(R.id.FLXServerDisplay); | |
- | |
- winetricksFloatingView = new WinetricksFloatingView(this); | |
- winetricksFloatingView.setWinetricksListener(new WinetricksFloatingView.WinetricksListener() { | |
- @Override | |
- public void onWinetricksStableClick(String verb, TextView outputView) { | |
- if (!verb.isEmpty()) { | |
- runWinetricksWithVerb(container, contentsManager, verb, outputView); // Use container here | |
- } else { | |
- Toast.makeText(XServerDisplayActivity.this, "Please enter a Winetricks verb", Toast.LENGTH_SHORT).show(); | |
- } | |
+ if (winetricksFloatingView == null) { | |
+ FrameLayout frameLayout = findViewById(R.id.FLXServerDisplay); | |
+ winetricksFloatingView = new WinetricksFloatingView(this); | |
+ winetricksFloatingView.setWinetricksListener(new WinetricksFloatingView.WinetricksListener() { | |
+ @Override | |
+ public void onWinetricksStableClick(String verb, TextView outputView) { | |
+ if (!verb.isEmpty()) { | |
+ runWinetricksWithVerb(container, contentsManager, verb, outputView); // Use container here | |
+ } else { | |
+ Toast.makeText(XServerDisplayActivity.this, "Please enter a Winetricks verb", Toast.LENGTH_SHORT).show(); | |
} | |
+ } | |
- @Override | |
- public void onWinetricksLatestClick(String verb, TextView outputView) { | |
- if (!verb.isEmpty()) { | |
- runWinetricksLatestWithVerb(container, contentsManager, verb, outputView); // Use container here | |
- } else { | |
- Toast.makeText(XServerDisplayActivity.this, "Please enter a Winetricks verb", Toast.LENGTH_SHORT).show(); | |
- } | |
+ @Override | |
+ public void onWinetricksLatestClick(String verb, TextView outputView) { | |
+ if (!verb.isEmpty()) { | |
+ runWinetricksLatestWithVerb(container, contentsManager, verb, outputView); // Use container here | |
+ } else { | |
+ Toast.makeText(XServerDisplayActivity.this, "Please enter a Winetricks verb", Toast.LENGTH_SHORT).show(); | |
} | |
+ } | |
- @Override | |
- public void onOpenWinetricksFolder(TextView outputView) { | |
- runWinetricksFolder(container, contentsManager, outputView); // Use container here | |
- } | |
+ @Override | |
+ public void onOpenWinetricksFolder(TextView outputView) { | |
+ runWinetricksFolder(container, contentsManager, outputView); // Use container here | |
+ } | |
- @Override | |
- public void onToggleTransparency(View floatingView) { | |
- if (floatingView.getAlpha() < 1.0f) { | |
- floatingView.setAlpha(1.0f); | |
- } else { | |
- floatingView.setAlpha(0.5f); | |
- } | |
+ @Override | |
+ public void onToggleTransparency(View floatingView) { | |
+ if (floatingView.getAlpha() < 1.0f) { | |
+ floatingView.setAlpha(1.0f); | |
+ } else { | |
+ floatingView.setAlpha(0.5f); | |
} | |
+ } | |
- @Override | |
- public void onRestartWineserverClick(TextView outputView) { | |
- // NEW | |
- try { | |
- environment.setWinetricksRunning(true); | |
- | |
- // Determine whether to use Glibc or Bionic launcher based on preference | |
- if (glibcLauncher != null) { | |
- glibcLauncher.restartWineServer(); | |
- } else if (bionicLauncher != null) { | |
- bionicLauncher.restartWineServer(); | |
- } else { | |
- runOnUiThread(() -> { | |
- outputView.append("No valid launcher found; cannot restart Wineserver.\n"); | |
- }); | |
- return; // Exit the method early if no valid launcher is found | |
- } | |
- | |
- // If the environment needs frequent re-initialization | |
- setupXEnvironment(); | |
- | |
- // Confirm to the user in logs | |
+ @Override | |
+ public void onRestartWineserverClick(TextView outputView) { | |
+ // NEW | |
+ try { | |
+ environment.setWinetricksRunning(true); | |
+ // Determine whether to use Glibc or Bionic launcher based on preference | |
+ if (bionicLauncher != null) { | |
+ bionicLauncher.restartWineServer(); | |
+ } else { | |
runOnUiThread(() -> { | |
- outputView.append("Wineserver restarted.\n"); | |
+ outputView.append("No valid launcher found; cannot restart Wineserver.\n"); | |
}); | |
- | |
- } catch (Exception e) { | |
- runOnUiThread(() -> outputView.append("Error restarting wineserver: " + e.getMessage() + "\n")); | |
+ return; // Exit the method early if no valid launcher is found | |
} | |
- environment.setWinetricksRunning(false); | |
- } | |
+ // If the environment needs frequent re-initialization | |
+ setupXEnvironment(); | |
- }); | |
+ // Confirm to the user in logs | |
+ runOnUiThread(() -> { | |
+ outputView.append("Wineserver restarted.\n"); | |
+ }); | |
- frameLayout.addView(winetricksFloatingView); | |
- } else { | |
- winetricksFloatingView.setVisibility(View.VISIBLE); | |
- } | |
- drawerLayout.closeDrawers(); | |
+ } catch (Exception e) { | |
+ } | |
+ environment.setWinetricksRunning(false); | |
+ } | |
- return true; | |
+ }); | |
+ frameLayout.addView(winetricksFloatingView); | |
} else { | |
- // Explicitly run Toast on the UI thread | |
- runOnUiThread(() -> | |
- Toast.makeText(this, R.string.bionic_not_supported, Toast.LENGTH_SHORT).show() | |
- ); | |
+ winetricksFloatingView.setVisibility(View.VISIBLE); | |
} | |
+ drawerLayout.closeDrawers(); | |
return true; | |
case R.id.main_menu_exit: | |
exit(); | |
break; | |
- | |
} | |
return true; | |
} | |
@@ -1228,7 +1150,15 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
containerDataChanged = true; | |
} | |
- if (dxwrapper.equals("cnc-ddraw")) envVars.put("CNC_DDRAW_CONFIG_FILE", "C:\\ProgramData\\cnc-ddraw\\ddraw.ini"); | |
+ String ddrawrapper = this.ddrawrapper; | |
+ | |
+ if (!ddrawrapper.equals(container.getExtra("ddrawrapper"))) { | |
+ extractDDrawrapperFiles(ddrawrapper); | |
+ container.putExtra("ddrawrapper", ddrawrapper); | |
+ containerDataChanged = true; | |
+ } | |
+ | |
+ if (ddrawrapper.equals("cnc-ddraw")) envVars.put("CNC_DDRAW_CONFIG_FILE", "C:\\windows\\syswow64\\ddraw.ini"); | |
String wincomponents = shortcut != null ? shortcut.getExtra("wincomponents", container.getWinComponents()) : container.getWinComponents(); | |
if (!wincomponents.equals(container.getExtra("wincomponents"))) { | |
@@ -1292,36 +1222,17 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
String rootPath = imageFs.getRootDir().getPath(); | |
FileUtils.clear(imageFs.getTmpDir()); | |
- // Decide if we should use glibc or bionic launcher | |
- boolean usrGlibc = preferences.getBoolean("use_glibc", true); | |
- | |
- // Determine if the container is bionic | |
- boolean isBionic = container != null && container.isBionic(); | |
// Create the appropriate launcher based on the container type | |
GuestProgramLauncherComponent guestProgramLauncherComponent; | |
- | |
- | |
- if (isBionic) { | |
- // Create Bionic-based launcher | |
- bionicLauncher = new BionicProgramLauncherComponent( | |
- contentsManager, | |
- contentsManager.getProfileByEntryName(container.getWineVersion()), | |
- shortcut | |
- ); | |
- guestProgramLauncherComponent = bionicLauncher; | |
- glibcLauncher = null; // We're not using glibc in this case | |
- } else { | |
- // Create Glibc-based launcher | |
- glibcLauncher = new GlibcProgramLauncherComponent( | |
- contentsManager, | |
- contentsManager.getProfileByEntryName(container.getWineVersion()), | |
- shortcut | |
- ); | |
- guestProgramLauncherComponent = glibcLauncher; | |
- bionicLauncher = null; // We're not using bionic in this case | |
- } | |
+ bionicLauncher = new BionicProgramLauncherComponent( | |
+ contentsManager, | |
+ contentsManager.getProfileByEntryName(container.getWineVersion()), | |
+ shortcut | |
+ ); | |
+ guestProgramLauncherComponent = bionicLauncher; | |
+ glibcLauncher = null; // We're not using glibc in this case | |
// Additional container checks and environment configuration | |
if (container != null) { | |
@@ -1329,6 +1240,7 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
winHandler.killProcess("services.exe"); | |
} | |
+ bionicLauncher.setWineInfo(this.wineInfo); | |
boolean wow64Mode = container.isWoW64Mode(); | |
// Construct the guest executable command | |
String guestExecutable = "wine explorer /desktop=shell," + xServer.screenInfo + " " + getWineStartCommand(); | |
@@ -1393,7 +1305,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
); | |
- | |
environment.addComponent(new NetworkInfoUpdateComponent()); | |
// Audio driver logic | |
@@ -1414,16 +1325,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
); | |
} | |
- // Graphics driver logic | |
- if (graphicsDriver.equals("virgl")) { | |
- environment.addComponent( | |
- new VirGLRendererComponent( | |
- xServer, | |
- UnixSocketConfig.createSocket(rootPath, UnixSocketConfig.VIRGL_SERVER_PATH) | |
- ) | |
- ); | |
- } | |
- | |
// RC (box86_64rc) file handling | |
RCManager manager = new RCManager(this); | |
manager.loadRCFiles(); | |
@@ -1463,6 +1364,8 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
// Start the WinHandler | |
winHandler.start(); | |
+ if (wineRequestHandler != null) wineRequestHandler.start(); | |
+ | |
// Clear envVars if needed | |
// envVars.clear(); | |
@@ -1494,7 +1397,7 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
Map<String, String> envVars = EnvironmentManager.getEnvVars(); | |
// Build environment export section dynamically | |
- StringBuilder dynamicEnvExports = new StringBuilder("#!/data/data/com.winlator/files/imagefs/usr/bin/dash\n"); | |
+ StringBuilder dynamicEnvExports = new StringBuilder("#!" + imageFs.getRootDir() + "/usr/bin/dash\n"); | |
for (Map.Entry<String, String> entry : envVars.entrySet()) { | |
dynamicEnvExports.append("export ").append(entry.getKey()).append("=\"") | |
.append(entry.getValue().replace("\"", "\\\"")).append("\"\n"); | |
@@ -1554,38 +1457,43 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
verb | |
}; | |
- new Thread(() -> { | |
- Process process = null; | |
- try { | |
- ProcessBuilder processBuilder = new ProcessBuilder(command); | |
- processBuilder.directory(new File(imageFs.home_path)); | |
- | |
- Map<String, String> environmentVars = processBuilder.environment(); | |
- for (Map.Entry<String, String> entry : envVars.entrySet()) { | |
- environmentVars.put(entry.getKey(), entry.getValue()); | |
- } | |
+ Executor executor = Executors.newSingleThreadExecutor(); | |
- process = processBuilder.start(); | |
- process.getOutputStream().close(); | |
+ final Process[] process = {null}; | |
- BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); | |
- BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream())); | |
- | |
- appendBufferedLog(reader, outputView, false); | |
- appendBufferedLog(errorReader, outputView, true); | |
- | |
- int exitCode = process.waitFor(); | |
- final int finalExitCode = exitCode; | |
- runOnUiThread(() -> outputView.append("Winetricks exited with code " + finalExitCode + "\n")); | |
- | |
- } catch (Exception e) { | |
- String msg = "Error executing winetricks: " + e.getMessage(); | |
- runOnUiThread(() -> outputView.setText(msg)); | |
- } finally { | |
- // 2. Once Winetricks finishes or fails, re-enable the normal callback | |
- environment.setWinetricksRunning(false); | |
+ executor.execute(new Runnable() { | |
+ @Override | |
+ public void run() { | |
+ try { | |
+ ProcessBuilder processBuilder = new ProcessBuilder(command); | |
+ processBuilder.directory(new File(imageFs.home_path)); | |
+ Map<String, String> environmentVars = processBuilder.environment(); | |
+ for (Map.Entry<String, String> entry : envVars.entrySet()) { | |
+ environmentVars.put(entry.getKey(), entry.getValue()); | |
+ } | |
+ processBuilder.redirectErrorStream(true); | |
+ process[0] = processBuilder.start(); | |
+ runOnUiThread(() -> outputView.setText("")); | |
+ BufferedReader reader = new BufferedReader(new InputStreamReader(process[0].getInputStream())); | |
+ String outputLine = null; | |
+ while (((outputLine = reader.readLine()) != null)) { | |
+ if (outputLine != null) { | |
+ String finalOutputLine = outputLine; | |
+ runOnUiThread(() -> outputView.append(finalOutputLine + "\n")); | |
+ } | |
+ } | |
+ int exitCode = process[0].waitFor(); | |
+ runOnUiThread(() -> outputView.append("Winetricks exited with code " + exitCode + "\n")); | |
+ | |
+ } catch (Exception e) { | |
+ String msg = "Error executing winetricks: " + e.getMessage(); | |
+ runOnUiThread(() -> outputView.setText(msg)); | |
+ } finally { | |
+ // 2. Once Winetricks finishes or fails, kill eventual stale processes | |
+ environment.setWinetricksRunning(false); | |
+ } | |
} | |
- }).start(); | |
+ }); | |
} | |
private void runWinetricksLatestWithVerb(Container container, | |
@@ -1772,7 +1680,7 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
private void runWinetricksFolder(Container container, ContentsManager contentsManager, TextView outputView) { | |
// The path to where you'd like to store your dynamic script | |
- String scriptPath = "/data/user/0/com.winlator/files/imagefs/usr/bin/winetricksfolder"; | |
+ String scriptPath = imageFs.getRootDir() + "/usr/bin/winetricksfolder"; | |
// 1. Generate (or overwrite) the script | |
createWinetricksFolderScript(container, contentsManager, scriptPath); | |
@@ -1845,7 +1753,7 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
// 2. Construct environment-variable exports similarly to createWineWrappers() | |
// (fetch the env vars from EnvironmentManager) | |
Map<String, String> envVars = EnvironmentManager.getEnvVars(); | |
- StringBuilder dynamicEnvExports = new StringBuilder("#!/data/data/com.winlator/files/imagefs/usr/bin/dash\n"); | |
+ StringBuilder dynamicEnvExports = new StringBuilder("#!" + imageFs.getRootDir().getPath() + "/usr/bin/dash\n"); | |
for (Map.Entry<String, String> entry : envVars.entrySet()) { | |
// Properly escape quotes | |
@@ -1867,7 +1775,7 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
.append(box64Path).append("\" \"") | |
.append(wineBinPath).append("/wine\" ") | |
.append("explorer.exe /desktop=shell wfm ") | |
- .append("\"/data/user/0/com.winlator/files/imagefs/home/xuser/.cache/winetricks\"") | |
+ .append("\"" + imageFs.getRootDir().getPath() + "/home/xuser/.cache/winetricks\"") | |
.append("\n"); | |
// 4. Write the script to disk | |
@@ -1917,7 +1825,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
if (container != null && container.isShowFPS()) { | |
frameRating = new FrameRating(this, container); | |
- envVars.put("UTIL_LAYER_DUMP_INFO", "1"); | |
frameRating.setVisibility(View.GONE); | |
rootView.addView(frameRating); | |
} | |
@@ -2237,213 +2144,59 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
// } | |
private void extractGraphicsDriverFiles() { | |
- String cacheId = graphicsDriver; | |
String adrenoToolsDriverId = ""; | |
- String selectedDriverVersion = ""; | |
- String currentTurnipVersion = container.getTurnipGraphicsDriverVersion(); | |
- String currentWrapperVersion = container.getWrapperGraphicsDriverVersion(); | |
+ String selectedDriverVersion; | |
- if (graphicsDriver.contains("turnip")) | |
- selectedDriverVersion = currentTurnipVersion; // Fetch the selected version | |
- else if (graphicsDriver.contains("wrapper")) | |
- selectedDriverVersion = currentWrapperVersion; | |
+ String currentWrapperVersion = container.getWrapperGraphicsDriverVersion(); | |
+ selectedDriverVersion = currentWrapperVersion; | |
if (shortcut != null) { | |
- currentTurnipVersion = shortcut.getExtra("turnipGraphicsDriverVersion", container.getTurnipGraphicsDriverVersion()); | |
currentWrapperVersion = shortcut.getExtra("wrapperGraphicsDriverVersion", container.getWrapperGraphicsDriverVersion()); | |
- if (graphicsDriver.equals("turnip")) | |
- selectedDriverVersion = currentTurnipVersion; // Fetch the selected version | |
- else | |
- selectedDriverVersion = currentWrapperVersion; | |
- } | |
- | |
- if (container.isBionic() && graphicsDriver.equals("turnip") && !selectedDriverVersion.equals(DefaultVersion.TURNIP_BIONIC)) { | |
- // Ensure Toast is run on the UI thread | |
- selectedDriverVersion = DefaultVersion.TURNIP_BIONIC; | |
- } | |
- else if (!container.isBionic() && graphicsDriver.equals("turnip") && !selectedDriverVersion.equals(DefaultVersion.TURNIP_GLIBC)) { | |
- selectedDriverVersion = DefaultVersion.TURNIP_GLIBC; | |
- } | |
- | |
- // Adjust cacheId based on the graphics driver and version | |
- if (graphicsDriver.equals("turnip")) { | |
- cacheId += "-" + selectedDriverVersion; // Append version if using Turnip driver | |
- cacheId += "-" + DefaultVersion.ZINK; // Append Zink version for Turnip driver | |
- } else if (graphicsDriver.equals("virgl")) { | |
- cacheId += "-" + DefaultVersion.VIRGL; // Append version for VirGL driver | |
- } else if (graphicsDriver.equals("wrapper")) { | |
- adrenoToolsDriverId = (selectedDriverVersion.contains("System")) ? "" : selectedDriverVersion; | |
- Log.d("GraphicsDriverExtraction", "Adrenotools DriverID: " + adrenoToolsDriverId); | |
+ selectedDriverVersion = currentWrapperVersion; | |
} | |
- Log.d("GraphicsDriverExtraction", "Cache ID: " + cacheId); | |
- | |
- | |
- | |
- boolean changed = !cacheId.equals(container.getExtra("graphicsDriver")); | |
+ adrenoToolsDriverId = (selectedDriverVersion.contains("System")) ? "System" : selectedDriverVersion; | |
+ Log.d("GraphicsDriverExtraction", "Adrenotools DriverID: " + adrenoToolsDriverId); | |
- // If launching without a shortcut (container-only launch), always extract to reset to the container's default | |
- if (shortcut == null) { | |
- changed = true; // Force extraction when no shortcut is present to ensure correct driver is used | |
- } | |
- | |
- File rootDir = imageFs.getRootDir(); // Target the root directory of imagefs | |
+ File rootDir = imageFs.getRootDir(); | |
File userRegFile = new File(rootDir, ImageFs.WINEPREFIX + "/user.reg"); | |
- final String dllOverridesKey = "Software\\Wine\\DllOverrides"; | |
- | |
- if (changed) { | |
- FileUtils.delete(new File(imageFs.getLibDir(), "libvulkan_freedreno.so")); | |
- FileUtils.delete(new File(imageFs.getLibDir(), "libGL.so.1.7.0")); | |
- FileUtils.delete(new File(imageFs.getLibDir(), "libvulkan_wrapper.so")); | |
- container.putExtra("graphicsDriver", cacheId); | |
- container.saveData(); | |
+ if (dxwrapper.equals("dxvk")) { | |
+ DXVKConfigDialog.setEnvVars(this, dxwrapperConfig, envVars); | |
+ } else if (dxwrapper.equals("vkd3d")) { | |
+ VKD3DConfigDialog.setEnvVars(this, dxwrapperConfig, envVars); | |
} | |
+ if (!envVars.has("MESA_VK_WSI_PRESENT_MODE")) envVars.put("MESA_VK_WSI_PRESENT_MODE", "mailbox"); | |
+ boolean useDRI3 = preferences.getBoolean("use_dri3", true); | |
+ if (!useDRI3) { | |
+ envVars.put("MESA_VK_WSI_DEBUG", "sw"); | |
+ } | |
- if (graphicsDriver.equals("turnip")) { | |
- if (dxwrapper.equals("dxvk")) { | |
- DXVKConfigDialog.setEnvVars(this, dxwrapperConfig, envVars); | |
- } else if (dxwrapper.equals("vkd3d")) { | |
- VKD3DConfigDialog.setEnvVars(this, dxwrapperConfig, envVars); | |
- } | |
- | |
- envVars.put("GALLIUM_DRIVER", "zink"); | |
- envVars.put("VK_ICD_FILENAMES", imageFs.getShareDir() + "/vulkan/icd.d/freedreno_icd.aarch64.json"); | |
- envVars.put("TU_OVERRIDE_HEAP_SIZE", "4096"); | |
- if (!envVars.has("MESA_VK_WSI_PRESENT_MODE")) envVars.put("MESA_VK_WSI_PRESENT_MODE", "mailbox"); | |
- envVars.put("vblank_mode", "0"); | |
- | |
- | |
- | |
- if (!GPUInformation.isAdreno6xx()) { | |
- EnvVars userEnvVars = new EnvVars(container.getEnvVars()); | |
- String tuDebug = userEnvVars.get("TU_DEBUG"); | |
- if (!tuDebug.contains("sysmem")) | |
- userEnvVars.put("TU_DEBUG", (!tuDebug.isEmpty() ? tuDebug + "," : "") + "sysmem"); | |
- container.setEnvVars(userEnvVars.toString()); | |
- } | |
- | |
- Log.d("superTest", "made it this far"); | |
- | |
- boolean useDRI3 = preferences.getBoolean("use_dri3", true); | |
- if (!useDRI3) { | |
- envVars.put("MESA_VK_WSI_PRESENT_MODE", "immediate"); | |
- envVars.put("MESA_VK_WSI_DEBUG", "sw"); | |
- } | |
- | |
- | |
- | |
- boolean extractionSucceeded = false; | |
- if (changed) { | |
- // Use selectedDriverVersion instead of DefaultVersion.TURNIP | |
- extractionSucceeded = TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/turnip-" + selectedDriverVersion + ".tzst", rootDir) && | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/zink-" + DefaultVersion.ZINK + ".tzst", rootDir); | |
- | |
- if (extractionSucceeded) { | |
- Log.d("GraphicsDriverExtraction", "Extraction from .tzst files succeeded."); | |
- } else { | |
- Log.e("GraphicsDriverExtraction", "Extraction from .tzst files failed, will attempt to use the contents directory."); | |
- } | |
- } | |
- | |
+ envVars.put("VK_ICD_FILENAMES", imageFs.getShareDir() + "/vulkan/icd.d/wrapper_icd.aarch64.json"); | |
+ envVars.put("GALLIUM_DRIVER", "zink"); | |
+ envVars.put("LIBGL_KOPPER_DISABLE", "true"); | |
- if (!extractionSucceeded) { | |
- // Parse version string for the actual version number, removing "Turnip-" | |
- String normalizedVersion = selectedDriverVersion.replaceFirst("Turnip-", ""); | |
- File contentsDir = new File(getFilesDir(), "contents"); | |
- File turnipDir = new File(contentsDir, "Turnip/" + normalizedVersion + "/turnip"); | |
- File zinkDir = new File(contentsDir, "Turnip/" + normalizedVersion + "/zink"); | |
- | |
- Log.d("GraphicsDriverExtraction", "Checking for Turnip directory: " + turnipDir.getAbsolutePath()); | |
- Log.d("GraphicsDriverExtraction", "Checking for Zink directory: " + zinkDir.getAbsolutePath()); | |
- | |
- if (turnipDir.exists() && turnipDir.isDirectory()) { | |
- Log.d("GraphicsDriverExtraction", "Driver directory found in contents: " + turnipDir.getAbsolutePath()); | |
- File libDir = new File(rootDir, "lib"); | |
- libDir.mkdirs(); // Ensure the target directory exists | |
- | |
- File icdTargetDir = new File(rootDir, "usr/share/vulkan/icd.d"); // Define the target directory for the JSON file | |
- icdTargetDir.mkdirs(); // Ensure the target directory exists | |
- | |
- // Use FileUtils.copy to handle file and directory copying | |
- for (File file : turnipDir.listFiles()) { | |
- if (file.isFile()) { | |
- if (file.getName().equals("freedreno_icd.aarch64.json")) { | |
- File targetFile = new File(icdTargetDir, file.getName()); | |
- FileUtils.copy(file, targetFile); | |
- Log.d("GraphicsDriverExtraction", "Moved " + file.getName() + " to " + icdTargetDir.getAbsolutePath()); | |
- } else if (file.getName().equals("libvulkan_freedreno.so")) { // Correctly handle libvulkan_freedreno.so | |
- File targetFile = new File(libDir, file.getName()); | |
- FileUtils.copy(file, targetFile); | |
- Log.d("GraphicsDriverExtraction", "Moved " + file.getName() + " to " + libDir.getAbsolutePath()); | |
- } | |
- } else if (file.isDirectory()) { | |
- File targetDir = new File(libDir, file.getName()); | |
- FileUtils.copy(file, targetDir); | |
- } | |
- } | |
+ if (firstTimeBoot) { | |
+ Log.d("XServerDisplayActivity", "First time container boot, re-extracting wrapper"); | |
+ TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/wrapper" + ".tzst", rootDir); | |
+ TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/zink_libs" + ".tzst", rootDir); | |
+ } | |
- if (zinkDir.exists() && zinkDir.isDirectory()) { | |
- FileUtils.copy(zinkDir, libDir); // Copy contents of 'zink' folder if exists | |
- } | |
- Log.d("GraphicsDriverExtraction", "Driver successfully installed from contents manager: " + selectedDriverVersion); | |
- contentsManager.markGraphicsDriverInstalled(selectedDriverVersion); // Mark as installed | |
- } else { | |
- Log.d("GraphicsDriverExtraction", "Driver directory not found in contents: " + turnipDir.getAbsolutePath()); | |
- } | |
- } | |
- } else if (graphicsDriver.equals("virgl")) { | |
- envVars.put("GALLIUM_DRIVER", "virpipe"); | |
- envVars.put("VIRGL_NO_READBACK", "true"); | |
- envVars.put("VIRGL_SERVER_PATH", "/data/data/com.winlator/files/imagefs" + UnixSocketConfig.VIRGL_SERVER_PATH); | |
- envVars.put("MESA_EXTENSION_OVERRIDE", "-GL_EXT_vertex_array_bgra"); | |
- envVars.put("MESA_GL_VERSION_OVERRIDE", "3.1"); | |
- envVars.put("vblank_mode", "0"); | |
- if (changed) | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/virgl-" + DefaultVersion.VIRGL + ".tzst", rootDir); | |
- } else if (graphicsDriver.equals("wrapper")) { | |
- if (dxwrapper.equals("dxvk")) { | |
- DXVKConfigDialog.setEnvVars(this, dxwrapperConfig, envVars); | |
- } else if (dxwrapper.equals("vkd3d")) { | |
- VKD3DConfigDialog.setEnvVars(this, dxwrapperConfig, envVars); | |
- } | |
- envVars.put("VK_ICD_FILENAMES", imageFs.getShareDir() + "/vulkan/icd.d/wrapper_icd.aarch64.json"); | |
- envVars.put("GALLIUM_DRIVER", "zink"); | |
- envVars.put("LIBGL_KOPPER_DISABLE", "true"); | |
- if (changed) | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/wrapper" + ".tzst", rootDir); | |
- if (adrenoToolsDriverId != "") { | |
- AdrenotoolsManager adrenotoolsManager = new AdrenotoolsManager(this); | |
- adrenotoolsManager.setDriverById(envVars, imageFs, adrenoToolsDriverId); | |
- } | |
+ if (adrenoToolsDriverId != "System") { | |
+ AdrenotoolsManager adrenotoolsManager = new AdrenotoolsManager(this); | |
+ adrenotoolsManager.setDriverById(envVars, imageFs, adrenoToolsDriverId); | |
} | |
- extractZinkDlls(changed); | |
+ String blacklistedExtensions = container.getBlacklistedExtensions(); | |
+ envVars.put("WRAPPER_EXTENSION_BLACKLIST", blacklistedExtensions); | |
+ | |
try (WineRegistryEditor registryEditor = new WineRegistryEditor(userRegFile)) { | |
String videoMemorySize = registryEditor.getStringValue("Software\\Wine\\Direct3D", "VideoMemorySize", String.valueOf(GPUInformation.getMemorySize())); | |
envVars.put("UTIL_LAYER_VMEM_MAX_SIZE", videoMemorySize); | |
} | |
} | |
- private void copyDirectory(File sourceDir, File destinationDir) throws IOException { | |
- if (!destinationDir.exists()) { | |
- destinationDir.mkdirs(); | |
- } | |
- | |
- File[] files = sourceDir.listFiles(); | |
- if (files != null) { | |
- for (File file : files) { | |
- File destFile = new File(destinationDir, file.getName()); | |
- if (file.isDirectory()) { | |
- copyDirectory(file, destFile); | |
- } else { | |
- copyFile(file, destFile); | |
- } | |
- } | |
- } | |
- } | |
- | |
private void copyFile(File sourceFile, File destFile) throws IOException { | |
try (InputStream inputStream = new FileInputStream(sourceFile); | |
OutputStream outputStream = new FileOutputStream(destFile)) { | |
@@ -2455,90 +2208,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
} | |
} | |
- | |
- | |
- private void copyAssetToFile(InputStream inputStream, File destinationFile) throws IOException { | |
- try (OutputStream outputStream = new FileOutputStream(destinationFile)) { | |
- byte[] buffer = new byte[1024]; | |
- int length; | |
- while ((length = inputStream.read(buffer)) > 0) { | |
- outputStream.write(buffer, 0, length); | |
- } | |
- } | |
- } | |
- | |
- | |
- | |
- | |
- private String createCacheIdForDriver(String driver) { | |
- if (driver.equals("turnip")) { | |
- if (container.isBionic()) | |
- return driver + "-" + DefaultVersion.TURNIP_BIONIC + "-" + DefaultVersion.ZINK; | |
- else | |
- return driver + "-" + DefaultVersion.TURNIP_GLIBC + "-" + DefaultVersion.ZINK; | |
- } else if (driver.equals("virgl")) { | |
- return driver + "-" + DefaultVersion.VIRGL; | |
- } | |
- return driver; | |
- } | |
- | |
- private void clearOldDriverFiles() { | |
- FileUtils.delete(new File(imageFs.getLibDir(), "libvulkan_freedreno.so")); | |
- FileUtils.delete(new File(imageFs.getLibDir(), "libGL.so.1.7.0.so")); | |
- FileUtils.delete(new File(imageFs.getLibDir(), "libvulkan_wrapper.so")); | |
- } | |
- | |
- private void configureTurnipDriver() { | |
- if (dxwrapper.equals("dxvk")) { | |
- DXVKConfigDialog.setEnvVars(this, dxwrapperConfig, envVars); | |
- } else if (dxwrapper.equals("vkd3d")) { | |
- VKD3DConfigDialog.setEnvVars(this, dxwrapperConfig, envVars); | |
- } | |
- | |
- envVars.put("GALLIUM_DRIVER", "zink"); | |
- envVars.put("TU_OVERRIDE_HEAP_SIZE", "4096"); | |
- if (!envVars.has("MESA_VK_WSI_PRESENT_MODE")) envVars.put("MESA_VK_WSI_PRESENT_MODE", "mailbox"); | |
- envVars.put("vblank_mode", "0"); | |
- | |
- if (!GPUInformation.isAdreno6xx()) { | |
- EnvVars userEnvVars = new EnvVars(container.getEnvVars()); | |
- String tuDebug = userEnvVars.get("TU_DEBUG"); | |
- if (!tuDebug.contains("sysmem")) { | |
- userEnvVars.put("TU_DEBUG", (!tuDebug.isEmpty() ? tuDebug + "," : "") + "sysmem"); | |
- } | |
- container.setEnvVars(userEnvVars.toString()); | |
- } | |
- | |
- boolean useDRI3 = preferences.getBoolean("use_dri3", true); | |
- if (!useDRI3) { | |
- envVars.put("MESA_VK_WSI_PRESENT_MODE", "immediate"); | |
- envVars.put("MESA_VK_WSI_DEBUG", "sw"); | |
- } | |
- } | |
- | |
- private void extractTurnipDriverFiles(File rootDir) { | |
- if (container.isBionic()) | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/turnip-" + DefaultVersion.TURNIP_BIONIC + ".tzst", rootDir); | |
- else | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/turnip-" + DefaultVersion.TURNIP_GLIBC + ".tzst", rootDir); | |
- | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/zink-" + DefaultVersion.ZINK + ".tzst", rootDir); | |
- } | |
- | |
- private void configureVirGLDriver() { | |
- envVars.put("GALLIUM_DRIVER", "virpipe"); | |
- envVars.put("VIRGL_NO_READBACK", "true"); | |
- envVars.put("VIRGL_SERVER_PATH", UnixSocketConfig.VIRGL_SERVER_PATH); | |
- envVars.put("MESA_EXTENSION_OVERRIDE", "-GL_EXT_vertex_array_bgra"); | |
- envVars.put("MESA_GL_VERSION_OVERRIDE", "3.1"); | |
- envVars.put("vblank_mode", "0"); | |
- } | |
- | |
- private void extractVirGLDriverFiles(File rootDir) { | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/virgl-" + DefaultVersion.VIRGL + ".tzst", rootDir); | |
- } | |
- | |
- | |
private void showTouchpadHelpDialog() { | |
ContentDialog dialog = new ContentDialog(this, R.layout.touchpad_help_dialog); | |
dialog.setTitle(R.string.touchpad_help); | |
@@ -2707,34 +2376,19 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
AppUtils.restartApplication(this, R.id.main_menu_settings); | |
})); | |
} | |
- | |
- private void extractZinkDlls(boolean changed) { | |
- final String[] dlls = {"opengl32"}; | |
- File rootDir = imageFs.getRootDir(); | |
- File windowsDir = new File(rootDir, ImageFs.WINEPREFIX + "/drive_c/windows"); | |
- File userRegFile = new File(rootDir, ImageFs.WINEPREFIX + "/user.reg"); | |
- final String dllOverridesKey = "Software\\Wine\\DllOverrides"; | |
- | |
- if (container.isBionic() && (graphicsDriver.contains("turnip") || graphicsDriver.contains("wrapper")) && changed) { | |
- try (WineRegistryEditor registryEditor = new WineRegistryEditor(userRegFile)) { | |
- for (String name : dlls) registryEditor.setStringValue(dllOverridesKey, name, "native, builtin"); | |
- } | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "graphics_driver/zink_dlls.tzst", windowsDir, onExtractFileListener); | |
- } | |
- } | |
private static final String TAG = "DXWrapperExtraction"; | |
private void extractDXWrapperFiles(String dxwrapper) { | |
- final String[] dlls = {"d3d10.dll", "d3d10_1.dll", "d3d10core.dll", "d3d11.dll", "d3d12.dll", "d3d12core.dll", "d3d8.dll", "d3d9.dll", "dxgi.dll", "ddraw.dll"}; | |
+ final String[] dlls = {"d3d10.dll", "d3d10_1.dll", "d3d10core.dll", "d3d11.dll", "d3d12.dll", "d3d12core.dll", "d3d8.dll", "d3d9.dll", "dxgi.dll"}; | |
File rootDir = imageFs.getRootDir(); | |
File windowsDir = new File(rootDir, ImageFs.WINEPREFIX + "/drive_c/windows"); | |
if (dxwrapper.contains("vkd3d")) { | |
ContentProfile profile = contentsManager.getProfileByEntryName(dxwrapper); | |
- Log.d(TAG, "Extract default dxvk 2.3.1 dxgi"); | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "dxwrapper/dxvk-" + DefaultVersion.DXVK + ".tzst", windowsDir, onExtractFileListener); | |
+ Log.d(TAG, "Extracting DXVK 2.4.1"); | |
+ TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "dxwrapper/dxvk-2.4.1" + ".tzst", windowsDir, onExtractFileListener); | |
if (profile != null) { | |
Log.d(TAG, "Applying user-defined VKD3D content profile: " + dxwrapper); | |
contentsManager.applyContent(profile); | |
@@ -2745,7 +2399,6 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
Log.d(TAG, "Finished VKD3D extraction for " + dxwrapper); | |
} else if (dxwrapper.contains("dxvk")) { | |
Log.d(TAG, "Extracting DXVK wrapper files, version: " + dxwrapper); | |
- restoreOriginalDllFiles("d3d12.dll", "d3d12core.dll", "ddraw.dll"); | |
ContentProfile profile = contentsManager.getProfileByEntryName(dxwrapper); | |
if (profile != null) { | |
@@ -2763,23 +2416,33 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
} else if (dxwrapper.contains("wined3d")) { | |
Log.d(TAG, "Restoring original DLL files for wined3d."); | |
restoreOriginalDllFiles(dlls); | |
- } else if (dxwrapper.contains("cnc-ddraw")) { | |
- Log.d(TAG, "Extracting CNC-DDRAW wrapper files."); | |
- restoreOriginalDllFiles(dlls); | |
- final String assetDir = "dxwrapper/cnc-ddraw-" + DefaultVersion.CNC_DDRAW; | |
- File configFile = new File(rootDir, ImageFs.WINEPREFIX + "/drive_c/ProgramData/cnc-ddraw/ddraw.ini"); | |
+ } | |
+ } | |
- if (!configFile.isFile()) { | |
- Log.d(TAG, "Copying default ddraw.ini configuration for CNC-DDRAW."); | |
- FileUtils.copy(this, assetDir + "/ddraw.ini", configFile); | |
- } | |
+ private void extractDDrawrapperFiles(String ddrawrapper) { | |
+ final String[] dlls = {"ddraw.dll","d3dimm.dll"}; | |
+ final String[] glideDlls = {"glide.dll", "glide2x.dll", "glide3x.dll", "3DfxSpl.dll", "3DfxSpl2.dll", "3DfxSpl3.dll"}; | |
+ | |
+ File rootDir = imageFs.getRootDir(); | |
+ File windowsDir = new File(rootDir, ImageFs.WINEPREFIX + "/drive_c/windows"); | |
+ | |
+ Log.d("XServerDisplayActivity", "Deleting glide dlls before extraction"); | |
+ for (String glideDLL : glideDlls) { | |
+ FileUtils.delete(new File(windowsDir + "/syswow64/" + glideDLL)); | |
+ } | |
- File shadersDir = new File(rootDir, ImageFs.WINEPREFIX + "/drive_c/ProgramData/cnc-ddraw/Shaders"); | |
- FileUtils.delete(shadersDir); | |
- FileUtils.copy(this, assetDir + "/Shaders", shadersDir); | |
+ if (dxwrapper.contains("wined3d")) { | |
+ Log.d("XserverDisplayActivity", "Restoring original dlls for WineD3D"); | |
+ restoreOriginalDllFiles(dlls); | |
+ } | |
+ else { | |
+ Log.d("XServerDisplayActivity", "Extracting ddrawrapper " + ddrawrapper); | |
+ TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "ddrawrapper/" + ddrawrapper + ".tzst", windowsDir, onExtractFileListener); | |
+ } | |
- Log.d(TAG, "Extracting CNC-DDRAW .tzst archive to Windows directory."); | |
- TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, assetDir + "/ddraw.tzst", windowsDir, onExtractFileListener); | |
+ if (!dxwrapper.contains("dgvoodoo")) { | |
+ Log.d("XServerDisplayActivity", "Extracting nglide wrapper"); | |
+ TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "ddrawrapper/nglide.tzst", windowsDir, onExtractFileListener); | |
} | |
} | |
@@ -2833,6 +2496,9 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
String identifier = wincomponent[0]; | |
boolean useNative = wincomponent[1].equals("1"); | |
+ if (!wineInfo.isArm64EC() && identifier.contains("opengl") && useNative) | |
+ continue; | |
+ | |
if (useNative) { | |
TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, this, "wincomponents/"+identifier+".tzst", windowsDir, onExtractFileListener); | |
} | |
@@ -2860,14 +2526,12 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
File system32dlls = null; | |
File syswow64dlls = null; | |
- if (container.isBionic()) { | |
- system32dlls = new File(rootDir, "opt/wine.bionic/lib/wine/aarch64-windows"); | |
- syswow64dlls = new File(rootDir, "opt/wine.bionic/lib/wine/i386-windows"); | |
- } | |
- else { | |
- system32dlls = new File(rootDir, "opt/wine.glibc/lib/wine/x86_64-windows"); | |
- syswow64dlls = new File(rootDir, "opt/wine.glibc/lib/wine/i386-windows"); | |
- } | |
+ if (wineInfo.isArm64EC()) | |
+ system32dlls = new File(rootDir, "opt/wine/lib/wine/aarch64-windows"); | |
+ else | |
+ system32dlls = new File(rootDir, "opt/wine/lib/wine/x86_64-windows"); | |
+ | |
+ syswow64dlls = new File(rootDir, "opt/wine/lib/wine/i386-windows"); | |
int filesCopied = 0; | |
@@ -3060,6 +2724,12 @@ public class XServerDisplayActivity extends AppCompatActivity implements Navigat | |
Log.d("XServerDisplayActivity", "Showing hud for Window " + window.getName()); | |
frameRating.update(); | |
} | |
+ if (property.nameAsString().contains("_UTIL_LAYER_ENGINE_NAME")) { | |
+ frameRating.setRenderer(property.toString()); | |
+ } | |
+ if (property.nameAsString().contains("_UTIL_LAYER_GPU_NAME")) { | |
+ frameRating.setGpuName(property.toString()); | |
+ } | |
} | |
else if (frameRatingWindowId != -1) { | |
frameRatingWindowId = -1; | |
diff --git a/app/src/main/java/com/winlator/XrActivity.java b/app/src/main/java/com/winlator/cmod/XrActivity.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/XrActivity.java | |
rename to app/src/main/java/com/winlator/cmod/XrActivity.java | |
index df451dd..e94b96f 100644 | |
--- a/app/src/main/java/com/winlator/XrActivity.java | |
+++ b/app/src/main/java/com/winlator/cmod/XrActivity.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator; | |
+package com.winlator.cmod; | |
import android.app.Activity; | |
import android.app.ActivityOptions; | |
@@ -15,13 +15,14 @@ import android.widget.EditText; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.container.Container; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.xserver.Keyboard; | |
-import com.winlator.xserver.Pointer; | |
-import com.winlator.xserver.XKeycode; | |
-import com.winlator.xserver.XLock; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.xserver.Keyboard; | |
+import com.winlator.cmod.xserver.Pointer; | |
+import com.winlator.cmod.xserver.XKeycode; | |
+import com.winlator.cmod.xserver.XLock; | |
+import com.winlator.cmod.xserver.XServer; | |
/* | |
WinlatorXR implementation by lvonasek (https://github.com/lvonasek) | |
diff --git a/app/src/main/java/com/winlator/alsaserver/ALSAClient.java b/app/src/main/java/com/winlator/cmod/alsaserver/ALSAClient.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/alsaserver/ALSAClient.java | |
rename to app/src/main/java/com/winlator/cmod/alsaserver/ALSAClient.java | |
index a1a5a4e..bab59c2 100644 | |
--- a/app/src/main/java/com/winlator/alsaserver/ALSAClient.java | |
+++ b/app/src/main/java/com/winlator/cmod/alsaserver/ALSAClient.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.alsaserver; | |
+package com.winlator.cmod.alsaserver; | |
-import com.winlator.sysvshm.SysVSharedMemory; | |
+import com.winlator.cmod.sysvshm.SysVSharedMemory; | |
import java.nio.ByteBuffer; | |
import java.nio.ByteOrder; | |
diff --git a/app/src/main/java/com/winlator/alsaserver/ALSAClientConnectionHandler.java b/app/src/main/java/com/winlator/cmod/alsaserver/ALSAClientConnectionHandler.java | |
similarity index 69% | |
rename from app/src/main/java/com/winlator/alsaserver/ALSAClientConnectionHandler.java | |
rename to app/src/main/java/com/winlator/cmod/alsaserver/ALSAClientConnectionHandler.java | |
index da68b19..a75f3b7 100644 | |
--- a/app/src/main/java/com/winlator/alsaserver/ALSAClientConnectionHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/alsaserver/ALSAClientConnectionHandler.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.alsaserver; | |
+package com.winlator.cmod.alsaserver; | |
-import com.winlator.xconnector.Client; | |
-import com.winlator.xconnector.ConnectionHandler; | |
+import com.winlator.cmod.xconnector.Client; | |
+import com.winlator.cmod.xconnector.ConnectionHandler; | |
public class ALSAClientConnectionHandler implements ConnectionHandler { | |
@Override | |
diff --git a/app/src/main/java/com/winlator/alsaserver/ALSARequestHandler.java b/app/src/main/java/com/winlator/cmod/alsaserver/ALSARequestHandler.java | |
similarity index 86% | |
rename from app/src/main/java/com/winlator/alsaserver/ALSARequestHandler.java | |
rename to app/src/main/java/com/winlator/cmod/alsaserver/ALSARequestHandler.java | |
index 414cfbe..3b2aa03 100644 | |
--- a/app/src/main/java/com/winlator/alsaserver/ALSARequestHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/alsaserver/ALSARequestHandler.java | |
@@ -1,12 +1,12 @@ | |
-package com.winlator.alsaserver; | |
+package com.winlator.cmod.alsaserver; | |
-import com.winlator.sysvshm.SysVSharedMemory; | |
-import com.winlator.xconnector.Client; | |
-import com.winlator.xconnector.RequestHandler; | |
-import com.winlator.xconnector.XConnectorEpoll; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
+import com.winlator.cmod.sysvshm.SysVSharedMemory; | |
+import com.winlator.cmod.xconnector.Client; | |
+import com.winlator.cmod.xconnector.RequestHandler; | |
+import com.winlator.cmod.xconnector.XConnectorEpoll; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
import java.io.IOException; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/alsaserver/RequestCodes.java b/app/src/main/java/com/winlator/cmod/alsaserver/RequestCodes.java | |
similarity index 88% | |
rename from app/src/main/java/com/winlator/alsaserver/RequestCodes.java | |
rename to app/src/main/java/com/winlator/cmod/alsaserver/RequestCodes.java | |
index 4cef5a8..7e2fa6c 100644 | |
--- a/app/src/main/java/com/winlator/alsaserver/RequestCodes.java | |
+++ b/app/src/main/java/com/winlator/cmod/alsaserver/RequestCodes.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.alsaserver; | |
+package com.winlator.cmod.alsaserver; | |
public abstract class RequestCodes { | |
public static final byte CLOSE = 0; | |
diff --git a/app/src/main/java/com/winlator/bigpicture/BigPictureAdapter.java b/app/src/main/java/com/winlator/cmod/bigpicture/BigPictureAdapter.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/bigpicture/BigPictureAdapter.java | |
rename to app/src/main/java/com/winlator/cmod/bigpicture/BigPictureAdapter.java | |
index 935ac82..2fa0fe0 100644 | |
--- a/app/src/main/java/com/winlator/bigpicture/BigPictureAdapter.java | |
+++ b/app/src/main/java/com/winlator/cmod/bigpicture/BigPictureAdapter.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.bigpicture; | |
+package com.winlator.cmod.bigpicture; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
@@ -8,9 +8,9 @@ import android.widget.ImageView; | |
import androidx.annotation.NonNull; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.BigPictureActivity; | |
-import com.winlator.R; | |
-import com.winlator.container.Shortcut; | |
+import com.winlator.cmod.BigPictureActivity; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.container.Shortcut; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/bigpicture/CarouselItemDecoration.java b/app/src/main/java/com/winlator/cmod/bigpicture/CarouselItemDecoration.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/bigpicture/CarouselItemDecoration.java | |
rename to app/src/main/java/com/winlator/cmod/bigpicture/CarouselItemDecoration.java | |
index 9e7e42a..01c21a2 100644 | |
--- a/app/src/main/java/com/winlator/bigpicture/CarouselItemDecoration.java | |
+++ b/app/src/main/java/com/winlator/cmod/bigpicture/CarouselItemDecoration.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.bigpicture; | |
+package com.winlator.cmod.bigpicture; | |
import android.graphics.Rect; | |
import android.view.View; | |
diff --git a/app/src/main/java/com/winlator/bigpicture/TiledBackgroundView.java b/app/src/main/java/com/winlator/cmod/bigpicture/TiledBackgroundView.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/bigpicture/TiledBackgroundView.java | |
rename to app/src/main/java/com/winlator/cmod/bigpicture/TiledBackgroundView.java | |
index 2656a59..b3ac43a 100644 | |
--- a/app/src/main/java/com/winlator/bigpicture/TiledBackgroundView.java | |
+++ b/app/src/main/java/com/winlator/cmod/bigpicture/TiledBackgroundView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.bigpicture; | |
+package com.winlator.cmod.bigpicture; | |
import android.content.Context; | |
import android.graphics.Bitmap; | |
diff --git a/app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridDBApi.java b/app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridDBApi.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridDBApi.java | |
rename to app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridDBApi.java | |
index 4884fba..d6327b6 100644 | |
--- a/app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridDBApi.java | |
+++ b/app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridDBApi.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.bigpicture.steamgrid; | |
+package com.winlator.cmod.bigpicture.steamgrid; | |
import retrofit2.Call; | |
import retrofit2.http.GET; | |
diff --git a/app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridGridsResponse.java b/app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridGridsResponse.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridGridsResponse.java | |
rename to app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridGridsResponse.java | |
index 2e3e3bc..d08cbbc 100644 | |
--- a/app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridGridsResponse.java | |
+++ b/app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridGridsResponse.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.bigpicture.steamgrid; | |
+package com.winlator.cmod.bigpicture.steamgrid; | |
import com.google.gson.annotations.SerializedName; | |
diff --git a/app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridGridsResponseDeserializer.java b/app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridGridsResponseDeserializer.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridGridsResponseDeserializer.java | |
rename to app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridGridsResponseDeserializer.java | |
index fd99b40..d502ef7 100644 | |
--- a/app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridGridsResponseDeserializer.java | |
+++ b/app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridGridsResponseDeserializer.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.bigpicture.steamgrid; | |
+package com.winlator.cmod.bigpicture.steamgrid; | |
import com.google.gson.JsonArray; | |
import com.google.gson.JsonDeserializationContext; | |
diff --git a/app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridSearchResponse.java b/app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridSearchResponse.java | |
similarity index 86% | |
rename from app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridSearchResponse.java | |
rename to app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridSearchResponse.java | |
index 0838cee..fb29e8c 100644 | |
--- a/app/src/main/java/com/winlator/bigpicture/steamgrid/SteamGridSearchResponse.java | |
+++ b/app/src/main/java/com/winlator/cmod/bigpicture/steamgrid/SteamGridSearchResponse.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.bigpicture.steamgrid; | |
+package com.winlator.cmod.bigpicture.steamgrid; | |
import com.google.gson.annotations.SerializedName; | |
diff --git a/app/src/main/java/com/winlator/box86_64/Box86_64EditPresetDialog.java b/app/src/main/java/com/winlator/cmod/box86_64/Box86_64EditPresetDialog.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/box86_64/Box86_64EditPresetDialog.java | |
rename to app/src/main/java/com/winlator/cmod/box86_64/Box86_64EditPresetDialog.java | |
index f121be4..68deec2 100644 | |
--- a/app/src/main/java/com/winlator/box86_64/Box86_64EditPresetDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/box86_64/Box86_64EditPresetDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.box86_64; | |
+package com.winlator.cmod.box86_64; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
@@ -15,13 +15,13 @@ import android.widget.ToggleButton; | |
import androidx.annotation.NonNull; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.ArrayUtils; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.StringUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.ArrayUtils; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.StringUtils; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/box86_64/Box86_64Preset.java b/app/src/main/java/com/winlator/cmod/box86_64/Box86_64Preset.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/box86_64/Box86_64Preset.java | |
rename to app/src/main/java/com/winlator/cmod/box86_64/Box86_64Preset.java | |
index a6dd1c8..108a514 100644 | |
--- a/app/src/main/java/com/winlator/box86_64/Box86_64Preset.java | |
+++ b/app/src/main/java/com/winlator/cmod/box86_64/Box86_64Preset.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.box86_64; | |
+package com.winlator.cmod.box86_64; | |
import androidx.annotation.NonNull; | |
diff --git a/app/src/main/java/com/winlator/box86_64/Box86_64PresetManager.java b/app/src/main/java/com/winlator/cmod/box86_64/Box86_64PresetManager.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/box86_64/Box86_64PresetManager.java | |
rename to app/src/main/java/com/winlator/cmod/box86_64/Box86_64PresetManager.java | |
index 584f35e..a17b725 100644 | |
--- a/app/src/main/java/com/winlator/box86_64/Box86_64PresetManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/box86_64/Box86_64PresetManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.box86_64; | |
+package com.winlator.cmod.box86_64; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
@@ -8,8 +8,8 @@ import android.widget.SpinnerAdapter; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.core.EnvVars; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.EnvVars; | |
import java.util.ArrayList; | |
import java.util.Iterator; | |
@@ -33,7 +33,7 @@ public abstract class Box86_64PresetManager { | |
if (ucPrefix.equals("BOX64")) { | |
envVars.put("BOX64_AVX", "0"); | |
envVars.put("BOX64_UNITYPLAYER", "1"); | |
- envVars.put("BOX64_MMAP32", "1"); | |
+ envVars.put("BOX64_MMAP32", "0"); | |
} | |
} | |
else if (id.equals(Box86_64Preset.COMPATIBILITY)) { | |
@@ -49,7 +49,7 @@ public abstract class Box86_64PresetManager { | |
if (ucPrefix.equals("BOX64")) { | |
envVars.put("BOX64_AVX", "0"); | |
envVars.put("BOX64_UNITYPLAYER", "1"); | |
- envVars.put("BOX64_MMAP32", "1"); | |
+ envVars.put("BOX64_MMAP32", "0"); | |
} | |
} | |
else if (id.equals(Box86_64Preset.INTERMEDIATE)) { | |
@@ -60,12 +60,12 @@ public abstract class Box86_64PresetManager { | |
envVars.put(ucPrefix+"_DYNAREC_BIGBLOCK", "1"); | |
envVars.put(ucPrefix+"_DYNAREC_STRONGMEM", "0"); | |
envVars.put(ucPrefix+"_DYNAREC_FORWARD", "128"); | |
- envVars.put(ucPrefix+"_DYNAREC_CALLRET", "0"); | |
+ envVars.put(ucPrefix+"_DYNAREC_CALLRET", "1"); | |
envVars.put(ucPrefix+"_DYNAREC_WAIT", "1"); | |
if (ucPrefix.equals("BOX64")) { | |
envVars.put("BOX64_AVX", "0"); | |
envVars.put("BOX64_UNITYPLAYER", "0"); | |
- envVars.put("BOX64_MMAP32", "1"); | |
+ envVars.put("BOX64_MMAP32", "0"); | |
} | |
} | |
else if (id.equals(Box86_64Preset.PERFORMANCE)) { | |
@@ -81,7 +81,7 @@ public abstract class Box86_64PresetManager { | |
if (ucPrefix.equals("BOX64")) { | |
envVars.put("BOX64_AVX", "0"); | |
envVars.put("BOX64_UNITYPLAYER", "0"); | |
- envVars.put("BOX64_MMAP32", "1"); | |
+ envVars.put("BOX64_MMAP32", "0"); | |
} | |
} | |
diff --git a/app/src/main/java/com/winlator/box86_64/rc/RCField.java b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCField.java | |
similarity index 99% | |
rename from app/src/main/java/com/winlator/box86_64/rc/RCField.java | |
rename to app/src/main/java/com/winlator/cmod/box86_64/rc/RCField.java | |
index 5582510..a0cbea9 100644 | |
--- a/app/src/main/java/com/winlator/box86_64/rc/RCField.java | |
+++ b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCField.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.box86_64.rc; | |
+package com.winlator.cmod.box86_64.rc; | |
import androidx.annotation.NonNull; | |
diff --git a/app/src/main/java/com/winlator/box86_64/rc/RCFile.java b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCFile.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/box86_64/rc/RCFile.java | |
rename to app/src/main/java/com/winlator/cmod/box86_64/rc/RCFile.java | |
index f23b729..50d0ff6 100644 | |
--- a/app/src/main/java/com/winlator/box86_64/rc/RCFile.java | |
+++ b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCFile.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.box86_64.rc; | |
+package com.winlator.cmod.box86_64.rc; | |
import android.content.Context; | |
import androidx.annotation.NonNull; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/box86_64/rc/RCGroup.java b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCGroup.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/box86_64/rc/RCGroup.java | |
rename to app/src/main/java/com/winlator/cmod/box86_64/rc/RCGroup.java | |
index da5af32..5310bf1 100644 | |
--- a/app/src/main/java/com/winlator/box86_64/rc/RCGroup.java | |
+++ b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCGroup.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.box86_64.rc; | |
+package com.winlator.cmod.box86_64.rc; | |
import java.util.LinkedList; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/box86_64/rc/RCItem.java b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCItem.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/box86_64/rc/RCItem.java | |
rename to app/src/main/java/com/winlator/cmod/box86_64/rc/RCItem.java | |
index a6148fe..ccc7a82 100644 | |
--- a/app/src/main/java/com/winlator/box86_64/rc/RCItem.java | |
+++ b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCItem.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.box86_64.rc; | |
+package com.winlator.cmod.box86_64.rc; | |
import java.util.Map; | |
import java.util.TreeMap; | |
diff --git a/app/src/main/java/com/winlator/box86_64/rc/RCManager.java b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCManager.java | |
similarity index 98% | |
rename from app/src/main/java/com/winlator/box86_64/rc/RCManager.java | |
rename to app/src/main/java/com/winlator/cmod/box86_64/rc/RCManager.java | |
index 7ee897d..5400e31 100644 | |
--- a/app/src/main/java/com/winlator/box86_64/rc/RCManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/box86_64/rc/RCManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.box86_64.rc; | |
+package com.winlator.cmod.box86_64.rc; | |
import android.content.Context; | |
import android.media.MediaScannerConnection; | |
@@ -8,9 +8,9 @@ import android.widget.AdapterView; | |
import android.widget.ArrayAdapter; | |
import android.widget.Spinner; | |
-import com.winlator.R; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.FileUtils; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/container/Container.java b/app/src/main/java/com/winlator/cmod/container/Container.java | |
similarity index 86% | |
rename from app/src/main/java/com/winlator/container/Container.java | |
rename to app/src/main/java/com/winlator/cmod/container/Container.java | |
index 8b05e66..0e9d0e4 100644 | |
--- a/app/src/main/java/com/winlator/container/Container.java | |
+++ b/app/src/main/java/com/winlator/cmod/container/Container.java | |
@@ -1,17 +1,18 @@ | |
-package com.winlator.container; | |
+package com.winlator.cmod.container; | |
import android.os.Environment; | |
import android.util.Log; | |
-import com.winlator.XrActivity; | |
-import com.winlator.box86_64.Box86_64Preset; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.KeyValueSet; | |
-import com.winlator.core.WineInfo; | |
-import com.winlator.core.WineThemeManager; | |
-import com.winlator.winhandler.WinHandler; | |
-import com.winlator.xenvironment.ImageFs; | |
+import com.winlator.cmod.XrActivity; | |
+import com.winlator.cmod.box86_64.Box86_64Preset; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.KeyValueSet; | |
+import com.winlator.cmod.core.WineInfo; | |
+import com.winlator.cmod.core.WineThemeManager; | |
+import com.winlator.cmod.winhandler.WinHandler; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
@@ -26,13 +27,15 @@ public class Container { | |
} | |
public static final String DEFAULT_ENV_VARS = "ZINK_DESCRIPTORS=lazy ZINK_DEBUG=compact MESA_SHADER_CACHE_DISABLE=false MESA_SHADER_CACHE_MAX_SIZE=512MB mesa_glthread=true WINEESYNC=1 MESA_VK_WSI_PRESENT_MODE=mailbox TU_DEBUG=noconform,sysmem DXVK_HUD=devinfo,fps,frametimes,gpuload,version,api MANGOHUD=0 MANGOHUD_CONFIG=engine_version,gpu_stats=0"; | |
public static final String DEFAULT_SCREEN_SIZE = "1280x720"; | |
- public static final String DEFAULT_GRAPHICS_DRIVER = XrActivity.isSupported() ? "wrapper" : "turnip"; | |
- public static final String DEFAULT_AUDIO_DRIVER = XrActivity.isSupported() ? "pulseaudio" : "alsa"; | |
+ public static final String DEFAULT_GRAPHICS_DRIVER = "wrapper"; | |
+ public static final String DEFAULT_AUDIO_DRIVER = "alsa"; | |
public static final String DEFAULT_EMULATOR = "FEXCore"; | |
public static final String DEFAULT_DXWRAPPER = "dxvk"; | |
- public static final String DEFAULT_WINCOMPONENTS = "direct3d=1,directsound=1,directmusic=0,directshow=0,directplay=0,xaudio=0,vcrun2010=1,windowsmediafoundation=0"; | |
- public static final String FALLBACK_WINCOMPONENTS = "direct3d=1,directsound=1,directmusic=1,directshow=1,directplay=1,xaudio=1,vcrun2010=1,windowsmediafoundation=1"; | |
- public static final String DEFAULT_DRIVES = "D:"+Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)+"E:/data/data/com.winlator/storage"; | |
+ public static final String DEFAULT_DXWRAPPERCONFIG = "version=" + DefaultVersion.DXVK + ",framerate=0,maxDeviceMemory=0,async=0,asyncCache=0" + ",vkd3dVersion=" + DefaultVersion.VKD3D + ",vkd3dLevel=12_1"; | |
+ public static final String DEFAULT_DDRAWRAPPER = "wined3d"; | |
+ public static final String DEFAULT_WINCOMPONENTS = "direct3d=1,directsound=1,directmusic=0,directshow=0,directplay=0,xaudio=0,vcrun2010=1,windowsmediafoundation=0,opengl=0"; | |
+ public static final String FALLBACK_WINCOMPONENTS = "direct3d=1,directsound=1,directmusic=1,directshow=1,directplay=1,xaudio=1,vcrun2010=1,windowsmediafoundation=1,opengl=0"; | |
+ public static final String DEFAULT_DRIVES = "D:"+Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)+"E:/data/data/com.winlator.cmod/storage"; | |
public static final byte STARTUP_SELECTION_NORMAL = 0; | |
public static final byte STARTUP_SELECTION_ESSENTIAL = 1; | |
public static final byte STARTUP_SELECTION_AGGRESSIVE = 2; | |
@@ -43,6 +46,7 @@ public class Container { | |
private String envVars = DEFAULT_ENV_VARS; | |
private String graphicsDriver = DEFAULT_GRAPHICS_DRIVER; | |
private String dxwrapper = DEFAULT_DXWRAPPER; | |
+ private String ddrawrapper = DEFAULT_DDRAWRAPPER; | |
private String dxwrapperConfig = ""; | |
private String wincomponents = DEFAULT_WINCOMPONENTS; | |
private String audioDriver = DEFAULT_AUDIO_DRIVER; | |
@@ -65,33 +69,31 @@ public class Container { | |
private String lc_all = ""; | |
private int primaryController = 1; | |
private String controllerMapping = new String(new char[XrControllerMapping.values().length]); | |
+ private String blacklistedExtensions; | |
- private String turnipGraphicsDriverVersion = "24.3.0"; // Default version or fallback | |
private String wrapperGraphicsDriverVersion = "System"; | |
+ private String oldWrapperGraphicsDriverVersion = "System"; | |
private String emulator; | |
private ContainerManager containerManager; | |
- | |
- | |
- public String getTurnipGraphicsDriverVersion() { | |
- return turnipGraphicsDriverVersion; | |
- } | |
- | |
- public void setTurnipGraphicsDriverVersion(String graphicsDriverVersion) { | |
- Log.d("Container", "Setting graphicsDriverVersion: " + graphicsDriverVersion); | |
- this.turnipGraphicsDriverVersion = graphicsDriverVersion; | |
- } | |
public String getWrapperGraphicsDriverVersion() { | |
return wrapperGraphicsDriverVersion; | |
} | |
public void setWrapperGraphicsDriverVersion(String graphicsDriverVersion) { | |
- Log.d("Container", "Setting graphicsDriverVersion: " + graphicsDriverVersion); | |
this.wrapperGraphicsDriverVersion = graphicsDriverVersion; | |
} | |
+ public String getOldWrapperGraphicsDriverVersion() { | |
+ return oldWrapperGraphicsDriverVersion; | |
+ } | |
+ | |
+ public void setOldWrapperGraphicsDriverVersion(String graphicsDriverVersion) { | |
+ this.oldWrapperGraphicsDriverVersion = graphicsDriverVersion; | |
+ } | |
+ | |
public void setEmulator(String emulator) { | |
this.emulator = emulator; | |
} | |
@@ -112,17 +114,6 @@ public class Container { | |
this.containerManager = containerManager; | |
} | |
- private boolean isBionic = false; | |
- | |
- public boolean isBionic() { | |
- return isBionic; | |
- } | |
- | |
- public void setBionic(boolean bionic) { | |
- this.isBionic = bionic; | |
- } | |
- | |
- | |
public ContainerManager getManager() { | |
return containerManager; | |
} | |
@@ -167,6 +158,10 @@ public class Container { | |
this.dxwrapper = dxwrapper; | |
} | |
+ public String getDDrawWrapper() { return ddrawrapper; } | |
+ | |
+ public void setDDrawWrapper(String ddrawrapper) { this.ddrawrapper = ddrawrapper; } | |
+ | |
public String getDXWrapperConfig() { | |
return dxwrapperConfig; | |
} | |
@@ -191,6 +186,10 @@ public class Container { | |
this.wincomponents = wincomponents; | |
} | |
+ public String getBlacklistedExtensions() { return blacklistedExtensions; } | |
+ | |
+ public void setBlacklistedExtensions(String blacklistedExtensions) { this.blacklistedExtensions = blacklistedExtensions; } | |
+ | |
public String getDrives() { | |
return drives; | |
} | |
@@ -342,10 +341,6 @@ public class Container { | |
public File getDesktopDir() { | |
return new File(rootDir, ".wine/drive_c/users/"+ImageFs.USER+"/Desktop/"); | |
} | |
- | |
- public File getSteamUserDesktopDir() { | |
- return new File(rootDir, ".wine/drive_c/users/steamuser/Desktop/"); | |
- } | |
public File getStartMenuDir() { | |
return new File(rootDir, ".wine/drive_c/ProgramData/Microsoft/Windows/Start Menu/"); | |
@@ -416,20 +411,20 @@ public class Container { | |
JSONObject data = new JSONObject(); | |
data.put("id", id); | |
data.put("name", name); | |
- data.put("isBionic", isBionic); | |
data.put("screenSize", screenSize); | |
data.put("envVars", envVars); | |
data.put("cpuList", cpuList); | |
data.put("cpuListWoW64", cpuListWoW64); | |
data.put("graphicsDriver", graphicsDriver); | |
- Log.d("Container", "Saving graphicsDriverVersions: " + turnipGraphicsDriverVersion + " " + wrapperGraphicsDriverVersion); | |
- data.put("turnipGraphicsDriverVersion", turnipGraphicsDriverVersion); // Ensure this is added | |
data.put("wrapperGraphicsDriverVersion", wrapperGraphicsDriverVersion); | |
+ data.put("oldWrapperGraphicsDriverVersion", oldWrapperGraphicsDriverVersion); | |
data.put("emulator", emulator); | |
data.put("dxwrapper", dxwrapper); | |
+ data.put("ddrawrapper", ddrawrapper); | |
if (!dxwrapperConfig.isEmpty()) data.put("dxwrapperConfig", dxwrapperConfig); | |
data.put("audioDriver", audioDriver); | |
data.put("wincomponents", wincomponents); | |
+ data.put("blacklistedextensions", blacklistedExtensions); | |
data.put("drives", drives); | |
data.put("showFPS", showFPS); | |
data.put("fullscreenStretched", fullscreenStretched); | |
@@ -463,9 +458,6 @@ public class Container { | |
case "name" : | |
setName(data.getString(key)); | |
break; | |
- case "isBionic": | |
- setBionic(data.getBoolean(key)); | |
- break; | |
case "screenSize" : | |
setScreenSize(data.getString(key)); | |
break; | |
@@ -481,21 +473,26 @@ public class Container { | |
case "graphicsDriver" : | |
setGraphicsDriver(data.getString(key)); | |
break; | |
- case "turnipGraphicsDriverVersion": | |
- setTurnipGraphicsDriverVersion(data.getString(key)); | |
- break; | |
case "wrapperGraphicsDriverVersion": | |
setWrapperGraphicsDriverVersion(data.getString(key)); | |
break; | |
+ case "oldWrapperGraphicsDriverVersion": | |
+ setOldWrapperGraphicsDriverVersion(data.getString(key)); | |
+ break; | |
case "emulator": | |
setEmulator(data.getString(key)); | |
break; | |
case "wincomponents" : | |
setWinComponents(data.getString(key)); | |
break; | |
+ case "blacklistedextensions": | |
+ setBlacklistedExtensions(data.getString(key)); | |
+ break; | |
case "dxwrapper" : | |
setDXWrapper(data.getString(key)); | |
break; | |
+ case "ddrawrapper": | |
+ setDDrawWrapper(data.getString(key)); | |
case "dxwrapperConfig" : | |
setDXWrapperConfig(data.getString(key)); | |
break; | |
@@ -576,11 +573,11 @@ public class Container { | |
if (data.has("graphicsDriver")) { | |
String graphicsDriver = data.getString("graphicsDriver"); | |
- if (graphicsDriver.equals("turnip-zink")) { | |
- data.put("graphicsDriver", "turnip"); | |
+ if (graphicsDriver.equals("turnip-zink") || graphicsDriver.equals("turnip")) { | |
+ data.put("graphicsDriver", "wrapper"); | |
} | |
else if (graphicsDriver.equals("llvmpipe")) { | |
- data.put("graphicsDriver", "virgl"); | |
+ data.put("graphicsDriver", "wrapper"); | |
} | |
} | |
diff --git a/app/src/main/java/com/winlator/container/ContainerManager.java b/app/src/main/java/com/winlator/cmod/container/ContainerManager.java | |
similarity index 72% | |
rename from app/src/main/java/com/winlator/container/ContainerManager.java | |
rename to app/src/main/java/com/winlator/cmod/container/ContainerManager.java | |
index 3005110..eb4a1da 100644 | |
--- a/app/src/main/java/com/winlator/container/ContainerManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/container/ContainerManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.container; | |
+package com.winlator.cmod.container; | |
import android.content.Context; | |
import android.content.res.AssetManager; | |
@@ -7,15 +7,15 @@ import android.os.Handler; | |
import android.os.Looper; | |
import android.util.Log; | |
-import com.winlator.R; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.OnExtractFileListener; | |
-import com.winlator.core.TarCompressorUtils; | |
-import com.winlator.core.WineInfo; | |
-import com.winlator.xenvironment.ImageFs; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.OnExtractFileListener; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
+import com.winlator.cmod.core.WineInfo; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
import java.util.Arrays; | |
import org.json.JSONArray; | |
@@ -208,12 +208,9 @@ public class ContainerManager { | |
ArrayList<Shortcut> shortcuts = new ArrayList<>(); | |
for (Container container : containers) { | |
File desktopDir = container.getDesktopDir(); | |
- File steamUserDesktopDir = container.getSteamUserDesktopDir(); | |
ArrayList<File> files = new ArrayList<>(); | |
if (desktopDir.exists()) | |
files.addAll(Arrays.asList(desktopDir.listFiles())); | |
- if (steamUserDesktopDir.exists()) | |
- files.addAll(Arrays.asList(steamUserDesktopDir.listFiles())); | |
if (files != null) { | |
for (File file : files) { | |
if (file.getName().endsWith(".desktop")) shortcuts.add(new Shortcut(container, file)); | |
@@ -252,26 +249,19 @@ public class ContainerManager { | |
public boolean extractContainerPatternFile(Container container, String wineVersion, File containerDir, OnExtractFileListener onExtractFileListener) { | |
if (WineInfo.isMainWineVersion(wineVersion)) { | |
- | |
String containerPattern; | |
- | |
- // Determine the file name based on whether the container is bionic | |
- if (container.isBionic()) { | |
- containerPattern = "container_pattern_bionic.tzst"; | |
- } else { | |
- containerPattern = "container_pattern.tzst"; | |
- } | |
- | |
- | |
+ containerPattern = "container_pattern.tzst"; | |
boolean result = TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, context, containerPattern, containerDir, onExtractFileListener); | |
if (result) { | |
try { | |
JSONObject commonDlls = new JSONObject(FileUtils.readString(context, "common_dlls.json")); | |
- if (!container.isBionic()) | |
- extractCommonDlls("x86_64-windows", "system32", commonDlls, containerDir, onExtractFileListener); | |
- else | |
+ WineInfo wineInfo = WineInfo.fromIdentifier(context, wineVersion); | |
+ if (wineInfo.isArm64EC()) | |
extractCommonDlls("aarch64-windows", "system32", commonDlls, containerDir, onExtractFileListener); // arm64ec only | |
+ else | |
+ extractCommonDlls("x86_64-windows", "system32", commonDlls, containerDir, onExtractFileListener); | |
+ | |
extractCommonDlls("i386-windows", "syswow64", commonDlls, containerDir, onExtractFileListener); | |
} | |
catch (JSONException e) { | |
@@ -302,113 +292,6 @@ public class ContainerManager { | |
} | |
} | |
- | |
-// public boolean extractGraphicsDriverFiles(String driverVersion, File containerDir, OnExtractFileListener onExtractFileListener) { | |
-// // Log the start of the extraction process | |
-// Log.d("GraphicsDriverExtraction", "Starting extraction for driver version: " + driverVersion); | |
-// | |
-// // Access the AssetManager to get the graphics driver from assets | |
-// AssetManager assetManager = context.getAssets(); | |
-// String fileName = "graphics_driver/turnip-" + driverVersion + ".tzst"; | |
-// | |
-// try (InputStream inputStream = assetManager.open(fileName)) { | |
-// Log.d("GraphicsDriverExtraction", "Driver file found in assets: " + fileName); | |
-// | |
-// // Define the destination file path in the container directory | |
-// File destinationFile = new File(containerDir, "turnip-" + driverVersion + ".tzst"); | |
-// | |
-// // Copy the asset file to the destination | |
-// try (OutputStream outputStream = new FileOutputStream(destinationFile)) { | |
-// byte[] buffer = new byte[1024]; | |
-// int length; | |
-// while ((length = inputStream.read(buffer)) > 0) { | |
-// outputStream.write(buffer, 0, length); | |
-// } | |
-// } | |
-// | |
-// // Log the extraction result | |
-// boolean result = TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, destinationFile, containerDir, onExtractFileListener); | |
-// | |
-// if (result) { | |
-// Log.d("GraphicsDriverExtraction", "Extraction successful for driver version: " + driverVersion); | |
-// } else { | |
-// Log.e("GraphicsDriverExtraction", "Extraction failed for driver version: " + driverVersion); | |
-// } | |
-// | |
-// return result; | |
-// } catch (IOException e) { | |
-// Log.e("GraphicsDriverExtraction", "Driver file not found in assets: " + fileName, e); | |
-// return false; | |
-// } | |
-// } | |
- | |
- public boolean extractGraphicsDriverFiles(String driverVersion, File imageFsRootDir, OnExtractFileListener onExtractFileListener) { | |
- // Access the AssetManager to get the graphics driver from assets | |
- AssetManager assetManager = context.getAssets(); | |
- String assetFileName = "graphics_driver/turnip-" + driverVersion + ".tzst"; | |
- | |
- // Log the intended paths for extraction | |
- Log.d("ContainerManager", "Extracting graphics driver from assets: " + assetFileName); | |
- | |
- try (InputStream inputStream = assetManager.open(assetFileName)) { | |
- // Define the temporary file path within the imagefs root directory | |
- File tempFile = new File(imageFsRootDir, "turnip-" + driverVersion + ".tzst"); | |
- | |
- // Log the destination path for extraction | |
- Log.d("ContainerManager", "Copying asset file to temporary location: " + tempFile.getAbsolutePath()); | |
- | |
- // Copy the asset file to the temporary location | |
- try (OutputStream outputStream = new FileOutputStream(tempFile)) { | |
- byte[] buffer = new byte[1024]; | |
- int length; | |
- while ((length = inputStream.read(buffer)) > 0) { | |
- outputStream.write(buffer, 0, length); | |
- } | |
- } | |
- | |
- // Perform the extraction to the imageFs root directory | |
- boolean result = TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, tempFile, imageFsRootDir, onExtractFileListener); | |
- | |
- // Log the result of the extraction | |
- if (result) { | |
- Log.d("ContainerManager", "Extraction succeeded for version: " + driverVersion); | |
- } else { | |
- Log.e("ContainerManager", "Extraction failed for version: " + driverVersion); | |
- } | |
- | |
- // Clean up the copied asset file after extraction | |
- if (tempFile.exists()) { | |
- boolean deleted = tempFile.delete(); | |
- if (!deleted) { | |
- Log.w("ContainerManager", "Failed to delete temporary asset file: " + tempFile.getAbsolutePath()); | |
- } | |
- } | |
- | |
- // Return the result of the extraction | |
- return result; | |
- | |
- } catch (IOException e) { | |
- // Log the exception if the asset file cannot be opened or copied | |
- Log.e("ContainerManager", "Failed to extract graphics driver from assets: " + assetFileName, e); | |
- return false; | |
- } | |
- } | |
- | |
- | |
- | |
- | |
- private void logDirectoryContents(File dir) { | |
- Log.d("ContainerManager", "Directory: " + dir.getAbsolutePath()); | |
- if (dir.isDirectory()) { | |
- File[] files = dir.listFiles(); | |
- if (files != null) { | |
- for (File file : files) { | |
- Log.d("ContainerManager", "File/Dir: " + file.getAbsolutePath() + " (" + (file.isDirectory() ? "Dir" : "File") + ")"); | |
- } | |
- } | |
- } | |
- } | |
- | |
public Container getContainerForShortcut(Shortcut shortcut) { | |
// Search for the container by its ID | |
for (Container container : containers) { | |
diff --git a/app/src/main/java/com/winlator/container/Shortcut.java b/app/src/main/java/com/winlator/cmod/container/Shortcut.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/container/Shortcut.java | |
rename to app/src/main/java/com/winlator/cmod/container/Shortcut.java | |
index df81640..8ece1ac 100644 | |
--- a/app/src/main/java/com/winlator/container/Shortcut.java | |
+++ b/app/src/main/java/com/winlator/cmod/container/Shortcut.java | |
@@ -1,14 +1,14 @@ | |
- package com.winlator.container; | |
+ package com.winlator.cmod.container; | |
import android.graphics.Bitmap; | |
import android.graphics.BitmapFactory; | |
import android.util.Log; | |
- import com.winlator.core.FileUtils; | |
- import com.winlator.core.StringUtils; | |
+ import com.winlator.cmod.core.FileUtils; | |
+ import com.winlator.cmod.core.StringUtils; | |
-import java.io.IOException; | |
-import java.nio.file.Files; | |
+import java.io.IOException; | |
+import java.nio.file.Files; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
@@ -288,24 +288,24 @@ import java.nio.file.Files; | |
public int getContainerId() { | |
return container.id; | |
- } | |
- | |
- public String getExecutable() { | |
- String exe = ""; | |
- try { | |
- List<String> lines = Files.readAllLines(file.toPath()); | |
- for (String line : lines) { | |
- if (line.startsWith("Exec")) { | |
- exe = line.substring(line.lastIndexOf("\\") + 1, line.length()).replaceAll("\\s+$", ""); | |
- break; | |
- } | |
- } | |
- } | |
- catch (IOException e) { | |
- throw new RuntimeException(e); | |
- } | |
- | |
- return exe; | |
+ } | |
+ | |
+ public String getExecutable() { | |
+ String exe = ""; | |
+ try { | |
+ List<String> lines = Files.readAllLines(file.toPath()); | |
+ for (String line : lines) { | |
+ if (line.startsWith("Exec")) { | |
+ exe = line.substring(line.lastIndexOf("\\") + 1, line.length()).replaceAll("\\s+$", ""); | |
+ break; | |
+ } | |
+ } | |
+ } | |
+ catch (IOException e) { | |
+ throw new RuntimeException(e); | |
+ } | |
+ | |
+ return exe; | |
} | |
} | |
diff --git a/app/src/main/java/com/winlator/contentdialog/AddEnvVarDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/AddEnvVarDialog.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/contentdialog/AddEnvVarDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/AddEnvVarDialog.java | |
index 5bf394d..0a9e1e6 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/AddEnvVarDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/AddEnvVarDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
@@ -9,8 +9,8 @@ import android.widget.PopupMenu; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.widget.EnvVarsView; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.widget.EnvVarsView; | |
public class AddEnvVarDialog extends ContentDialog { | |
public AddEnvVarDialog(final Context context, final EnvVarsView envVarsView) { | |
diff --git a/app/src/main/java/com/winlator/contentdialog/ContentDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/ContentDialog.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/contentdialog/ContentDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/ContentDialog.java | |
index 2d6a353..d0a064b 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/ContentDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/ContentDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.app.Dialog; | |
import android.content.Context; | |
@@ -7,7 +7,6 @@ import android.graphics.Color; | |
import android.util.SparseBooleanArray; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
-import android.widget.AdapterView; | |
import android.widget.ArrayAdapter; | |
import android.widget.EditText; | |
import android.widget.FrameLayout; | |
@@ -19,9 +18,9 @@ import android.widget.TextView; | |
import androidx.annotation.NonNull; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.Callback; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.Callback; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/contentdialog/ContentInfoDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/ContentInfoDialog.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/contentdialog/ContentInfoDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/ContentInfoDialog.java | |
index 897fe77..ea9be65 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/ContentInfoDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/ContentInfoDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.content.Context; | |
import android.view.LayoutInflater; | |
@@ -11,8 +11,8 @@ import androidx.recyclerview.widget.DividerItemDecoration; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.R; | |
-import com.winlator.contents.ContentProfile; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.contents.ContentProfile; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/contentdialog/ContentUntrustedDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/ContentUntrustedDialog.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/contentdialog/ContentUntrustedDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/ContentUntrustedDialog.java | |
index d5836d2..fed099d 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/ContentUntrustedDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/ContentUntrustedDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.content.Context; | |
import android.widget.TextView; | |
@@ -7,8 +7,8 @@ import androidx.recyclerview.widget.DividerItemDecoration; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.R; | |
-import com.winlator.contents.ContentProfile; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.contents.ContentProfile; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/contentdialog/DXVKConfigDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/DXVKConfigDialog.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/contentdialog/DXVKConfigDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/DXVKConfigDialog.java | |
index 5988d5c..3c91a91 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/DXVKConfigDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/DXVKConfigDialog.java | |
@@ -1,22 +1,22 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.content.Context; | |
+import android.util.Log; | |
import android.view.View; | |
import android.widget.AdapterView; | |
import android.widget.ArrayAdapter; | |
import android.widget.Spinner; | |
import android.widget.ToggleButton; | |
-import com.winlator.R; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.KeyValueSet; | |
-import com.winlator.core.StringUtils; | |
-import com.winlator.xenvironment.ImageFs; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.KeyValueSet; | |
+import com.winlator.cmod.core.StringUtils; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
import java.io.File; | |
import java.util.ArrayList; | |
@@ -113,7 +113,7 @@ public class DXVKConfigDialog extends ContentDialog { | |
} | |
public static void setEnvVars(Context context, KeyValueSet config, EnvVars envVars) { | |
- envVars.put("DXVK_STATE_CACHE_PATH", "/data/data/com.winlator/files/imagefs"+ImageFs.CACHE_PATH); | |
+ envVars.put("DXVK_STATE_CACHE_PATH", context.getFilesDir() + "/imagefs/" + ImageFs.CACHE_PATH); | |
envVars.put("DXVK_LOG_LEVEL", "none"); | |
File rootDir = ImageFs.find(context).getRootDir(); | |
diff --git a/app/src/main/java/com/winlator/contentdialog/DebugDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/DebugDialog.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/contentdialog/DebugDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/DebugDialog.java | |
index 5cc091d..b12e862 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/DebugDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/DebugDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.content.Context; | |
import android.view.LayoutInflater; | |
@@ -8,26 +8,26 @@ import android.widget.LinearLayout; | |
import androidx.annotation.NonNull; | |
-import com.winlator.R; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.UnitUtils; | |
-import com.winlator.widget.LogView; | |
-import java.io.BufferedReader; | |
-import java.io.BufferedWriter; | |
-import java.io.FileWriter; | |
-import java.io.IOException; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.UnitUtils; | |
+import com.winlator.cmod.widget.LogView; | |
+ | |
+import java.io.BufferedWriter; | |
+import java.io.FileWriter; | |
+import java.io.IOException; | |
public class DebugDialog extends ContentDialog implements Callback<String> { | |
private final LogView logView; | |
- private static boolean paused = false; | |
+ private static boolean paused = false; | |
private BufferedWriter writer; | |
public DebugDialog(@NonNull Context context) { | |
super(context, R.layout.debug_dialog); | |
setIcon(R.drawable.icon_debug); | |
setTitle(context.getString(R.string.logs)); | |
- logView = findViewById(R.id.LogView); | |
+ logView = findViewById(R.id.LogView); | |
logView.getLayoutParams().width = (int)UnitUtils.dpToPx(UnitUtils.pxToDp(AppUtils.getScreenWidth()) * 0.7f); | |
@@ -42,32 +42,32 @@ public class DebugDialog extends ContentDialog implements Callback<String> { | |
setPaused(!paused); | |
((ImageButton)v).setImageResource(getPaused() ? R.drawable.icon_play : R.drawable.icon_pause); | |
}); | |
- llBottomBarPanel.addView(toolbarView); | |
- try { | |
- writer = new BufferedWriter(new FileWriter(logView.getLogFile())); | |
- } | |
- catch (IOException e) { | |
- throw new RuntimeException(e); | |
+ llBottomBarPanel.addView(toolbarView); | |
+ try { | |
+ writer = new BufferedWriter(new FileWriter(logView.getLogFile())); | |
+ } | |
+ catch (IOException e) { | |
+ throw new RuntimeException(e); | |
} | |
} | |
@Override | |
public void call(final String line) { | |
- if (!getPaused()) logView.append(line+"\n"); | |
- try { | |
- writer.write(line + "\n"); | |
- writer.flush(); | |
- } | |
- catch (IOException e) { | |
- throw new RuntimeException(e); | |
+ if (!getPaused()) logView.append(line+"\n"); | |
+ try { | |
+ writer.write(line + "\n"); | |
+ writer.flush(); | |
+ } | |
+ catch (IOException e) { | |
+ throw new RuntimeException(e); | |
} | |
- } | |
- | |
- public static void setPaused(boolean cond) { | |
- paused = cond; | |
- } | |
- | |
- public static boolean getPaused() { | |
- return paused; | |
+ } | |
+ | |
+ public static void setPaused(boolean cond) { | |
+ paused = cond; | |
+ } | |
+ | |
+ public static boolean getPaused() { | |
+ return paused; | |
} | |
} | |
diff --git a/app/src/main/java/com/winlator/contentdialog/GamepadConfiguratorDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/GamepadConfiguratorDialog.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/contentdialog/GamepadConfiguratorDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/GamepadConfiguratorDialog.java | |
index d2a455a..28cf279 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/GamepadConfiguratorDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/GamepadConfiguratorDialog.java | |
@@ -1,26 +1,23 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.app.AlertDialog; | |
import android.content.Context; | |
-import android.content.DialogInterface; | |
import android.content.SharedPreferences; | |
import android.util.Log; | |
-import android.view.LayoutInflater; | |
import android.view.View; | |
import android.widget.AdapterView; | |
import android.widget.ArrayAdapter; | |
import android.widget.Button; | |
import android.widget.EditText; | |
import android.widget.Spinner; | |
-import android.widget.TextView; | |
import android.widget.Toast; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.XServerDisplayActivity; | |
-import com.winlator.core.Callback; | |
-import com.winlator.inputcontrols.ExternalController; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.XServerDisplayActivity; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.inputcontrols.ExternalController; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
@@ -31,10 +28,8 @@ import java.io.FileInputStream; | |
import java.io.FileOutputStream; | |
import java.io.IOException; | |
import java.util.ArrayList; | |
-import java.util.Arrays; | |
import java.util.HashMap; | |
import java.util.LinkedHashSet; | |
-import java.util.List; | |
import java.util.Map; | |
import java.util.Set; | |
diff --git a/app/src/main/java/com/winlator/contentdialog/GraphicsDriverConfigDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/GraphicsDriverConfigDialog.java | |
similarity index 59% | |
rename from app/src/main/java/com/winlator/contentdialog/GraphicsDriverConfigDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/GraphicsDriverConfigDialog.java | |
index 310a9a7..7b80e5a 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/GraphicsDriverConfigDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/GraphicsDriverConfigDialog.java | |
@@ -1,51 +1,101 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.content.Context; | |
+import android.content.SharedPreferences; | |
import android.util.Log; | |
import android.view.View; | |
+import android.view.ViewGroup; | |
import android.widget.AdapterView; | |
import android.widget.ArrayAdapter; | |
+import android.widget.CheckBox; | |
import android.widget.Spinner; | |
+import android.widget.TextView; | |
import androidx.annotation.Nullable; | |
+import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.contents.AdrenotoolsManager; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.GPUInformation; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.contents.AdrenotoolsManager; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.GPUInformation; | |
import java.io.File; | |
import java.util.ArrayList; | |
import java.util.Arrays; | |
import java.util.List; | |
+import java.util.HashMap; | |
public class GraphicsDriverConfigDialog extends ContentDialog { | |
- private static final String TAG = "GraphicsDriverConfigDialog"; // Tag for logging | |
+ private static final String TAG = "GraphicsDriverConfigDialog"; // Tag for logging | |
+ HashMap<String, Boolean> extensionsState = new HashMap<>(); | |
private Spinner sVersion; | |
- private boolean isBionic; | |
+ private Spinner sAvailableExtensions; | |
private String selectedVersion; | |
+ private String blacklistedExtensions = ""; | |
+ | |
+ protected class ExtensionAdapter extends ArrayAdapter<String> { | |
+ ArrayList<String> extensions; | |
+ | |
+ public ExtensionAdapter(Context context, List<String> list) { | |
+ super(context, 0, list); | |
+ this.extensions = new ArrayList<>(list); | |
+ } | |
+ | |
+ @Override | |
+ public View getView(int position, View convertView, ViewGroup parent) { | |
+ return initSpinnerElement(position, convertView, parent); | |
+ } | |
+ | |
+ @Override | |
+ public View getDropDownView(int position, View convertView, ViewGroup parent) { | |
+ return initDropDownView(position, convertView, parent); | |
+ } | |
+ | |
+ private View initSpinnerElement(int position, View convertView, ViewGroup parent) { | |
+ if (convertView == null) { | |
+ convertView = (View)new TextView(getContext()); | |
+ } | |
+ ((TextView)convertView).setText(extensions.size() + " System Extensions"); | |
+ return convertView; | |
+ } | |
+ | |
+ private View initDropDownView(int position, View convertView, ViewGroup parent) { | |
+ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); | |
+ boolean isDarkMode = sp.getBoolean("dark_mode", false); | |
+ if (convertView == null) { | |
+ convertView = getLayoutInflater().inflate(R.layout.checkbox_spinner, parent, false); | |
+ } | |
+ CheckBox cb = convertView.findViewById(R.id.checkbox); | |
+ cb.setTextAppearance(isDarkMode ? R.style.CheckBox_Dark : R.style.CheckBox); | |
+ cb.setText(extensions.get(position)); | |
+ cb.setOnCheckedChangeListener(null); | |
+ cb.setChecked(extensionsState.getOrDefault(extensions.get(position), true)); | |
+ cb.setOnCheckedChangeListener((buttonView, isChecked) -> { | |
+ extensionsState.put(extensions.get(position), isChecked); | |
+ }); | |
+ return convertView; | |
+ } | |
+ } | |
public interface OnGraphicsDriverVersionSelectedListener { | |
- void onGraphicsDriverVersionSelected(String version); | |
+ void onGraphicsDriverVersionSelected(String version, String blacklistedExtensions); | |
} | |
- public GraphicsDriverConfigDialog(View anchor, String initialVersion, String graphicsDriver, boolean isBionic, OnGraphicsDriverVersionSelectedListener listener) { | |
+ public GraphicsDriverConfigDialog(View anchor, String initialVersion, String blExtensions, String graphicsDriver, OnGraphicsDriverVersionSelectedListener listener) { | |
super(anchor.getContext(), R.layout.graphics_driver_config_dialog); | |
- this.isBionic = isBionic; | |
- initializeDialog(anchor, initialVersion, graphicsDriver, null, listener); | |
+ initializeDialog(anchor, initialVersion, blExtensions, graphicsDriver, null, listener); | |
} | |
- private void initializeDialog(View anchor, String initialVersion, String graphicsDriver, @Nullable File rootDir, OnGraphicsDriverVersionSelectedListener listener) { | |
+ private void initializeDialog(View anchor, String initialVersion, String blExtensions, String graphicsDriver, @Nullable File rootDir, OnGraphicsDriverVersionSelectedListener listener) { | |
setIcon(R.drawable.icon_settings); | |
setTitle(anchor.getContext().getString(R.string.graphics_driver_configuration)); | |
sVersion = findViewById(R.id.SGraphicsDriverVersion); | |
+ sAvailableExtensions = findViewById(R.id.SGraphicsDriverAvailableExtensions); | |
// Update the selectedVersion whenever the user selects a different version | |
sVersion.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | |
@@ -67,10 +117,18 @@ public class GraphicsDriverConfigDialog extends ContentDialog { | |
contentsManager.syncContents(); | |
// Populate the spinner with available versions from ContentsManager and pre-select the initial version | |
- populateGraphicsDriverVersions(anchor.getContext(), contentsManager, initialVersion, graphicsDriver); | |
+ populateGraphicsDriverVersions(anchor.getContext(), contentsManager, initialVersion, blExtensions, graphicsDriver); | |
setOnConfirmCallback(() -> { | |
anchor.setTag(selectedVersion); | |
+ for (HashMap.Entry<String, Boolean> entry : extensionsState.entrySet()) { | |
+ if(!entry.getKey().isEmpty() && !entry.getValue()) { | |
+ blacklistedExtensions += entry.getKey() + ","; | |
+ } | |
+ } | |
+ | |
+ if (!blacklistedExtensions.isEmpty()) | |
+ blacklistedExtensions = blacklistedExtensions.substring(0, blacklistedExtensions.length() - 1); | |
// if (rootDir != null) { | |
// // Apply the selected version to the container | |
@@ -80,7 +138,8 @@ public class GraphicsDriverConfigDialog extends ContentDialog { | |
// Pass the selected version back to the listener | |
if (listener != null) { | |
- listener.onGraphicsDriverVersionSelected(selectedVersion); | |
+ Log.d(TAG, "Blacklisted extensions " + blacklistedExtensions); | |
+ listener.onGraphicsDriverVersionSelected(selectedVersion, blacklistedExtensions); | |
} | |
}); | |
} | |
@@ -143,47 +202,42 @@ public class GraphicsDriverConfigDialog extends ContentDialog { | |
// }); | |
// } | |
- private void populateGraphicsDriverVersions(Context context, ContentsManager contentsManager, @Nullable String initialVersion, String graphicsDriver) { | |
- List<String> turnipVersions = new ArrayList<>(); | |
+ private void populateGraphicsDriverVersions(Context context, ContentsManager contentsManager, @Nullable String initialVersion, @Nullable String blExtensions, String graphicsDriver) { | |
List<String> wrapperVersions = new ArrayList<>(); | |
+ ArrayList<String> availableExtensions = new ArrayList<>(); | |
- // Load the default versions from arrays.xml | |
- String[] turnipDefaultVersions = context.getResources().getStringArray(R.array.turnip_graphics_driver_version_entries); | |
String[] wrapperDefaultVersions = context.getResources().getStringArray(R.array.wrapper_graphics_driver_version_entries); | |
- turnipVersions.addAll(Arrays.asList(turnipDefaultVersions)); | |
wrapperVersions.addAll(Arrays.asList(wrapperDefaultVersions)); | |
- | |
- if (isBionic) { | |
- turnipVersions.subList(0, turnipVersions.size() - 1).clear(); | |
- } | |
- else { | |
- turnipVersions.remove(turnipVersions.size() - 1); | |
- } | |
- | |
- // Add installed versions from ContentsManager | |
- List<ContentProfile> profiles = contentsManager.getProfiles(ContentProfile.ContentType.CONTENT_TYPE_TURNIP); | |
- if (profiles != null && !isBionic) { | |
- for (ContentProfile profile : profiles) { | |
- String profileName = ContentsManager.getEntryName(profile); | |
- if (profileName != null && !turnipVersions.contains(profileName)) { | |
- turnipVersions.add(profileName); | |
- } | |
- } | |
- } | |
// Add installed versions from AdrenotoolsManager | |
AdrenotoolsManager adrenotoolsManager = new AdrenotoolsManager(context); | |
wrapperVersions.addAll(adrenotoolsManager.enumarateInstalledDrivers()); | |
+ availableExtensions = new ArrayList<>(Arrays.asList(GPUInformation.enumerateExtensions())); | |
+ | |
+ // Remove essential and wrapper disabled extensions | |
+ String[] essentialExtensions = {"VK_EXT_hdr_metadata", "VK_GOOGLE_display_timing", "VK_KHR_shader_float_controls", "VK_KHR_shader_presentable_image", "VK_EXT_image_compression_control_swapchain"}; | |
+ for (String extension : essentialExtensions) { | |
+ availableExtensions.remove(extension); | |
+ } | |
+ | |
// Set the adapter and select the initial version | |
- ArrayAdapter<String> turnipAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, turnipVersions); | |
ArrayAdapter<String> wrapperAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, wrapperVersions); | |
+ ExtensionAdapter extensionsAdapter = new ExtensionAdapter(context, availableExtensions); | |
+ | |
+ String[] bl = blExtensions.split("\\,"); | |
+ | |
+ for (String extension : bl) { | |
+ if (!extension.isEmpty()) { | |
+ Log.d("GraphicsDriverConfigDialog", "Getting initial blacklisted extension: " + extension); | |
+ extensionsState.put(extension, false); | |
+ } | |
+ } | |
- if (graphicsDriver.contains("turnip")) | |
- sVersion.setAdapter(turnipAdapter); | |
- else | |
- sVersion.setAdapter(wrapperAdapter); | |
+ sVersion.setAdapter(wrapperAdapter); | |
+ | |
+ sAvailableExtensions.setAdapter(extensionsAdapter); | |
// We can start logging selected graphics driver and initial version | |
Log.d(TAG, "Graphics driver: " + graphicsDriver); | |
@@ -197,12 +251,6 @@ public class GraphicsDriverConfigDialog extends ContentDialog { | |
Log.d(TAG, "Spinner selected value: " + sVersion.getSelectedItem()); | |
} | |
- | |
- | |
- public String getSelectedVersion() { | |
- return selectedVersion; | |
- } | |
- | |
private void setSpinnerSelectionWithFallback(Spinner spinner, String version, String graphicsDriver) { | |
// First, attempt to find an exact match (case-insensitive) | |
for (int i = 0; i < spinner.getCount(); i++) { | |
@@ -213,50 +261,7 @@ public class GraphicsDriverConfigDialog extends ContentDialog { | |
} | |
} | |
- // If no exact match is found, try to match based on base version | |
- if (version != null && version.startsWith("Turnip")) { | |
- String baseVersion = extractBaseVersionFromTurnip(version); | |
- int lastTurnipIndex = -1; | |
- | |
- for (int i = 0; i < spinner.getCount(); i++) { | |
- String item = spinner.getItemAtPosition(i).toString(); | |
- // Check if the item is a Turnip version and matches the base version | |
- if (item.startsWith("Turnip") && item.contains(baseVersion)) { | |
- spinner.setSelection(i); | |
- return; | |
- } | |
- // Save the index of the last Turnip version with the matching base version | |
- if (item.equalsIgnoreCase(baseVersion)) { | |
- lastTurnipIndex = i; | |
- } | |
- } | |
- | |
- // If no Turnip version matches, fall back to the last index of a base version match | |
- if (lastTurnipIndex != -1) { | |
- spinner.setSelection(lastTurnipIndex); | |
- return; | |
- } | |
- } | |
- | |
- if (graphicsDriver.contains("turnip")) { | |
- if (isBionic) | |
- AppUtils.setSpinnerSelectionFromValue(spinner, DefaultVersion.TURNIP_BIONIC); | |
- else | |
- AppUtils.setSpinnerSelectionFromValue(spinner, DefaultVersion.TURNIP_GLIBC); | |
- } | |
- else | |
- AppUtils.setSpinnerSelectionFromValue(spinner, DefaultVersion.WRAPPER); | |
- } | |
- | |
- // Helper method to extract the base version from the Turnip string | |
- private String extractBaseVersionFromTurnip(String version) { | |
- // Assumes the format "Turnip-X.Y.Z-anything" and extracts "X.Y.Z" | |
- String[] parts = version.split("-"); | |
- if (parts.length > 1) { | |
- return parts[1]; // This should give us "X.Y.Z" | |
- } | |
- return version; // Fallback to the original version string | |
+ AppUtils.setSpinnerSelectionFromValue(spinner, DefaultVersion.WRAPPER); | |
} | |
- | |
} | |
diff --git a/app/src/main/java/com/winlator/contentdialog/ImportGroupDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/ImportGroupDialog.java | |
similarity index 88% | |
rename from app/src/main/java/com/winlator/contentdialog/ImportGroupDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/ImportGroupDialog.java | |
index ac99519..eee7377 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/ImportGroupDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/ImportGroupDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.content.SharedPreferences; | |
import android.view.View; | |
@@ -9,11 +9,11 @@ import android.widget.Spinner; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.box86_64.rc.RCFile; | |
-import com.winlator.box86_64.rc.RCGroup; | |
-import com.winlator.box86_64.rc.RCManager; | |
-import com.winlator.core.Callback; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.box86_64.rc.RCFile; | |
+import com.winlator.cmod.box86_64.rc.RCGroup; | |
+import com.winlator.cmod.box86_64.rc.RCManager; | |
+import com.winlator.cmod.core.Callback; | |
import java.util.ArrayList; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/contentdialog/SaveEditDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/SaveEditDialog.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/contentdialog/SaveEditDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/SaveEditDialog.java | |
index ea2d0c5..5e1695e 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/SaveEditDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/SaveEditDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.app.Activity; | |
import android.content.Context; | |
@@ -11,14 +11,14 @@ import android.widget.TextView; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.MainActivity; | |
-import com.winlator.R; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.saves.CustomFilePickerActivity; | |
-import com.winlator.saves.Save; | |
-import com.winlator.saves.SaveManager; | |
+import com.winlator.cmod.MainActivity; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.saves.CustomFilePickerActivity; | |
+import com.winlator.cmod.saves.Save; | |
+import com.winlator.cmod.saves.SaveManager; | |
import java.io.File; | |
diff --git a/app/src/main/java/com/winlator/contentdialog/SaveSettingsDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/SaveSettingsDialog.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/contentdialog/SaveSettingsDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/SaveSettingsDialog.java | |
index a772dc4..b2a5cf9 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/SaveSettingsDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/SaveSettingsDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.app.Activity; | |
import android.content.Context; | |
@@ -14,14 +14,14 @@ import android.widget.TextView; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.MainActivity; | |
-import com.winlator.R; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.saves.CustomFilePickerActivity; | |
-import com.winlator.saves.Save; | |
-import com.winlator.saves.SaveManager; | |
+import com.winlator.cmod.MainActivity; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.saves.CustomFilePickerActivity; | |
+import com.winlator.cmod.saves.Save; | |
+import com.winlator.cmod.saves.SaveManager; | |
import java.io.File; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/contentdialog/ScreenEffectDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/ScreenEffectDialog.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/contentdialog/ScreenEffectDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/ScreenEffectDialog.java | |
index 87eb434..da89d44 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/ScreenEffectDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/ScreenEffectDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.content.SharedPreferences; | |
import android.graphics.Color; | |
@@ -13,17 +13,17 @@ import android.widget.TextView; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.XServerDisplayActivity; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.KeyValueSet; | |
-import com.winlator.renderer.GLRenderer; | |
-import com.winlator.renderer.effects.ColorEffect; | |
-import com.winlator.renderer.effects.CRTEffect; | |
-import com.winlator.renderer.effects.FXAAEffect; | |
-import com.winlator.renderer.effects.NTSCCombinedEffect; | |
-import com.winlator.renderer.effects.ToonEffect; | |
-import com.winlator.widget.SeekBar; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.XServerDisplayActivity; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.KeyValueSet; | |
+import com.winlator.cmod.renderer.GLRenderer; | |
+import com.winlator.cmod.renderer.effects.ColorEffect; | |
+import com.winlator.cmod.renderer.effects.CRTEffect; | |
+import com.winlator.cmod.renderer.effects.FXAAEffect; | |
+import com.winlator.cmod.renderer.effects.NTSCCombinedEffect; | |
+import com.winlator.cmod.renderer.effects.ToonEffect; | |
+import com.winlator.cmod.widget.SeekBar; | |
import java.util.ArrayList; | |
import java.util.LinkedHashSet; | |
diff --git a/app/src/main/java/com/winlator/contentdialog/ShortcutSettingsDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/ShortcutSettingsDialog.java | |
similarity index 86% | |
rename from app/src/main/java/com/winlator/contentdialog/ShortcutSettingsDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/ShortcutSettingsDialog.java | |
index dd45c67..ddc8813 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/ShortcutSettingsDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/ShortcutSettingsDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
@@ -18,32 +18,29 @@ import android.widget.LinearLayout; | |
import android.widget.PopupMenu; | |
import android.widget.Spinner; | |
import android.widget.TextView; | |
-import android.widget.Toast; | |
import androidx.preference.PreferenceManager; | |
import com.google.android.material.tabs.TabLayout; | |
-import com.winlator.ContainerDetailFragment; | |
-import com.winlator.R; | |
-import com.winlator.ShortcutsFragment; | |
-import com.winlator.box86_64.Box86_64PresetManager; | |
-import com.winlator.box86_64.rc.RCManager; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.container.Shortcut; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.StringUtils; | |
-import com.winlator.fexcore.FEXCoreManager; | |
-import com.winlator.inputcontrols.ControlsProfile; | |
-import com.winlator.inputcontrols.InputControlsManager; | |
-import com.winlator.midi.MidiManager; | |
-import com.winlator.widget.CPUListView; | |
-import com.winlator.widget.EnvVarsView; | |
-import com.winlator.winhandler.WinHandler; | |
+import com.winlator.cmod.ContainerDetailFragment; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.ShortcutsFragment; | |
+import com.winlator.cmod.box86_64.Box86_64PresetManager; | |
+import com.winlator.cmod.box86_64.rc.RCManager; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.container.Shortcut; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.StringUtils; | |
+import com.winlator.cmod.core.WineInfo; | |
+import com.winlator.cmod.fexcore.FEXCoreManager; | |
+import com.winlator.cmod.inputcontrols.ControlsProfile; | |
+import com.winlator.cmod.inputcontrols.InputControlsManager; | |
+import com.winlator.cmod.midi.MidiManager; | |
+import com.winlator.cmod.widget.EnvVarsView; | |
+import com.winlator.cmod.winhandler.WinHandler; | |
import java.io.File; | |
import java.lang.reflect.Field; | |
@@ -122,6 +119,8 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
final Spinner sDXWrapper = findViewById(R.id.SDXWrapper); | |
+ final Spinner sDDrawrapper = findViewById(R.id.SDDrawrapper); | |
+ | |
final Spinner sBox64Version = findViewById(R.id.SBox64Version); | |
ContentsManager contentsManager = new ContentsManager(context); | |
@@ -162,6 +161,7 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
vDXWrapperConfig.setTag(shortcut.getExtra("dxwrapperConfig", shortcut.container.getDXWrapperConfig())); | |
ContainerDetailFragment.setupDXWrapperSpinner(sDXWrapper, vDXWrapperConfig); | |
+ ContainerDetailFragment.setupDDrawSpinner(sDDrawrapper, shortcut.getExtra("ddrawrapper", shortcut.container.getDDrawWrapper())); | |
loadGraphicsDriverSpinner(sGraphicsDriver, sDXWrapper, vGraphicsDriverConfig, shortcut.getExtra("graphicsDriver", shortcut.container.getGraphicsDriver()), | |
shortcut.getExtra("dxwrapper", shortcut.container.getDXWrapper())); | |
@@ -175,6 +175,19 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
MidiManager.loadSFSpinner(sMIDISoundFont); | |
AppUtils.setSpinnerSelectionFromValue(sMIDISoundFont, shortcut.getExtra("midiSoundFont", shortcut.container.getMIDISoundFont())); | |
+ FrameLayout fexcoreFL = findViewById(R.id.fexcoreFrame); | |
+ String wineVersion = shortcut.container.getWineVersion(); | |
+ WineInfo wineInfo = WineInfo.fromIdentifier(context, wineVersion); | |
+ if (wineInfo.isArm64EC()) { | |
+ fexcoreFL.setVisibility(View.VISIBLE); | |
+ sEmulator.setEnabled(true); | |
+ } | |
+ else { | |
+ fexcoreFL.setVisibility(View.GONE); | |
+ sEmulator.setEnabled(false); | |
+ sEmulator.setSelection(1); | |
+ } | |
+ | |
final CheckBox cbUseSecondaryExec = findViewById(R.id.CBUseSecondaryExec); | |
final LinearLayout llSecondaryExecOptions = findViewById(R.id.LLSecondaryExecOptions); | |
final EditText etSecondaryExec = findViewById(R.id.ETSecondaryExec); | |
@@ -310,26 +323,10 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
popupMenu.show(); | |
}); | |
- FrameLayout fexcoreFL = findViewById(R.id.fexcoreFrame); | |
- LinearLayout emulatorLL = findViewById(R.id.LLEmulator); | |
- | |
- // Handle bionic and glibc switching logic | |
- if (!shortcut.container.isBionic()) { | |
- String selectedDriver = sGraphicsDriver.getSelectedItem().toString(); | |
- List<String> sGraphicsItemsList = new ArrayList<>(Arrays.asList(context.getResources().getStringArray(R.array.graphics_driver_entries))); | |
- sGraphicsItemsList.remove("Wrapper"); | |
- sGraphicsDriver.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, sGraphicsItemsList)); | |
- AppUtils.setSpinnerSelectionFromValue(sGraphicsDriver, selectedDriver); | |
- fexcoreFL.setVisibility(View.GONE); | |
- emulatorLL.setVisibility(View.GONE); | |
- } | |
- else { | |
- String selectedDriver = sGraphicsDriver.getSelectedItem().toString(); | |
- List<String> sGraphicsItemsList = new ArrayList<>(Arrays.asList(context.getResources().getStringArray(R.array.graphics_driver_entries))); | |
- sGraphicsItemsList.remove("VirGL"); | |
- sGraphicsDriver.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, sGraphicsItemsList)); | |
- AppUtils.setSpinnerSelectionFromValue(sGraphicsDriver, selectedDriver); | |
- } | |
+ String selectedDriver = sGraphicsDriver.getSelectedItem().toString(); | |
+ List<String> sGraphicsItemsList = new ArrayList<>(Arrays.asList(context.getResources().getStringArray(R.array.graphics_driver_entries))); | |
+ sGraphicsDriver.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, sGraphicsItemsList)); | |
+ AppUtils.setSpinnerSelectionFromValue(sGraphicsDriver, selectedDriver); | |
setOnConfirmCallback(() -> { | |
String name = etName.getText().toString().trim(); | |
@@ -348,7 +345,7 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
String graphicsDriver = StringUtils.parseIdentifier(sGraphicsDriver.getSelectedItem()); | |
String graphicsDriverConfig = vGraphicsDriverConfig.getTag().toString(); | |
String dxwrapper = StringUtils.parseIdentifier(sDXWrapper.getSelectedItem()); | |
-// dxwrapper = dxwrapper == null || dxwrapper.isEmpty() ? "default_dxwrapper" : dxwrapper; | |
+ String ddrawrapper = StringUtils.parseIdentifier(sDDrawrapper.getSelectedItem()); | |
String dxwrapperConfig = vDXWrapperConfig.getTag().toString(); | |
String audioDriver = StringUtils.parseIdentifier(sAudioDriver.getSelectedItem()); | |
String emulator = StringUtils.parseIdentifier(sEmulator.getSelectedItem()); | |
@@ -370,11 +367,9 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
shortcut.putExtra("execArgs", !execArgs.isEmpty() ? execArgs : null); | |
shortcut.putExtra("screenSize", !screenSize.equals(shortcut.container.getScreenSize()) ? screenSize : null); | |
shortcut.putExtra("graphicsDriver", !graphicsDriver.equals(shortcut.container.getGraphicsDriver()) ? graphicsDriver : null); | |
- if (graphicsDriver.contains("turnip")) | |
- shortcut.putExtra("turnipGraphicsDriverVersion", graphicsDriverConfig); | |
- else if(graphicsDriver.contains("wrapper")) | |
- shortcut.putExtra("wrapperGraphicsDriverVersion", graphicsDriverConfig); | |
+ shortcut.putExtra("wrapperGraphicsDriverVersion", graphicsDriverConfig); | |
shortcut.putExtra("dxwrapper", !dxwrapper.equals(shortcut.container.getDXWrapper()) ? dxwrapper : null); | |
+ shortcut.putExtra("ddrawrapper", !ddrawrapper.equals(shortcut.container.getDDrawWrapper()) ? ddrawrapper : null); | |
shortcut.putExtra("dxwrapperConfig", !dxwrapperConfig.equals(shortcut.container.getDXWrapperConfig()) ? dxwrapperConfig : null); | |
shortcut.putExtra("audioDriver", !audioDriver.equals(shortcut.container.getAudioDriver()) ? audioDriver : null); | |
shortcut.putExtra("emulator", !emulator.equals(shortcut.container.getEmulator()) ? emulator : null); | |
@@ -498,11 +493,12 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
// Update Spinners | |
Spinner sGraphicsDriver = view.findViewById(R.id.SGraphicsDriver); | |
Spinner sDXWrapper = view.findViewById(R.id.SDXWrapper); | |
+ Spinner sDDrawrapper = view.findViewById(R.id.SDDrawrapper); | |
Spinner sAudioDriver = view.findViewById(R.id.SAudioDriver); | |
+ Spinner sEmulatorSpinner = view.findViewById(R.id.SEmulator); | |
Spinner sBox86Preset = view.findViewById(R.id.SBox86Preset); | |
Spinner sBox64Preset = view.findViewById(R.id.SBox64Preset); | |
Spinner sControlsProfile = view.findViewById(R.id.SControlsProfile); | |
-// Spinner sDInputMapperType = view.findViewById(R.id.SDInputMapperType); | |
Spinner sRCFile = view.findViewById(R.id.SRCFile); | |
Spinner sDInputType = view.findViewById(R.id.SDInputType); | |
Spinner sMIDISoundFont = view.findViewById(R.id.SMIDISoundFont); | |
@@ -515,11 +511,12 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
// Set dark or light mode background for spinners | |
sGraphicsDriver.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
sDXWrapper.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
+ sDDrawrapper.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
sAudioDriver.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
+ sEmulatorSpinner.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
sBox86Preset.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
sBox64Preset.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
sControlsProfile.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
-// sDInputMapperType.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
sRCFile.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
sDInputType.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
sMIDISoundFont.setPopupBackgroundResource(isDarkMode ? R.drawable.content_dialog_background_dark : R.drawable.content_dialog_background); | |
@@ -563,18 +560,15 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
private void showGraphicsDriverConfigDialog(View anchor, String graphicsDriver) { | |
// Use the shortcut's graphics driver version to initialize the dialog | |
String graphicsDriverVersion; | |
- if (graphicsDriver.contains("turnip")) | |
- graphicsDriverVersion = shortcut.getExtra("turnipGraphicsDriverVersion", shortcut.container.getTurnipGraphicsDriverVersion()); | |
- else | |
- graphicsDriverVersion = shortcut.getExtra("wrapperGraphicsDriverVersion", shortcut.container.getWrapperGraphicsDriverVersion()); | |
- new GraphicsDriverConfigDialog(anchor, graphicsDriverVersion, graphicsDriver, shortcut.container.isBionic(), (version) -> { | |
+ graphicsDriverVersion = shortcut.getExtra("wrapperGraphicsDriverVersion", shortcut.container.getWrapperGraphicsDriverVersion()); | |
+ | |
+ String blExtensions = shortcut.getExtra("blacklistedextensions", shortcut.container.getBlacklistedExtensions()); | |
+ | |
+ new GraphicsDriverConfigDialog(anchor, graphicsDriverVersion, blExtensions, graphicsDriver, (version, blackListedExtensions) -> { | |
// Update the shortcut's graphics driver version with the selected version from the dialog. | |
- if (graphicsDriver.contains("turnip")) | |
- shortcut.putExtra("turnipGraphicsDriverVersion", version); | |
- else | |
- shortcut.putExtra("wrapperGraphicsDriverVersion", version); | |
- | |
- // Update the displayed Turnip version dynamically | |
+ shortcut.putExtra("oldWrapperGraphicsDriverVersion", graphicsDriverVersion); | |
+ shortcut.putExtra("wrapperGraphicsDriverVersion", version); | |
+ shortcut.putExtra("blacklistedextensions", blackListedExtensions); | |
updateGraphicsDriverVersionText(version); | |
}).show(); | |
} | |
@@ -700,13 +694,10 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
Runnable update = () -> { | |
String graphicsDriver = StringUtils.parseIdentifier(sGraphicsDriver.getSelectedItem()); | |
- boolean addAll = graphicsDriver.equals("turnip") || graphicsDriver.equals("wrapper"); | |
ArrayList<String> items = new ArrayList<>(); | |
for (String value : dxwrapperEntries) { | |
- if (addAll || (!value.equals("DXVK") && !value.equals("VKD3D"))) { | |
items.add(value); | |
- } | |
} | |
sDXWrapper.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, items.toArray(new String[0]))); | |
AppUtils.setSpinnerSelectionFromIdentifier(sDXWrapper, selectedDXWrapper); | |
@@ -718,26 +709,15 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
String driver = StringUtils.parseIdentifier(parent.getItemAtPosition(position)); | |
Log.d("Selected driver in shortcut", driver); | |
switch(driver) { | |
- case "virgl": | |
- vGraphicsDriverConfig.setVisibility(View.GONE); | |
- updateGraphicsDriverVersionText(""); | |
- break; | |
- case "turnip": | |
- vGraphicsDriverConfig.setVisibility(View.VISIBLE); | |
- vGraphicsDriverConfig.setTag(shortcut.getExtra("turnipGraphicsDriverVersion", shortcut.container.getTurnipGraphicsDriverVersion())); | |
- updateGraphicsDriverVersionText(shortcut.getExtra("turnipGraphicsDriverVersion", shortcut.container.getTurnipGraphicsDriverVersion())); | |
- break; | |
case "wrapper": | |
vGraphicsDriverConfig.setVisibility(View.VISIBLE); | |
vGraphicsDriverConfig.setTag(shortcut.getExtra("wrapperGraphicsDriverVersion", shortcut.container.getWrapperGraphicsDriverVersion())); | |
updateGraphicsDriverVersionText(shortcut.getExtra("wrapperGraphicsDriverVersion", shortcut.container.getWrapperGraphicsDriverVersion())); | |
break; | |
} | |
- if (!driver.contains("virgl")) { | |
- vGraphicsDriverConfig.setOnClickListener((v) -> { | |
+ vGraphicsDriverConfig.setOnClickListener((v) -> { | |
showGraphicsDriverConfigDialog(vGraphicsDriverConfig, StringUtils.parseIdentifier(driver)); | |
- }); | |
- } | |
+ }); | |
update.run(); | |
} | |
@@ -745,11 +725,6 @@ public class ShortcutSettingsDialog extends ContentDialog { | |
public void onNothingSelected(AdapterView<?> parent) { | |
String driver = StringUtils.parseIdentifier(parent.getSelectedItem()); | |
Log.d("Selected driver in shortcut", driver); | |
- if (!driver.contains(("virgl"))) { | |
- vGraphicsDriverConfig.setOnClickListener((v) -> { | |
- showGraphicsDriverConfigDialog(vGraphicsDriverConfig, StringUtils.parseIdentifier(driver)); | |
- }); | |
- } | |
} | |
}); | |
diff --git a/app/src/main/java/com/winlator/contentdialog/StorageInfoDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/StorageInfoDialog.java | |
similarity index 89% | |
rename from app/src/main/java/com/winlator/contentdialog/StorageInfoDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/StorageInfoDialog.java | |
index 192af7f..f408508 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/StorageInfoDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/StorageInfoDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.app.Activity; | |
import android.widget.TextView; | |
@@ -6,11 +6,11 @@ import android.widget.TextView; | |
import androidx.annotation.NonNull; | |
import com.google.android.material.progressindicator.CircularProgressIndicator; | |
-import com.winlator.R; | |
-import com.winlator.container.Container; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.StringUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.StringUtils; | |
import java.io.File; | |
import java.util.concurrent.atomic.AtomicLong; | |
diff --git a/app/src/main/java/com/winlator/contentdialog/VKD3DConfigDialog.java b/app/src/main/java/com/winlator/cmod/contentdialog/VKD3DConfigDialog.java | |
similarity index 89% | |
rename from app/src/main/java/com/winlator/contentdialog/VKD3DConfigDialog.java | |
rename to app/src/main/java/com/winlator/cmod/contentdialog/VKD3DConfigDialog.java | |
index a077813..a777216 100644 | |
--- a/app/src/main/java/com/winlator/contentdialog/VKD3DConfigDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/contentdialog/VKD3DConfigDialog.java | |
@@ -1,21 +1,20 @@ | |
-package com.winlator.contentdialog; | |
+package com.winlator.cmod.contentdialog; | |
import android.content.Context; | |
import android.view.View; | |
import android.widget.ArrayAdapter; | |
import android.widget.Spinner; | |
-import com.winlator.R; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.KeyValueSet; | |
-import com.winlator.core.VKD3DVersionItem; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.KeyValueSet; | |
+import com.winlator.cmod.core.VKD3DVersionItem; | |
import java.util.ArrayList; | |
-import java.util.Arrays; | |
import java.util.List; | |
public class VKD3DConfigDialog extends ContentDialog { | |
diff --git a/app/src/main/java/com/winlator/contents/AdrenotoolsManager.java b/app/src/main/java/com/winlator/cmod/contents/AdrenotoolsManager.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/contents/AdrenotoolsManager.java | |
rename to app/src/main/java/com/winlator/cmod/contents/AdrenotoolsManager.java | |
index 73cf5e3..fb68bbe 100644 | |
--- a/app/src/main/java/com/winlator/contents/AdrenotoolsManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/contents/AdrenotoolsManager.java | |
@@ -1,28 +1,24 @@ | |
-package com.winlator.contents; | |
+package com.winlator.cmod.contents; | |
import android.content.res.AssetManager; | |
import android.net.Uri; | |
-import com.winlator.R; | |
import android.content.Context; | |
import android.util.Log; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.Shortcut; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.GPUInformation; | |
-import com.winlator.core.TarCompressorUtils; | |
-import com.winlator.xenvironment.ImageFs; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.Shortcut; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.GPUInformation; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
import java.io.File; | |
-import java.io.FileInputStream; | |
-import java.io.FileOutputStream; | |
import java.io.IOException; | |
import java.io.InputStream; | |
import java.nio.file.Files; | |
import java.nio.file.StandardCopyOption; | |
import java.util.ArrayList; | |
-import java.util.Arrays; | |
import java.util.zip.ZipEntry; | |
import java.util.zip.ZipInputStream; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/contents/ContentProfile.java b/app/src/main/java/com/winlator/cmod/contents/ContentProfile.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/contents/ContentProfile.java | |
rename to app/src/main/java/com/winlator/cmod/contents/ContentProfile.java | |
index de87a18..a079e4a 100644 | |
--- a/app/src/main/java/com/winlator/contents/ContentProfile.java | |
+++ b/app/src/main/java/com/winlator/cmod/contents/ContentProfile.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contents; | |
+package com.winlator.cmod.contents; | |
import androidx.annotation.NonNull; | |
@@ -19,8 +19,6 @@ public class ContentProfile { | |
public enum ContentType { | |
CONTENT_TYPE_WINE("Wine"), | |
- CONTENT_TYPE_TURNIP("Turnip"), | |
- CONTENT_TYPE_VIRGL("VirGL"), | |
CONTENT_TYPE_DXVK("DXVK"), | |
CONTENT_TYPE_VKD3D("VKD3D"), | |
CONTENT_TYPE_BOX64("Box64"); | |
diff --git a/app/src/main/java/com/winlator/contents/ContentsManager.java b/app/src/main/java/com/winlator/cmod/contents/ContentsManager.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/contents/ContentsManager.java | |
rename to app/src/main/java/com/winlator/cmod/contents/ContentsManager.java | |
index 6dc14f7..9dfb165 100644 | |
--- a/app/src/main/java/com/winlator/contents/ContentsManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/contents/ContentsManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contents; | |
+package com.winlator.cmod.contents; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
@@ -7,8 +7,8 @@ import android.util.Log; | |
import androidx.annotation.NonNull; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.TarCompressorUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
@@ -24,16 +24,13 @@ import java.util.Map; | |
public class ContentsManager { | |
public static final String PROFILE_NAME = "profile.json"; | |
- public static final String REMOTE_PROFILES_URL = "https://raw.githubusercontent.com/longjunyu2/winlator/main/content/metadata.json"; | |
- public static final String[] TURNIP_TRUST_FILES = {"${libdir}/libvulkan_freedreno.so", "${libdir}/libvulkan.so.1", | |
- "${sharedir}/vulkan/icd.d/freedreno_icd.aarch64.json", "${libdir}/libGL.so.1", "${libdir}/libglapi.so.0"}; | |
- public static final String[] VIRGL_TRUST_FILES = {"${libdir}/libGL.so.1", "${libdir}/libglapi.so.0"}; | |
+ public static final String REMOTE_PROFILES = "contents.json"; | |
public static final String[] DXVK_TRUST_FILES = {"${system32}/d3d8.dll", "${system32}/d3d9.dll", "${system32}/d3d10.dll", "${system32}/d3d10_1.dll", | |
"${system32}/d3d10core.dll", "${system32}/d3d11.dll", "${system32}/dxgi.dll", "${syswow64}/d3d8.dll", "${syswow64}/d3d9.dll", "${syswow64}/d3d10.dll", | |
"${syswow64}/d3d10_1.dll", "${syswow64}/d3d10core.dll", "${syswow64}/d3d11.dll", "${syswow64}/dxgi.dll"}; | |
public static final String[] VKD3D_TRUST_FILES = {"${system32}/d3d12core.dll", "${system32}/d3d12.dll", | |
"${syswow64}/d3d12core.dll", "${syswow64}/d3d12.dll"}; | |
- public static final String[] BOX64_TRUST_FILES = {"${localbin}/box64"}; | |
+ public static final String[] BOX64_TRUST_FILES = {"${bindir}/box64"}; | |
private Map<String, String> dirTemplateMap; | |
private Map<ContentProfile.ContentType, List<String>> trustedFilesMap; | |
@@ -53,8 +50,6 @@ public class ContentsManager { | |
public enum ContentDirName { | |
CONTENT_MAIN_DIR_NAME("contents"), | |
CONTENT_WINE_DIR_NAME("wine"), | |
- CONTENT_TURNIP_DIR_NAME("turnip"), | |
- CONTENT_VIRGL_DIR_NAME("virgl"), | |
CONTENT_DXVK_DIR_NAME("dxvk"), | |
CONTENT_VKD3D_DIR_NAME("vkd3d"), | |
CONTENT_BOX64_DIR_NAME("box64"); | |
@@ -83,34 +78,11 @@ public class ContentsManager { | |
this.preferences = context.getSharedPreferences("contents_manager_prefs", Context.MODE_PRIVATE); | |
} | |
- // Method to check if the graphics driver is installed | |
- public boolean isGraphicsDriverInstalled() { | |
- List<ContentProfile> profiles = profilesMap.get(ContentProfile.ContentType.CONTENT_TYPE_TURNIP); | |
- if (profiles != null && !profiles.isEmpty()) { | |
- Log.d("ContentsManager", "A turnip driver is installed."); | |
- return true; | |
- } | |
- | |
- Log.d("ContentsManager", "No turnip driver is installed."); | |
- return false; | |
- } | |
- | |
- | |
// Method to mark the graphics driver as installed | |
public void setGraphicsDriverInstalled(String driverVersion, boolean installed) { | |
preferences.edit().putBoolean("graphics_driver_installed_" + driverVersion, installed).apply(); | |
} | |
- // Call this method after the content installation is successful | |
- public void markGraphicsDriverInstalled(String driverVersion) { | |
- // Normalize the version string by stripping out the "Turnip-" prefix if it exists | |
- if (driverVersion.startsWith("Turnip-")) { | |
- driverVersion = driverVersion.replace("Turnip-", ""); | |
- } | |
- setGraphicsDriverInstalled(driverVersion, true); | |
- } | |
- | |
- | |
public interface OnInstallFinishedCallback { | |
void onFailed(InstallFailedReason reason, Exception e); | |
@@ -356,7 +328,7 @@ public class ContentsManager { | |
dirTemplateMap.put("${libdir}", imagefsPath + "/usr/lib"); | |
dirTemplateMap.put("${system32}", drivecPath + "/windows/system32"); | |
dirTemplateMap.put("${syswow64}", drivecPath + "/windows/syswow64"); | |
- dirTemplateMap.put("${localbin}", imagefsPath + "/usr/local/bin"); | |
+ dirTemplateMap.put("${bindir}", imagefsPath + "/usr/bin"); | |
dirTemplateMap.put("${sharedir}", imagefsPath + "/usr/share"); | |
} | |
} | |
@@ -369,8 +341,6 @@ public class ContentsManager { | |
trustedFilesMap.put(type, pathList); | |
String[] paths = switch (type) { | |
- case CONTENT_TYPE_TURNIP -> TURNIP_TRUST_FILES; | |
- case CONTENT_TYPE_VIRGL -> VIRGL_TRUST_FILES; | |
case CONTENT_TYPE_DXVK -> DXVK_TRUST_FILES; | |
case CONTENT_TYPE_VKD3D -> VKD3D_TRUST_FILES; | |
case CONTENT_TYPE_BOX64 -> BOX64_TRUST_FILES; | |
diff --git a/app/src/main/java/com/winlator/contents/Downloader.java b/app/src/main/java/com/winlator/cmod/contents/Downloader.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/contents/Downloader.java | |
rename to app/src/main/java/com/winlator/cmod/contents/Downloader.java | |
index 13451e5..4d6c1f4 100644 | |
--- a/app/src/main/java/com/winlator/contents/Downloader.java | |
+++ b/app/src/main/java/com/winlator/cmod/contents/Downloader.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.contents; | |
+package com.winlator.cmod.contents; | |
import java.io.BufferedReader; | |
import java.io.File; | |
diff --git a/app/src/main/java/com/winlator/core/AppUtils.java b/app/src/main/java/com/winlator/cmod/core/AppUtils.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/core/AppUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/AppUtils.java | |
index 49d90c9..7a6a1ff 100644 | |
--- a/app/src/main/java/com/winlator/core/AppUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/AppUtils.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.app.Activity; | |
import android.content.Context; | |
@@ -30,8 +30,8 @@ import android.widget.Toast; | |
import androidx.appcompat.app.AppCompatActivity; | |
import com.google.android.material.tabs.TabLayout; | |
-import com.winlator.R; | |
-import com.winlator.XrActivity; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.XrActivity; | |
import java.lang.ref.WeakReference; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/core/ArrayUtils.java b/app/src/main/java/com/winlator/cmod/core/ArrayUtils.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/core/ArrayUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/ArrayUtils.java | |
index 1c76e90..98764b2 100644 | |
--- a/app/src/main/java/com/winlator/core/ArrayUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/ArrayUtils.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/core/CPUStatus.java b/app/src/main/java/com/winlator/cmod/core/CPUStatus.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/core/CPUStatus.java | |
rename to app/src/main/java/com/winlator/cmod/core/CPUStatus.java | |
index f54c3c3..d0f43b6 100644 | |
--- a/app/src/main/java/com/winlator/core/CPUStatus.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/CPUStatus.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
public abstract class CPUStatus { | |
public static short[] getCurrentClockSpeeds() { | |
diff --git a/app/src/main/java/com/winlator/core/Callback.java b/app/src/main/java/com/winlator/cmod/core/Callback.java | |
similarity index 61% | |
rename from app/src/main/java/com/winlator/core/Callback.java | |
rename to app/src/main/java/com/winlator/cmod/core/Callback.java | |
index e31e006..2833fcd 100644 | |
--- a/app/src/main/java/com/winlator/core/Callback.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/Callback.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
public interface Callback<T> { | |
void call(T object); | |
diff --git a/app/src/main/java/com/winlator/core/CubicBezierInterpolator.java b/app/src/main/java/com/winlator/cmod/core/CubicBezierInterpolator.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/core/CubicBezierInterpolator.java | |
rename to app/src/main/java/com/winlator/cmod/core/CubicBezierInterpolator.java | |
index 89d6240..1eb4bc4 100644 | |
--- a/app/src/main/java/com/winlator/core/CubicBezierInterpolator.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/CubicBezierInterpolator.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.graphics.PointF; | |
import android.view.animation.Interpolator; | |
diff --git a/app/src/main/java/com/winlator/core/CursorLocker.java b/app/src/main/java/com/winlator/cmod/core/CursorLocker.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/core/CursorLocker.java | |
rename to app/src/main/java/com/winlator/cmod/core/CursorLocker.java | |
index c1eb741..fac1f7d 100644 | |
--- a/app/src/main/java/com/winlator/core/CursorLocker.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/CursorLocker.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.xserver.XServer; | |
import java.util.Timer; | |
import java.util.TimerTask; | |
diff --git a/app/src/main/java/com/winlator/cmod/core/DefaultVersion.java b/app/src/main/java/com/winlator/cmod/core/DefaultVersion.java | |
new file mode 100644 | |
index 0000000..afa59fe | |
--- /dev/null | |
+++ b/app/src/main/java/com/winlator/cmod/core/DefaultVersion.java | |
@@ -0,0 +1,10 @@ | |
+package com.winlator.cmod.core; | |
+ | |
+public abstract class DefaultVersion { | |
+ public static final String BOX86 = "0.3.2"; | |
+ public static final String BOX64 = "0.3.6fix"; | |
+ public static final String WRAPPER = "System"; | |
+ public static final String DXVK = "2.3.1"; | |
+ public static final String D8VK = "1.0"; | |
+ public static final String VKD3D = "2.12-0"; | |
+} | |
\ No newline at end of file | |
diff --git a/app/src/main/java/com/winlator/core/DownloadProgressDialog.java b/app/src/main/java/com/winlator/cmod/core/DownloadProgressDialog.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/core/DownloadProgressDialog.java | |
rename to app/src/main/java/com/winlator/cmod/core/DownloadProgressDialog.java | |
index 16d3a62..87ee01c 100644 | |
--- a/app/src/main/java/com/winlator/core/DownloadProgressDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/DownloadProgressDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.app.Activity; | |
import android.app.Dialog; | |
@@ -8,8 +8,8 @@ import android.view.WindowManager; | |
import android.widget.TextView; | |
import com.google.android.material.progressindicator.CircularProgressIndicator; | |
-import com.winlator.R; | |
-import com.winlator.math.Mathf; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.math.Mathf; | |
public class DownloadProgressDialog { | |
private final Activity activity; | |
diff --git a/app/src/main/java/com/winlator/core/ElfHelper.java b/app/src/main/java/com/winlator/cmod/core/ElfHelper.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/core/ElfHelper.java | |
rename to app/src/main/java/com/winlator/cmod/core/ElfHelper.java | |
index 0843aa6..72da235 100644 | |
--- a/app/src/main/java/com/winlator/core/ElfHelper.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/ElfHelper.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import java.io.File; | |
import java.io.FileInputStream; | |
diff --git a/app/src/main/java/com/winlator/core/EnvVars.java b/app/src/main/java/com/winlator/cmod/core/EnvVars.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/core/EnvVars.java | |
rename to app/src/main/java/com/winlator/cmod/core/EnvVars.java | |
index 1e8e38a..146c906 100644 | |
--- a/app/src/main/java/com/winlator/core/EnvVars.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/EnvVars.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import androidx.annotation.NonNull; | |
diff --git a/app/src/main/java/com/winlator/core/EnvironmentManager.java b/app/src/main/java/com/winlator/cmod/core/EnvironmentManager.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/core/EnvironmentManager.java | |
rename to app/src/main/java/com/winlator/cmod/core/EnvironmentManager.java | |
index cb93237..607dfef 100644 | |
--- a/app/src/main/java/com/winlator/core/EnvironmentManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/EnvironmentManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import java.util.HashMap; | |
import java.util.Map; | |
diff --git a/app/src/main/java/com/winlator/core/FileUtils.java b/app/src/main/java/com/winlator/cmod/core/FileUtils.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/core/FileUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/FileUtils.java | |
index 7b96408..119452c 100644 | |
--- a/app/src/main/java/com/winlator/core/FileUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/FileUtils.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
import android.content.res.AssetManager; | |
diff --git a/app/src/main/java/com/winlator/core/GPUInformation.java b/app/src/main/java/com/winlator/cmod/core/GPUInformation.java | |
similarity index 57% | |
rename from app/src/main/java/com/winlator/core/GPUInformation.java | |
rename to app/src/main/java/com/winlator/cmod/core/GPUInformation.java | |
index 0c7b1bd..907491f 100644 | |
--- a/app/src/main/java/com/winlator/core/GPUInformation.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/GPUInformation.java | |
@@ -1,20 +1,6 @@ | |
-package com.winlator.core; | |
- | |
-import android.content.Context; | |
-import android.content.SharedPreferences; | |
-import android.opengl.EGL14; | |
- | |
-import androidx.collection.ArrayMap; | |
-import androidx.preference.PreferenceManager; | |
+package com.winlator.cmod.core; | |
import java.util.Locale; | |
-import java.util.Objects; | |
- | |
-import javax.microedition.khronos.egl.EGL10; | |
-import javax.microedition.khronos.egl.EGLConfig; | |
-import javax.microedition.khronos.egl.EGLContext; | |
-import javax.microedition.khronos.egl.EGLDisplay; | |
-import javax.microedition.khronos.opengles.GL10; | |
public abstract class GPUInformation { | |
@@ -33,6 +19,7 @@ public abstract class GPUInformation { | |
public native static String getVersion(); | |
public native static String getRenderer(); | |
public native static long getMemorySize(); | |
+ public native static String[] enumerateExtensions(); | |
static { | |
System.loadLibrary("winlator"); | |
diff --git a/app/src/main/java/com/winlator/core/HttpUtils.java b/app/src/main/java/com/winlator/cmod/core/HttpUtils.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/core/HttpUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/HttpUtils.java | |
index 09dc836..f639e94 100644 | |
--- a/app/src/main/java/com/winlator/core/HttpUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/HttpUtils.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.app.Activity; | |
diff --git a/app/src/main/java/com/winlator/core/ImageUtils.java b/app/src/main/java/com/winlator/cmod/core/ImageUtils.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/core/ImageUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/ImageUtils.java | |
index 16eb0d2..fe02820 100644 | |
--- a/app/src/main/java/com/winlator/core/ImageUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/ImageUtils.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
import android.graphics.Bitmap; | |
diff --git a/app/src/main/java/com/winlator/core/KeyValueSet.java b/app/src/main/java/com/winlator/cmod/core/KeyValueSet.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/core/KeyValueSet.java | |
rename to app/src/main/java/com/winlator/cmod/core/KeyValueSet.java | |
index 5f50caf..69c8dd2 100644 | |
--- a/app/src/main/java/com/winlator/core/KeyValueSet.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/KeyValueSet.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import androidx.annotation.NonNull; | |
diff --git a/app/src/main/java/com/winlator/core/MSBitmap.java b/app/src/main/java/com/winlator/cmod/core/MSBitmap.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/core/MSBitmap.java | |
rename to app/src/main/java/com/winlator/cmod/core/MSBitmap.java | |
index 0a13a94..9da3227 100644 | |
--- a/app/src/main/java/com/winlator/core/MSBitmap.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/MSBitmap.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.graphics.Bitmap; | |
import android.graphics.Color; | |
diff --git a/app/src/main/java/com/winlator/core/MSLink.java b/app/src/main/java/com/winlator/cmod/core/MSLink.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/core/MSLink.java | |
rename to app/src/main/java/com/winlator/cmod/core/MSLink.java | |
index c3c0971..4fd47d5 100644 | |
--- a/app/src/main/java/com/winlator/core/MSLink.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/MSLink.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import java.io.File; | |
import java.io.FileOutputStream; | |
diff --git a/app/src/main/java/com/winlator/core/MSLogFont.java b/app/src/main/java/com/winlator/cmod/core/MSLogFont.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/core/MSLogFont.java | |
rename to app/src/main/java/com/winlator/cmod/core/MSLogFont.java | |
index 7d3a945..f655f1f 100644 | |
--- a/app/src/main/java/com/winlator/core/MSLogFont.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/MSLogFont.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import java.nio.ByteBuffer; | |
import java.nio.ByteOrder; | |
diff --git a/app/src/main/java/com/winlator/core/NetworkHelper.java b/app/src/main/java/com/winlator/cmod/core/NetworkHelper.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/core/NetworkHelper.java | |
rename to app/src/main/java/com/winlator/cmod/core/NetworkHelper.java | |
index 829edae..88e8898 100644 | |
--- a/app/src/main/java/com/winlator/core/NetworkHelper.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/NetworkHelper.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
import android.net.DhcpInfo; | |
diff --git a/app/src/main/java/com/winlator/core/OnExtractFileListener.java b/app/src/main/java/com/winlator/cmod/core/OnExtractFileListener.java | |
similarity index 75% | |
rename from app/src/main/java/com/winlator/core/OnExtractFileListener.java | |
rename to app/src/main/java/com/winlator/cmod/core/OnExtractFileListener.java | |
index c2b3c52..48b7360 100644 | |
--- a/app/src/main/java/com/winlator/core/OnExtractFileListener.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/OnExtractFileListener.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import java.io.File; | |
diff --git a/app/src/main/java/com/winlator/core/PatchElf.java b/app/src/main/java/com/winlator/cmod/core/PatchElf.java | |
similarity index 98% | |
rename from app/src/main/java/com/winlator/core/PatchElf.java | |
rename to app/src/main/java/com/winlator/cmod/core/PatchElf.java | |
index ef8ce73..a1acde6 100644 | |
--- a/app/src/main/java/com/winlator/core/PatchElf.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/PatchElf.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import androidx.annotation.NonNull; | |
diff --git a/app/src/main/java/com/winlator/core/PreloaderDialog.java b/app/src/main/java/com/winlator/cmod/core/PreloaderDialog.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/core/PreloaderDialog.java | |
rename to app/src/main/java/com/winlator/cmod/core/PreloaderDialog.java | |
index 5430598..6d99dcf 100644 | |
--- a/app/src/main/java/com/winlator/core/PreloaderDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/PreloaderDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.app.Activity; | |
import android.app.Dialog; | |
@@ -6,7 +6,7 @@ import android.view.Window; | |
import android.view.WindowManager; | |
import android.widget.TextView; | |
-import com.winlator.R; | |
+import com.winlator.cmod.R; | |
public class PreloaderDialog { | |
private final Activity activity; | |
diff --git a/app/src/main/java/com/winlator/core/ProcessHelper.java b/app/src/main/java/com/winlator/cmod/core/ProcessHelper.java | |
similarity index 79% | |
rename from app/src/main/java/com/winlator/core/ProcessHelper.java | |
rename to app/src/main/java/com/winlator/cmod/core/ProcessHelper.java | |
index 0808c94..6726118 100644 | |
--- a/app/src/main/java/com/winlator/core/ProcessHelper.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/ProcessHelper.java | |
@@ -1,11 +1,8 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
-import android.os.Build; | |
import android.os.Process; | |
import android.util.Log; | |
-import androidx.annotation.RequiresApi; | |
- | |
import java.io.BufferedReader; | |
import java.io.File; | |
import java.io.FileInputStream; | |
@@ -14,7 +11,6 @@ import java.io.IOException; | |
import java.io.InputStream; | |
import java.io.InputStreamReader; | |
import java.lang.reflect.Field; | |
-import java.nio.charset.StandardCharsets; | |
import java.util.ArrayList; | |
import java.util.Arrays; | |
import java.util.List; | |
@@ -30,22 +26,22 @@ public abstract class ProcessHelper { | |
public static void suspendProcess(int pid) { | |
Process.sendSignal(pid, SIGSTOP); | |
- Log.d("GlibcDebug", "Process suspended with pid: " + pid); | |
+ Log.d("ProcessHelper", "Process suspended with pid: " + pid); | |
} | |
public static void resumeProcess(int pid) { | |
Process.sendSignal(pid, SIGCONT); | |
- Log.d("GlibcDebug", "Process resumed with pid: " + pid); | |
+ Log.d("ProcessHelper", "Process resumed with pid: " + pid); | |
} | |
public static void terminateProcess(int pid) { | |
Process.sendSignal(pid, SIGTERM); | |
- Log.d("GlibcDebug", "Process terminated with pid: " + pid); | |
+ Log.d("ProcessHelper", "Process terminated with pid: " + pid); | |
} | |
public static void killProcess(int pid) { | |
Process.sendSignal(pid, SIGKILL); | |
- Log.d("GlibcDebug", "Process killed with pid: " + pid); | |
+ Log.d("ProcessHelper", "Process killed with pid: " + pid); | |
} | |
public static void terminateAllWineProcesses() { | |
@@ -67,37 +63,36 @@ public abstract class ProcessHelper { | |
} | |
public static int exec(String command, String[] envp, File workingDir, Callback<Integer> terminationCallback) { | |
- Log.d("GlibcDebug", "env: " + Arrays.toString(envp) + "\ncmd: " + command); | |
+ Log.d("ProcessHelper", "env: " + Arrays.toString(envp) + "\ncmd: " + command); | |
// Store env vars for future use | |
EnvironmentManager.setEnvVars(envp); | |
int pid = -1; | |
try { | |
- Log.d("GlibcDebug", "Splitting command: " + command); | |
+ Log.d("ProcessHelper", "Splitting command: " + command); | |
String[] splitCommand = splitCommand(command); | |
- Log.d("GlibcDebug", "Split command result: " + Arrays.toString(splitCommand)); | |
+ Log.d("ProcessHelper", "Split command result: " + Arrays.toString(splitCommand)); | |
- Log.d("GlibcDebug", "Starting process..."); | |
+ Log.d("ProcessHelper", "Starting process..."); | |
java.lang.Process process = Runtime.getRuntime().exec(splitCommand, envp, workingDir); | |
// Accessing hidden field | |
- Log.d("GlibcDebug", "Accessing hidden field to get PID"); | |
+ Log.d("ProcessHelper", "Accessing hidden field to get PID"); | |
Field pidField = process.getClass().getDeclaredField("pid"); | |
pidField.setAccessible(true); | |
pid = pidField.getInt(process); | |
pidField.setAccessible(false); | |
- Log.d("GlibcDebug", "Process started with pid: " + pid); | |
+ Log.d("ProcessHelper", "Process started with pid: " + pid); | |
if (!debugCallbacks.isEmpty()) { | |
createDebugThread(process.getInputStream()); | |
createDebugThread(process.getErrorStream()); | |
} | |
- if (terminationCallback != null) createWaitForThread(process, terminationCallback); | |
} | |
catch (Exception e) { | |
- Log.e("GlibcDebug", "Error executing command: " + command, e); | |
+ Log.e("ProcessHelper", "Error executing command: " + command, e); | |
} | |
return pid; | |
} | |
@@ -116,19 +111,7 @@ public abstract class ProcessHelper { | |
} | |
} | |
catch (IOException e) { | |
- Log.e("GlibcDebug", "Error in debug thread", e); | |
- } | |
- }); | |
- } | |
- | |
- private static void createWaitForThread(java.lang.Process process, final Callback<Integer> terminationCallback) { | |
- Executors.newSingleThreadExecutor().execute(() -> { | |
- try { | |
- int status = process.waitFor(); | |
- terminationCallback.call(status); | |
- } | |
- catch (InterruptedException e) { | |
- Log.e("GlibcDebug", "Error waiting for process termination", e); | |
+ Log.e("ProcessHelper", "Error in debug thread", e); | |
} | |
}); | |
} | |
@@ -136,21 +119,21 @@ public abstract class ProcessHelper { | |
public static void removeAllDebugCallbacks() { | |
synchronized (debugCallbacks) { | |
debugCallbacks.clear(); | |
- Log.d("GlibcDebug", "All debug callbacks removed"); | |
+ Log.d("ProcessHelper", "All debug callbacks removed"); | |
} | |
} | |
public static void addDebugCallback(Callback<String> callback) { | |
synchronized (debugCallbacks) { | |
if (!debugCallbacks.contains(callback)) debugCallbacks.add(callback); | |
- Log.d("GlibcDebug", "Added debug callback: " + callback.toString()); | |
+ Log.d("ProcessHelper", "Added debug callback: " + callback.toString()); | |
} | |
} | |
public static void removeDebugCallback(Callback<String> callback) { | |
synchronized (debugCallbacks) { | |
debugCallbacks.remove(callback); | |
- Log.d("GlibcDebug", "Removed debug callback: " + callback.toString()); | |
+ Log.d("ProcessHelper", "Removed debug callback: " + callback.toString()); | |
} | |
} | |
diff --git a/app/src/main/java/com/winlator/core/StreamUtils.java b/app/src/main/java/com/winlator/cmod/core/StreamUtils.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/core/StreamUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/StreamUtils.java | |
index 929e49f..242a0d5 100644 | |
--- a/app/src/main/java/com/winlator/core/StreamUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/StreamUtils.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import java.io.ByteArrayOutputStream; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/core/StringUtils.java b/app/src/main/java/com/winlator/cmod/core/StringUtils.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/core/StringUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/StringUtils.java | |
index 188ff5f..5f45af7 100644 | |
--- a/app/src/main/java/com/winlator/core/StringUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/StringUtils.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
diff --git a/app/src/main/java/com/winlator/core/TarCompressorUtils.java b/app/src/main/java/com/winlator/cmod/core/TarCompressorUtils.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/core/TarCompressorUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/TarCompressorUtils.java | |
index ff0a226..37915ea 100644 | |
--- a/app/src/main/java/com/winlator/core/TarCompressorUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/TarCompressorUtils.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
import android.net.Uri; | |
diff --git a/app/src/main/java/com/winlator/core/UnitUtils.java b/app/src/main/java/com/winlator/cmod/core/UnitUtils.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/core/UnitUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/UnitUtils.java | |
index 2105aca..51d691c 100644 | |
--- a/app/src/main/java/com/winlator/core/UnitUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/UnitUtils.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.res.Resources; | |
diff --git a/app/src/main/java/com/winlator/core/VKD3DVersionItem.java b/app/src/main/java/com/winlator/cmod/core/VKD3DVersionItem.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/core/VKD3DVersionItem.java | |
rename to app/src/main/java/com/winlator/cmod/core/VKD3DVersionItem.java | |
index feb19a6..270039d 100644 | |
--- a/app/src/main/java/com/winlator/core/VKD3DVersionItem.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/VKD3DVersionItem.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
public class VKD3DVersionItem { | |
private final String identifier; // Unique identifier based on verName and verCode | |
diff --git a/app/src/main/java/com/winlator/core/Win32AppWorkarounds.java b/app/src/main/java/com/winlator/cmod/core/Win32AppWorkarounds.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/core/Win32AppWorkarounds.java | |
rename to app/src/main/java/com/winlator/cmod/core/Win32AppWorkarounds.java | |
index 9f1836c..5c281e2 100644 | |
--- a/app/src/main/java/com/winlator/core/Win32AppWorkarounds.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/Win32AppWorkarounds.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.util.Log; | |
-import com.winlator.XServerDisplayActivity; | |
-import com.winlator.winhandler.WinHandler; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.XServerDisplayActivity; | |
+import com.winlator.cmod.winhandler.WinHandler; | |
+import com.winlator.cmod.xserver.Window; | |
import androidx.collection.ArrayMap; | |
diff --git a/app/src/main/java/com/winlator/core/WineInfo.java b/app/src/main/java/com/winlator/cmod/core/WineInfo.java | |
similarity index 61% | |
rename from app/src/main/java/com/winlator/core/WineInfo.java | |
rename to app/src/main/java/com/winlator/cmod/core/WineInfo.java | |
index a6fbe19..508d11f 100644 | |
--- a/app/src/main/java/com/winlator/core/WineInfo.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/WineInfo.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
import android.os.Parcel; | |
@@ -6,28 +6,31 @@ import android.os.Parcelable; | |
import androidx.annotation.NonNull; | |
-import com.winlator.xenvironment.ImageFs; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
import java.io.File; | |
import java.util.regex.Matcher; | |
import java.util.regex.Pattern; | |
public class WineInfo implements Parcelable { | |
- public static final WineInfo MAIN_WINE_VERSION = new WineInfo("9.2", "x86_64"); | |
- private static final Pattern pattern = Pattern.compile("^wine\\-([0-9\\.]+)\\-?([0-9\\.]+)?\\-(x86|x86_64)$"); | |
+ public static final WineInfo MAIN_WINE_VERSION = new WineInfo("proton","9.0", "x86_64"); | |
+ private static final Pattern pattern = Pattern.compile("^(wine|proton)\\-([0-9\\.]+)\\-?([0-9\\.]+)?\\-(x86|x86_64|arm64ec)$"); | |
public final String version; | |
+ public final String type; | |
public final String subversion; | |
public final String path; | |
private String arch; | |
- public WineInfo(String version, String arch) { | |
+ public WineInfo(String type, String version, String arch) { | |
+ this.type = type; | |
this.version = version; | |
this.subversion = null; | |
this.arch = arch; | |
this.path = null; | |
} | |
- public WineInfo(String version, String subversion, String arch, String path) { | |
+ public WineInfo(String type, String version, String subversion, String arch, String path) { | |
+ this.type = type; | |
this.version = version; | |
this.subversion = subversion != null && !subversion.isEmpty() ? subversion : null; | |
this.arch = arch; | |
@@ -35,6 +38,7 @@ public class WineInfo implements Parcelable { | |
} | |
private WineInfo(Parcel in) { | |
+ type = in.readString(); | |
version = in.readString(); | |
subversion = in.readString(); | |
arch = in.readString(); | |
@@ -50,25 +54,16 @@ public class WineInfo implements Parcelable { | |
} | |
public boolean isWin64() { | |
- return arch.equals("x86_64"); | |
+ return arch.equals("x86_64") || arch.equals("arm64ec"); | |
} | |
- public String getExecutable(Context context, boolean wow64Mode) { | |
- if (this == MAIN_WINE_VERSION) { | |
- File wineBinDir = new File(ImageFs.find(context).getRootDir(), "/opt/wine/bin"); | |
- File wineBinFile = new File(wineBinDir, "wine"); | |
- File winePreloaderBinFile = new File(wineBinDir, "wine-preloader"); | |
- FileUtils.copy(new File(wineBinDir, wow64Mode ? "wine-wow64" : "wine32"), wineBinFile); | |
- FileUtils.copy(new File(wineBinDir, wow64Mode ? "wine-preloader-wow64" : "wine32-preloader"), winePreloaderBinFile); | |
- FileUtils.chmod(wineBinFile, 0771); | |
- FileUtils.chmod(winePreloaderBinFile, 0771); | |
- return wow64Mode ? "wine" : "wine64"; | |
- } | |
- else return (new File(path, "/bin/wine64")).isFile() ? "wine64" : "wine"; | |
- } | |
+ public boolean isArm64EC() { return arch.equals("arm64ec"); } | |
public String identifier() { | |
- return "wine-"+fullVersion()+"-"+(this == MAIN_WINE_VERSION ? "custom" : arch); | |
+ if (type.equals("proton")) | |
+ return "proton-" + fullVersion() + "-"+ arch; | |
+ else | |
+ return "wine-" + fullVersion() + "-" + arch; | |
} | |
public String fullVersion() { | |
@@ -78,7 +73,10 @@ public class WineInfo implements Parcelable { | |
@NonNull | |
@Override | |
public String toString() { | |
- return "Wine "+fullVersion()+(this == MAIN_WINE_VERSION ? " (Custom)" : ""); | |
+ if (type.equals("proton")) | |
+ return "Proton "+fullVersion()+(this == MAIN_WINE_VERSION ? " (Custom)" : ""); | |
+ else | |
+ return "Wine "+fullVersion()+(this == MAIN_WINE_VERSION ? " (Custom)" : ""); | |
} | |
@Override | |
@@ -98,6 +96,7 @@ public class WineInfo implements Parcelable { | |
@Override | |
public void writeToParcel(Parcel dest, int flags) { | |
+ dest.writeString(type); | |
dest.writeString(version); | |
dest.writeString(subversion); | |
dest.writeString(arch); | |
@@ -111,7 +110,7 @@ public class WineInfo implements Parcelable { | |
if (matcher.find()) { | |
File installedWineDir = ImageFs.find(context).getInstalledWineDir(); | |
String path = (new File(installedWineDir, identifier)).getPath(); | |
- return new WineInfo(matcher.group(1), matcher.group(2), matcher.group(3), path); | |
+ return new WineInfo(matcher.group(0), matcher.group(1), matcher.group(2), matcher.group(3), path); | |
} | |
else return MAIN_WINE_VERSION; | |
} | |
diff --git a/app/src/main/java/com/winlator/core/WineRegistryEditor.java b/app/src/main/java/com/winlator/cmod/core/WineRegistryEditor.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/core/WineRegistryEditor.java | |
rename to app/src/main/java/com/winlator/cmod/core/WineRegistryEditor.java | |
index 33ca930..d834e0d 100644 | |
--- a/app/src/main/java/com/winlator/core/WineRegistryEditor.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/WineRegistryEditor.java | |
@@ -1,10 +1,6 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
-import static java.util.Map.entry; | |
- | |
-import android.util.Log; | |
- | |
-import com.winlator.math.Mathf; | |
+import com.winlator.cmod.math.Mathf; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/cmod/core/WineRequestHandler.java b/app/src/main/java/com/winlator/cmod/core/WineRequestHandler.java | |
new file mode 100644 | |
index 0000000..bb046d1 | |
--- /dev/null | |
+++ b/app/src/main/java/com/winlator/cmod/core/WineRequestHandler.java | |
@@ -0,0 +1,122 @@ | |
+package com.winlator.cmod.core; | |
+ | |
+import android.content.ClipData; | |
+import android.content.ClipboardManager; | |
+import android.content.Context; | |
+import android.content.Intent; | |
+import android.net.Uri; | |
+import android.util.Log; | |
+ | |
+import java.io.DataInputStream; | |
+import java.io.DataOutputStream; | |
+import java.io.IOException; | |
+import java.net.ServerSocket; | |
+import java.net.Socket; | |
+import java.nio.charset.StandardCharsets; | |
+import java.util.concurrent.Executor; | |
+import java.util.concurrent.ExecutorService; | |
+import java.util.concurrent.Executors; | |
+ | |
+public class WineRequestHandler { | |
+ | |
+ abstract class RequestCodes { | |
+ static final int OPEN_URL = 1; | |
+ static final int GET_WINE_CLIPBOARD = 2; | |
+ static final int SET_WINE_CLIPBAORD = 3; | |
+ } | |
+ | |
+ private Context context; | |
+ private ServerSocket serverSocket; | |
+ | |
+ public WineRequestHandler(Context context) { | |
+ this.context = context; | |
+ } | |
+ | |
+ public void start() { | |
+ ExecutorService executor = Executors.newSingleThreadExecutor(); | |
+ executor.execute(() -> { | |
+ try { | |
+ serverSocket = new ServerSocket(20000); | |
+ while (true) { | |
+ Socket socket = serverSocket.accept(); | |
+ DataInputStream inputStream = new DataInputStream(socket.getInputStream()); | |
+ DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); | |
+ int requestCode = inputStream.readInt(); | |
+ handleRequest(inputStream, outputStream, requestCode); | |
+ } | |
+ } catch (IOException e) { | |
+ } | |
+ }); | |
+ } | |
+ | |
+ public void stop() { | |
+ if (serverSocket != null) { | |
+ try { | |
+ serverSocket.close(); | |
+ } catch (IOException e) { | |
+ } | |
+ } | |
+ } | |
+ | |
+ public void handleRequest(DataInputStream inputStream, DataOutputStream outputStream, int requestCode) throws IOException { | |
+ | |
+ switch(requestCode) { | |
+ case RequestCodes.OPEN_URL: | |
+ openURL(inputStream, outputStream); | |
+ break; | |
+ case RequestCodes.GET_WINE_CLIPBOARD: | |
+ getWineClipboard(inputStream, outputStream); | |
+ break; | |
+ case RequestCodes.SET_WINE_CLIPBAORD: | |
+ setWineClipboard(inputStream, outputStream); | |
+ break; | |
+ } | |
+ } | |
+ | |
+ private void openURL(DataInputStream inputStream, DataOutputStream outputStream) throws IOException { | |
+ int messageLength = inputStream.readInt(); | |
+ byte[] data = new byte[messageLength]; | |
+ inputStream.readFully(data); | |
+ String url = new String(data, "UTF-8"); | |
+ Log.d("WineRequestHandler", "Received request code OPEN_URL with url " + url); | |
+ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); | |
+ context.startActivity(intent); | |
+ } | |
+ | |
+ private void getWineClipboard(DataInputStream inputStream, DataOutputStream outputStream) throws IOException { | |
+ String clipboardData = ""; | |
+ int format = inputStream.readInt(); | |
+ int size = inputStream.readInt(); | |
+ byte[] data = new byte[size]; | |
+ inputStream.readFully(data); | |
+ if (format == 13) { | |
+ clipboardData = new String(data, StandardCharsets.UTF_16LE); | |
+ clipboardData = clipboardData.replace("\0", ""); | |
+ ClipboardManager clpm = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE); | |
+ ClipData clipData = ClipData.newPlainText("", clipboardData); | |
+ clpm.setPrimaryClip(clipData); | |
+ } | |
+ Log.d("WineRequestHandler", "Received request code GET_WINE_CLIPBOARD with format " + format + " and size " + size); | |
+ } | |
+ | |
+ private void setWineClipboard(DataInputStream inputStream, DataOutputStream outputStream) throws IOException { | |
+ int format = 13; | |
+ ClipboardManager clipboardManager = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE); | |
+ ClipData clipData = clipboardManager.getPrimaryClip(); | |
+ String clipText; | |
+ if (clipData != null) { | |
+ ClipData.Item item = clipData.getItemAt(0); | |
+ clipText = item.getText().toString(); | |
+ } | |
+ else { | |
+ clipText = ""; | |
+ } | |
+ Log.d("WineRequestHandler", "Received request code SET_WINE_CLIPBOARD for clipboard " + clipText); | |
+ clipText = clipText + "\0"; | |
+ byte[] dataByte = clipText.getBytes(StandardCharsets.UTF_16LE); | |
+ int size = dataByte.length; | |
+ outputStream.writeInt(format); | |
+ outputStream.writeInt(size); | |
+ outputStream.write(dataByte); | |
+ } | |
+} | |
diff --git a/app/src/main/java/com/winlator/core/WineStartMenuCreator.java b/app/src/main/java/com/winlator/cmod/core/WineStartMenuCreator.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/core/WineStartMenuCreator.java | |
rename to app/src/main/java/com/winlator/cmod/core/WineStartMenuCreator.java | |
index 0f6d69e..ca30627 100644 | |
--- a/app/src/main/java/com/winlator/core/WineStartMenuCreator.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/WineStartMenuCreator.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
-import com.winlator.container.Container; | |
+import com.winlator.cmod.container.Container; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/core/WineThemeManager.java b/app/src/main/java/com/winlator/cmod/core/WineThemeManager.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/core/WineThemeManager.java | |
rename to app/src/main/java/com/winlator/cmod/core/WineThemeManager.java | |
index ce5ed56..f9bb5ff 100644 | |
--- a/app/src/main/java/com/winlator/core/WineThemeManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/WineThemeManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
import android.graphics.Bitmap; | |
@@ -10,9 +10,9 @@ import android.graphics.Rect; | |
import android.graphics.RectF; | |
import android.util.DisplayMetrics; | |
-import com.winlator.R; | |
-import com.winlator.xenvironment.ImageFs; | |
-import com.winlator.xserver.ScreenInfo; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
+import com.winlator.cmod.xserver.ScreenInfo; | |
import java.io.File; | |
diff --git a/app/src/main/java/com/winlator/core/WineUtils.java b/app/src/main/java/com/winlator/cmod/core/WineUtils.java | |
similarity index 83% | |
rename from app/src/main/java/com/winlator/core/WineUtils.java | |
rename to app/src/main/java/com/winlator/cmod/core/WineUtils.java | |
index c3da418..6658cce 100644 | |
--- a/app/src/main/java/com/winlator/core/WineUtils.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/WineUtils.java | |
@@ -1,12 +1,12 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
import android.net.Uri; | |
-import com.winlator.container.Container; | |
-import com.winlator.xenvironment.ImageFs; | |
-import com.winlator.xenvironment.XEnvironment; | |
-import com.winlator.xenvironment.components.GuestProgramLauncherComponent; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
+import com.winlator.cmod.xenvironment.XEnvironment; | |
+import com.winlator.cmod.xenvironment.components.GuestProgramLauncherComponent; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
@@ -14,7 +14,6 @@ import org.json.JSONObject; | |
import java.io.File; | |
import java.util.ArrayList; | |
-import java.util.Iterator; | |
import java.util.Locale; | |
import java.util.concurrent.Executors; | |
import java.util.concurrent.atomic.AtomicReference; | |
@@ -33,7 +32,7 @@ public abstract class WineUtils { | |
for (String[] drive : container.drivesIterator()) { | |
File linkTarget = new File(drive[1]); | |
String path = linkTarget.getAbsolutePath(); | |
- if (!linkTarget.isDirectory() && path.endsWith("/com.winlator/storage")) { | |
+ if (!linkTarget.isDirectory() && path.endsWith("/com.winlator.cmod/storage")) { | |
linkTarget.mkdirs(); | |
FileUtils.chmod(linkTarget, 0771); | |
} | |
@@ -41,114 +40,6 @@ public abstract class WineUtils { | |
} | |
} | |
- public static void extractWineFileForInstallAsync(Context context, Uri uri, Callback<File> callback) { | |
- Executors.newSingleThreadExecutor().execute(() -> { | |
- File destination = new File(ImageFs.find(context).getInstalledWineDir(), "/preinstall/wine"); | |
- FileUtils.delete(destination); | |
- destination.mkdirs(); | |
- boolean success = TarCompressorUtils.extract(TarCompressorUtils.Type.XZ, context, uri, destination); | |
- if (!success) FileUtils.delete(destination); | |
- if (callback != null) callback.call(success ? destination : null); | |
- }); | |
- } | |
- | |
- public static void findWineVersionAsync(Context context, File wineDir, Callback<WineInfo> callback) { | |
- if (wineDir == null || !wineDir.isDirectory()) { | |
- callback.call(null); | |
- return; | |
- } | |
- File[] files = wineDir.listFiles(); | |
- if (files == null || files.length == 0) { | |
- callback.call(null); | |
- return; | |
- } | |
- | |
- if (files.length == 1) { | |
- if (!files[0].isDirectory()) { | |
- callback.call(null); | |
- return; | |
- } | |
- wineDir = files[0]; | |
- files = wineDir.listFiles(); | |
- if (files == null || files.length == 0) { | |
- callback.call(null); | |
- return; | |
- } | |
- } | |
- | |
- File binDir = null; | |
- for (File file : files) { | |
- if (file.isDirectory() && file.getName().equals("bin")) { | |
- binDir = file; | |
- break; | |
- } | |
- } | |
- | |
- if (binDir == null) { | |
- callback.call(null); | |
- return; | |
- } | |
- | |
- File wineBin = new File(binDir, "wine"); | |
- File wineBin64 = new File(binDir, "wine64"); | |
- | |
- if (!wineBin.isFile()) { | |
- callback.call(null); | |
- return; | |
- } | |
- | |
- final String arch = (wineBin64.isFile() && ElfHelper.is64Bit(wineBin64)) || ElfHelper.is64Bit(wineBin) ? "x86_64" : "x86"; | |
- | |
- ImageFs imageFs = ImageFs.find(context); | |
- File rootDir = imageFs.getRootDir(); | |
- String wineBinAbsPath = wineBin64.isFile() ? wineBin64.getPath() : wineBin.getPath(); | |
- String wineBinRelPath = FileUtils.toRelativePath(rootDir.getPath(), wineBinAbsPath); | |
- final String winePath = wineDir.getPath(); | |
- | |
- final AtomicReference<WineInfo> wineInfoRef = new AtomicReference<>(); | |
- Callback<String> debugCallback = (line) -> { | |
- Pattern pattern = Pattern.compile("^wine\\-([0-9\\.]+)\\-?([0-9\\.]+)?", Pattern.CASE_INSENSITIVE); | |
- Matcher matcher = pattern.matcher(line); | |
- if (matcher.find()) { | |
- String version = matcher.group(1); | |
- String subversion = matcher.groupCount() >= 2 ? matcher.group(2) : null; | |
- wineInfoRef.set(new WineInfo(version, subversion, arch, winePath)); | |
- } | |
- }; | |
- | |
- ProcessHelper.addDebugCallback(debugCallback); | |
- | |
- File linkFile = new File(rootDir, ImageFs.HOME_PATH); | |
- linkFile.delete(); | |
- FileUtils.symlink(wineDir, linkFile); | |
- | |
- XEnvironment environment = new XEnvironment(context, imageFs); | |
- GuestProgramLauncherComponent guestProgramLauncherComponent = new GuestProgramLauncherComponent(); | |
- guestProgramLauncherComponent.setGuestExecutable(wineBinRelPath+" --version"); | |
- guestProgramLauncherComponent.setTerminationCallback((status) -> { | |
- callback.call(wineInfoRef.get()); | |
- ProcessHelper.removeDebugCallback(debugCallback); | |
- }); | |
- environment.addComponent(guestProgramLauncherComponent); | |
- environment.startEnvironmentComponents(); | |
- } | |
- | |
- public static ArrayList<WineInfo> getInstalledWineInfos(Context context) { | |
- ArrayList<WineInfo> wineInfos = new ArrayList<>(); | |
- wineInfos.add(WineInfo.MAIN_WINE_VERSION); | |
- File installedWineDir = ImageFs.find(context).getInstalledWineDir(); | |
- | |
- File[] files = installedWineDir.listFiles(); | |
- if (files != null) { | |
- for (File file : files) { | |
- String name = file.getName(); | |
- if (name.startsWith("wine")) wineInfos.add(WineInfo.fromIdentifier(context, name)); | |
- } | |
- } | |
- | |
- return wineInfos; | |
- } | |
- | |
private static void setWindowMetrics(WineRegistryEditor registryEditor) { | |
byte[] fontNormalData = (new MSLogFont()).toByteArray(); | |
byte[] fontBoldData = (new MSLogFont()).setWeight(700).toByteArray(); | |
@@ -362,30 +253,6 @@ public abstract class WineUtils { | |
} | |
} | |
- public static void updateWineprefix(Context context, final Callback<Integer> terminationCallback) { | |
- ImageFs imageFs = ImageFs.find(context); | |
- final File rootDir = imageFs.getRootDir(); | |
- File tmpDir = imageFs.getTmpDir(); | |
- if (!tmpDir.isDirectory()) tmpDir.mkdir(); | |
- | |
- FileUtils.writeString(new File(rootDir, ImageFs.WINEPREFIX+"/.update-timestamp"), "0\n"); | |
- | |
- EnvVars envVars = new EnvVars(); | |
- envVars.put("WINEPREFIX", ImageFs.WINEPREFIX); | |
- envVars.put("WINEDLLOVERRIDES", "mscoree,mshtml=d"); | |
- | |
- XEnvironment environment = new XEnvironment(context, imageFs); | |
- GuestProgramLauncherComponent guestProgramLauncherComponent = new GuestProgramLauncherComponent(); | |
- guestProgramLauncherComponent.setEnvVars(envVars); | |
- guestProgramLauncherComponent.setGuestExecutable(WineInfo.MAIN_WINE_VERSION.getExecutable(context, true)+" wineboot -u"); | |
- guestProgramLauncherComponent.setTerminationCallback((status) -> { | |
- FileUtils.writeString(new File(rootDir, ImageFs.WINEPREFIX+"/.update-timestamp"), "disable\n"); | |
- if (terminationCallback != null) terminationCallback.call(status); | |
- }); | |
- environment.addComponent(guestProgramLauncherComponent); | |
- environment.startEnvironmentComponents(); | |
- } | |
- | |
public static void changeServicesStatus(Container container, boolean onlyEssential) { | |
final String[] services = {"BITS:3", "Eventlog:2", "HTTP:3", "LanmanServer:3", "NDIS:2", "PlugPlay:2", "RpcSs:3", "scardsvr:3", "Schedule:3", "Spooler:3", "StiSvc:3", "TermService:3", "winebus:3", "winehid:3", "Winmgmt:3", "wuauserv:3"}; | |
File systemRegFile = new File(container.getRootDir(), ".wine/system.reg"); | |
diff --git a/app/src/main/java/com/winlator/core/WinlatorFilesProvider.java b/app/src/main/java/com/winlator/cmod/core/WinlatorFilesProvider.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/core/WinlatorFilesProvider.java | |
rename to app/src/main/java/com/winlator/cmod/core/WinlatorFilesProvider.java | |
index b1581f8..6b10b20 100644 | |
--- a/app/src/main/java/com/winlator/core/WinlatorFilesProvider.java | |
+++ b/app/src/main/java/com/winlator/cmod/core/WinlatorFilesProvider.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.core; | |
+package com.winlator.cmod.core; | |
import android.content.Context; | |
import android.content.pm.ProviderInfo; | |
@@ -15,7 +15,7 @@ import android.webkit.MimeTypeMap; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
+import com.winlator.cmod.R; | |
import java.io.File; | |
import java.io.FileNotFoundException; | |
diff --git a/app/src/main/java/com/winlator/fexcore/FEXCoreManager.java b/app/src/main/java/com/winlator/cmod/fexcore/FEXCoreManager.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/fexcore/FEXCoreManager.java | |
rename to app/src/main/java/com/winlator/cmod/fexcore/FEXCoreManager.java | |
index 016a357..89b3465 100644 | |
--- a/app/src/main/java/com/winlator/fexcore/FEXCoreManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/fexcore/FEXCoreManager.java | |
@@ -1,25 +1,19 @@ | |
-package com.winlator.fexcore; | |
+package com.winlator.cmod.fexcore; | |
-import com.winlator.R; | |
+import com.winlator.cmod.R; | |
import android.content.Context; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.container.Shortcut; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.container.Shortcut; | |
import android.widget.ArrayAdapter; | |
-import android.widget.SimpleCursorAdapter; | |
import android.widget.Spinner; | |
-import android.util.Log; | |
-import com.winlator.ShortcutsFragment; | |
-import com.winlator.container.Container; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.xenvironment.ImageFs; | |
+ | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
import java.io.File; | |
-import java.io.FileNotFoundException; | |
-import java.io.FileReader; | |
-import java.io.IOException; | |
import java.util.ArrayList; | |
import java.util.Arrays; | |
-import java.util.HashMap; | |
import java.util.List; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
diff --git a/app/src/main/java/com/winlator/inputcontrols/Binding.java b/app/src/main/java/com/winlator/cmod/inputcontrols/Binding.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/inputcontrols/Binding.java | |
rename to app/src/main/java/com/winlator/cmod/inputcontrols/Binding.java | |
index 94947b2..dc17ab0 100644 | |
--- a/app/src/main/java/com/winlator/inputcontrols/Binding.java | |
+++ b/app/src/main/java/com/winlator/cmod/inputcontrols/Binding.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.inputcontrols; | |
+package com.winlator.cmod.inputcontrols; | |
import androidx.annotation.NonNull; | |
-import com.winlator.xserver.Pointer; | |
-import com.winlator.xserver.XKeycode; | |
+import com.winlator.cmod.xserver.Pointer; | |
+import com.winlator.cmod.xserver.XKeycode; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/inputcontrols/ControlElement.java b/app/src/main/java/com/winlator/cmod/inputcontrols/ControlElement.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/inputcontrols/ControlElement.java | |
rename to app/src/main/java/com/winlator/cmod/inputcontrols/ControlElement.java | |
index 10ace6d..77037fa 100644 | |
--- a/app/src/main/java/com/winlator/inputcontrols/ControlElement.java | |
+++ b/app/src/main/java/com/winlator/cmod/inputcontrols/ControlElement.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.inputcontrols; | |
+package com.winlator.cmod.inputcontrols; | |
import android.graphics.Bitmap; | |
import android.graphics.Canvas; | |
@@ -9,10 +9,10 @@ import android.graphics.Rect; | |
import androidx.core.graphics.ColorUtils; | |
-import com.winlator.core.CubicBezierInterpolator; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.widget.InputControlsView; | |
-import com.winlator.widget.TouchpadView; | |
+import com.winlator.cmod.core.CubicBezierInterpolator; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.widget.InputControlsView; | |
+import com.winlator.cmod.widget.TouchpadView; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/inputcontrols/ControlsProfile.java b/app/src/main/java/com/winlator/cmod/inputcontrols/ControlsProfile.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/inputcontrols/ControlsProfile.java | |
rename to app/src/main/java/com/winlator/cmod/inputcontrols/ControlsProfile.java | |
index 80abffc..ccea65d 100644 | |
--- a/app/src/main/java/com/winlator/inputcontrols/ControlsProfile.java | |
+++ b/app/src/main/java/com/winlator/cmod/inputcontrols/ControlsProfile.java | |
@@ -1,11 +1,11 @@ | |
-package com.winlator.inputcontrols; | |
+package com.winlator.cmod.inputcontrols; | |
import android.content.Context; | |
import androidx.annotation.NonNull; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.widget.InputControlsView; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.widget.InputControlsView; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/inputcontrols/ExternalController.java b/app/src/main/java/com/winlator/cmod/inputcontrols/ExternalController.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/inputcontrols/ExternalController.java | |
rename to app/src/main/java/com/winlator/cmod/inputcontrols/ExternalController.java | |
index e809943..5026f4d 100644 | |
--- a/app/src/main/java/com/winlator/inputcontrols/ExternalController.java | |
+++ b/app/src/main/java/com/winlator/cmod/inputcontrols/ExternalController.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.inputcontrols; | |
+package com.winlator.cmod.inputcontrols; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
@@ -10,7 +10,7 @@ import android.view.MotionEvent; | |
import androidx.annotation.Nullable; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.XServerDisplayActivity; | |
+import com.winlator.cmod.XServerDisplayActivity; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
@@ -18,7 +18,6 @@ import org.json.JSONObject; | |
import java.util.ArrayList; | |
import java.util.HashMap; | |
-import java.util.List; | |
public class ExternalController { | |
public static final byte IDX_BUTTON_A = 0; | |
diff --git a/app/src/main/java/com/winlator/inputcontrols/ExternalControllerBinding.java b/app/src/main/java/com/winlator/cmod/inputcontrols/ExternalControllerBinding.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/inputcontrols/ExternalControllerBinding.java | |
rename to app/src/main/java/com/winlator/cmod/inputcontrols/ExternalControllerBinding.java | |
index 0e1f2d1..4a2d52d 100644 | |
--- a/app/src/main/java/com/winlator/inputcontrols/ExternalControllerBinding.java | |
+++ b/app/src/main/java/com/winlator/cmod/inputcontrols/ExternalControllerBinding.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.inputcontrols; | |
+package com.winlator.cmod.inputcontrols; | |
import android.view.KeyEvent; | |
import android.view.MotionEvent; | |
diff --git a/app/src/main/java/com/winlator/inputcontrols/GamepadState.java b/app/src/main/java/com/winlator/cmod/inputcontrols/GamepadState.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/inputcontrols/GamepadState.java | |
rename to app/src/main/java/com/winlator/cmod/inputcontrols/GamepadState.java | |
index 69f58d8..ab0e5e9 100644 | |
--- a/app/src/main/java/com/winlator/inputcontrols/GamepadState.java | |
+++ b/app/src/main/java/com/winlator/cmod/inputcontrols/GamepadState.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.inputcontrols; | |
+package com.winlator.cmod.inputcontrols; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/inputcontrols/InputControlsManager.java b/app/src/main/java/com/winlator/cmod/inputcontrols/InputControlsManager.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/inputcontrols/InputControlsManager.java | |
rename to app/src/main/java/com/winlator/cmod/inputcontrols/InputControlsManager.java | |
index 4fb6876..ed95057 100644 | |
--- a/app/src/main/java/com/winlator/inputcontrols/InputControlsManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/inputcontrols/InputControlsManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.inputcontrols; | |
+package com.winlator.cmod.inputcontrols; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
@@ -9,8 +9,8 @@ import android.util.JsonReader; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
diff --git a/app/src/main/java/com/winlator/inputcontrols/PreferenceKeys.java b/app/src/main/java/com/winlator/cmod/inputcontrols/PreferenceKeys.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/inputcontrols/PreferenceKeys.java | |
rename to app/src/main/java/com/winlator/cmod/inputcontrols/PreferenceKeys.java | |
index ec9250c..fc4c74c 100644 | |
--- a/app/src/main/java/com/winlator/inputcontrols/PreferenceKeys.java | |
+++ b/app/src/main/java/com/winlator/cmod/inputcontrols/PreferenceKeys.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.inputcontrols; | |
+package com.winlator.cmod.inputcontrols; | |
public class PreferenceKeys { | |
public static final String DEADZONE_LEFT = "deadzone_left"; | |
diff --git a/app/src/main/java/com/winlator/inputcontrols/RangeScroller.java b/app/src/main/java/com/winlator/cmod/inputcontrols/RangeScroller.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/inputcontrols/RangeScroller.java | |
rename to app/src/main/java/com/winlator/cmod/inputcontrols/RangeScroller.java | |
index ba4c29b..b16f233 100644 | |
--- a/app/src/main/java/com/winlator/inputcontrols/RangeScroller.java | |
+++ b/app/src/main/java/com/winlator/cmod/inputcontrols/RangeScroller.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.inputcontrols; | |
+package com.winlator.cmod.inputcontrols; | |
import android.graphics.Rect; | |
-import com.winlator.widget.InputControlsView; | |
-import com.winlator.widget.TouchpadView; | |
+import com.winlator.cmod.widget.InputControlsView; | |
+import com.winlator.cmod.widget.TouchpadView; | |
import java.util.Timer; | |
import java.util.TimerTask; | |
diff --git a/app/src/main/java/com/winlator/math/Mathf.java b/app/src/main/java/com/winlator/cmod/math/Mathf.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/math/Mathf.java | |
rename to app/src/main/java/com/winlator/cmod/math/Mathf.java | |
index 6f74f42..1448d5d 100644 | |
--- a/app/src/main/java/com/winlator/math/Mathf.java | |
+++ b/app/src/main/java/com/winlator/cmod/math/Mathf.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.math; | |
+package com.winlator.cmod.math; | |
public abstract class Mathf { | |
public static float clamp(float x, float min, float max) { | |
diff --git a/app/src/main/java/com/winlator/math/XForm.java b/app/src/main/java/com/winlator/cmod/math/XForm.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/math/XForm.java | |
rename to app/src/main/java/com/winlator/cmod/math/XForm.java | |
index 15bddd3..ef7ea06 100644 | |
--- a/app/src/main/java/com/winlator/math/XForm.java | |
+++ b/app/src/main/java/com/winlator/cmod/math/XForm.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.math; | |
+package com.winlator.cmod.math; | |
public class XForm { | |
private static final float[] tmpXForm = XForm.getInstance(); | |
diff --git a/app/src/main/java/com/winlator/midi/MidiHandler.java b/app/src/main/java/com/winlator/cmod/midi/MidiHandler.java | |
similarity index 99% | |
rename from app/src/main/java/com/winlator/midi/MidiHandler.java | |
rename to app/src/main/java/com/winlator/cmod/midi/MidiHandler.java | |
index c99d144..9d18fb9 100644 | |
--- a/app/src/main/java/com/winlator/midi/MidiHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/midi/MidiHandler.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.midi; | |
+package com.winlator.cmod.midi; | |
import java.io.IOException; | |
import java.net.DatagramPacket; | |
diff --git a/app/src/main/java/com/winlator/midi/MidiManager.java b/app/src/main/java/com/winlator/cmod/midi/MidiManager.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/midi/MidiManager.java | |
rename to app/src/main/java/com/winlator/cmod/midi/MidiManager.java | |
index 6bf1926..ce31e77 100644 | |
--- a/app/src/main/java/com/winlator/midi/MidiManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/midi/MidiManager.java | |
@@ -1,12 +1,12 @@ | |
-package com.winlator.midi; | |
+package com.winlator.cmod.midi; | |
import android.content.Context; | |
import android.net.Uri; | |
import android.widget.ArrayAdapter; | |
import android.widget.Spinner; | |
-import com.winlator.R; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.FileUtils; | |
import java.io.File; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/midi/RequestCodes.java b/app/src/main/java/com/winlator/cmod/midi/RequestCodes.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/midi/RequestCodes.java | |
rename to app/src/main/java/com/winlator/cmod/midi/RequestCodes.java | |
index ff9d718..39fe352 100644 | |
--- a/app/src/main/java/com/winlator/midi/RequestCodes.java | |
+++ b/app/src/main/java/com/winlator/cmod/midi/RequestCodes.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.midi; | |
+package com.winlator.cmod.midi; | |
public class RequestCodes { | |
public static final byte MIDI_SHORT = 1; | |
diff --git a/app/src/main/java/com/winlator/renderer/EffectComposer.java b/app/src/main/java/com/winlator/cmod/renderer/EffectComposer.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/renderer/EffectComposer.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/EffectComposer.java | |
index 77f779a..f009cfa 100644 | |
--- a/app/src/main/java/com/winlator/renderer/EffectComposer.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/EffectComposer.java | |
@@ -1,11 +1,11 @@ | |
-package com.winlator.renderer; | |
+package com.winlator.cmod.renderer; | |
import android.opengl.GLES20; | |
import android.util.Log; | |
-import com.winlator.renderer.effects.Effect; | |
-import com.winlator.renderer.effects.ToonEffect; | |
-import com.winlator.renderer.material.ShaderMaterial; | |
+import com.winlator.cmod.renderer.effects.Effect; | |
+import com.winlator.cmod.renderer.effects.ToonEffect; | |
+import com.winlator.cmod.renderer.material.ShaderMaterial; | |
import java.util.ArrayList; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/renderer/GLRenderer.java b/app/src/main/java/com/winlator/cmod/renderer/GLRenderer.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/renderer/GLRenderer.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/GLRenderer.java | |
index 881fc68..c1720cf 100644 | |
--- a/app/src/main/java/com/winlator/renderer/GLRenderer.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/GLRenderer.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.renderer; | |
+package com.winlator.cmod.renderer; | |
import android.content.Context; | |
import android.graphics.Bitmap; | |
@@ -7,23 +7,23 @@ import android.opengl.GLES20; | |
import android.opengl.GLSurfaceView; | |
import android.util.Log; | |
-import com.winlator.R; | |
-import com.winlator.XrActivity; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.math.XForm; | |
-import com.winlator.renderer.material.CursorMaterial; | |
-import com.winlator.renderer.material.ShaderMaterial; | |
-import com.winlator.renderer.material.WindowMaterial; | |
-import com.winlator.widget.XServerView; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Cursor; | |
-import com.winlator.xserver.Drawable; | |
-import com.winlator.xserver.Pointer; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.WindowAttributes; | |
-import com.winlator.xserver.WindowManager; | |
-import com.winlator.xserver.XLock; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.XrActivity; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.math.XForm; | |
+import com.winlator.cmod.renderer.material.CursorMaterial; | |
+import com.winlator.cmod.renderer.material.ShaderMaterial; | |
+import com.winlator.cmod.renderer.material.WindowMaterial; | |
+import com.winlator.cmod.widget.XServerView; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Cursor; | |
+import com.winlator.cmod.xserver.Drawable; | |
+import com.winlator.cmod.xserver.Pointer; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.WindowAttributes; | |
+import com.winlator.cmod.xserver.WindowManager; | |
+import com.winlator.cmod.xserver.XLock; | |
+import com.winlator.cmod.xserver.XServer; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/renderer/GPUImage.java b/app/src/main/java/com/winlator/cmod/renderer/GPUImage.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/renderer/GPUImage.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/GPUImage.java | |
index a8592a8..55726de 100644 | |
--- a/app/src/main/java/com/winlator/renderer/GPUImage.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/GPUImage.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.renderer; | |
+package com.winlator.cmod.renderer; | |
import androidx.annotation.Keep; | |
-import com.winlator.xserver.Drawable; | |
+import com.winlator.cmod.xserver.Drawable; | |
import java.nio.ByteBuffer; | |
public class GPUImage extends Texture { | |
@@ -27,9 +27,9 @@ public class GPUImage extends Texture { | |
} else { | |
System.err.println("Error: Failed to create hardware buffer"); | |
} | |
- } | |
- | |
- public GPUImage(int socketFd) { | |
+ } | |
+ | |
+ public GPUImage(int socketFd) { | |
hardwareBufferPtr = hardwareBufferFromSocket(socketFd); | |
if (hardwareBufferPtr != 0) { | |
virtualData = lockHardwareBuffer(hardwareBufferPtr); | |
@@ -40,7 +40,7 @@ public class GPUImage extends Texture { | |
} | |
} else { | |
System.err.println("Error: Failed to create hardware buffer"); | |
- } | |
+ } | |
} | |
@Override | |
@@ -101,8 +101,8 @@ public class GPUImage extends Texture { | |
supported = gpuImage.hardwareBufferPtr != 0 && gpuImage.imageKHRPtr != 0 && gpuImage.virtualData != null; | |
gpuImage.destroy(); | |
} | |
- | |
- private native long hardwareBufferFromSocket(int fd); | |
+ | |
+ private native long hardwareBufferFromSocket(int fd); | |
private native long createHardwareBuffer(short width, short height); | |
diff --git a/app/src/main/java/com/winlator/renderer/NativeRenderer.java b/app/src/main/java/com/winlator/cmod/renderer/NativeRenderer.java | |
similarity index 86% | |
rename from app/src/main/java/com/winlator/renderer/NativeRenderer.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/NativeRenderer.java | |
index ed07dba..cf54dab 100644 | |
--- a/app/src/main/java/com/winlator/renderer/NativeRenderer.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/NativeRenderer.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.renderer; | |
+package com.winlator.cmod.renderer; | |
public class NativeRenderer { | |
static { | |
diff --git a/app/src/main/java/com/winlator/renderer/RenderTarget.java b/app/src/main/java/com/winlator/cmod/renderer/RenderTarget.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/renderer/RenderTarget.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/RenderTarget.java | |
index 67b38e8..c0ed7ac 100644 | |
--- a/app/src/main/java/com/winlator/renderer/RenderTarget.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/RenderTarget.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.renderer; | |
+package com.winlator.cmod.renderer; | |
import android.opengl.GLES20; | |
diff --git a/app/src/main/java/com/winlator/renderer/RenderableWindow.java b/app/src/main/java/com/winlator/cmod/renderer/RenderableWindow.java | |
similarity index 83% | |
rename from app/src/main/java/com/winlator/renderer/RenderableWindow.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/RenderableWindow.java | |
index 858b3a3..6ad1f0a 100644 | |
--- a/app/src/main/java/com/winlator/renderer/RenderableWindow.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/RenderableWindow.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.renderer; | |
+package com.winlator.cmod.renderer; | |
-import com.winlator.xserver.Drawable; | |
+import com.winlator.cmod.xserver.Drawable; | |
class RenderableWindow { | |
final Drawable content; | |
diff --git a/app/src/main/java/com/winlator/renderer/Texture.java b/app/src/main/java/com/winlator/cmod/renderer/Texture.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/renderer/Texture.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/Texture.java | |
index 8f58c4d..cb49dba 100644 | |
--- a/app/src/main/java/com/winlator/renderer/Texture.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/Texture.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.renderer; | |
+package com.winlator.cmod.renderer; | |
import android.opengl.GLES11Ext; | |
import android.opengl.GLES20; | |
-import com.winlator.XrActivity; | |
-import com.winlator.xserver.Drawable; | |
+import com.winlator.cmod.XrActivity; | |
+import com.winlator.cmod.xserver.Drawable; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/renderer/VertexAttribute.java b/app/src/main/java/com/winlator/cmod/renderer/VertexAttribute.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/renderer/VertexAttribute.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/VertexAttribute.java | |
index 0fd496b..226baa8 100644 | |
--- a/app/src/main/java/com/winlator/renderer/VertexAttribute.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/VertexAttribute.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.renderer; | |
+package com.winlator.cmod.renderer; | |
import android.opengl.GLES20; | |
diff --git a/app/src/main/java/com/winlator/renderer/ViewTransformation.java b/app/src/main/java/com/winlator/cmod/renderer/ViewTransformation.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/renderer/ViewTransformation.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/ViewTransformation.java | |
index 3b2fc59..f946505 100644 | |
--- a/app/src/main/java/com/winlator/renderer/ViewTransformation.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/ViewTransformation.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.renderer; | |
+package com.winlator.cmod.renderer; | |
public class ViewTransformation { | |
public int viewOffsetX; | |
diff --git a/app/src/main/java/com/winlator/renderer/effects/CRTEffect.java b/app/src/main/java/com/winlator/cmod/renderer/effects/CRTEffect.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/renderer/effects/CRTEffect.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/effects/CRTEffect.java | |
index 89e34ed..70728d1 100644 | |
--- a/app/src/main/java/com/winlator/renderer/effects/CRTEffect.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/effects/CRTEffect.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.renderer.effects; | |
+package com.winlator.cmod.renderer.effects; | |
-import com.winlator.renderer.material.ScreenMaterial; | |
-import com.winlator.renderer.material.ShaderMaterial; | |
+import com.winlator.cmod.renderer.material.ScreenMaterial; | |
+import com.winlator.cmod.renderer.material.ShaderMaterial; | |
public class CRTEffect extends Effect { | |
// Constructor for CRTEffect | |
diff --git a/app/src/main/java/com/winlator/renderer/effects/ColorEffect.java b/app/src/main/java/com/winlator/cmod/renderer/effects/ColorEffect.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/renderer/effects/ColorEffect.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/effects/ColorEffect.java | |
index b04003e..99f158f 100644 | |
--- a/app/src/main/java/com/winlator/renderer/effects/ColorEffect.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/effects/ColorEffect.java | |
@@ -1,8 +1,7 @@ | |
-package com.winlator.renderer.effects; | |
+package com.winlator.cmod.renderer.effects; | |
-import android.util.Log; | |
-import com.winlator.renderer.material.ScreenMaterial; | |
-import com.winlator.renderer.material.ShaderMaterial; | |
+import com.winlator.cmod.renderer.material.ScreenMaterial; | |
+import com.winlator.cmod.renderer.material.ShaderMaterial; | |
public class ColorEffect extends Effect { | |
private float brightness; | |
diff --git a/app/src/main/java/com/winlator/renderer/effects/Effect.java b/app/src/main/java/com/winlator/cmod/renderer/effects/Effect.java | |
similarity index 85% | |
rename from app/src/main/java/com/winlator/renderer/effects/Effect.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/effects/Effect.java | |
index 1002a69..bf063f4 100644 | |
--- a/app/src/main/java/com/winlator/renderer/effects/Effect.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/effects/Effect.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.renderer.effects; | |
+package com.winlator.cmod.renderer.effects; | |
-import com.winlator.renderer.material.ShaderMaterial; | |
+import com.winlator.cmod.renderer.material.ShaderMaterial; | |
public abstract class Effect { | |
// Instance field for the shader material | |
diff --git a/app/src/main/java/com/winlator/renderer/effects/FXAAEffect.java b/app/src/main/java/com/winlator/cmod/renderer/effects/FXAAEffect.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/renderer/effects/FXAAEffect.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/effects/FXAAEffect.java | |
index 5b302e0..9f1fd8c 100644 | |
--- a/app/src/main/java/com/winlator/renderer/effects/FXAAEffect.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/effects/FXAAEffect.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.renderer.effects; | |
+package com.winlator.cmod.renderer.effects; | |
-import com.winlator.renderer.material.ScreenMaterial; | |
-import com.winlator.renderer.material.ShaderMaterial; | |
+import com.winlator.cmod.renderer.material.ScreenMaterial; | |
+import com.winlator.cmod.renderer.material.ShaderMaterial; | |
public class FXAAEffect extends Effect { | |
// Constructor | |
diff --git a/app/src/main/java/com/winlator/renderer/effects/NTSCCombinedEffect.java b/app/src/main/java/com/winlator/cmod/renderer/effects/NTSCCombinedEffect.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/renderer/effects/NTSCCombinedEffect.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/effects/NTSCCombinedEffect.java | |
index aaa079f..002ff84 100644 | |
--- a/app/src/main/java/com/winlator/renderer/effects/NTSCCombinedEffect.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/effects/NTSCCombinedEffect.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.renderer.effects; | |
+package com.winlator.cmod.renderer.effects; | |
-import com.winlator.renderer.material.ScreenMaterial; | |
-import com.winlator.renderer.material.ShaderMaterial; | |
+import com.winlator.cmod.renderer.material.ScreenMaterial; | |
+import com.winlator.cmod.renderer.material.ShaderMaterial; | |
public class NTSCCombinedEffect extends Effect { | |
// Constructor for NTSCCombinedEffect | |
diff --git a/app/src/main/java/com/winlator/renderer/effects/ToonEffect.java b/app/src/main/java/com/winlator/cmod/renderer/effects/ToonEffect.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/renderer/effects/ToonEffect.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/effects/ToonEffect.java | |
index b2cb933..85b1c89 100644 | |
--- a/app/src/main/java/com/winlator/renderer/effects/ToonEffect.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/effects/ToonEffect.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.renderer.effects; | |
+package com.winlator.cmod.renderer.effects; | |
-import com.winlator.renderer.material.ScreenMaterial; | |
-import com.winlator.renderer.material.ShaderMaterial; | |
+import com.winlator.cmod.renderer.material.ScreenMaterial; | |
+import com.winlator.cmod.renderer.material.ShaderMaterial; | |
public class ToonEffect extends Effect { | |
// Constructor for ToonEffect | |
diff --git a/app/src/main/java/com/winlator/renderer/material/CursorMaterial.java b/app/src/main/java/com/winlator/cmod/renderer/material/CursorMaterial.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/renderer/material/CursorMaterial.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/material/CursorMaterial.java | |
index 350da19..2c8b952 100644 | |
--- a/app/src/main/java/com/winlator/renderer/material/CursorMaterial.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/material/CursorMaterial.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.renderer.material; | |
+package com.winlator.cmod.renderer.material; | |
public class CursorMaterial extends ShaderMaterial { | |
public CursorMaterial() { | |
diff --git a/app/src/main/java/com/winlator/renderer/material/ScreenMaterial.java b/app/src/main/java/com/winlator/cmod/renderer/material/ScreenMaterial.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/renderer/material/ScreenMaterial.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/material/ScreenMaterial.java | |
index d977c32..7e3b005 100644 | |
--- a/app/src/main/java/com/winlator/renderer/material/ScreenMaterial.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/material/ScreenMaterial.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.renderer.material; | |
+package com.winlator.cmod.renderer.material; | |
public class ScreenMaterial extends ShaderMaterial { | |
// Constructor for ScreenMaterial | |
diff --git a/app/src/main/java/com/winlator/renderer/material/ShaderMaterial.java b/app/src/main/java/com/winlator/cmod/renderer/material/ShaderMaterial.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/renderer/material/ShaderMaterial.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/material/ShaderMaterial.java | |
index 8110b7a..fa66baf 100644 | |
--- a/app/src/main/java/com/winlator/renderer/material/ShaderMaterial.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/material/ShaderMaterial.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.renderer.material; | |
+package com.winlator.cmod.renderer.material; | |
import android.graphics.Color; | |
import android.opengl.GLES20; | |
diff --git a/app/src/main/java/com/winlator/renderer/material/WindowMaterial.java b/app/src/main/java/com/winlator/cmod/renderer/material/WindowMaterial.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/renderer/material/WindowMaterial.java | |
rename to app/src/main/java/com/winlator/cmod/renderer/material/WindowMaterial.java | |
index 2cc125b..93b81f2 100644 | |
--- a/app/src/main/java/com/winlator/renderer/material/WindowMaterial.java | |
+++ b/app/src/main/java/com/winlator/cmod/renderer/material/WindowMaterial.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.renderer.material; | |
+package com.winlator.cmod.renderer.material; | |
public class WindowMaterial extends ShaderMaterial { | |
public WindowMaterial() { | |
diff --git a/app/src/main/java/com/winlator/restore/RestoreActivity.java b/app/src/main/java/com/winlator/cmod/restore/RestoreActivity.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/restore/RestoreActivity.java | |
rename to app/src/main/java/com/winlator/cmod/restore/RestoreActivity.java | |
index 8d8000b..127d561 100644 | |
--- a/app/src/main/java/com/winlator/restore/RestoreActivity.java | |
+++ b/app/src/main/java/com/winlator/cmod/restore/RestoreActivity.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.restore; | |
+package com.winlator.cmod.restore; | |
import android.app.Activity; | |
import android.content.Intent; | |
@@ -6,11 +6,11 @@ import android.net.Uri; | |
import android.os.Bundle; | |
import android.util.Log; | |
-import com.winlator.R; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.PreloaderDialog; | |
-import com.winlator.core.TarCompressorUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.PreloaderDialog; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
import java.io.File; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/saves/CustomFilePickerActivity.java b/app/src/main/java/com/winlator/cmod/saves/CustomFilePickerActivity.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/saves/CustomFilePickerActivity.java | |
rename to app/src/main/java/com/winlator/cmod/saves/CustomFilePickerActivity.java | |
index 829d425..2a43eb5 100644 | |
--- a/app/src/main/java/com/winlator/saves/CustomFilePickerActivity.java | |
+++ b/app/src/main/java/com/winlator/cmod/saves/CustomFilePickerActivity.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.saves; | |
+package com.winlator.cmod.saves; | |
import android.app.Activity; | |
import android.content.Intent; | |
@@ -13,7 +13,7 @@ import androidx.preference.PreferenceManager; | |
import androidx.recyclerview.widget.LinearLayoutManager; | |
import androidx.recyclerview.widget.RecyclerView; | |
-import com.winlator.R; | |
+import com.winlator.cmod.R; | |
import java.io.File; | |
diff --git a/app/src/main/java/com/winlator/saves/FileAdapter.java b/app/src/main/java/com/winlator/cmod/saves/FileAdapter.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/saves/FileAdapter.java | |
rename to app/src/main/java/com/winlator/cmod/saves/FileAdapter.java | |
index 36ae15b..b999354 100644 | |
--- a/app/src/main/java/com/winlator/saves/FileAdapter.java | |
+++ b/app/src/main/java/com/winlator/cmod/saves/FileAdapter.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.saves; | |
+package com.winlator.cmod.saves; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
diff --git a/app/src/main/java/com/winlator/saves/Save.java b/app/src/main/java/com/winlator/cmod/saves/Save.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/saves/Save.java | |
rename to app/src/main/java/com/winlator/cmod/saves/Save.java | |
index e3bd00a..3c613ba 100644 | |
--- a/app/src/main/java/com/winlator/saves/Save.java | |
+++ b/app/src/main/java/com/winlator/cmod/saves/Save.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.saves; | |
+package com.winlator.cmod.saves; | |
import android.util.Log; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.core.FileUtils; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
diff --git a/app/src/main/java/com/winlator/saves/SaveManager.java b/app/src/main/java/com/winlator/cmod/saves/SaveManager.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/saves/SaveManager.java | |
rename to app/src/main/java/com/winlator/cmod/saves/SaveManager.java | |
index 1dc4e27..8caecf7 100644 | |
--- a/app/src/main/java/com/winlator/saves/SaveManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/saves/SaveManager.java | |
@@ -1,11 +1,11 @@ | |
-package com.winlator.saves; | |
+package com.winlator.cmod.saves; | |
import android.content.Context; | |
import android.util.Log; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.core.FileUtils; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
diff --git a/app/src/main/java/com/winlator/sysvshm/RequestCodes.java b/app/src/main/java/com/winlator/cmod/sysvshm/RequestCodes.java | |
similarity index 79% | |
rename from app/src/main/java/com/winlator/sysvshm/RequestCodes.java | |
rename to app/src/main/java/com/winlator/cmod/sysvshm/RequestCodes.java | |
index 3007aad..9780b1a 100644 | |
--- a/app/src/main/java/com/winlator/sysvshm/RequestCodes.java | |
+++ b/app/src/main/java/com/winlator/cmod/sysvshm/RequestCodes.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.sysvshm; | |
+package com.winlator.cmod.sysvshm; | |
public abstract class RequestCodes { | |
public static final byte SHMGET = 0; | |
diff --git a/app/src/main/java/com/winlator/sysvshm/SysVSHMConnectionHandler.java b/app/src/main/java/com/winlator/cmod/sysvshm/SysVSHMConnectionHandler.java | |
similarity index 75% | |
rename from app/src/main/java/com/winlator/sysvshm/SysVSHMConnectionHandler.java | |
rename to app/src/main/java/com/winlator/cmod/sysvshm/SysVSHMConnectionHandler.java | |
index 487d75a..daa5475 100644 | |
--- a/app/src/main/java/com/winlator/sysvshm/SysVSHMConnectionHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/sysvshm/SysVSHMConnectionHandler.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.sysvshm; | |
+package com.winlator.cmod.sysvshm; | |
-import com.winlator.xconnector.Client; | |
-import com.winlator.xconnector.ConnectionHandler; | |
+import com.winlator.cmod.xconnector.Client; | |
+import com.winlator.cmod.xconnector.ConnectionHandler; | |
public class SysVSHMConnectionHandler implements ConnectionHandler { | |
private final SysVSharedMemory sysVSharedMemory; | |
diff --git a/app/src/main/java/com/winlator/sysvshm/SysVSHMRequestHandler.java b/app/src/main/java/com/winlator/cmod/sysvshm/SysVSHMRequestHandler.java | |
similarity index 80% | |
rename from app/src/main/java/com/winlator/sysvshm/SysVSHMRequestHandler.java | |
rename to app/src/main/java/com/winlator/cmod/sysvshm/SysVSHMRequestHandler.java | |
index eae40ab..90e4f30 100644 | |
--- a/app/src/main/java/com/winlator/sysvshm/SysVSHMRequestHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/sysvshm/SysVSHMRequestHandler.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.sysvshm; | |
+package com.winlator.cmod.sysvshm; | |
-import com.winlator.xconnector.Client; | |
-import com.winlator.xconnector.RequestHandler; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
+import com.winlator.cmod.xconnector.Client; | |
+import com.winlator.cmod.xconnector.RequestHandler; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/sysvshm/SysVSharedMemory.java b/app/src/main/java/com/winlator/cmod/sysvshm/SysVSharedMemory.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/sysvshm/SysVSharedMemory.java | |
rename to app/src/main/java/com/winlator/cmod/sysvshm/SysVSharedMemory.java | |
index af65b75..d89e947 100644 | |
--- a/app/src/main/java/com/winlator/sysvshm/SysVSharedMemory.java | |
+++ b/app/src/main/java/com/winlator/cmod/sysvshm/SysVSharedMemory.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.sysvshm; | |
+package com.winlator.cmod.sysvshm; | |
import android.os.SharedMemory; | |
import android.system.ErrnoException; | |
import android.util.SparseArray; | |
-import com.winlator.xconnector.XConnectorEpoll; | |
+import com.winlator.cmod.xconnector.XConnectorEpoll; | |
import java.lang.reflect.InvocationTargetException; | |
import java.lang.reflect.Method; | |
diff --git a/app/src/main/java/com/winlator/widget/CPUListView.java b/app/src/main/java/com/winlator/cmod/widget/CPUListView.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/widget/CPUListView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/CPUListView.java | |
index e708aba..706bd26 100644 | |
--- a/app/src/main/java/com/winlator/widget/CPUListView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/CPUListView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.util.AttributeSet; | |
@@ -10,7 +10,7 @@ import android.widget.TextView; | |
import androidx.annotation.Nullable; | |
-import com.winlator.R; | |
+import com.winlator.cmod.R; | |
import java.util.Arrays; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/widget/ColorPickerView.java b/app/src/main/java/com/winlator/cmod/widget/ColorPickerView.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/widget/ColorPickerView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/ColorPickerView.java | |
index 0afd127..1edd876 100644 | |
--- a/app/src/main/java/com/winlator/widget/ColorPickerView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/ColorPickerView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.graphics.Bitmap; | |
@@ -18,9 +18,9 @@ import android.widget.PopupWindow; | |
import androidx.annotation.Nullable; | |
-import com.winlator.R; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.UnitUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.UnitUtils; | |
import java.util.Locale; | |
diff --git a/app/src/main/java/com/winlator/widget/EnvVarsView.java b/app/src/main/java/com/winlator/cmod/widget/EnvVarsView.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/widget/EnvVarsView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/EnvVarsView.java | |
index 58c0187..4b044cc 100644 | |
--- a/app/src/main/java/com/winlator/widget/EnvVarsView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/EnvVarsView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.graphics.Color; | |
@@ -19,10 +19,10 @@ import android.widget.ToggleButton; | |
import androidx.annotation.Nullable; | |
-import com.winlator.R; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.UnitUtils; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.UnitUtils; | |
import java.util.Arrays; | |
diff --git a/app/src/main/java/com/winlator/widget/FrameRating.java b/app/src/main/java/com/winlator/cmod/widget/FrameRating.java | |
similarity index 51% | |
rename from app/src/main/java/com/winlator/widget/FrameRating.java | |
rename to app/src/main/java/com/winlator/cmod/widget/FrameRating.java | |
index 1b4c331..ed31340 100644 | |
--- a/app/src/main/java/com/winlator/widget/FrameRating.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/FrameRating.java | |
@@ -1,8 +1,7 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.app.ActivityManager; | |
import android.content.Context; | |
-import android.os.Build; | |
import android.os.SystemClock; | |
import android.util.AttributeSet; | |
import android.util.Log; | |
@@ -11,40 +10,26 @@ import android.view.View; | |
import android.widget.FrameLayout; | |
import android.widget.TextView; | |
-import androidx.annotation.RequiresApi; | |
+import com.winlator.cmod.R; | |
-import com.winlator.R; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.core.GPUInformation; | |
+import com.winlator.cmod.core.StringUtils; | |
-import com.winlator.container.Container; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.GPUInformation; | |
-import com.winlator.core.StringUtils; | |
- | |
-import java.io.BufferedReader; | |
-import java.io.File; | |
-import java.io.IOException; | |
-import java.io.InputStream; | |
-import java.io.InputStreamReader; | |
-import java.util.ArrayList; | |
import java.util.Locale; | |
-import org.json.JSONException; | |
-import org.json.JSONObject; | |
public class FrameRating extends FrameLayout implements Runnable { | |
private Context context; | |
private long lastTime = 0; | |
private int frameCount = 0; | |
- private File appInfo = null; | |
private float lastFPS = 0; | |
private String renderer = null; | |
private String gpuName = null; | |
private String totalRAM = null; | |
private final TextView tvFPS; | |
private final TextView tvRenderer; | |
- private final TextView tvCPU; | |
private final TextView tvGPU; | |
private final TextView tvRAM; | |
- private final TextView tvContainer; | |
public FrameRating(Context context, Container container) { | |
this(context, container, null); | |
@@ -60,77 +45,12 @@ public class FrameRating extends FrameLayout implements Runnable { | |
View view = LayoutInflater.from(context).inflate(R.layout.frame_rating, this, false); | |
tvFPS = view.findViewById(R.id.TVFPS); | |
tvRenderer = view.findViewById(R.id.TVRenderer); | |
- tvCPU = view.findViewById(R.id.TVCPU); | |
- tvCPU.setText(getSOCName(context)); | |
tvGPU = view.findViewById(R.id.TVGPU); | |
tvRAM = view.findViewById(R.id.TVRAM); | |
totalRAM = getTotalRAM(); | |
- tvContainer = view.findViewById(R.id.TVContainer); | |
- if (container.isBionic()) | |
- tvContainer.setText("Bionic"); | |
- else | |
- tvContainer.setText("Glibc"); | |
- appInfo = new File(context.getFilesDir(), "imagefs/tmp/app_info.txt"); | |
- if (appInfo.exists()) appInfo.delete(); | |
addView(view); | |
} | |
- private String getRenderer() { | |
- String renderer = "OpenGL"; | |
- ArrayList<String> lines = FileUtils.readLines(appInfo); | |
- if (lines.size() > 0) | |
- renderer = lines.get(0); | |
- return renderer; | |
- } | |
- | |
- private String getGPUName() { | |
- String gpuName = GPUInformation.getRenderer(); | |
- ArrayList<String> lines = FileUtils.readLines(appInfo); | |
- if (lines.size() > 1) { | |
- gpuName = lines.get(1); | |
- } | |
- return gpuName; | |
- } | |
- | |
- private String getBoardName() { | |
- String boardName = ""; | |
- try { | |
- boardName = (String)Class.forName("android.os.SystemProperties").getMethod("get", String.class).invoke(null, "ro.board.platform"); | |
- } | |
- catch (Exception e) { | |
- Log.d("FrameRating", "Couldn't query board name, setting to generic board"); | |
- boardName = "generic"; | |
- } | |
- return boardName; | |
- } | |
- | |
- private String getSOCName(Context context) { | |
- String socName = ""; | |
- InputStream is = null; | |
- | |
- try { | |
- is = context.getAssets().open("cpu_database.json"); | |
- if (is != null) { | |
- BufferedReader br = new BufferedReader(new InputStreamReader(is)); | |
- String line; | |
- StringBuilder sb = new StringBuilder(); | |
- while ((line = br.readLine()) != null) { | |
- sb.append(line); | |
- } | |
- String jsonString = new String(sb.toString()); | |
- JSONObject jobj = new JSONObject(jsonString); | |
- JSONObject board = (JSONObject)jobj.get(getBoardName()); | |
- socName = board.getString("SoC"); | |
- } | |
- } | |
- catch (IOException | JSONException e) { | |
- Log.d("FrameRating", "Couldn't query SoC, defaulting to generic SoC"); | |
- socName = "Generic Android AARCH64 CPU"; | |
- } | |
- | |
- return socName; | |
- } | |
- | |
private String getTotalRAM() { | |
String totalRAM = ""; | |
ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); | |
@@ -155,7 +75,14 @@ public class FrameRating extends FrameLayout implements Runnable { | |
renderer = null; | |
gpuName = null; | |
lastFPS = 0; | |
- appInfo.delete(); | |
+ } | |
+ | |
+ public void setRenderer(String renderer) { | |
+ this.renderer = renderer; | |
+ } | |
+ | |
+ public void setGpuName (String gpuName) { | |
+ this.gpuName = gpuName; | |
} | |
public void update() { | |
@@ -174,14 +101,14 @@ public class FrameRating extends FrameLayout implements Runnable { | |
public void run() { | |
if (getVisibility() == GONE) setVisibility(View.VISIBLE); | |
tvFPS.setText(String.format(Locale.ENGLISH, "%.1f", lastFPS)); | |
- if (renderer == null) { | |
- renderer = getRenderer(); | |
+ if (renderer != null) | |
tvRenderer.setText(renderer); | |
- } | |
- if (gpuName == null) { | |
- gpuName = getGPUName(); | |
+ else | |
+ tvRenderer.setText("OpenGL"); | |
+ if (gpuName != null) | |
tvGPU.setText(gpuName); | |
- } | |
+ else | |
+ tvGPU.setText(GPUInformation.getRenderer()); | |
tvRAM.setText(getAvailableRAM() + " GB Used / " + totalRAM + " Total"); | |
} | |
} | |
\ No newline at end of file | |
diff --git a/app/src/main/java/com/winlator/widget/ImagePickerView.java b/app/src/main/java/com/winlator/cmod/widget/ImagePickerView.java | |
similarity index 83% | |
rename from app/src/main/java/com/winlator/widget/ImagePickerView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/ImagePickerView.java | |
index 6d9cbd5..e25c652 100644 | |
--- a/app/src/main/java/com/winlator/widget/ImagePickerView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/ImagePickerView.java | |
@@ -1,40 +1,30 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.content.Intent; | |
import android.graphics.Bitmap; | |
import android.graphics.BitmapFactory; | |
import android.graphics.Canvas; | |
-import android.graphics.Color; | |
import android.graphics.Paint; | |
import android.graphics.Rect; | |
import android.graphics.RectF; | |
-import android.net.Uri; | |
import android.util.AttributeSet; | |
-import android.view.Gravity; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
-import android.view.ViewGroup; | |
-import android.widget.Button; | |
import android.widget.ImageView; | |
-import android.widget.LinearLayout; | |
import android.widget.PopupWindow; | |
import androidx.annotation.Nullable; | |
-import com.winlator.MainActivity; | |
-import com.winlator.R; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.ImageUtils; | |
-import com.winlator.core.UnitUtils; | |
-import com.winlator.core.WineThemeManager; | |
-import com.winlator.xenvironment.ImageFs; | |
+import com.winlator.cmod.MainActivity; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.ImageUtils; | |
+import com.winlator.cmod.core.UnitUtils; | |
+import com.winlator.cmod.core.WineThemeManager; | |
import java.io.File; | |
-import java.io.IOException; | |
-import java.io.InputStream; | |
-import java.util.Locale; | |
public class ImagePickerView extends View implements View.OnClickListener { | |
private final Bitmap icon; | |
diff --git a/app/src/main/java/com/winlator/widget/InputControlsView.java b/app/src/main/java/com/winlator/cmod/widget/InputControlsView.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/widget/InputControlsView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/InputControlsView.java | |
index 049fc21..7b4a88c 100644 | |
--- a/app/src/main/java/com/winlator/widget/InputControlsView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/InputControlsView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.annotation.SuppressLint; | |
import android.content.Context; | |
@@ -28,17 +28,18 @@ import android.widget.FrameLayout; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.inputcontrols.Binding; | |
-import com.winlator.inputcontrols.ControlElement; | |
-import com.winlator.inputcontrols.ControlsProfile; | |
-import com.winlator.inputcontrols.ExternalController; | |
-import com.winlator.inputcontrols.ExternalControllerBinding; | |
-import com.winlator.inputcontrols.GamepadState; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.winhandler.WinHandler; | |
-import com.winlator.xserver.Pointer; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.inputcontrols.Binding; | |
+import com.winlator.cmod.inputcontrols.ControlElement; | |
+import com.winlator.cmod.inputcontrols.ControlsProfile; | |
+import com.winlator.cmod.inputcontrols.ExternalController; | |
+import com.winlator.cmod.inputcontrols.ExternalControllerBinding; | |
+import com.winlator.cmod.inputcontrols.GamepadState; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.winhandler.MouseEventFlags; | |
+import com.winlator.cmod.winhandler.WinHandler; | |
+import com.winlator.cmod.xserver.Pointer; | |
+import com.winlator.cmod.xserver.XServer; | |
import java.io.IOException; | |
import java.io.InputStream; | |
@@ -47,6 +48,7 @@ import java.util.TimerTask; | |
public class InputControlsView extends View { | |
public static final float DEFAULT_OVERLAY_OPACITY = 0.4f; | |
+ private static final byte MOUSE_WHEEL_DELTA = 120; | |
private boolean editMode = false; | |
private final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); | |
private final Path path = new Path(); | |
@@ -407,14 +409,18 @@ public class InputControlsView extends View { | |
// } | |
private void createMouseMoveTimer() { | |
+ WinHandler winHandler = xServer.getWinHandler(); | |
if (mouseMoveTimer == null && profile != null) { | |
final float cursorSpeed = profile.getCursorSpeed(); | |
mouseMoveTimer = new Timer(); | |
mouseMoveTimer.schedule(new TimerTask() { | |
@Override | |
public void run() { | |
- if (mouseMoveOffset.x != 0 || mouseMoveOffset.y != 0) { // Only move if there's an offset | |
- xServer.injectPointerMoveDelta( | |
+ if (mouseMoveOffset.x != 0 || mouseMoveOffset.y != 0) {// Only move if there's an offsete if there's an offset | |
+ if (xServer.isRelativeMouseMovement() || xServer.isForceMouseControl()) | |
+ winHandler.mouseEvent(MouseEventFlags.MOVE, (int) (mouseMoveOffset.x * cursorSpeed * 10), (int) (mouseMoveOffset.y * cursorSpeed * 10), 0); | |
+ else | |
+ xServer.injectPointerMoveDelta( | |
(int) (mouseMoveOffset.x * cursorSpeed * 10), | |
(int) (mouseMoveOffset.y * cursorSpeed * 10) | |
); | |
@@ -695,8 +701,8 @@ public class InputControlsView extends View { | |
} | |
public void handleInputEvent(Binding binding, boolean isActionDown, float offset) { | |
+ WinHandler winHandler = xServer != null ? xServer.getWinHandler() : null; | |
if (binding.isGamepad()) { | |
- WinHandler winHandler = xServer != null ? xServer.getWinHandler() : null; | |
GamepadState state = profile.getGamepadState(); | |
int buttonIdx = binding.ordinal() - Binding.GAMEPAD_BUTTON_A.ordinal(); | |
@@ -744,13 +750,22 @@ public class InputControlsView extends View { | |
Pointer.Button pointerButton = binding.getPointerButton(); | |
if (isActionDown) { | |
if (pointerButton != null) { | |
- xServer.injectPointerButtonPress(pointerButton); | |
+ if (xServer.isRelativeMouseMovement() || xServer.isForceMouseControl()) { | |
+ int wheelDelta = pointerButton == Pointer.Button.BUTTON_SCROLL_UP ? MOUSE_WHEEL_DELTA : (pointerButton == Pointer.Button.BUTTON_SCROLL_DOWN ? -MOUSE_WHEEL_DELTA : 0); | |
+ winHandler.mouseEvent(MouseEventFlags.getFlagFor(pointerButton, true), 0, 0, wheelDelta); | |
+ } else { | |
+ xServer.injectPointerButtonPress(pointerButton); | |
+ } | |
} | |
else xServer.injectKeyPress(binding.keycode); | |
} | |
else { | |
if (pointerButton != null) { | |
- xServer.injectPointerButtonRelease(pointerButton); | |
+ if (xServer.isRelativeMouseMovement() || xServer.isForceMouseControl()) { | |
+ winHandler.mouseEvent(MouseEventFlags.getFlagFor(pointerButton, false), 0, 0, 0); | |
+ } else { | |
+ xServer.injectPointerButtonRelease(pointerButton); | |
+ } | |
} | |
else xServer.injectKeyRelease(binding.keycode); | |
} | |
diff --git a/app/src/main/java/com/winlator/widget/LogView.java b/app/src/main/java/com/winlator/cmod/widget/LogView.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/widget/LogView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/LogView.java | |
index ac93aa8..d2fd510 100644 | |
--- a/app/src/main/java/com/winlator/widget/LogView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/LogView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.graphics.Canvas; | |
@@ -12,17 +12,12 @@ import android.view.View; | |
import androidx.annotation.Nullable; | |
-import com.winlator.R; | |
-import com.winlator.contentdialog.DebugDialog; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.UnitUtils; | |
-import com.winlator.math.Mathf; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.contentdialog.DebugDialog; | |
+import com.winlator.cmod.core.UnitUtils; | |
+import com.winlator.cmod.math.Mathf; | |
-import java.io.BufferedWriter; | |
import java.io.File; | |
-import java.io.FileWriter; | |
-import java.io.IOException; | |
import java.util.ArrayList; | |
import java.util.Date; | |
diff --git a/app/src/main/java/com/winlator/widget/MagnifierView.java b/app/src/main/java/com/winlator/cmod/widget/MagnifierView.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/widget/MagnifierView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/MagnifierView.java | |
index 0868700..9a5499e 100644 | |
--- a/app/src/main/java/com/winlator/widget/MagnifierView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/MagnifierView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
@@ -14,10 +14,10 @@ import android.widget.TextView; | |
import androidx.annotation.Nullable; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.UnitUtils; | |
-import com.winlator.math.Mathf; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.UnitUtils; | |
+import com.winlator.cmod.math.Mathf; | |
public class MagnifierView extends FrameLayout { | |
private final SharedPreferences preferences; | |
diff --git a/app/src/main/java/com/winlator/widget/MultiSelectionComboBox.java b/app/src/main/java/com/winlator/cmod/widget/MultiSelectionComboBox.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/widget/MultiSelectionComboBox.java | |
rename to app/src/main/java/com/winlator/cmod/widget/MultiSelectionComboBox.java | |
index 4d188bc..549e55f 100644 | |
--- a/app/src/main/java/com/winlator/widget/MultiSelectionComboBox.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/MultiSelectionComboBox.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.util.ArraySet; | |
@@ -13,7 +13,7 @@ import androidx.annotation.Nullable; | |
import androidx.appcompat.widget.AppCompatTextView; | |
import androidx.appcompat.widget.ListPopupWindow; | |
-import com.winlator.core.UnitUtils; | |
+import com.winlator.cmod.core.UnitUtils; | |
import java.util.Collections; | |
diff --git a/app/src/main/java/com/winlator/widget/NumberPicker.java b/app/src/main/java/com/winlator/cmod/widget/NumberPicker.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/widget/NumberPicker.java | |
rename to app/src/main/java/com/winlator/cmod/widget/NumberPicker.java | |
index 47e40e8..e02b6bd 100644 | |
--- a/app/src/main/java/com/winlator/widget/NumberPicker.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/NumberPicker.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.content.res.TypedArray; | |
@@ -9,8 +9,8 @@ import android.view.View; | |
import android.widget.EditText; | |
import android.widget.FrameLayout; | |
-import com.winlator.R; | |
-import com.winlator.math.Mathf; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.math.Mathf; | |
public class NumberPicker extends FrameLayout implements View.OnTouchListener { | |
private int value = 0; | |
diff --git a/app/src/main/java/com/winlator/widget/SeekBar.java b/app/src/main/java/com/winlator/cmod/widget/SeekBar.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/widget/SeekBar.java | |
rename to app/src/main/java/com/winlator/cmod/widget/SeekBar.java | |
index d43ac9e..d41d0d2 100644 | |
--- a/app/src/main/java/com/winlator/widget/SeekBar.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/SeekBar.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.content.res.TypedArray; | |
@@ -14,9 +14,9 @@ import android.util.Log; | |
import androidx.appcompat.widget.AppCompatImageView; | |
import androidx.core.content.ContextCompat; | |
-import com.winlator.R; | |
-import com.winlator.core.UnitUtils; | |
-import com.winlator.math.Mathf; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.UnitUtils; | |
+import com.winlator.cmod.math.Mathf; | |
import java.text.DecimalFormat; | |
diff --git a/app/src/main/java/com/winlator/widget/TouchpadView.java b/app/src/main/java/com/winlator/cmod/widget/TouchpadView.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/widget/TouchpadView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/TouchpadView.java | |
index 5509130..7f3c562 100644 | |
--- a/app/src/main/java/com/winlator/widget/TouchpadView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/TouchpadView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.annotation.SuppressLint; | |
import android.content.Context; | |
@@ -17,19 +17,15 @@ import android.widget.FrameLayout; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.math.XForm; | |
-import com.winlator.renderer.ViewTransformation; | |
-import com.winlator.winhandler.MouseEventFlags; | |
-import com.winlator.winhandler.WinHandler; | |
-import com.winlator.xserver.Pointer; | |
-import com.winlator.xserver.XServer; | |
- | |
-import android.content.SharedPreferences; | |
- | |
-import androidx.preference.PreferenceManager; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.math.XForm; | |
+import com.winlator.cmod.renderer.ViewTransformation; | |
+import com.winlator.cmod.winhandler.MouseEventFlags; | |
+import com.winlator.cmod.winhandler.WinHandler; | |
+import com.winlator.cmod.xserver.Pointer; | |
+import com.winlator.cmod.xserver.XServer; | |
public class TouchpadView extends View { | |
private static final byte MAX_FINGERS = 4; | |
diff --git a/app/src/main/java/com/winlator/widget/WinetricksFloatingView.java b/app/src/main/java/com/winlator/cmod/widget/WinetricksFloatingView.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/widget/WinetricksFloatingView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/WinetricksFloatingView.java | |
index 68ad1cb..8ece2fd 100644 | |
--- a/app/src/main/java/com/winlator/widget/WinetricksFloatingView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/WinetricksFloatingView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
@@ -11,13 +11,12 @@ import android.view.ViewGroup; | |
import android.widget.Button; | |
import android.widget.EditText; | |
import android.widget.LinearLayout; | |
-import android.widget.ScrollView; | |
import android.widget.TextView; | |
import androidx.annotation.Nullable; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.R; | |
+import com.winlator.cmod.R; | |
public class WinetricksFloatingView extends LinearLayout { | |
private SharedPreferences preferences; | |
diff --git a/app/src/main/java/com/winlator/widget/XServerView.java b/app/src/main/java/com/winlator/cmod/widget/XServerView.java | |
similarity index 84% | |
rename from app/src/main/java/com/winlator/widget/XServerView.java | |
rename to app/src/main/java/com/winlator/cmod/widget/XServerView.java | |
index cdcda4a..8f5c4fb 100644 | |
--- a/app/src/main/java/com/winlator/widget/XServerView.java | |
+++ b/app/src/main/java/com/winlator/cmod/widget/XServerView.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.widget; | |
+package com.winlator.cmod.widget; | |
import android.annotation.SuppressLint; | |
import android.content.Context; | |
@@ -6,8 +6,8 @@ import android.opengl.GLSurfaceView; | |
import android.view.ViewGroup; | |
import android.widget.FrameLayout; | |
-import com.winlator.renderer.GLRenderer; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.renderer.GLRenderer; | |
+import com.winlator.cmod.xserver.XServer; | |
@SuppressLint("ViewConstructor") | |
public class XServerView extends GLSurfaceView { | |
diff --git a/app/src/main/java/com/winlator/winhandler/MouseEventFlags.java b/app/src/main/java/com/winlator/cmod/winhandler/MouseEventFlags.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/winhandler/MouseEventFlags.java | |
rename to app/src/main/java/com/winlator/cmod/winhandler/MouseEventFlags.java | |
index 6f25a33..eacc956 100644 | |
--- a/app/src/main/java/com/winlator/winhandler/MouseEventFlags.java | |
+++ b/app/src/main/java/com/winlator/cmod/winhandler/MouseEventFlags.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.winhandler; | |
+package com.winlator.cmod.winhandler; | |
-import com.winlator.xserver.Pointer; | |
+import com.winlator.cmod.xserver.Pointer; | |
public abstract class MouseEventFlags { | |
public static final int MOVE = 0x0001; | |
diff --git a/app/src/main/java/com/winlator/winhandler/OnGetProcessInfoListener.java b/app/src/main/java/com/winlator/cmod/winhandler/OnGetProcessInfoListener.java | |
similarity index 73% | |
rename from app/src/main/java/com/winlator/winhandler/OnGetProcessInfoListener.java | |
rename to app/src/main/java/com/winlator/cmod/winhandler/OnGetProcessInfoListener.java | |
index 3357bc6..854df5e 100644 | |
--- a/app/src/main/java/com/winlator/winhandler/OnGetProcessInfoListener.java | |
+++ b/app/src/main/java/com/winlator/cmod/winhandler/OnGetProcessInfoListener.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.winhandler; | |
+package com.winlator.cmod.winhandler; | |
public interface OnGetProcessInfoListener { | |
void onGetProcessInfo(int index, int count, ProcessInfo processInfo); | |
diff --git a/app/src/main/java/com/winlator/winhandler/ProcessInfo.java b/app/src/main/java/com/winlator/cmod/winhandler/ProcessInfo.java | |
similarity index 89% | |
rename from app/src/main/java/com/winlator/winhandler/ProcessInfo.java | |
rename to app/src/main/java/com/winlator/cmod/winhandler/ProcessInfo.java | |
index 764d8fc..5d59a60 100644 | |
--- a/app/src/main/java/com/winlator/winhandler/ProcessInfo.java | |
+++ b/app/src/main/java/com/winlator/cmod/winhandler/ProcessInfo.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.winhandler; | |
+package com.winlator.cmod.winhandler; | |
-import com.winlator.core.StringUtils; | |
+import com.winlator.cmod.core.StringUtils; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/winhandler/RequestCodes.java b/app/src/main/java/com/winlator/cmod/winhandler/RequestCodes.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/winhandler/RequestCodes.java | |
rename to app/src/main/java/com/winlator/cmod/winhandler/RequestCodes.java | |
index a9ba609..0e0d122 100644 | |
--- a/app/src/main/java/com/winlator/winhandler/RequestCodes.java | |
+++ b/app/src/main/java/com/winlator/cmod/winhandler/RequestCodes.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.winhandler; | |
+package com.winlator.cmod.winhandler; | |
abstract class RequestCodes { | |
public static final byte EXIT = 0; | |
diff --git a/app/src/main/java/com/winlator/winhandler/TaskManagerDialog.java b/app/src/main/java/com/winlator/cmod/winhandler/TaskManagerDialog.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/winhandler/TaskManagerDialog.java | |
rename to app/src/main/java/com/winlator/cmod/winhandler/TaskManagerDialog.java | |
index 0031b34..d039742 100644 | |
--- a/app/src/main/java/com/winlator/winhandler/TaskManagerDialog.java | |
+++ b/app/src/main/java/com/winlator/cmod/winhandler/TaskManagerDialog.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.winhandler; | |
+package com.winlator.cmod.winhandler; | |
import android.app.ActivityManager; | |
import android.content.Context; | |
@@ -13,18 +13,18 @@ import android.widget.LinearLayout; | |
import android.widget.PopupMenu; | |
import android.widget.TextView; | |
-import com.winlator.R; | |
-import com.winlator.XServerDisplayActivity; | |
-import com.winlator.contentdialog.ContentDialog; | |
-import com.winlator.core.CPUStatus; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.ProcessHelper; | |
-import com.winlator.core.StringUtils; | |
-import com.winlator.widget.CPUListView; | |
-import com.winlator.xenvironment.ImageFs; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.XLock; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.XServerDisplayActivity; | |
+import com.winlator.cmod.contentdialog.ContentDialog; | |
+import com.winlator.cmod.core.CPUStatus; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.ProcessHelper; | |
+import com.winlator.cmod.core.StringUtils; | |
+import com.winlator.cmod.widget.CPUListView; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.XLock; | |
+import com.winlator.cmod.xserver.XServer; | |
import java.io.File; | |
import java.util.Timer; | |
diff --git a/app/src/main/java/com/winlator/winhandler/WinHandler.java b/app/src/main/java/com/winlator/cmod/winhandler/WinHandler.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/winhandler/WinHandler.java | |
rename to app/src/main/java/com/winlator/cmod/winhandler/WinHandler.java | |
index efb13ef..1dcbc11 100644 | |
--- a/app/src/main/java/com/winlator/winhandler/WinHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/winhandler/WinHandler.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.winhandler; | |
+package com.winlator.cmod.winhandler; | |
-import static com.winlator.inputcontrols.ExternalController.TRIGGER_IS_AXIS; | |
+import static com.winlator.cmod.inputcontrols.ExternalController.TRIGGER_IS_AXIS; | |
import android.content.SharedPreferences; | |
import android.util.Log; | |
@@ -9,13 +9,13 @@ import android.view.MotionEvent; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.XServerDisplayActivity; | |
-import com.winlator.core.StringUtils; | |
-import com.winlator.inputcontrols.ControlsProfile; | |
-import com.winlator.inputcontrols.ExternalController; | |
-import com.winlator.inputcontrols.GamepadState; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.XServerDisplayActivity; | |
+import com.winlator.cmod.core.StringUtils; | |
+import com.winlator.cmod.inputcontrols.ControlsProfile; | |
+import com.winlator.cmod.inputcontrols.ExternalController; | |
+import com.winlator.cmod.inputcontrols.GamepadState; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.xserver.XServer; | |
import java.io.IOException; | |
import java.net.DatagramPacket; | |
diff --git a/app/src/main/java/com/winlator/xconnector/Client.java b/app/src/main/java/com/winlator/cmod/xconnector/Client.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/xconnector/Client.java | |
rename to app/src/main/java/com/winlator/cmod/xconnector/Client.java | |
index 8aaf3d8..65d60d8 100644 | |
--- a/app/src/main/java/com/winlator/xconnector/Client.java | |
+++ b/app/src/main/java/com/winlator/cmod/xconnector/Client.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xconnector; | |
+package com.winlator.cmod.xconnector; | |
import java.io.IOException; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/xconnector/ClientSocket.java b/app/src/main/java/com/winlator/cmod/xconnector/ClientSocket.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/xconnector/ClientSocket.java | |
rename to app/src/main/java/com/winlator/cmod/xconnector/ClientSocket.java | |
index 419b8ec..9aad537 100644 | |
--- a/app/src/main/java/com/winlator/xconnector/ClientSocket.java | |
+++ b/app/src/main/java/com/winlator/cmod/xconnector/ClientSocket.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xconnector; | |
+package com.winlator.cmod.xconnector; | |
import android.util.Log; | |
diff --git a/app/src/main/java/com/winlator/xconnector/ConnectionHandler.java b/app/src/main/java/com/winlator/cmod/xconnector/ConnectionHandler.java | |
similarity index 75% | |
rename from app/src/main/java/com/winlator/xconnector/ConnectionHandler.java | |
rename to app/src/main/java/com/winlator/cmod/xconnector/ConnectionHandler.java | |
index dee7621..e6b5c4e 100644 | |
--- a/app/src/main/java/com/winlator/xconnector/ConnectionHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/xconnector/ConnectionHandler.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xconnector; | |
+package com.winlator.cmod.xconnector; | |
public interface ConnectionHandler { | |
void handleConnectionShutdown(Client client); | |
diff --git a/app/src/main/java/com/winlator/xconnector/RequestHandler.java b/app/src/main/java/com/winlator/cmod/xconnector/RequestHandler.java | |
similarity index 73% | |
rename from app/src/main/java/com/winlator/xconnector/RequestHandler.java | |
rename to app/src/main/java/com/winlator/cmod/xconnector/RequestHandler.java | |
index 6fdd6c7..bf76195 100644 | |
--- a/app/src/main/java/com/winlator/xconnector/RequestHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/xconnector/RequestHandler.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xconnector; | |
+package com.winlator.cmod.xconnector; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xconnector/UnixSocketConfig.java b/app/src/main/java/com/winlator/cmod/xconnector/UnixSocketConfig.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/xconnector/UnixSocketConfig.java | |
rename to app/src/main/java/com/winlator/cmod/xconnector/UnixSocketConfig.java | |
index 4ec888b..6dac7c0 100644 | |
--- a/app/src/main/java/com/winlator/xconnector/UnixSocketConfig.java | |
+++ b/app/src/main/java/com/winlator/cmod/xconnector/UnixSocketConfig.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.xconnector; | |
+package com.winlator.cmod.xconnector; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
import java.io.File; | |
diff --git a/app/src/main/java/com/winlator/xconnector/XConnectorEpoll.java b/app/src/main/java/com/winlator/cmod/xconnector/XConnectorEpoll.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/xconnector/XConnectorEpoll.java | |
rename to app/src/main/java/com/winlator/cmod/xconnector/XConnectorEpoll.java | |
index dbf20e8..0e3b7f6 100644 | |
--- a/app/src/main/java/com/winlator/xconnector/XConnectorEpoll.java | |
+++ b/app/src/main/java/com/winlator/cmod/xconnector/XConnectorEpoll.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xconnector; | |
+package com.winlator.cmod.xconnector; | |
import android.util.SparseArray; | |
@@ -6,7 +6,6 @@ import androidx.annotation.Keep; | |
import java.io.IOException; | |
import java.nio.ByteBuffer; | |
-import java.util.ArrayList; | |
public class XConnectorEpoll implements Runnable { | |
private final ConnectionHandler connectionHandler; | |
diff --git a/app/src/main/java/com/winlator/xconnector/XInputStream.java b/app/src/main/java/com/winlator/cmod/xconnector/XInputStream.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/xconnector/XInputStream.java | |
rename to app/src/main/java/com/winlator/cmod/xconnector/XInputStream.java | |
index 2c13687..594fb51 100644 | |
--- a/app/src/main/java/com/winlator/xconnector/XInputStream.java | |
+++ b/app/src/main/java/com/winlator/cmod/xconnector/XInputStream.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.xconnector; | |
+package com.winlator.cmod.xconnector; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.xserver.XServer; | |
import java.io.IOException; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/xconnector/XOutputStream.java b/app/src/main/java/com/winlator/cmod/xconnector/XOutputStream.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/xconnector/XOutputStream.java | |
rename to app/src/main/java/com/winlator/cmod/xconnector/XOutputStream.java | |
index aa98769..db48fd9 100644 | |
--- a/app/src/main/java/com/winlator/xconnector/XOutputStream.java | |
+++ b/app/src/main/java/com/winlator/cmod/xconnector/XOutputStream.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.xconnector; | |
+package com.winlator.cmod.xconnector; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.xserver.XServer; | |
import java.io.IOException; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/xconnector/XStreamLock.java b/app/src/main/java/com/winlator/cmod/xconnector/XStreamLock.java | |
similarity index 73% | |
rename from app/src/main/java/com/winlator/xconnector/XStreamLock.java | |
rename to app/src/main/java/com/winlator/cmod/xconnector/XStreamLock.java | |
index 90bcc6d..97803b1 100644 | |
--- a/app/src/main/java/com/winlator/xconnector/XStreamLock.java | |
+++ b/app/src/main/java/com/winlator/cmod/xconnector/XStreamLock.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xconnector; | |
+package com.winlator.cmod.xconnector; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/EnvironmentComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/EnvironmentComponent.java | |
similarity index 76% | |
rename from app/src/main/java/com/winlator/xenvironment/EnvironmentComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/EnvironmentComponent.java | |
index 2b51b4a..12acb18 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/EnvironmentComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/EnvironmentComponent.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xenvironment; | |
+package com.winlator.cmod.xenvironment; | |
public abstract class EnvironmentComponent { | |
protected XEnvironment environment; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/ImageFs.java b/app/src/main/java/com/winlator/cmod/xenvironment/ImageFs.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/xenvironment/ImageFs.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/ImageFs.java | |
index 74a10ff..3451fea 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/ImageFs.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/ImageFs.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.xenvironment; | |
+package com.winlator.cmod.xenvironment; | |
import android.content.Context; | |
import androidx.annotation.NonNull; | |
-import com.winlator.core.FileUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
import java.io.File; | |
import java.io.IOException; | |
@@ -18,7 +18,6 @@ public class ImageFs { | |
public static final String WINEPREFIX = HOME_PATH+"/.wine"; | |
private final File rootDir; | |
public String winePath; | |
- public String bionicWinePath; | |
public String home_path; | |
public String cache_path; | |
public String config_path; | |
@@ -74,10 +73,6 @@ public class ImageFs { | |
return winePath; | |
} | |
- public String getBionicWinePath() { | |
- return bionicWinePath; | |
- } | |
- | |
public void setWinePath(String winePath) { | |
this.winePath = FileUtils.toRelativePath(rootDir.getPath(), winePath); | |
} | |
@@ -100,14 +95,16 @@ public class ImageFs { | |
public File getLibDir() { | |
return new File(rootDir, "/usr/lib"); | |
- } | |
- | |
- public File getShareDir() { | |
- return new File(rootDir, "/usr/share"); | |
- } | |
- | |
- public File getEtcDir() { | |
- return new File(rootDir, "/usr/etc"); | |
+ } | |
+ | |
+ public File getBinDir() { return new File(rootDir, "/usr/bin"); } | |
+ | |
+ public File getShareDir() { | |
+ return new File(rootDir, "/usr/share"); | |
+ } | |
+ | |
+ public File getEtcDir() { | |
+ return new File(rootDir, "/usr/etc"); | |
} | |
@NonNull | |
diff --git a/app/src/main/java/com/winlator/xenvironment/ImageFsInstaller.java b/app/src/main/java/com/winlator/cmod/xenvironment/ImageFsInstaller.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/xenvironment/ImageFsInstaller.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/ImageFsInstaller.java | |
index 5637c8a..89a3b29 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/ImageFsInstaller.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/ImageFsInstaller.java | |
@@ -1,20 +1,20 @@ | |
-package com.winlator.xenvironment; | |
+package com.winlator.cmod.xenvironment; | |
import android.content.Context; | |
import androidx.appcompat.app.AppCompatActivity; | |
-import com.winlator.MainActivity; | |
-import com.winlator.R; | |
-import com.winlator.SettingsFragment; | |
-import com.winlator.container.Container; | |
-import com.winlator.container.ContainerManager; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.DownloadProgressDialog; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.PreloaderDialog; | |
-import com.winlator.core.TarCompressorUtils; | |
-import com.winlator.core.WineInfo; | |
+import com.winlator.cmod.MainActivity; | |
+import com.winlator.cmod.R; | |
+import com.winlator.cmod.SettingsFragment; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.ContainerManager; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.DownloadProgressDialog; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.PreloaderDialog; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
+import com.winlator.cmod.core.WineInfo; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/XEnvironment.java b/app/src/main/java/com/winlator/cmod/xenvironment/XEnvironment.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/xenvironment/XEnvironment.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/XEnvironment.java | |
index e84c7bc..d7cf5a1 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/XEnvironment.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/XEnvironment.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.xenvironment; | |
+package com.winlator.cmod.xenvironment; | |
import android.content.Context; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.xenvironment.components.GuestProgramLauncherComponent; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.xenvironment.components.GuestProgramLauncherComponent; | |
import java.io.File; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/ALSAServerComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/ALSAServerComponent.java | |
similarity index 65% | |
rename from app/src/main/java/com/winlator/xenvironment/components/ALSAServerComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/ALSAServerComponent.java | |
index ad2c1a7..6c12a12 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/ALSAServerComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/ALSAServerComponent.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.xenvironment.components; | |
+package com.winlator.cmod.xenvironment.components; | |
-import com.winlator.alsaserver.ALSAClientConnectionHandler; | |
-import com.winlator.alsaserver.ALSARequestHandler; | |
-import com.winlator.xconnector.UnixSocketConfig; | |
-import com.winlator.xconnector.XConnectorEpoll; | |
-import com.winlator.xenvironment.EnvironmentComponent; | |
+import com.winlator.cmod.alsaserver.ALSAClientConnectionHandler; | |
+import com.winlator.cmod.alsaserver.ALSARequestHandler; | |
+import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+import com.winlator.cmod.xconnector.XConnectorEpoll; | |
+import com.winlator.cmod.xenvironment.EnvironmentComponent; | |
public class ALSAServerComponent extends EnvironmentComponent { | |
private XConnectorEpoll connector; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/BionicProgramLauncherComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/BionicProgramLauncherComponent.java | |
similarity index 62% | |
rename from app/src/main/java/com/winlator/xenvironment/components/BionicProgramLauncherComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/BionicProgramLauncherComponent.java | |
index f1c5aba..cb06811 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/BionicProgramLauncherComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/BionicProgramLauncherComponent.java | |
@@ -1,7 +1,8 @@ | |
-package com.winlator.xenvironment.components; | |
+package com.winlator.cmod.xenvironment.components; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
+import android.os.Build; | |
import android.os.Handler; | |
import android.os.Looper; | |
import android.os.Process; | |
@@ -9,37 +10,32 @@ import android.util.Log; | |
import androidx.preference.PreferenceManager; | |
-import com.google.gson.JsonObject; | |
-import com.winlator.box86_64.Box86_64Preset; | |
-import com.winlator.box86_64.Box86_64PresetManager; | |
-import com.winlator.container.Shortcut; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.ProcessHelper; | |
-import com.winlator.core.TarCompressorUtils; | |
-import com.winlator.xconnector.UnixSocketConfig; | |
-import com.winlator.xenvironment.ImageFs; | |
+import com.winlator.cmod.box86_64.Box86_64Preset; | |
+import com.winlator.cmod.box86_64.Box86_64PresetManager; | |
+import com.winlator.cmod.container.Container; | |
+import com.winlator.cmod.container.Shortcut; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.ProcessHelper; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
+import com.winlator.cmod.core.WineInfo; | |
+import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
import java.io.BufferedReader; | |
import java.io.File; | |
-import java.io.IOException; | |
import java.io.InputStreamReader; | |
-import java.net.Socket; | |
- | |
-import org.json.JSONException; | |
-import org.json.JSONObject; | |
-import org.newsclub.net.unix.AFUNIXSocket; | |
-import org.newsclub.net.unix.AFUNIXSocketAddress; | |
public class BionicProgramLauncherComponent extends GuestProgramLauncherComponent { | |
private String guestExecutable; | |
private static int pid = -1; | |
private String[] bindingPaths; | |
private EnvVars envVars; | |
+ private WineInfo wineInfo; | |
private String box86Preset = Box86_64Preset.COMPATIBILITY; | |
private String box64Preset = Box86_64Preset.COMPATIBILITY; | |
private Callback<Integer> terminationCallback; | |
@@ -51,6 +47,58 @@ public class BionicProgramLauncherComponent extends GuestProgramLauncherComponen | |
private final Shortcut shortcut; | |
private String box64Version; | |
+ public void setWineInfo(WineInfo wineInfo) { | |
+ this.wineInfo = wineInfo; | |
+ } | |
+ | |
+ public WineInfo getWineInfo() { | |
+ return this.wineInfo; | |
+ } | |
+ | |
+ private void extractBox86_64Files() { | |
+ ImageFs imageFs = environment.getImageFs(); | |
+ Context context = environment.getContext(); | |
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); | |
+ | |
+ // Fallback to default if the shared preference is not set or is empty | |
+ box64Version = preferences.getString("box64_version", DefaultVersion.BOX64); | |
+ if (box64Version == null || box64Version.isEmpty()) { | |
+ box64Version = DefaultVersion.BOX64; // Assign the default version directly | |
+ Log.w("GlibcProgramLauncherComponent", "box64Version was null or empty, using default: " + box64Version); | |
+ } | |
+ | |
+ // If a shortcut is provided, it overrides the SharedPreferences value | |
+ if (shortcut != null && shortcut.getExtra("box64Version") != null) { | |
+ String shortcutVersion = shortcut.getExtra("box64Version"); | |
+ if (shortcutVersion != null && !shortcutVersion.isEmpty()) { | |
+ box64Version = shortcutVersion; | |
+ } else { | |
+ Log.w("GlibcProgramLauncherComponent", "Shortcut box64Version was empty, keeping SharedPreferences/default value: " + box64Version); | |
+ } | |
+ } | |
+ | |
+ Log.d("GlibcProgramLauncherComponent", "box64Version in use: " + box64Version); | |
+ | |
+ String currentBox64Version = preferences.getString("current_box64_version", ""); | |
+ File rootDir = imageFs.getRootDir(); | |
+ | |
+ if (!box64Version.equals(currentBox64Version)) { | |
+ ContentProfile profile = contentsManager.getProfileByEntryName("box64-" + box64Version); | |
+ if (profile != null) | |
+ contentsManager.applyContent(profile); | |
+ else | |
+ TarCompressorUtils.extract(TarCompressorUtils.Type.ZSTD, context, "box86_64/box64-" + box64Version + ".tzst", rootDir); | |
+ preferences.edit().putString("current_box64_version", box64Version).apply(); | |
+ } | |
+ | |
+ // Set execute permissions for box64 just in case | |
+ File box64File = new File(rootDir, "/usr/bin/box64"); | |
+ if (box64File.exists()) { | |
+ FileUtils.chmod(box64File, 0755); | |
+ } | |
+ } | |
+ | |
+ | |
private void extractEmulatorsDlls() { | |
File rootDir = environment.getImageFs().getRootDir(); | |
File system32dir = new File(rootDir, "home/xuser/.wine/drive_c/windows/system32"); | |
@@ -66,7 +114,10 @@ public class BionicProgramLauncherComponent extends GuestProgramLauncherComponen | |
@Override | |
public void start() { | |
synchronized (lock) { | |
- extractEmulatorsDlls(); | |
+ if (wineInfo.isArm64EC()) | |
+ extractEmulatorsDlls(); | |
+ else | |
+ extractBox86_64Files(); | |
checkDependencies(); | |
pid = execGuestProgram(); | |
} | |
@@ -178,8 +229,6 @@ public class BionicProgramLauncherComponent extends GuestProgramLauncherComponen | |
EnvVars envVars = new EnvVars(); | |
- checkXServerConnectionUnixSocket(); | |
- | |
// Add the Box86 and Box64 environment variables depending on the mode | |
if (!wow64Mode) { | |
addBox86EnvVars(envVars, enableBox86_64Logs); | |
@@ -190,15 +239,32 @@ public class BionicProgramLauncherComponent extends GuestProgramLauncherComponen | |
envVars.put("HOME", imageFs.home_path); | |
envVars.put("USER", ImageFs.USER); | |
envVars.put("TMPDIR", rootDir.getPath() + "/usr/tmp"); | |
+ envVars.put("XDG_DATA_DIRS", rootDir.getPath() + "/usr/share"); | |
+ envVars.put("LD_LIBRARY_PATH", rootDir.getPath() + "/usr/lib" + ":" + "/system/lib64"); | |
+ envVars.put("XDG_CONFIG_DIRS", rootDir.getPath() + "/usr/etc/xdg"); | |
+ envVars.put("GST_PLUGIN_PATH", rootDir.getPath() + "/usr/lib/gstreamer-1.0"); | |
+ envVars.put("FONTCONFIG_PATH", rootDir.getPath() + "/usr/etc/fonts"); | |
+ envVars.put("VK_LAYER_PATH", rootDir.getPath() + "/usr/share/vulkan/implicit_layer.d"); | |
+ envVars.put("WINE_NO_DUPLICATE_EXPLORER", "1"); | |
+ envVars.put("PREFIX", rootDir.getPath() + "/usr"); | |
envVars.put("DISPLAY", ":0"); | |
envVars.put("WINE_DISABLE_FULLSCREEN_HACK", "1"); | |
envVars.put("ENABLE_UTIL_LAYER", "1"); | |
+ envVars.put("GST_PLUGIN_FEATURE_RANK", "ximagesink:3000"); | |
+ envVars.put("WINE_DO_NOT_UPDATE_IF_TABLE", "1"); | |
+ envVars.put("ALSA_CONFIG_PATH", rootDir.getPath() + "/usr/share/alsa/alsa.conf" + ":" + rootDir.getPath() + "/usr/etc/alsa/conf.d/android_aserver.conf"); | |
+ envVars.put("ALSA_PLUGIN_DIR", rootDir.getPath() + "/usr/lib/alsa-lib"); | |
+ envVars.put("OPENSSL_CONF", rootDir.getPath() + "/usr/etc/tls/openssl.cnf"); | |
+ envVars.put("SSL_CERT_FILE", rootDir.getPath() + "/usr/etc/tls/cert.pem"); | |
+ envVars.put("SSL_CERT_DIR", rootDir.getPath() + "/usr/etc/tls/certs"); | |
+ envVars.put("WINE_X11FORCEGLX", "1"); | |
+ | |
+ | |
String winePath = wineProfile == null ? imageFs.getWinePath() + "/bin" | |
: ContentsManager.getSourceFile(context, wineProfile, wineProfile.wineBinPath).getAbsolutePath(); | |
envVars.put("PATH", winePath + ":" + | |
- rootDir.getPath() + "/usr/bin:" + | |
- rootDir.getPath() + "/usr/local/bin"); | |
+ rootDir.getPath() + "/usr/bin:"); | |
// **Maybe remove this | |
envVars.put("BOX64_LD_LIBRARY_PATH", rootDir.getPath() + "/usr/lib/x86_64-linux-gnu"); | |
@@ -214,7 +280,15 @@ public class BionicProgramLauncherComponent extends GuestProgramLauncherComponen | |
else | |
ld_preload = ld_preload + ":" + imageFs.getLibDir().getPath() + "/libandroid-sysvshm.so"; | |
} | |
- | |
+ | |
+ String manufacturer = Build.MANUFACTURER; | |
+ | |
+ Log.d("BionicProgramLauncherComponent", "Applying per manufacturer fixes for manufacturer " + manufacturer.toLowerCase()); | |
+ | |
+ /* Temp workaround for Samsung devices */ | |
+ if (manufacturer.toLowerCase().contains("samsung")) | |
+ ld_preload = ld_preload + ":" + "/system/lib64/libEGL.so"; | |
+ | |
this.envVars.put("LD_PRELOAD", ld_preload); | |
// Merge any additional environment variables from external sources | |
@@ -222,11 +296,14 @@ public class BionicProgramLauncherComponent extends GuestProgramLauncherComponen | |
envVars.putAll(this.envVars); | |
} | |
- // Construct the command without Box64 to the Wine executable | |
- String command = imageFs.getWinePath() + "/bin/" + guestExecutable; | |
+ String command = ""; | |
+ if (wineInfo.isArm64EC()) | |
+ command = winePath + "/" + guestExecutable; | |
+ else | |
+ command = imageFs.getBinDir() + "/box64 " + guestExecutable; | |
// **Maybe remove this: Set execute permissions for box64 if necessary (Glibc/Proot artifact) | |
- File box64File = new File(rootDir, "/usr/local/bin/box64"); | |
+ File box64File = new File(rootDir, "/usr/bin/box64"); | |
if (box64File.exists()) { | |
FileUtils.chmod(box64File, 0755); | |
} | |
@@ -235,13 +312,9 @@ public class BionicProgramLauncherComponent extends GuestProgramLauncherComponen | |
synchronized (lock) { | |
pid = -1; | |
} | |
- // Only call terminationCallback if Winetricks is NOT running | |
if (!environment.isWinetricksRunning()) { | |
- if (terminationCallback != null) { | |
+ if (terminationCallback != null) | |
terminationCallback.call(status); | |
- } | |
- } else { | |
- Log.d("execGuestProgram", "Skipping termination callback because Winetricks is running."); | |
} | |
}); | |
} | |
@@ -315,56 +388,10 @@ public class BionicProgramLauncherComponent extends GuestProgramLauncherComponen | |
return output.toString(); | |
} | |
- | |
- public void startWineServer() { | |
- if (pid != -1) { | |
- Log.d("BionicProgramLauncherComponent", "wineserver is already running."); | |
- return; // Exit if wineserver is already running | |
- } | |
- | |
- // Define the command for wineserver | |
- String command = environment.getImageFs().getWinePath() + "/bin/wineserver"; | |
- | |
- // Set up environment variables | |
- EnvVars envVars = new EnvVars(); | |
- envVars.put("HOME", environment.getImageFs().home_path); | |
- envVars.put("DISPLAY", ":0"); | |
- envVars.put("WINEPREFIX", environment.getImageFs().home_path + "/.wine"); | |
- | |
- // Run wineserver as a persistent process | |
- pid = ProcessHelper.exec(command, envVars.toStringArray(), environment.getImageFs().getRootDir(), null); | |
- Log.d("BionicProgramLauncherComponent", "Started wineserver with PID: " + pid); | |
- } | |
- | |
- public void stopWineServer() { | |
- if (pid == -1) { | |
- Log.d("BionicProgramLauncherComponent", "wineserver is not running."); | |
- return; // Exit if wineserver is not running | |
- } | |
- | |
- // Kill wineserver process | |
- Process.killProcess(pid); | |
- pid = -1; // Reset pid to indicate wineserver has been stopped | |
- Log.d("BionicProgramLauncherComponent", "Stopped wineserver."); | |
- } | |
- | |
public void restartWineServer() { | |
- stopWineServer(); // Stop wineserver if running | |
- startWineServer(); // Start wineserver again | |
- Log.d("BionicProgramLauncherComponent", "wineserver restarted."); | |
- } | |
- | |
- | |
- | |
- private void checkXServerConnectionUnixSocket() { | |
- File xSocket = new File("/data/data/com.winlator/files/imagefs/tmp/.X11-unix/X0"); | |
- if (xSocket.exists()) { | |
- Log.d("XServerCheck", "X server socket exists."); | |
- } else { | |
- Log.e("XServerCheck", "X server socket not found."); | |
- } | |
+ ProcessHelper.terminateAllWineProcesses(); | |
+ pid = execGuestProgram(); | |
+ Log.d("BionicProgramLauncherComponent", "Wine restarted successfully"); | |
} | |
- | |
- | |
} | |
\ No newline at end of file | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/GlibcProgramLauncherComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/GlibcProgramLauncherComponent.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/xenvironment/components/GlibcProgramLauncherComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/GlibcProgramLauncherComponent.java | |
index fdfab81..4583625 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/GlibcProgramLauncherComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/GlibcProgramLauncherComponent.java | |
@@ -1,35 +1,29 @@ | |
-package com.winlator.xenvironment.components; | |
+package com.winlator.cmod.xenvironment.components; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
-import android.os.Handler; | |
-import android.os.Looper; | |
import android.os.Process; | |
import android.util.Log; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.box86_64.Box86_64Preset; | |
-import com.winlator.box86_64.Box86_64PresetManager; | |
-import com.winlator.container.Shortcut; | |
-import com.winlator.contents.ContentProfile; | |
-import com.winlator.contents.ContentsManager; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.ProcessHelper; | |
-import com.winlator.core.TarCompressorUtils; | |
-import com.winlator.xconnector.UnixSocketConfig; | |
-import com.winlator.xenvironment.ImageFs; | |
+import com.winlator.cmod.box86_64.Box86_64Preset; | |
+import com.winlator.cmod.box86_64.Box86_64PresetManager; | |
+import com.winlator.cmod.container.Shortcut; | |
+import com.winlator.cmod.contents.ContentProfile; | |
+import com.winlator.cmod.contents.ContentsManager; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.ProcessHelper; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
+import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
import java.io.BufferedReader; | |
import java.io.File; | |
import java.io.InputStreamReader; | |
-import java.net.Socket; | |
- | |
-import org.newsclub.net.unix.AFUNIXSocket; | |
-import org.newsclub.net.unix.AFUNIXSocketAddress; | |
public class GlibcProgramLauncherComponent extends GuestProgramLauncherComponent { | |
private String guestExecutable; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/GuestProgramLauncherComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/GuestProgramLauncherComponent.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/xenvironment/components/GuestProgramLauncherComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/GuestProgramLauncherComponent.java | |
index 1d06e43..c14989e 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/GuestProgramLauncherComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/GuestProgramLauncherComponent.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xenvironment.components; | |
+package com.winlator.cmod.xenvironment.components; | |
import android.content.Context; | |
import android.content.SharedPreferences; | |
@@ -6,16 +6,16 @@ import android.os.Process; | |
import androidx.preference.PreferenceManager; | |
-import com.winlator.box86_64.Box86_64Preset; | |
-import com.winlator.box86_64.Box86_64PresetManager; | |
-import com.winlator.core.Callback; | |
-import com.winlator.core.DefaultVersion; | |
-import com.winlator.core.EnvVars; | |
-import com.winlator.core.ProcessHelper; | |
-import com.winlator.core.TarCompressorUtils; | |
-import com.winlator.xconnector.UnixSocketConfig; | |
-import com.winlator.xenvironment.EnvironmentComponent; | |
-import com.winlator.xenvironment.ImageFs; | |
+import com.winlator.cmod.box86_64.Box86_64Preset; | |
+import com.winlator.cmod.box86_64.Box86_64PresetManager; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.core.DefaultVersion; | |
+import com.winlator.cmod.core.EnvVars; | |
+import com.winlator.cmod.core.ProcessHelper; | |
+import com.winlator.cmod.core.TarCompressorUtils; | |
+import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+import com.winlator.cmod.xenvironment.EnvironmentComponent; | |
+import com.winlator.cmod.xenvironment.ImageFs; | |
import java.io.File; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/NetworkInfoUpdateComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/NetworkInfoUpdateComponent.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/xenvironment/components/NetworkInfoUpdateComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/NetworkInfoUpdateComponent.java | |
index 1b7bb18..6009c1b 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/NetworkInfoUpdateComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/NetworkInfoUpdateComponent.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xenvironment.components; | |
+package com.winlator.cmod.xenvironment.components; | |
import android.content.BroadcastReceiver; | |
import android.content.Context; | |
@@ -7,9 +7,9 @@ import android.content.IntentFilter; | |
import android.net.ConnectivityManager; | |
import android.net.NetworkInfo; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.NetworkHelper; | |
-import com.winlator.xenvironment.EnvironmentComponent; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.NetworkHelper; | |
+import com.winlator.cmod.xenvironment.EnvironmentComponent; | |
import java.io.File; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/PulseAudioComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/PulseAudioComponent.java | |
similarity index 89% | |
rename from app/src/main/java/com/winlator/xenvironment/components/PulseAudioComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/PulseAudioComponent.java | |
index c192df8..87adb09 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/PulseAudioComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/PulseAudioComponent.java | |
@@ -1,23 +1,22 @@ | |
-package com.winlator.xenvironment.components; | |
+package com.winlator.cmod.xenvironment.components; | |
import android.content.Context; | |
import android.os.Process; | |
-import android.util.Log; | |
-import com.winlator.core.AppUtils; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.core.ProcessHelper; | |
-import com.winlator.xconnector.UnixSocketConfig; | |
-import com.winlator.xenvironment.EnvironmentComponent; | |
+import com.winlator.cmod.core.AppUtils; | |
+import com.winlator.cmod.core.FileUtils; | |
+import com.winlator.cmod.core.ProcessHelper; | |
+import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+import com.winlator.cmod.xenvironment.EnvironmentComponent; | |
import java.io.File; | |
-import java.io.IOException; | |
-import java.io.InputStream; | |
-import java.net.URL; | |
-import java.nio.file.Files; | |
-import java.nio.file.Path; | |
-import java.nio.file.Paths; | |
-import java.nio.file.StandardCopyOption; | |
+import java.io.IOException; | |
+import java.io.InputStream; | |
+import java.net.URL; | |
+import java.nio.file.Files; | |
+import java.nio.file.Path; | |
+import java.nio.file.Paths; | |
+import java.nio.file.StandardCopyOption; | |
import java.util.ArrayList; | |
public class PulseAudioComponent extends EnvironmentComponent { | |
@@ -45,28 +44,28 @@ public class PulseAudioComponent extends EnvironmentComponent { | |
pid = -1; | |
} | |
} | |
- } | |
- | |
- private void copyFromLibraryDir(File dst) { | |
- String[] libs = new String[] { | |
- "libltdl.so", "libpulseaudio.so", "libpulse.so", "libpulsecommon-13.0.so", "libpulsecore-13.0.so", "libsndfile.so" | |
- }; | |
- for (int i = 0; i < libs.length; i++) { | |
- String path = "lib/" + "arm64-v8a" + "/" + libs[i]; | |
- ClassLoader loader = PulseAudioComponent.class.getClassLoader(); | |
- URL res = loader != null ? loader.getResource(path) : null; | |
- Path dstDir = Paths.get(dst.getAbsolutePath() + "/" + libs[i]); | |
- try { | |
- InputStream is = res != null ? res.openStream() : null; | |
- if (is != null) { | |
- Files.copy(is, dstDir, StandardCopyOption.REPLACE_EXISTING); | |
- FileUtils.chmod(dstDir.toFile(), 0771); | |
- } | |
- } | |
- catch (IOException e) { | |
- throw new RuntimeException(e); | |
- } | |
- } | |
+ } | |
+ | |
+ private void copyFromLibraryDir(File dst) { | |
+ String[] libs = new String[] { | |
+ "libltdl.so", "libpulseaudio.so", "libpulse.so", "libpulsecommon-13.0.so", "libpulsecore-13.0.so", "libsndfile.so" | |
+ }; | |
+ for (int i = 0; i < libs.length; i++) { | |
+ String path = "lib/" + "arm64-v8a" + "/" + libs[i]; | |
+ ClassLoader loader = PulseAudioComponent.class.getClassLoader(); | |
+ URL res = loader != null ? loader.getResource(path) : null; | |
+ Path dstDir = Paths.get(dst.getAbsolutePath() + "/" + libs[i]); | |
+ try { | |
+ InputStream is = res != null ? res.openStream() : null; | |
+ if (is != null) { | |
+ Files.copy(is, dstDir, StandardCopyOption.REPLACE_EXISTING); | |
+ FileUtils.chmod(dstDir.toFile(), 0771); | |
+ } | |
+ } | |
+ catch (IOException e) { | |
+ throw new RuntimeException(e); | |
+ } | |
+ } | |
} | |
private int execPulseAudio() { | |
@@ -91,8 +90,8 @@ public class PulseAudioComponent extends EnvironmentComponent { | |
ArrayList<String> envVars = new ArrayList<>(); | |
envVars.add("LD_LIBRARY_PATH="+systemLibPath+":"+modulesDir+":"+workingDir.getAbsolutePath()); | |
envVars.add("HOME="+workingDir); | |
- envVars.add("TMPDIR="+environment.getTmpDir()); | |
- | |
+ envVars.add("TMPDIR="+environment.getTmpDir()); | |
+ | |
copyFromLibraryDir(workingDir); | |
String command = workingDir.getAbsolutePath() + "/libpulseaudio.so"; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/SysVSharedMemoryComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/SysVSharedMemoryComponent.java | |
similarity index 65% | |
rename from app/src/main/java/com/winlator/xenvironment/components/SysVSharedMemoryComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/SysVSharedMemoryComponent.java | |
index bc33f74..8a5b155 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/SysVSharedMemoryComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/SysVSharedMemoryComponent.java | |
@@ -1,13 +1,13 @@ | |
-package com.winlator.xenvironment.components; | |
+package com.winlator.cmod.xenvironment.components; | |
-import com.winlator.sysvshm.SysVSHMConnectionHandler; | |
-import com.winlator.sysvshm.SysVSHMRequestHandler; | |
-import com.winlator.sysvshm.SysVSharedMemory; | |
-import com.winlator.xconnector.UnixSocketConfig; | |
-import com.winlator.xconnector.XConnectorEpoll; | |
-import com.winlator.xenvironment.EnvironmentComponent; | |
-import com.winlator.xserver.SHMSegmentManager; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.sysvshm.SysVSHMConnectionHandler; | |
+import com.winlator.cmod.sysvshm.SysVSHMRequestHandler; | |
+import com.winlator.cmod.sysvshm.SysVSharedMemory; | |
+import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+import com.winlator.cmod.xconnector.XConnectorEpoll; | |
+import com.winlator.cmod.xenvironment.EnvironmentComponent; | |
+import com.winlator.cmod.xserver.SHMSegmentManager; | |
+import com.winlator.cmod.xserver.XServer; | |
public class SysVSharedMemoryComponent extends EnvironmentComponent { | |
private XConnectorEpoll connector; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/VirGLRendererComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/VirGLRendererComponent.java | |
similarity index 84% | |
rename from app/src/main/java/com/winlator/xenvironment/components/VirGLRendererComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/VirGLRendererComponent.java | |
index 58ce540..947dd2e 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/VirGLRendererComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/VirGLRendererComponent.java | |
@@ -1,19 +1,19 @@ | |
-package com.winlator.xenvironment.components; | |
+package com.winlator.cmod.xenvironment.components; | |
import android.util.Log; | |
import androidx.annotation.Keep; | |
-import com.winlator.renderer.GLRenderer; | |
-import com.winlator.renderer.Texture; | |
-import com.winlator.xconnector.Client; | |
-import com.winlator.xconnector.ConnectionHandler; | |
-import com.winlator.xconnector.RequestHandler; | |
-import com.winlator.xconnector.UnixSocketConfig; | |
-import com.winlator.xconnector.XConnectorEpoll; | |
-import com.winlator.xenvironment.EnvironmentComponent; | |
-import com.winlator.xserver.Drawable; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.renderer.GLRenderer; | |
+import com.winlator.cmod.renderer.Texture; | |
+import com.winlator.cmod.xconnector.Client; | |
+import com.winlator.cmod.xconnector.ConnectionHandler; | |
+import com.winlator.cmod.xconnector.RequestHandler; | |
+import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+import com.winlator.cmod.xconnector.XConnectorEpoll; | |
+import com.winlator.cmod.xenvironment.EnvironmentComponent; | |
+import com.winlator.cmod.xserver.Drawable; | |
+import com.winlator.cmod.xserver.XServer; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/VortekRendererComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/VortekRendererComponent.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/xenvironment/components/VortekRendererComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/VortekRendererComponent.java | |
index dd2471f..6b603e2 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/VortekRendererComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/VortekRendererComponent.java | |
@@ -1,24 +1,24 @@ | |
-//package com.winlator.xenvironment.components; | |
+//package com.winlator.cmod.xenvironment.components; | |
// | |
//import android.util.SparseArray; | |
// | |
//import androidx.annotation.Keep; | |
// | |
-//import com.winlator.xconnector.Client; | |
-//import com.winlator.xconnector.ConnectionHandler; | |
-//import com.winlator.xconnector.RequestHandler; | |
-//import com.winlator.xconnector.XConnectorEpoll; | |
-//import com.winlator.xconnector.UnixSocketConfig; | |
-//import com.winlator.xenvironment.EnvironmentComponent; | |
-//import com.winlator.xenvironment.XEnvironment; | |
-//import com.winlator.XServerDisplayActivity; | |
-//import com.winlator.renderer.GPUImage; | |
-//import com.winlator.renderer.GLRenderer; | |
-//import com.winlator.renderer.Texture; | |
-//import com.winlator.widget.XServerView; | |
-//import com.winlator.xserver.Drawable; | |
-//import com.winlator.xserver.Window; | |
-//import com.winlator.xserver.XServer; | |
+//import com.winlator.cmod.xconnector.Client; | |
+//import com.winlator.cmod.xconnector.ConnectionHandler; | |
+//import com.winlator.cmod.xconnector.RequestHandler; | |
+//import com.winlator.cmod.xconnector.XConnectorEpoll; | |
+//import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+//import com.winlator.cmod.xenvironment.EnvironmentComponent; | |
+//import com.winlator.cmod.xenvironment.XEnvironment; | |
+//import com.winlator.cmod.XServerDisplayActivity; | |
+//import com.winlator.cmod.renderer.GPUImage; | |
+//import com.winlator.cmod.renderer.GLRenderer; | |
+//import com.winlator.cmod.renderer.Texture; | |
+//import com.winlator.cmod.widget.XServerView; | |
+//import com.winlator.cmod.xserver.Drawable; | |
+//import com.winlator.cmod.xserver.Window; | |
+//import com.winlator.cmod.xserver.XServer; | |
// | |
//import java.io.IOException; | |
//import java.util.ArrayDeque; | |
diff --git a/app/src/main/java/com/winlator/xenvironment/components/XServerComponent.java b/app/src/main/java/com/winlator/cmod/xenvironment/components/XServerComponent.java | |
similarity index 68% | |
rename from app/src/main/java/com/winlator/xenvironment/components/XServerComponent.java | |
rename to app/src/main/java/com/winlator/cmod/xenvironment/components/XServerComponent.java | |
index 09c9ce0..5f66128 100644 | |
--- a/app/src/main/java/com/winlator/xenvironment/components/XServerComponent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xenvironment/components/XServerComponent.java | |
@@ -1,11 +1,11 @@ | |
-package com.winlator.xenvironment.components; | |
+package com.winlator.cmod.xenvironment.components; | |
-import com.winlator.xenvironment.EnvironmentComponent; | |
-import com.winlator.xconnector.XConnectorEpoll; | |
-import com.winlator.xconnector.UnixSocketConfig; | |
-import com.winlator.xserver.XClientConnectionHandler; | |
-import com.winlator.xserver.XClientRequestHandler; | |
-import com.winlator.xserver.XServer; | |
+import com.winlator.cmod.xenvironment.EnvironmentComponent; | |
+import com.winlator.cmod.xconnector.XConnectorEpoll; | |
+import com.winlator.cmod.xconnector.UnixSocketConfig; | |
+import com.winlator.cmod.xserver.XClientConnectionHandler; | |
+import com.winlator.cmod.xserver.XClientRequestHandler; | |
+import com.winlator.cmod.xserver.XServer; | |
public class XServerComponent extends EnvironmentComponent { | |
private XConnectorEpoll connector; | |
diff --git a/app/src/main/java/com/winlator/xserver/Atom.java b/app/src/main/java/com/winlator/cmod/xserver/Atom.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/xserver/Atom.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Atom.java | |
index 3fce7d1..3399861 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Atom.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Atom.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import java.util.ArrayList; | |
import java.util.Arrays; | |
diff --git a/app/src/main/java/com/winlator/xserver/Bitmask.java b/app/src/main/java/com/winlator/cmod/xserver/Bitmask.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/Bitmask.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Bitmask.java | |
index 687d64b..727a004 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Bitmask.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Bitmask.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import androidx.annotation.NonNull; | |
diff --git a/app/src/main/java/com/winlator/xserver/ClientOpcodes.java b/app/src/main/java/com/winlator/cmod/xserver/ClientOpcodes.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/xserver/ClientOpcodes.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/ClientOpcodes.java | |
index 35cb990..f03da59 100644 | |
--- a/app/src/main/java/com/winlator/xserver/ClientOpcodes.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/ClientOpcodes.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public abstract class ClientOpcodes { | |
public static final byte CREATE_WINDOW = 1; | |
diff --git a/app/src/main/java/com/winlator/xserver/Cursor.java b/app/src/main/java/com/winlator/cmod/xserver/Cursor.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/Cursor.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Cursor.java | |
index 72cfb82..50a3d2d 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Cursor.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Cursor.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public class Cursor extends XResource { | |
public final int hotSpotX; | |
diff --git a/app/src/main/java/com/winlator/xserver/CursorManager.java b/app/src/main/java/com/winlator/cmod/xserver/CursorManager.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/xserver/CursorManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/CursorManager.java | |
index 753e971..c2030f1 100644 | |
--- a/app/src/main/java/com/winlator/xserver/CursorManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/CursorManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.util.SparseArray; | |
diff --git a/app/src/main/java/com/winlator/xserver/DesktopHelper.java b/app/src/main/java/com/winlator/cmod/xserver/DesktopHelper.java | |
similarity index 96% | |
rename from app/src/main/java/com/winlator/xserver/DesktopHelper.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/DesktopHelper.java | |
index 84b9ad0..ee8161b 100644 | |
--- a/app/src/main/java/com/winlator/xserver/DesktopHelper.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/DesktopHelper.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import androidx.collection.ArrayMap; | |
diff --git a/app/src/main/java/com/winlator/xserver/Drawable.java b/app/src/main/java/com/winlator/cmod/xserver/Drawable.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/xserver/Drawable.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Drawable.java | |
index a1a9b37..78225df 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Drawable.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Drawable.java | |
@@ -1,11 +1,11 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.graphics.Bitmap; | |
-import com.winlator.core.Callback; | |
-import com.winlator.math.Mathf; | |
-import com.winlator.renderer.GPUImage; | |
-import com.winlator.renderer.Texture; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.math.Mathf; | |
+import com.winlator.cmod.renderer.GPUImage; | |
+import com.winlator.cmod.renderer.Texture; | |
import java.nio.ByteBuffer; | |
import java.nio.ByteOrder; | |
@@ -198,13 +198,13 @@ public class Drawable extends XResource { | |
private static native void fromBitmap(Bitmap bitmap, ByteBuffer data); | |
} | |
-//package com.winlator.xserver; | |
+//package com.winlator.cmod.xserver; | |
// | |
//import android.graphics.Bitmap; | |
-//import com.winlator.core.Callback; | |
-//import com.winlator.math.Mathf; | |
-//import com.winlator.renderer.GPUImage; | |
-//import com.winlator.renderer.Texture; | |
+//import com.winlator.cmod.core.Callback; | |
+//import com.winlator.cmod.math.Mathf; | |
+//import com.winlator.cmod.renderer.GPUImage; | |
+//import com.winlator.cmod.renderer.Texture; | |
// | |
//import java.nio.ByteBuffer; | |
//import java.nio.ByteOrder; | |
diff --git a/app/src/main/java/com/winlator/xserver/DrawableManager.java b/app/src/main/java/com/winlator/cmod/xserver/DrawableManager.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/DrawableManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/DrawableManager.java | |
index 520c778..aeddf2c 100644 | |
--- a/app/src/main/java/com/winlator/xserver/DrawableManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/DrawableManager.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.util.SparseArray; | |
-import com.winlator.core.Callback; | |
-import com.winlator.renderer.Texture; | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.renderer.Texture; | |
public class DrawableManager extends XResourceManager implements XResourceManager.OnResourceLifecycleListener { | |
private final XServer xServer; | |
@@ -82,14 +82,14 @@ public class DrawableManager extends XResourceManager implements XResourceManage | |
} | |
} | |
-//package com.winlator.xserver; | |
+//package com.winlator.cmod.xserver; | |
// | |
//import android.util.SparseArray; | |
// | |
-//import com.winlator.core.Callback; | |
-//import com.winlator.renderer.GLRenderer; | |
-//import com.winlator.renderer.Texture; | |
-//import com.winlator.widget.XServerView; | |
+//import com.winlator.cmod.core.Callback; | |
+//import com.winlator.cmod.renderer.GLRenderer; | |
+//import com.winlator.cmod.renderer.Texture; | |
+//import com.winlator.cmod.widget.XServerView; | |
// | |
//import java.util.Objects; | |
// | |
diff --git a/app/src/main/java/com/winlator/xserver/EventListener.java b/app/src/main/java/com/winlator/cmod/xserver/EventListener.java | |
similarity index 85% | |
rename from app/src/main/java/com/winlator/xserver/EventListener.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/EventListener.java | |
index f012441..4177508 100644 | |
--- a/app/src/main/java/com/winlator/xserver/EventListener.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/EventListener.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
-import com.winlator.xserver.events.Event; | |
+import com.winlator.cmod.xserver.events.Event; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/GrabManager.java b/app/src/main/java/com/winlator/cmod/xserver/GrabManager.java | |
similarity index 91% | |
rename from app/src/main/java/com/winlator/xserver/GrabManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/GrabManager.java | |
index 543be74..cad4f6c 100644 | |
--- a/app/src/main/java/com/winlator/xserver/GrabManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/GrabManager.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
-import com.winlator.xserver.events.Event; | |
-import com.winlator.xserver.events.PointerWindowEvent; | |
+import com.winlator.cmod.xserver.events.Event; | |
+import com.winlator.cmod.xserver.events.PointerWindowEvent; | |
public class GrabManager implements WindowManager.OnWindowModificationListener { | |
private Window window; | |
diff --git a/app/src/main/java/com/winlator/xserver/GraphicsContext.java b/app/src/main/java/com/winlator/cmod/xserver/GraphicsContext.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/xserver/GraphicsContext.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/GraphicsContext.java | |
index 9c43b62..3e94148 100644 | |
--- a/app/src/main/java/com/winlator/xserver/GraphicsContext.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/GraphicsContext.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public class GraphicsContext extends XResource { | |
public static final int FLAG_FUNCTION = 1<<0; | |
diff --git a/app/src/main/java/com/winlator/xserver/GraphicsContextManager.java b/app/src/main/java/com/winlator/cmod/xserver/GraphicsContextManager.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/xserver/GraphicsContextManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/GraphicsContextManager.java | |
index 2837012..e32434f 100644 | |
--- a/app/src/main/java/com/winlator/xserver/GraphicsContextManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/GraphicsContextManager.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.util.SparseArray; | |
-import com.winlator.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
public class GraphicsContextManager extends XResourceManager { | |
private final SparseArray<GraphicsContext> graphicsContexts = new SparseArray<>(); | |
diff --git a/app/src/main/java/com/winlator/xserver/IDGenerator.java b/app/src/main/java/com/winlator/cmod/xserver/IDGenerator.java | |
similarity index 75% | |
rename from app/src/main/java/com/winlator/xserver/IDGenerator.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/IDGenerator.java | |
index 905d3c0..608c59b 100644 | |
--- a/app/src/main/java/com/winlator/xserver/IDGenerator.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/IDGenerator.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public abstract class IDGenerator { | |
private static int id = 0; | |
diff --git a/app/src/main/java/com/winlator/xserver/InputDeviceManager.java b/app/src/main/java/com/winlator/cmod/xserver/InputDeviceManager.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/InputDeviceManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/InputDeviceManager.java | |
index c21ff05..fed82ad 100644 | |
--- a/app/src/main/java/com/winlator/xserver/InputDeviceManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/InputDeviceManager.java | |
@@ -1,17 +1,17 @@ | |
-package com.winlator.xserver; | |
- | |
-import com.winlator.winhandler.MouseEventFlags; | |
-import com.winlator.winhandler.WinHandler; | |
-import com.winlator.xserver.events.ButtonPress; | |
-import com.winlator.xserver.events.ButtonRelease; | |
-import com.winlator.xserver.events.EnterNotify; | |
-import com.winlator.xserver.events.Event; | |
-import com.winlator.xserver.events.KeyPress; | |
-import com.winlator.xserver.events.KeyRelease; | |
-import com.winlator.xserver.events.LeaveNotify; | |
-import com.winlator.xserver.events.MappingNotify; | |
-import com.winlator.xserver.events.MotionNotify; | |
-import com.winlator.xserver.events.PointerWindowEvent; | |
+package com.winlator.cmod.xserver; | |
+ | |
+import com.winlator.cmod.winhandler.MouseEventFlags; | |
+import com.winlator.cmod.winhandler.WinHandler; | |
+import com.winlator.cmod.xserver.events.ButtonPress; | |
+import com.winlator.cmod.xserver.events.ButtonRelease; | |
+import com.winlator.cmod.xserver.events.EnterNotify; | |
+import com.winlator.cmod.xserver.events.Event; | |
+import com.winlator.cmod.xserver.events.KeyPress; | |
+import com.winlator.cmod.xserver.events.KeyRelease; | |
+import com.winlator.cmod.xserver.events.LeaveNotify; | |
+import com.winlator.cmod.xserver.events.MappingNotify; | |
+import com.winlator.cmod.xserver.events.MotionNotify; | |
+import com.winlator.cmod.xserver.events.PointerWindowEvent; | |
public class InputDeviceManager implements Pointer.OnPointerMotionListener, Keyboard.OnKeyboardListener, WindowManager.OnWindowModificationListener, XResourceManager.OnResourceLifecycleListener { | |
private static final byte MOUSE_WHEEL_DELTA = 120; | |
diff --git a/app/src/main/java/com/winlator/xserver/Keyboard.java b/app/src/main/java/com/winlator/cmod/xserver/Keyboard.java | |
similarity index 97% | |
rename from app/src/main/java/com/winlator/xserver/Keyboard.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Keyboard.java | |
index 5a28a6a..24776ed 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Keyboard.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Keyboard.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.view.KeyEvent; | |
import androidx.collection.ArraySet; | |
-import com.winlator.inputcontrols.ExternalController; | |
+import com.winlator.cmod.inputcontrols.ExternalController; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/xserver/Pixmap.java b/app/src/main/java/com/winlator/cmod/xserver/Pixmap.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/Pixmap.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Pixmap.java | |
index cd5793f..e6a3af9 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Pixmap.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Pixmap.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.graphics.Bitmap; | |
diff --git a/app/src/main/java/com/winlator/xserver/PixmapFormat.java b/app/src/main/java/com/winlator/cmod/xserver/PixmapFormat.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/xserver/PixmapFormat.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/PixmapFormat.java | |
index 86efbf4..1baa14a 100644 | |
--- a/app/src/main/java/com/winlator/xserver/PixmapFormat.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/PixmapFormat.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public class PixmapFormat { | |
public final byte depth; | |
diff --git a/app/src/main/java/com/winlator/xserver/PixmapManager.java b/app/src/main/java/com/winlator/cmod/xserver/PixmapManager.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/xserver/PixmapManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/PixmapManager.java | |
index ef0c406..84fab1b 100644 | |
--- a/app/src/main/java/com/winlator/xserver/PixmapManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/PixmapManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.graphics.Bitmap; | |
import android.util.SparseArray; | |
diff --git a/app/src/main/java/com/winlator/xserver/Pointer.java b/app/src/main/java/com/winlator/cmod/xserver/Pointer.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/xserver/Pointer.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Pointer.java | |
index 297ed88..4bc9d9f 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Pointer.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Pointer.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
-import com.winlator.math.Mathf; | |
+import com.winlator.cmod.math.Mathf; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/xserver/Property.java b/app/src/main/java/com/winlator/cmod/xserver/Property.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/Property.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Property.java | |
index 20e7d3d..44b1e0e 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Property.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Property.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import androidx.annotation.NonNull; | |
-import com.winlator.core.ArrayUtils; | |
-import com.winlator.core.StringUtils; | |
+import com.winlator.cmod.core.ArrayUtils; | |
+import com.winlator.cmod.core.StringUtils; | |
import java.nio.ByteBuffer; | |
import java.nio.ByteOrder; | |
diff --git a/app/src/main/java/com/winlator/xserver/ResourceIDs.java b/app/src/main/java/com/winlator/cmod/xserver/ResourceIDs.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/xserver/ResourceIDs.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/ResourceIDs.java | |
index 88dc949..37a9b79 100644 | |
--- a/app/src/main/java/com/winlator/xserver/ResourceIDs.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/ResourceIDs.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import androidx.collection.ArraySet; | |
diff --git a/app/src/main/java/com/winlator/xserver/SHMSegmentManager.java b/app/src/main/java/com/winlator/cmod/xserver/SHMSegmentManager.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/xserver/SHMSegmentManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/SHMSegmentManager.java | |
index 429ec5f..288e451 100644 | |
--- a/app/src/main/java/com/winlator/xserver/SHMSegmentManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/SHMSegmentManager.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.util.SparseArray; | |
-import com.winlator.sysvshm.SysVSharedMemory; | |
+import com.winlator.cmod.sysvshm.SysVSharedMemory; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/xserver/ScreenInfo.java b/app/src/main/java/com/winlator/cmod/xserver/ScreenInfo.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/xserver/ScreenInfo.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/ScreenInfo.java | |
index 7c02321..6193b94 100644 | |
--- a/app/src/main/java/com/winlator/xserver/ScreenInfo.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/ScreenInfo.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public class ScreenInfo { | |
public final short width; | |
diff --git a/app/src/main/java/com/winlator/xserver/SelectionManager.java b/app/src/main/java/com/winlator/cmod/xserver/SelectionManager.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/xserver/SelectionManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/SelectionManager.java | |
index d0a82ff..9d3e7bd 100644 | |
--- a/app/src/main/java/com/winlator/xserver/SelectionManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/SelectionManager.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.util.SparseArray; | |
-import com.winlator.xserver.events.SelectionClear; | |
+import com.winlator.cmod.xserver.events.SelectionClear; | |
public class SelectionManager implements XResourceManager.OnResourceLifecycleListener { | |
private final SparseArray<Selection> selections = new SparseArray<>(); | |
diff --git a/app/src/main/java/com/winlator/xserver/Visual.java b/app/src/main/java/com/winlator/cmod/xserver/Visual.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/Visual.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Visual.java | |
index 27e47af..02cd3dd 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Visual.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Visual.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public class Visual { | |
public final int id; | |
diff --git a/app/src/main/java/com/winlator/xserver/Window.java b/app/src/main/java/com/winlator/cmod/xserver/Window.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/xserver/Window.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/Window.java | |
index 4953194..f56dab8 100644 | |
--- a/app/src/main/java/com/winlator/xserver/Window.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/Window.java | |
@@ -1,18 +1,11 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
-import android.util.Log; | |
+import android.util.Log; | |
import android.util.SparseArray; | |
-import com.winlator.core.FileUtils; | |
-import com.winlator.sysvshm.SysVSharedMemory; | |
-import com.winlator.xserver.events.Event; | |
-import com.winlator.xserver.events.PropertyNotify; | |
+import com.winlator.cmod.xserver.events.Event; | |
+import com.winlator.cmod.xserver.events.PropertyNotify; | |
-import java.io.File; | |
-import java.io.IOException; | |
-import java.nio.ByteBuffer; | |
-import java.nio.charset.StandardCharsets; | |
-import java.nio.file.Files; | |
import java.util.ArrayList; | |
import java.util.Collections; | |
import java.util.List; | |
@@ -185,7 +178,7 @@ public class Window extends XResource { | |
public boolean isApplicationWindow() { | |
int windowGroup = getWMHintsValue(WMHints.WINDOW_GROUP); | |
- return attributes.isMapped() && !getName().isEmpty() && windowGroup == id && width > 1 && height > 1; | |
+ return attributes.isMapped() && windowGroup == id && width > 1 && height > 1; | |
} | |
public boolean isInputOutput() { | |
diff --git a/app/src/main/java/com/winlator/xserver/WindowAttributes.java b/app/src/main/java/com/winlator/cmod/xserver/WindowAttributes.java | |
similarity index 95% | |
rename from app/src/main/java/com/winlator/xserver/WindowAttributes.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/WindowAttributes.java | |
index be8c45b..c3a4cc0 100644 | |
--- a/app/src/main/java/com/winlator/xserver/WindowAttributes.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/WindowAttributes.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
-import com.winlator.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
public class WindowAttributes { | |
public static final int FLAG_BACKGROUND_PIXMAP = 1<<0; | |
diff --git a/app/src/main/java/com/winlator/xserver/WindowManager.java b/app/src/main/java/com/winlator/cmod/xserver/WindowManager.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/WindowManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/WindowManager.java | |
index 6ac601f..fbf33c1 100644 | |
--- a/app/src/main/java/com/winlator/xserver/WindowManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/WindowManager.java | |
@@ -1,20 +1,20 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.util.SparseArray; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xserver.errors.BadIdChoice; | |
-import com.winlator.xserver.errors.BadMatch; | |
-import com.winlator.xserver.errors.XRequestError; | |
-import com.winlator.xserver.events.ConfigureNotify; | |
-import com.winlator.xserver.events.ConfigureRequest; | |
-import com.winlator.xserver.events.DestroyNotify; | |
-import com.winlator.xserver.events.Event; | |
-import com.winlator.xserver.events.Expose; | |
-import com.winlator.xserver.events.MapNotify; | |
-import com.winlator.xserver.events.MapRequest; | |
-import com.winlator.xserver.events.ResizeRequest; | |
-import com.winlator.xserver.events.UnmapNotify; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xserver.errors.BadIdChoice; | |
+import com.winlator.cmod.xserver.errors.BadMatch; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xserver.events.ConfigureNotify; | |
+import com.winlator.cmod.xserver.events.ConfigureRequest; | |
+import com.winlator.cmod.xserver.events.DestroyNotify; | |
+import com.winlator.cmod.xserver.events.Event; | |
+import com.winlator.cmod.xserver.events.Expose; | |
+import com.winlator.cmod.xserver.events.MapNotify; | |
+import com.winlator.cmod.xserver.events.MapRequest; | |
+import com.winlator.cmod.xserver.events.ResizeRequest; | |
+import com.winlator.cmod.xserver.events.UnmapNotify; | |
import java.util.ArrayList; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/xserver/XClient.java b/app/src/main/java/com/winlator/cmod/xserver/XClient.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/xserver/XClient.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/XClient.java | |
index ba00a6f..5e7df24 100644 | |
--- a/app/src/main/java/com/winlator/xserver/XClient.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/XClient.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import androidx.collection.ArrayMap; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xserver.events.Event; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xserver.events.Event; | |
import java.io.IOException; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/xserver/XClientConnectionHandler.java b/app/src/main/java/com/winlator/cmod/xserver/XClientConnectionHandler.java | |
similarity index 77% | |
rename from app/src/main/java/com/winlator/xserver/XClientConnectionHandler.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/XClientConnectionHandler.java | |
index c6199e0..5534b1d 100644 | |
--- a/app/src/main/java/com/winlator/xserver/XClientConnectionHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/XClientConnectionHandler.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
-import com.winlator.xconnector.Client; | |
-import com.winlator.xconnector.ConnectionHandler; | |
+import com.winlator.cmod.xconnector.Client; | |
+import com.winlator.cmod.xconnector.ConnectionHandler; | |
public class XClientConnectionHandler implements ConnectionHandler { | |
private final XServer xServer; | |
diff --git a/app/src/main/java/com/winlator/xserver/XClientRequestHandler.java b/app/src/main/java/com/winlator/cmod/xserver/XClientRequestHandler.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/xserver/XClientRequestHandler.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/XClientRequestHandler.java | |
index 50db88d..fd02652 100644 | |
--- a/app/src/main/java/com/winlator/xserver/XClientRequestHandler.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/XClientRequestHandler.java | |
@@ -1,25 +1,25 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.util.Log; | |
-import com.winlator.xconnector.Client; | |
-import com.winlator.xconnector.RequestHandler; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.errors.XRequestError; | |
-import com.winlator.xserver.extensions.Extension; | |
-import com.winlator.xserver.requests.AtomRequests; | |
-import com.winlator.xserver.requests.CursorRequests; | |
-import com.winlator.xserver.requests.DrawRequests; | |
-import com.winlator.xserver.requests.ExtensionRequests; | |
-import com.winlator.xserver.requests.FontRequests; | |
-import com.winlator.xserver.requests.GrabRequests; | |
-import com.winlator.xserver.requests.GraphicsContextRequests; | |
-import com.winlator.xserver.requests.KeyboardRequests; | |
-import com.winlator.xserver.requests.PixmapRequests; | |
-import com.winlator.xserver.requests.SelectionRequests; | |
-import com.winlator.xserver.requests.WindowRequests; | |
+import com.winlator.cmod.xconnector.Client; | |
+import com.winlator.cmod.xconnector.RequestHandler; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xserver.extensions.Extension; | |
+import com.winlator.cmod.xserver.requests.AtomRequests; | |
+import com.winlator.cmod.xserver.requests.CursorRequests; | |
+import com.winlator.cmod.xserver.requests.DrawRequests; | |
+import com.winlator.cmod.xserver.requests.ExtensionRequests; | |
+import com.winlator.cmod.xserver.requests.FontRequests; | |
+import com.winlator.cmod.xserver.requests.GrabRequests; | |
+import com.winlator.cmod.xserver.requests.GraphicsContextRequests; | |
+import com.winlator.cmod.xserver.requests.KeyboardRequests; | |
+import com.winlator.cmod.xserver.requests.PixmapRequests; | |
+import com.winlator.cmod.xserver.requests.SelectionRequests; | |
+import com.winlator.cmod.xserver.requests.WindowRequests; | |
import java.io.IOException; | |
import java.nio.ByteOrder; | |
diff --git a/app/src/main/java/com/winlator/xserver/XKeycode.java b/app/src/main/java/com/winlator/cmod/xserver/XKeycode.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/XKeycode.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/XKeycode.java | |
index 7a27d4c..959b096 100644 | |
--- a/app/src/main/java/com/winlator/xserver/XKeycode.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/XKeycode.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public enum XKeycode { | |
KEY_NONE(0), | |
diff --git a/app/src/main/java/com/winlator/xserver/XLock.java b/app/src/main/java/com/winlator/cmod/xserver/XLock.java | |
similarity index 66% | |
rename from app/src/main/java/com/winlator/xserver/XLock.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/XLock.java | |
index 2b1ca73..05e0db4 100644 | |
--- a/app/src/main/java/com/winlator/xserver/XLock.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/XLock.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public interface XLock extends AutoCloseable { | |
@Override | |
diff --git a/app/src/main/java/com/winlator/xserver/XResource.java b/app/src/main/java/com/winlator/cmod/xserver/XResource.java | |
similarity index 79% | |
rename from app/src/main/java/com/winlator/xserver/XResource.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/XResource.java | |
index 4b9fca1..05398f5 100644 | |
--- a/app/src/main/java/com/winlator/xserver/XResource.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/XResource.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
public abstract class XResource { | |
public final int id; | |
diff --git a/app/src/main/java/com/winlator/xserver/XResourceManager.java b/app/src/main/java/com/winlator/cmod/xserver/XResourceManager.java | |
similarity index 94% | |
rename from app/src/main/java/com/winlator/xserver/XResourceManager.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/XResourceManager.java | |
index 6939843..87bcf23 100644 | |
--- a/app/src/main/java/com/winlator/xserver/XResourceManager.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/XResourceManager.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import java.util.ArrayList; | |
diff --git a/app/src/main/java/com/winlator/xserver/XServer.java b/app/src/main/java/com/winlator/cmod/xserver/XServer.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/xserver/XServer.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/XServer.java | |
index 798ce0e..8152645 100644 | |
--- a/app/src/main/java/com/winlator/xserver/XServer.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/XServer.java | |
@@ -1,17 +1,16 @@ | |
-package com.winlator.xserver; | |
+package com.winlator.cmod.xserver; | |
import android.util.SparseArray; | |
-import com.winlator.core.CursorLocker; | |
-import com.winlator.renderer.GLRenderer; | |
-import com.winlator.winhandler.WinHandler; | |
-import com.winlator.xconnector.Client; | |
-import com.winlator.xserver.extensions.BigReqExtension; | |
-import com.winlator.xserver.extensions.DRI3Extension; | |
-import com.winlator.xserver.extensions.Extension; | |
-import com.winlator.xserver.extensions.MITSHMExtension; | |
-import com.winlator.xserver.extensions.PresentExtension; | |
-import com.winlator.xserver.extensions.SyncExtension; | |
+import com.winlator.cmod.core.CursorLocker; | |
+import com.winlator.cmod.renderer.GLRenderer; | |
+import com.winlator.cmod.winhandler.WinHandler; | |
+import com.winlator.cmod.xserver.extensions.BigReqExtension; | |
+import com.winlator.cmod.xserver.extensions.DRI3Extension; | |
+import com.winlator.cmod.xserver.extensions.Extension; | |
+import com.winlator.cmod.xserver.extensions.MITSHMExtension; | |
+import com.winlator.cmod.xserver.extensions.PresentExtension; | |
+import com.winlator.cmod.xserver.extensions.SyncExtension; | |
import java.nio.charset.Charset; | |
import java.util.EnumMap; | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadAccess.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadAccess.java | |
similarity index 67% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadAccess.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadAccess.java | |
index ec241df..b81a361 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadAccess.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadAccess.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadAccess extends XRequestError { | |
public BadAccess() { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadAlloc.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadAlloc.java | |
similarity index 67% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadAlloc.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadAlloc.java | |
index a164295..e2956d6 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadAlloc.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadAlloc.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadAlloc extends XRequestError { | |
public BadAlloc() { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadAtom.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadAtom.java | |
similarity index 68% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadAtom.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadAtom.java | |
index e0aa39c..6fa008c 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadAtom.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadAtom.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadAtom extends XRequestError { | |
public BadAtom(int id) { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadCursor.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadCursor.java | |
similarity index 69% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadCursor.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadCursor.java | |
index 5f7dba5..e409090 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadCursor.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadCursor.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadCursor extends XRequestError { | |
public BadCursor(int data) { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadDrawable.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadDrawable.java | |
similarity index 69% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadDrawable.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadDrawable.java | |
index eff6902..08840f2 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadDrawable.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadDrawable.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadDrawable extends XRequestError { | |
public BadDrawable(int id) { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadFence.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadFence.java | |
similarity index 71% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadFence.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadFence.java | |
index 0461375..ce37394 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadFence.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadFence.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadFence extends XRequestError { | |
public BadFence(int id) { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadGraphicsContext.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadGraphicsContext.java | |
similarity index 72% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadGraphicsContext.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadGraphicsContext.java | |
index abd5d2c..25302eb 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadGraphicsContext.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadGraphicsContext.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadGraphicsContext extends XRequestError { | |
public BadGraphicsContext(int id) { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadIdChoice.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadIdChoice.java | |
similarity index 69% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadIdChoice.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadIdChoice.java | |
index 052a866..547a603 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadIdChoice.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadIdChoice.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadIdChoice extends XRequestError { | |
public BadIdChoice(int id) { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadImplementation.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadImplementation.java | |
similarity index 70% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadImplementation.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadImplementation.java | |
index 8a52f8c..e42c447 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadImplementation.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadImplementation.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadImplementation extends XRequestError { | |
public BadImplementation() { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadLength.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadLength.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadLength.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadLength.java | |
index 7c44297..ad1c0e1 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadLength.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadLength.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
// Corrected BadLength definition | |
public class BadLength extends XRequestError { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadMatch.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadMatch.java | |
similarity index 67% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadMatch.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadMatch.java | |
index 8a2e5e4..46b599b 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadMatch.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadMatch.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadMatch extends XRequestError { | |
public BadMatch() { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadPixmap.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadPixmap.java | |
similarity index 68% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadPixmap.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadPixmap.java | |
index 1ddbabc..37fc63c 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadPixmap.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadPixmap.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadPixmap extends XRequestError { | |
public BadPixmap(int id) { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadSHMSegment.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadSHMSegment.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadSHMSegment.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadSHMSegment.java | |
index 5e41fcf..29144cb 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadSHMSegment.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadSHMSegment.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
// Corrected BadSHMSegment definition | |
public class BadSHMSegment extends XRequestError { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadValue.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadValue.java | |
similarity index 69% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadValue.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadValue.java | |
index 05d1af7..32a288c 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadValue.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadValue.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadValue extends XRequestError { | |
public BadValue(int data) { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/BadWindow.java b/app/src/main/java/com/winlator/cmod/xserver/errors/BadWindow.java | |
similarity index 68% | |
rename from app/src/main/java/com/winlator/xserver/errors/BadWindow.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/BadWindow.java | |
index 892b142..6e00f84 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/BadWindow.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/BadWindow.java | |
@@ -1,4 +1,4 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
public class BadWindow extends XRequestError { | |
public BadWindow(int id) { | |
diff --git a/app/src/main/java/com/winlator/xserver/errors/XRequestError.java b/app/src/main/java/com/winlator/cmod/xserver/errors/XRequestError.java | |
similarity index 75% | |
rename from app/src/main/java/com/winlator/xserver/errors/XRequestError.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/errors/XRequestError.java | |
index f897c76..f3877bc 100644 | |
--- a/app/src/main/java/com/winlator/xserver/errors/XRequestError.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/errors/XRequestError.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.xserver.errors; | |
+package com.winlator.cmod.xserver.errors; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_ERROR; | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_ERROR; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.XClient; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.XClient; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/ButtonPress.java b/app/src/main/java/com/winlator/cmod/xserver/events/ButtonPress.java | |
similarity index 68% | |
rename from app/src/main/java/com/winlator/xserver/events/ButtonPress.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/ButtonPress.java | |
index 0a39f15..bd57303 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/ButtonPress.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/ButtonPress.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
public class ButtonPress extends InputDeviceEvent { | |
public ButtonPress(byte detail, Window root, Window event, Window child, short rootX, short rootY, short eventX, short eventY, Bitmask state) { | |
diff --git a/app/src/main/java/com/winlator/xserver/events/ButtonRelease.java b/app/src/main/java/com/winlator/cmod/xserver/events/ButtonRelease.java | |
similarity index 68% | |
rename from app/src/main/java/com/winlator/xserver/events/ButtonRelease.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/ButtonRelease.java | |
index ee971bb..fba4dc1 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/ButtonRelease.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/ButtonRelease.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
public class ButtonRelease extends InputDeviceEvent { | |
public ButtonRelease(byte detail, Window root, Window event, Window child, short rootX, short rootY, short eventX, short eventY, Bitmask state) { | |
diff --git a/app/src/main/java/com/winlator/xserver/events/ConfigureNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/ConfigureNotify.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/xserver/events/ConfigureNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/ConfigureNotify.java | |
index 9c55a02..4f84ab8 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/ConfigureNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/ConfigureNotify.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/ConfigureRequest.java b/app/src/main/java/com/winlator/cmod/xserver/events/ConfigureRequest.java | |
similarity index 86% | |
rename from app/src/main/java/com/winlator/xserver/events/ConfigureRequest.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/ConfigureRequest.java | |
index c8ba863..de331b0 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/ConfigureRequest.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/ConfigureRequest.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/CreateNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/CreateNotify.java | |
similarity index 83% | |
rename from app/src/main/java/com/winlator/xserver/events/CreateNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/CreateNotify.java | |
index df368c0..c9a5328 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/CreateNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/CreateNotify.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/DestroyNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/DestroyNotify.java | |
similarity index 77% | |
rename from app/src/main/java/com/winlator/xserver/events/DestroyNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/DestroyNotify.java | |
index df46ba1..eeda1d6 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/DestroyNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/DestroyNotify.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/EnterNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/EnterNotify.java | |
similarity index 72% | |
rename from app/src/main/java/com/winlator/xserver/events/EnterNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/EnterNotify.java | |
index cf7c9f4..8439bcc 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/EnterNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/EnterNotify.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
public class EnterNotify extends PointerWindowEvent { | |
public EnterNotify(Detail detail, Window root, Window event, Window child, short rootX, short rootY, short eventX, short eventY, Bitmask state, Mode mode, boolean sameScreenAndFocus) { | |
diff --git a/app/src/main/java/com/winlator/xserver/events/Event.java b/app/src/main/java/com/winlator/cmod/xserver/events/Event.java | |
similarity index 92% | |
rename from app/src/main/java/com/winlator/xserver/events/Event.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/Event.java | |
index c0d2bcf..2f11328 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/Event.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/Event.java | |
@@ -1,6 +1,6 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/Expose.java b/app/src/main/java/com/winlator/cmod/xserver/events/Expose.java | |
similarity index 82% | |
rename from app/src/main/java/com/winlator/xserver/events/Expose.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/Expose.java | |
index f67365d..c40a8c0 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/Expose.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/Expose.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/InputDeviceEvent.java b/app/src/main/java/com/winlator/cmod/xserver/events/InputDeviceEvent.java | |
similarity index 86% | |
rename from app/src/main/java/com/winlator/xserver/events/InputDeviceEvent.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/InputDeviceEvent.java | |
index 53586be..e6ec23e 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/InputDeviceEvent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/InputDeviceEvent.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/KeyPress.java b/app/src/main/java/com/winlator/cmod/xserver/events/KeyPress.java | |
similarity index 68% | |
rename from app/src/main/java/com/winlator/xserver/events/KeyPress.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/KeyPress.java | |
index c55f93e..83fc1a0 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/KeyPress.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/KeyPress.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
public class KeyPress extends InputDeviceEvent { | |
public KeyPress(byte keycode, Window root, Window event, Window child, short rootX, short rootY, short eventX, short eventY, Bitmask state) { | |
diff --git a/app/src/main/java/com/winlator/xserver/events/KeyRelease.java b/app/src/main/java/com/winlator/cmod/xserver/events/KeyRelease.java | |
similarity index 68% | |
rename from app/src/main/java/com/winlator/xserver/events/KeyRelease.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/KeyRelease.java | |
index 342b346..848eace 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/KeyRelease.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/KeyRelease.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
public class KeyRelease extends InputDeviceEvent { | |
public KeyRelease(byte keycode, Window root, Window event, Window child, short rootX, short rootY, short eventX, short eventY, Bitmask state) { | |
diff --git a/app/src/main/java/com/winlator/xserver/events/LeaveNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/LeaveNotify.java | |
similarity index 72% | |
rename from app/src/main/java/com/winlator/xserver/events/LeaveNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/LeaveNotify.java | |
index c1a45e5..a6d1710 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/LeaveNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/LeaveNotify.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
public class LeaveNotify extends PointerWindowEvent { | |
public LeaveNotify(Detail detail, Window root, Window event, Window child, short rootX, short rootY, short eventX, short eventY, Bitmask state, Mode mode, boolean sameScreenAndFocus) { | |
diff --git a/app/src/main/java/com/winlator/xserver/events/MapNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/MapNotify.java | |
similarity index 79% | |
rename from app/src/main/java/com/winlator/xserver/events/MapNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/MapNotify.java | |
index 2d557bf..b7ae93b 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/MapNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/MapNotify.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/MapRequest.java b/app/src/main/java/com/winlator/cmod/xserver/events/MapRequest.java | |
similarity index 77% | |
rename from app/src/main/java/com/winlator/xserver/events/MapRequest.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/MapRequest.java | |
index 102b538..3c91838 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/MapRequest.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/MapRequest.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/MappingNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/MappingNotify.java | |
similarity index 84% | |
rename from app/src/main/java/com/winlator/xserver/events/MappingNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/MappingNotify.java | |
index 94557d3..6bd1a4a 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/MappingNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/MappingNotify.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/MotionNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/MotionNotify.java | |
similarity index 69% | |
rename from app/src/main/java/com/winlator/xserver/events/MotionNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/MotionNotify.java | |
index 0b89455..4caa75f 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/MotionNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/MotionNotify.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
public class MotionNotify extends InputDeviceEvent { | |
public MotionNotify(boolean detail, Window root, Window event, Window child, short rootX, short rootY, short eventX, short eventY, Bitmask state) { | |
diff --git a/app/src/main/java/com/winlator/xserver/events/PointerWindowEvent.java b/app/src/main/java/com/winlator/cmod/xserver/events/PointerWindowEvent.java | |
similarity index 88% | |
rename from app/src/main/java/com/winlator/xserver/events/PointerWindowEvent.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/PointerWindowEvent.java | |
index 99af4e4..f623178 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/PointerWindowEvent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/PointerWindowEvent.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/PresentCompleteNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/PresentCompleteNotify.java | |
similarity index 84% | |
rename from app/src/main/java/com/winlator/xserver/events/PresentCompleteNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/PresentCompleteNotify.java | |
index 6cb81ab..5f836a3 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/PresentCompleteNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/PresentCompleteNotify.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.extensions.PresentExtension; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.extensions.PresentExtension; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/PresentIdleNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/PresentIdleNotify.java | |
similarity index 80% | |
rename from app/src/main/java/com/winlator/xserver/events/PresentIdleNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/PresentIdleNotify.java | |
index 409bd93..038f9a7 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/PresentIdleNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/PresentIdleNotify.java | |
@@ -1,10 +1,10 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Pixmap; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.extensions.PresentExtension; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Pixmap; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.extensions.PresentExtension; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/PropertyNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/PropertyNotify.java | |
similarity index 82% | |
rename from app/src/main/java/com/winlator/xserver/events/PropertyNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/PropertyNotify.java | |
index 4bf80c9..234ae67 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/PropertyNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/PropertyNotify.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/RawEvent.java b/app/src/main/java/com/winlator/cmod/xserver/events/RawEvent.java | |
similarity index 71% | |
rename from app/src/main/java/com/winlator/xserver/events/RawEvent.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/RawEvent.java | |
index 23bb123..b0b8f54 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/RawEvent.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/RawEvent.java | |
@@ -1,7 +1,7 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/ResizeRequest.java b/app/src/main/java/com/winlator/cmod/xserver/events/ResizeRequest.java | |
similarity index 79% | |
rename from app/src/main/java/com/winlator/xserver/events/ResizeRequest.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/ResizeRequest.java | |
index 36b017b..94c65a4 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/ResizeRequest.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/ResizeRequest.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/SelectionClear.java b/app/src/main/java/com/winlator/cmod/xserver/events/SelectionClear.java | |
similarity index 80% | |
rename from app/src/main/java/com/winlator/xserver/events/SelectionClear.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/SelectionClear.java | |
index b3709df..fa68c11 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/SelectionClear.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/SelectionClear.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/events/UnmapNotify.java b/app/src/main/java/com/winlator/cmod/xserver/events/UnmapNotify.java | |
similarity index 78% | |
rename from app/src/main/java/com/winlator/xserver/events/UnmapNotify.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/events/UnmapNotify.java | |
index 302618d..9683c45 100644 | |
--- a/app/src/main/java/com/winlator/xserver/events/UnmapNotify.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/events/UnmapNotify.java | |
@@ -1,8 +1,8 @@ | |
-package com.winlator.xserver.events; | |
+package com.winlator.cmod.xserver.events; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Window; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Window; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/extensions/BigReqExtension.java b/app/src/main/java/com/winlator/cmod/xserver/extensions/BigReqExtension.java | |
similarity index 73% | |
rename from app/src/main/java/com/winlator/xserver/extensions/BigReqExtension.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/extensions/BigReqExtension.java | |
index d902e6b..1c4b338 100644 | |
--- a/app/src/main/java/com/winlator/xserver/extensions/BigReqExtension.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/extensions/BigReqExtension.java | |
@@ -1,11 +1,11 @@ | |
-package com.winlator.xserver.extensions; | |
+package com.winlator.cmod.xserver.extensions; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.XClient; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.XClient; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/extensions/DRI3Extension.java b/app/src/main/java/com/winlator/cmod/xserver/extensions/DRI3Extension.java | |
similarity index 85% | |
rename from app/src/main/java/com/winlator/xserver/extensions/DRI3Extension.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/extensions/DRI3Extension.java | |
index bf3d3af..d94228d 100644 | |
--- a/app/src/main/java/com/winlator/xserver/extensions/DRI3Extension.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/extensions/DRI3Extension.java | |
@@ -1,29 +1,28 @@ | |
-package com.winlator.xserver.extensions; | |
+package com.winlator.cmod.xserver.extensions; | |
-import android.hardware.HardwareBuffer; | |
import android.util.Log; | |
-import com.winlator.renderer.GPUImage; | |
-import com.winlator.xserver.WindowManager; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
- | |
-import com.winlator.core.Callback; | |
-import com.winlator.sysvshm.SysVSharedMemory; | |
-import com.winlator.xconnector.XConnectorEpoll; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Drawable; | |
-import com.winlator.xserver.Pixmap; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.XLock; | |
-import com.winlator.xserver.XServer; | |
-import com.winlator.xserver.errors.BadAlloc; | |
-import com.winlator.xserver.errors.BadDrawable; | |
-import com.winlator.xserver.errors.BadIdChoice; | |
-import com.winlator.xserver.errors.BadImplementation; | |
-import com.winlator.xserver.errors.BadWindow; | |
-import com.winlator.xserver.errors.XRequestError; | |
+import com.winlator.cmod.renderer.GPUImage; | |
+ | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+ | |
+import com.winlator.cmod.core.Callback; | |
+import com.winlator.cmod.sysvshm.SysVSharedMemory; | |
+import com.winlator.cmod.xconnector.XConnectorEpoll; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Drawable; | |
+import com.winlator.cmod.xserver.Pixmap; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.XLock; | |
+import com.winlator.cmod.xserver.XServer; | |
+import com.winlator.cmod.xserver.errors.BadAlloc; | |
+import com.winlator.cmod.xserver.errors.BadDrawable; | |
+import com.winlator.cmod.xserver.errors.BadIdChoice; | |
+import com.winlator.cmod.xserver.errors.BadImplementation; | |
+import com.winlator.cmod.xserver.errors.BadWindow; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/xserver/extensions/Extension.java b/app/src/main/java/com/winlator/cmod/xserver/extensions/Extension.java | |
similarity index 53% | |
rename from app/src/main/java/com/winlator/xserver/extensions/Extension.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/extensions/Extension.java | |
index 43acf93..8d9cc55 100644 | |
--- a/app/src/main/java/com/winlator/xserver/extensions/Extension.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/extensions/Extension.java | |
@@ -1,9 +1,9 @@ | |
-package com.winlator.xserver.extensions; | |
+package com.winlator.cmod.xserver.extensions; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/extensions/MITSHMExtension.java b/app/src/main/java/com/winlator/cmod/xserver/extensions/MITSHMExtension.java | |
similarity index 83% | |
rename from app/src/main/java/com/winlator/xserver/extensions/MITSHMExtension.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/extensions/MITSHMExtension.java | |
index 02bc137..2370067 100644 | |
--- a/app/src/main/java/com/winlator/xserver/extensions/MITSHMExtension.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/extensions/MITSHMExtension.java | |
@@ -1,20 +1,20 @@ | |
-package com.winlator.xserver.extensions; | |
- | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
- | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Drawable; | |
-import com.winlator.xserver.GraphicsContext; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.XLock; | |
-import com.winlator.xserver.XServer; | |
-import com.winlator.xserver.errors.BadDrawable; | |
-import com.winlator.xserver.errors.BadGraphicsContext; | |
-import com.winlator.xserver.errors.BadImplementation; | |
-import com.winlator.xserver.errors.BadSHMSegment; | |
-import com.winlator.xserver.errors.XRequestError; | |
+package com.winlator.cmod.xserver.extensions; | |
+ | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+ | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Drawable; | |
+import com.winlator.cmod.xserver.GraphicsContext; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.XLock; | |
+import com.winlator.cmod.xserver.XServer; | |
+import com.winlator.cmod.xserver.errors.BadDrawable; | |
+import com.winlator.cmod.xserver.errors.BadGraphicsContext; | |
+import com.winlator.cmod.xserver.errors.BadImplementation; | |
+import com.winlator.cmod.xserver.errors.BadSHMSegment; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/xserver/extensions/PresentExtension.java b/app/src/main/java/com/winlator/cmod/xserver/extensions/PresentExtension.java | |
similarity index 84% | |
rename from app/src/main/java/com/winlator/xserver/extensions/PresentExtension.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/extensions/PresentExtension.java | |
index f03731f..1e17f1a 100644 | |
--- a/app/src/main/java/com/winlator/xserver/extensions/PresentExtension.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/extensions/PresentExtension.java | |
@@ -1,28 +1,28 @@ | |
-package com.winlator.xserver.extensions; | |
+package com.winlator.cmod.xserver.extensions; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
import android.util.SparseArray; | |
-import com.winlator.renderer.GPUImage; | |
-import com.winlator.renderer.Texture; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Drawable; | |
-import com.winlator.xserver.Pixmap; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.XLock; | |
-import com.winlator.xserver.XServer; | |
-import com.winlator.xserver.errors.BadImplementation; | |
-import com.winlator.xserver.errors.BadMatch; | |
-import com.winlator.xserver.errors.BadPixmap; | |
-import com.winlator.xserver.errors.BadWindow; | |
-import com.winlator.xserver.errors.XRequestError; | |
-import com.winlator.xserver.events.PresentCompleteNotify; | |
-import com.winlator.xserver.events.PresentIdleNotify; | |
+import com.winlator.cmod.renderer.GPUImage; | |
+import com.winlator.cmod.renderer.Texture; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Drawable; | |
+import com.winlator.cmod.xserver.Pixmap; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.XLock; | |
+import com.winlator.cmod.xserver.XServer; | |
+import com.winlator.cmod.xserver.errors.BadImplementation; | |
+import com.winlator.cmod.xserver.errors.BadMatch; | |
+import com.winlator.cmod.xserver.errors.BadPixmap; | |
+import com.winlator.cmod.xserver.errors.BadWindow; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xserver.events.PresentCompleteNotify; | |
+import com.winlator.cmod.xserver.events.PresentIdleNotify; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/extensions/SyncExtension.java b/app/src/main/java/com/winlator/cmod/xserver/extensions/SyncExtension.java | |
similarity index 87% | |
rename from app/src/main/java/com/winlator/xserver/extensions/SyncExtension.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/extensions/SyncExtension.java | |
index 000e268..1f2de52 100644 | |
--- a/app/src/main/java/com/winlator/xserver/extensions/SyncExtension.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/extensions/SyncExtension.java | |
@@ -1,15 +1,15 @@ | |
-package com.winlator.xserver.extensions; | |
+package com.winlator.cmod.xserver.extensions; | |
import android.util.SparseBooleanArray; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.BadFence; | |
-import com.winlator.xserver.errors.BadIdChoice; | |
-import com.winlator.xserver.errors.BadImplementation; | |
-import com.winlator.xserver.errors.BadMatch; | |
-import com.winlator.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.BadFence; | |
+import com.winlator.cmod.xserver.errors.BadIdChoice; | |
+import com.winlator.cmod.xserver.errors.BadImplementation; | |
+import com.winlator.cmod.xserver.errors.BadMatch; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/AtomRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/AtomRequests.java | |
similarity index 75% | |
rename from app/src/main/java/com/winlator/xserver/requests/AtomRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/AtomRequests.java | |
index 92da578..057bfcb 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/AtomRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/AtomRequests.java | |
@@ -1,16 +1,14 @@ | |
-package com.winlator.xserver.requests; | |
+package com.winlator.cmod.xserver.requests; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
-import android.util.Log; | |
- | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Atom; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.BadAtom; | |
-import com.winlator.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Atom; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.BadAtom; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/CursorRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/CursorRequests.java | |
similarity index 79% | |
rename from app/src/main/java/com/winlator/xserver/requests/CursorRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/CursorRequests.java | |
index e579fb9..a6d3e86 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/CursorRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/CursorRequests.java | |
@@ -1,17 +1,17 @@ | |
-package com.winlator.xserver.requests; | |
+package com.winlator.cmod.xserver.requests; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Cursor; | |
-import com.winlator.xserver.Pixmap; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.BadIdChoice; | |
-import com.winlator.xserver.errors.BadMatch; | |
-import com.winlator.xserver.errors.BadPixmap; | |
-import com.winlator.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Cursor; | |
+import com.winlator.cmod.xserver.Pixmap; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.BadIdChoice; | |
+import com.winlator.cmod.xserver.errors.BadMatch; | |
+import com.winlator.cmod.xserver.errors.BadPixmap; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/DrawRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/DrawRequests.java | |
similarity index 90% | |
rename from app/src/main/java/com/winlator/xserver/requests/DrawRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/DrawRequests.java | |
index 9b54e0a..5202437 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/DrawRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/DrawRequests.java | |
@@ -1,17 +1,17 @@ | |
-package com.winlator.xserver.requests; | |
- | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
- | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Drawable; | |
-import com.winlator.xserver.GraphicsContext; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.BadDrawable; | |
-import com.winlator.xserver.errors.BadGraphicsContext; | |
-import com.winlator.xserver.errors.BadMatch; | |
-import com.winlator.xserver.errors.XRequestError; | |
+package com.winlator.cmod.xserver.requests; | |
+ | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+ | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Drawable; | |
+import com.winlator.cmod.xserver.GraphicsContext; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.BadDrawable; | |
+import com.winlator.cmod.xserver.errors.BadGraphicsContext; | |
+import com.winlator.cmod.xserver.errors.BadMatch; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
import java.nio.ByteBuffer; | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/ExtensionRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/ExtensionRequests.java | |
similarity index 71% | |
rename from app/src/main/java/com/winlator/xserver/requests/ExtensionRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/ExtensionRequests.java | |
index ba007ed..5713f6e 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/ExtensionRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/ExtensionRequests.java | |
@@ -1,13 +1,13 @@ | |
-package com.winlator.xserver.requests; | |
+package com.winlator.cmod.xserver.requests; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.XRequestError; | |
-import com.winlator.xserver.extensions.Extension; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xserver.extensions.Extension; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/FontRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/FontRequests.java | |
similarity index 73% | |
rename from app/src/main/java/com/winlator/xserver/requests/FontRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/FontRequests.java | |
index e82511c..cf7fa31 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/FontRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/FontRequests.java | |
@@ -1,12 +1,12 @@ | |
-package com.winlator.xserver.requests; | |
+package com.winlator.cmod.xserver.requests; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/GrabRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/GrabRequests.java | |
similarity index 79% | |
rename from app/src/main/java/com/winlator/xserver/requests/GrabRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/GrabRequests.java | |
index e2184d1..63da4c8 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/GrabRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/GrabRequests.java | |
@@ -1,16 +1,15 @@ | |
-package com.winlator.xserver.requests; | |
+package com.winlator.cmod.xserver.requests; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
-import com.winlator.core.CursorLocker; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.BadWindow; | |
-import com.winlator.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.BadWindow; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/GraphicsContextRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/GraphicsContextRequests.java | |
similarity index 74% | |
rename from app/src/main/java/com/winlator/xserver/requests/GraphicsContextRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/GraphicsContextRequests.java | |
index aa64b38..90ede41 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/GraphicsContextRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/GraphicsContextRequests.java | |
@@ -1,15 +1,15 @@ | |
-package com.winlator.xserver.requests; | |
- | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xserver.Drawable; | |
-import com.winlator.xserver.GraphicsContext; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.BadDrawable; | |
-import com.winlator.xserver.errors.BadGraphicsContext; | |
-import com.winlator.xserver.errors.BadIdChoice; | |
-import com.winlator.xserver.errors.XRequestError; | |
+package com.winlator.cmod.xserver.requests; | |
+ | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xserver.Drawable; | |
+import com.winlator.cmod.xserver.GraphicsContext; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.BadDrawable; | |
+import com.winlator.cmod.xserver.errors.BadGraphicsContext; | |
+import com.winlator.cmod.xserver.errors.BadIdChoice; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
public abstract class GraphicsContextRequests { | |
public static void createGC(XClient client, XInputStream inputStream, XOutputStream outputStream) throws XRequestError { | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/KeyboardRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/KeyboardRequests.java | |
similarity index 72% | |
rename from app/src/main/java/com/winlator/xserver/requests/KeyboardRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/KeyboardRequests.java | |
index ed4c883..d6f6853 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/KeyboardRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/KeyboardRequests.java | |
@@ -1,14 +1,14 @@ | |
-package com.winlator.xserver.requests; | |
+package com.winlator.cmod.xserver.requests; | |
-import static com.winlator.xserver.Keyboard.KEYSYMS_PER_KEYCODE; | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+import static com.winlator.cmod.xserver.Keyboard.KEYSYMS_PER_KEYCODE; | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Keyboard; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Keyboard; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/PixmapRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/PixmapRequests.java | |
similarity index 72% | |
rename from app/src/main/java/com/winlator/xserver/requests/PixmapRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/PixmapRequests.java | |
index 59984d4..11d9f04 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/PixmapRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/PixmapRequests.java | |
@@ -1,13 +1,13 @@ | |
-package com.winlator.xserver.requests; | |
+package com.winlator.cmod.xserver.requests; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xserver.Drawable; | |
-import com.winlator.xserver.Pixmap; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.BadDrawable; | |
-import com.winlator.xserver.errors.BadIdChoice; | |
-import com.winlator.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xserver.Drawable; | |
+import com.winlator.cmod.xserver.Pixmap; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.BadDrawable; | |
+import com.winlator.cmod.xserver.errors.BadIdChoice; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
public abstract class PixmapRequests { | |
public static void createPixmap(XClient client, XInputStream inputStream, XOutputStream outputStream) throws XRequestError { | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/SelectionRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/SelectionRequests.java | |
similarity index 69% | |
rename from app/src/main/java/com/winlator/xserver/requests/SelectionRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/SelectionRequests.java | |
index fc6c0df..0cc7f4a 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/SelectionRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/SelectionRequests.java | |
@@ -1,16 +1,16 @@ | |
-package com.winlator.xserver.requests; | |
- | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
- | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Atom; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.BadAtom; | |
-import com.winlator.xserver.errors.BadWindow; | |
-import com.winlator.xserver.errors.XRequestError; | |
+package com.winlator.cmod.xserver.requests; | |
+ | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+ | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Atom; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.BadAtom; | |
+import com.winlator.cmod.xserver.errors.BadWindow; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
import java.io.IOException; | |
diff --git a/app/src/main/java/com/winlator/xserver/requests/WindowRequests.java b/app/src/main/java/com/winlator/cmod/xserver/requests/WindowRequests.java | |
similarity index 93% | |
rename from app/src/main/java/com/winlator/xserver/requests/WindowRequests.java | |
rename to app/src/main/java/com/winlator/cmod/xserver/requests/WindowRequests.java | |
index b3f59d6..5725278 100644 | |
--- a/app/src/main/java/com/winlator/xserver/requests/WindowRequests.java | |
+++ b/app/src/main/java/com/winlator/cmod/xserver/requests/WindowRequests.java | |
@@ -1,29 +1,28 @@ | |
-package com.winlator.xserver.requests; | |
- | |
-import static com.winlator.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
- | |
-import com.winlator.core.CursorLocker; | |
-import com.winlator.xconnector.XInputStream; | |
-import com.winlator.xconnector.XOutputStream; | |
-import com.winlator.xconnector.XStreamLock; | |
-import com.winlator.xserver.Drawable; | |
-import com.winlator.xserver.Bitmask; | |
-import com.winlator.xserver.WindowAttributes; | |
-import com.winlator.xserver.errors.BadDrawable; | |
-import com.winlator.xserver.errors.BadIdChoice; | |
-import com.winlator.xserver.errors.BadValue; | |
-import com.winlator.xserver.events.CreateNotify; | |
-import com.winlator.xserver.events.Event; | |
-import com.winlator.xserver.Property; | |
-import com.winlator.xserver.Visual; | |
-import com.winlator.xserver.Window; | |
-import com.winlator.xserver.WindowManager; | |
-import com.winlator.xserver.XClient; | |
-import com.winlator.xserver.errors.BadAccess; | |
-import com.winlator.xserver.errors.BadMatch; | |
-import com.winlator.xserver.errors.BadWindow; | |
-import com.winlator.xserver.errors.XRequestError; | |
-import com.winlator.xserver.events.RawEvent; | |
+package com.winlator.cmod.xserver.requests; | |
+ | |
+import static com.winlator.cmod.xserver.XClientRequestHandler.RESPONSE_CODE_SUCCESS; | |
+ | |
+import com.winlator.cmod.xconnector.XInputStream; | |
+import com.winlator.cmod.xconnector.XOutputStream; | |
+import com.winlator.cmod.xconnector.XStreamLock; | |
+import com.winlator.cmod.xserver.Drawable; | |
+import com.winlator.cmod.xserver.Bitmask; | |
+import com.winlator.cmod.xserver.WindowAttributes; | |
+import com.winlator.cmod.xserver.errors.BadDrawable; | |
+import com.winlator.cmod.xserver.errors.BadIdChoice; | |
+import com.winlator.cmod.xserver.errors.BadValue; | |
+import com.winlator.cmod.xserver.events.CreateNotify; | |
+import com.winlator.cmod.xserver.events.Event; | |
+import com.winlator.cmod.xserver.Property; | |
+import com.winlator.cmod.xserver.Visual; | |
+import com.winlator.cmod.xserver.Window; | |
+import com.winlator.cmod.xserver.WindowManager; | |
+import com.winlator.cmod.xserver.XClient; | |
+import com.winlator.cmod.xserver.errors.BadAccess; | |
+import com.winlator.cmod.xserver.errors.BadMatch; | |
+import com.winlator.cmod.xserver.errors.BadWindow; | |
+import com.winlator.cmod.xserver.errors.XRequestError; | |
+import com.winlator.cmod.xserver.events.RawEvent; | |
import java.io.IOException; | |
import java.util.List; | |
diff --git a/app/src/main/java/com/winlator/core/DefaultVersion.java b/app/src/main/java/com/winlator/core/DefaultVersion.java | |
deleted file mode 100644 | |
index 89ad569..0000000 | |
--- a/app/src/main/java/com/winlator/core/DefaultVersion.java | |
+++ /dev/null | |
@@ -1,15 +0,0 @@ | |
-package com.winlator.core; | |
- | |
-public abstract class DefaultVersion { | |
- public static final String BOX86 = "0.3.2"; | |
- public static final String BOX64 = "0.3.0"; | |
- public static final String TURNIP_GLIBC = "24.3.0"; | |
- public static final String TURNIP_BIONIC = "25.0.0.bionic"; | |
- public static final String WRAPPER = "System"; | |
- public static final String ZINK = "22.2.5"; | |
- public static final String VIRGL = "23.1.9"; | |
- public static final String DXVK = "2.3.1"; | |
- public static final String D8VK = "1.0"; | |
- public static final String VKD3D = "2.12"; | |
- public static final String CNC_DDRAW = "6.6"; | |
-} | |
\ No newline at end of file | |
diff --git a/app/src/main/res/layout-land/big_picture_activity.xml b/app/src/main/res/layout-land/big_picture_activity.xml | |
index 70d64f6..04897a0 100644 | |
--- a/app/src/main/res/layout-land/big_picture_activity.xml | |
+++ b/app/src/main/res/layout-land/big_picture_activity.xml | |
@@ -5,7 +5,7 @@ | |
android:layout_height="match_parent" | |
android:background="@android:color/black"> | |
- <com.winlator.bigpicture.TiledBackgroundView | |
+ <com.winlator.cmod.bigpicture.TiledBackgroundView | |
android:id="@+id/parallaxBackgroundView" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent"/> | |
@@ -173,7 +173,7 @@ | |
android:id="@+id/TVGraphicsDriverVersionLabel" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
- android:text="Turnip Driver Version:" | |
+ android:text="Driver Version:" | |
android:textStyle="bold" | |
android:textColor="@android:color/white" /> | |
<TextView | |
diff --git a/app/src/main/res/layout/adrenotools_list_item.xml b/app/src/main/res/layout/adrenotools_list_item.xml | |
index d09e91d..1fecb3e 100644 | |
--- a/app/src/main/res/layout/adrenotools_list_item.xml | |
+++ b/app/src/main/res/layout/adrenotools_list_item.xml | |
@@ -1,45 +1,42 @@ | |
-<?xml version="1.0" encoding="utf-8"?> | |
- | |
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
+<?xml version="1.0" encoding="utf-8"?> | |
+ | |
+<androidx.constraintlayout.widget.ConstraintLayout | |
+ xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:app="http://schemas.android.com/apk/res-auto" | |
+ xmlns:tools="http://schemas.android.com/tools" | |
android:layout_width="match_parent" | |
- android:layout_height="wrap_content" | |
- android:gravity="center_vertical" | |
- android:orientation="horizontal" | |
- android:paddingLeft="16dp" | |
- android:paddingRight="16dp"> | |
+ android:layout_height="wrap_content" > | |
- <LinearLayout | |
- android:layout_width="0dp" | |
+ <TextView | |
+ android:id="@+id/TVName" | |
+ android:layout_width="match_parent" | |
+ android:layout_height="wrap_content" | |
+ android:layout_gravity="start" | |
android:layout_weight="1" | |
- android:layout_height="match_parent" | |
- android:layout_gravity="center" | |
- android:orientation="vertical"> | |
- | |
- <TextView | |
- android:id="@+id/TVName" | |
- android:layout_width="match_parent" | |
- android:layout_height="wrap_content" | |
- android:layout_weight="1" | |
- android:layout_gravity="start" | |
- android:gravity="start|top" | |
- android:maxLines="1" /> | |
+ android:gravity="start|top" | |
+ android:maxLines="1" | |
+ android:paddingLeft="20dp" | |
+ app:layout_constraintTop_toTopOf="parent" /> | |
- <TextView | |
- android:id="@+id/TVVersion" | |
- android:layout_width="match_parent" | |
- android:layout_height="wrap_content" | |
- android:layout_weight="1" | |
- android:layout_gravity="start" | |
- android:gravity="start|bottom" | |
- android:maxLines="1" /> | |
- | |
- </LinearLayout> | |
+ <TextView | |
+ android:id="@+id/TVVersion" | |
+ android:layout_width="match_parent" | |
+ android:layout_height="wrap_content" | |
+ android:layout_gravity="start" | |
+ android:layout_marginTop="4dp" | |
+ android:layout_weight="1" | |
+ android:gravity="start|bottom" | |
+ android:maxLines="1" | |
+ android:paddingLeft="20dp" | |
+ app:layout_constraintTop_toBottomOf="@+id/TVName" /> | |
<ImageButton | |
android:id="@+id/BTMenu" | |
style="@style/ListMenuButton" | |
- android:layout_marginStart="8dp" | |
- android:src="@drawable/icon_list_item_menu" /> | |
+ android:layout_marginTop="8dp" | |
+ android:layout_marginEnd="24dp" | |
+ android:src="@drawable/icon_remove" | |
+ app:layout_constraintEnd_toEndOf="parent" | |
+ app:layout_constraintTop_toTopOf="parent" /> | |
-</LinearLayout> | |
+</androidx.constraintlayout.widget.ConstraintLayout> | |
diff --git a/app/src/main/res/layout/big_picture_activity.xml b/app/src/main/res/layout/big_picture_activity.xml | |
index 585e05f..42ce6f3 100644 | |
--- a/app/src/main/res/layout/big_picture_activity.xml | |
+++ b/app/src/main/res/layout/big_picture_activity.xml | |
@@ -3,7 +3,7 @@ | |
android:layout_height="match_parent" | |
android:background="@android:color/black"> | |
- <com.winlator.bigpicture.TiledBackgroundView | |
+ <com.winlator.cmod.bigpicture.TiledBackgroundView | |
android:id="@+id/parallaxBackgroundView" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent"/> | |
@@ -146,7 +146,7 @@ | |
android:id="@+id/TVGraphicsDriverVersion" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
- android:text="Turnip Driver Version:" | |
+ android:text="Driver Version:" | |
android:textAppearance="?android:attr/textAppearanceSmall" | |
android:textColor="@android:color/white" | |
android:visibility="gone" /> | |
diff --git a/app/src/main/res/layout/checkbox_spinner.xml b/app/src/main/res/layout/checkbox_spinner.xml | |
new file mode 100644 | |
index 0000000..6364447 | |
--- /dev/null | |
+++ b/app/src/main/res/layout/checkbox_spinner.xml | |
@@ -0,0 +1,13 @@ | |
+<?xml version="1.0" encoding="utf-8"?> | |
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
+ android:orientation="horizontal" | |
+ android:layout_width="match_parent" | |
+ android:layout_height="wrap_content"> | |
+ | |
+ <CheckBox | |
+ android:layout_width="match_parent" | |
+ android:layout_height="wrap_content" | |
+ style="@style/CheckBox" | |
+ android:id="@+id/checkbox" /> | |
+ | |
+</LinearLayout> | |
\ No newline at end of file | |
diff --git a/app/src/main/res/layout/container_detail_fragment.xml b/app/src/main/res/layout/container_detail_fragment.xml | |
index 5a9acc0..7b7e337 100644 | |
--- a/app/src/main/res/layout/container_detail_fragment.xml | |
+++ b/app/src/main/res/layout/container_detail_fragment.xml | |
@@ -109,26 +109,6 @@ | |
</LinearLayout> | |
</LinearLayout> | |
- <LinearLayout | |
- android:layout_width="match_parent" | |
- android:layout_height="wrap_content" | |
- android:orientation="horizontal" | |
- android:padding="16dp"> | |
- | |
- <TextView | |
- android:id="@+id/TVBionicContainerLabel" | |
- android:layout_width="wrap_content" | |
- android:layout_height="wrap_content" | |
- android:text="Bionic Container" | |
- android:textSize="16sp" /> | |
- | |
- <Switch | |
- android:id="@+id/SWBionicContainer" | |
- android:layout_width="wrap_content" | |
- android:layout_height="wrap_content" | |
- android:layout_marginStart="16dp" /> | |
- </LinearLayout> | |
- | |
<LinearLayout | |
android:id="@+id/LLWineVersion" | |
@@ -208,6 +188,20 @@ | |
android:visibility="gone" /> | |
</LinearLayout> | |
+ <TextView | |
+ android:layout_width="wrap_content" | |
+ android:layout_height="wrap_content" | |
+ android:text="@string/ddraw_wrapper" > | |
+ </TextView> | |
+ | |
+ <Spinner | |
+ android:id="@+id/SDDrawrapper" | |
+ style="@style/ComboBox" | |
+ android:layout_width="match_parent" | |
+ android:layout_weight="1" | |
+ android:entries="@array/ddrawrapper_entries"> | |
+ </Spinner> | |
+ | |
<TextView | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
@@ -367,13 +361,13 @@ | |
android:layout_weight="1" | |
android:entries="@array/desktop_background_type_entries" /> | |
- <com.winlator.widget.ColorPickerView | |
+ <com.winlator.cmod.widget.ColorPickerView | |
android:id="@+id/CPVDesktopBackgroundColor" | |
android:layout_width="84dp" | |
android:layout_height="wrap_content" | |
android:visibility="gone" /> | |
- <com.winlator.widget.ImagePickerView | |
+ <com.winlator.cmod.widget.ImagePickerView | |
android:id="@+id/IPVDesktopBackgroundImage" | |
android:layout_width="84dp" | |
android:layout_height="wrap_content" | |
@@ -512,7 +506,7 @@ | |
android:orientation="vertical" | |
android:visibility="gone"> | |
- <com.winlator.widget.EnvVarsView | |
+ <com.winlator.cmod.widget.EnvVarsView | |
android:id="@+id/EnvVarsView" | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
@@ -808,7 +802,7 @@ | |
android:text="@string/processor_affinity" | |
android:layout_marginTop="8dp" /> | |
- <com.winlator.widget.CPUListView | |
+ <com.winlator.cmod.widget.CPUListView | |
android:id="@+id/CPUListView" | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
@@ -821,7 +815,7 @@ | |
android:text="@string/processor_affinity_32_bit_apps" | |
android:layout_marginTop="8dp" /> | |
- <com.winlator.widget.CPUListView | |
+ <com.winlator.cmod.widget.CPUListView | |
android:id="@+id/CPUListViewWoW64" | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
diff --git a/app/src/main/res/layout/control_element_settings.xml b/app/src/main/res/layout/control_element_settings.xml | |
index 37eeae5..6dabe55 100644 | |
--- a/app/src/main/res/layout/control_element_settings.xml | |
+++ b/app/src/main/res/layout/control_element_settings.xml | |
@@ -109,7 +109,7 @@ | |
android:layout_height="wrap_content" | |
android:text="@string/columns" /> | |
- <com.winlator.widget.NumberPicker | |
+ <com.winlator.cmod.widget.NumberPicker | |
android:id="@+id/NPColumns" | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
diff --git a/app/src/main/res/layout/cpu_list_dialog.xml b/app/src/main/res/layout/cpu_list_dialog.xml | |
index 63e61d2..c091769 100644 | |
--- a/app/src/main/res/layout/cpu_list_dialog.xml | |
+++ b/app/src/main/res/layout/cpu_list_dialog.xml | |
@@ -6,7 +6,7 @@ | |
android:orientation="vertical" | |
android:gravity="center_horizontal"> | |
- <com.winlator.widget.CPUListView | |
+ <com.winlator.cmod.widget.CPUListView | |
android:id="@+id/CPUListView" | |
android:layout_width="360dp" | |
android:layout_height="wrap_content" | |
diff --git a/app/src/main/res/layout/debug_dialog.xml b/app/src/main/res/layout/debug_dialog.xml | |
index d2a8ca4..f7dd891 100644 | |
--- a/app/src/main/res/layout/debug_dialog.xml | |
+++ b/app/src/main/res/layout/debug_dialog.xml | |
@@ -9,7 +9,7 @@ | |
android:orientation="vertical" | |
android:padding="8dp"> | |
- <com.winlator.widget.LogView | |
+ <com.winlator.cmod.widget.LogView | |
android:id="@+id/LogView" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
diff --git a/app/src/main/res/layout/env_vars_list_item.xml b/app/src/main/res/layout/env_vars_list_item.xml | |
index ad73c4e..dc650cf 100644 | |
--- a/app/src/main/res/layout/env_vars_list_item.xml | |
+++ b/app/src/main/res/layout/env_vars_list_item.xml | |
@@ -25,7 +25,7 @@ | |
android:visibility="gone" | |
android:spinnerMode="dialog"/> | |
- <com.winlator.widget.MultiSelectionComboBox | |
+ <com.winlator.cmod.widget.MultiSelectionComboBox | |
style="@style/MultiSelectionComboBox" | |
android:id="@+id/MultiSelectionComboBox" | |
android:layout_width="match_parent" | |
diff --git a/app/src/main/res/layout/frame_rating.xml b/app/src/main/res/layout/frame_rating.xml | |
index ef9d56a..6e39f14 100644 | |
--- a/app/src/main/res/layout/frame_rating.xml | |
+++ b/app/src/main/res/layout/frame_rating.xml | |
@@ -81,39 +81,6 @@ | |
android:gravity="center_vertical" | |
android:background="#33000000"> | |
- <TextView | |
- android:layout_width="wrap_content" | |
- android:layout_height="wrap_content" | |
- android:layout_weight="1" | |
- android:textStyle="bold" | |
- android:textSize="12dp" | |
- android:text="CPU:" | |
- android:textColor="#23a646" | |
- android:includeFontPadding="false" | |
- android:maxLines="1" | |
- android:layout_marginRight="5dp" /> | |
- | |
- <TextView | |
- android:id="@+id/TVCPU" | |
- android:layout_width="wrap_content" | |
- android:layout_height="wrap_content" | |
- android:layout_weight="1" | |
- android:textStyle="bold" | |
- android:textSize="12dp" | |
- android:textColor="#ffffff" | |
- android:includeFontPadding="false" | |
- android:maxLines="1" /> | |
- </LinearLayout> | |
- <LinearLayout | |
- android:layout_width="wrap_content" | |
- android:layout_height="wrap_content" | |
- android:orientation="horizontal" | |
- android:padding="2dp" | |
- android:layout_marginTop="2dp" | |
- android:layout_marginLeft="10dp" | |
- android:gravity="center_vertical" | |
- android:background="#33000000"> | |
- | |
<TextView | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
@@ -170,37 +137,4 @@ | |
android:includeFontPadding="false" | |
android:maxLines="1" /> | |
</LinearLayout> | |
- <LinearLayout | |
- android:layout_width="wrap_content" | |
- android:layout_height="wrap_content" | |
- android:orientation="horizontal" | |
- android:padding="2dp" | |
- android:layout_marginTop="2dp" | |
- android:layout_marginLeft="10dp" | |
- android:gravity="center_vertical" | |
- android:background="#33000000"> | |
- | |
- <TextView | |
- android:layout_width="wrap_content" | |
- android:layout_height="wrap_content" | |
- android:layout_weight="1" | |
- android:textStyle="bold" | |
- android:textSize="12dp" | |
- android:text="Container:" | |
- android:textColor="#23a6a4" | |
- android:includeFontPadding="false" | |
- android:maxLines="1" | |
- android:layout_marginRight="5dp" /> | |
- | |
- <TextView | |
- android:id="@+id/TVContainer" | |
- android:layout_width="wrap_content" | |
- android:layout_height="wrap_content" | |
- android:layout_weight="1" | |
- android:textStyle="bold" | |
- android:textSize="12dp" | |
- android:textColor="#ffffff" | |
- android:includeFontPadding="false" | |
- android:maxLines="1" /> | |
- </LinearLayout> | |
</LinearLayout> | |
\ No newline at end of file | |
diff --git a/app/src/main/res/layout/graphics_driver_config_dialog.xml b/app/src/main/res/layout/graphics_driver_config_dialog.xml | |
index 685c4b9..2c10d1d 100644 | |
--- a/app/src/main/res/layout/graphics_driver_config_dialog.xml | |
+++ b/app/src/main/res/layout/graphics_driver_config_dialog.xml | |
@@ -21,7 +21,19 @@ | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
android:id="@+id/SGraphicsDriverVersion" | |
- android:entries="@array/turnip_graphics_driver_version_entries" | |
+ android:spinnerMode="dialog"/> | |
+ <TextView | |
+ android:layout_width="wrap_content" | |
+ android:layout_height="wrap_content" | |
+ android:text="@string/graphics_driver_available_extensions" | |
+ android:textAppearance="?android:attr/textAppearanceMedium" | |
+ android:paddingBottom="8dp"/> | |
+ | |
+ <Spinner | |
+ style="@style/ComboBox" | |
+ android:layout_width="match_parent" | |
+ android:layout_height="wrap_content" | |
+ android:id="@+id/SGraphicsDriverAvailableExtensions" | |
android:spinnerMode="dialog"/> | |
</LinearLayout> | |
</ScrollView> | |
diff --git a/app/src/main/res/layout/screen_effect_dialog.xml b/app/src/main/res/layout/screen_effect_dialog.xml | |
index de0028c..a82586b 100644 | |
--- a/app/src/main/res/layout/screen_effect_dialog.xml | |
+++ b/app/src/main/res/layout/screen_effect_dialog.xml | |
@@ -6,11 +6,14 @@ | |
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> | |
<LinearLayout style="@style/FieldSet"> | |
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/brightness" /> | |
- <com.winlator.widget.SeekBar android:id="@+id/SBBrightness" android:layout_width="fill_parent" android:layout_height="60dp" app:maxValue="50" app:minValue="-50" /> | |
+ <com.winlator.cmod.widget.SeekBar | |
+ android:id="@+id/SBBrightness" android:layout_width="fill_parent" android:layout_height="60dp" app:maxValue="50" app:minValue="-50" /> | |
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/contrast" /> | |
- <com.winlator.widget.SeekBar android:id="@+id/SBContrast" android:layout_width="fill_parent" android:layout_height="60dp" app:maxValue="100" app:minValue="-100" /> | |
+ <com.winlator.cmod.widget.SeekBar | |
+ android:id="@+id/SBContrast" android:layout_width="fill_parent" android:layout_height="60dp" app:maxValue="100" app:minValue="-100" /> | |
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/gamma" /> | |
- <com.winlator.widget.SeekBar android:id="@+id/SBGamma" android:layout_width="fill_parent" android:layout_height="60dp" app:maxValue="3.0" app:minValue="0.5" app:step="0.01" /> | |
+ <com.winlator.cmod.widget.SeekBar | |
+ android:id="@+id/SBGamma" android:layout_width="fill_parent" android:layout_height="60dp" app:maxValue="3.0" app:minValue="0.5" app:step="0.01" /> | |
</LinearLayout> | |
<TextView android:background="#ffffffff" android:text="@string/color_adjustment" style="@style/FieldSetLabel" android:id="@+id/LBLColorAdjustment" />/> | |
</FrameLayout> | |
diff --git a/app/src/main/res/layout/settings_fragment.xml b/app/src/main/res/layout/settings_fragment.xml | |
index c880400..ba2b6b9 100644 | |
--- a/app/src/main/res/layout/settings_fragment.xml | |
+++ b/app/src/main/res/layout/settings_fragment.xml | |
@@ -13,36 +13,6 @@ | |
android:orientation="vertical" | |
android:padding="16dp"> | |
- <FrameLayout | |
- android:layout_width="match_parent" | |
- android:layout_height="wrap_content"> | |
- | |
- <LinearLayout style="@style/FieldSet"> | |
- <LinearLayout | |
- android:id="@+id/LLInstalledWineList" | |
- android:layout_width="match_parent" | |
- android:layout_height="wrap_content" | |
- android:orientation="vertical" /> | |
- | |
- <View style="@style/HorizontalLine" /> | |
- | |
- <Button | |
- style="@style/ButtonPositive" | |
- android:id="@+id/BTSelectWineFile" | |
- android:layout_width="240dp" | |
- android:layout_height="wrap_content" | |
- android:layout_gravity="center_horizontal" | |
- android:enabled="false" | |
- android:visibility="gone" | |
- android:text="@string/install_wine" /> | |
- </LinearLayout> | |
- | |
- <TextView | |
- android:id="@+id/TVInstalledWine" | |
- style="@style/FieldSetLabel" | |
- android:text="@string/installed_wine" /> | |
- </FrameLayout> | |
- | |
<FrameLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content"> | |
@@ -260,27 +230,31 @@ | |
<!-- Big Picture Mode --> | |
+ | |
<FrameLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content"> | |
+ | |
<LinearLayout style="@style/FieldSet"> | |
+ | |
+ <!-- SteamGridDB API Key Section --> | |
<CheckBox | |
android:id="@+id/CBEnableBigPictureMode" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:text="Enable Big Picture Mode on App Launch" /> | |
- <!-- SteamGridDB API Key Section --> | |
<FrameLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content"> | |
<LinearLayout style="@style/FieldSet"> | |
+ | |
<LinearLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
- android:orientation="horizontal" | |
- android:gravity="center_vertical"> | |
+ android:gravity="center_vertical" | |
+ android:orientation="horizontal"> | |
<CheckBox | |
android:id="@+id/CBEnableCustomApiKey" | |
@@ -311,6 +285,7 @@ | |
</FrameLayout> | |
</LinearLayout> | |
+ | |
<TextView | |
android:id="@+id/TVBigPictureMode" | |
style="@style/FieldSetLabel" | |
@@ -587,14 +562,6 @@ | |
android:layout_height="wrap_content"> | |
<LinearLayout style="@style/FieldSet"> | |
- <CheckBox | |
- android:id="@+id/CBUseGlibc" | |
- android:layout_width="wrap_content" | |
- android:layout_height="wrap_content" | |
- android:text="@string/use_glibc" /> | |
- | |
- <View style="@style/FieldSeparator" /> | |
- | |
<LinearLayout | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
@@ -612,6 +579,25 @@ | |
android:layout_gravity="center" | |
style="@style/HelpButton" /> | |
</LinearLayout> | |
+ <LinearLayout | |
+ android:layout_width="match_parent" | |
+ android:layout_height="wrap_content" | |
+ android:orientation="vertical" > | |
+ | |
+ <CheckBox | |
+ android:id="@+id/CBOpenWithAndroidBrowser" | |
+ android:layout_width="wrap_content" | |
+ android:layout_height="wrap_content" | |
+ android:layout_gravity="left|center" | |
+ android:text="@string/open_with_android_browser" /> | |
+ | |
+ <CheckBox | |
+ android:id="@+id/CBShareAndroidClipboard" | |
+ android:layout_width="wrap_content" | |
+ android:layout_height="wrap_content" | |
+ android:layout_gravity="left|center" | |
+ android:text="@string/share_android_clipboard" /> | |
+ </LinearLayout> | |
</LinearLayout> | |
<TextView | |
diff --git a/app/src/main/res/layout/shortcut_settings_dialog.xml b/app/src/main/res/layout/shortcut_settings_dialog.xml | |
index a0a1f4e..36423e2 100644 | |
--- a/app/src/main/res/layout/shortcut_settings_dialog.xml | |
+++ b/app/src/main/res/layout/shortcut_settings_dialog.xml | |
@@ -134,7 +134,7 @@ | |
android:orientation="horizontal" > | |
<TextView | |
- android:id="@+id/TVTurnipVersionLabel" | |
+ android:id="@+id/TVWrapperVersionLabel" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:text="Current Version:" | |
@@ -193,6 +193,20 @@ | |
android:visibility="visible" /> | |
</LinearLayout> | |
+ <TextView | |
+ android:layout_width="wrap_content" | |
+ android:layout_height="wrap_content" | |
+ android:text="@string/ddraw_wrapper" > | |
+ </TextView> | |
+ | |
+ <Spinner | |
+ android:id="@+id/SDDrawrapper" | |
+ style="@style/ComboBox" | |
+ android:layout_width="match_parent" | |
+ android:layout_weight="1" | |
+ android:entries="@array/ddrawrapper_entries"> | |
+ </Spinner> | |
+ | |
<TextView | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
@@ -368,7 +382,7 @@ | |
android:orientation="vertical" | |
android:visibility="gone"> | |
- <com.winlator.widget.EnvVarsView | |
+ <com.winlator.cmod.widget.EnvVarsView | |
android:id="@+id/EnvVarsView" | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml | |
index 85a5a01..d914048 100644 | |
--- a/app/src/main/res/values/arrays.xml | |
+++ b/app/src/main/res/values/arrays.xml | |
@@ -19,17 +19,8 @@ | |
<item>1920x1080 (16:9)</item> | |
</string-array> | |
<string-array name="graphics_driver_entries"> | |
- <item>Turnip</item> | |
- <item>VirGL</item> | |
<item>Wrapper</item> | |
</string-array> | |
- <string-array name="turnip_graphics_driver_version_entries"> | |
- <item>24.0.9</item> | |
- <item>24.1.0</item> | |
- <item>24.3.0</item> | |
- <item>24.3.0.5</item> | |
- <item>25.0.0.bionic</item> | |
- </string-array> | |
<string-array name="wrapper_graphics_driver_version_entries"> | |
<item>System</item> | |
<item>v762</item> | |
@@ -49,7 +40,12 @@ | |
<item>WineD3D</item> | |
<item>DXVK</item> | |
<item>VKD3D</item> | |
- <item>CNC DDraw</item> | |
+ </string-array> | |
+ <string-array name="ddrawrapper_entries"> | |
+ <item>CnC-DDraw</item> | |
+ <item>DgVoodoo</item> | |
+ <item>Dd7To9</item> | |
+ <item>WineD3D</item> | |
</string-array> | |
<string-array name="dxvk_version_entries"> | |
<item>0.40.1</item> | |
@@ -110,12 +106,9 @@ | |
<item>0.3.7</item> | |
</string-array> | |
<string-array name="box64_version_entries"> | |
- <item>0.2.7</item> | |
- <item>0.2.8</item> | |
- <item>0.3.0</item> | |
- <item>0.3.1</item> | |
- <item>0.3.1.8g2</item> | |
- <item>0.3.1.4e10cd6</item> | |
+ <item>0.3.6.fix</item> | |
+ <item>0.3.2</item> | |
+ <item>0.3.6</item> | |
</string-array> | |
<string-array name="dinput_mapper_type_entries"> | |
<item>@string/dinput_legacy</item> | |
@@ -135,8 +128,10 @@ | |
<item>Aggressive (Stop services on startup)</item> | |
</string-array> | |
<string-array name="vkd3d_version_entries"> | |
+ <item>2.8</item> | |
<item>2.12</item> | |
<item>2.13</item> | |
+ <item>2.14.1</item> | |
</string-array> | |
<string-array name="some_lc_all"> | |
<item>ar_EG</item> | |
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml | |
index 6dcb6b2..cc366ef 100644 | |
--- a/app/src/main/res/values/strings.xml | |
+++ b/app/src/main/res/values/strings.xml | |
@@ -112,6 +112,7 @@ | |
<string name="xaudio">XAudio</string> | |
<string name="vcrun2010">Visual C++ 2010</string> | |
<string name="windowsmediafoundation">Windows Media Foundation</string> | |
+ <string name="opengl">OpenGL</string> | |
<string name="settings">Settings</string> | |
<string name="exec_arguments">Exec Arguments</string> | |
<string name="win_components">Win Components</string> | |
@@ -213,6 +214,30 @@ | |
<b>0</b> : Use regular safe barriers<br /> | |
<b>1</b> : Use weak barriers for mild performance boost<br /> | |
<b>2</b> : Use weak barriers, additionally disable last write barriers]]></string> | |
+ <string name="box86_64_env_var_help__dynarec_aligned_atomics"><![CDATA[ | |
+ Generate aligned atomics only (only available on Arm64 for now).<br /><br /> | |
+ <b>0</b> : Generate unaligned atomics handling code.<br /> | |
+ <b>1</b> : Generate aligned atomics only, which is faster and smaller code size, but will cause SIGBUS for LOCK prefixed opcodes operating on aligned data addresses.]]></string> | |
+ <string name="box86_64_env_var_help__dynarec_df"><![CDATA[ | |
+ Enable or disable the use of deferred flags.<br /><br /> | |
+ <b>0</b> : Disable the use of deferred flags.<br /> | |
+ <b>1</b> : Enable the use of deferred flags.]]></string> | |
+ <string name="box86_64_env_var_help__dynarec_dirty"><![CDATA[ | |
+ Allow continue running a block that is unprotected and potentially dirty.<br /><br /> | |
+ <b>0</b> : Do not allow continue running a block that is unprotected and potentially dirty.<br /> | |
+ <b>1</b> : Allow continue to run a dynablock that write data in the same page as code. It can gets faster in loading time of some game but can also get unexpected crashes.<br /> | |
+ <b>2</b> : Will also, when it detect an HotPage, flag that page as NEVERCLEAN, and so it will not be write protected but Block build from that page will always be tested. It can be faster that way (but some SMC case might not be trapped).]]></string> | |
+ <string name="box86_64_env_var_help__dynarec_nativeflags"><![CDATA[ | |
+ Enable or disable the use of native flags.<br /><br /> | |
+ <b>0</b> : Do not use native flags.<br /> | |
+ <b>1</b> : Use native flags when possible.]]></string> | |
+ <string name="box86_64_env_var_help__dynarec_pause"><![CDATA[ | |
+ Enable x86 PAUSE emulation, may help the performance of spinlocks.<br /><br /> | |
+ <b>0</b> : Ignore x86 PAUSE instruction.<br /> | |
+ <b>1</b> : Use YIELD to emulate x86 PAUSE instruction.<br /> | |
+ <b>2</b> : Use WFI to emulate x86 PAUSE instruction.<br /> | |
+ <b>3</b> : Use SEVL+WFE to emulate x86 PAUSE instruction. | |
+ ]]></string> | |
<string name="box86_64_env_var_help__avx"><![CDATA[ | |
AVX and AVX2 implemented, along with BMI1, BMI2, ADX, FMA, F16C and RDANDR extension!<br /><br /> | |
<b>0</b> : Disable AVX extension<br /> | |
@@ -249,8 +274,6 @@ | |
<string name="as_axis">Is Axis</string> | |
<string name="both">Both</string> | |
<string name="trigger_type">Trigger Type</string> | |
- <string name="use_glibc">Use native Glibc</string> | |
- <string name="use_bionic">Use native Bionic</string> | |
<string name="experimental">Experimental</string> | |
<string name="glibc_exp_edition">Glibc Experimental Edition</string> | |
<string name="enabled_async">Enable Async</string> | |
@@ -314,7 +337,8 @@ | |
<string name="setup_failed">Setup failed</string> | |
<string name="graphics_driver_configuration">Graphics Driver Configuration</string> | |
<string name="select_graphics_driver_version">Select Graphics Driver Version:</string> | |
- <string name="graphics_driver_version">Graphics Driver Version:</string> | |
+ <string name="graphics_driver_version">Graphics Driver Version</string> | |
+ <string name="graphics_driver_available_extensions">Available Extensions</string> | |
<string name="add_to_homescreen">Add to Homescreen</string> | |
<string name="add_save">Add Save</string> | |
<string name="saves">Saves</string> | |
@@ -467,8 +491,6 @@ | |
<string name="save">Save</string> | |
<string name="installing_winetricks">Installing dependencies with winetricks...</string> | |
<string name="use_xr">Use OpenXR integration</string> | |
- <string name="bionic_not_supported">Winetricks is not yet available for Bionic Containers</string> | |
- <string name="switching_turnip">Switching to a Bionic compatible Turnip Driver...</string> | |
@@ -590,6 +612,8 @@ E.g. <b>META</b> for <i>META key</i>, \n | |
<string name="install_drivers_warning">Be warned that because of limitations of current PC emulators, Qualcomm Drivers may not work on chipsets below 8 Gen2 without getting patched.</string> | |
<string name="enable_vulkan_api_dump">Enable dumping of Vulkan api calls to file.</string> | |
<string name="dll_emulator">32bit Emulator</string> | |
- | |
+ <string name="open_with_android_browser">Open Android Browser in Wine</string> | |
+ <string name="share_android_clipboard">Share Android Clipboard with Wine</string> | |
+ <string name="ddraw_wrapper">DDraw/Glide Wrapper</string> | |
</resources> | |
\ No newline at end of file | |
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml | |
index f29de78..daa69e2 100644 | |
--- a/app/src/main/res/values/styles.xml | |
+++ b/app/src/main/res/values/styles.xml | |
@@ -150,11 +150,17 @@ | |
<!-- CheckBox Styles --> | |
<style name="CheckBox" parent="@android:style/Widget.CompoundButton.CheckBox"> | |
+ <item name="colorAccent">@color/colorAccent</item> | |
+ <item name="android:textColorSecondary">@color/colorPrimary</item> | |
+ <item name="android:textColor">#000000</item> | |
<item name="android:textSize">16sp</item> | |
</style> | |
<style name="CheckBox.Dark" parent="CheckBox"> | |
+ <item name="colorAccent">@color/colorAccentDark</item> | |
+ <item name="android:textColorSecondary">@color/colorPrimaryDark</item> | |
<item name="android:textColor">#ffffff</item> | |
+ <item name="android:textSize">16sp</item> | |
</style> | |
<!-- Button Styles --> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment