Engine Updates
• Most game mechanics are inherited from 1.3.0.0
• Addition:Some differences between 1.4 and 1.3.0.0:
○ 1. Due to the incompatibilities and other reasons,netplay function is temporary disabled.We may re-add it later.
○ 2. Number of auto-played characters in title screen is now reduced to one.
○ 3. Testing levels in editor in fullscreen mode is no longer supported.
• Upgraded the graphics engine.Alpha channels are supported now,which means you can use smoother graphics in your levels.
• You may not be able to launch the game if DirectX is not available.
• There is now a limit to the max size of custom graphics,ANY pixels exceeding the limit will not be drawn.You can check it using the Debugger in editor.Don't worry a lot, 4096*4096 is sufficient in normal case.
• Upgraded the sound system.More file formats are supported now.
• Optimized the physic engine.
• Involved the memory management system.Some graphics and musics are only loaded into memory when needed.
• Added variables.
• Added scripts.
• Added MarioPacker(v1.0)
• Added MarioShop(v1.0)
MarioPacker
MarioPacker is a built-in program in the editor.It packs and encrypts your episodes,blocking other people hacking them.Use It Wisely.
• Only available to episodes with a world map.
• Packed maps have an improvement in loading speed and security,and have a smaller file size.
• The progress is not reversible.BACK UP FIRST.
MarioShop
MarioShop is another built-in program.It has image editing functions which makes graphics-making easier.
Events and Layers
• Names of events and layers can now be any characters,but if you want to use them in scripts,do not use strange characters.
• Added a way to create NPCs,effects with events and scripts
• You can insert variables in message boxes.Method:&Val(*variable name*) (Ignore'*')
• You can move layers in a new way - setting the relative position,which teleports the layer instantly.
• Canceled the 99 events cap.
• Canceled the 20 layer operations cap in events.
• You can now use custom musics in events.
• Upgraded the auto-scrolling function, the parameters are now dynamic.
• Timers in events have two timing units (second and frame) now.
• You can now move more than one layers in a single event.
• Added some options to character controlling section in events.
• Added some special events that automatically triggers when certain conditions are met.(AutoRun-Event)
• Name list:Level - End | Player - GotHurt | Player - GotItem | Player - GotNPChurt | Player - Swimming | Player - Warping | NPC - Death | NPC - Killed | Timer - Over,etc.
• Added API layers.Objects in these layers are locked in a special position.
• Name list:| Att-Player1(*) | Att-Player2(*) | Att-Screen(*) | Att-ScreenII(*).'*' can be any vaild characters.
• 'Attach to Layer' function is not available to NPCs in these layers.
• Optimized the Attach to Layer function.Layers and NPCs are now attached with 100% more power.
• Added some special events that when it triggers,certain functions are executed,like hurting the player.(Special Event)
• Added AutoStart functions in events.Events are sutomatically triggered when conditions set are met.
• Many parameters in events can now be expressions.
• Local variables, global variables and system variables are supported in the logic system for events.
• Adden In-game Timer.
• When it goes zero and is in 'count down' mode,all characters are killed instantly.You can make an AutoRun-Event(Timer - Over) to prevent this by triggering the event instead.
• God mode characters are not affected.
• A messenger system variable is sent to the event when a event is triggered by a NPC,which can tell your event who triggered the event.
• You can now right-click an object (TextBoxes,Buttons,Etc) in the event editor to get a short helping text.
NPC
• Added Starman
• Added Spinning Platform
• Added Directional Platform
• Added Firechomp
• Added Chainchomp
• Added Penguin
• Added Fire Brother
• Added Boomerang Brother
• Added Fire Piranha
• Added a way to hide NPCs in a SMW block.
• Thwomps can now move horizontally.
• Koopa Troopas can recover itselves from the shell state over time.(Exceptions:Placed koopa shells,SMW ones stomped by player)
• NPCs swallowed by Yoshies will disappear in 20 seconds.
• Added a option for SMW jumping piranha plant to determine whether it can pop fireballs.
• You can put any NPC,small or large,into bubbles.It may look weird when you try to fill bubbles with bowsers,of course.
• Rotodiscs and firebars can now be customed in many ways.
• Max size of ice blocks made by ice balls can be set in CNPC code of NPC-263(ice block).
• Multiple check points can now exist in a single level.You can determine the order by changing the advanced NPC settings.
• Added NPC events:Grab,Touch,NextFrame(this one is not recommended to use too much)
• Added 'Send ID to a variable' settings for NPCs to send the permanent NPC ID to a variable.
• NPC-290 and NPC-195 are now tightly connected to players.
• P-Switches can no longer turn friendly NPCs into blocks.
• New settings for NPC generator.
• Use frames instead of seconds for the timing unit.
• Two setting methods are now available.
• Traditional: 8 directions available instead of 4.
• Custom: 4 new options:Shooting angle,shooting branches,shooting speed,shooting range.
• Added some new Custom NPC codes.
• Spinjump: Can the NPC be killed by spin jumps or not.
• To be compatible with jumphurt,this one should be set the same time you set jumphurt.
• SpinJumphurt: Can players get hurt trying spin-jump the NPC.
• WaterJumphurt: Can the NPC be stomped to death under water.
• To be compatible with jumphurt,this one should be set the same time you set jumphurt.
• NoLava: Can the NPC be killed by lava.
• NoHammer: Can the NPC be killed by hammers.
• Health: Hitpoints for the NPC,can only be a const.
• Holdgenerator: Makes the NPC hold a NPC generator itself.
• Usage: HoldGenerator = X ,U , Id , Delay , Speed , Angle , [Optional L = 1] , [Optional R = 360] , [Optional AC = 1]
• Parameters: Relative position of NPC(x,y),generating interval,initial speed,initial angle,branches,range,whether the direction changes according to the facing of NPC.
• Be careful,you may make lakitus throwing lakitus using this,producing deadly lags.
• Framestyle:(additions)
• Framestyle = 3 - Animations are not played automatically.
• Framestyle = 4 - Animations are only played once.
• Framestyle = 5,6,7:Much the same as 0,1,2. Differences: GFX will have a downward offset 'NPC special setting value * NPC original frame number',for example,player fireballs are using this.
• Fireballdmg: Damage taken when hit by fireballs.
• Jumpdmg: Damage taken when hit by stomps.
• Hammerdmg: Damage taken when hit by hammers.
• Shelldmg: Damage taken when hit by shells.
• Lavadmg: Damage taken when hit by lava.
• Tailspindmg: Damage taken when hit by tail spins.
• Blockhitdmg: Damage taken when hit by blocks.
• Explosiondmg: Damage taken when hit by bombs.
• Float: is the NPC affected by buoyance,only makes sense when NoGravity is set to 0,for example,SMB3 platforms are using this.
Liquid
• You can now specify many physic parameters for liquids.
• You can now make the hitbox of liquids round.
• Liquids can now trigger events by touching them with players or NPCs.
• Added many settings.
• Custom Liquid:a kind of liquid with custom friction settings.
• Gravitional Field:just a 'liquid' without swimming functions.
• [Event/Script] Collision Area: Triggers events or scripts when characters get in.This kind of liquid does not have any physic properties.
• [Event/Script] Click Area: Triggers events or scripts when clicked using mouse.This kind of liquid does not have any physic properties.
Warp
• Added events for warps.
• Added a kind of warp requiring a bomb to unlock.
• Message shown when stars are not enough can now be customed.
• Added a option to prevent the star count of levels from showing.
• Added a option to disable the intro animation when warping between levels.
• Added a option to keep the items held by players when warping between levels.
• Changes for Warp To Map Location: Special values:(0,0) means not moving,(-1,-1) means move to position(0,0).
Block
• P-Switches no longer triggers Death events of blocks.
• POW Blocks no longer triggers Hit events of blocks.
• '?' Blocks can now contain any kind of NPC.
• Coin amount of '?' Blocks can now be 'infinite' (with a finite amount of time)
• You can now customize the size of blocks,press Return after inputing the new size in the textbox.
• If the slope of a slope is greater than 1.1,it creates a horizontal acceleration to players stepping on it.
Player
• Added Frog Suit.Only available for Mario and Luigi.
• Added F.L.U.D.D.(Super Mario Sunshine)
• There are 3 types of them.Press 'Z' to use them.If you get multiple types,press Shift+S to switch.(Keys are configurable)
• They recharges themselves when players touch a liquid with a friction between 0.4 and 0.6.
• They are automatically removed after completing a level.If you want to keep it,use global variables and script system.
World
• You can now limit the use of cheat codes with blacklists and whitelists.
• You can now make a save file only available to a single computer,and saves from other computers can not be loaded.
• Added save locking feature:you can specify a rule using expressions. Saves can only be loaded properly when the expressions return True.
• Added a option to record the level which player was in,when the save is loaded,the game will send players to the recorded position.
• Added item slots from SMB3. Enable it by setting the max amount of items. Press 'S' to open it in the world map.You can add items in to it using Special Events.
• You can now disable 2-Player game.
• You can now disable the function of switching characters on world map.
• You can now customize the music played in the world map.
• The music is now not looped in Credits screen.
• You can now make custom credits,keep it short,since the scrolling speed of text is not changed.
• If there is a music file 'credits.MP3', it will played in Credit screen.
• Added 'Forced' option for levels in the world map.'Forced' levels will pull players into them instantly when players step on.
• You can now use expressions controlling the requirements opening a new path, only global variables can be used in this case.
• Added level entering conditions.
• Use '|' to separate levels in Level FileName,example: World0-1.lvl | World0-5.lvl | Castle.lvl
• The first level is numbered '0',and the second one is numbered '1',and so on.
• Input condition expressions in the long textbox,and level number in the short textbox.The test continues in order from top to bottom.If no conditions are matched,the game will choose the level numbered '0'.
• Level number can also be expressions.Return values are rounded.
• For example,you can make levels that can only enter once with this and global variables.
Misc
• You can customize character names shown in battle mode.
• Merged 'fill' function to the tool bar in the editor and added several types of tools.
• Drawing tools: Rectangle, Andv.Rectangle, Ellipse, Line, Brush(Fill)
• Misc tools: Grids, Copy, Paste, Flip
• Options:Can blocks/NPCs/Backgrounds/Liquids be selected or not.
• Added a protection when using fill function.You will no longer destroy your level.
• Added Overlap function in the editor.When checked,you can place things over others.
• Press 'Shift' when selecting objects in editor will no longer pick the object up.
• Press 'Ctrl' when placing objects on other objects in editor will make the under object copy the properties from the holding object.
• This function will not affect positions,size and id.
• It can not used on backgrounds in level editing mode.It can only used on levels and tiles in world editing mode.
• Additions to Section Cloning function
• You can now only clone NPCs,blocks,backgrounds and liquids of a section.
• Additions to Swap function.
• Moved the function from Debugger to Level Settings
• Can now swap NPCs,backgrounds and blocks.
• Added Y-Level Wrap
• Added Y-Scroll Lock
• Friendly stars are not counted in the debugger.
• Added a option to set the level player teleports in when death
• Use PNG graphic files instead of GIF,Alpha channel fully supported.
• No longer supports GIF files and '-m' files,they will be automatically converted.
• Hint:You can use MarioShop to edit Alpha channels and convert files in large number.
• Screenshot files are now PNG.
• Hold 'F11' key in world map editor will show the visible border in the main game.
• In editor,things in "The Lakitus are throwing Lakitus!" are placed in 'Adv' section of NPC window.
• Added a simple Debugger for world editing mode.Automatically shows up when you turn the grids on.
• NPCs hidden in grasses and other things are now drawn transparently instead of blinking in editor.
• Directions of warps and generators are shown in editor.
• Added 'Open Game Directory' and 'Reset Camera Position' functions in editor.
• You can no longer adjust the size of level window in editor.
• Slightly increased the max amount of some kind of objects.
• The game will not always occupy a whole CPU core.
• Playing sounds can no longer cause random lags.
• Improved Performance.
• Supported music formats:.aiff, .asf, .dls, .flac, .fsb, .it, .m3u, .mid, .midi, .mod, .mp2, .mp3, .ogg, .raw, .s3m, .vag, .wav, .wma, .xm
• If an episode exists in the game folder without a name set in the world editor,it will still show up in the game list in the main game,but with gray fonts.
• Testing levels in editor in fullscreen mode is no longer supported.
• Number of auto-played characters in title screen is now reduced to one.
• Custom Files(including GFX,CNPC,etc)will not be reloaded when you test the level.If you want to reload them, please reopen or save the level.
• Use a new level file format.Old maps can be automatically or manually converted.
• Moved most of the resource files away from the EXE file.
• Intro.lvl and outro.lvl are now hidden,but you can still customize them in the old way.
• Changed some conflicting shortcut keys.
• Added localization files:place them (.lg files) in the same folder smbx.exe in and it will work.
• Using them will take a slightly longer time for the editor to start.
• These files can only be created using a special tool, you can not edit them directly.
Cheat Codes
• Added and removed some cheat codes and changed the effects and names of some cheat codes.
• Cheat codes are disabled in battle mode.
Bugs
• Fixed the 'Out of Memory' crash when trying to open many level files using an old computer.
• FIxed the 'Control array element doesn't exist.'crash using the world editor with custom graphics.
• Fixed the 'Overflow' crash when certain NPCs are fallen into lava.
• Fixed the 'Overflow' crash when some error CNPC codes are loaded.
• Fixed the 'Type mismatch' crash when some error CNPC codes are loaded.
• Fixed the 'Invailed picture','Out of Memory','Cannot create AutoReDraw object' crash when using too much custom graphics in a level using an old computer.
• Fixed the 'Divided by Zero' crash entering a pipe with a fire piranha plant.
• FIxed the bug that level corrupts when game crashes saving a level.
• Fixed the bug that level corrupts when there is '"' in message boxes.
• Fixed the bug that some irregular MP3 files are not played properly.
• Fixed the bug that levels in battle mode can be cleared.
• Fixed the bug that SMW platforms get stuck when overlapped each other.
• Fixed the bug that some blocks behave improperly when become invisible.
• Fixed the bug that some NPCs disappear from time to time.
• Fixed the bug that 'Instant' warps sometimes not working with certain settings.
• Fixed the bug that some warps placed near the level boundary can make players get stuck.
• Fixed the bug that if the game failed to refresh the graphics the images from the last frame will remain.
• Fixed the bug that some looping BGP are not looping properly.
• Fixed the bug that using a BGP with wrong size will make the graphics out of order.
• Fixed the bug that you can get too much lives completing a level near a lot of NPCs.
• Fixed the bug that Pokey will break up when going up a slope.
• Fixed the bug that invisible blocks still blocks some NPCs up.
• Fixed the bug that layer status in Layer window in editor is not refreshed on time when testing a level.
• Fixed the bug that 'mario-5.gif' has an 1-pixel offset.(Since most 'mario-5.gif'in graphic packs now have moved the picture up one pixel,all of them will automatically move one pixel down)
• Fixed the bug that Level-Start and Auto-Start events are not triggered when players have died once.
• Fixed the bug that Auto-Scrolling is only available to Level - Start event.
• Fixed the bug that pressing P-Switch will make the coins and blocks disappear and trigger Death events.
• Fixed the bug that vines are placed overlapped in editor.
• Fixed the bug that some CNPC codes can not apply to certain NPCs and some CNPC codes will make them disappear.
• Fixed some other bugs.
It could have made a difference at first, anyway.