Added RetroArch 1.0.0.2

master
AlexanderR 2014-11-19 08:11:02 +10:00
parent d75f67c0fd
commit 526cc12ce4
10 changed files with 564 additions and 2 deletions

143
metadata/com.retroarch.txt Normal file
View File

@ -0,0 +1,143 @@
Categories:Games
License:GPLv3+
# See also:
# http://mednafen.sourceforge.net/documentation/psx.html
# http://notaz.gp2x.de/pcsx_rearmed.php
# http://byuu.org/higan
Web Site:http://www.libretro.com
Source Code:https://github.com/libretro/RetroArch
Issue Tracker:https://github.com/libretro/RetroArch/issues
Name:RetroArch
Auto Name:RetroArch
Summary:Modular multi-system emulator
Description:
RetroArch is a modular multi-system game/emulator system that is designed to be fast,
lightweight, and portable. It allows emulator developers to implement their emulators as special
libraries (RetroArch cores) to target wide range of platforms, including game consoles and mobile
devices, without writing any platform-specific code.
Latest F-Droid build supports following systems:
* Play Station 1 via Mednafen PSX (x86/MIPS) and PCSX ReARMed (ARM)
* Super Nintendo Entertainment System with bSNES (x86/ARM only)
* VisualBoyAdvance with VBA-M
* Atari 2600 with Stella
* Cave Story aka Dōkutsu Monogatari pseudo-system with NxEngine
.
Maintainer Notes:
Releases are hard to pinpoint. Tags currently make sense for desktop version only.
See http://www.libretro.com/index.php/downloads/ for exact release dates. Some
modules have to be built from commits published after upstream release to fix
compilation issues, everything else comes from commits as close to apk publishing
date as possible.
See also:
https://github.com/libretro/RetroArch/wiki/Compilation-guide-(Android-from-Linux)
https://github.com/libretro/libretro-super/blob/HEAD/libretro-fetch.sh
https://github.com/libretro/libretro-super/blob/HEAD/libretro-build-android-mk.sh
Version codes:
+0: - (upstream)
+1: armv7
+2: mips
+3: x86 (CV)
.
Repo Type:git
Repo:https://github.com/libretro/RetroArch.git
# removed Play Services, fixed build and tackled intro dialog
Build:1.0.0.2,37
commit=9a66975589c5d2544bdfdae2e965b3a27e7149a5
patch=fdroid-rarch.patch
target=android-21
subdir=android/phoenix
forcevercode=yes
update=.,libs/appcompat
scanignore=libs/appcompat/libs
scandelete=.,..
srclibs=libretro-super@9c8997ecc,libretro-overlays@fc92b86be,rarch-common-shaders@cd3175237,pcsx_rearmed@9c79adfd3,bSNES@033e25b1b,vba-m@9a3b3f36a,nxengine@3ad46418b,stella-libretro@618c90ecc
prebuild=mkdir -p assets/{cores,overlays,shaders_glsl} && \
cp -R $$libretro-overlays$$/* assets/overlays/ && \
cp -R $$libretro-super$$/dist/info assets/ && \
../../tools/cg2glsl.py $$rarch-common-shaders$$ assets/shaders_glsl && \
sed 's/\$(SRCDIR)/..\/../' -i $$bSNES$$/target-libretro/jni/Android.mk && \
sed -i "s|RARCH_DIR := ../../..|RARCH_DIR := $(realpath ../../)|" jni/Android.mk && \
build=CFLAGS="-D_ANDROID_KEYCODES_H" $$NDK$$/ndk-build -C . APP_ABI=armeabi-v7a && \
$$NDK$$/ndk-build -C $$stella-libretro$$/jni APP_ABI=armeabi-v7a && \
mv $$stella-libretro$$/libs/armeabi-v7a/* assets/cores/stella_libretro_android.so && \
$$NDK$$/ndk-build -C $$vba-m$$/src/libretro/jni APP_ABI=armeabi-v7a && \
mv $$vba-m$$/src/libretro/libs/armeabi-v7a/* assets/cores/vbam_libretro_android.so && \
$$NDK$$/ndk-build -C $$nxengine$$/jni APP_ABI=armeabi-v7a && \
mv $$nxengine$$/libs/armeabi-v7a/* assets/cores/nxengine_libretro_android.so && \
$$NDK$$/ndk-build -C $$pcsx_rearmed$$ APP_ABI=armeabi-v7a && \
mv $$pcsx_rearmed$$/libs/armeabi-v7a/* assets/cores/pcsx_rearmed_libretro_neon_android.so && \
$$NDK$$/ndk-build -C $$bSNES$$/target-libretro APP_ABI=armeabi-v7a && \
mv $$bSNES$$/target-libretro/libs/armeabi-v7a/* assets/cores/bsnes_performance_libretro_android.so
buildjni=no
Build:1.0.0.2,38
commit=9a66975589c5d2544bdfdae2e965b3a27e7149a5
patch=fdroid-rarch.patch
target=android-21
subdir=android/phoenix
forcevercode=yes
update=.,libs/appcompat
scanignore=libs/appcompat/libs
scandelete=.,..
srclibs=libretro-super@9c8997ecc,libretro-overlays@fc92b86be,rarch-common-shaders@cd3175237,vba-m@9a3b3f36a,nxengine@3ad46418b,stella-libretro@618c90ecc,mednafen-psx@af0ce6574
prebuild=mkdir -p assets/{cores,overlays,shaders_glsl} && \
cp -R $$libretro-overlays$$/* assets/overlays/ && \
cp -R $$libretro-super$$/dist/info assets/ && \
../../tools/cg2glsl.py $$rarch-common-shaders$$ assets/shaders_glsl && \
sed -i "s|RARCH_DIR := ../../..|RARCH_DIR := $(realpath ../../)|" jni/Android.mk
build=CFLAGS="-D_ANDROID_KEYCODES_H" $$NDK$$/ndk-build -C . APP_ABI=mips && \
$$NDK$$/ndk-build -C $$stella-libretro$$/jni APP_ABI=mips && \
mv $$stella-libretro$$/libs/mips/* assets/cores/stella_libretro_android.so && \
$$NDK$$/ndk-build -C $$vba-m$$/src/libretro/jni APP_ABI=mips && \
mv $$vba-m$$/src/libretro/libs/mips/* assets/cores/vbam_libretro_android.so && \
$$NDK$$/ndk-build -C $$nxengine$$/jni APP_ABI=mips && \
mv $$nxengine$$/libs/mips/* assets/cores/nxengine_libretro_android.so && \
$$NDK$$/ndk-build -C $$mednafen-psx$$/jni APP_ABI=mips && \
mv $$mednafen-psx$$/libs/mips/* assets/cores/mednafen_psx_libretro_android.so
buildjni=no
Build:1.0.0.2,39
commit=9a66975589c5d2544bdfdae2e965b3a27e7149a5
patch=fdroid-rarch.patch
target=android-21
subdir=android/phoenix
forcevercode=yes
update=.,libs/appcompat
scanignore=libs/appcompat/libs
scandelete=.,..
srclibs=libretro-super@9c8997ecc,libretro-overlays@fc92b86be,rarch-common-shaders@cd3175237,vba-m@9a3b3f36a,nxengine@3ad46418b,stella-libretro@618c90ecc,mednafen-psx@af0ce6574,bSNES@033e25b1b
prebuild=mkdir -p assets/{cores,overlays,shaders_glsl} && \
cp -R $$libretro-overlays$$/* assets/overlays/ && \
cp -R $$libretro-super$$/dist/info assets/ && \
../../tools/cg2glsl.py $$rarch-common-shaders$$ assets/shaders_glsl && \
sed 's/\$(SRCDIR)/..\/../' -i $$bSNES$$/target-libretro/jni/Android.mk && \
sed -i "s|RARCH_DIR := ../../..|RARCH_DIR := $(realpath ../../)|" jni/Android.mk
build=CFLAGS="-D_ANDROID_KEYCODES_H" $$NDK$$/ndk-build -C . APP_ABI=x86 && \
$$NDK$$/ndk-build -C $$stella-libretro$$/jni APP_ABI=x86 && \
mv $$stella-libretro$$/libs/x86/* assets/cores/stella_libretro_android.so && \
$$NDK$$/ndk-build -C $$vba-m$$/src/libretro/jni APP_ABI=x86 && \
mv $$vba-m$$/src/libretro/libs/x86/* assets/cores/vbam_libretro_android.so && \
$$NDK$$/ndk-build -C $$nxengine$$/jni APP_ABI=x86 && \
mv $$nxengine$$/libs/x86/* assets/cores/nxengine_libretro_android.so && \
$$NDK$$/ndk-build -C $$bSNES$$/target-libretro APP_ABI=x86 && \
mv $$bSNES$$/target-libretro/libs/x86/* assets/cores/bsnes_performance_libretro_android.so && \
$$NDK$$/ndk-build -C $$mednafen-psx$$/jni APP_ABI=x86 && \
mv $$mednafen-psx$$/libs/x86/* assets/cores/mednafen_psx_libretro_android.so
buildjni=no
Auto Update Mode:None
Archive Policy:6 versions
Update Check Mode:None
Current Version:1.0.0.2
Vercode Operation:%c + 3
Current Version Code:37

View File

@ -0,0 +1,402 @@
diff --git a/android/phoenix/AndroidManifest.xml b/android/phoenix/AndroidManifest.xml
index b686f73..f45cb74 100644
--- a/android/phoenix/AndroidManifest.xml
+++ b/android/phoenix/AndroidManifest.xml
@@ -19,7 +19,6 @@
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:hasCode="true">
- <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<activity android:name="com.retroarch.browser.DisplayRefreshRateTest"/>
<activity android:name="com.retroarch.browser.mainmenu.MainMenuActivity" android:exported="true" android:launchMode="singleInstance">
<intent-filter>
diff --git a/android/phoenix/project.properties b/android/phoenix/project.properties
index 164426b..f984037 100644
--- a/android/phoenix/project.properties
+++ b/android/phoenix/project.properties
@@ -14,4 +14,3 @@
target=android-17
android.library.reference.1=libs/appcompat
android.library=false
-android.library.reference.2=libs/googleplay
diff --git a/android/phoenix/res/values/strings.xml b/android/phoenix/res/values/strings.xml
index b6e064e..04db4f8 100644
--- a/android/phoenix/res/values/strings.xml
+++ b/android/phoenix/res/values/strings.xml
@@ -76,7 +76,7 @@
<string name="asset_extraction">Asset Extraction</string>
<!-- GPL cores AlertDialog -->
- <string name="keep_cores">Keep cores</string>
+ <string name="keep_cores">Good for me</string>
<string name="remove_cores">Remove non-GPL cores</string>
<!-- Refresh Rate Set OS Class -->
diff --git a/android/phoenix/src/com/retroarch/browser/mainmenu/gplwaiver/GPLWaiverDialogFragment.java b/android/phoenix/src/com/retroarch/browser/mainmenu/gplwaiver/GPLWaiverDialogFragment.java
index 12b5cc0..41e5604 100644
--- a/android/phoenix/src/com/retroarch/browser/mainmenu/gplwaiver/GPLWaiverDialogFragment.java
+++ b/android/phoenix/src/com/retroarch/browser/mainmenu/gplwaiver/GPLWaiverDialogFragment.java
@@ -36,28 +36,6 @@ public final class GPLWaiverDialogFragment extends DialogFragment
gplDialog.setTitle(R.string.gpl_waiver);
gplDialog.setMessage(R.string.gpl_waiver_desc);
gplDialog.setPositiveButton(R.string.keep_cores, null);
- gplDialog.setNegativeButton(R.string.remove_cores, new DialogInterface.OnClickListener()
- {
- @Override
- public void onClick(DialogInterface dialog, int which)
- {
- final File[] libs = new File(getActivity().getApplicationInfo().dataDir, "/cores").listFiles();
- for (final File lib : libs)
- {
- ModuleWrapper module = new ModuleWrapper(getActivity(), lib);
-
- boolean gplv3 = module.getCoreLicense().equals("GPLv3");
- boolean gplv2 = module.getCoreLicense().equals("GPLv2");
-
- if (!gplv3 && !gplv2)
- {
- String libName = lib.getName();
- Log.i("GPL WAIVER", "Deleting non-GPL core " + libName + "...");
- lib.delete();
- }
- }
- }
- });
return gplDialog.create();
}
diff --git a/android/phoenix/src/com/retroarch/browser/retroactivity/RetroActivityCommon.java b/android/phoenix/src/com/retroarch/browser/retroactivity/RetroActivityCommon.java
index 7b6e499..56ea6a0 100644
--- a/android/phoenix/src/com/retroarch/browser/retroactivity/RetroActivityCommon.java
+++ b/android/phoenix/src/com/retroarch/browser/retroactivity/RetroActivityCommon.java
@@ -5,7 +5,7 @@ import com.retroarch.browser.preferences.util.UserPreferences;
/**
* Class which provides common methods for RetroActivity related classes.
*/
-public class RetroActivityCommon extends RetroActivityLocation
+public class RetroActivityCommon extends android.app.NativeActivity
{
@Override
public void onDestroy()
diff --git a/android/phoenix/src/com/retroarch/browser/retroactivity/RetroActivityLocation.java b/android/phoenix/src/com/retroarch/browser/retroactivity/RetroActivityLocation.java
deleted file mode 100644
index 5d590f9..0000000
--- a/android/phoenix/src/com/retroarch/browser/retroactivity/RetroActivityLocation.java
+++ /dev/null
@@ -1,316 +0,0 @@
-package com.retroarch.browser.retroactivity;
-
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
-import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
-import com.google.android.gms.location.LocationClient;
-import com.google.android.gms.location.LocationListener;
-import com.google.android.gms.location.LocationRequest;
-import com.retroarch.browser.preferences.util.UserPreferences;
-
-import android.app.NativeActivity;
-import android.content.IntentSender;
-import android.content.SharedPreferences;
-import android.location.Location;
-import android.os.Bundle;
-import android.util.Log;
-import android.widget.Toast;
-
-/**
- * Class that implements location-based functionality for
- * the {@link RetroActivityFuture} and {@link RetroActivityPast}
- * activities.
- */
-public class RetroActivityLocation extends NativeActivity
-implements ConnectionCallbacks, OnConnectionFailedListener, LocationListener
-{
- /* LOCATION VARIABLES */
- private static int CONNECTION_FAILURE_RESOLUTION_REQUEST = 0;
- private LocationClient mLocationClient = null;
- private Location mCurrentLocation;
-
- // Define an object that holds accuracy and frequency parameters
- LocationRequest mLocationRequest = null;
- boolean mUpdatesRequested = false;
- boolean locationChanged = false;
- boolean location_service_running = false;
-
- /**
- * Called by Location Services when the request to connect the
- * client finishes successfully. At this point, you can
- * request the current location or start periodic updates
- */
- @Override
- public void onConnected(Bundle dataBundle)
- {
- if (mLocationClient == null)
- return;
-
- // Display the connection status
- Toast.makeText(this, "Connected", Toast.LENGTH_SHORT).show();
- location_service_running = true;
-
- // If already requested, start periodic updates
- if (mUpdatesRequested)
- {
- mLocationClient.requestLocationUpdates(mLocationRequest, this, null);
- }
- else
- {
- // Get last known location
- mCurrentLocation = mLocationClient.getLastLocation();
- locationChanged = true;
- }
- }
-
- /**
- * Called by Location Services if the connection to the
- * location client drops because of an error.
- */
- @Override
- public void onDisconnected()
- {
- if (mLocationClient == null)
- return;
-
- // Display the connection status
- Toast.makeText(this, "Disconnected. Please re-connect.", Toast.LENGTH_SHORT).show();
-
- // If the client is connected
- if (mLocationClient.isConnected())
- {
- /*
- * Remove location updates for a listener.
- * The current Activity is the listener, so
- * the argument is "this".
- */
- mLocationClient.removeLocationUpdates(this);
- }
-
- location_service_running = false;
- }
-
- /**
- * Called by Location Services if the attempt to
- * Location Services fails.
- */
- @Override
- public void onConnectionFailed(ConnectionResult connectionResult)
- {
- /*
- * Google Play services can resolve some errors it detects.
- * If the error has a resolution, try sending an Intent to
- * start a Google Play services activity that can resolve
- * error.
- */
- if (connectionResult.hasResolution())
- {
- try
- {
- // Start an Activity that tries to resolve the error
- connectionResult.startResolutionForResult(this, CONNECTION_FAILURE_RESOLUTION_REQUEST);
- }
- catch (IntentSender.SendIntentException e)
- {
- // Thrown if Google Play services cancelled the original PendingIntent
- e.printStackTrace();
- }
- }
- else
- {
- /*
- * If no resolution is available, display a dialog to the
- * user with the error.
- */
- Log.e("Connection failed", "error code: " + connectionResult.getErrorCode());
- }
- }
-
- /**
- * Sets the update interval at which location-based updates
- * should occur
- */
- public void onLocationSetInterval(int update_interval_in_ms, int distance_interval)
- {
- // Use high accuracy
- if (mLocationRequest == null)
- return;
-
- mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
-
- if (update_interval_in_ms == 0)
- mLocationRequest.setInterval(5 * 1000); // 5 seconds
- else
- mLocationRequest.setInterval(update_interval_in_ms);
-
- // Set the fastest update interval to 1 second
- mLocationRequest.setFastestInterval(1000);
- }
-
- /**
- * Initializing methods for location based functionality.
- */
- public void onLocationInit()
- {
- /*
- * Create a new location client, using the enclosing class to
- * handle callbacks.
- */
- if (mLocationClient == null)
- mLocationClient = new LocationClient(this, this, this);
-
- // Start with updates turned off
- mUpdatesRequested = false;
-
- // Create the LocationRequest object
- if (mLocationRequest == null)
- mLocationRequest = LocationRequest.create();
-
- onLocationSetInterval(0, 0);
- }
-
-
- /**
- * Executed upon starting the {@link LocationClient}.
- */
- public void onLocationStart()
- {
- if (mLocationClient == null)
- return;
-
- mUpdatesRequested = true;
-
- // Connect the client.
- mLocationClient.connect();
- }
-
- /**
- * Free up location services resources.
- */
- public void onLocationFree()
- {
- /* TODO/FIXME */
- }
-
- /**
- * Executed upon stopping the location client.
- * Does nothing if called when the client is not started.
- */
- public void onLocationStop()
- {
- // Disconnecting the client invalidates it.
- if (mLocationClient != null && mUpdatesRequested)
- mLocationClient.disconnect();
- }
-
- /**
- * Gets the latitude at the current location in degrees.
- *
- * @return the latitude at the current location.
- */
- public double onLocationGetLatitude()
- {
- return mCurrentLocation.getLatitude();
- }
-
- /**
- * Gets the longitude at the current location in degrees.
- *
- * @return the longitude at the current location.
- */
- public double onLocationGetLongitude()
- {
- return mCurrentLocation.getLongitude();
- }
-
- /**
- * Gets the horizontal accuracy of the current location
- * in meters. (NOTE: There seems to be no vertical accuracy
- * for a given location with the Android location API)
- *
- * @return the horizontal accuracy of the current position.
- */
- public double onLocationGetHorizontalAccuracy()
- {
- return mCurrentLocation.getAccuracy();
- }
-
- /**
- * Tells us whether the location listener callback has
- * updated the current location since the last time
- * we polled.
- *
- * @return true if location has changed, false if location has not changed.
- */
- public boolean onLocationHasChanged()
- {
- boolean hasChanged = locationChanged;
-
- // Reset flag
- if (hasChanged)
- locationChanged = false;
-
- return hasChanged;
- }
-
- // Define the callback method that receives location updates
- @Override
- public void onLocationChanged(Location location)
- {
- if (!location_service_running)
- return;
-
- locationChanged = true;
- mCurrentLocation = location;
-
- // Report to the UI that the location was updated
- String msg = "Updated Location: " + location.getLatitude() + ", " + location.getLongitude();
- Log.i("RetroArch GPS", msg);
- //Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
- }
-
- @Override
- public void onPause()
- {
- // Save the current setting for updates
- SharedPreferences prefs = UserPreferences.getPreferences(this);
- SharedPreferences.Editor edit = prefs.edit();
- edit.putBoolean("LOCATION_UPDATES_ON", mUpdatesRequested);
- edit.commit();
-
- super.onPause();
- }
-
- @Override
- public void onResume()
- {
- SharedPreferences prefs = UserPreferences.getPreferences(this);
- SharedPreferences.Editor edit = prefs.edit();
-
- /*
- * Get any previous setting for location updates
- * Gets "false" if an error occurs
- */
- if (prefs.contains("LOCATION_UPDATES_ON"))
- {
- mUpdatesRequested = prefs.getBoolean("LOCATION_UPDATES_ON", false);
- if (mUpdatesRequested)
- location_service_running = true;
- }
- else // Otherwise, turn off location updates
- {
- edit.putBoolean("LOCATION_UPDATES_ON", false);
- edit.commit();
- location_service_running = false;
- }
-
- super.onResume();
- }
-
- @Override
- public void onStop()
- {
- onLocationStop();
- super.onStop();
- }
-}

View File

@ -7,7 +7,7 @@ Web Site:http://www.libretro.com
Source Code:https://github.com/libretro/RetroArch
Issue Tracker:https://github.com/libretro/RetroArch/issues
Name:RetroArch
Name:RetroArch (obsolete)
Auto Name:RetroArch
Summary:Modular multi-system emulator
Description:
@ -16,10 +16,13 @@ lightweight, and portable. It allows emulator developers to implement their emul
libraries (RetroArch cores) to target wide range of platforms, including game consoles and mobile
devices, without writing any platform-specific code.
Latest F-Droid build supports following systems:
This build supports following systems:
* Play Station 1 with PCSX ReARMed core (ARMv7 only)
Note: upstream developer have changed package id, new package
is at [[com.retroarch]].
Anti-features: Addons. This build does not include non-free components, but majority of cores,
included in official .apk, have non-free licenses or contain proprietary parts.
.

View File

@ -0,0 +1,2 @@
Repo Type:git
Repo:git://github.com/libretro/common-overlays.git

View File

@ -0,0 +1,2 @@
Repo Type:git
Repo:git://github.com/libretro/libretro-super.git

2
srclibs/mednafen-psx.txt Normal file
View File

@ -0,0 +1,2 @@
Repo Type:git
Repo:git://github.com/libretro/beetle-psx-libretro.git

2
srclibs/nxengine.txt Normal file
View File

@ -0,0 +1,2 @@
Repo Type:git
Repo:git://github.com/libretro/nxengine-libretro.git

View File

@ -0,0 +1,2 @@
Repo Type:git
Repo:git://github.com/libretro/common-shaders.git

View File

@ -0,0 +1,2 @@
Repo Type:git
Repo:git://github.com/libretro/stella-libretro.git

2
srclibs/vba-m.txt Normal file
View File

@ -0,0 +1,2 @@
Repo Type:git
Repo:git://github.com/libretro/vbam-libretro.git