v2.0.2 (another hotfix)
Fixed inaccuracies:
    - Powerups can now be picked up BEFORE they exit a block
        - In MarioHunt, powerups spawn from the bottom of the block instead for fairness
    - Enemies no longer interact with Bullet Bills, Piranha Plants, or Cheep Cheeps
Misc:
    - The example mod now ACTUALLY properly explains how to import custom characters (I uploaded the old file last time, oops)
    - Fixed being able to see powerups before they leave the block
    - Added the version number to the API
    - Added two new API functions to get/set custom object fields used by So Retro
v2.0.1 (hotfix)
    - Adding a missing Koopa Paratroopa to D-1 that prevented the level from being possible in single player
    - Fixed a script error if all players died in a level while bubbles were enabled
    - Made the modfs create itself immediately upon loading the mod if it doesn't exist
    - The example mod now properly explains how to import custom characters (previously, it referred to so_retro.modfs as so_retro.zip and assumed it was auto-treated as a zip file.)
v2.0
BIGGEST ADDITIONS:
    - Lost Levels: All of SMB2J, otherwise known as The Lost Levels, has been ported!
        - World progress works like in the All Stars version for quality of life purposes
        - NOTE: This campaign is incredibly challenging! Play with infinite lives for a more laid-back experience.
    - Character Select + Custom character support: Added some new API functions to make custom characters!
        - Supports Character Select, but also features its own character system
        - Run /save_char while playing as a custom character to save them to modFs. This will let you use them in ANY lobby!
            - Load modFs characters through the mod menu. Characters loaded through modFs will always use Mario's physics.
            - When saving a Character Select character, the currently selected palette will be stored as the default.
            - Enable "Disable others' customs" to not see or download other players' custom characters.
    - New, highly robust API: Should be enough to make custom levels, movesets, texture packs, and more. Documentation might be a bit on the shorter side, sorry.
    - Editor overhaul: Available by enabling the default Cheats mod, the editor has been completely reworked to be more user-friendly.
        - Keyboard + Mouse Controls (based on default keyboard controls):
            - C: Toggle editor
            - WASD: Move player
            - Z: Toggle between entity and tile mode
            - Q+E: Switch geometry type (tile), switch entity type (entity), change third param (entity + hold shift)
            - Scroll wheel: Switch tile type (tile), change first param (entity), change second param (entity + hold shift), scroll side bar
            - Left click: Drag already placed objects, select from side bar
            - Right click: Place (drag to change size)
                - Hold Shift while placing an entity to only place them in Hard Mode (when Hard Mode is active or the player is at 5-3 or beyond)
            - Middle click: Erase
        - Gamepad Controls:
            - Y: Toggle editor
            - Joystick: Move player
            - C buttons: Move editor cursor
            - X: Toggle between entity and tile mode
            - L+R: Switch geometry type (tile), switch entity type (entity), change third param (entity + hold Z)
            - D-Pad Up/Down: Switch geometry tile (tile), change first param (entity), change second param (entity + Z)
            - A: Place (change size by holding A and using the right stick), drag already placed objects
                - Hold Z while placing an entity to only place them in Hard Mode (when Hard Mode is active or the player is at 5-3 or beyond)
            - B: Erase
        - Note that many useful editor commands were also added. Use /desc for info about structures and objects, for example.
    - MarioHunt support: Watch out for the Hunters as you race through Super Mario Bros.! Contains many adjustments for balance purposes.
        - Note that there's still some minor issues that will be resolved when v2.8.1 of MarioHunt releases.
Other additions:
    - New widescreen option, which makes the game use your coop's window's resolution instead of the default NES resolution.
        - This also lets you play in *thin screen* by shrinking your coop window. Not recommended.
        - Note: This DOES affect gameplay, as enemies will be loaded based on your new screen size.
    - New option to use the default palette for characters.
    - New option for character-specific physics. Also includes a host option to force them off for everyone.
        - Luigi: Physics from Super Mario Bros: The Lost Levels.
        - Toad: Physics from the PAL version of Super Mario Bros.
        - Wario: Heavier, but turns more easily on the ground. Struggles to correct jumps and runs a little faster.
        - Waluigi: A more extreme Luigi. Floaty gravity, horrible ground deceleration. Runs a bit slower, but can adjust quickly in midair.
    - Added these new server options:
        - Infinite lives: You'll never run out of lives. Highly recommended for playing Lost Levels.
        - Pits deal damage: Falling into a pit deals damage instead of instantly killing you, like in MarioHunt. Makes Lost Levels less of a pain.
        - Disable warp zones: Warp zones won't go anywhere new. Great for enforcing the warpless category.
        - Disable object syncing: Nothing other than players will sync. Good for races, but make sure you turn off player collision, too.
        - Continue at same level: The top level AND top world will be saved. Makes game overs kind of pointless, though. Recommended for MarioHunt.
        - One item per block: Rather than providing an item for each player, item boxes only contain one item each. Makes items harder to get.
        - Per-player coins: Coins are per-player instead of global. Forced on in MarioHunt.
    - Added sprites for all characters available in Extra Characters!
Adjustments:
    - Reworked the title screen options. You can now start from the specific levels rather than just the start of a world.
    - The bubble now moves WAY faster, so you can actually catch up to players
    - Players can unbubble other players for a short time after hitting reaching the flag or axe
    - When in a bubble, "Lose A Life" becomes "Skip Bubble". Selecting this option will restart you from the checkpoint.
    - The game over screen now works like in Lost Levels, regardless of which campaign you're playing. You can continue or return to title immediately.
    - Lag compensation is no longer used for PVP, preventing "lag hits" (but this makes hits sometimes not register, sadly)
    - Holding X and pressing B will now also shoot fireballs, the same way holding B and pressing X does.
    - Made up and down a bit more sensitive so that diagonal directions work on keyboard.
    - Sound effects now fade out over a shorter distance, and nearby sounds will always play at max volume.
    - Non-sync objects will always spawn immediately upon entering a new area.
    - Palette system was changed a lot; your default palette may look different in this version.
    - Red Koopa Paratroopas now respawn after a short time in multiplayer (needed for some jumps in Lost Levels setups)
    - Reworked some syncing systems to be more efficient and less prone to error
    - More detailed credits
Fixed inaccuracies:
    - Fixed inaccuracies with Mario's sprite (yes, I somehow even messed THAT up)
    - Skipping across 1-block gaps is now more lenient, and can even be done while walking in some situations
    - When letting go of Run, Mario will no longer decelerate to walk speed, instead snapping instantly.
    - Bonking a brick while small now sets Mario's pixel vertical speed to 0 instead of -2 (note that -2 is down here)
    - Mario's head collision while big and underwater is now 2 pixels higher.
    - Air physics were made more accurate; as a result, Mario now jumps slightly higher
    - Acceleration was made more accurate
    - Fixed inaccuracy with scrolling while moving against a wall, and moved some exit controllers in 4-2 and 8-4
        - This means you can now perform the famous "wrong warp" glitch in 4-2, as well as the one in the fish room in 8-4
    - Hammers can no longer hit you before they are thrown
    - Hammer Bros. hammers are no longer thrown instantly when they are defeated
    - Hammer Bros. now have the option to jump down *two* layers of blocks from the top
    - All looping lifts (except the small lifts in 2-4 and 5-4) were moved 12 pixels to the right
    - All enemy groups of 3 were moved 2 blocks to the right
    - In Second Quest, Koopas and Buzzy Beetles now wake up slightly faster
    - Hitting a block below a mushroom now bounces it away from you rather than from the center of the block
    - The coin in the HUD now properly adjusts to palette changes
    - Koopas now turn when landing, similarly to Buzzy Beetles
    - Red Koopa Paratroopas fly a bit lower
    - Fixed many inaccuracies with shelled enemies. The infinite lives trick in 3-1 should be more consistent now.
    - Bullet Bills and the goal flag now use the correct palette in 6-3.
    - Mario now gets 4 speed instead of 3 speed when jumping off of flying enemies in SMB1.
Fixed bugs:
    - Fixed some music loops not working properly
    - Fixed pausing while holding down instantly selecting "Lose A Life"
    - Coin counter is no longer constantly reset if the host is not in-game
    - Fixed "reset game" not properly resetting progress if multiple players are present
    - Fixed sprite errors on the overworld springboard
    - Fixed stomping on the same enemy twice in a row when multiple players are present
    - Desync issues will no longer spawn blocks over empty tiles
    - FINALLY fixed sprites rendering on off-pixels. It was a really easy fix and I was pulling my hair out over this for months.
    - Vines no longer disappear permanently if you leave the area and come back while no other players are present
Other:
    - Changed how player and enemy textures are stored; no more flipping half of the sheet!
    - Added more palettes for certain enemies