Files

417 lines
15 KiB
YAML

emulator: Ikemen GO
type: standalone
core_classification: game_engine
source: "https://github.com/ikemen-engine/Ikemen-GO"
upstream: "https://github.com/ikemen-engine/Ikemen-GO"
profiled_date: "2026-10-04"
source_commit: "e8b065f410fa9507dbddc1d6b1abc231de99f8c6"
core_version: ~
display_name: "Ikemen GO"
cores: [ikemen]
systems: []
verification: existence
notes: |
M.U.G.E.N.-compatible 2D fighting game engine written in Go. It reads the
.def, .air, .cmd, .cns, .sff and .snd files of M.U.G.E.N. content, plus its
own .zss state files.
Every file is read relative to the working directory; paths below are
written under ikemen/, which stands for it. The file names come from the
embedded default configuration, src/resources/defaultConfig.ini, which
save/config.ini overrides (src/main.go:189-195).
The repository ships:
data/: common animations, commands, constants and state files
external/script/: the Lua scripts that drive menus and game modes
external/icons/: window icons
external/shaders/: optional post-processing shaders
font/: debug.def with Open Sans, and the default-3x5 bitmap fonts
The default configuration also names files the repository does not hold:
the motif data/ikemen1/system.def, the effects pack data/gofx/gofx.def, the
stage stages/stage0-720.def and external/gamecontrollerdb.txt. Release
packages copy chars, data, font, sound, stages and video from the
Ikemen-GO-Screenpack repository next to the engine
(.github/workflows/releases.yml:585-593) and download the controller
database (.github/workflows/releases.yml:610-612).
A definition file names the files it loads. Each name is searched beside
the definition, beside the motif, in the working directory and in data/
(src/common.go:641), fonts also in font/ and videos in video/. The motif
names its music under sound/, which release packages ship empty.
Characters and stages are found under chars/ and stages/
(src/system.go:5364, src/system.go:5590).
files:
- name: "script/"
type: directory
path: "ikemen/external/script/"
category: game_data
description: "Lua scripts: main.lua and the modules it requires"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:143, src/main.go:213-232"
note: >
main.go opens Config.System and panics when it is missing. main.lua
requires debug, start, options and menu from the same directory.
- name: "IkemenCylia_256.png"
path: "ikemen/external/icons/IkemenCylia_256.png"
category: game_data
description: "Window icon, 256 px"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:141, src/system.go:527-538"
- name: "IkemenCylia_96.png"
path: "ikemen/external/icons/IkemenCylia_96.png"
category: game_data
description: "Window icon, 96 px"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:141, src/system.go:527-538"
- name: "IkemenCylia_48.png"
path: "ikemen/external/icons/IkemenCylia_48.png"
category: game_data
description: "Window icon, 48 px"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:141, src/system.go:527-538"
- name: "shaders/"
type: directory
path: "ikemen/external/shaders/"
category: game_data
description: "Post-processing shaders offered in the options menu"
required: false
bundled: true
source_ref: "external/script/options.lua:1646, src/system.go:457-470"
- name: "common.air"
path: "ikemen/data/common.air"
category: game_data
description: "Common animations merged into every character"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:12, src/char.go:4676-4689"
- name: "common.cmd"
path: "ikemen/data/common.cmd"
category: game_data
description: "Common commands appended to every character's command file"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:14, src/compiler.go:8367-8380"
- name: "common.const"
path: "ikemen/data/common.const"
category: game_data
description: "Common constants"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:16, src/char.go:4338-4355"
- name: "functions.zss"
path: "ikemen/data/functions.zss"
category: game_data
description: "Common states: shared ZSS functions"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552"
- name: "action.zss"
path: "ikemen/data/action.zss"
category: game_data
description: "Common states: actions"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552"
- name: "demo.zss"
path: "ikemen/data/demo.zss"
category: game_data
description: "Common states: demo mode"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552"
- name: "dizzy.zss"
path: "ikemen/data/dizzy.zss"
category: game_data
description: "Common states: dizzy"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552"
- name: "guardbreak.zss"
path: "ikemen/data/guardbreak.zss"
category: game_data
description: "Common states: guard break"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552"
- name: "score.zss"
path: "ikemen/data/score.zss"
category: game_data
description: "Common states: score"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552"
- name: "system.zss"
path: "ikemen/data/system.zss"
category: game_data
description: "Common states: system"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552"
- name: "tag.zss"
path: "ikemen/data/tag.zss"
category: game_data
description: "Common states: tag team"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552"
- name: "training.zss"
path: "ikemen/data/training.zss"
category: game_data
description: "Common states: training mode"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:18, src/compiler.go:8545-8552"
- name: "common1.cns.zss"
path: "ikemen/data/common1.cns.zss"
category: game_data
description: "ZSS replacement for the common1.cns state file"
required: true
bundled: true
source_ref: "src/compiler.go:6929-6943, src/compiler.go:8538-8543"
note: >
A character names its common state file in stcommon. When that file is
not found, stateCompile retries with the .zss suffix, so a character
asking for common1.cns gets data/common1.cns.zss.
- name: "debug.def"
path: "ikemen/font/debug.def"
category: game_data
description: "Debug overlay font definition"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:174, external/script/main.lua:648, src/script.go:4108-4111"
note: "loadDebugFont raises a Lua error when the font cannot be loaded."
- name: "OpenSans-Bold.ttf"
path: "ikemen/font/Open_Sans/OpenSans-Bold.ttf"
category: game_data
description: "TrueType face named by debug.def"
required: true
bundled: true
source_ref: "font/debug.def:19, src/util_desktop.go:29-40"
note: >
When the file is not found, the same name is searched in the system
font directories; the engine panics when that fails too.
- name: "default-3x5.def"
path: "ikemen/font/default-3x5.def"
category: game_data
description: "Default motif font (font1)"
required: false
bundled: true
source_ref: "src/resources/defaultMotif.ini:75, src/motif.go:2593-2609"
note: "A motif font that fails to load is logged and replaced by an empty font."
- name: "default-3x5.sff"
path: "ikemen/font/default-3x5.sff"
category: game_data
description: "Glyph sprites named by default-3x5.def"
required: false
bundled: true
source_ref: "font/default-3x5.def:21, src/font.go:412-418"
note: "LoadFntSff panics when default-3x5.def is loaded and this file is missing."
- name: "system.def"
path: "ikemen/data/ikemen1/system.def"
category: game_data
description: "Default motif definition"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:96, src/motif.go:2627-2659, src/script.go:4249-4252"
note: >
Held by the Ikemen-GO-Screenpack repository and copied into release
packages. main.lua calls loadMotif at startup, which raises a Lua error
when the definition cannot be read. -r selects another motif.
- name: "gofx.def"
path: "ikemen/data/gofx/gofx.def"
category: game_data
description: "Common effects pack"
required: true
bundled: true
source_ref: "src/resources/defaultConfig.ini:21, src/fightscreen.go:85-102, src/system.go:6551-6555"
note: >
Held by the Ikemen-GO-Screenpack repository and copied into release
packages. A load failure puts the match loader in its error state.
- name: "gofx/"
type: directory
path: "ikemen/data/gofx/"
category: game_data
description: "Sprites, animations and sounds named by gofx.def"
required: true
bundled: true
source_ref: "src/fightscreen.go:162-193"
note: "loadFightFx returns an error when the sff, air or snd file it names fails to load."
- name: "ikemen1/"
type: directory
path: "ikemen/data/ikemen1/"
category: game_data
description: "Default motif: sprites, logo and credits storyboards, fonts"
required: false
bundled: true
source_ref: "src/motif.go:72-85, src/motif.go:2475-2487, src/motif.go:2594-2621, src/storyboard.go:561-620"
note: >
Files named by system.def and searched beside it first. A sprite file
or font that fails to load is logged and replaced by an empty one.
- name: "select.def"
path: "ikemen/data/select.def"
category: game_data
description: "Character and stage selection list"
required: true
bundled: true
source_ref: "src/motif.go:81, external/script/main.lua:1522, external/script/main.lua:43-50"
note: "main.lua reads the file at startup and raises an error when it cannot be opened."
- name: "fight.def"
path: "ikemen/data/fight.def"
category: game_data
description: "Fight screen definition"
required: true
bundled: true
source_ref: "src/motif.go:82, src/fightscreen.go:6005-6027, src/fightscreen.go:4792-4800, src/script.go:4233-4236, external/script/main.lua:1188"
note: "main.lua calls loadFightScreen at startup, which raises a Lua error on a load failure."
- name: "fight.sff"
path: "ikemen/data/fight.sff"
category: game_data
description: "Fight screen sprites"
required: true
bundled: true
source_ref: "src/fightscreen.go:4916-4926"
note: "Named by the sff key of fight.def; a load failure fails loadFightScreen."
- name: "fight.snd"
path: "ikemen/data/fight.snd"
category: game_data
description: "Fight screen sounds"
required: true
bundled: true
source_ref: "src/fightscreen.go:4927-4937"
note: "Named by the snd key of fight.def; a load failure fails loadFightScreen."
- name: "fightfx.sff"
path: "ikemen/data/fightfx.sff"
category: game_data
description: "Common effect sprites"
required: true
bundled: true
source_ref: "src/fightscreen.go:4938-4948"
note: "Named by the fightfx.sff key of fight.def; a load failure fails loadFightScreen."
- name: "fightfx.air"
path: "ikemen/data/fightfx.air"
category: game_data
description: "Common effect animations"
required: true
bundled: true
source_ref: "src/fightscreen.go:4949-4959"
note: "Named by the fightfx.air key of fight.def; a load failure fails loadFightScreen."
- name: "common.snd"
path: "ikemen/data/common.snd"
category: game_data
description: "Common effect sounds"
required: true
bundled: true
source_ref: "src/fightscreen.go:4960-4966"
note: "Named by the common.snd key of fight.def; a load failure fails loadFightScreen."
- name: "system.snd"
path: "ikemen/data/system.snd"
category: game_data
description: "Motif sounds"
required: false
bundled: true
source_ref: "src/resources/defaultMotif.ini:69, src/motif.go:73, src/motif.go:2578-2590"
note: "Named by the snd key of the motif. A load failure is logged and an empty sound set is used."
- name: "glyphs.sff"
path: "ikemen/data/glyphs.sff"
category: game_data
description: "Button glyph sprites for the movelist"
required: false
bundled: true
source_ref: "src/resources/defaultMotif.ini:97, src/motif.go:84, src/motif.go:2490-2503"
note: "A load failure is logged and an empty sprite set is used."
- name: "font/"
type: directory
path: "ikemen/font/"
category: game_data
description: "Fonts named by the motif, the fight screen and storyboards"
required: false
bundled: true
source_ref: "src/motif.go:64, src/motif.go:2594-2621, src/fightscreen.go:5017, src/storyboard.go:620, src/font.go:413"
note: "font/ is the default directory of every font lookup."
- name: "video/"
type: directory
path: "ikemen/video/"
category: game_data
description: "Videos played by the logo and credits storyboards"
required: false
bundled: true
source_ref: "src/stage.go:204-212"
note: >
A background element of type video names its file in path; video/ is
the default directory of the lookup.
- name: "gamecontrollerdb.txt"
path: "ikemen/external/gamecontrollerdb.txt"
category: game_data
description: "SDL game controller mapping database"
required: false
bundled: true
source_ref: "src/resources/defaultConfig.ini:153, src/system.go:444-445, src/input_sdl.go:261-271"
note: "A read failure is logged."
- name: "chars/"
type: directory
path: "ikemen/chars/"
category: game_data
description: "Character directory"
required: false
source_ref: "src/system.go:5364, src/script.go:3190-3191"
note: >
A character path that does not resolve as given is searched under
chars/. Release packages ship the Kung Fu Man characters.
- name: "stages/"
type: directory
path: "ikemen/stages/"
category: game_data
description: "Stage directory"
required: false
source_ref: "src/system.go:5590, src/resources/defaultConfig.ini:178, external/script/main.lua:1770-1774"
note: >
Debug.StartStage defaults to stages/stage0-720.def, the stage added
when select.def lists none.