Rascacielos de Lars Muldjord
Un raspador de juego potente y versátil pero fácil de usar escrito en C ++ para usar con múltiples frontends ejecutándose en un sistema Linux (macOS y Windows también, pero no es compatible oficialmente). Extrae y almacena varios recursos de juego de varias fuentes de raspado, incluidos medios como captura de pantalla, portada y video. Luego te da la opción de generar una lista de juegos y obras de arte para el frontend elegido combinando todos los recursos en caché.
Todas las características de rascacielos están bien documentadas y también hay preguntas frecuentes si aún tiene preguntas después de leer la documentación, considere preguntarles en el subreddit retropie o en los foros oficiales de retropie. La página de Issues aquí en GitHub es solo para informes de errores y solicitudes de funciones. ¡Gracias!
Plataformas compatibles (establecidas con '-p'):
Consulte la lista completa de plataformas aquí.
Módulos de raspado compatibles (establecidos con '-s')
El rascacielos admite una variedad de diferentes fuentes de raspado llamadas módulos de raspado . Use estos para recopilar datos del juego en el caché de recursos de rascacielos. Consulte la lista completa de módulos de raspado aquí y lea más sobre el caché de recursos aquí.
Frontends compatibles (establecido con '-f'):
- Estación de emulaciones
- Atraer
- Pegaso
Contribuciones de código y tenedores
Las solicitudes de extracción no se aceptan actualmente, ya que me estoy centrando en otros proyectos. Si está buscando una bifurcación más impulsada por la comunidad que busque expandir el conjunto de características actuales más allá de lo que he implementado aquí, debe consultar esta bifurcación.
Cómo instalar rascacielos
Siga los pasos a continuación para instalar la última versión de SkysCraper. Las líneas que comienzan con $ significan un comando que necesita ejecutar en un terminal en la máquina en la que desea instalarlo.
¡NOTA! Si está utilizando la distribución retropie, tiene la opción de instalar rascacielos directamente desde el script retropie-setup ( ¡necesita actualizar el script antes de instalarlo! ). Lea más sobre todo eso aquí. Si no, sigue leyendo.
Instalar requisitos previos
Linux
El rascacielos necesita Qt5.3 o posterior para compilar. Para un retropie, Ubuntu u otra distribución derivada de Debian, puede instalar Qt5 utilizando los siguientes comandos:
$ sudo apt update
$ sudo apt install build-essential qt5-default
Es posible que se le solicite su contraseña de sudo. En retropie, la contraseña predeterminada es raspberry . Para instalar QT5 en otras distribuciones de Linux, consulte su documentación.
¡NOTA! Desde Ubuntu 21.04 y reenvía el metapackage qt5-default ya no existe. En su lugar, tendrá que hacer sudo apt install build-essential qtbase5-dev qt5-qmake qtbase5-dev-tools que instala lo mismo que el comando anterior.
macosa
Skyscraper también funciona perfectamente en macOS, pero no es oficialmente compatible ya que no tengo una Mac. Pero con la ayuda de HoraceEndThespider y AbritintHebay, aquí están los comandos necesarios para instalar el QT5 y otros requisitos previos:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install gnu-tar --with-default-names
$ brew install wget
$ brew install qt5
$ brew link qt5 --force
Si eso fue bien, continúe con las instrucciones de instalación predeterminadas a continuación. Debería funcionar y darle una instalación en funcionamiento de rascacielos.
¡Nota 1! El usuario 'Davidmgrantham' informa que los --with-default-names anteriores podrían estar en desuso para algunas instalaciones de MacOS. Si lo elimina, también debe descargar el update_skyscraper.sh y editar los comandos tar para ser gtar antes de ejecutarlo.
¡Nota 2! El usuario 'TRVRPLK' informa numerosos problemas en MacOS 11.2+. Consulte aquí para obtener posibles soluciones.
Descargar, compilar e instalar
Cuando haya instalado los requisitos previos como se describe anteriormente, puede instalar rascacielos escribiendo los siguientes comandos:
$ cd
$ mkdir skysource
$ cd skysource
$ wget -q -O - https://raw.githubusercontent.com/muldjord/skyscraper/master/update_skyscraper.sh | bash
El último comando descargará y ejecutará el último script de actualización de GitHub. Durante la instalación, es posible que se le solicite su contraseña de sudo. En retropie, la contraseña predeterminada es raspberry .
¡Cuando el script ha completado, está listo para ejecutar rascacielos!
Actualización de rascacielos
Desde SkysCraper 2.3.2 y más nuevo, puede actualizar a la última versión simplemente ejecutando los siguientes comandos:
$ cd
$ cd skysource
$ ./update_skyscraper.sh
Es posible que se le solicite su contraseña de sudo durante la actualización. En retropie, la contraseña predeterminada es raspberry . Si su versión es anterior a 2.3.2 (consulte con --help ), debe seguir las instrucciones de instalación.
Cómo desinstalar rascacielos
Si ha instalado rascacielos utilizando las instrucciones en este readMe, puede desinstalarlo usando los siguientes comandos:
$ cd
$ cd skysource
$ sudo make uninstall
$ cd
$ rm -Rf skysource
$ rm -Rf .skyscraper
Es posible que se le solicite su contraseña de sudo durante los procesos. En retropie, la contraseña predeterminada es raspberry .
Windows
¡Windows no es compatible oficialmente en este momento! Pero hago compilar y lanzar semi-regularmente una versión de 64 bits sin apoyo que funciona bien. ¡Asegúrese de leer el ReadMe incluido del archivo descargado antes de usarlo! Y solo para ser claro: está solo si usa esta versión, por favor no me haga preguntas al respecto. Obtenga la versión de Windows aquí.
Cómo usar rascacielos
¡¡¡IMPORTANTE!!! Para que el rascacielos funcione correctamente, ¡es necesario dejar su frontend antes de ejecutarlo! Si está ejecutando emulación, puede dejarla presionando F4.
Recuerde, puede personalizar completamente las exportaciones de rascacielos de obras de arte. Mira la documentación aquí. Si solo desea utilizar el skyscraper de obras predeterminada (bastante bien), siga leyendo.
Un caso de uso simple
Para los usuarios por primera vez, recomiendo leer el caso de uso corto y punto. Léelo y vuelva aquí cuando obtuviera la esencia.
Un descenso rápido de rascacielos
Skyscraper es una herramienta de línea de comandos y tiene muchas, muchas opciones para que puedas jugar. Recomiendo echar un vistazo a todos para familiarizarse con las posibilidades:
$ Skyscraper --help
$ Skyscraper --flags help
$ Skyscraper --cache help
¡Esto le dará una descripción de todo lo que el rascacielos puede hacer si te sientes aventurero! Para obtener una descripción exhaustiva de todas las opciones disponibles, consulte aquí.
Los más importantes son probablemente:
-
-p <PLATFORM> -
-s <SCRAPING MODULE> -
-u <USER:PASS> o -u <KEY> -
--cache refresh -
--flags videos
Si tiene sus ROM en una ubicación no defectuosa (predeterminado para usuarios retropie es /home/<USER>/RetroPie/roms/<PLATFORM> Necesito estos:
-
-i <PATH> -
-g <PATH> -
-o <PATH>
Para casi cualquier opción de línea de comando, considere configurarlos en el archivo /home/USER/.skyscraper/config.ini como se describe aquí. Esto hará que las opciones sean permanentes para que no necesite escribirlas en todo el tiempo.
Recopilar datos para un subconjunto de ROM
Skyscraper ofrece varias formas de recopilar datos para un subconjunto de ROM. Si solo desea raspar las ROM que no tienen datos en el caché en absoluto, puede hacerlo con la opción de línea de comandos --onlymissing . También puede consultar las opciones de --startat FILENAME y --endat FILENAME . Si solo desea recopilar datos para un par de ROM, simplemente puede agregar el nombre de archivo (s) al final de la línea de comandos (por ejemplo, Skyscraper -p amiga -s openretro "/path/to/rom name 1.lha" "/path/to/rom name 2.lha" ). Y probablemente la forma más avanzada (y bastante útil) de recopilar datos para un subconjunto de ROM es hacer uso del --cache report:missing=RESOURCE . Esto puede generar un informe que contiene los nombres de archivo que faltan un cierto recurso. Luego puede volver a alimentar el informe al rascacielos con el --fromfile REPORTFILE después. Skyscraper solo raspará los archivos contenidos en el informe.
config.ini
Una característica menos conocida, pero extremadamente útil, de Skyscraper es agregar sus variables de configuración deseadas a /home/USER/.skyscraper/config.ini . SkyScraper utilizará cualquier opción establecida en este archivo de forma predeterminada. Entonces, si siempre usa, por ejemplo, -i <SOME FOLDER> en la línea de comando, puede establecer la opción de coincidencia inputFolder="<SOME FOLDER>" en la configuración.
Para obtener una descripción completa de todas las opciones de configuración de disponibilidad, consulte aquí.
Caché de recursos
Una de las características más potentes de Skyscraper es el caché de recursos. Es importante comprender cómo funciona esto para usar rascacielos en todo su potencial. Lea más sobre esto aquí.
Datos personalizados
Además de permitir el raspado de los recursos almacenados en caché localmente, SkysCraper también le permite importar sus propios datos a la memoria caché de recursos con el módulo de raspado -s import . También puede editar los recursos existentes en la memoria caché o agregar recursos individuales user con el comando --cache edit . Por último, también tiene la opción de importar datos existentes de la lista de juegos de emulación en el caché de recursos de skyscraper si lo necesita. Puede hacer esto con el módulo de raspado -s esgamelist .
Para leer más sobre cualquiera de las características descritas anteriormente, consulte toda la documentación aquí.
Apariencia de arte y efectos
Consulte la documentación completa de obras de arte aquí
Notas de lanzamiento
Versión XXX (características en consideración, todas sin implementación)
- Agregue la opción de raspar de los datos en caché que se originan exclusivamente en ciertos módulos de desguace
- Considere hacer de aliasmap el nombre de base global en lugar de solo el nombre base del término de búsqueda. Esto solucionará los soportes faltantes en los nombres de alias que se ignoran más adelante
- Haga que todos los tipos de obras de arte, significan que su tipo puede ser lo que el usuario quiera. Las fuentes crearán las que se conocen con tipos conocidos como 'captura de pantalla' y 'cubierta', pero el usuario puede importar otros tipos que se define, como 'gabinete' o cualquier otra cosa. Las obras de arte internas se manejan por una lista de obras de arte en lugar de 4 tipos codificados en GameEntry
- Introducir la capacidad de usar en 'file = "SomeFolder/.png"' en ArtWork.xml que luego buscaría un archivo en 'Recursos' con el juego Basename.png, lo que permite a los usuarios usar sus propios datos de obras de arte personalizadas como una solución alternativa Para agregar nuevos tipos para importar (gracias a 'Jueank' por sugerir esto)
- Agregue la opción de raspar plataformas personalizadas configurándolas en la configuración con un alias a una plataforma ya existente. Ejemplo: SCRAPE 'PCENGINECD' podría rasparse como 'PcEngine' en caso de que tenga esos archivos en una carpeta 'ROMS/PCENGINECD' en lugar de la carpeta PcEngine. Consulte aquí: #136
- Cree un moderno de prueba para el compositor de obras de arte que le permita que rápidamente rinde un ejemplo para ver si tiene todo configurado en la obra de arte XML
- Permitir que la 'región' sea una lista similar a 'RegionPrios'. Al usar 'región', simplemente debe mantener la lista de prioridades predeterminada y agregarlos de 'región' a la parte superior. 'RegionPrios' aún debería sobrescribirlo por completo. Nombrar el cambio probablemente sea una buena idea, por ejemplo, cambiar el nombre de 'región' a 'regionsprefer' o algo así. 'RegionPrios' probablemente también debería cambiarse a 'RegionSoverride'. (Gracias a 'Corezon' por sugerir esto).
- Implemente una coincidencia de nombre de archivo menos rígido para el módulo 'importar' para permitir los nombres de archivo de coincidencia de cierre
- Agregue soporte para agrupar juegos de múltiples discos para que solo tengan una entrada en las Gamelists. Vea los problemas/232 (gracias a 'Igno2k' por sugerir esto)
Versión 3.7.7 (28 de junio de 2022)
- Se agregó '*.m3u' a la plataforma 'segacd' (gracias al usuario 'BMN001' por sugerirlo)
Versión 3.7.6 (12 de junio de 2022)
- Se agregó la plataforma 'pico8' (gracias al usuario 'ZeroJay' por sugerirlo)
Versión 3.7.5 (31 de enero de 2022)
- Ahora permite ':' en el comando Pegasus
Versión 3.7.4 (23 de enero de 2022)
- '--CludeFrom' y '--excludeFrom' ahora funciona con rutas relativas (gracias por usar 'sleve_mcdichael' por informar esto
- Las entradas de archivo omitidas ahora se ajustan al mismo formato que los archivos de informe para permitir el uso de '--excludeFrom' y '--IncludeFrom' (gracias al usuario 'Tomfury' por sugerir esto)
Versión 3.7.3 (23 de enero de 2022)
- Se agregó la plataforma 'Switch' (gracias al usuario 'Redemp' por proporcionar información)
Versión 3.7.2 (20 de enero de 2022)
- Skyscraper ahora solo ignora los archivos cuando se usa los archivos'SkysCraperignore [Tree] 'al raspar para nuevos datos. No serán ignorados al generar listas de juegos
Versión 3.7.1 (19 de enero de 2022)
- Skyscraper ahora ignorará un árbol entero de subcarpetas donde se encuentra un archivo llamado '.SkysCraperignereTree' (gracias al usuario 'Sromeroi' por sugerir esto)
Versión 3.7.0 (17 de enero de 2022)
- Movido '--fromfile' opción a '--includeFrom'. '--fromfile' todavía funciona, pero se considera en desuso
- MOVIMIENTO '-INCLUDEFILES' Opción para '--IncludePattern'. '--includesfiles' todavía funciona, pero se considera desaprobado
- MOVIMIENTO '-EXCLUDEFILES' Opción para '--excludePattern'. '-ExcludeFiles' todavía funciona, pero se considera en desuso
- Opción agregada '--excludeFrom' similar a '-includeFrom' solo lo opuesto (gracias al usuario 'Tomfury' por sugerir esto)
- Skyscraper ahora ignorará cualquier subcarpeta dentro de la carpeta de entrada donde se encuentra un archivo llamado'SkySCraperignore '(gracias al usuario' Sromeroi 'por sugerir esto)
- Plataforma agregada 'EasyRPG', solo utilizable utilizando el módulo de raspado 'Screencraper' (gracias al usuario 'ZeroJay' por sugerir esto)
Versión 3.6.16 (9 de noviembre de 2021)
- Plataforma agregada 'Moto' (gracias al usuario 'Yserra' por sugerirlo)
Versión 3.6.15 (25 de agosto de 2021)
- Se agregó la extensión de 'CHD' a la plataforma 'Atomiswave' (gracias al usuario 'smeegoan' por informar esto)
- Se corrigió un error que causaba que se agregara 'T000000' varias veces al omitir entradas en ES Gamelists (gracias al usuario 'Sleve_MCDichael' por informar esto)
Versión 3.6.14 (5 de agosto de 2021)
- Se agregó 'Windows 3.x' como alias al módulo de raspado MobyGames (gracias al usuario 'ecto' por informar esto)
Versión 3.6.13 (2 de junio de 2021)
- Se agregó la opción de configuración específica 'MediaFolderHidden' EmulationStation que establecerá la carpeta de medios en 'Plataforma/.Media' cuando se establece en True. Esto puede acelerar la carga inicial de la Estado de Emululación cuando se usa un almacenamiento lento, como un sistema de archivos de red (gracias a la 'Xenuiswatching' del usuario por sugerir esto)
Versión 3.6.12 (15 de mayo de 2021)
- Eliminado 'modo simple' ya que estaba roto y desaprobado. Use el script retropie en su lugar
- Eliminó muchas opciones de CLI desaprobadas (y ocultas)
Versión 3.6.11 (6 de mayo de 2021)
- '--fromfile' ahora acepta la ruta relativa y absoluta al nombre de archivo (gracias al usuario 'sleve_mcdichael' por informar esto)
- Plataformas agregadas 'AtariJaguarcd', 'Pcenginecd' y 'Channelf' (gracias al usuario 'xenuiswatching' por proporcionar información)
Versión 3.6.10 (12 de abril de 2021)
- Agregó 'naomi' como plataforma
- Se agregó 'msx2' como plataforma
- Se agregó 'Atomiswave' como plataforma
Versión 3.6.9 (1 de abril de 2021)
- Probablemente fijado
--flags unpack que rompió con 3.6.8 debido a llamadas a la función QT en desacuerdo - Probablemente se fijó la conversión de video que se rompió con 3.6.8 debido a llamadas a la función QT desaprobada
Versión 3.6.8 (31 de marzo de 2021)
- Se agregó la opción 'Cacherefresh' config.ini y la agregó al módulo config.ini para 'esgamelist' (gracias al usuario 'Penx' por sugerir esto)
- 'Screenscraper APIV2 devuelto el mensaje Inválido / JSON' vacío 'ahora ya no incluye el mensaje para adjuntar el archivo de error JSON a menos que tenga más de 64 bytes de largo
- Se agregó 'CA' a la lista de prioridades de la región (gracias al usuario 'Joaoluizcarvalho' por señalar esto)
- Se agregó 'DE', 'FR' y 'ES' a la lista de prioridad de idioma predeterminada
- Se agregó el recurso de 'jugadores' a '-Informe de cache: Opción CLI faltante (gracias al usuario' Peligwe 'por informar esto)
- Se agregó la opción 'TheInfront' config.ini y el indicador CLI 'TheInfront' (gracias al usuario 'sleve_mcdichael' por sugerir esto)
- 'Untend' y 'UntendSkip' ahora se pueden usar en una sección del módulo de raspado en config.ini (gracias al usuario 'sleve_mcdichael' por informar esto)
- Se agregaron verificaciones de preprocesador de la versión QT para métodos QT desactivados para evitar la advertencia de compilación en las nuevas instalaciones de QT más nuevas
Versión 3.6.7 (27 de enero de 2021)
- Se agregó la extensión '*.rvz' para las plataformas 'wii' y 'gc' (gracias al usuario 'tcamargo' por informar esto)
- Se agregó '*.chd' extensión para la plataforma '3DO' (gracias al usuario 'Roudaku' por informar esto)
- Se agregó la plataforma 'Openbor'. Existe en retropie como plataforma experimental (según lo solicite el usuario 'Hahnmt')
- La plataforma 'Neogeo' ahora usa 'Box-2D' como cubierta en lugar de 'Flyer' al raspar con el módulo de pantalla de captura de pantalla (gracias al usuario 'Retro81' por sugerir esto)
Versión 3.6.6 (21 de diciembre de 2020)
- El módulo 'Esgamelist' ahora busca el archivo 'gamelist.xml' en la ruta establecida con '-g' en lugar de la ruta establecida con '-i' (gracias al usuario 'c0d3h4x0r' por informar esto y ayudarme a depurarla )
Versión 3.6.5 (18 de diciembre de 2020)
- Ahora usa una instancia de red compartida, en lugar de una por hilo
- Las entradas de la plataforma de 'Daphne' ahora se agregaron como entradas '' en lugar de '' entradas (gracias al usuario 'Clyde' por ayudar a resolver esto)
- Se agregó la opción 'Nocropblack' CLI y 'Cropblack = "Bool"' config.ini que permite al usuario deshabilitar las fronteras negras alrededor de las capturas de pantalla al competar la obra de arte final de la gamelista (gracias al usuario 'Windywinston' por sugerir esto)
Versión 3.6.1 (27 de octubre de 2020)
- Se agregó 'amigacd32' como una plataforma separada solo porque (gracias al usuario 'HoraceEndThespider' por restablecer la matriz)
Versión 3.6.0 (25 de octubre de 2020)
- Cambió 'SECSSINGEEPICH' a 'MSECSSECHEEPICH' para apoyar las versiones de PRE-5.8 QT (gracias al usuario 'Hazza4569' por informar esto)
Lanzamientos más antiguos
Las notas de lanzamiento para versiones anteriores se pueden encontrar aquí.