(Android) Add help system in Java frontend

This commit is contained in:
twinaphex 2013-02-08 01:14:56 +01:00
parent 64c0e39596
commit b560e58fb0
24 changed files with 466 additions and 1 deletions

View File

@ -22,6 +22,7 @@
</activity>
<activity android:name="org.retroarch.browser.SettingsActivity"></activity>
<activity android:name="org.retroarch.browser.HelpActivity"></activity>
<activity android:name="org.retroarch.browser.DirectoryActivity"></activity>
<activity android:name="org.retroarch.browser.ROMActivity"></activity>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="Enabling rewind will double the system requirements of a core (conservative ballpark figure here). It is NOT recommended that you turn on rewind with any core unless you know your device is capable of running said core at twice (or more) its full (realtime) speed.\n\n " />
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="NOTE: Cave Story/Doukutsu Monogatari was released as freeware back in 2004. For that reason we are allowed to host the data files.\n\nGo to this repository: https://github.com/libretro/nxengine-libretro\n\nDownload the entire 'datafiles' directory there and copy it to your device. Select 'NXEngine (Cave Story)' from the 'Select a Libretro Core' screen and select 'doukutsu.exe' (this file should be in the root of the datafiles directory that you just copied over). On first boot-up it will extract needed files from the EXE file to disk - this will be a one-time procedure and will take slightly longer than all subsequent boots. After this is done you can play." />
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="NOTE: To run Prboom, you need to load a Doom WAD file. However, to run any Doom WAD file with Prboom, you'll also need a special WAD file in that folder called prboom.wad\n\nGo to this repository: https://github.com/libretro/libretro-prboom\n\nCopy the prboom.wad file to your device and put it in the same directory as the Doom WAD you're trying to play." />
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="Neo Geo games should be played with the Final Burn Alpha core. To run any Neo Geo games, you will need a BIOS file placed in the same directory as the game you want to play. The name of the BIOS file is 'neogeo.zip'. If it still doesn't work even with this BIOS file placed in the same directory, then either your ROM files are outdated or your Neo-Geo BIOS file is." />
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="NOTE: To play PC Engine CD games, you will need a BIOS file called 'syscard3.pce' placed in the same directory as the game you want to play."/>
</LinearLayout>

View File

@ -0,0 +1,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="Tegra 2 CPUs don't have NEON SIMD capabilities. Because of that, PCSX ReARMed will use an 'inferior' graphics plugin that doesn't look as good as the NEON GPU plugin. Nothing can be done about this other than get yourself a newer device so that you can enjoy the NEON version of PCSX ReARMed. Note - the NEON version of PCSX ReARMed is only shown in the list on devices that have a CPU with NEON support."
/>
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="If a game doesn't work with the PS1 emulator (PCSX ReARMed), you should be aware that there are two modes of operation -\n\n* HLE BIOS - If you do NOT have any BIOS files placed in the same directory as the game you're trying to load, then PCSX ReARMed will be in this mode. In this mode, you don't need a BIOS but game compatibility will be lower and some games will simply not play.\n\n* REAL BIOS - If you have BIOS files placed in the same directory as the game you're trying to load, then PCSX ReARMed will be in this mode. With a real BIOS, most games that previously didn't work before or had problems should work properly.\n\nNOTE: The BIOS files that it looks for are:\n\nscph1001.bin\n\nscph5500.bin\n\nscph5501.bin\n\nscph5502.bin\n\nscph7502.bin" />
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="NOTE: To play Sega CD/Mega CD games, you will need to have BIOS files placed in the same directory as the game you want to play. They should be named as follows:\n\n* bios_CD_E.bin\n\n* bios_CD_U.bin\n\n* bios_CD_J.bin\n\nIn case it needs any explaining, bios_CD_E.bin is the Mega CD EU BIOS, bios_CD_U.bin is the Sega CD US BIOS, and bios_CD_J.bin is the Mega CD Japanese BIOS."/>
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="There can be two reasons for this:\n\na) Either your device is not powerful enough to run the core you've selected at fullspeed.\n\nb) The refresh rate of the screen that your device reports is wrong. More on b) below.\n\n== REFRESH RATES AND RETROARCH ==\n\nUnlike other emulators, RetroArch does not use frameskipping. To get smooth gameplay and sound that are remotely close to the original hardware, RetroArch Android uses static synchronization. If you notice any skipping music or 'jerkiness' - rest assured it's not our code - it's likely that your device reports a wrong refreshrate to the OS (Android in this case). For instance, certain devices like the Note 2 have refresh rates below 60Hz.\n\nTo get any decent audio and video out of any application, you will have to synchronize the game's refresh rate with that of your screen - if the refresh rate cannot be properly synchronized, you will get bad audio pops and video glitchiness.\n\nThe problem is that a good many Android devices 'report' the wrong refresh rate to Android. The Samsung Galaxy S3 is known for doing this - it reports a 60Hz refresh rate when it isn't (the Note 2 for instance has a 58Hz screen but at least reports it correctly). So, because it 'reports' a wrong refresh rate, the option 'Synchronize refresh rate to screen' will not yield good results.\n\nIf you experience any audio pops on cores that should be running fullspeed on your device, you should go with manual synchronization. To do this, turn off 'Synchronize refresh rate to screen' and set 'Forced refresh rate (Hz)' - start at 59.94/59.95. If it still audio pops/crackles, lower the value until you hit a sweet spot.\n\nUnfortunately, there is no easier way to do this right now - if the vendor reports the refresh rate correctly, then 'Sync refreshrate to screen' will work like a charm - if not, you have to mess around with 'Forced refresh Rate'.\n\n Regardless, with a bit of experimentation you can get this right easily - I am running games on a single-core Cortex A8 device (1.2GHz - Allwinner A10) and I get no sound pops or any video glitchiness at all in most cores. So this is entirely a refresh rate issue that you can overcome easily on most devices by doing what I state above." />
</LinearLayout>

View File

@ -0,0 +1,28 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="The system requirements differ per Libretro core. The recommended system requirements mentioned below are for reaching fullspeed in most games (if you get any audio pops/crackles, then please read 'Why do games sound choppy on my device?'): \n
* SNES9X Next [Super Nintendo] : Dual-core ARM Cortex A9 CPU or higher. Yoshi's Island and other SuperFX games might need higher system requirements.\n
* VBA Next [Game Boy Advance] : At least a dual-core ARM Cortex A9 CPU or higher.\n
* FCEUmm [Nintendo NES] : Has been tested to run at fullspeed on an ARM Cortex A8 single-core CPU.\n
* NEStopia [Nintendo NES] : Has been tested to run at fullspeed on an ARM Cortex A8 single-core CPU.\n
* Gambatte [GameBoy/Game Boy Color] : Has been tested to run at fullspeed on an ARM Cortex A8 single-core CPU.\n
* Final Burn Alpha [Arcade] : Performance varies based on the game you want to play. Systems like CPS2 and Neogeo have been tested to run at fullspeed on an ARM Cotex A8 single-core CPU. CPS3 games need a dual-core ARM Cortex A9-based CPU. Your mileage with other games may vary.\n
* Genesis Plus GX [Sega Genesis/Sega CD/Master System/SG-1000] : Has been tested o run at fullspeed on an ARM Cortex A8 single-core CPU for most games. Virtua Racing will need a dual-core ARM Cortex A9-based CPU.\n
* NX Engine [Cave Story] : Has been tested to run at fullspeed on an ARM Cortex A8 single-core CPU. Note - sound is currently imperfect in this core.\n
* PCSX ReARMed [PlayStation1] : Most games will run fullspeed on an ARM Cortex A8 single-core CPU. Higher-resolution interlaced games (such as Tekken 3, Tobal 2, Dead or Alive 1) will need at least a dual-core ARM Cortex A9 CPU and up.\n
* Prboom [DOOM] : Has been tested to run at fullspeed on an ARM Cortex A8 single-core CPU.\n
* Mednafen NGP [NeoGeo Pocket Color] : Has been tested to run at fullspeed on an ARM Cortex A8 single-core CPU.\n
* Mednafen WonderSwan [WonderSwan] : Has been tested to run at fullspeed on an ARM Cortex A8 single-core CPU.\n
* Mednafen Virtual Boy [Virtual Boy] : Dual-core ARM Cortex A9 CPU or higher.\n
* Mednafen PC Engine [PC Engine] : Has been tested to run at fullspeed on an ARM Cortex A8 single-core CPU.\n
" />
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="In layman's terms, a 'Libretro core' is something you use to either:\n\na) Play games meant for a specific 'simulated' system (i.e. an emulator)\n\nb) Play games meant for a specific game engine (ie. Doom [Prboom], Cave Story [NXEngine]).\n\nLibretro cores will not play any games by themselves - just like how a games console needs a DVD or a cartridge to play a game, so too does a Libretro core either need 'ROM files' or a 'CD ISO' image in order to play games with it." />
</LinearLayout>

View File

@ -0,0 +1,79 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="
r10 (Feb 5, 2013)\n\n
* [NXEngine / Cave Story] Fixed bug where moving blocks would not move in Labyrinth levels\n
* Add new psx and GBA overlays by user boxs.\n
* Should fix some touchscreen control issues.\n
\n
r9 (Feb 4, 2013)\n\n
* Better multi-touch controls.\n
* Ability to set opacity of overlays.\n
* Shaders bundled (NOTE: need Tegra 4/Exynos5-class GPU for good results).\n
* Input autodetection expanded -\n
- Xperia Play (now properly tested on an r800i)\n
- Madcatz PS3 fighting stick\n
- Moga IME app (previously would work only on rooted devices with gamepad mode)\n
* Doesn't extract the assets everytime you go to the menu but only when you first install the new APK - was causing lots of garbage collector overhead.\n
* FBA core - fixed a serious bug causing graphic glitches.\n
* Nestopia core - use mono sound like the real NES.\n
* Genesis Plus GX - Lunar Eternal Blue (JP) works again.\n
\n
r8 (Jan 30, 2013) - VERSION 0.9.8.1\n\n
* Is now compatible with Android version 2.3 and up.\n
* Back button issues with certain gamepads should now be fixed.\n
* Wonderswan core was broken (Mednafen Wonderswan) - is now fixed.\n
* 'Detect' button for manual input binding for touchless devices.\n
* Old overlays are back and put into a directory called 'Low-resolution' for devices with slower CPUs - the higher-resolution ones are somewhat more demanding than the original 256x256 ones.\n
* Input autodetection expanded -\n
- DragonRise USB Gamepad\n
\n
r6 (Jan 29, 2013)\n\n
* PlayStation1 [PCSX ReARMed] core fixes (from notaz)\n
- Fixes 50Hz PAL games (were running with sound being too fast and other irregularities before)\n
- Should fix emu crashing on some devices due to memory mapping issues.\n
* New system-specific overlays added - on new installs only these new ones will be there and the old bad ones will no longer be there. On pre-existing installs - just use the new ones - they should be much better. If you're still unsatisfied, nothing is stopping you from editing these files yourself with a text editor and an image editor - it's really simple to do.\n
* New 'custom binding' when you turn off 'Configuration Autodetect Enable' - allows you to manually put in button mapping in case we don't support your pad. Note - it's probably more reliable right now to select the 'keycode' from the dropdown list instead of pressing the button on the pad.\n
- Input autodetection expanded -\n
- Trust Raptor\n
- Should fix Logitech F710/Elecom/RetroUSB NES/etc\n
\n
r5 (Jan 28, 2013)\n\n
* Input autodetection expanded\n
- Archos gamepad\n
- Xperia Play\n
- Xbox 1 (Titanium X-JoyConverter)\n
- Xbox 360 (wired)\n
- Red Samurai Bluetooth\n
- Another variant of Mayflash Wii Classic\n
- RetroUSB SNES RetroPort\n
- RetroUSB NES RetroPad\n
- Buffalo SNES Pad\n
- Logicool F710 (Japanese Logitech F710)\n
- Elecom PS1/PS2 to USB\n
\n
r4 (Jan 27, 2013)\n\n
* Input autodetection expanded\n
- Nyko Playpad Pro\n
* Fixed bug where device name would not be onscreen for long enough - useful for reporting input name\n
\n
r3 (Jan 26, 2013)\n\n
* More user-friendly core selection names\n
* Input autodetection expanded\n
- Added Mayflash Super Joy Box 3 Pro\n
- Added JXD S5110\n
- Added Logitech Dual Action\n
- Added Snakebyte idroid\n
\n
r2\n\n
* Initial release." />
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="RetroArch Android is not a 'game'. What it is, however, is an 'engine' that allows you to run emulators and game engines.\n\nEmulators can play games that were made for the systems the emulator tries to simulate. For example, a SNES emulator can play SNES games in the form of files that are commonly referred to as 'ROM images'.\n\nDue to legalese, RetroArch Android does NOT come with ROMs or copyrighted material of any kind. Said material must be provided by yourself. DO NOT REQUEST WHERE TO GET ROMS. ANY E-MAILS RE: ROM REQUESTS WILL BE IGNORED.\n\nGame engine ports allow you to play specific games - for instance, prBoom is a game engine for the DOOM games, while NX-Engine is a game engine that can play Cave Story. To play these games, you must often provide the original datafiles of the game or else they will not work. The instructions as to how to play these 'game engines' differ per core." />
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="All these shaders came from the RetroArch versions on PlayStation3, Xbox 360 and PC. Compared to those systems, the GPUs in Android devices are very, very weak.\n\nThis problem will solve itself as Android devices will start getting more powerful GPUs. An example of a SoC that might handle most shaders at fullspeed would be the Tegra 4 with its 72-core GPU."/>
</LinearLayout>

View File

@ -0,0 +1,57 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="NOTE: Prboom only supports MP3 soundtracks right now. To have the game use MP3 files, the files must be correctly named and should be placed in the same directry as the WAD file.\n\nHere is a listing of the files that are looked for by Prboom when trying to playback music in-game.\n\n== FOR DOOM 1/ULTIMATE DOOM ==\n\ne1m1.mp3\n\ne1m2.mp3\n\ne1m3.mp\n\ne1m4.mp3\n\ne1m5.mp3\n\ne1m6.zip\n\ne1m7.mp3\n\ne1m8.mp3\n\ne1m9.mp3\n\n
e2m1.mp3\n\n
e2m2.mp3\n\n
e2m3.mp3\n\n
e2m4.mp3\n\n
e2m5.mp3\n\n
e2m6.mp3\n\n
e2m7.mp3\n\n
e2m8.mp3\n\n
e2m9.mp3\n\n
e3m1.mp3\n\n
e3m2.mp3\n\n
e3m3.mp3\n\n
e3m4.mp3\n\n
e3m5.mp3\n\n
e3m6.mp3\n\n
e3m7.mp3\n\n
e3m8.mp3\n\n
intermid1.mp3\n\n
intro.mp3\n\n
bunny.mp3\n\n
victor.mp3\n\n
\n\n
== FOR DOOM 2 ==\n\n
stalks.mp3\n\n
runnin.mp3\n\n
countd.mp3\n\n
betwee.mp3
doom.mp3\n\n
the_da.mp3\n\n
shawn.mp3\n\n
ddtblu.mp3\n\n
in_cit.mp3\n\n
dead.mp3\n\n
romero.mp3\n\n
messag.mp3\n\n
ampie.mp3\n\n
tense.mp3\n\n
openin.mp3\n\n
evil.mp3\n\n
ultima.mp3\n\n
read_m.mp3\n\n
dm2ttl.mp3\n\n
dm2int.mp3"
/>
</LinearLayout>

View File

@ -0,0 +1,21 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="Most likely reason is that it hasn't been added yet to the autodetection list. You can help us out with this by doing the following steps:\n\n
1. Go back to the main menu, bring up the popup menu. Select 'Settings' and go to 'Input Settings'.\n\n
2. Make sure that 'Debug Input Reporting Enable' is disabled.\n\n
3. After that, start up a game with any emu (doesn't matter which). The first thing I need to know exactly is the message that appears when you first press a button on the pad. It should say something like -\n\n'HID %somename here%'\n\n
3b. IF 3 FAILS - Another way you can give us the name of the pad is to do 'adb logcat' on the commandline from your PC (or for developers, use Eclipse). Connect a USB/BT/whatever device and it should show something like this (example here with a Rumblepad 2:\n\nI/EventHub( 175): New device: id=6, fd=106, path='/dev/input/event2', name='Logitech Logitech RumblePad 2 USB', classes=0x80000141, configuration='', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false\n\nI/InputReader( 175): Device added: id=6, name='Logitech Logitech RumblePad 2 USB', sources=0x01000511\n\n
4. (EXTRA STEP IN CASE YOU ARE USING A BLUETOOTH PAD) - Go to the main menu, bring up the Popup menu and click on 'Report IME'. Write down what it says in the dialog box. We will be needing this information from you.\n\n
4. Enable 'Debug Input Reporting Enable'.\n\n
5. The next few things I need to know is the keycode that each button on your pad will now report 'onscreen'. Every time you press a button, it will show you a message onscreen with the keycode for each button.\n\n
6. Send your results to libretro@gmail.com. MAKE SURE THAT YOU HAVE FOLLOWED ALL PREVIOUS STEPS. If you have provided all the information we need, somebody can then add it to the autodetection list.\n\nIn the meantime, in case your pad is not added yet to the autodetection list, you could try manually setting up controls. To do this, you will need to disable 'Configuration Autodetect' in Settings -> Input Settings." />
</LinearLayout>

View File

@ -0,0 +1,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="If the PS1 emulator [PCSX ReARMed] does not show up in the Main Menu, then chances are that your Android device has an MIPS or x86-based CPU. PCSX ReARMed is exclusive to ARM-based Android devices (which happens to be the vast majority of all devices out)."
/>
</LinearLayout>

View File

@ -0,0 +1,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40px"
android:text="VBA Next is an emulator that is based on VBA-M. This is a more accurate emulator than most, but it's also much slower. Unfortunately, while VBA Next seems to run very well even on a Nintendo Wii, it seems that as of this minute even medium heavyweight Android devices can't compete with a Nintendo Wii in terms of runtime performance.\n\nThere will be another Game Boy Advance core added shortly that will be a lot faster than VBA Next and will compete directly with Gameboid and other emus of this ilk. NOTE - Gameboid and those 'other emus' are based on the open-source emulator gpSP - which is also the emulator we will be basing this new faster core on." />
</LinearLayout>

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/rarch_settings" android:title="@string/rarch_settings" android:showAsAction="ifRoom" />
<item android:id="@+id/help" android:title="@string/help"></item>
<item android:id="@+id/input_method_select" android:title="@string/input_method" android:showAsAction="ifRoom" />
<item android:id="@+id/report_ime" android:title="@string/report_ime"></item>
<item android:id="@+id/report_refreshrate" android:title="@string/report_refreshrate"></item>

View File

@ -4,7 +4,7 @@
<string name="input_method">Input Method</string>
<string name="file_type_icon">File type icon</string>
<string name="video_settings">Video Settings</string>
<string name="rarch_settings">RetroArch Settings</string>
<string name="rarch_settings">Settings</string>
<string name="audio_settings">Audio Settings</string>
<string name="input_settings">Input Settings</string>
<string name="general_settings">General Settings</string>
@ -14,6 +14,7 @@
<string name="overlay_guide">Overlay How-to Guide</string>
<string name="key_bind_title">Select the button to use</string>
<string name="key_bind_clear">Unbind</string>
<string name="help">Help</string>
<string name="report_ime">Report IME</string>
<string name="report_refreshrate">Report Refresh Rate</string>
<string name="key_bind_detect">Detect</string>

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Help" >
<PreferenceScreen android:title="What's New?" >
<PreferenceCategory android:title="What's New?" android:layout="@layout/faq_whats_new" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Where are the games?" >
<PreferenceCategory android:title="Where are the games?" android:layout="@layout/faq_where_are_the_games" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="What is a 'Libretro core'?" >
<PreferenceCategory android:title="What is a 'Libretro core'?" android:layout="@layout/faq_what_is_a_libretro_core" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Libretro core system requirements" >
<PreferenceCategory android:title="Libretro core system requirements" android:layout="@layout/faq_system_requirements" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Why do games sound choppy on my device?" >
<PreferenceCategory android:title="Games sound choppy on my device?" android:layout="@layout/faq_sound_choppy" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Why are the shaders so slow on my device?" >
<PreferenceCategory android:title="Why are the shader so slow on my device?" android:layout="@layout/faq_why_are_the_shaders_so_slow" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Games are slow with rewind. Why?" >
<PreferenceCategory android:title="With rewind enabled, games are slow. Why?" android:layout="@layout/faq_games_are_slow_with_rewind_why" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Why doesn't it autodetect my gamepad?" >
<PreferenceCategory android:title="Why doesn't it autodetect my gamepad?" android:layout="@layout/faq_why_doesnt_it_autodetect_my_gamepad" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="How do I run Prboom/DOOM?" >
<PreferenceCategory android:title="How do I run Prboom/DOOM?" android:layout="@layout/faq_how_do_i_run_prboom" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="How do I run NXEngine/Cave Story?" >
<PreferenceCategory android:title="How do I run NXEngine/Cave Story?" android:layout="@layout/faq_how_do_i_run_cave_story" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Why does DOOM have no music?" >
<PreferenceCategory android:title="Why does DOOM have no music?" android:layout="@layout/faq_why_does_prboom_have_no_music" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Why doesn't my Neo Geo game work in Final Burn Alpha?" >
<PreferenceCategory android:title="Why doesn't my PS1 game work?" android:layout="@layout/faq_neo_geo_game_doesnt_work" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Why doesn't the PS1 core [PCSX ReARMed] show up in the list?" >
<PreferenceCategory android:title="Why doesn't the PS1 core [PCSX ReARMed] show up in the list?" android:layout="@layout/faq_why_doesnt_the_ps1_core_show_up_in_the_list" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="PS1 core looks bad on my Tegra 2, why?" >
<PreferenceCategory android:title="PS1 core looks bad on my Tegra 2, why?" android:layout="@layout/faq_ps1_core_looks_bad_on_my_tegra_2_why" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Why doesn't my PS1 game work?" >
<PreferenceCategory android:title="Why doesn't my PS1 game work?" android:layout="@layout/faq_ps1_game_doesnt_work" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Why doesn't my Sega CD game work?" >
<PreferenceCategory android:title="Why doesn't my Sega CD game work?" android:layout="@layout/faq_sega_cd_game_doesnt_work" >
</PreferenceCategory>
</PreferenceScreen>
<PreferenceScreen android:title="Why is VBA Next/Game Boy Advance so slow compared to other emus ?" >
<PreferenceCategory android:title="Why is VBA Next/Game Boy Advance so slow compared to other emus?" android:layout="@layout/faq_why_is_gba_so_slow" >
</PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen>

View File

@ -0,0 +1,17 @@
package org.retroarch.browser;
import org.retroarch.R;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
public class HelpActivity extends PreferenceActivity {
@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.help);
PreferenceManager.setDefaultValues(this, R.xml.help, false);
}
}

View File

@ -489,6 +489,10 @@ public class RetroArch extends Activity implements
Intent rset = new Intent(this, SettingsActivity.class);
startActivity(rset);
return true;
case R.id.help:
Intent help = new Intent(this, HelpActivity.class);
startActivity(help);
return true;
case R.id.report_ime:
String current_ime = Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);