home *** CD-ROM | disk | FTP | other *** search
/ Igromania 2000 February / Igromania_02.iso / FILES / mugen.exe / updates.txt < prev   
Text File  |  2000-01-02  |  30KB  |  679 lines

  1. M.U.G.E.N  Updates
  2. ------------------
  3. Updates are in order of most recent first.
  4.  
  5. 1 Jan 2000
  6. ==========
  7. At a glance:
  8. - Began testing of helpers. Helpers can be used to create and control
  9.   player-type objects that have their own states. Assisting characters
  10.   such as pets can be done using helpers, but one might find other
  11.   uses too.
  12. - Training dummy controls - Press 'M' while paused in training mode.
  13. - Complete documentation is available for state triggers.
  14. - Stages now support reflections for a shiny-smooth effect.
  15. - Explods bugs have been fixed. Explods let you create simple effects.
  16. - Lots of engine updates
  17.  
  18. Known issues
  19. ------------
  20. - Camera make shake horizontally when there are opposing players
  21.   standing very close to the tension lines on either end of the
  22.   screen. This problem goes away if one of the characters move.
  23. - Dust is drawn over the foreground layer of a stage
  24. - Lifebars are not very customizable, especially in team mode
  25. - No tools are available for creating fonts
  26.  
  27. Docs
  28. ----
  29. - cns documentation has been updated. Minor points have been
  30.   clarified or elaborated on. Trigger documentation has been
  31.   moved out of cns.txt.
  32. - full trigger documentation is in trigger.txt. We do not
  33.   have full controller documentation yet
  34. - incompatibility issues are addressed in incompat.txt
  35. - a html table of contents is available in docs/ as mugen.htm
  36.  
  37. Code
  38. ----
  39. - *** changed from previous version ***
  40.   Intro is no longer held by using var9. Instead, use the new AssertSpecial
  41.   controller to assert the "Intro" flag:
  42.     [State 191, 1]        ;In the intro state
  43.     type = AssertSpecial
  44.     trigger1 = Time = [0,70]
  45.     flag = Intro
  46.   More on the AssertSpecial controller below.
  47. - *** changed from previous version ***
  48.   CNS: MakeExplod controller renamed to Explod
  49.   Lots of explod updates
  50. - *** changed from previous version ***
  51.   Palette ordering is now:
  52.   X Y Z
  53.   4 5 6
  54.   A B C
  55.   1 2 3
  56.   As before, holding down start while selecting gives you the
  57.   extra palettes (palno+6)
  58.  
  59. - mugen.cfg: [Arcade] group: "AI.Cheat" added. Check mugen.cfg
  60.   for a description of it. You may want to turn this off if a
  61.   AI that cheats offends you.
  62. - Players now cannot guard a hit that does enough guard damage to KO them.
  63. - Triggers now allow retargeting. See trigger.txt for details.
  64. - CNS: New controllers: Helper, DestroySelf
  65.   See incompat.txt for a mini-guide on helpers.
  66. - CNS: New controller: HitOverride
  67.   Overrides the player's gethit state. Useful for preventing helper
  68.   characters from changing into clones of p1 if they are hit. Still
  69.   under development, so format may change.
  70. - CNS: HitDef controller
  71.   Added new optional parameter "AffectTeam". This lets you choose who you
  72.   can hit. Valid values are "Enemy", "Friendly" and "Both". Defaults
  73.   to "Enemy" if omitted.
  74. - CNS: Projectile controller
  75.   Added optional "projcancelanim" parameter. It is the animation to play
  76.   when the projectile is canceled out by another.
  77. - CNS: ProjHit, ProjContact, ProjGuarded controllers
  78.   Format has changed. Please see docs/trigger.txt for more information.
  79. - CNS: ScreenBound controller
  80.   Minor change in parameter "movecamera". It now takes two arguments,
  81.   the first for x and the second for y. For example, if you only want the
  82.   camera to follow your character horizontally but not vertically, you
  83.   would use "movecamera = 1, 0".
  84.   This defaults to 0,0 if omitted (camera does not follow at all)
  85. - CNS: New trigger: NumExplod
  86.   Returns the number of explods belonging to the player. If you append
  87.   an ID number to the trigger name, it counts only explods with a matching
  88.   ID. For example, trigger1 = NumExplod1000 < 2
  89.   will trigger if there are fewer than 2 explods with ID 1000
  90. - CNS: New controller: MoveHitReset
  91.   Resets MoveHit, MoveGuarded and MoveContact flags.
  92. - CNS: New trigger: Lose
  93.   Works like the win trigger, except detects if p1's team has lost.
  94. - CNS: Hitdef controller:
  95.   Velocity parameters can now take the letter 'n' in place of a velocity
  96.   component. This keeps the opponent's velocity unchanged when he is hit.
  97.   For example, 
  98.     ground.velocity = n, -5 
  99.   x-velocity is unchanged, but y-velocity is set to -5.
  100. - CNS: [Size] group:
  101.   Added optional "shadowoffset" parameter. This is the amount by which the
  102.   shadow of the character will be offset as it is drawn. Use to prevent
  103.   characters from "floating" in the air.
  104. - CNS: New controllers: BindToParent, BindToRoot
  105.   Binds a player's position to its parent or root.
  106.   Takes parameters:
  107.     pos = x,y
  108.     time = t
  109.     facing = f
  110.   x,y is the offset to the position you are binding to
  111.   t is the time to bind (default 1). Set to -1 to bind indefinitely
  112.   f is the direction to face relative to the parent/root. Valid values
  113.   are 1, -1 and 0. Set to 0 to ignore the parent/root's facing direction.
  114. - CNS: New controller: BindToTarget
  115.   Takes parameters:
  116.     pos = x,y [, relpos]
  117.     time = t
  118.   x,y is the offset to the position you are binding to
  119.   The optional relpos parameter is one of {foot, mid, head}. Defaults
  120.   to "foot".
  121.   t is the time to bind (default 1). Set to -1 to bind indefinitely
  122.   For example,
  123.     pos = 5,20, head
  124.     time = 10
  125. - CNS: Added parameters to constants: [Size] group:
  126.     head.pos = x, y  ;Def: -5,-90
  127.     mid.pos = x, y   ;Def: -5,-60
  128.   head.pos is the approximate position of the head of your character in one of
  129.   his light gethit frames.  head.pos is the approximate position of the
  130.   midsection of your character in a light gethit frame. May be used in
  131.   the BindToTarget controller to position yourself at the corresponding
  132.   positions of the opponent. All positions are relative to the player's axis.
  133.  
  134. - Ctrl-D now cycles through all active players and helpers.
  135. - Fixed some rounding errors in drawing sprites. You may need to check
  136.   your background and character offsets again.
  137. - CNS: New trigger: Matchover
  138.   Returns 1 if the match has ended, 0 if not. We say a match has ended when
  139.   either side has won enough rounds necessary to proceed to the next stage.
  140.   Might be useful for win poses that only occur when a player wins a match.
  141. - CNS: Controllers in general:
  142.   Added "ignorehitpause" paremeter. If set to 1, then that state controller
  143.   will continue to be updated during the pausetime of the player, that is,
  144.   when the player is frozen for a short time on a successful attack. Example
  145.   uses: play sounds, flash screen white, create explods, etc
  146.   Be careful not to abuse this parameter; it may cause difficult-to-trace
  147.   character problems when used incorrectly
  148. - CNS: AfterImage controller:
  149.   Added optional "trans" parameter. Set to "add", "sub" or "add1" to
  150.   make the after images transparent.
  151. - Stages: Added "reflect" parameter to [Shadow] group. If set to 1, 
  152.   a "reflection" effect will be applied to all players, as well as their
  153.   projectiles and explods that have a non-zero shadow paremeter.
  154.   See KFM's updated stage.
  155. - Improved loading time by pre-caching sound and graphics files. Also fixed
  156.   bug that made large sound files load very slowly
  157. - CNS: PalFX controller:
  158.   Added optional parameter "sinadd". Creates "blinking" or "slow blinking"
  159.   effects by applying color offsets to the player's palette using sinusoidal
  160.   enveloping.
  161.     sinadd = r, g, b, P
  162.   r,g,b are the maximum amounts of red, green and blue to add/subtract from
  163.   the palette. P is the period of the sine wave in game ticks.
  164.   You might like to use this for fireballs that "burn" people.
  165. - CNS: HitDef controller:
  166.   animtype, air.animtype and fall.animtype now accept "Up" as a value.
  167.   This makes the opponent go into an animation where he is knocked straight
  168.   up (anim action 5060), and then arcs over and comes down head-first
  169.   (action 5061). If you have the optional actions 5101 and 5016, these
  170.   will replace 5100 (hit ground and bounce into air) and 5105 (hit ground from
  171.   bounce) in the case of "Up" anim types.
  172.   If the opponent does not have these animations, then he will default to
  173.   the normal falling animations.
  174.  
  175. - CNS: Projectile controller: 
  176.   Added "projsprpriority" parameter. It is the sprite drawing priority of
  177.   the projectile. Defaults to 2.
  178.  
  179. - CNS: New Controller: AssertSpecial
  180.   Lets you assert special flags, such as ones to keep the fight from
  181.   starting (Intro) as well ones to keep the round from ending (RoundNotOver).
  182.   Asserted flags are valid only for one game tick; for most flags, you may
  183.   need to continuously assert it over a period of time.
  184.   The required parameter is "flag", and its value must be one of:
  185.     Intro
  186.     RoundNotOver
  187.     NoStandGuard
  188.     NoCrouchGuard
  189.     NoAirGuard
  190.   To assert multiple flags in a single controller (up to 3), you can use
  191.   the optional parameters "flag2" and "flag3", which take the same values
  192.   as "flag".
  193.   For example, this is one you might find useful for very long win poses.
  194.     [State 181, 1]         ;During the win state
  195.     type = AssertSpecial
  196.     trigger1 = Time = [0,500]
  197.     flag = RoundNotOver
  198.  
  199. - Training mode: Training dummy control added - see readme.txt
  200. - Camera shaking slightly changed (does it look better?)
  201. - CNS: StateDef:
  202.   Added new parameters: hitdefpersist, movehitpersist 
  203. - AIR: added new transparency mode: A1
  204.   Fades background to 50% intensity before adding the sprite.
  205.   So far all transparency functions do not work for vertically-flipped sprites
  206.   eg.
  207.     [Begin Action 1]
  208.     10,0, 0,0, 5, , A1
  209. - Fixed problem with slow camera panning. Basically, the camera will
  210.   pan quickly if the player at the edges have an x-velocity that moves
  211.   the player towards the edge. Camera will still pan slowly if you
  212.   use PosAdd to move the players towards the edges (this is intentional)
  213. - CNS: New trigger: palno 
  214.   Gives you the palette number of the player, starting from 1.
  215. - Projectiles:
  216.   Projectiles that have an animation action with infinite looptime (when set to
  217.   the remove state) are now immediately deleted.
  218.   Projectiles can simultaneously affect multiple opponents (in team battle)
  219.  
  220. Misc
  221. ----
  222. - name1.fnt has most characters now
  223.  
  224. Bug fixes
  225. ---------
  226. - Fixed minor anim bug in SelfState
  227. - Recoded some palette-handling functions
  228. - More camera problems have been fixed. Camera should be able to scroll
  229.   quickly if needed, but stage tension should be kept around 50 in
  230.   order for it to look right.
  231. - Rewrote combo-counting code. The counter should work properly in team
  232.   mode now.
  233.  
  234.  
  235.  
  236. 19 Oct 99
  237. =========
  238. At a glance:
  239. - Added Team Battle mode. Go against two computers at
  240.   a time if the game's too easy for you.
  241. - More background control
  242. - Implemented explods
  243. - Slightly more control over projectiles
  244. - Playstation joypad support with force-feedback
  245.   (through converter)
  246. - Updated some documentation
  247. - Improved camera movement
  248. - Several bug fixes
  249.  
  250. Known bugs
  251. ----------
  252. - In team battle, players may occasionally get stuck in a "thrown" state
  253.   if the attacker was hit out of start of the throw state.
  254.  
  255. Docs
  256. ----
  257. - cns: more trigger information in Appendix A
  258.        full documentation of the HitDef controller in Appendix B
  259. - readme: Added HotKeys info
  260. - added mugen.htm, a 
  261. - more FAQs in the FAQ
  262. - added spr.gif. Refer to this for required sprites and their axes.
  263. - updated spr.txt
  264. - For cmd docs: see player.cmd
  265. - For background: see stages/stage0.def
  266.  
  267. Code
  268. ----
  269. - CNS: Implemented "MakeExplod" controller, which is a more flexible version
  270.   of GameMakeAnim. Format may change; we recommend you do not use it yet.
  271. - Background controllers implemented. Still under testing.
  272.   These let you have more control over how the background elements
  273.   behave. Format may change.
  274.  
  275. - CNS: Variable added to [Size]:
  276.     proj.doscale = ?
  277.   Set to 1 if you want to apply scaling to your projectiles. The scale factor
  278.   will be the same as the character's.
  279. - CNS: LifeAdd and TargetLifeAdd controllers damages are now affected by the
  280.   the player's defense multiplier.
  281. - The players no longer continually update at time 0 of the intro state during
  282.   the initial fade-in. Any controller at state time 0 of the intro states will
  283.   be executed once at the beginning of the fade-in, and the character will be
  284.   frozen until the fade-in is complete.
  285. - Training mode: Training dummy no longer gets KOed. Life will return to full
  286.   after 1 second of idle time.
  287. - CNS: [Data]: Added "volume" parameter. Adjust the volume of individual
  288.   players' voices using this.
  289. - Support for PSX controllers in place. Final implementation of input devices
  290.   still not decided.
  291. - CNS: Projectile controller:
  292.   -Added optional "ProjHeightBound" parameter. Has two values:
  293.      ProjHeightBound = y1, y2
  294.    y1 is the upper bound of the projectile, and y2 is the lower bound. If the
  295.    projectile vertically leaves the range between y1 and y2 it will remove
  296.    itself. Default value is -240, 1
  297.   -Added optional "ProjStageBound" parameter.
  298.    The value is the the distance the projectile can travel off the edge of the
  299.    stage (not screen) before being deleted. Default value is 40.
  300.   -Added optional "ProjRemAnim" parameter. It is the action number of the
  301.    animation to play when the projectile removes itself, or when it hits another
  302.    projectile. Defaults to the same value as "ProjHitAnim" parameter. Set to -1
  303.    if you do not want an animation to play.
  304.   -Also, projectile now plays the remove-animation when it deletes itself, either
  305.    when its time runs out, or when it leaves its set boundary ("projedgebound"
  306.    and "projheightbound" parameters)
  307.   -Added projpriority controller. If projectile collides with
  308.    another projectile of equal priority, they will cancel. If
  309.    it collides with another of lower priority, it will cancel the
  310.    lower-priority projectile, and the higher-priority one will have
  311.    its priority decreased by 1.
  312.    Defaults to 4. 
  313.  
  314. - data/mugen.cfg:
  315.   Tweaked default volume settings.
  316.   Added mp3 volume control.
  317.  
  318. - *** changed from previous version ***
  319.   BG on title, options, select and versus screens no longer move on their own.
  320.   Assign velocities if you want the background to move.
  321. - Added a few more parameters to data/select.cfg under [Portrait] and
  322.   [VS Screen] and [Dimensions]
  323.  
  324. - Slight update on select screen graphics
  325. - CNS: Projectile controller:
  326.   Added "projedgebound" parameter. The value is distance off the edge of the
  327.   screen before projectile is deleted.  Default value is 40.
  328. - Changed palette controllers to a dynamically-sized array. Will handle palette
  329.   effect on an arbitrary number of sprites now (instead of the old 64)
  330. - You can now load up a different def file within a player's directory.
  331.   This will allow for distribution of different versions of a character
  332.   that use some common files, such as the sff and snd. Within a different
  333.   def file, you can specify different cns and air files. See data/select.cfg
  334.   for details.
  335. - Better camera algorithm
  336. - Key Config now displays key names instead of scancodes
  337.   6x9 FNT files updated with '*' and '~' characters
  338. - CNS: HitDef controller: hitflag parameter:
  339.   Added '+' to the list of possible options. If '+' is added, then hit can only
  340.   affect people who are in a gethit state
  341. - CNS: HitDef:
  342.   All moves with "throw" attribute can now only hit one opponent at a time.
  343.   This is so you cannot throw 2 people at the same time in Team Battle.
  344. - CNS: HitDef controller:
  345.   Added new parameter "ID". You can assign an ID number to the hit. May be
  346.   used to test if an opponent was last hit by a certain move. If omitted
  347.   defaults to 0
  348. - CNS: HitDef controller:
  349.   Added new parameter "chainID". If included, then the hit can only hit people
  350.   that were previously hit by a hit with the same ID value. Use in
  351.   conjunction with a hit that has the "ID" parameter.
  352. - CNS: Added TargetDrop controller:
  353.   Removes all targets from P1's list of targets (you hit Ctrl-C to see the
  354.   list). You should drop unwanted targets if you do not want them to be
  355.   affected by controllers such as TargetBind.
  356.   This is an advanced controller. You may see little use for it unless you
  357.   are making complex chain-type moves. This is mainly intended to make moves
  358.   work correctly during Team Battle modes.
  359.   No required args.
  360.   Optional Args:
  361.     excludeID = ?
  362.       If an opponent was last hit by a move which has the hitID number
  363.       (parameter "ID" of attacker's HitDef controller) equal to the excludeID
  364.       value, then he will not be dropped from the list of the attacker's
  365.       targets.
  366. - data/fight.def:
  367.   Added to [Round]: win2text
  368. - Added Team battle mode.
  369.  
  370. - CNS: Minor change in "target???" controllers: these controllers no longer
  371.   affect targets who are guarding. eg. TargetLifeAdd will change the life
  372.   of a target being hit, but not of one who is guarding
  373. - Updated to link with Allegro 3.9.25
  374.  
  375. - BG: Element: Added optional "positionlink" parameter
  376.   Set to 1 to link that bg element's position to the previous element.
  377.   The "velocity" and "delta" parameters will be ignored.
  378.   The "start" parameter becomes the offset from the previous element.
  379. - BG: Element: Added optional "sin.x" and "sin.y" parameters
  380.   Offsets the background position using a sine function.
  381.   "sin.x" and "sin.y" are for offsetting the x and y positions respectively.
  382.   Each has 3 parameters, ie:
  383.   sin.x = M, P, O
  384.   M (decimal) is the magnitude in pixels
  385.   P (decimal) is the period in game ticks
  386.   O (decimal) is the time offset in game ticks
  387.   Specifically, the function is computed as such:
  388.     offset = M * sine ((ticks+O)/P * 2 * Pi)
  389. - DEF: Added optional "displayname" parameter to [Info].
  390.   It is the name to display on the select screen, fight screen, etc.
  391.   If omitted, will be same as "name" parameter.
  392. - CNS: Added "p1name" and "p2name" triggers.
  393.   p1name returns the name of the player (in the DEF file, under [Info]:  name)
  394.   p2name returns the name of the opponent
  395.   Eg:
  396.     trigger1 = p1name = KFM
  397.   Case insensitive, so "KFM" is the same as "kfM" and "kfm".
  398.   Example use for p1name: 
  399.     Special reactions for certain characters when they are throw. Ie,
  400.     use "p1name" in the states that p2 will get from p1's CNS.
  401.   Example use for p2name: 
  402.     Special reactions towards certain characters, or special intros.
  403. - Background:
  404.   The "mask" parameter is no longer ignored for parallax background
  405.   elements. An example use for this could be clouds, where you can
  406.   see the sky through holes in the clouds.
  407. - CNS: TargetBind controller:
  408.   Default value of "time" parameter changed from 0 to 1.
  409. - CNS: HitDef controller:
  410.   If the "ground.velocity" parameter has a non-zero y value, then
  411.   the "forcestand" parameter's value will default to 1 instead of 0.
  412.   It can still be overridden by setting it to 0, but it will look
  413.   strange.
  414. - You can now type: mugen <char1> <char2> [stagename]
  415.   For example, if you type: mugen kfm kfm mystage
  416.   Then the game will load stages/mystage.def for the quickvs stage.
  417.  
  418. - P2 is now invincible during the p1pausetime of p1's reversal.
  419.   Stops projectiles from interrupting the reversal.
  420. - Can now change states right away in intro (state 191).
  421.   You can use "p2name" trigger for special intros between people.
  422.  
  423. Bugfixes
  424. --------
  425. - Fixed the floating point exception from having topz and botz being
  426.   equal in the stage definition.
  427. - You can't "influence" the AI by whacking its buttons anymore
  428. - Fixed a nasty bug where missing characters would cause Mugen to
  429.   crash at the versus screen.
  430. - Fixed problems where P2 bound to P1 by the TargetBind controller
  431.   would not fall down if P1 was hit.
  432. - Fixed some problems with reversals. Mainly, some parameters such as fall
  433.   and fall.yvelocity, etc were not working before.
  434.  
  435.  
  436.  
  437. 3 Sep 99
  438. ========
  439. A lot of engine updates this time.
  440. At a glance:
  441. -Added reversal attacks
  442. -Guard cancels
  443. -Character palette effects
  444. -Added Training mode to main menu
  445. -Stage select in all but Arcade mode
  446. -Sound device configuration
  447. -MOD and S3M music capability (thanks to Guan Foo Wah's JGMOD)
  448. -Projectile control improvements
  449. -Lots of updates to state control
  450. -Various bug fixes
  451.  
  452. Misc
  453. ----
  454. - Added new hit spark: Use spark 0,6 for blood
  455. - Updated action numbers in docs/air.txt. Also added
  456.   something about flipping and transparency in air.
  457.  
  458. Code
  459. ----
  460. - Added Training Mode. Will add more functionality later.
  461.   If you want to turn on the CPU, Hit Ctrl-1 (p1) or Ctrl-2 (p2)
  462. - Select-cursor positions are now remembered in VS, Watch and Training.
  463. - CNS: Put in mod-playing capability. Supports, MOD, S3M and whatever 
  464.   works with JGMOD.
  465.   New in data/mugen.cfg:
  466.   [Sound]
  467.   playmod = ?
  468.   modvolume = ?
  469. - CNS: Added "height" to [Size] group.
  470.   Say you set "height = 60", then it means that if p2 is jumping
  471.   over p1 (p1 is standing), and p2's y-pos is < -60, then p2 will
  472.   pass through p1. This makes it easy to jump over tall people.
  473.   If omitted, defaults to 60.
  474. - CNS: "Projectile" controller:
  475.   Added "projID" parameter. Set to a number that you want to identify
  476.   the projectile with. If omitted, defaults to 0. Can ignore this
  477.   parameter if you don't want to do advanced projectile stuffs.
  478. - CNS: "Projectile" controller: "postype" parameter:
  479.   Added value "p2". If use "p2", then projectile is created relative to
  480.   the opponent. Useful for explosions that appear under the other guy's
  481.   feet and stuff.
  482. - CNS: Added "NumProjID" trigger.
  483.   Returns the number of projectiles that currently exist (doesn't
  484.   count the other player's projectiles, only yours), and
  485.   have the specified ID number. Place the ID number right after
  486.   "NumProjID" (no spaces). Eg,
  487.     trigger1 = NumProjID500 = 0
  488.   Triggers if there are no projectiles with ID number 500.
  489.   Note: If the ID number is omitted, defaults to 0.
  490. - CNS: Added "ProjHit", "ProjGuarded" and "ProjContact" triggers.
  491.   Works like MoveHit, etc, except it detects if a projectile
  492.   with the specified ID has hit. Like NumProjID, place the ID
  493.   number after the triggername. Eg,
  494.     trigger1 = ProjContact1000 = 0
  495.   Triggers if a projectile with ID 1000 has come in contact with p2.
  496.   Note: It will trigger once for each hit of the projectile, so
  497.   a multi-hit projectile can activate the trigger multiple times.
  498.   Note2: Unlike "MoveHit", etc, the "Projhit" triggers are valid only
  499.   for one game-tick after hit/contact.
  500. - CNS: "Superpause" controller:
  501.   Added "movetime" parameter. Set to the number of game-ticks to
  502.   allow the player to move DURING the superpause. Eg, "movetime = 30"
  503.   lets the player continue moving during the first 30 ticks of
  504.   the pause, while everything else in the game is frozen.
  505. - select.cfg: [Characters]: stagefilename made optional.
  506.   If you omit the stagefilename, a random stage will be chosen.
  507. - CNS: "Projectile" controller:
  508.   p1stateno and p2stateno parameters now work properly
  509. - CMD:
  510.   You can now interrupt guard by using a trigger like:
  511.   triggerall = command = some_command
  512.   trigger1 = stateno >= 150 ; These are the guard
  513.   trigger1 = stateno <= 153 ; states.
  514. - Added stage select to versus and watch modes.
  515.   To name your stage, add a group [Info] to your stage def,
  516.   and put the name in a parameter called "name". eg:
  517.   [Info]
  518.   name = My Stage Name
  519. - CNS: Added new controller "statetypeset".
  520.   Lets you change the statetype and/or the movetype in the
  521.   middle of a state. Params:
  522.     value = state_type
  523.     movetype = move_type
  524.   state_type is S, C, A or L
  525.   move_type is A, H or I
  526. - Changed to dynamically-allocated array for characters
  527.   in charsel.c
  528. - Fixed bug where you could not guard a hit after being hit
  529.   in the air (common1.cns problem that came up when fixing a
  530.   small combo-count bug last time)
  531. - Fixed bug where guard sounds played from the hit sound bank
  532.   instead of its own
  533. - Fixed bug in tiled backgrounds that had tilespacing
  534. - Allowed animated backgrounds to tile (the tilespacing parameter
  535.   must have values > 0)
  536. - Added sound configuration routines to data/mugen.cfg
  537.   See for details.
  538. - CNS: Added trigger "p2life" returns amount of life that p2 has
  539. - CNS: "LifeAdd" and "TargetLifeAdd" controllers:
  540.   Added "kill" parameter. Set "kill = 0" if you do not want
  541.   the player's life to go below 1.
  542. - CNS: "HitDef" controller:
  543.   Added "guard.pausetime" parameter. Like "pausetime", except
  544.   values are for guarded hits.
  545. - Added "Draw Game" state (state 175 in common1.cns)
  546.   Will go to this state if both players have same life when
  547.   time runs out. If player does not have anim 175, defaults
  548.   to "Time Over" state (state 170)
  549. - You can jump over people lying down in the corner now.
  550. - CMD: Added "s" button, for start. Use it like any other
  551.   button. If you want to make a taunt, you'll need to program
  552.   it into the CMD and CNS. Use state 195 for taunt.
  553. - CNS: Added "facep2" parameter to StateDef. If set to "1",
  554.   the player will turn to face p2 at the start of the
  555.   state (see cns docs).
  556. - CNS: Added new triggers: "FrontEdgeDist", "BackEdgeDist",
  557.   "FrontEdgeBodyDist", "BackEdgeBodyDist".
  558.   "FrontEdgeDist" is the x-distance of the player's x-axis
  559.   from the edge of the screen that is in front of the player.
  560.   "FrontEdgeDist" is the x-distance of the player's x-axis
  561.   from the edge of the screen that is behind the player.
  562.   "FrontEdgeBodyDist" and "BackEdgeBodyDist" are almost the
  563.   same as the other two, except it takes the distance
  564.   from the edge to the sides of the players, instead of
  565.   the x-axis.
  566. - CNS: Added new controller: "PalFX"
  567.   Adjusts palette of player.
  568.   Params:
  569.     time = time
  570.     mul = mulr, mulg, mulb
  571.     add = addr, addg, addb
  572.   time (int) - Time to keep the palette effect
  573.   mul? (int) - 0 for dark, 256 for normal, >256 for contrast
  574.   add? (int) - 0 for normal, -1 to -256 for dark, 1 to 256 for 
  575.                bright
  576. - CNS: HitDef controller:
  577.   Added new parameters:
  578.     palfx.time
  579.     palfx.mul
  580.     palfx.add
  581.   These are the same as "PalFX". It will do palette effects on
  582.   the opponent if the move hits.
  583. - common1.cns: player blinks white when recovering from fall
  584. - CNS: Projectile trigger: 
  585.   Added optional "projshadow" parameter. Set to color of
  586.   shadow: eg. 
  587.     projshadow = 64,64,64
  588.   To use stage's shadow color settings, set to -1, eg.
  589.     projshadow = -1
  590. - CNS: Added "Reversal" controller
  591.   Like HitDef, but with limited parameters
  592.   P1's clsn1 box catches p2's clsn1 box (attack).
  593.   New parameter:
  594.     p2attr = attr_list
  595.   attr_list is the list of attributes of p2's hitdef that
  596.   p1 can catch. eg. 
  597.     p2attr = SA, NA,SA
  598.   means Stand+Air, NormalAttack,SpecialAttack
  599.   Use with p1stateno (and optionally p2stateno) for creating
  600.   reversal attacks. Use a "targetbind" controller in p1's
  601.   reversal-success-state to bind p2, if necessary.
  602. - Fixed minor guard problem, where you could not immediately
  603.   guard low attacks if you weren't already crouching
  604.  
  605.  
  606.  
  607.  
  608. 16 Aug 99
  609. =========
  610. At a glance:
  611.  - Animated backgrounds
  612.  - Change background implementation
  613.  - Lots of doc updates, but still far from done
  614.  - Music in title, select and versus screens
  615.  - Lots of small fixes
  616.  
  617. Misc
  618. ----
  619. - Updated docs for most things
  620. - New suggested life for players is 1000, instead of 256.
  621. - Moved all stage defs and sffs from data/ into the stages/ directory
  622.   If you made backgrounds, check your defs to set the files to
  623.   the stages/ directory.
  624. - Added new hit spark.
  625.  
  626. Code
  627. ----
  628. - Added BGM capability at Char Select and VS Screen.
  629.   Check select.cfg, under [Music].
  630. - Added BGM capability at Title Screen.
  631.   Check system.def, under [Music].
  632. - Does not require "sound = blah.snd" in the DEF file to run
  633. - Added screenshot to title screen
  634. - Changed implementation of backgrounds. Now a background x-position
  635.   of 0 corresponds to the middle of the screen. It can move left
  636.   (negative) and right (positive). This makes it much easier to
  637.   do the def for the backgrounds.
  638.   Parallax works slightly different now. If you use "width = ?,?"
  639.   it acts like it did before: scales the background to create a
  640.   perspective effect. If you use "xscale = ?,?" it doesn't
  641.   pull off the scaling. That way if you have a floor that already
  642.   looks "3D", it leaves it alone.
  643.   Player start x-positions should now be -70 and 70 for all stages.
  644. - Animated BGs at last! The anim data is kept in the def
  645.   file for the BGs.
  646. - Added "boundhigh", "boundlow" and "verticalfollow" to [Camera]
  647.   in stage0.def. Controls vertical movement.
  648. - Added key config to options
  649. - Now there's a line-fade when you skip the intro
  650. - CNS: Hitdef: Added "P" type to hitflag. If you have a hitflag
  651.   with "P" in it, the attack can cancel out projectiles.
  652. - CNS: Added new trigger: AnimExist = actionno
  653.   1 if actionno exists in P1's AIR, 0 if not.
  654.   Used this to fix small animation bug in common1.cns.
  655.  
  656. KFM
  657. ---
  658. - Changed life and damage to match new 1000 life.
  659.  
  660. Bugfixes
  661. --------
  662. - Fixed skipping intro multiple times
  663. - Fixed another bug in common1.cns, where action 5040 would repeat
  664.   over and over in state 5040 (air recover)
  665. - Fixed the problem where you don't really get pushed back from
  666.   the corner if you're doing a combo. So now in the CNS, if you have
  667.   a "velset = 0" in the StateDef, it sets your x-velocity to 0 as
  668.   usual, except if the other guy is being hit in the corner.
  669. - Fixed bugs on timeover, where characters did not stop guarding
  670.   or crouching
  671. - Deletes projectiles if skipping intro (no more leftover KFM wood
  672.   pieces)
  673. - Fixed a bug it did not check hold-commands
  674.   for buttons. Like, /a and /b etc were not being detected
  675. - Fixed bug where keypresses are lost during game slowdown
  676. - Fixed the problem where the "command" state controller doesn't
  677.   work in the win pose -- useful for selecting the win pose by
  678.   holding buttons
  679.