Skip to content

dionednd/ikemen-go-subtitle-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

IKEMEN GO Subtitle System

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.


Features

  • 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

Repository Contents

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

🛠 Installation

  1. Copy the subtitles folder
  2. Paste it into:
external/mods/

That’s it. The module will initialize automatically on game start.


subtitles.def (Motif Configuration)

This file controls how subtitles look in-game.

Example

[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

Key Options

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.


subtitles_en.ini (Subtitle Definitions)

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)

File Structure

[Character Name]
author = "Author Name"
GROUP-INDEX-LINEID = "Subtitle text"
GROUP-INDEX-LINEID-startpos = number
GROUP-INDEX-LINEID-endpos = number

Sound Line Format

GROUP-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.


Timed Subtitles

You can control when a subtitle appears using sound sample positions.

Example

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

Behavior

  • If startpos and endpos are not defined, they default to -1
  • -1 means 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

Example Entry

[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."

Multi-language Support

To add a new language:

  1. Copy subtitles_en.ini
  2. Rename it (example: subtitles_ja.ini)
  3. Translate the subtitle text

Notes

  • Section names must match character names exactly
  • Leading/trailing spaces are trimmed internally
  • Avoid duplicate sound definitions for the same group/index/lineid

Credits

  • dionednd — system design & implementation
  • jay_ts & m14 - color edit module code contributions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors