https://github.com/izh318/priconne-extraction-tools-portable
๐ฎ 'ํ๋ฆฐ์ธ์ค ์ปค๋ฅํธ! Re:Dive' ํด๋ผ์ด์ธํธ์์ ์ง์ ๊ฒ์ ๋ฆฌ์์ค๋ฅผ ์ถ์ถํ๋ ํฌํฐ๋ธ ์คํ๋ผ์ธ ๋๊ตฌ์
๋๋ค. (๊ตญ๊ฐ ๋ฌด๊ด) / ๐ฎ A portable, offline tool for extracting game resources directly from the Princess Connect! Re:Dive client. (Region-free)
https://github.com/izh318/priconne-extraction-tools-portable
acb awb priconne princess-connect princess-connect-redive unity3d usm
Last synced: 4 months ago
JSON representation
๐ฎ 'ํ๋ฆฐ์ธ์ค ์ปค๋ฅํธ! Re:Dive' ํด๋ผ์ด์ธํธ์์ ์ง์ ๊ฒ์ ๋ฆฌ์์ค๋ฅผ ์ถ์ถํ๋ ํฌํฐ๋ธ ์คํ๋ผ์ธ ๋๊ตฌ์ ๋๋ค. (๊ตญ๊ฐ ๋ฌด๊ด) / ๐ฎ A portable, offline tool for extracting game resources directly from the Princess Connect! Re:Dive client. (Region-free)
- Host: GitHub
- URL: https://github.com/izh318/priconne-extraction-tools-portable
- Owner: IZH318
- License: gpl-3.0
- Created: 2024-05-24T19:53:58.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-07-25T20:03:48.000Z (about 1 year ago)
- Last Synced: 2025-07-27T02:34:15.649Z (about 1 year ago)
- Topics: acb, awb, priconne, princess-connect, princess-connect-redive, unity3d, usm
- Language: Python
- Homepage:
- Size: 18.5 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ํ๋ฆฐ์ธ์ค ์ปค๋ฅํธ! Re:Dive ์ข
ํฉ ๋ฆฌ์์ค ์ถ์ถ ๋๊ตฌ
๊ฒ์ 'ํ๋ฆฐ์ธ์ค ์ปค๋ฅํธ! Re:Dive'์ ํด๋ผ์ด์ธํธ ํ์ผ์ ๋ถ์ํ๊ณ ,
๊ฐ์ข
๋ฆฌ์์ค๋ฅผ ์คํ๋ผ์ธ ํ๊ฒฝ์์ ๊ตญ๊ฐ ์๋ฒ์ ์๊ด์์ด ์ถ์ถ ๋ฐ ๋ณํํ๋ ์ฌ์ธ์ GUI ๋๊ตฌ ๋ชจ์์
๋๋ค.
์ง๊ด์ ์ธ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋๊ตฌ๋ ์์ฝ๊ฒ ๊ฒ์ ๋ฆฌ์์ค๋ฅผ ๋ค๋ฃฐ ์ ์์ต๋๋ค.
์ด ํ๋ก์ ํธ๋ ๋ฐ์ดํฐ ๋ง์ด๋, ํฌ ์ฐฝ์ ํ๋, ๋๋ ๋จ์ํ ๊ฒ์์ ๋ด๋ถ๋ฅผ ํ๊ตฌํ๊ณ ์ถ์ ๋ชจ๋ ๋ถ๋ค์ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค.
(* ๋ฏธ์ฒ ๋ฐ๊ฒฌํ์ง ๋ชปํ ์ค๋ฅ๊ฐ ์์ ์ ์์ต๋๋ค.)
## ๐ ์ฃผ์ ๊ธฐ๋ฅ
์ด ๋๊ตฌ ๋ชจ์์ ๋ณต์กํ๊ณ ํํธํ๋์๋ CLI ์คํฌ๋ฆฝํธ๋ค์ **์ฌ์ฉ์ ์นํ์ ์ธ ๋จ์ผ GUI ์ ํ๋ฆฌ์ผ์ด์
**๋ค๋ก ํตํฉํ์ฌ, ๊ฒ์ ๋ฆฌ์์ค ์ถ์ถ ๋ฐ ๋ถ์ ์์
์ ์ง๊ด์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ๋ง๋ญ๋๋ค.
๊ฐ ๋๊ตฌ๋ ๋
๋ฆฝ์ ์ผ๋ก ์คํ๋๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- **`01. Manifest File Renamer`**:
- **์๋ ํด์ ๋์กฐ**: `manifest.db`๋ฅผ ๊ธฐ๋ฐ์ผ๋ก `MD5` ๋ฐ `xxHash64`๋ฅผ ์ฌ์ฉํ์ฌ SHA1 ํ์ผ๋ช
์ **์๋ณธ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝ**ํฉ๋๋ค.
- **์ง๋ฅํ ์์ธ ์ฒ๋ฆฌ**: DB์ ์๋ ๋งค๋ํ์คํธ ํ์ผ์ ๊ฒฝ์ฐ, **ํ์ผ ๋ด์ฉ์ ๋ถ์**ํ์ฌ `bdl_assetmanifest` ๋ฑ์ผ๋ก ์ถ๋ก ํ๊ณ ์ด๋ฆ์ ๋ณ๊ฒฝํฉ๋๋ค.
- **์ค์๊ฐ ํผ๋๋ฐฑ**: ๋ชจ๋ ์ฒ๋ฆฌ ๊ณผ์ ์ ๋ก๊ทธ ์ฐฝ์ ์์ธํ ๊ธฐ๋กํ๊ณ , ์งํ๋ฅ ํ์์ค์ ํตํด ์์
์ํ๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ค๋๋ค.
- **`02. unity3d File Converter`**:
- **๋ฉํฐํ๋ก์ธ์ค ๋ณ๋ ฌ ์ฒ๋ฆฌ**: ์ฌ๋ฌ CPU ์ฝ์ด๋ฅผ ๋์์ ํ์ฉํ์ฌ ์์ฒ ๊ฐ์ `.unity3d` ํ์ผ์ **์๋์ ์ผ๋ก ๋น ๋ฅธ ์๋**๋ก ์ฒ๋ฆฌํฉ๋๋ค.
- **๊ณ ๊ธ 3D ๋ชจ๋ธ ์ถ์ถ**: ์์ถ๋ ๋ฉ์(`m_CompressedMesh`)๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํ๋ฉฐ, 3D ๋ชจ๋ธ์ ์ฌ์ง ์ ๋ณด(`.mtl`)์ ํ
์ค์ฒ๋ฅผ **์๋์ผ๋ก ์ฐ๊ฒฐํ์ฌ ์ถ์ถ**ํฉ๋๋ค.
- **์ฒด๊ณ์ ์ธ ๊ฒฐ๊ณผ๋ฌผ ๊ด๋ฆฌ**: ์ถ์ถ๋ ๋ชจ๋ ๋ฆฌ์์ค๋ `Textures`, `Meshes`, `Audio` ๋ฑ **์์
ํ์
์ ๋ฐ๋ผ ์๋์ผ๋ก ํด๋๊ฐ ๋ถ๋ฅ**๋์ด ์ ์ฅ๋ฉ๋๋ค.
- **์์ธํ ๋ก๊ทธ ์์คํ
**: **์ฑ๊ณต, ๊ฒฝ๊ณ , ์ค๋ฅ** ๋ฑ ๋ก๊ทธ ๋ ๋ฒจ์ ๋ฐ๋ผ ์์์ ๊ตฌ๋ถํ์ฌ ํ์ํ๋ฏ๋ก ๋ฌธ์ ๋ฐ์ ์ ์์ธ์ ์ฝ๊ฒ ํ์
ํ ์ ์์ต๋๋ค.
- **`03. Audio Video Converter`**:
- **ํตํฉ ์ธํฐํ์ด์ค**: ๋น๋์ค(`.usm` โ `.mp4`)์ ์ค๋์ค(`.acb`, `.awb` โ `.wav`) ๋ณํ ๊ธฐ๋ฅ์ **ํญ์ผ๋ก ๊ตฌ๋ถ๋ ๋จ์ผ ์ฑ**์์ ๋ชจ๋ ์ฒ๋ฆฌํฉ๋๋ค.
- **์์กด์ฑ ์๋ ํด๊ฒฐ**: ๋ณํ์ ํ์ํ `ffmpeg.exe`๊ฐ ์์ ๊ฒฝ์ฐ, **์๋์ผ๋ก ๋ค์ด๋ก๋ํ๊ณ ์ค์น**ํ์ฌ ์ฌ์ฉ์ ์ค๋น ๊ณผ์ ์ ์ต์ํํฉ๋๋ค.
- **์ง๋ฅํ ์ค๋์ค ํธ๋ ๊ด๋ฆฌ**: `.awb` ํ์ผ ๋ด์ ๋ชจ๋ ์ค๋์ค ํธ๋์ ๋ถ์ํ๊ณ , ๊ฐ **ํธ๋์ ๊ณ ์ ์ด๋ฆ์ ์ฐพ์ ํ์ผ๋ช
์ผ๋ก ์ฌ์ฉ**ํ์ฌ ์ ๋ฆฌ ํธ์์ฑ์ ๊ทน๋ํํฉ๋๋ค.
- **`04. storydata Viewer`**:
- **๊ฐ๋
์ฑ ๋์ ๋ทฐ์ด**: JSON ํ์์ ์คํ ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ **๊ตฌ๋ฌธ ๊ฐ์กฐ(Syntax Highlighting)**ํ์ฌ Scene ํค๋, ์บ๋ฆญํฐ, ๋์ฌ ๋ฑ์ ๋ช
ํํ๊ฒ ๊ตฌ๋ถํด ๋ณด์ฌ์ค๋๋ค.
- **๊ฐ๋ ฅํ ๊ณ ๊ธ ๊ฒ์**: ์บ๋ฆญํฐ, ๋์ฌ, BGM ๋ฑ ๋ณตํฉ ์กฐ๊ฑด ๊ฒ์์ ๋ฌผ๋ก , **๊ฒ์ DB ํ์ผ(`master_jp.db` ๋ฑ)์ ์ฐ๋ํ์ฌ ํน์ ์ด๋ฒคํธ ์คํ ๋ฆฌ๋ฅผ ์ด๋ฆ์ผ๋ก ๊ฒ์**ํ๋ ๊ณ ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- **๋ค๋ชฉ์ ๋ด๋ณด๋ด๊ธฐ**: ๋ถ๋ฌ ์จ ํ์ผ ๋๋ ๊ฒ์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก **์คํ ๋ฆฌ ๋ฐ์ดํฐ, ๊ฐ์ข
๋ชฉ๋ก(์บ๋ฆญํฐ, BGM ๋ฑ), ์ด๋ฒคํธ ๋ชฉ๋ก**์ ์ ํํ์ฌ ๋ด๋ณด๋ผ ์ ์์ต๋๋ค.
## ๐ ์
๋ฐ์ดํธ ๋ด์ญ
### v2.0.0 (2025-07-26)
์ด๋ฒ ์
๋ฐ์ดํธ๋ ๋ชจ๋ ๋๊ตฌ๋ฅผ CLI์์ GUI๋ก ์ ํํ๊ณ , ์ฑ๋ฅ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ทน๋ํํ๋ ๋ฐ ์ค์ ์ ๋ ๋๊ท๋ชจ ๋ฆฌํฉํ ๋ง์
๋๋ค.
- #### **๐ ๊ณตํต ์
๋ฐ์ดํธ ๋ด์ญ**
- **GUI ๋์
**: ๋ชจ๋ ๋๊ตฌ๊ฐ `Tkinter` ๊ธฐ๋ฐ์ GUI ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ์ ํ๋์ด, ๋ ์ด์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ ํ์ ์์ด ์ง๊ด์ ์ธ ์กฐ์์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
- **๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐ ๋ณ๋ ฌํ๋ก ์ฑ๋ฅ ๊ทน๋ํ**: `threading`๊ณผ `concurrent.futures`๋ฅผ ๋์
ํ์ฌ ํ์ผ ์ฒ๋ฆฌ ์ค UI๊ฐ ๋ฉ์ถ๋ ํ์์ ํด๊ฒฐํ๊ณ , ๋ฉํฐ์ฝ์ด๋ฅผ ํ์ฉํ์ฌ ์์
์๋๋ฅผ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค.
- **๋ค๊ตญ์ด ์ง์ (i18n)**: **ํ๊ตญ์ด, ์์ด, ์ผ๋ณธ์ด**๋ฅผ ์ง์ํ๋ฉฐ, ๋ฉ๋ด๋ฅผ ํตํด ์ค์๊ฐ์ผ๋ก ์ธ์ด๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- **์ค์๊ฐ ๋ก๊ทธ ๋ฐ ์์ธ ํผ๋๋ฐฑ**: ๋ชจ๋ ์์
๊ณผ์ ์ GUI ๋ด ๋ก๊ทธ ์ฐฝ์ ํ์์คํฌํ์ ํจ๊ป ์ค์๊ฐ์ผ๋ก ๊ธฐ๋ก๋ฉ๋๋ค.
- **๊ฒฌ๊ณ ํ ์ํํธ์จ์ด ์ํคํ
์ฒ**: ๋ชจ๋ ์ฝ๋๋ฅผ UI์ ๋ก์ง์ผ๋ก ๋ถ๋ฆฌ๋ ๊ฐ์ฒด ์งํฅ(OOP) ๊ตฌ์กฐ๋ก ์ฌ์ค๊ณํ์ฌ ์์ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์์ต๋๋ค.
- #### **๐ ํ์ผ๋ณ ์์ธ ์
๋ฐ์ดํธ ๋ด์ญ**
- **`01. Manifest File Renamer`**
- **ํผ๋๋ฐฑ**: ์ค์๊ฐ ๋ก๊ทธ ์ฐฝ๊ณผ Progress Bar๋ฅผ ํตํด ์์
์งํ ์ํ๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ช
ํํ๊ฒ ํ์.
- **ํ๋ก์ธ์ค**: ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝ ์์
์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋์์ ์ฒ๋ฆฌํ์ฌ UI ์๋ต์ฑ ์ ์ง.
- **์์ธ ์ฒ๋ฆฌ**: ํด์ ๋ถ์ผ์น ์, ํ์ผ ๋ด์ฉ์ ๋ถ์ํ์ฌ `assetmanifest` ๋ฑ์ ์ถ๋ก ํ๋ ๊ณ ๊ธ ์์ธ ์ฒ๋ฆฌ ๋ก์ง ์ถ๊ฐ.
- **`02. unity3d File Converter`**
- **์ฑ๋ฅ**: **๋ฉํฐํ๋ก์ธ์ค ๋ณ๋ ฌ ์ฒ๋ฆฌ**๋ฅผ ๋์
ํ์ฌ ๋์ฉ๋ `.unity3d` ํ์ผ ๋ณํ ์๋๋ฅผ ๊ทน๋ํ.
- **๋ก๊ทธ ์์คํ
**: **๋ก๊ทธ ๋ ๋ฒจ(SUCCESS, WARNING, ERROR)์ ๋ฐ๋ผ ๋ฐฐ๊ฒฝ์๊ณผ ๊ธ์์์ ๋ค๋ฅด๊ฒ ํ์**ํ์ฌ ๊ฐ๋
์ฑ์ ํฌ๊ฒ ํฅ์.
- **๋ฉ์ ์ถ์ถ ๊ธฐ๋ฅ ๊ฐํ**: ์์ถ๋ ๋ฉ์(`m_CompressedMesh`)๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํ๋ฉฐ, ์ ์ ๋ฒ์ (Normal)์ ์๋์ผ๋ก ๊ณ์ฐํ๊ณ **`.mtl` ์ฌ์ง ํ์ผ์ ์๋์ผ๋ก ์์ฑ**ํ์ฌ 3D ๋ชจ๋ธ์ ์์ฑ๋๋ฅผ ๋์.
- **ํ์ผ ๊ด๋ฆฌ**: ์์
ํ์
๋ณ(`Textures`, `Meshes` ๋ฑ)๋ก ํด๋๋ฅผ ์๋ ์์ฑํ๋ฉฐ, ํ์ผ๋ช
์ถฉ๋ ์ `PathID`๋ฅผ ์ด์ฉํด ๊ณ ์ ํ ์ด๋ฆ ๋ถ์ฌ.
- **`03. Audio Video Converter` (ํตํฉ)**
- **ํตํฉ**: ๊ธฐ์กด์ ์ค๋์ค, ๋น๋์ค ๋ณํ๊ธฐ๋ฅผ **ํญ์ผ๋ก ๊ตฌ๋ถ๋ ๋จ์ผ GUI ์ฑ**์ผ๋ก ํตํฉ.
- **์์กด์ฑ ๊ด๋ฆฌ**: **FFmpeg ์๋ ๋ค์ด๋ก๋ ๋ฐ ์ค์น ๊ธฐ๋ฅ**์ด ๋ด์ฅ๋์ด ์ฌ์ฉ์๊ฐ ์๋์ผ๋ก ์ค์นํ ํ์๊ฐ ์์.
- **์ค๋์ค ์ฒ๋ฆฌ**: `.awb` ํ์ผ ๋ด์ ๋ชจ๋ ์ค๋์ค ์คํธ๋ฆผ(ํธ๋)์ ๋ถ์ํ๊ณ , ๊ฐ ์คํธ๋ฆผ์ **๊ณ ์ ์ด๋ฆ์ ์ฐพ์ ํ์ผ๋ช
์ผ๋ก ์ฌ์ฉ**ํ์ฌ ์ ๋ฆฌ ํธ์์ฑ ์ฆ๋.
- **ํ๋ก์ธ์ค**: `subprocess.run`์ ์ฌ์ฉํ์ฌ ์ธ๋ถ ๋๊ตฌ์ ์ถ๋ ฅ์ ์๋ฒฝํ๊ฒ ์บก์ฒํ๊ณ ์์ธํ ๋ก๊ทธ๋ฅผ ์ ๊ณต.
- **`04. storydata Viewer` (ํตํฉ ๋ฐ ๊ธฐ๋ฅ ํ์ฅ)**
- **ํต์ฌ ๊ธฐ๋ฅ**: ๋จ์ ์ ๋ณด ์ถ์ถ์์ ๋ฒ์ด๋, `storydata`๋ฅผ **์ง์ ๋ณด๊ณ ๋ถ์**ํ๋ **์์ ํ ๋ทฐ์ด ์ ํ๋ฆฌ์ผ์ด์
**์ผ๋ก ์ฌํ์.
- **๋ฐ์ดํฐ ํ์**: Scene ํค๋, Key, ๋์ฌ ๋ฑ์ **๊ตฌ๋ฌธ ๊ฐ์กฐ(Syntax Highlighting)**ํ์ฌ ๊ฐ๋
์ฑ ๊ทน๋ํ.
- **๊ณ ๊ธ ๊ฒ์**: ํ์ผ๋ช
, ์บ๋ฆญํฐ, ๋์ฌ ๋ฑ ๋ณตํฉ ์กฐ๊ฑด ๊ฒ์ ๋ฐ **DB ์ฐ๋์ ํตํ ์ด๋ฒคํธ ์คํ ๋ฆฌ ๊ฒ์** ๊ธฐ๋ฅ ์ถ๊ฐ.
- **๋ด๋ณด๋ด๊ธฐ**: ์คํ ๋ฆฌ ๋ฐ์ดํฐ, ๊ฐ์ข
๋ชฉ๋ก, **์๋ฒ๋ณ ์ด๋ฒคํธ ๋ชฉ๋ก** ๋ฑ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์ฌ ํ ๋ฒ์ ๋ด๋ณด๋ด๊ธฐ ๊ฐ๋ฅ.
๐ ์ด์ ์
๋ฐ์ดํธ ๋ด์ญ - ํด๋ฆญํ์ฌ ์ด๊ธฐ
v1.0.1 (2024-06-02)
- **์์ **
- ํ์ ํ์ ์ํํธ์จ์ด ๋๊ตฌ ์ฒจ๋ถ (*.zip ํ์ผ ๋ด ํฌํจ ๋จ)
- usmtoolkit ํฌํจ
- ๋ณด๋ค ํธํ๊ฒ Python Package๋ฅผ ์ค์นํ ์ ์๋๋ก ๋ฐฐ์นํ์ผ(*.bat)๋ก ๊ตฌ์ฑ
- ๊ฐ์ข
Python Script์ ์๋ด ์ฐฝ ๊ธฐ๋ฅ ์ถ๊ฐ
- ์บ๋ฆญํฐ ์ด๋ฆ์ ๋ณด๋ค ํธํ๊ฒ ์ถ์ถํ ์ ์๋๋ก '05. Character List Export.py' ์ ์
- ์ถ์ถ ํ ์คํ ๋ฆฌ๋ฐ์ดํฐ์์ ์ฐพ๊ณ ์ ํ๋ ์บ๋ฆญํฐ ๋ช
๊ณผ ์ฐ๊ฒฐ ๋ผ ์๋ Vocal Resource, Dialog ์ ๋ณด๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ๊ฒ์ํ ์ ์๋๋ก '06. Vocal Resource Info Export.py' ์ ์
- ์๋ณธ Resource ํ์ผ์ ๋ณด๋ค ํธํ๊ฒ ์ญ์ ํ ์ ์๋๋ก '07. Original Resource Remover.bat ' ์ ์
- manifest ํ์ผ ์ค ์ผ๋ถ ํญ๋ชฉ ์์ธ ์ฒ๋ฆฌ๋์ง ์๋ ์ค๋ฅ ์์
- ์ค๋ณต ํ์ผ์ด ์๋ ํ์ผ ์ด๋ฆ์ (Duplicate\_{counter}) ๊ฐ ์ฒ๋ฆฌ๋๋ ์ค๋ฅ ์์
- **๊ธฐํ**
- `ํ๋ฆฐ์ธ์ค ์ปค๋ฅํธ! Re:Dive (JP) Asset ์ถ์ถ ๋๊ตฌ` ๊ฒ์
## ๐พ ๋ค์ด๋ก๋ ๋ฐ ์๊ตฌ์ฌํญ
[
](https://github.com/IZH318/Priconne-Extraction-Tools-Portable/releases)
### โป ์ถ์ถ ๋๊ตฌ๋ ์๋จ ์ฅฌ์ผ ์์ด์ฝ์ ํด๋ฆญ ๋๋ ๋ณธ ์ ์ฅ์์ Releases ํ์ด์ง๋ก ์ด๋ํ์ฌ ๋ค์ด๋ก๋ ํ์ญ์์ค.
| ์ํํธ์จ์ด | URL | ํ์์ฌ๋ถ | ๋น๊ณ |
| :--- | :--- | :--- | :--- |
| `Python 3.10+` | [Download](https://www.python.org/downloads/release/python-31011/) | **ํ์** | โผ ๋ชจ๋ GUI ์ ํ๋ฆฌ์ผ์ด์
์คํ์ ํ์ํฉ๋๋ค.
โผ **์ค์น ์ 'Add python.exe to PATH' ์ต์
์ ๋ฐ๋์ ์ฒดํฌํด์ฃผ์ธ์.** |
| `.NET Runtime 3.1` | [Download](https://dotnet.microsoft.com/en-us/download/dotnet/3.1) | ์ ํ | โผ `03. Audio Video Converter`์ ์ผ๋ถ ๊ธฐ๋ฅ(UsmToolkit) ์คํ์ ํ์ํฉ๋๋ค. |
| `K-Lite Codec Pack` | [Download](https://codecguide.com/download_k-lite_codec_pack_standard.htm) | ์ ํ | โผ ๋ณํ๋ ์ค๋์ค(.wav) ๋ฐ ๋น๋์ค(.mp4) ํ์ผ์ด ์ ์์ ์ผ๋ก ์ฌ์๋์ง ์์ ๊ฒฝ์ฐ ์ค์น๋ฅผ ๊ถ์ฅํฉ๋๋ค. |
## โ ์ฃผ์ ์ฌํญ โ
- **๋ชจ๋ ๋ด์ฉ์ 2025-07-25 JP, KR ์๋ฒ ์
๋ฐ์ดํธ ๊ธฐ์ค์ด๋ฉฐ, ์์
์์ ๋๋ ํด๋ผ์ด์ธํธ ๋ฒ์ ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅผ ์ ์์ต๋๋ค.**
- **์ถ์ถ๋ ๋ฆฌ์์ค์ ์ด ์ฉ๋์ ์์ญ GB์ ๋ฌํ ์ ์์ผ๋, ๋ฐ๋์ ์ ์ฅ ์ฅ์น์ ์ฌ์ ๊ณต๊ฐ์ ํ์ธ ํ ์์
ํ์๊ธฐ ๋ฐ๋๋๋ค.**
- ๋ฐ๊ฒฌ๋ ๋ฌธ์ ๋ฅผ ๋ฏธ๋ฆฌ ํ์ธํ์ฌ ์์
์ค ์ ์ ํ ๋์ฒํ ์ ์๋๋ก ์ค๋นํ์ญ์์ค.
ย ๐ ์ง๊ธ๊น์ง ๋ฐ๊ฒฌ ๋ ๋ฌธ์
`01. ํ๊ตญ ์๋ฒ ํด๋ผ์ด์ธํธ ์ผ๋ถ *.usm ํ์ผ ์๋ฆฌ ๊นจ์ง`
`\m\t` ํด๋์ ์๋ *.usm ํ์ผ ์ค ์ผ๋ถ *.usm ํ์ผ์ด ์ ์์ ์ผ๋ก ๋ณํ๋์ง ์์
**ํด๋ผ์ด์ธํธ ๋๋ manifest.db์์ ๊ฐ๋ฆฌํค๋ ๊ฐ ํด๋๋ณ ๋ช
์นญ์ ์๋ ๋ชฉ๋ก์ ํด๋ฆญํ์ฌ ์ฐธ๊ณ ํ์ญ์์ค.**
ย ๐ ๊ฐ ํด๋๋ณ ์ด๋ฆ
```
\a = Asset (์์
)
\b = BGM (๋ฐฐ๊ฒฝ์์
)
\s = SE (Sound Effect, ํจ๊ณผ์)
\v = Voice (์์ฑ)
\m = Movie (์์)
\t = Temp (์์)
```
**๊ฐ manifest์ ๊ตฌ์กฐ๋ ์๋ ๋ชฉ๋ก์ ํด๋ฆญํ์ฌ ์ฐธ๊ณ ํ์ญ์์ค.**
ย ๐งพ All Manifests (Level 2)
โป ์๋ณธ ๊ตญ๊ฐ, ์์
ํ๋ ์์ ๋๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ์ผ๋ถ ๋ค๋ฅด๊ฒ ํ๊ธฐ๋ ์ ์์
```
๐ PrincessConnectReDive
โ๐ a
โ โ๐ abyss
โ โ๐ alces
โ โ๐ all
โ โ๐ animation
โ โ๐ arcade
โ โ๐ atlasngui
โ โ๐ banner
โ โ๐ bdl
โ โ๐ bg
โ โ๐ caravan
โ โ๐ clanbattle
โ โ๐ colosseum
โ โ๐ comic
โ โ๐ consttext
โ โ๐ dailytask
โ โ๐ dome
โ โ๐ dungeon
โ โ๐ event
โ โ๐ font
โ โ๐ gacha
โ โ๐ howtoplay
โ โ๐ icon
โ โ๐ jukebox
โ โ๐ knightenhance
โ โ๐ lipsyncothers
โ โ๐ loginbonus
โ โ๐ masterdata
โ โ๐ minigame
โ โ๐ resourcedefine
โ โ๐ room
โ โ๐ roomeffect
โ โ๐ roomfinger
โ โ๐ roomgrid
โ โ๐ roomicon
โ โ๐ roomitem
โ โ๐ roomthumb
โ โ๐ shader
โ โ๐ spine
โ โ๐ storydata
โ โ๐ t
โ โ๐ talentquest
โ โ๐ travel
โ โ๐ unit
โ โ๐ wac
โ๐ b
โ โ๐ t
โ๐ m
โ โ๐ t
โ๐ manifest
โ๐ s
โ โ๐ t
โ๐ v
โ๐ t
```
## โฉ ์ฌ์ฉ ๋ฐฉ๋ฒ
01. `Releases`์์ ์ต์ ๋ฒ์ ์ `Source code (zip)` ์ `Essential Software Pack (x64).zip` ํ์ผ์ ๋ค์ด๋ก๋ ํ ์ ์ ํ ์์น์ ์์ถ ํด์ ํฉ๋๋ค.
02. `๐พ ๋ค์ด๋ก๋ ๋ฐ ์๊ตฌ์ฌํญ`๋ฅผ ์ฐธ๊ณ ํ์ฌ `Essential Software Pack (x64)`์ ํฌํจ ๋ ์ค์น ํ์ผ์ ์คํํ์ฌ ์ํํธ์จ์ด๋ฅผ ์ค์นํฉ๋๋ค.
03. `00. Install required Python packages.bat` ํ์ผ์ **๋๋ธ ํด๋ฆญํ์ฌ ์คํ**ํ๊ณ , ํ์ํ ํ์ด์ฌ ํจํค์ง๋ค์ด ์๋์ผ๋ก ์ค์น๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
04. ๊ฒ์ ํด๋ผ์ด์ธํธ ์๋ณธ(`manifest.db` ํ์ผ๊ณผ `a`, `b`, `m` ๋ฑ์ ํด๋)์ ์์ถ ํด์ ํ ํด๋ ๋ด๋ก **๊ตฌ์กฐ ๊ทธ๋๋ก** ๋ณต์ฌํฉ๋๋ค.
05. **`01. Manifest File Renamer.py`** ํ์ผ์ ์คํํ๊ณ , '์์
์์' ๋ฒํผ์ ๋๋ฌ ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝ์ ์๋ฃํฉ๋๋ค.

06. **`02. unity3d File Converter.py`** ํ์ผ์ ์คํํฉ๋๋ค. 'ํด๋ ์ด๊ธฐ'๋ก `a` ํด๋๋ฅผ ์ ํํ๊ณ , ์ถ๋ ฅ ํด๋๋ฅผ ์ง์ ํ ๋ค '์์
์์' ๋ฒํผ์ ๋๋ฌ ์์
์ถ์ถ์ ์งํํฉ๋๋ค.

(๐ ์ถ์ถ๋ ํ์ผ๋ค์ ์ง์ ํ ์ถ๋ ฅ ํด๋ ๋ด์ ์๋ณธ ํ์ผ ๊ฒฝ๋ก ๊ตฌ์กฐ๋ฅผ ์ ์งํ ์ฑ๋ก `Textures`, `Meshes` ๋ฑ ์์
ํ์
๋ณ ํ์ ํด๋๋ก ์๋ ์ ๋ฆฌ๋ฉ๋๋ค.)
07. **`03. Audio Video Converter.py`** ํ์ผ์ ์คํํฉ๋๋ค. ๊ฐ ํญ์์ ๋ณํํ ํ์ผ ๋๋ ํด๋(`m`, `b`, `s`, `v`)๋ฅผ ์ถ๊ฐํ๊ณ ์ถ๋ ฅ ํด๋๋ฅผ ์ง์ ํ ํ '์์
์์' ๋ฒํผ์ ๋๋ฆ
๋๋ค.
(๐ **ํ: ์๋ FFmpeg ์ค์ **)
์ธํฐ๋ท ์ฐ๊ฒฐ์ด ์๊ฑฐ๋ FFmpeg ์๋ ๋ค์ด๋ก๋๊ฐ ์คํจํ๋ ๊ฒฝ์ฐ, `Essential Software Pack (x64).zip`์ ํฌํจ๋ `ffmpeg.exe` ํ์ผ ๋๋ ๋ณ๋๋ก ๋ค์ด๋ก๋ํ `ffmpeg.exe`๋ฅผ `usmtoolkit` ํด๋ (`UsmToolkit.exe`์ ๋์ผํ ์์น)์ ์ง์ ๋ณต์ฌํด์ฃผ์๋ฉด ๋ฉ๋๋ค.

(๐ ๋น๋์ค ํ์ผ ๋ณํ)

(๐ ์ค๋์ค ํ์ผ ๋ณํ)
08. **(์ ํ)** **`04. storydata Viewer.py`** ํ์ผ์ ์คํํ์ฌ ์ถ์ถ๋ ์คํ ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ฑฐ๋, ๊ณ ๊ธ ๊ฒ์ ๋ฐ ๋ฐ์ดํฐ ๋ชฉ๋ก์ ๋ด๋ณด๋ผ ์ ์์ต๋๋ค.

(๐ '์ด๋ฒคํธ ์คํ ๋ฆฌ ๊ฒ์' ๊ธฐ๋ฅ์ ํ์ฉํ๋ ค๋ฉด, [Expugn/priconne-database](https://github.com/Expugn/priconne-database) ์์ `master_jp.db` (์ผ๋ณธ ์๋ฒ) ๋๋ `master_kr.db` (ํ๊ตญ ์๋ฒ) ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ `04. storydata Viewer.py` ํ์ผ๊ณผ **๋์ผํ ํด๋**์ ์์น์์ผ ์ฃผ์ธ์.)

(๐ storydata ๋ฐ db ํ์ผ ๊ธฐ๋ฐ ์ ๋ณด ๋ด๋ณด๋ด๊ธฐ)
09. **(์ ํ)** ๋ชจ๋ ์์
์๋ฃ ํ ์๋ณธ ๋ฆฌ์์ค ํ์ผ์ ์ ๊ฑฐํ๊ณ ์ถ๋ค๋ฉด **`05. Original Resource Remover.bat`** ํ์ผ์ ์คํํฉ๋๋ค.
## ๐ ํด์ผ ํ ์ผ (TODO)
- ๊ฒ์ ์ถ์
- ์ฝง์ฝ๋ก ์์ฒฉ
- ์ง์ญ
- ์ด๋ฒคํธ ์คํ ๋ฆฌ
- ๋์
- ์๋ ๋, ํ๋ ๋
- ํด๋์
## ๐ Special Thanks To & References
โจ ์ด ํ๋ก์ ํธ๋ ์๋์ ํ๋ฅญํ ์คํ์์ค ํ๋ก์ ํธ๋ค๋ก๋ถํฐ ๋ง์ ์๊ฐ๊ณผ ๋์์ ๋ฐ์ ๋ง๋ค์ด์ก์ต๋๋ค. ๊ฐ ๊ฐ๋ฐ์๋ถ๋ค๊ป ๊น์ ๊ฐ์ฌ๋ฅผ ๋๋ฆฝ๋๋ค.
- **[lskyset/priconne-asset-extractor](https://github.com/lskyset/priconne-asset-extractor)**
- ๊ฒ์ ์์
์ถ์ถ ๋ก์ง ๋ฐ ์ด๊ธฐ ์์ด๋์ด์ ํฐ ์๊ฐ์ ์ฃผ์์ต๋๋ค.
- **[toretate/PrincessTool](https://github.com/toretate/PrincessTool)**
- 2024๋
ํ์ผ๋ช
Hash๊ฐ ๊ณ์ฐ ๋ฐฉ์ ๋ณ๊ฒฝ ๋ฐฉ๋ฒ์ ๋ํ ์ ์ฉํ ์ฐธ๊ณ ์๋ฃ๊ฐ ๋์์ต๋๋ค.
- (์๋ณธ: **[AioiLight/PrincessTool](https://github.com/AioiLight/PrincessTool)**)
- **[aelurum/AssetStudio](https://github.com/aelurum/AssetStudio)**
- Unity ์์
ํ์ผ ๊ตฌ์กฐ ์ดํด ๋ฐ ๋ค์ํ ๋ฆฌ์์ค ๋ณํ ๋ฐฉ๋ฒ์ ๋ํ ์ ์ฉํ ์ฐธ๊ณ ์๋ฃ๊ฐ ๋์์ต๋๋ค.
โจ Princess Connect! Re:Dive Game Users