-
Notifications
You must be signed in to change notification settings - Fork 226
Screenpack features
There are many new screenpack parameters, but these won't be documented until the engine stabilize feature-wise. Until then everything related to these parameters may change without notice.
In the meantime, you can reference names (with comments regarding new features) for all parameters available in data/system.base.def, which is copied directly from src/resources/defaultMotif.ini (the default motif config loaded before system.def).
The default screenpack in data/mugen1/system.def can also be used as a showcase of many new features, and is ready to be copied/adapted into other screenpacks.
Refer to this article for information how to update mugen screenpacks to use Ikemen GO features.
All itemname elements that existed in mugen and are also enabled by default in ikemen, can be disabled by adding their respective parameter without value assignment in screenpack DEF file. Order in which menu items are displayed can be changed by adjusting itemname order in the screenpack.
All new game and team modes added by Ikemen GO use empty itemname by default (which means they won't be rendered at all, unless motif creator add their respective itemnames into screenpack DEF file).
Ikemen GO uses flexible submenu grouping system for main menu and option items (backward compatible with mugen screenpacks). General syntax looks as follows:
menu.itemname.optional_submenus.item = "displayed text"where:
-
optional_submenus: combination of 1 or more strings, separated by dots, where each of them refers to additional level of nested menus. For example menu.itemname.menuextras = "EXTRAS" means we're displaying EXTRAS option on the screen (in this case right on the main menu) that opens up additional submenu with items using menuextras as a prefix, e.g. menu.itemname.menuextras.freebattle -
item: strings used to start modes, change settings and control menus. Below list contains all item names that are reserved by the engine.Main Menu
These are default mugen items, loaded by default if screenpack doesn't override them with custom menus.
-
arcade: Arcade Mode -
versus: Versus Mode -
teamarcade: Team Arcade -
teamversus: Team Versus -
teamcoop: Team Cooperative -
survival: Survival -
survivalcoop: Survival Cooperative -
training: Training Mode -
watch: Watch Mode -
options: Options -
exit: Exit the game
Items listed below can be added to implement Ikemen GO excelusive modes into the menu system.
-
versuscoop: Versus Cooperative -
freebattle: Quick Match -
storymode: Story Mode -
serverhost: Host Game -
serverjoin: Join Game (reserved submenu) -
server: opened automatically by serverhost/serverjoin (reserved submenu) -
joinadd: New IP Address -
netplayversus: Online Versus -
netplayteamcoop: Online Cooperative -
netplaysurvivalcoop: Online Survival -
timeattack: Time Attack -
bonusgames: Bonus Games (reserved submenu) -
replay: Replay -
back: Back to previous menu -
bonus: used internally (reserved) -
connect: used internally (reserved)
New game modes can be added via external modules. In this repository we're sharing following extra modes as a reference how to use this feature.
-
bossrush: Boss Rush -
vs100kumite: VS 100 Kumite -
timechallenge: Time Challenge -
scorechallenge: Score Challenge -
randomtest: Endless Watch
Options
-
language: Language -
difficulty: Difficulty Level -
roundtime: Time Limit -
lifemul: Life -
singlevsteamlife: Single VS Team Life -
gamespeed: Game Speed -
roundsnumsingle: Rounds to Win (Single) -
maxdrawgames: Max Draw Games -
credits: Credits -
aipalette: Arcade Palette -
aisurvivalpalette: Survival Palette -
airamping: AI Ramping -
quickcontinue: Quick Continue -
autoguard: Auto-Guard -
dizzy: Dizzy -
guardbreak: Guard Break -
redlife: Red Life -
teamduplicates: Team Duplicates -
teamlifeshare: Team Life Share -
teampowershare: Team Power Share -
roundsnumtag: Rounds to Win (Tag) -
losekotag: Partner KOed Lose -
mintag: Min Tag Chars -
maxtag: Max Tag Chars -
roundsnumsimul: Rounds to Win (Simul) -
losekosimul: Player KOed Lose -
minsimul: Min Simul Chars -
maxsimul: Max Simul Chars -
turnsrecoverybase: Turns Recovery Base -
turnsrecoverybonus: Turns Recovery Bonus -
minturns: Min Turns Chars -
maxturns: Max Turns Chars -
ratiorecoverybase: Ratio Recovery Base -
ratiorecoverybonus: Ratio Recovery Bonus -
ratio1life, ratio2life, ratio3life, ratio4life: Ratio life adjustment -
ratio1attack, ratio2attack, ratio3attack, ratio4attack: Ratio damage adjustment - `gl32 = OpenGL 3.2 Renderer
- `gl21 = OpenGL 2.1 Renderer
- `vk13 = Vulkan 1.3 Renderer
-
resolution: Resolution (reserved submenu) -
resolution.WxH: Resolution is assigned based on values used in itemname suffix (e.g. 320x240) -
resolution.customres: Allows to set custom resolution by typing in values -
fullscreen: Fullscreen -
vsync: VSync -
aspectratio: Aspect Ratio (reserved submenu) -
aspectratio.defaultaspect: Default Aspect Ratio -
aspectratio.stageaspect: Stage Aspect Ratio -
aspectratio.customaspect: Custom Aspect Ratio (manually typed) -
aspectratio.WxH: Aspect Ratio assigned based on values used in itemname suffix (e.g. 3x4) -
keepaspect: Keep Aspect Ratio -
windowscalemode: Window Scale Mode -
msaa: MSAA -
shaders: Shaders (reserved submenu, this list is populated automatically with shaders existing in external/shaders directory) -
noshader: Disables selected shader -
enablemodel: 3D Model -
enablemodelshadow: 3D Model Shadow -
mastervolume: Master Volume -
bgmvolume: BGM Volume -
sfxvolume: SFX Volume -
audioducking: Audio Ducking -
stereoeffects: Stereo Effects -
panningrange: Panning Range -
keyboard: Key Config -
gamepad: Joystick Config -
inputdefault: Resets Key/Joystick settings -
players: Max Players -
debugkeys: Debug Keys -
debugmode: Debug Mode -
helpermax: HelperMax -
projectilemax: PlayerProjectileMax -
explodmax: ExplodMax -
afterimagemax: AfterImageMax -
palettemax: PaletteMax -
textmax: TextMax -
portchange: Port Change -
default: Default Values -
savereturn: Save and Return -
return: Return Without Saving -
back: Back to previous menu -
spacer: empty spacer line (additional space between options). Use it with value if you need more than 1 spacer per menu level, ex. spacer1, spacer2, ... Assign any value to it to make it active.
Pause menu
-
keyboard: Key Config -
gamepad: Joystick Config -
inputdefault: Resets Key/Joystick settings -
commandlist: Movelists -
reset: Round Reset -
reload: Rematch -
characterchange: Back to select screen -
exit: Back to main menu -
back: Back to previous menu
Training menu
Same as Pause menu with few more training specific items:
-
dummycontrol: Dummy Control -
ailevel: AI Level -
guardmode: Guard Mode -
dummymode: Dummy Mode -
distance: Distance -
buttonjam: Button Jam
You can mix and move items into different submenus (including nested ones) without any limitations. Order in which menu items will show up on the screen depends on their order in screenpack DEF file. Submenus should be declared before parameters referring to items grouped inside those menus. For Main Menu, if there is only 1 valid option in submenu (back item doesn't count) then that option will be triggered, skipping the submenu display. Itemnames added via external modules also work with this system.
Refer to data/system.base.def file distributed with engine for example how to use submenus in your screenpack.
Refer to default select.def file distributed with engine for details and guides regarding new character and stage parameters, as well as new modes options that can be set via select.def.