롬플릭스를 굳이 새로 파해쳐가며 시도하는 이유는 하이퍼스핀처럼 사용자에게 직관적이고 보기에 예쁜 GUI가 탐나서인데,
이전 포스팅에서의 게임 선택 화면은 시커먼 화면에 롬파일의 파일명만 덩그러니 나와있습니다.
이러면 롬플릭스를 쓸 이유가 없지요.
이번 포스팅은 게임 선택 GUI를 수정하는 방법에 대한 가이드입니다.
게임명을 각 롬마다의 게임 풀네임으로 변경하고, 해당 게임의 로고를 화면 상단에 출력하며,
게임의 아트워크를 화면 좌측에 전시하려고 합니다.
먼저 적용이 완료된 제 오락기의 시연 영상을 소개하고 진행하겠습니다.
영상에서 보실 수 있듯, 각 게임마다 해당 게임이 처음 발매했을 당시의 전단 또는 패키지 박스아트를 화면 좌측에 전시하며,
각 게임의 타이틀 로고를 이미지로 화면 상단에 출력하고 있습니다.
이전에는 파일명으로 나오던 게임 제목 또한 풀네임으로 전시하고 있습니다.
이제, 이를 적용하기 위한 작업에 들어가도록 하겠습니다.
우선 제 경우 항시 오락기통에 상주시키는 MAME 롬이 약 130여개 입니다.
각 롬파일에 해당하는 아트웤과 로고를 포토샵으로 작업하여 png 포맷으로 저장해 두었습니다.
아트워크와 로고 모음을 구하실 수 있다면 그걸 사용하셔도 되겠지만, 저는 이런데 묘하게 고집이 있어서
굳이 일부러 직접 좋아하는 이미지들을 구글링한 후 편집해서 요렇게 준비했습니다.
저는 U5 PVR slim 기기에 65G USB 메모리를 꽂아놓고, 거기에 이런저런 파일을 저장해 사용합니다.
롬파일과 아트웤도 마찬가지 이며, 폴더구조는 아래와 같이 준비했습니다.
자, 이제 롬플릭스를 실행하신 후 MAME 항목에서 아래쪽 이동하여 Config 항목을 선택합니다.
이전 포스팅에서 설명드렸듯이 Config → Advanced Modification → Change ROM Path 로 롬파일의 경로를 수정하셨을 텐데요,
이번엔 Config → Manage ROM List 로 들어가봅니다.
Manage ROM List 로 진입하셨다면 여러가지 항목이 보이실 텐데요, 두번째 줄에 있는 Manage ROMs asset directories 항목으로 들어가신 후 Change Clearlogos path 와 Change Boxfronts path 두 항목을 수정해줍니다.
Clearlogo는 배경이 투명처리 된 로고 이미지 파일이며 png 포맷으로 준비하셔야 합니다.
boxfronts는 패키지 박스 정면 이미지를 의미하는데 저는 박스 패키지 정면 사진과 광고전단 이미지를 이것저것 섞어 준비했습니다.
일단 보기에 좋은게 장땡이기 때문에 이미지가 이쁜쪽으로 준비했고, 패키지와 광고전단이 둘 다 맘에 안드는 경우엔 직접 이미지 편집을 하여 제 취향껏 이미지를 합성해 마련해두었습니다.
저는 USB 메모리에 파일들을 담아두었기 때문에, 제 경우의 경로는 /storage/sda1/Mame/art/clearlogos 와 /storage/sda1/Mame/art/boxfront 두 경로로 지정했습니다.
로고와 대표이미지의 경로는 준비가 되었고, 이제 MAME 게임 목록의 뒷 배경을 지정할 차례입니다.
로고와 대표이미지를 넣었어도 뒷 배경이 시커먼 색이라 아무래도 폼이 안나더라구요.
배경 이미지 역시 저는 약간 밝은 회색의 이미지에 MAME 로고를 밖아 심플하게 직접 만들었습니다.
참고로, 배경 이미지는 적용시 반투명 약 50% 정도로 배경에 깔리게 되므로 이미지의 색상을 원하시는 것보다 더 밝게 제작하셔야 합니다.
Config → Edit Assets/Artwork 항목으로 이동합니다.
이 항목은 각 롬마다의 적용이 아닌, 마메 롬 리스트 진입시에 보이게 되는 기본 설정에 해당합니다.
만약 새로 추가한 롬파일에 로고와 대표이미지를 설정하지 않으셨다면 지금 설정하는 마메 기본 Asset/Artwork이 자동으로 적용되게 됩니다.
마메 롬 리스트 화면의 배경에 깔리게 되는 것은 Fanart(팬아트) 항목입니다.
팬아트 항목에서 미리 준비한 이미지의 경로를 찾아들어가 지정해줍니다.
자, 이제 화려한 배경을 위한 설정 준비는 거의 다 끝났습니다.
약간 복잡하기도 했고, 과정 사진으로 보자니 시커먼 화면만 계속 이어져서 아마 가이드 게시물을 보시는데 지루하셨을 겁니다.
조금만 더 참으시면 이제 예쁜 게임 롬 리스트 화면을 만나실 수 있습니다.
Config → Manage ROM List 로 이동하신 후, Rescan ROMs assets/artwork 을 선택하여, 지금까지 지정한 경로들에서 일괄적으로 투명로고 및 대표이미지를 읽어오도록 합니다.
투명로고 및 대표이미지를 읽어왔으니 각 롬에 매칭시켜주는 과정도 필요합니다.
뒤로가기를 몇차례 반복하셔서 롬플릭스 홈 화면으로 나가신 후, MAME 항목에서 아래쪽 이동하여 add roms → Scan for New ROMs 를 선택하셔서 롬리스트를 갱신해주면 이미지와 롬파일의 매칭이 완료됩니다.
자, 이제 뒤로가기를 하셔서 롬플릭스 메인 화면의 MAME 항목으로 진입해봅니다.
추가하신 수많은 롬 리스트가 있을겁니다.
그리고 각 롬파일 이름 위로 포커스를 옮겨보신다면.....
쨔잔~
진짜 폼나지 않습니까?!
저는 이전까지 하이퍼스핀의 예쁘고 직관적인 GUI가 굉장히 부러웠습니다만, PC 기반으로 돌아가기에 전력을 많이 먹는점과 발열의 문제때문에 안드로이드를 버리지 못하고 아쉬워 하고 있었습니다.
하지만 이제 하이퍼스핀이 부럽지 않네요.
롬플릭스로 그동안 부러워 했던 예쁜 GUI를 만들 수 있게 되었으니까요 ㅎㅎ
아, 예쁜것에 치중하느라 이미지 기반의 GUI 만드는 것만 설명드리다 보니 롬 파일 목록의 파일명으로 나오는걸 풀네임으로 나오도록 수정하는걸 빼먹고 설명을 드리지 않았습니다.
이전 가이드 게시물에서 MAME 롬 파일을 롬플릭스에 등록하셨다면, 각 롬파일이 있는 경로와 같은 경로에 확장자가 *.nfo 인 파일이 생성되신것을 볼 수 있습니다.
예를들어 롬파일이 AAA.zip 이었다면, 같은 폴더에 AAA.nfo 라는 파일이 생성되어 있을것입니다.
*.nfo 파일은 롬파일 목록 라이브러리를 구성할때 표시할 텍스트 정보를 담고있는 파일입니다.
그 구조는 다음과 같습니다.
<title> 과 </title> 사이에 기본적으로 롬파일명과 똑같은 이름이 써있을텐데요, 이것을 롬파일에 해당하는 게임 풀네임으로 변경해주시면 됩니다. 그 외에 아래쪽으로 이어지는 게임 발매연도, 게임 쟝르, 게임사 등의 정보도 원하신다면 수정하신 후 반영하시면 됩니다.
이 과정에서 딱 한가지가 아쉬웠는데, 저는 게임 제목을 한글로 표기하고 싶었으나, 아직까지는 한글로 작성하면 글자가 나오지를 않더라구요. nfo 포맷을 조금 더 연구해본 후, 한글 적용에 성공할 경우 새로운 포스팅을 쓰기에는 내용이 그리 많거나 중요하지 않을듯 하니 지금 이 게시물에 해당 내용을 첨가하도록 하겠습니다.
오늘의 가이드 게시물은 여기까지 입니다.
롬플릭스에 관심이 있고, 안드로이드 기반에서 예쁘고 깔끔한 GUI로 에뮬게임을 즐겨보고 싶다 하시는 모든 분들에게 도움이 되는 게시물이었기를 희망합니다.
그럼, 모두들 즐거운 게이밍 라이프 되시길 빕니다!!
## 내용 추가 (2018.07.11) ##
게임 목록의 한글 표기에 성공했습니다.
이전 단계까지 각 게임에 대응하는 nfo 파일을 notepad++로 편집하여 적용했는데, 이게 문제였던 것 같습니다.
윈도우 시스템에서 동작하는 대부분의 텍스트 에디터는 구동 OS에 따라 자동으로 문자열집합(Character-set)을 지정하는데,
한글 윈도우 상에서 텍스트 에디터로 작업 후 저장을 한 기존의 nfo는 파일 인코딩이 EUC-KR로 저장되었기에
UTF-8 인코딩을 사용하는 안드로이드 기반의 romflix에서 한글을 제대로 읽어오지 못했습니다.
그리하여, nfo 파일을 불러와 편집이 가능하고, 문자열 집합을 UTF-8로 변환까지 해주는 에디터를 열심히 찾아보던 중
위에 예제로 설명드린 3wonders.nfo 파일을 GetDiz 툴에서 불러와 보면 다음과 같이 nfo 파일의 내용이 나옵니다.
여기서 3 wonders 라고 영문으로 써있는 게임 타이틀을 한글로 "3 원더스"라고 쓰려 하면 다음 화면처럼 읽을 수 없는 이상한 글자가 나타나게 됩니다.
우리가 보통 한글 윈도우에서 사용하는 국내 표준 인코딩은 EUC-KR이고, nfo 파일에 쓰는 한글은 UTF-8 인코딩을 사용하기 때문에 이런 일이 발생합니다. 그럼 이번에는 일반 텍스트 에디터에서 게임 제목을 "3 원더스" 라고 쓴 후 GetDiz 에디터로 불러와 보겠습니다.
한글로 적은 "원더스" 부분이 물음표 ???로 나옵니다.
romflix에서 한글로 적었다가 실패했던 지난 포스팅까지의 과정에서 보았던 그대로이죠.
문자열 집합과 문서의 인코딩이 삑사리 나서 이런 증상이 나오는 것이었습니다.
이제 제대로 된 한글을 출력하기 위한 작업을 하겠습니다.
일반 텍스트 에디터에 한글 제목을 쓴 후 드래그 하여 복사해옵니다.
그리고 GetDiz에서 우리가 편집할 nfo 파일을 불러와 <title> 과 </title> 사이의 게임 제목이 들어갈 자리에 붙여넣습니다.
위와 같이 GetDiz 에디터에서 한글이 제대로 나오고 있다고 방심하시면 안됩니다.
이 상태로 저장 후 romflix에 적용해 보시면 제목이 이상한 글자로 깨지거나 혹은 아무것도 안나오는 경우가 생깁니다.
GetDiz 에디터에서 문서를 UTF-8 인코딩으로 변환해 주어야 합니다.
문서 전체를 드래그 하거나, Ctrl + a 단축키로 문서 전체를 선택해준 후,
메뉴 바의 '편집 → 형식 → 문자 집합을 UTF-8로' 를 클릭해줍니다.
그럼 한글 부분이 또 우리가 읽을 수 없는 이상한 문자로 변하게 되는데요, 이 상태로 저장을 하신 후 romflix에 적용을 해보시면 romflix에서는 제대로 된 한글로 "3 원더스"라는 제목이 출력되는걸 확인하실 수 있습니다.
이렇게 변환한 nfo 파일을 롬파일이 존재하는 경로에 복사해 넣어주시고 romflix를 실행해 롬파일 목록을 다시 갱신해주시면 다음 화면과 같이 게임 목록의 제목 등이 한글로 적용되어 나오는 것을 확인하실 수 있습니다.
이로써 제가 원하던 안드로이드 기반 게임 머신의 풀 세팅이 완성되었습니다.
아직 도전해보고 싶은 몇가지 개선사항이 있긴 하지만, 그것들은 안될 가능성이 매우 농후하기에 일단 혼자 연구를 진행해보고 나중에 혹시 성공하게 된다면 romflix 가이드 ver1.2로 새로 작성하여 내용을 공유하도록 하겠습니다.