-
Notifications
You must be signed in to change notification settings - Fork 226
Screenpack features
There are many new screenpack parameters, but they won’t be documented until the engine stabilizes feature-wise. Until then, everything related to these parameters may change without notice.
In the meantime, you can reference parameter names (with comments describing 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 it is ready to be copied/adapted into other screenpacks.
Refer to this article for information on how to update MUGEN screenpacks to use Ikemen GO features.
Menus are built from menu.itemname.* lines in your screenpack DEF.
menu.itemname.arcade = "ARCADE"Write the key with no value (commenting it out is not enough to disable default entries):
menu.itemname.arcade =Items appear in the order they are written in the DEF.
Many Ikemen GO extra modes use no itemname by default, so they won't show up unless you add them yourself:
menu.itemname.freebattle = "QUICK MATCH"menu.itemname.<optional_submenus>.<item> = "Displayed text"-
<optional_submenus>= any strings you want, separated by dots. They are only for grouping (like folders). -
<item>= an engine-reserved item id (list below).
A submenu needs two parts:
- A line that creates the submenu entry (the "button"):
menu.itemname.extras = "EXTRAS"- Lines that put items inside it (same prefix):
menu.itemname.extras.freebattle = "QUICK MATCH"
menu.itemname.extras.back = "BACK"If you disable only the submenu entry:
menu.itemname.menuvideo =...the contents under menuvideo.* are not removed. If you later enable menuvideo again with the same name, whatever was previously defined under menuvideo.* becomes visible again.
When rebuilding from scratch, do one of these:
- Use a new submenu name (fresh group), or
- Disable the specific items inside the submenu.
-
backgoes to the previous menu. -
spaceradds an empty line. For multiple spacers usespacer1,spacer2, etc. (any non-empty value enables them).
item = strings used to start modes, change settings, and control menus.
-
back— back to previous menu -
spacer— empty spacer line (usespacer1,spacer2, …; any value enables it)
These are default MUGEN items, loaded by default if the screenpack does not 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
The items listed below can be added to implement Ikemen GO exclusive modes in the menu system:
-
versuscoop: Versus Cooperative -
freebattle: Quick Match -
storymode: Story Mode -
serverhost: Host Game -
serverjoin: Join Game (reserved submenu) -
server: opened automatically byserverhost/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 the previous menu -
bonus: used internally (reserved) -
connect: used internally (reserved)
New game modes can be added via external modules. In this repository, we share the following extra modes as a reference for how to use this feature:
-
bossrush: Boss Rush -
vs100kumite: VS 100 Kumite -
timechallenge: Time Challenge -
scorechallenge: Score Challenge -
randomtest: Endless Watch
-
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 the itemname suffix (e.g.320x240) -
resolution.customres: Allows setting a custom resolution by typing 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 entered) -
aspectratio.WxH: Aspect Ratio assigned based on values used in the 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 in theexternal/shadersdirectory) -
noshader: Disables the 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: Reset 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
-
configall: Config All -
up: Up -
down: Down -
left: Left -
righ: Right -
a: A -
b: B -
c: C -
x: X -
y: Y -
z: Z -
start: Start -
d: D -
w: W -
menu: Menu -
rumble: Rumble -
bac: Back -
page: Page
-
keyboard: Key Config -
gamepad: Joystick Config -
inputdefault: Reset Key/Joystick settings -
commandlist: Movelists -
characterchange: Back to select screen -
exit: Back to main menu -
reset: Round Reset -
reload: Rematch
Same as the Pause menu, with a few additional training-specific items:
-
dummycontrol: Dummy Control -
ailevel: AI Level -
dummymode: Dummy Mode -
guardmode: Guard Mode -
fallrecovery: Fall Recovery -
distance: Distance -
buttonjam: Button Jam
You can mix and move items into different submenus (including nested ones) without any limitations. The order in which menu items appear on the screen depends on their order in the screenpack DEF file. Submenus should be declared before parameters that refer to items grouped inside those menus. For the Main Menu, if there is only one valid option in a submenu (back does not count), then that option will be triggered and the submenu display will be skipped. Itemnames added via external modules also work with this system.
Refer to the data/system.base.def file distributed with the engine for an example of how to use submenus in your screenpack.
The easiest way to disable the default options menus completely and start from scratch is to disable the original submenus like this:
menu.itemname.menugame =
menu.itemname.menuvideo =
menu.itemname.menuaudio =
menu.itemname.menuinput =
menu.itemname.menuengine =
menu.itemname.spacer1 =
menu.itemname.portchange = Port Change
menu.itemname.default = Default Values
menu.itemname.spacer2 =
menu.itemname.savereturn = Save and Return
menu.itemname.return = Return Without SavingRefer to the default select.def file distributed with the engine for details and guides regarding new character and stage parameters, as well as new mode options that can be set via select.def.