A universal subtitle system for IKEMEN GO, designed to display character voice subtitles during gameplay. This module supports multiple players talking at once, timed subtitles, and multi-language subtitle files.
- Displays subtitles for character voice sounds
- Supports multiple simultaneous speakers
- Supports timed subtitles using sound sample positions
- Language-based subtitle files (e.g.
subtitles_en.ini) - Fully customizable appearance via motif (
.def) file
subtitles.def # Motif configuration
subtitles.lua # Subtitle Logic
subtitles_functions.lua # Subtitle Functions used by subtitles.lua
subtitles.zss # Subtitle ZSS Module that replicates soundvar trigger functionality
subtitles_en.ini # English subtitles
- Copy the
subtitlesfolder - Paste it into:
external/mods/
That’s it. The module will initialize automatically on game start.
This file controls how subtitles look in-game.
[Subtitles]
subtitle.joiner = "%s(%s): "
subtitle.font = 7,0,0
subtitle.scale = 1.0, 1.0
subtitle.offset = 640, 480
subtitle.xshear = 0.0
subtitle.angle = 0.0
subtitle.projection = "orthographic"
subtitle.focallength = 2048
subtitle.window = 0, 0, 1280, 720| Option | Description |
|---|---|
subtitle.joiner |
Prefix format. %s = display name, %s = player number |
subtitle.font |
Font used for subtitles |
subtitle.scale |
Text scale |
subtitle.offset |
Screen position |
subtitle.window |
Rendering window |
You can set subtitle.joiner to an empty string ("") to display only the subtitle text.
This file contains the actual subtitle lines.
- The system uses one file per language (
subtitles_en.ini,subtitles_ja.ini, etc.) - Section names must match character name, not displayname. (spaces supported)
[Character Name]
author = "Author Name"
GROUP-INDEX-LINEID = "Subtitle text"
GROUP-INDEX-LINEID-startpos = number
GROUP-INDEX-LINEID-endpos = numberGROUP-INDEX-LINEID
| Part | Description |
|---|---|
GROUP |
Sound group number |
INDEX |
Sound index number |
LINEID |
Subtitle index for the same sound |
Multiple LINEIDs allow multiple subtitle segments per sound.
You can control when a subtitle appears using sound sample positions.
1-3-1 = "First line"
1-3-1-startpos = 0
1-3-1-endpos = 5999
1-3-2 = "Second line"
1-3-2-startpos = 6000
1-3-2-endpos = -1- If
startposandendposare not defined, they default to-1 -1means the subtitle displays for the entire duration of the sound- Timed subtitles display only when the sound position is within range of startpos and endpos
[Ragna the Bloodedge]
author = "OHMSBY test"
191-0-1 = "Tch. What a pain in the ass."
191-1-1 = "You should have seen this coming, dumbass."
191-2-1 = "Ugh. Give me a break."To add a new language:
- Copy
subtitles_en.ini - Rename it (example:
subtitles_ja.ini) - Translate the subtitle text
- Section names must match character names exactly
- Leading/trailing spaces are trimmed internally
- Avoid duplicate sound definitions for the same group/index/lineid
- dionednd — system design & implementation
- jay_ts & m14 - color edit module code contributions