# M.U.G.E.N Update History

Updates shown are in order of most recent to least recent.

# Version 1.0

18 Jan 2011

## Engine Changes

- Title screen F1 info box text can now be customized in system.def.
- SND files with invalid WAV files now log a warning instead of causing MUGEN to abort.

## Bug Fixes

- CNS: Fixed associativity of := for fvars.
- Fixed a bug that caused some sounds to be played on incorrect channels or with incorrect stereo panning.
- Storyboard: Replaced broken soundX.volume parameters with soundX.volumescale.
- Fixed incorrect character positioning in win and results screens.

## Doc Changes

- Some documentation was updated.

## License Changes

- The license has been updated to permit inclusion of the MUGEN executable into free non-commercial bundles. See readme.txt.

# Version 1.0 RC8

29 Jun 2010

## Engine Changes

- Merged EX + alpha audio system into main RC line.
- BG: tilespacing is now a required parameter for tiled anim BG elements. Setting any tilespacing argument to 0 will disable tiling in that axis (prevents problems with 2002 BGs that have incorrect tilespacing).
- CNS: Added StageVar trigger with basic functionality for checking stage name and author.

## Bug Fixes

- BG: Fixed paral not working with compressed sprites
- BG: Fixed paral BGs drawn at incorrect y position at certain resolutions.
- CNS: fixed InGuardDist trigger incorrectly returning 0 during enemy attacks when projectiles outside guard distance exist.
- CNS: Fixed PlayerPush coordspace height bug.
- Fixed physics precision error in certain situations.
- Fixed software rendering sprite scaling position accuracy.
- Fixed player SelfAnim drawn with incorrect offset scaling when in temporary state.
- Removed common1.cns stand state pos y < 0 detection for compatibility reasons.
- Font v2: fixed bank palette using palettes in the order added to the sff, instead of the actual palette item number.
- Fixed problem where program would not start on some older Windows installs.
- Fixed mouse pointer not reappearing after switching out of fullscreen mode by Alt-Enter or task switch.
- Fixed AllPalFX green and blue fields being ignored.
- Fixed system explods not getting reset before mode select and character select screens.
- Fixed cutscene to not adjust BGM path if the filename is empty.
- Fixed sound volume and panning bugs.
- Fixed volumescale bug.
- Fixed victory screen showing after quick VS.
- Fixed mode select repeating sound during fade in.

## Tools

- Fixed sprmake2 crash on pal.discardduplicates=0.

# Version 1.0 RC7

20 Mar 2010

## Engine Changes

- Options screen now uses font/options.def font if present. If Truetype, size adapts to game resolution.
- Implemented Alt-Enter fullscreen toggle.
- mugen.cfg: [Video] Implemented BlitMode=PageFlip (resolves video tearing).
- motif: system.def: Added title param to [Options]

## Bug Fixes

- CNS: Cond trigger now works properly inside all comma-separated parameter lists.
- CNS: Fixed projectile screen and edge bounds being calculated incorrectly.
- CNS: Fixed projectile hits causing player hitdefs to reactivate.
- CNS: Fixed screen postype explods incorrectly positioned during envshake.
- CNS: HitDef: Fixed guard damage not affected by AttackMulSet controller.
- CNS: HitDef: Fixed fall.yvelocity and fall.xvelocity scaled incorrectly in different coordspaces.
- CNS: ChangeAnim2: Fixed reflection drawing position when other player has different scale.
- CNS: Fixed TargetBind controller default value (0,0).
- CNS: Fixed "no" debug spam.
- Input: Partial fix for num lock and caps lock keys only working every other key press. Is still buggy on first press if state of key lock is on when starting MUGEN.
- Motif: system.def: Fixed survival mode using selftitle instead of enemytitle for team selection.
- Storyboard: Fixed drawing some BG sprites off-center in pillarbox mode.
- Fixed 1P vs Team (Simul) advantage option not working
- Fixed space bar resetting time in survival mode.

## Backwards Compatibility

- ver2002 backwards compatibility: CNS: Pos Z trigger will return the value of pXstartz in the stage def file that corresponds to the player (or root, if the player is a helper). This will only work for players with mugenversion under 1.0.

## Tools

- Added sff2png tool: extracts sprites from an SFF file.

# Version 1.0 RC6

8 Dec 2009

## Engine Changes

- CNS: New Trigger: Cond. This is a short-circuiting version of ifelse.
- CNS: Set to use precise floating point model; was previously using a less accurate model that might have caused strange rounding errors.
- fight.def: Added [Fightfx] section with scale parameter.
- Keyboard: Fixed bug where keyboard presses/releases are sometimes lost when other keys are pressed at the same time.
- Storyboards: now scaled to fit screen aspect instead of being cropped.
- Stages: Added displayname, versiondate, mugenversion, author parameters to stage [Info]. Stages older than 1.0 will have camera movement snapped to whole stage coordspace units.

## Doc Changes

- Added description of special forms (ifelse, cond).
- Stages + Backgrounds: Fixed Parallax parameters description to match implementation.
- Other minor fixes.

## Bug Fixes

- CNS: HitDef: Fixed bug that set default guarded getpower/givepower parameters to 0.
- CNS: AppendToClipboard and DisplayToClipboard: More robust handling of type mismatch scenarios.
- CNS: Fixed bug where Const trigger returned incorrectly-scaled values if player is in a temporary state of another player with a different coordspace.
- CNS: Fixed bug where AssertSpecial flag=invisible does not work during hitpauses.
- Display: Fixed Offset sctrl not scaling properly to coordspace.
- Display: Fixed fightfx explods being created with incorrect scale when character and system have different coordspaces.
- Display: Fixed projectile Clsn2 not being displayed in Ctrl-C mode.
- Fixed bug where loading malformed SFFv1 sprites would prevent the program from closing properly.
- Fixed character mugenversion date parser to reject malformed version strings.

## Backwards Compatibility

- Fixed: ver2002 characters only: After a ReversalDef with p2stateno and p1stateno parameters has been executed, P2's state updates will lag behind P1's by 1 tick.
- ver2002 backwards compatibility: implemented bug where AssertSpecial flags that affect a single player are not reset each tick when the player is in a hitpause. Flags affected are: nostandguard, nocrouchguard, noairguard, noautoturn, noshadow, nojugglecheck, nowalk, unguardable, invisible.
- ver2002 backwards compatibility: implemented bug where the effects for the following controllers are not reset during hitpause: AngleDraw, PlayerPush, Offset, ScreenBound, Trans, Width.

# Version 1.0 RC5

28 Oct 2009

## Bug Fixes

- CNS: Fixed bug where teammode and hitdefattr were being evaluated incorrectly.
- CNS: Fixed bug where hit attribute string parsing could fail in expressions.
- CNS: Fixed bug where explod's Y position is displaced if explod is created on the first tick of the round on cut stages.
- CNS: Fixed bug where DestroySelf did not abort remainder of state evaluation. This could lead to crashes or indeterminate behavior depending on the controllers used after.
- Fixed bug where pre-1.0 stages with zoffsetlink are drawn displaced by upwards 1 stage unit.

# Version 1.0 RC4

25 Oct 2009

## Engine Changes

- CNS: Added GameWidth and GameHeight triggers.
- CNS: Display error if character uses a controller or trigger inappropriate for its mugenversion.
- Localization: Implemented storyboard scene localization. See localization docs for notes.
- Implemented png screenshots. Press F12 to take a screenshot.
- Mouse cursor now hidden in fullscreen.

## Bug Fixes

- AIR: Fixed empty anim actions throwing error. Empty actions will be ignored.
- BGs: Changed start position value from integer to float.
- CNS: Fixed AIlevel triggering in cooperative dummy in training mode.
- CNS: Fixed players with HitOverride taking damage outside of movetype = H
- CNS: Fixed bug where CNS load error is not reported for common1.cns in a player's directory.
- CNS: Fixed player with HitOverride not being affected by a HitDef with p2stateno = <any value that is not -1> and p2getp1state = 1.
- CNS: Fixed bug where != operator was incorrectly parsed for HitDefAttr, AuthorName, TeamMode
- CNS: Fixed helper facing bug introduced in RC3.
- Fixed guard distance checking bug in a different coordinate spaces.
- Fixed helpers/explods with ownpal=1 not being affected by RemapPal
- Disabled logo storyboard from showing during quickvs

# Version 1.0 RC3

12 Oct 2009

## Bug Fixes

- CNS: Fixed ScreenPos y trigger value calculation in cut stages.
- CNS: Fixed Explod y offset calculation in cut stages.
- CNS: Fixed issue where player may get incorrect custom state resources
- Renderer: Fixed master palfx not affecting TTF fonts.
- Input: Fixed keyboard input
- Input: Implemented joystick hat support
- mugen.cfg: Fixed AI.cheat not working
- General: Fixed Start+button not choosing palettes 7-12
- General: Fixed game slowdown when skipping frames
- Miscellaneous other fixes.

# Version 1.0 RC2

29 Sep 2009

## Engine Changes

- BG: Improved performance of parallax BGs.
- Stages: Added a hack to recognize the "hires = 1" stage parameter. This parameter isn't officially supported so we strongly recommend against using it for new content.

## Bug Fixes

- BG: Fixed bug where tiled parallax BGs did not draw.
- BG: Fixed scaled trans sub BGs.
- CNS: Fixed trigger redirection coordspace bug.
- CNS: Fixed screenpos x trigger.
- CNS: Fixed helper not inheriting palno from parent.
- CNS: Corrected bug in ** operator for integer arguments with exponent >= 0.
- CNS: Integer exponentiation, Floor(), and Ceil() now generate a warning and clamp to INT_MAX or INT_MIN (2^31-1 or -2^31) when the integer range is exceeded.
- FNT: Fixed font newline bug for True Type fonts with text wrapping.
- Motifs: Fixed invalid font in combo counter crash.
- mugen.cfg: Added DirectX option to RenderMode. Setting this mode may help some people with startup issues.
- SND: Fixed snd loading failure using wavs with certain headers.
- Stages: Fixed random stage load error during continue.
- Added hardcoded pal change for SFFv1 sprites. This addresses the palette problem for old characters that override state 5900.
- Fixed UTF-8 BOM detection bug that caused the first group not to be read in some def files.
- Fixed AI.RandomColor = 0 crash.
- Resolved SDL crash on non-SSE2 processors.

# Version 1.0 RC1

22 Sep 2009

## Engine Changes

- Added high-definition (HD) graphical support.
  - Any arbitrary resolution or aspect ratio can be set. For best compatibility, we recommend using 640x480, 1280x720 or 1920x1080.
  - 1280x720 set as the new default resolution. This can be changed with the GameWidth and GameHeight parameters in mugen.cfg.
  - Characters' target resolution can be set with the localcoord parameter in the character def file. An alternative, which affects sprites only, is to set smaller xscale and yscale parameters in the constants section of a character's CNS files.
  - Stages' target resolution can also be set with the localcoord parameter in the stage def file.
  - Characters, stages and motifs made for different resolutions can still interoperate with each other.
- Added localization support.
  - Preferred language can be set in mugen.cfg
- Added sound and text support to storyboards.
- New sprite file format: SFF v2.
  - Multiple palette support.
  - Support for realtime compressed sprites to reduce memory usage.
- New format for FNT.
  - Bitmap fonts now based on SFF v2.
  - Supports Truetype fonts.
  - UTF-8 text support (Truetype only).
  - Text can be quoted in order to use escape sequences, e.g. \n for a line break: "line1\nline2"
- CNS: New triggers.
  - AILevel: returns the AI difficulty setting.
- CNS: Added [Quotes] group to constants.
- CNS: New controllers.
  - VictoryQuote: Selects a quote for the victory screen.
- Stages: StageInfo: New parameters:
  - xscale, yscale: Specifies the drawing scale of the stage.
  - overdrawhigh, overdrawlow: Specifies the number of pixels of extra drawing beyond the top and bottom of the screen.
  - cuthigh, cutlow: Suggests the number of pixels that can be cut from the top and bottom of the screen when playing in a shorter game aspect than the stage was designed for. cutlow especially will be useful for making 4:3 stages look better when viewed in 16:9.
- Motifs: Victory screen definition can be added to system.def. See [Victory Screen] and [VictoryBG] groups.
  - Characters may use sprite 9000,2 for the victory screen.
- Motifs: system.def and fight.def font parameters standardized to take alignment and RGB color values. See font notes at end of fight.def.
- Motifs: common1.cns can now be included with motifs.
- Motifs: system.def: [VS Screen]: For consistency, changed pX.pos and pX.name.pos to pX.offset and pX.name.offset (.pos is deprecated but will still work).
- Storyboards: Added sound playback and text display capability.

## Tools

- New tool: sprmake2 - Generates sff v2 files; replaces sprmaker.
  - Enhanced sprite and palette manipulation options.
- fntmaker tool deprecated; use fnt v2 def files instead.

## Bug Fixes

- CNS: Fixed: HitDef P1 pausetimes expired 1 tick sooner than specified. When loading 2002.04.14 and older characters, this fix will be compensated for by subtracting 1 from the P1 pausetime after expression evaluation.
- CNS: Fixed incorrect computation results using the ** operator.
- Motifs: fight: Fixed issue where power bar anims get out of sync with each other.

## Sample Content

- Added sample HD content:
  - mugen1 -- 720p motif. This is the new default motif.
  - stage0-720 -- 720p version of stage0.
- Added sample truetype font

## Misc

- Base engine ported from Allegro to use SDL. There may be some minor differences, such as a change in audio volumes.

## Notes

- See readme.txt for known issues.
- To update a character from 2002.04.14 to 1.0, add 1 to the value of the P1 parameter of all HitDef pausetimes. Then set mugenversion = 1.0 in the player's def file.

# 14 April 2002

## At a Glance

- Added zipped character support
- Some bugfixes

## Code

- select.def: Added experimental ZIP character support (zipped storyboards not yet supported) .def file must have same name as .zip file

- CNS: New trigger: MoveReversed

- CNS: Modified triggers: MoveContact, MoveGuarded, MoveHit

    Return values now give information about time since hit status change.

- CMD: Added [Remap] section for button remapping.

- CNS: ReversalDef controller: sparkxy now treated as spark offset

- CNS: Hitdef controller: "sprpriority" parameter renamed to "p1sprpriority".

    New p2sprpriority parameter added

- CNS: Pause/Superpause controller: new params: pausebg, endcmdbuftime

- Training menu: Added AI level option to "AI" dummy

- CMD: Fixed $ (4-way dir detection) bug: release of a direction was being detected as a press by the $ direction modifier. "Transfer of charge direction" bug (feature?) is still there

- fonts: fixed bug where right/center justified strings are cut off after a newline

- *** Changed from previous version ***

- common1.cns: states 120,130,131,132: added guard-release handling (mugen exe no longer does this internally)

- Fixed bug in CMD detection, where the same command will get detected multiple times if the last button is repeatedly pressed

- Tweaked precaching (performance may increase or decrease)

## Known Issues / Notes

Please consult readme.txt for known issues and problems.

# 14 November 2001

## At a Glance

- Added Survival play modes. See how long you can last!
- Some bugfixes

## Code

- system.def: [Title Info]: menu.itemname.*: you can disable an item by using "" Added items for survival modes.
- mugen.cfg: [Arcade]: added AI ramping options
- New play modes: Survival, Co-op Survival
- CNS: HitDef: ground.type and air.type: hi/lo attributes are swapped if p2 is hit from behind
- Nonexistent stages in select.def now automatically excluded from stage list
- Projectile damage now affected by AttackMulSet
- Fixed palette section bug introduced in 2001.11.01
- Fixed serious precaching bug

## Known Issues / Notes

Please consult readme.txt for known issues and problems.

# 1 Nov 2001 and older

For older change history, refer to oldhistory.txt.