使用者(사용자):十八子(십팔자)/꿈꾸는섬 分析日誌(분석일지)

槪要(개요)

젤다의傳說(전설) 꿈꾸는섬(黑白版(흑백판))의 逆工學(역공학)프로젝트.

環境(환경)

  • 오리지널(黑白(흑백), ()DX) 日文版(일문판)으로 作業(작업)
  • mgbdis 디스어셈블러 使用(사용)
  • 必要(필요)道具(도구)파이썬으로 作成(작성)

日誌(일지)

2023()5()23()

  • 첫 커밋 作成(작성)

2023()5()24()

  • build/ 디렉토리를 使用(사용)하는 固定(고정) 메이크파일 作成(작성) (디스어셈블러 稼動時(가동시) 덮어쓰이지 않음)
  • 뱅크 $0c ~ $13의 그래픽파일 라벨 追加(추가)
    • 뱅크 $0f에서 타이틀 로고, 臺詞(대사)폰트 發見(발견)
  • 臺詞(대사) 抽出(추출) 作業(작업)
    • 相對(상대)檢索(검색)作成(작성)
    • 뱅크 $1c에서 臺詞(대사) 發見(발견)
    • 文字(문자)코드()(TBL) 一部(일부) 作成(작성)
    • 臺詞(대사) 抽出(추출)揷入(삽입)作成(작성)

2023()5()25()

  • 뱅크 $1c에서 臺詞(대사) 포인터 테이블 2() 追加(추가) 發見(발견)
    • 뱅크 $1d에서 테이블이 가리키는 實際(실제) 臺詞(대사) 發見(발견)
  • 臺詞(대사) 抽出(추출)改修(개수)
    • 빌드() 原本(원본)과 해시 一致(일치)

2023()5()26()

  • 뱅크 $14에서 $02() 포인터 테이블에 對應(대응)되는 세()臺詞(대사) 블록 發見(발견)$4d에 다있는게 아니었다
  • YAML出力(출력)되는 새로운 臺詞(대사) 抽出(추출)作成(작성)
    • 抽出(추출) 作業(작업)은 다음과 같은 段階(단계)들로써 이루어진다
      1. tbl로 텍스트()한 롬 데이터에서 臺詞(대사) 및 포인터 테이블 探索(탐색)
      2. 포인터 테이블을 抽出(추출)
      3. 臺詞(대사)블록과 포인터 테이블을 짝짓는 '臺詞(대사) 테이블 테이블' 作成(작성)
      4. 새로 만든 툴로 블록() 臺詞(대사) 抽出(추출)
    • 完成(완성)() yaml 파일에는 TextData_01c_00_0000와 같은 固有番號(고유번호)臺詞(대사) 對應(대응)되는 形式(형식)으로 內容(내용)出力(출력)됨.

臺詞(대사) 揷入(삽입) 툴을 만들() 參考事項(참고사항)

  • '포인터 테이블 테이블'의 () 포인터 테이블과 該當(해당)하는 臺詞(대사)파일(yaml)을 로드
  • 어셈블리 파일을 生成(생성), 生成(생성)된 파일은 原本(원본)과 같은바이트 덩어리것이 아닌 '사람이 읽을수있는' 內容(내용)出力(출력)
    • 臺詞(대사) 데이터의 境遇(경우), () 텍스트를 固有番號(고유번호)로 레이블링
    • 포인터 테이블의 境遇(경우), dw TextData_01d_00_0060 - TextData_01d_00과 같은 形式(형식)內容(내용)을 늘어놓은 配列(배열)出力(출력)

2023()5()26()

  • 臺詞(대사) 抽出(추출)完成(완성), 揷入(삽입)作成(작성)
    • 前述(전술)要求事項(요구사항)에 맞춘 테이블 生成(생성)作成(작성)
  • 臺詞(대사)파일이 抽出(추출)되는 디렉토리에 臺詞(대사) 作業(작업) 關聯時(관련시) 參考(참고)리드미 生成(생성)
  • 메이크파일臺詞(대사) 變換(변환) 規則(규칙) 追加(추가) (빌드() 自動(자동)으로 生成(생성)됨)
  • 소스코드의 臺詞(대사)와 포인터 데이터 部分(부분)을 툴로 生成(생성)한 파일을 包含(포함)하는 코드로 置換(치환)
    • 原本(원본)과 해시 一致(일치)
    • 臺詞(대사) 前後(전후)空間(공간)을 채우는 매크로 作成(작성)·適用(적용)