From 33cb13dee5a527ac445ea1b13d42723e4eb3e3b0 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Mon, 13 Oct 2014 21:00:47 -0400 Subject: Xworld - Another World interpreter for Rockbox Co-conspirators: Franklin Wei, Benjamin Brown -------------------------------------------------------------------- This work is based on: - Fabien Sanglard's "Fabother World" based on - Piotr Padkowski's newRaw interpreter which was based on - Gregory Montoir's reverse engineering of - Eric Chahi's assembly code -------------------------------------------------------------------- Progress: * The plugin runs pretty nicely (with sound!) on most color targets * Keymaps for color LCD targets are complete * The manual entry is finished * Grayscale/monochrome support is NOT PLANNED - the game looks horrible in grayscale! :p -------------------------------------------------------------------- Notes: * The original game strings were built-in to the executable, and were copyrighted and could not be used. * This port ships with an alternate set of strings by default, but can load the "official" strings from a file at runtime. -------------------------------------------------------------------- To be done (in descending order of importance): * vertical stride compatibility <30% done> * optimization <10% done> Change-Id: I3155b0d97c2ac470cb8a2040f40d4139ddcebfa5 Reviewed-on: http://gerrit.rockbox.org/1077 Reviewed-by: Michael Giacomelli --- manual/plugins/xworld.tex | 81 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 manual/plugins/xworld.tex (limited to 'manual/plugins/xworld.tex') diff --git a/manual/plugins/xworld.tex b/manual/plugins/xworld.tex new file mode 100644 index 0000000000..32e3ecbf78 --- /dev/null +++ b/manual/plugins/xworld.tex @@ -0,0 +1,81 @@ +\subsection{XWorld} + +In this cinematic, award winning platform game by Éric Chahi, you must evade capture +and do your best to escape an alien planet. After an experiment goes awry the hero +must team up with an unlikely ally, when they both become fugitives on another world. +XWorld requires the data files, bank* and memlist.bin, from the original "Another World" +PC game to be copied into the .rockbox/xworld/ directory before the game can be played. + +\begin{btnmap} + % + \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD% + ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% + ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD% + ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD} + {\ButtonUp} + \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonMenu} + \opt{IRIVER_H10_PAD}{\ButtonScrollUp} + \opt{HAVE_TOUCHSCREEN}{\TouchTopMiddle} + \opt{PBELL_VIBE500_PAD}{\ButtonOk} + \opt{HAVEREMOTEKEYMAP}{& } + & Up and Jump \\ + % + \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD% + ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% + ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD% + ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD} + {\ButtonDown} + \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonPlay} + \opt{IRIVER_H10_PAD}{\ButtonScrollDown} + \opt{HAVE_TOUCHSCREEN}{\TouchBottomMiddle} + \opt{PBELL_VIBE500_PAD}{\ButtonCancel} + \opt{HAVEREMOTEKEYMAP}{& } + & Down and Crouch\\ + % + \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD% + ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% + ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD% + ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD% + ,IRIVER_H10_PAD} + {\ButtonLeft / \ButtonRight} + \opt{HAVE_TOUCHSCREEN}{\TouchMidLeft / \TouchMidRight} + \opt{PBELL_VIBE500_PAD}{\ButtonMenu / \ButtonPlay} + \opt{HAVEREMOTEKEYMAP}{& } + & Move Left and Right\\ + % + \opt{SANSA_FUZE_PAD}{\ButtonHome} + \opt{SAMSUNG_YH920_PAD}{\ButtonFFWD} + \opt{IRIVER_H300_PAD,SANSA_E200_PAD,SAMSUNG_YH820_PAD,IAUDIO_X5M5_PAD}{\ButtonRec} + \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,CREATIVE_ZEN_PAD,SANSA_CLIP_PAD}{\ButtonSelect} + \opt{SONY_NWZ_PAD,CREATIVEZVM_PAD}{\ButtonPlay} + \opt{ONDAVX777_PAD,MROBE500_PAD,PBELL_VIBE500_PAD}{\ButtonPower} + \opt{SAMSUNG_YPR0_PAD}{\ButtonUser} + \opt{IRIVER_H10_PAD}{\ButtonRew} + \opt{HM801_PAD}{\ButtonPrev} + \opt{SONY_NWZ_PAD,CREATIVEZVM_PAD}{\ButtonPlay} + \opt{MROBE500_PAD}{\ButtonPower} + \opt{DX50_PAD,ONDAVX747_PAD,PHILIPS_HDD1630_PAD,PHILIPS_HDD6330_PAD,PHILIPS_SA9200_PAD% + ,CREATIVE_ZENXFI2_PAD,CREATIVE_ZENXFI3_PAD,SANSA_CONNECT_PAD,SANSA_C200_PAD% + ,SANSA_FUZEPLUS_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonVolUp} + \opt{HAVE_TOUCHSCREEN}{\ButtonBottomLeft} + \opt{HAVEREMOTEKEYMAP}{& } + & Action and Fire\\ + % + \opt{DX50_PAD,ONDAVX747_PAD,PHILIPS_HDD1630_PAD,PHILIPS_HDD6330_PAD,PHILIPS_SA9200_PAD% + ,CREATIVE_ZENXFI2_PAD,CREATIVE_ZENXFI3_PAD,SANSA_CONNECT_PAD,SANSA_C200_PAD% + ,SANSA_FUZEPLUS_PAD}{\ButtonVolDown} + \opt{GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonMenu} + \opt{SANSA_FUZE_PAD}{\ButtonSelect} + \opt{SAMSUNG_YH920_PAD}{\ButtonRew} + \opt{SAMSUNG_YH820_PAD,IAUDIO_X5M5_PAD}{\ButtonPlay} + \opt{SANSA_E200_PAD,SANSA_CLIP_PAD}{\ButtonPower} + \opt{CREATIVE_ZEN_PAD,SONY_NWZ_PAD}{\ButtonBack} + \opt{CREATIVEZVM_PAD,SAMSUNG_YPR0_PAD}{\ButtonMenu} + \opt{IRIVER_H300_PAD}{\ButtonMode} + \opt{HM801_PAD}{\ButtonNext} + \opt{PBELL_VIBE500_PAD}{\ButtonRec} + \opt{IRIVER_H10_PAD}{\ButtonPlay} + \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonMenu / \ButtonSelect} + \opt{HAVEREMOTEKEYMAP}{& } + & Menu\\ +\end{btnmap} -- cgit v1.2.3