Merge pull request #50 from DrUm78/master

Merge changes from DrUm78
This commit is contained in:
Michel-FK 2025-08-03 09:58:45 +02:00 committed by GitHub
commit f80931084b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
792 changed files with 5224 additions and 13834 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@
*~
br.log
/images/
*.so

2
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "buildroot"]
path = buildroot
url = https://github.com/FunKey-Project/buildroot.git
url = https://github.com/DrUm78/buildroot.git

View File

@ -1,12 +1,5 @@
source "$BR2_EXTERNAL_FUNKEY_PATH/package/mednafen/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/fkgpiod/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/retrofe/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/PCSX-ReARMed/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/FCEUX/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/gnuboy/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/picodrive/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/PocketSNES/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/gpsp/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/dmtx-utils/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/ProdScreens/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/fonts-droid/Config.in"
@ -14,8 +7,10 @@ source "$BR2_EXTERNAL_FUNKEY_PATH/package/libini/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/libopk/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/libxdgmime/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/gmenu2x/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/agg/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/fluidlite/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/libmikmod/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/commander/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/bibi/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/picoarch/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/clock/Config.in"
source "$BR2_EXTERNAL_FUNKEY_PATH/package/st-sdl/Config.in"

View File

@ -160,6 +160,7 @@ CONFIG_SQUASHFS=y
# CONFIG_NETWORK_FILESYSTEMS is not set
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=y
CONFIG_PRINTK_TIME=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_BUGVERBOSE is not set

View File

@ -0,0 +1,11 @@
--- a/Makefile 2024-02-16 14:58:29.220126035 +0000
+++ b/Makefile 2024-02-16 14:58:46.572468923 +0000
@@ -393,7 +393,7 @@
KBUILD_AFLAGS := -D__ASSEMBLY__
KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
- -fno-strict-aliasing -fno-common -fshort-wchar \
+ -fno-strict-aliasing -fcommon -fshort-wchar \
-Werror-implicit-function-declaration \
-Wno-format-security \
-std=gnu89

View File

@ -0,0 +1,11 @@
--- a/scripts/dtc/dtc-lexer.l 2024-02-16 09:12:07.182655128 +0000
+++ b/scripts/dtc/dtc-lexer.l 2024-02-16 09:12:18.870713228 +0000
@@ -38,7 +38,7 @@
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
+extern YYLTYPE yylloc;
extern bool treesource_error;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */

View File

@ -0,0 +1,11 @@
--- a/scripts/dtc/dtc-lexer.lex.c_shipped 2024-02-16 15:05:07.227705986 +0000
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped 2024-02-16 15:05:35.040218551 +0000
@@ -631,7 +631,7 @@
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
+extern YYLTYPE yylloc;
extern bool treesource_error;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */

View File

@ -1,295 +0,0 @@
SDL_blit_A.c | 270 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 270 insertions(+)
diff --git a/src/video/SDL_blit_A.c b/src/video/SDL_blit_A.c
index 219cdcc..d8e921e 100644
--- a/src/video/SDL_blit_A.c
+++ b/src/video/SDL_blit_A.c
@@ -27,3 +34,270 @@
+
+/*!
+\brief Alpha adjustment table for custom blitter.
+
+The table provides values for a modified, non-linear
+transfer function which maintain brightness.
+
+*/
+const unsigned int GFX_ALPHA_ADJUST_ARRAY[256] = {
+ 0, /* 0 */
+ 15, /* 1 */
+ 22, /* 2 */
+ 27, /* 3 */
+ 31, /* 4 */
+ 35, /* 5 */
+ 39, /* 6 */
+ 42, /* 7 */
+ 45, /* 8 */
+ 47, /* 9 */
+ 50, /* 10 */
+ 52, /* 11 */
+ 55, /* 12 */
+ 57, /* 13 */
+ 59, /* 14 */
+ 61, /* 15 */
+ 63, /* 16 */
+ 65, /* 17 */
+ 67, /* 18 */
+ 69, /* 19 */
+ 71, /* 20 */
+ 73, /* 21 */
+ 74, /* 22 */
+ 76, /* 23 */
+ 78, /* 24 */
+ 79, /* 25 */
+ 81, /* 26 */
+ 82, /* 27 */
+ 84, /* 28 */
+ 85, /* 29 */
+ 87, /* 30 */
+ 88, /* 31 */
+ 90, /* 32 */
+ 91, /* 33 */
+ 93, /* 34 */
+ 94, /* 35 */
+ 95, /* 36 */
+ 97, /* 37 */
+ 98, /* 38 */
+ 99, /* 39 */
+ 100, /* 40 */
+ 102, /* 41 */
+ 103, /* 42 */
+ 104, /* 43 */
+ 105, /* 44 */
+ 107, /* 45 */
+ 108, /* 46 */
+ 109, /* 47 */
+ 110, /* 48 */
+ 111, /* 49 */
+ 112, /* 50 */
+ 114, /* 51 */
+ 115, /* 52 */
+ 116, /* 53 */
+ 117, /* 54 */
+ 118, /* 55 */
+ 119, /* 56 */
+ 120, /* 57 */
+ 121, /* 58 */
+ 122, /* 59 */
+ 123, /* 60 */
+ 124, /* 61 */
+ 125, /* 62 */
+ 126, /* 63 */
+ 127, /* 64 */
+ 128, /* 65 */
+ 129, /* 66 */
+ 130, /* 67 */
+ 131, /* 68 */
+ 132, /* 69 */
+ 133, /* 70 */
+ 134, /* 71 */
+ 135, /* 72 */
+ 136, /* 73 */
+ 137, /* 74 */
+ 138, /* 75 */
+ 139, /* 76 */
+ 140, /* 77 */
+ 141, /* 78 */
+ 141, /* 79 */
+ 142, /* 80 */
+ 143, /* 81 */
+ 144, /* 82 */
+ 145, /* 83 */
+ 146, /* 84 */
+ 147, /* 85 */
+ 148, /* 86 */
+ 148, /* 87 */
+ 149, /* 88 */
+ 150, /* 89 */
+ 151, /* 90 */
+ 152, /* 91 */
+ 153, /* 92 */
+ 153, /* 93 */
+ 154, /* 94 */
+ 155, /* 95 */
+ 156, /* 96 */
+ 157, /* 97 */
+ 158, /* 98 */
+ 158, /* 99 */
+ 159, /* 100 */
+ 160, /* 101 */
+ 161, /* 102 */
+ 162, /* 103 */
+ 162, /* 104 */
+ 163, /* 105 */
+ 164, /* 106 */
+ 165, /* 107 */
+ 165, /* 108 */
+ 166, /* 109 */
+ 167, /* 110 */
+ 168, /* 111 */
+ 168, /* 112 */
+ 169, /* 113 */
+ 170, /* 114 */
+ 171, /* 115 */
+ 171, /* 116 */
+ 172, /* 117 */
+ 173, /* 118 */
+ 174, /* 119 */
+ 174, /* 120 */
+ 175, /* 121 */
+ 176, /* 122 */
+ 177, /* 123 */
+ 177, /* 124 */
+ 178, /* 125 */
+ 179, /* 126 */
+ 179, /* 127 */
+ 180, /* 128 */
+ 181, /* 129 */
+ 182, /* 130 */
+ 182, /* 131 */
+ 183, /* 132 */
+ 184, /* 133 */
+ 184, /* 134 */
+ 185, /* 135 */
+ 186, /* 136 */
+ 186, /* 137 */
+ 187, /* 138 */
+ 188, /* 139 */
+ 188, /* 140 */
+ 189, /* 141 */
+ 190, /* 142 */
+ 190, /* 143 */
+ 191, /* 144 */
+ 192, /* 145 */
+ 192, /* 146 */
+ 193, /* 147 */
+ 194, /* 148 */
+ 194, /* 149 */
+ 195, /* 150 */
+ 196, /* 151 */
+ 196, /* 152 */
+ 197, /* 153 */
+ 198, /* 154 */
+ 198, /* 155 */
+ 199, /* 156 */
+ 200, /* 157 */
+ 200, /* 158 */
+ 201, /* 159 */
+ 201, /* 160 */
+ 202, /* 161 */
+ 203, /* 162 */
+ 203, /* 163 */
+ 204, /* 164 */
+ 205, /* 165 */
+ 205, /* 166 */
+ 206, /* 167 */
+ 206, /* 168 */
+ 207, /* 169 */
+ 208, /* 170 */
+ 208, /* 171 */
+ 209, /* 172 */
+ 210, /* 173 */
+ 210, /* 174 */
+ 211, /* 175 */
+ 211, /* 176 */
+ 212, /* 177 */
+ 213, /* 178 */
+ 213, /* 179 */
+ 214, /* 180 */
+ 214, /* 181 */
+ 215, /* 182 */
+ 216, /* 183 */
+ 216, /* 184 */
+ 217, /* 185 */
+ 217, /* 186 */
+ 218, /* 187 */
+ 218, /* 188 */
+ 219, /* 189 */
+ 220, /* 190 */
+ 220, /* 191 */
+ 221, /* 192 */
+ 221, /* 193 */
+ 222, /* 194 */
+ 222, /* 195 */
+ 223, /* 196 */
+ 224, /* 197 */
+ 224, /* 198 */
+ 225, /* 199 */
+ 225, /* 200 */
+ 226, /* 201 */
+ 226, /* 202 */
+ 227, /* 203 */
+ 228, /* 204 */
+ 228, /* 205 */
+ 229, /* 206 */
+ 229, /* 207 */
+ 230, /* 208 */
+ 230, /* 209 */
+ 231, /* 210 */
+ 231, /* 211 */
+ 232, /* 212 */
+ 233, /* 213 */
+ 233, /* 214 */
+ 234, /* 215 */
+ 234, /* 216 */
+ 235, /* 217 */
+ 235, /* 218 */
+ 236, /* 219 */
+ 236, /* 220 */
+ 237, /* 221 */
+ 237, /* 222 */
+ 238, /* 223 */
+ 238, /* 224 */
+ 239, /* 225 */
+ 240, /* 226 */
+ 240, /* 227 */
+ 241, /* 228 */
+ 241, /* 229 */
+ 242, /* 230 */
+ 242, /* 231 */
+ 243, /* 232 */
+ 243, /* 233 */
+ 244, /* 234 */
+ 244, /* 235 */
+ 245, /* 236 */
+ 245, /* 237 */
+ 246, /* 238 */
+ 246, /* 239 */
+ 247, /* 240 */
+ 247, /* 241 */
+ 248, /* 242 */
+ 248, /* 243 */
+ 249, /* 244 */
+ 249, /* 245 */
+ 250, /* 246 */
+ 250, /* 247 */
+ 251, /* 248 */
+ 251, /* 249 */
+ 252, /* 250 */
+ 252, /* 251 */
+ 253, /* 252 */
+ 253, /* 253 */
+ 254, /* 254 */
+ 255 /* 255 */
+};
+
/*
In Visual C, VC6 has mmintrin.h in the "Processor Pack" add-on.
Checking if _mm_free is #defined in malloc.h is is the only way to
@@ -2679,6 +2985,7 @@ static void BlitNtoNPixelAlpha(SDL_BlitInfo *info)
int dstskip = info->d_skip;
SDL_PixelFormat *srcfmt = info->src;
SDL_PixelFormat *dstfmt = info->dst;
+ uint8_t alpha_multiply = srcfmt->alpha;
int srcbpp;
int dstbpp;
@@ -2705,6 +3012,8 @@ static void BlitNtoNPixelAlpha(SDL_BlitInfo *info)
unsigned sA;
unsigned dA;
DISEMBLE_RGBA(src, srcbpp, srcfmt, Pixel, sR, sG, sB, sA);
+ sA=(sA*alpha_multiply)>>8;
+ sA=GFX_ALPHA_ADJUST_ARRAY[sA & 255];
if(sA) {
DISEMBLE_RGBA(dst, dstbpp, dstfmt, Pixel, dR, dG, dB, dA);
ALPHA_BLEND(sR, sG, sB, sA, dR, dG, dB);

View File

@ -1,26 +0,0 @@
Merge this bug as it can affect performance :
https://github.com/OpenDingux/SDL/commit/e51100dce8da9099278dac9f5affbecf6396378b
--- a/src/audio/alsa/SDL_alsa_audio.c
+++ b/src/audio/alsa/SDL_alsa_audio.c
@@ -479,6 +479,10 @@
return(-1);
}
+ /* Switch to blocking mode for playback */
+ /* Note: this must happen before hw/sw params are set. */
+ SDL_NAME(snd_pcm_nonblock)(pcm_handle, 0);
+
/* Figure out what the hardware is capable of */
snd_pcm_hw_params_alloca(&hwparams);
status = SDL_NAME(snd_pcm_hw_params_any)(pcm_handle, hwparams);
@@ -611,9 +615,6 @@
}
SDL_memset(mixbuf, spec->silence, spec->size);
- /* Switch to blocking mode for playback */
- SDL_NAME(snd_pcm_nonblock)(pcm_handle, 0);
-
/* We're ready to rock and roll. :-) */
return(0);
}

View File

@ -1,22 +0,0 @@
diff --git a/src/video/fbcon/SDL_fbevents.c b/src/video/fbcon/SDL_fbevents.c
index 5e369a4..549a7ad 100644
--- a/src/video/fbcon/SDL_fbevents.c
+++ b/src/video/fbcon/SDL_fbevents.c
@@ -270,17 +270,6 @@ int FB_OpenKeyboard(_THIS)
fprintf(stderr, "vtpath = %s, fd = %d\n",
vtpath, keyboard_fd);
#endif /* DEBUG_KEYBOARD */
-
- /* This needs to be our controlling tty
- so that the kernel ioctl() calls work
- */
- if ( keyboard_fd >= 0 ) {
- tty0_fd = open("/dev/tty", O_RDWR, 0);
- if ( tty0_fd >= 0 ) {
- ioctl(tty0_fd, TIOCNOTTY, 0);
- close(tty0_fd);
- }
- }
}
}
if ( keyboard_fd < 0 ) {

View File

@ -3,9 +3,9 @@
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620,ptmxmode=0666 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs mode=1777 0 0
tmpfs /tmp tmpfs mode=1777,size=128m 0 0
tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0
sysfs /sys sysfs defaults 0 0
/dev/mmcblk0p3 none swap sw 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
/dev/mmcblk0p4 /mnt vfat rw,relatime,fmask=0022,dmask=0022,iocharset=iso8859-1,shortname=mixed 0 0
/dev/mmcblk0p4 /mnt vfat rw,relatime,fmask=0022,dmask=0022,iocharset=utf8,shortname=mixed 0 0

View File

@ -50,9 +50,6 @@ cancel_sched_powerdown() {
# Relocate HOME into the r/w partition
export HOME=/mnt/FunKey
mkdir -p "${HOME}"
export MEDNAFEN_HOME=$HOME/.mednafen
mkdir -p "${MEDNAFEN_HOME}"
cp "/usr/games/lynxboot.img" "/usr/games/mednafen-09x.cfg" "${MEDNAFEN_HOME}/"
export GMENU2X_HOME="$HOME/.gmenu2x"
mkdir -p "${GMENU2X_HOME}"
export RETROFE_HOME="$HOME/.retrofe"

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = zip,ZIP,lnx,LNX
list.extensions = lnx,LNX,lyx,LYX,o,O,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = lynx
#metadata.type = MAME

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = gba,GBA,zip,ZIP
list.extensions = gba,GBA,bin,BIN,agb,AGB,gbz,GBZ,u1,U1,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = gba
#metadata.type = MAME

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = gbc,GBC
list.extensions = gbc,GBC,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = gameboy
#metadata.type = MAME

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = gb,GB
list.extensions = gb,GB,dmg,DMG,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = gameboy
#metadata.type = MAME

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = zip,ZIP,gg,GG
list.extensions = gg,GG,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = gamegear
#metadata.type = MAME

View File

@ -0,0 +1,22 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = so,SO
list.menuSort = yes
list.romHierarchy = true
launcher = picoarch
#metadata.type = MAME
#media.screenshot = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/screenshot
#media.screentitle = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/screentitle
#media.artwork_back = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/artwork_back
media.artwork_front = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
#media.logo = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/logo
#media.medium_back = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/medium_back
#media.medium_front = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/medium_front
#media.screenshot = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/screenshot
#media.screentitle = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/screentitle
#media.video = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/video
#media.system_artwork = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/system_artwork

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -11,3 +11,5 @@ Atari lynx
Neo Geo Pocket
WonderSwan
PS1
Libretro
Native games

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = nes,NES,fds,FDS,zip,ZIP
list.extensions = fds,FDS,nes,NES,unf,UNF,unif,UNIF,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = NES
#metadata.type = MAME

View File

@ -0,0 +1,22 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = elf,ELF,opk,OPK
list.menuSort = yes
list.romHierarchy = true
launcher = native
#metadata.type = MAME
#media.screenshot = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/screenshot
#media.screentitle = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/screentitle
#media.artwork_back = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/artwork_back
media.artwork_front = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
#media.logo = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/logo
#media.medium_back = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/medium_back
#media.medium_front = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/medium_front
#media.screenshot = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/screenshot
#media.screentitle = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/screentitle
#media.video = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/medium_artwork/video
#media.system_artwork = %BASE_MEDIA_PATH%/%ITEM_COLLECTION_NAME%/system_artwork

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = zip,ZIP,ngp,NGP,ngc,NGC
list.extensions = ngp,NGP,ngc,NGC,ngpc,NGPC,npc,NPC,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = ngp
#metadata.type = MAME

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = zip,ZIP,pce,PCE,sgx,SGX,cue,CUE
list.extensions = pce,PCE,sgx,SGX,cue,CUE,ccd,CCD,chd,CHD,toc,TOC,m3u,M3U,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = pce
#metadata.type = MAME

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = bin,BIN,cue,CUE,pbp,PBP
list.extensions = bin,BIN,cue,CUE,img,IMG,mdf,MDF,pbp,PBP,toc,TOC,cbn,CBN,m3u,M3U,chd,CHD,iso,ISO
list.menuSort = yes
list.romHierarchy = true
launcher = psone
#metadata.type = MAME

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = sfc,SFC,smc,SMC,zip,ZIP
list.extensions = smc,SMC,fig,FIG,sfc,SFC,gd3,GD3,gd7,GD7,dx2,DX2,bsx,BSX,swc,SWC,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = snes
#metadata.type = MAME

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@ -19,7 +19,7 @@ list.includeMissingItems = true
###############################################################################
# Extensions are comma separated without spaces
###############################################################################
list.extensions = zip,ZIP,md,MD,bin,BIN,32x,32X,cue,CUE,cso,CSO,chd,CHD,smd,SMD
list.extensions = bin,BIN,gen,GEN,smd,SMD,md,MD,32x,32X,cue,CUE,iso,ISO,chd,CHD,cso,CSO,m3u,M3U,68k,68K,sgd,SGD,pco,PCO,zip,ZIP
###############################################################################
# If a menu.xml file exists, it will display the menu alphabetically. To
@ -27,6 +27,7 @@ list.extensions = zip,ZIP,md,MD,bin,BIN,32x,32X,cue,CUE,cso,CSO,chd,CHD,smd,SMD
# This does not apply to how your ROMs are sorted.
###############################################################################
list.menuSort = true
list.romHierarchy = true
###############################################################################
# The executable to run when an item in a collection item is selected

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1007 B

View File

@ -19,7 +19,7 @@ list.includeMissingItems = true
###############################################################################
# Extensions are comma separated without spaces
###############################################################################
list.extensions = zip,ZIP,sms,SMS,bin,BIN
list.extensions = bin,BIN,sms,SMS,gg,GG,sg,SG,sc,SC,zip,ZIP
###############################################################################
# If a menu.xml file exists, it will display the menu alphabetically. To
@ -27,6 +27,7 @@ list.extensions = zip,ZIP,sms,SMS,bin,BIN
# This does not apply to how your ROMs are sorted.
###############################################################################
list.menuSort = true
list.romHierarchy = true
###############################################################################
# The executable to run when an item in a collection item is selected

View File

@ -1,8 +1,9 @@
# Uncomment and edit the following line to use a different ROM path.
list.path = %BASE_ITEM_PATH%/%ITEM_COLLECTION_NAME%
list.includeMissingItems = false
list.extensions = zip,ZIP,wsc,WSC,ws,WS
list.extensions = ws,WS,wsc,WSC,pc2,PC2,zip,ZIP
list.menuSort = yes
list.romHierarchy = true
launcher = wonderswan
#metadata.type = MAME

View File

@ -6,12 +6,12 @@ pageUp = PageDown
pageDown = PageUp
letterUp = N
letterDown = M
favPlaylist = F3
nextPlaylist = F2
prevPlaylist = F1
addPlaylist = I
removePlaylist = O
random = G
favPlaylist = S
nextPlaylist = O
prevPlaylist = V
addPlaylist = Y
removePlaylist = X
random = K
select = Return, A
menu = Q
back = B

View File

@ -1,10 +1,12 @@
#!/bin/sh
cp /usr/games/mednafen-09x.cfg ${MEDNAFEN_HOME}/
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
mednafen -fs 1 -gg.stretch full "$1"&
if [ -e /mnt/Libretro/cores/picodrive_libretro.so ]; then
picoarch /mnt/Libretro/cores/picodrive_libretro.so "$1"&
else
picoarch /usr/games/picodrive_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -2,7 +2,11 @@
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
sdlgnuboy --syncrtc --stereo=0 "$1"&
if [ -e /mnt/Libretro/cores/gambatte_libretro.so ]; then
picoarch /mnt/Libretro/cores/gambatte_libretro.so "$1"&
else
picoarch /usr/games/gambatte_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -2,9 +2,16 @@
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
cd ${HOME}
gpsp "$1"&
# Do not use asound.conf to avoid saturated sound
rw
mv -f /etc/asound.conf /etc/asound.conf.BAK
if [ -e /mnt/Libretro/cores/gpsp_libretro.so ]; then
picoarch /mnt/Libretro/cores/gpsp_libretro.so "$1"&
else
picoarch /usr/games/gpsp_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase
mv -f /etc/asound.conf.BAK /etc/asound.conf
ro

View File

@ -1,10 +1,19 @@
#!/bin/sh
cp /usr/games/mednafen-09x.cfg ${MEDNAFEN_HOME}/
if [ ! -e /mnt/FunKey/.picoarch/system/lynxboot.img ]; then
if [ ! -d /mnt/FunKey/.picoarch/system ]; then
mkdir -p /mnt/FunKey/.picoarch/system
fi
cp /usr/games/lynxboot.img /mnt/FunKey/.picoarch/system
fi
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
mednafen -fs 1 -lynx.stretch full "$1"&
if [ -e /mnt/Libretro/cores/mednafen_lynx_libretro.so ]; then
picoarch /mnt/Libretro/cores/mednafen_lynx_libretro.so "$1"&
else
picoarch /usr/games/mednafen_lynx_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -1,2 +0,0 @@
executable = %RETROFE_PATH%/launchers/mame_launch_mednafen.sh
arguments = "%ITEM_FILEPATH%"

View File

@ -1,10 +0,0 @@
#!/bin/sh
cp /usr/games/mednafen-09x.cfg ${MEDNAFEN_HOME}/
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
mednafen -sound 1 -soundrate 22050 -soundbufsize 100 -vdriver sdl -frameskip 1 -fs 0 "$1"&
pid record $!
wait $!
pid erase

View File

@ -2,7 +2,11 @@
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
PicoDrive "$1"&
if [ -e /mnt/Libretro/cores/picodrive_libretro.so ]; then
picoarch /mnt/Libretro/cores/picodrive_libretro.so "$1"&
else
picoarch /usr/games/picodrive_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -0,0 +1,2 @@
executable = %RETROFE_PATH%/launchers/native_launch.sh
arguments = "%ITEM_FILEPATH%"

View File

@ -2,7 +2,8 @@
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
pcsx -frameskip -cdfile "$1"&
cd "$(dirname "$1")"
opkrun "$1"&
pid record $!
wait $!
pid erase

View File

@ -2,7 +2,11 @@
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
fceux "$1"&
if [ -e /mnt/Libretro/cores/fceumm_libretro.so ]; then
picoarch /mnt/Libretro/cores/fceumm_libretro.so "$1"&
else
picoarch /usr/games/fceumm_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -1,10 +1,12 @@
#!/bin/sh
cp /usr/games/mednafen-09x.cfg ${MEDNAFEN_HOME}/
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
mednafen -fs 1 -ngp.stretch full "$1"&
if [ -e /mnt/Libretro/cores/mednafen_ngp_libretro.so ]; then
picoarch /mnt/Libretro/cores/mednafen_ngp_libretro.so "$1"&
else
picoarch /usr/games/mednafen_ngp_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -1,10 +1,12 @@
#!/bin/sh
cp /usr/games/mednafen-09x.cfg ${MEDNAFEN_HOME}/
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
mednafen -fs 1 -force_module pce_fast -pce_fast.stretch full "$1"&
if [ -e /mnt/Libretro/cores/mednafen_supergrafx_libretro.so ]; then
picoarch /mnt/Libretro/cores/mednafen_supergrafx_libretro.so "$1"&
else
picoarch /usr/games/mednafen_supergrafx_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -0,0 +1,2 @@
executable = %RETROFE_PATH%/launchers/picoarch_launch.sh
arguments = "%ITEM_FILEPATH%"

View File

@ -2,7 +2,7 @@
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
gpsp "$1"&
picoarch "$1"&
pid record $!
wait $!
pid erase

View File

@ -2,7 +2,11 @@
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
pcsx -cdfile "$1"&
if [ -e /mnt/Libretro/cores/pcsx_rearmed_libretro.so ]; then
picoarch /mnt/Libretro/cores/pcsx_rearmed_libretro.so "$1"&
else
picoarch /usr/games/pcsx_rearmed_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -2,7 +2,11 @@
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
PicoDrive "$1"&
if [ -e /mnt/Libretro/cores/picodrive_libretro.so ]; then
picoarch /mnt/Libretro/cores/picodrive_libretro.so "$1"&
else
picoarch /usr/games/picodrive_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -2,7 +2,11 @@
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
psnes "$1"&
if [ -e /mnt/Libretro/cores/snes9x2005_libretro.so ]; then
picoarch /mnt/Libretro/cores/snes9x2005_libretro.so "$1"&
else
picoarch /usr/games/snes9x2005_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -1,8 +0,0 @@
#!/bin/sh
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
psnes "$1"&
pid record $!
wait $!
pid erase

View File

@ -1,10 +1,12 @@
#!/bin/sh
cp /usr/games/mednafen-09x.cfg ${MEDNAFEN_HOME}/
# Launch the process in background, record the PID into a file, wait
# for the process to terminate and erase the recorded PID
mednafen -fs 1 -wswan.stretch full "$1"&
if [ -e /mnt/Libretro/cores/mednafen_wswan_libretro.so ]; then
picoarch /mnt/Libretro/cores/mednafen_wswan_libretro.so "$1"&
else
picoarch /usr/games/mednafen_wswan_libretro.so "$1"&
fi
pid record $!
wait $!
pid erase

View File

@ -1 +1 @@
Classic
RetroRoomCovers

View File

@ -0,0 +1,4 @@
Made by r3n0.
Modified by s4i
All logos and screenshots copyright their respective owners.

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,11 @@
./Game Gear/system_artwork/device.png
./Sega Master System/system_artwork/device.png
./Game Boy Advance/system_artwork/device.png
./PS1/system_artwork/device.png
./Game Boy/system_artwork/device.png
./NES/system_artwork/device.png
./Atari lynx/system_artwork/device.png
./Sega Genesis/system_artwork/device.png
./SNES/system_artwork/device.png
./WonderSwan/system_artwork/device.png
./Neo Geo Pocket/system_artwork/device.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,278 @@
<layout width="240" height="240" font="Gilroy-Bold.ttf" loadFontSize="14" fontColor="ffffff">
<!-- ------------------------------------------------ -->
<!-- ---------------Generic components--------------- -->
<!-- ------------------------------------------------ -->
<!-- Sounds -->
<sound type="load" src="sounds/load.wav"/>
<sound type="unload" src="sounds/unload.wav"/>
<sound type="highlight" src="sounds/highlight.wav"/>
<sound type="select" src="sounds/select.wav"/>
<!-- Background image for games (sub menu) -->
<image src="images/games_background.png" x="center" y="center" yOrigin="center" xOrigin="center" height="stretch" width="stretch" layer="0" alpha="1">
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
</image>
<!-- ----------------------------------------------- -->
<!-- ---------------Main menu section--------------- -->
<!-- ----------------------------------------------- -->
<!--Main Menu - Index 0-->
<!-- This is the main menu itself.
It is horizontal and set to show the game logo image named "system"
in the currently selected collection's folder instead of text -->
<reloadableImage mode="layout" type="bg" alpha="0" x="center" y="center" yOrigin="center" xOrigin="center" layer="2" dithering="false">
<onEnter><set duration=".3"><animate type="alpha" to="1" algorithm="easeinquadratic"/></set></onEnter>
<onExit><set duration=".3"><animate type="alpha" to="0.5" algorithm="easeinquadratic"/></set></onExit>
<onMenuEnter menuIndex="0"><set duration=".3"><animate type="alpha" to="1" algorithm="easeinquadratic"/></set></onMenuEnter>
<onMenuExit menuIndex="0"><set duration=".3"><animate type="alpha" to="1" algorithm="easeinquadratic"/></set></onMenuExit>
<onHighlightEnter menuIndex="0"><set duration=".3"><animate type="alpha" to="1" algorithm="easeinquadratic"/></set></onHighlightEnter>
<onMenuScroll menuIndex="0">
<set duration=".02">
<animate type="alpha" to="0.8" algorithm="easeinquadratic"/>
</set>
</onMenuScroll>
</reloadableImage>
<menu type="custom" mode="layout" imageType="device_W240" scrollTime=".24" scrollAcceleration=".04" orientation="horizontal" x="0" y="center" yOffset="0" algorithm="easeincircular" >
<!-- itemDefaults allow you to set default attributes for all items in a menu list An item may still have its own attributes that override the defaults -->
<!-- Notice that xOrigin and yOrigin are set to center. This puts a pin in the very center of the image (or item). Normally it is in the top left corner of the image. From that pin we will put the coordinates of where we wish the image to be. In this case the the center of the screen x="center" and y="center". Now yOffset="0" leaves the image in the center but could be used to offset it from the center instead. yOffset="-58" would move it 58 pixels towards the top for example -->
<itemDefaults xOrigin="center" x="center" yOrigin="center" y="center" yOffset="0" width="240" alpha="1" loadFontSize="18" fontSize="18" layer="4"/>
<!-- In this menu each item is placed. notice that the first and last item of this menu are alpha="0" if this is not done you would see the last time of the menu move to be the first when scrolling. -->
<item xOffset="-240" alpha="0"/>
<item xOffset="-240">
<onMenuEnter menuIndex="0">
<set duration=".4">
<animate type="alpha" to="0.8" algorithm="easeincircular"/>
</set>
</onMenuEnter>
<onMenuExit menuIndex="0">
<set duration=".25">
<animate type="alpha" to="0" algorithm="easeincircular"/>
</set>
</onMenuExit>
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
</item>
<!-- This is the currently selected item of the menu we override the width and alpha here to make it more clear that it is indeed selected -->
<!-- we also have animations in place so that this logo stays visible and moves to another location when entering the sub menu -->
<item selected="true" layer="4" alpha="1">
<onMenuEnter menuIndex="0">
<set duration=".4">
<animate type="alpha" to="1" algorithm="easeincircular"/>
</set>
</onMenuEnter>
<onMenuExit menuIndex="0">
<set duration=".25">
<animate type="alpha" to="0" algorithm="easeincircular"/>
</set>
</onMenuExit>
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
</item>
<item xOffset="240">
<onMenuEnter menuIndex="0">
<set duration=".4">
<animate type="alpha" to="0.8" algorithm="easeincircular"/>
</set>
</onMenuEnter>
<onMenuExit menuIndex="0">
<set duration=".25">
<animate type="alpha" to="0" algorithm="easeincircular"/>
</set>
</onMenuExit>
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
</item>
<item xOffset="240" alpha="0"/>
</menu>
<!-- ---------------------------------------------- -->
<!-- ---------------Sub menu section--------------- -->
<!-- ---------------------------------------------- -->
<!--Sub Menu - Index 1-->
<!-- This is the menu displayed when entering a collection. This time the items are the games themselves. In this case since the menu is of type "custom" we will display the artwork of the games and not their title. -->
<menu type="custom" imageType="artwork_front" scrollTime=".24" scrollAcceleration=".04" orientation="horizontal" x="0" y="center" yOrigin="center" algorithm="easeincircular">
<itemDefaults alpha="1" x="center" y="center" xOrigin="center" yOrigin="center" layer="12" width="130" maxHeight="140" textFallback="false" imageFallback="true" />
<item xOffset="-320" alpha="0"/>
<item x="center" xOrigin="right" xOffset="-90">
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
<onMenuEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></onMenuEnter>
<onMenuExit menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></onMenuExit>
<onGameEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></oneGameEnter>
<onGameExit menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></oneGameExit>
</item>
<item xOffset="0" selected="true" layer="13" fontSize="16" loadFontSize="16">
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
<onMenuEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></onMenuEnter>
<onMenuExit menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></onMenuExit>
<onGameEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></oneGameEnter>
<onGameExit menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></oneGameExit>
</item>
<item x="center" xOrigin="left" xOffset="90">
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
<onMenuEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></onMenuEnter>
<onMenuExit menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></onMenuExit>
<onGameEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></oneGameEnter>
<onGameExit menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></oneGameExit>
</item>
<item xOffset="320" alpha="0"/>
</menu>
<!--Scrollable game title idx 0-->
<!-- Since we chose the sub menu to display the artwork and not the title, we add here a reloadableTex that will do the job of displaying the title of the game. Notice that this is a special type of reloadableText: a reloadableScrollingText which allows the title to scroll if its size is bigger than its container -->
<reloadableScrollingText type="title" alpha="0" x="center" xOrigin="center" xOffset="0" y="bottom" yOrigin="center" yOffset="-17" width="193" height="33" menuScrollReload="true" fontSize="14" loadFontSize="14" fontColor="ffffff" direction="horizontal" scrollingSpeed="60" startPosition="0" startTime="1.5" endTime="1.5" layer="13" >
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
<onMenuEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></onMenuEnter>
<onMenuExit menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></onMenuExit>
<onGameEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></oneGameEnter>
<onGameExit menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></oneGameExit>
<onHighlightExit menuIndex="1"><set duration=".00001"><animate type="alpha" from="0" to="1" algorithm="easeinquadratic"/></set></onHighlightExit>
<onMenuScroll menuIndex="1">
<set duration=".00001">
<animate type="alpha" from="0" to="0" algorithm="easeinquadratic"/>
</set>
</onMenuScroll>
<onHighlightExit menuIndex="1">
<set duration=".00001">
<animate type="alpha" from="1" to="1" algorithm="easeinquadratic"/>
</set>
</onHighlightExit>
</reloadableScrollingText>
<!--Game cover idx 0 -->
<!-- This is yet again the curently selected game title but not reloadable. It is displayed only when scrolling through games. For a smooth animation, the above reloadableScrollingText is not displayed when scrolling and this one is instead. Notice how tha alpha is set to 1 for the onMenuScrollNext and onMenuScrollPrev events. Notice also the onMenuScroll and onMenuFastScroll animations that will move this text according to the submenu's speed and acceleration. This creates a smooth scrolling effect, like if this text was part of the submenu -->
<reloadableText type="title" selectedOffset="0" alpha="0" x="center" xOrigin="center" xOffset="0" y="bottom" yOrigin="center" yOffset="-17" width="193" menuScrollReload="true" fontSize="14" loadFontSize="14" fontColor="ffffff" layer="14" >
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
<onMenuEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></onMenuEnter>
<onMenuExit menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></onMenuExit>
<onGameEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></oneGameEnter>
<onGameExit menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></oneGameExit>
<onHighlightExit menuIndex="1">
<set duration=".00001">
<animate type="alpha" from="0" to="0" algorithm="easeinquadratic"/>
</set>
<set duration=".0001">
<animate type="xOffset" from="0" to="0" algorithm="easeinquadratic"/>
</set>
</onHighlightExit>
<onMenuScroll menuIndex="1">
<set duration="0">
<animate type="xoffsetshiftmenudirection" from="0" to="240" algorithm="easeinquadratic"/>
</set>
</onMenuScroll>
<onMenuScrollNext menuIndex="1">
<set duration=".00001">
<animate type="alpha" from="1" to="1" algorithm="easeinquadratic"/>
</set>
</onMenuScrollNext>
<onMenuScrollPrev menuIndex="1">
<set duration=".00001">
<animate type="alpha" from="1" to="1" algorithm="easeinquadratic"/>
</set>
</onMenuScrollPrev>
<onMenuFastScroll menuIndex="1">
<set duration="0">
<animate type="xoffsetshiftmenudirection" from="0" to="240" algorithm="easeinquadratic"/>
</set>
</onMenuFastScroll>
</reloadableText>
<!-- Game cover idx -1 -->
<!-- This is the text of the previous game in the list (selectedOffset="-1"). This is only displayed during scrolling animations so that we can see the previous game's name smoothly entering the screen from the left -->
<reloadableText type="title" selectedOffset="-1" alpha="0" x="center" xOrigin="center" xOffset="-240" y="bottom" yOrigin="center" yOffset="-17" width="193" menuScrollReload="true" fontSize="14" loadFontSize="14" fontColor="ffffff" layer="14" >
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
<onMenuEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></onMenuEnter>
<onMenuExit menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></onMenuExit>
<onGameEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></oneGameEnter>
<onGameExit menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></oneGameExit>
<onHighlightExit menuIndex="1">
<set duration=".00001">
<animate type="xOffset" from="-240" to="-240" algorithm="easeinquadratic"/>
</set>
</onHighlightExit>
<onMenuScroll menuIndex="1">
<set duration="0">
<animate type="xoffsetshiftmenudirection" from="-240" to="240" algorithm="easeinquadratic"/>
</set>
</onMenuScroll>
<onMenuFastScroll menuIndex="1">
<set duration="0">
<animate type="xoffsetshiftmenudirection" from="-240" to="240" algorithm="easeinquadratic"/>
</set>
</onMenuFastScroll>
</reloadableText>
<!--Game cover idx +1 -->
<!-- This is the text of the next game in the list (selectedOffset="1"). This is only displayed during scrolling animations so that we can see the next game's name smoothly entering the screen from the right -->
<reloadableText type="title" selectedOffset="1" alpha="0" x="center" xOrigin="center" xOffset="240" y="bottom" yOrigin="center" yOffset="-17" width="193" menuScrollReload="true" fontSize="14" loadFontSize="14" fontColor="ffffff" layer="14" >
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
<onMenuEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></onMenuEnter>
<onMenuExit menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></onMenuExit>
<onGameEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></oneGameEnter>
<onGameExit menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></oneGameExit>
<onHighlightExit menuIndex="1">
<set duration=".00001">
<animate type="xOffset" from="240" to="240" algorithm="easeinquadratic"/>
</set>
</onHighlightExit>
<onMenuScroll menuIndex="1">
<set duration="0">
<animate type="xoffsetshiftmenudirection" from="240" to="240" algorithm="easeinquadratic"/>
</set>
</onMenuScroll>
<onMenuFastScroll menuIndex="1">
<set duration="0">
<animate type="xoffsetshiftmenudirection" from="240" to="240" algorithm="easeinquadratic"/>
</set>
</onMenuFastScroll>
</reloadableText>
<image src="images/foreground.png" x="center" y="center" yOrigin="center" xOrigin="center" height="stretch" width="stretch" layer="20" alpha="1"></image>
<!--Collection title in status bar //textFormat="uppercase" -->
<reloadableText type="collectionName" alpha="0" x="left" xOrigin="left" xOffset="8" y="0" yOrigin="center" yOffset="14" width="193" height="40" fontSize="15" loadFontSize="15" fontColor="ffffff" layer="17" >
<onExit> <set duration=".3"><animate type="alpha" to="0"/></set></onExit>
<onMenuExit menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></onMenuExit>
<!-- <onMenuExit menuIndex="0"><set duration=".3"><animate type="alpha" to="1"/></set></onMenuExit> -->
<onMenuEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></onMenuEnter>
<onGameEnter menuIndex="1"><set duration=".3"><animate type="alpha" to="0"/></set></oneGameEnter>
<onGameExit menuIndex="1"><set duration=".3"><animate type="alpha" to="1"/></set></oneGameExit>
</reloadableText>
<!--Battery in status bar-->
<battery reloadPeriod="3" fontColor="ffffff" alpha="0.3" x="right" xOrigin="right" xOffset="-5" y="top" yOrigin="center" yOffset="13" layer="17" ></battery>
</layout>

Some files were not shown because too many files have changed in this diff Show More