Pencakar langit oleh Lars Muldjord
Game scraper yang kuat dan serbaguna namun mudah digunakan ditulis dalam C ++ untuk digunakan dengan beberapa frontend yang berjalan pada sistem Linux (macOS dan windows juga, tetapi tidak secara resmi didukung). Ini menggores dan menyimpan berbagai sumber daya game dari berbagai sumber goresan, termasuk media seperti tangkapan layar, sampul, dan video. Ini kemudian memberi Anda opsi untuk menghasilkan daftar permainan dan karya seni untuk frontend yang dipilih dengan menggabungkan semua sumber daya yang di -cache.
Semua fitur pencakar langit didokumentasikan dengan baik dan ada juga FAQ jika Anda masih memiliki pertanyaan setelah membaca dokumentasi, harap pertimbangkan untuk menanyakannya di subreddit retropie atau di forum retropie resmi. Halaman Issues
di sini di GitHub hanya untuk laporan bug dan permintaan fitur. Terima kasih!
Platform yang Didukung (diatur dengan '-p'):
Periksa daftar lengkap platform di sini.
Modul pengikis yang didukung (diatur dengan '-s')
Pencakar langit mendukung berbagai sumber pengikis yang berbeda yang disebut modul pengikis . Gunakan ini untuk mengumpulkan data game ke dalam cache sumber daya gedung pencakar langit. Periksa daftar lengkap modul pengikis di sini dan baca lebih lanjut tentang cache sumber daya di sini.
Frontend yang didukung (diatur dengan '-f'):
- EmulationStation
- Menarik
- Pegasus
Kontribusi dan garpu kode
Permintaan tarik saat ini tidak diterima karena saya fokus pada proyek lain. Jika Anda mencari garpu yang digerakkan lebih banyak komunitas yang berupaya memperluas fitur saat ini di luar apa yang saya terapkan di sini, Anda harus memeriksa garpu ini.
Cara menginstal gedung pencakar langit
Ikuti langkah -langkah di bawah ini untuk menginstal versi gedung pencakar langit versi terbaru. Baris dimulai dengan $
menandakan perintah yang perlu Anda jalankan di terminal pada mesin yang ingin Anda instal.
CATATAN! Jika Anda menggunakan distribusi retropie, Anda memiliki opsi untuk menginstal pencakar langit langsung dari skrip retropie-setup ( Anda perlu memperbarui skrip sebelum menginstalnya! ). Baca lebih lanjut tentang semua itu di sini. Jika tidak, baca terus.
Pasang prasyarat
Linux
Pencakar langit membutuhkan qt5.3 atau lebih baru untuk dikompilasi. Untuk retropie, ubuntu atau distro turunan debian lainnya, Anda dapat menginstal QT5 menggunakan perintah berikut:
$ sudo apt update
$ sudo apt install build-essential qt5-default
Anda mungkin diminta untuk kata sandi sudo Anda. Pada retropie kata sandi default adalah raspberry
. Untuk menginstal QT5 pada distribusi Linux lainnya, silakan merujuk ke dokumentasi mereka.
CATATAN! Dari Ubuntu 21.04 dan meneruskan metapackage qt5-default
tidak ada lagi. Anda sebaliknya harus melakukan sudo apt install build-essential qtbase5-dev qt5-qmake qtbase5-dev-tools
yang menginstal sama dengan perintah di atas.
MacOS
Pencakar langit juga bekerja dengan sempurna pada macOS tetapi tidak secara resmi didukung karena saya tidak memiliki Mac. Tetapi dengan bantuan Horaceandthespider dan Abritinthebay, inilah perintah yang diperlukan untuk menginstal QT5 dan prasyarat lainnya:
$ /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
Jika itu berjalan dengan baik, lanjutkan ke instruksi instalasi default di bawah ini. Ini harus bekerja dan memberi Anda pemasangan gedung pencakar langit.
Catatan 1! Pengguna 'Davidmgrantham' melaporkan bahwa --with-default-names
di atas mungkin sudah usang untuk beberapa instalasi MacOS. Jika Anda menghapusnya, Anda juga perlu mengunduh update_skyscraper.sh
dan mengedit perintah tar
menjadi gtar
sebelum menjalankannya.
Catatan 2! Pengguna 'TRVRPLK' melaporkan banyak masalah pada macOS 11.2+. Periksa di sini untuk perbaikan potensial.
Unduh, kompilasi dan instal
Saat Anda memasang prasyarat seperti yang dijelaskan di atas, Anda dapat menginstal pencakar langit dengan mengetikkan perintah berikut:
$ cd
$ mkdir skysource
$ cd skysource
$ wget -q -O - https://raw.githubusercontent.com/muldjord/skyscraper/master/update_skyscraper.sh | bash
Perintah terakhir akan mengunduh dan menjalankan skrip pembaruan terbaru dari GitHub. Selama instalasi Anda mungkin diminta untuk kata sandi sudo Anda. Pada retropie kata sandi default adalah raspberry
.
Ketika skrip telah selesai, Anda siap menjalankan gedung pencakar langit!
Memperbarui pencakar langit
Dari gedung pencakar langit 2.3.2 dan lebih baru Anda dapat memperbarui ke versi terbaru hanya dengan menjalankan perintah berikut:
$ cd
$ cd skysource
$ ./update_skyscraper.sh
Anda mungkin diminta untuk kata sandi sudo selama pembaruan. Pada retropie kata sandi default adalah raspberry
. Jika versi Anda lebih tua dari 2.3.2 (periksa dengan --help
), Anda harus mengikuti instruksi instalasi sebagai gantinya.
Cara Menghapus Pencakar Langit
Jika Anda telah menginstal gedung pencakar langit menggunakan instruksi dalam readme ini, Anda dapat menghapusnya menggunakan perintah berikut:
$ cd
$ cd skysource
$ sudo make uninstall
$ cd
$ rm -Rf skysource
$ rm -Rf .skyscraper
Anda mungkin diminta untuk kata sandi sudo selama proses. Pada retropie kata sandi default adalah raspberry
.
Windows
Windows tidak secara resmi didukung saat ini! Tapi saya benar-benar mengkompilasi dan merilis versi Windows 64-bit yang tidak didukung yang berfungsi dengan baik. Pastikan untuk membaca readme yang disertakan dari file yang diunduh sebelum menggunakannya! Dan untuk lebih jelasnya: Anda sendirian jika Anda menggunakan versi ini - tolong jangan ajukan pertanyaan tentang hal itu. Dapatkan versi Windows di sini.
Cara menggunakan gedung pencakar langit
PENTING!!! Agar gedung pencakar langit dapat bekerja dengan baik, perlu untuk keluar dari frontend Anda sebelum menjalankannya! Jika Anda menjalankan EmulationStation, Anda dapat berhenti dengan menekan F4.
Ingat, Anda dapat sepenuhnya menyesuaikan ekspor pencakar langit karya seni. Lihat dokumentasi di sini. Jika Anda hanya ingin menggunakan gedung pencakar langit seni default (cukup keren), baca terus.
Kasus Penggunaan Sederhana
Untuk pengguna pertama kali saya merekomendasikan membaca kasus penggunaan pendek dan to-the-point. Harap baca dan kembali ke sini saat Anda mendapatkan intinya.
Kurang pencakar langit cepat
Pencakar langit adalah alat baris perintah, dan memiliki banyak, banyak opsi untuk Anda bicarakan. Saya sarankan untuk melihat semuanya untuk membiasakan diri dengan kemungkinan:
$ Skyscraper --help
$ Skyscraper --flags help
$ Skyscraper --cache help
Ini akan memberi Anda deskripsi tentang semua yang bisa dilakukan gedung pencakar langit jika Anda merasa petualang! Untuk deskripsi menyeluruh dari semua opsi yang tersedia, periksa di sini.
Yang paling penting mungkin:
-
-p <PLATFORM>
-
-s <SCRAPING MODULE>
-
-u <USER:PASS>
atau -u <KEY>
-
--cache refresh
-
--flags videos
Jika Anda memiliki ROM Anda di lokasi non-default (default untuk pengguna retropie adalah /home/<USER>/RetroPie/roms/<PLATFORM>
) atau ingin mengekspor daftar game atau karya seni ke lokasi non-default, Anda juga akan Butuh ini:
-
-i <PATH>
-
-g <PATH>
-
-o <PATH>
Untuk hampir semua opsi baris perintah, pertimbangkan untuk mengaturnya di file /home/USER/.skyscraper/config.ini
seperti yang dijelaskan di sini. Ini akan membuat opsi permanen sehingga Anda tidak perlu mengetiknya sepanjang waktu.
Mengumpulkan data untuk subset ROM
Pencakar langit menawarkan beberapa cara mengumpulkan data untuk subset ROM. Jika Anda hanya ingin mengikis ROM yang tidak memiliki data dalam cache apa pun, Anda dapat melakukannya dengan opsi baris perintah --onlymissing
. Anda juga dapat memeriksa opsi --startat FILENAME
dan --endat FILENAME
. Jika Anda hanya ingin mengumpulkan data untuk beberapa ROM, Anda dapat dengan mudah menambahkan nama file ke ujung baris perintah (mis. Skyscraper -p amiga -s openretro "/path/to/rom name 1.lha" "/path/to/rom name 2.lha"
). Dan mungkin cara yang paling canggih (dan cukup berguna) untuk mengumpulkan data untuk subset ROM adalah dengan memanfaatkan --cache report:missing=RESOURCE
. Ini dapat menghasilkan laporan yang berisi nama file yang kehilangan sumber daya tertentu. Anda kemudian dapat memberi makan laporan kembali ke gedung pencakar langit dengan --fromfile REPORTFILE
sesudahnya. Pencakar langit hanya akan mengikis file yang terkandung dalam laporan.
config.ini
Fitur pencakar langit yang kurang dikenal, tetapi sangat berguna adalah menambahkan variabel konfigurasi yang Anda inginkan ke /home/USER/.skyscraper/config.ini
. Opsi apa pun yang ditetapkan dalam file ini akan digunakan secara default oleh gedung pencakar langit. Jadi jika Anda selalu menggunakan, misalnya, -i <SOME FOLDER>
pada baris perintah, Anda dapat mengatur opsi pencocokan inputFolder="<SOME FOLDER>"
di konfigurasi.
Untuk deskripsi lengkap dari semua opsi konfigurasi yang tersedia, periksa di sini.
Cache sumber daya
Salah satu fitur pencakar langit yang paling kuat adalah cache sumber daya. Penting untuk memahami cara kerjanya untuk menggunakan gedung pencakar langit dengan potensi penuhnya. Baca lebih lanjut tentang itu di sini.
Data khusus
Saya tambahan untuk memungkinkan pengikis dari sumber daya yang di -cache secara lokal, gedung pencakar langit juga memungkinkan Anda untuk mengimpor data Anda sendiri ke dalam cache sumber daya dengan modul scraping -s import
. Anda juga dapat mengedit sumber daya yang ada di cache atau menambahkan sumber daya user
individual dengan perintah --cache edit
. Terakhir, Anda juga memiliki opsi untuk mengimpor data daftar game emulationStation yang ada ke dalam cache sumber daya gedung pencakar langit jika Anda membutuhkannya. Anda dapat melakukan ini dengan modul gesekan -s esgamelist
.
Untuk membaca lebih lanjut tentang salah satu fitur yang dijelaskan di atas, silakan lihat semua dokumentasi di sini.
Penampilan dan efek karya seni
Periksa dokumentasi karya seni lengkap di sini
Catatan Rilis
Versi XXX (fitur yang dipertimbangkan, semua tidak diimplementasikan)
- Tambahkan opsi untuk mengikis dari data yang di -cache murni yang berasal dari modul pengikis tertentu
- Pertimbangkan untuk membuat aliasmap sebagai nama dasar global alih -alih hanya nama dasar istilah pencarian. Ini akan memperbaiki tanda kurung yang hilang dalam nama alias yang diabaikan nanti
- Jadikan semua jenis karya seni yang berarti bahwa jenisnya dapat menjadi apa pun yang diinginkan pengguna. Sumber akan membuat yang dengan tipe yang diketahui seperti 'tangkapan layar' dan 'tutupan', tetapi pengguna dapat mengimpor jenis lain yang mereka tentukan sendiri, seperti 'kabinet' atau apa pun. Karya seni internal kemudian ditangani oleh daftar karya seni alih -alih 4 tipe hardcoded di Gameentry
- Memperkenalkan kemampuan untuk menggunakan di 'file = "somefolder/.png"' di art work.xml yang kemudian akan mencari file dalam 'sumber daya' dengan gim basa.png yang memungkinkan pengguna untuk menggunakan data karya seni khusus mereka sendiri sebagai solusi untuk menambahkan tipe baru untuk diimpor (terima kasih kepada 'jueank' karena telah menyarankan ini)
- Tambahkan opsi untuk mengikis platform khusus dengan mengkonfigurasinya di konfigurasi dengan alias ke platform yang sudah ada. Contoh: Mengikis 'pcengineCd' dapat dikikis sebagai 'pcengine' jika Anda memiliki file -file itu di folder 'ROM/pcengineCd' alih -alih folder pcengine. Periksa di sini: #136
- Buat TestMode untuk kompositor karya seni yang memungkinkan Anda dengan cepat memberikan contoh untuk melihat apakah Anda mendapatkan semuanya diatur tepat di karya seni XML
- Izinkan 'wilayah' menjadi daftar yang mirip dengan 'regionalprios'. Saat menggunakan 'wilayah' itu harus hanya menyimpan daftar prioritas default dan menambahkannya dari 'wilayah' ke atas. 'Regionalprios' masih harus menimpanya sepenuhnya. Penamaan perubahan mungkin ide yang bagus, misalnya ganti nama 'wilayah' menjadi 'daerah' atau sesuatu. 'Regionalprios' mungkin juga harus diubah menjadi 'Daerah'. (Terima kasih kepada 'CoreZon' karena telah menyarankan ini).
- Menerapkan kecocokan nama file yang kurang kaku untuk modul 'impor' untuk memungkinkan nama file yang cocok
- Tambahkan dukungan untuk pengelompokan game multi-disk sehingga mereka hanya memiliki satu entri di gamelists. Lihat Masalah/232 (Terima kasih kepada 'IGNO2K' karena telah menyarankan ini)
Versi 3.7.7 (28 Juni 2022)
- Menambahkan '*.m3u' ke platform 'Segacd' (terima kasih kepada pengguna 'bmn001' karena telah menyarankannya)
Versi 3.7.6 (12 Juni 2022)
- Menambahkan platform 'pico8' (terima kasih kepada pengguna 'ZeroJay' karena telah menyarankannya)
Versi 3.7.5 (31 Januari 2022)
- Sekarang memungkinkan ':' dalam perintah Pegasus
Versi 3.7.4 (23 Januari 2022)
- '--includefrom' dan '--excludefrom' sekarang bekerja dengan jalur relatif (terima kasih untuk menggunakan 'sleve_mcdichael' karena telah melaporkan ini
- Lewati entri file sekarang sesuai dengan format yang sama dengan file laporan untuk memungkinkan menggunakannya dengan '--excludefrom' dan '--includefrom' (terima kasih kepada pengguna 'Tomfury' karena telah menyarankan ini)
Versi 3.7.3 (23 Januari 2022)
- Menambahkan platform 'sakelar' (terima kasih kepada pengguna 'redemp' untuk memberikan info)
Versi 3.7.2 (20 Januari 2022)
- Pencakar langit sekarang hanya mengabaikan file saat menggunakan file '.skyscraperignore [tree]' saat mengikis untuk data baru. Mereka tidak akan diabaikan saat membuat daftar permainan
Versi 3.7.1 (19 Januari 2022)
- Pencakar langit sekarang akan mengabaikan seluruh pohon subfolder di mana file disebut '.skyscraperignoretree' ditemukan (terima kasih kepada pengguna 'sromeroi' karena menyarankan ini)
Versi 3.7.0 (17 Januari 2022)
- Pindahkan '---fromfile' opsi untuk '--includefrom'. '--fromfile' masih berfungsi, tetapi dianggap sudah usang
- Pindahkan '-termasuk opsi' untuk '--includepattern'. '--Tinyur' masih berfungsi, tetapi dianggap sudah usang
- Pindahkan '--Excludefiles' opsi ke '--Exludepattern'. '--Excludefiles' masih berfungsi, tetapi dianggap sudah usang
- Menambahkan opsi '--Excludefrom' Mirip dengan '--includefrom' hanya sebaliknya (terima kasih kepada pengguna 'tomfury' karena telah menyarankan ini)
- Pencakar langit sekarang akan mengabaikan subfolder apa pun dalam folder input di mana file yang disebut '.skyscraperignore' ditemukan (terima kasih kepada pengguna 'sromeroi' karena menyarankan ini)
- Menambahkan platform 'Easyrpg', hanya dapat digunakan menggunakan modul 'screenscraper' (terima kasih kepada pengguna 'ZeroJay' untuk menyarankan ini)
Versi 3.6.16 (9 November 2021)
- Tambahkan platform 'moto' (terima kasih kepada pengguna 'yserra' karena telah menyarankannya)
Versi 3.6.15 (25 Agustus 2021)
- Menambahkan Plasan 'CHD' ke platform 'Atomiswave' (terima kasih kepada pengguna 'smeegoan' karena telah melaporkan ini)
- Memperbaiki bug yang menyebabkan 'T000000' ditambahkan beberapa kali saat melewatkan entri di gamelist ES (terima kasih kepada pengguna 'sleve_mcdichael' karena telah melaporkan ini)
Versi 3.6.14 (5 Agustus 2021)
- Menambahkan 'Windows 3.x' sebagai Alias ke Modul Mengikis MobyGames (terima kasih kepada pengguna 'ecto' untuk melaporkan ini)
Versi 3.6.13 (2 Juni 2021)
- Menambahkan opsi konfigurasi spesifik 'mediafolderhidden' yang akan mengatur folder media ke 'platform/.media' saat diatur ke true. Ini dapat mempercepat pemuatan awal emulasi saat menggunakan penyimpanan lambat seperti sistem file jaringan (terima kasih kepada pengguna 'xenuiswatching' karena telah menyarankan ini)
Versi 3.6.12 (15 Mei 2021)
- Dihapus 'Mode Sederhana' seperti yang rusak dan sudah usang. Gunakan skrip retropie sebagai gantinya
- Menghapus banyak opsi CLI yang sudah usang (dan tersembunyi)
Versi 3.6.11 (6 Mei 2021)
- '--fromfile' sekarang menerima jalur relatif dan absolut ke nama file (terima kasih kepada pengguna 'sleve_mcdichael' karena telah melaporkan ini)
- Platform tambahan 'Atarijaguarcd', 'pcengineCd' dan 'channelf' (terima kasih kepada pengguna 'xenuiswatching' untuk memberikan info)
Versi 3.6.10 (12 April 2021)
- Menambahkan 'naomi' sebagai platform
- Menambahkan 'msx2' sebagai platform
- Menambahkan 'atomiswave' sebagai platform
Versi 3.6.9 (1 April 2021)
- Mungkin diperbaiki
--flags unpack
yang pecah dengan 3.6.8 karena panggilan fungsi QT yang sudah usang - Mungkin tetap konversi video yang rusak dengan 3.6.8 karena panggilan fungsi QT yang sudah usang
Versi 3.6.8 (31 Maret 2021)
- Menambahkan opsi 'Cacherefresh' config.ini dan menambahkannya ke modul default config.ini untuk 'Esgamelist' (terima kasih kepada pengguna 'Penx' karena telah menyarankan ini)
- 'Screenscraper APIV2 Mengembalikan pesan tidak valid / kosong JSON' sekarang tidak lagi menyertakan pesan untuk melampirkan file JSON kesalahan kecuali lebih dari 64 byte panjang
- Menambahkan Daftar Prioritas 'CA' ke Wilayah (terima kasih kepada pengguna 'JoaoluizCarvalho' karena menunjukkan ini)
- Menambahkan 'de', 'fr' dan 'es' ke daftar prioritas bahasa default
- Menambahkan Sumber Daya 'Pemain' ke '-Cache Report: Missing' Opsi CLI (Terima kasih kepada pengguna 'Peligwe' karena telah melaporkan ini)
- Menambahkan opsi 'theInfront' config.ini dan 'theInfront' flag (terima kasih kepada pengguna 'sleve_mcdichael' karena telah menyarankan ini)
- 'unadtend' dan 'unadtendskip' sekarang dapat digunakan di bagian modul pengikis di config.ini (terima kasih kepada pengguna 'sleve_mcdichael' untuk melaporkan ini)
- Menambahkan Versi QT Pra-prosesor pemeriksaan untuk metode QT yang sudah usang untuk menghindari peringatan kompilasi pada instalasi QT yang lebih baru
Versi 3.6.7 (27 Januari 2021)
- Menambahkan ekstensi '*.rvz' untuk platform 'wii' dan 'gc' (terima kasih kepada pengguna 'tcamargo' karena telah melaporkan ini)
- Menambahkan ekstensi '*.chd' untuk platform '3do' (terima kasih kepada pengguna 'roudaku' untuk melaporkan ini)
- Menambahkan platform 'Openbor'. Ada di retropie sebagai platform eksperimental (seperti yang diminta oleh pengguna 'Hahnmt')
- Platform 'Neogeo' sekarang menggunakan 'Box-2D' sebagai penutup, bukan 'Flyer' saat mengikis dengan modul ScreensCraper (terima kasih kepada pengguna 'Retro81' karena menyarankan ini)
Versi 3.6.6 (21 Desember 2020)
- Modul 'Esgamelist' sekarang mencari file 'gamelist.xml' di jalur yang ditetapkan dengan '-g' alih-alih jalur yang ditetapkan dengan '-i' (terima kasih kepada pengguna 'C0D3H4X0R' karena telah melaporkan ini dan membantu saya men-debugnya )
Versi 3.6.5 (18 Desember 2020)
- Sekarang menggunakan satu instance jaringan bersama, bukan satu per utas
- Entri platform 'Daphne' sekarang ditambahkan sebagai entri '' alih -alih '' entri (terima kasih kepada pengguna 'Clyde' karena telah membantu mencari tahu ini)
- Menambahkan opsi 'NocropBlack' CLI dan 'cropblack = "bool"' konfigurasi.ini opsi yang memungkinkan pengguna untuk menonaktifkan pemangkasan perbatasan hitam di sekitar tangkapan layar saat menyusun karya seni gamelist terakhir (terima kasih kepada pengguna 'Windywinston' karena telah menyarankan ini)
Versi 3.6.1 (27 Oktober 2020)
- Ditambahkan 'amigacd32' sebagai platform terpisah hanya karena (terima kasih kepada pengguna 'horaceandthespider' karena telah mengatur ulang matriks)
Versi 3.6.0 (25 Oktober 2020)
- Mengubah 'Secssinceepich' menjadi 'msecssinceepich' untuk mendukung versi qt pra-5.8 (terima kasih kepada pengguna 'hazza4569' untuk melaporkan ini)
Rilis yang lebih tua
Catatan rilis untuk rilis yang lebih lama dapat ditemukan di sini.