문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. == 槪要 == [[젤다의傳說 꿈꾸는섬]](黑白版)의 逆工學프로젝트. === 環境 === * 오리지널(黑白, 非[[젤다의傳說 꿈꾸는섬 DX|DX]]) 日文版으로 作業 * [https://github.com/mattcurrie/mgbdis mgbdis] [[디스어셈블러]] 使用 * 必要한 道具는 [[파이썬]]으로 作成 == 日誌 == === 2023年5月23日 === * 첫 커밋 作成 === 2023年5月24日 === * <code>build/</code> 디렉토리를 使用하는 固定 [[메이크파일]] 作成 (디스어셈블러 稼動時 덮어쓰이지 않음) * 뱅크 $0c ~ $13의 그래픽파일 라벨 追加 ** 뱅크 $0f에서 타이틀 로고, 臺詞폰트 發見 * 臺詞 抽出 作業 ** 相對값 檢索 툴 作成 ** 뱅크 $1c에서 臺詞 發見 ** 文字코드表(TBL) 一部 作成 ** 臺詞 抽出 및 揷入 툴 作成 === 2023年5月25日 === * 뱅크 $1c에서 臺詞 포인터 테이블 2個 追加 發見 ** 뱅크 $1d에서 테이블이 가리키는 實際 臺詞 發見 * 臺詞 抽出 툴 改修 ** 빌드時 原本과 해시 一致 === 2023年5月26日 === * 뱅크 $14에서 $02番 포인터 테이블에 對應되는 세番째 臺詞 블록 發見<del>$4d에 다있는게 아니었다</del> * [[YAML]]로 出力되는 새로운 臺詞 抽出 툴 作成 ** 抽出 作業은 다음과 같은 段階들로써 이루어진다 **# tbl로 텍스트化한 롬 데이터에서 臺詞 및 포인터 테이블 探索 **# 포인터 테이블을 抽出 **# 臺詞블록과 포인터 테이블을 짝짓는 '臺詞 테이블 테이블' 作成 **# 새로 만든 툴로 블록別 臺詞 抽出 ** 完成된 各 yaml 파일에는 <code>TextData_01c_00_0000</code>와 같은 固有番號에 臺詞 對應되는 形式으로 內容이 出力됨. ※ 臺詞 揷入 툴을 만들時 參考事項 * '포인터 테이블 테이블'의 各 포인터 테이블과 該當하는 臺詞파일(yaml)을 로드 * 어셈블리 파일을 生成, 生成된 파일은 原本과 같은<del>바이트 덩어리</del>것이 아닌 '사람이 읽을수있는' 內容을 出力 ** 臺詞 데이터의 境遇, 各 텍스트를 固有番號로 레이블링 ** 포인터 테이블의 境遇, <code>dw TextData_01d_00_0060 - TextData_01d_00</code>과 같은 形式의 內容을 늘어놓은 配列로 出力 === 2023年5月26日 === * 臺詞 抽出 툴 完成, 揷入 툴 作成 ** 前述한 要求事項에 맞춘 [[포인터 테이블]] 生成 툴 作成 * 臺詞파일이 抽出되는 디렉토리에 臺詞 作業 關聯時 參考할 [[리드미]] 生成 * [[메이크파일]]에 臺詞 變換 規則 追加 (빌드時 自動으로 生成됨) * 소스코드의 臺詞와 포인터 데이터 部分을 툴로 生成한 파일을 [[인클루드|包含]]하는 코드로 置換 ** 原本과 해시 一致 ** 臺詞 前後 빈空間을 채우는 [[매크로]] 作成·適用 使用者:十八子/꿈꾸는섬 分析日誌 문서로 돌아갑니다.