# frizalouryuken/dmw2003indonesia architecture

> Architecture diagram of the GitHub repository frizalouryuken/dmw2003indonesia, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/frizalouryuken/dmw2003indonesia
- Repository: https://github.com/frizalouryuken/dmw2003indonesia

## Overview

This repository is a Windows-oriented patcher that applies the Indonesian story and NPC-dialog translation to a user-supplied Digimon World 2003 BIN image, then produces a separate patched BIN/CUE pair. The user selects an image, starts patching, and receives progress and a result. The README also documents conflict-safe updates from official v1.0 patches. The runtime is concentrated in standalone Python files; the manifest builders are development-time tooling, not part of the user workflow. Source excerpts show the GUI invoking the patch operation and resource-level parsing; some deeper runtime calls are not shown.

Main entry points: [`dw2003_patcher_standalone_v101_update_template.py`](https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py) (Image patcher)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["User interface"]
  node_gui["Patcher GUI"]
end

subgraph group_patch["Patch runtime"]
  node_engine["Image patcher"]
  node_resources["Resource translators"]
  node_formats["PACK/LANG codecs"]
  node_manifest["Embedded translations"]
end

subgraph group_artifacts["Patch artifacts"]
  node_sourcebin["Original BIN"]
  node_outputbin["Patched BIN"]
  node_outputcue["Patched CUE"]
end

node_user(("Game owner"))

node_user -->|"selects BIN"| node_gui
node_user -->|"starts patch"| node_gui
node_gui -->|"runs patch"| node_engine
node_sourcebin -->|"reads image"| node_engine
node_engine -.->|"processes resources"| node_resources
node_resources -.->|"parses resources"| node_formats
node_manifest -.->|"provides translations"| node_resources
node_engine -->|"writes copy"| node_outputbin
node_engine -->|"creates cue"| node_outputcue
node_gui -->|"reports progress"| node_user

click node_gui "https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py"
click node_engine "https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py"
click node_resources "https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py"
click node_formats "https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py"
click node_manifest "https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_gui toneBlue
class node_engine,node_resources,node_formats,node_manifest toneAmber
class node_sourcebin,node_outputbin,node_outputcue toneMint
class node_user toneIndigo
```

## Components

### User interface

- [Patcher GUI](https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py): `dw2003_patcher_standalone_v101_update_template.py`

### Patch runtime

- [Image patcher](https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py): `dw2003_patcher_standalone_v101_update_template.py`
- [Resource translators](https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py): `dw2003_patcher_standalone_v101_update_template.py`
- [PACK/LANG codecs](https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py): `dw2003_patcher_standalone_v101_update_template.py`
- [Embedded translations](https://github.com/frizalouryuken/dmw2003indonesia/blob/main/dw2003_patcher_standalone_v101_update_template.py): `dw2003_patcher_standalone_v101_update_template.py`

### Patch artifacts

- **Original BIN**
- **Patched BIN**
- **Patched CUE**

### Other components

- **Game owner**

## Connections

- Game owner → Patcher GUI: selects BIN (evidence: `README.txt`)
- Game owner → Patcher GUI: starts patch (evidence: `README.txt`)
- Patcher GUI → Image patcher: runs patch (evidence: `dw2003_patcher_standalone_v101_update_template.py`)
- Original BIN → Image patcher: reads image (evidence: `README.txt`)
- Image patcher → Resource translators: processes resources (evidence: `dw2003_patcher_standalone_v101_update_template.py`)
- Resource translators → PACK/LANG codecs: parses resources (evidence: `dw2003_patcher_standalone_v101_update_template.py`)
- Embedded translations → Resource translators: provides translations (evidence: `dw2003_patcher_standalone_v101_update_template.py`)
- Image patcher → Patched BIN: writes copy (evidence: `README.txt`)
- Image patcher → Patched CUE: creates cue (evidence: `README.txt`)
- Patcher GUI → Game owner: reports progress (evidence: `dw2003_patcher_standalone_v101_update_template.py`)
