Changelog
-
Boss Battles
-
Fixed required files not being included in release builds.
-
Boss Rush
-
r6: Implemented Boss Rush. You must first find it.
-
CaveNet
-
r3: Disabled experimental backtracking code to avoid crashes.
-
r4: Attempt to fix impersonation glitch
-
r5: Modified impersonation fix for multiplayer.
-
r6: Reworked the way flags are transmitted.
-
r6: Attempted to fix NPC packets being dropped extremely frequently.
-
r9: If a player is revived while they are inside an npc / tile that can damage them for half of their revived health, they will be given a longer duration of invincibility frames.
-
r10: Nikumaru Counter is now synced across clients.
-
r10: Implemented unique identifiers for clients. This is to allow servers to grant admin to certain clients.
-
release: User token files are now saved to & loaded from appdata. Convenient! Can be disabled.
-
release: Reworked the way emotes are drawn. Fixes jittery movement.
-
release: Fixed Nikumaru Counter being set incorrectly when being equipped.
-
r3: Fixed ghost clients persisting forever.
-
r6: Fixed weapons beyond ID 15 not being transmitted.
-
r6: Fixed crash related to map tiles.
-
r6: Fixed some NPC nodes not being sent due to integer truncation.
-
r6: Fixed flag updates being sent for flag # 0.
-
r9: Fixed 'GetTileFlagsXY' not returning solid when checking a map tile 6 blocks out of bounds.
-
Config
-
release: Added option to use a portable usertoken (stored in data/UserToken.bin).
-
Credits
-
r1: Corrected Clay Hanson's character color.
-
Dedicated Servers
-
r10: Revamped 'setrank' command.
-
r10: Fixed <FAI and <FAO being incorrectly timed.
-
r10: Fixed 'kill' freezing the server if used with a wildcard.
-
r10: Fixed 'kick' console command.
-
Game
-
r1: All players now help push the boulder in the boulder room.
-
r1: You can now obtain Agility in singleplayer by reading a book in Arthur's house.
-
r2: Added new resolution.
-
r2: Update banned word filter.
-
r4: '-load' argument can now be used in non-debug builds.
-
r4: '-load' argument now takes a load slot parameter.
-
r1: Fixed incorrect X position when defeating Balrog in Boulder Room.
-
r6: Fixed crash related to GUIs opening and closing.
-
Maps
-
r2: Changed loading ideology.
-
Misc
-
r2: Changed default value for 'Show FPS' to 'False'.
-
Mods
-
r2: Added support for drag-n-dropping mods. Doesn't quite fully work yet.
-
Music
-
r6: Fixed uninitialized volume variables leading to very loud buzzing noises in some music tracks.
-
r6: Fixed issue with mis-timed notes and percussion.
-
NetMenu
-
r6: You are now allowed to have 200 server entries max.
-
NpChar
-
r8: Added new flags ''Don't Delete When Client'' and ''Option 4''.
-
Player
-
r1: Fixed getting more life than is possible when being revived using a life capsule.
-
Sound
-
r8: Fixed some sounds not respecting the volume slider on startup.
-
TextScript
-
r3: Added '<ML=' (Max Life =). Sets max life to a value.
-
r3: Added '<REF' (Reset Equip Flags). Removes all equip flags like Booster 2.0.
-
r3: Added '<AMZ' (ArMs Zero). Removes all weapons.
-
r6: Added '<FLC' (FLag Call).
-
r6: Added '<AMC' (ArMs Call).
-
r6: Added '<LI=' (LIfe =).
-
r6: Added '<NIJ' (No Item Jump) and '<NAJ' (No Arms Jump).
-
r6: Added '<ITC' (ITem Call).
-
r6: Added '<CEV' (Call EVent).
-
r8: Added '<NFC' (Not Flag Call).
-
r6: Fixed '<UNJ' (UNit Jump) not working properly in multiplayer.
-
r8: Fixed '<DNA' (Delete Npc All) spawning infinite smoke when deleting NPC type 4 (Smoke).
-
r6: Fixed '<AMJ' (ArMs Jump) not working properly in multiplayer.
-
Tutorial
-
r7: Disabled debug menu.
-
r7: Disabled noclip shortcut.
-
r2: Fixed new lines on messages.
-
r6: Fixed out of bounds exploit.
-
r9: Fixed exploit where entering tutorial from another mod would corrupt the stage.
-
UI
-
r2: Fixed text being displayed weirdly in NetPlay Menu at higher resolutions.
-
r9: Fixed crash when staying in the NetPlay menu for too long due to music changes.
-
Weapons
-
r6: Fixed Snake's level 1 bullet being incorrectly referenced, resulting in firing a level 3 bullet instead of a level 1 bullet.
-
Boss Rush
-
Fixed softlock when dying to certain bosses.
-
Fixed crash when hosting a dedicated Boss Rush server.
-
Fixed Nikumaru Counter (hell timer) not resetting if everyone dies in Hell.
-
CaveNet
-
Implemented unique identifiers for clients. This is to allow servers to grant admin to certain clients.
-
Nikumaru Counter is now synced across clients.
-
Dedicated Servers
-
Fixed 'kick' console command.
-
Fixed <FAI and <FAO being incorrectly timed.
-
Revamped 'setrank' command.
-
Fixed 'kill' freezing the server if used with a wildcard.
-
Boss Rush
-
Fixed incorrect message being displayed if you check the chest again after getting the Super Missile Launcher.
-
Several tiny adjustments related to dialogue.
-
Fixed softlock related to Professor Booster.
-
CaveNet
-
If a player is revived while they are inside an npc / tile that can damage them for half of their revived health, they will be given a longer duration of invincibility frames.
-
Fixed 'GetTileFlagsXY' not returning solid when checking a map tile 6 blocks out of bounds.
-
Tutorial
-
Fixed exploit where entering tutorial from another mod would corrupt the stage.
-
UI
-
Fixed crash when staying in the NetPlay menu for too long due to music changes.
-
Boss Rush
-
Added animation for teleporting into Viewing Area with Curly tied on your back.
-
Added NetLobby screen for Boss Rush levels.
-
Both versions of the Booster are now automatically equipped when given.
-
New ''weapon'' now does something.
-
Changed description of new ''weapon''.
-
Fixed being able to obtain Booster v0.8 multiple times by going through the starting door.
-
Fixed Professor Booster not appearing inbetween Core and Ironhead bossfights.
-
Fixed messagebox blocking Professor Booster in a certain edgecase.
-
Fixed falling block randomly falling on its own.
-
Fixed too many barriers being spawned when fighting Igor.
-
Fixed health not staying at 55 after hell.
-
Fixed 'Super Missile Launcher' chest being unobtainable sometimes.
-
Fixed not spawning with Polar Star after getting through Tutorial.
-
Removed 'Weapons dropped to level 1' message when entering Hell.
-
Removed sprite tinting from important NPCs.
-
NpChar
-
Added new flags ''Don't Delete When Client'' and ''Option 4''.
-
Sound
-
Fixed some sounds not respecting the volume slider on startup.
-
TextScript
-
Added '<NFC' (Not Flag Call).
-
Fixed '<DNA' spawning infinite smoke when deleting NPC type 4 (Smoke).
-
Boss Rush
-
Added icon when getting the Bubbler.
-
Fixed crash when standing on block in multiplayer.
-
Boss Rush
-
Implemented Boss Rush. You must first find it.
-
CaveNet
-
Fixed flag updates being sent for flag # 0.
-
Reworked the way flags are transmitted.
-
Fixed crash related to map tiles.
-
Fixed weapons beyond ID 15 not being transmitted.
-
Fixed some NPC nodes not being sent due to integer truncation.
-
Attempted to fix NPC packets being dropped extremely frequently.
-
Game
-
Fixed crash related to GUIs opening and closing.
-
Music
-
Fixed issue with mis-timed notes and percussion.
-
Fixed uninitialized volume variables leading to very loud buzzing noises in some music tracks.
-
NetMenu
-
You are now allowed to have 200 server entries max.
-
TextScr
-
Added '<LI=' (LIfe =).
-
Added '<CEV' (Call EVent).
-
Added '<NIJ' (No Item Jump) and '<NAJ' (No Arms Jump).
-
Added '<AMC' (ArMs Call).
-
Added '<ITC' (ITem Call).
-
Added '<FLC' (FLag Call).
-
Fixed '<AMJ' (ArMs Jump) not working properly in multiplayer.
-
Fixed '<UNJ' (UNit Jump) not working properly in multiplayer.
-
Tutorial
-
Fixed out of bounds exploit.
-
Weapons
-
Fixed Snake's level 1 bullet being incorrectly referenced, resulting in firing a level 3 bullet instead of a level 1 bullet.
-
CaveNet
-
Modified impersonation fix for multiplayer.
-
CaveNet
-
Attempt to fix impersonation glitch
-
Game
-
'-load' argument can now be used in non-debug builds.
-
'-load' argument now takes a load slot parameter.
-
CaveNet
-
Disabled experimental backtracking code to avoid crashes.
-
Fixed ghost clients persisting forever.
-
TextScript
-
Added '<ML=' (Max Life =). Sets max life to a value.
-
Added '<REF' (Reset Equip Flags). Removes all equip flags like Booster 2.0.
-
Added '<AMZ' (ArMs Zero). Removes all weapons.
-
Game
-
Update banned word filter.
-
Added new resolution.
-
Maps
-
Changed loading ideology.
-
Misc
-
Changed default value for 'Show FPS' to 'False'.
-
Mods
-
Added support for drag-n-dropping mods. Doesn't quite fully work yet.
-
Tutorial
-
Fixed new lines on messages.
-
UI
-
Fixed text being displayed weirdly in NetPlay Menu at higher resolutions.
-
Credits
-
Corrected Clay Hanson's character color.
-
Game
-
Fix incorrect X position when defeating Balrog in Boulder Room.
-
All players now help push the boulder in the boulder room.
-
You can now obtain Agility in singleplayer by reading a book in Arthur's house.
-
Player
-
Fixed getting more life than is possible when being revived using a life capsule.
-
Game
-
r1: Fixed crash when using the teleporter on a dedicated server.
-
r2: Fixed dedi-server crash when Core fires its charge projectiles
-
r3: Fixed crash when loading pxmod with missing maps
-
r3: Fixed multiplayer-only softlock related to Ma Pignon
-
Localization
-
Release: Added Chinese localization (Thanks to KoCorons and graceltelgt!)
-
Misc
-
r4: Restored latest version of NetTutorial
-
Options
-
r2: Added 'Show FPS' option
-
Player
-
r2: Fixed dedi-server freeze when dying to a press
-
Misc
-
Restored latest version of NetTutorial
-
Game
-
Fixed crash when loading pxmod with missing maps
-
Fixed multiplayer-only softlock related to Ma Pignon
-
Game
-
Fixed dedi-server crash when Core fires its charge projectiles
-
Options
-
Player
-
Fixed dedi-server freeze when dying to a press
-
Game
-
Fixed crash when using the teleporter on a dedicated server.
-
Bosses
-
r1: Fixed bosses crashing the game when they were out of bounds.
-
Capture The Puppy
-
r2: Added missing files, fixing missing map collision & missing music.
-
CharEditorMode
-
r2: Fixed bug where the current frame's sound would not be played if you pressed 'play' with that frame selected.
-
r2: Fixed incorrectly localized string 'Face Right' for the weapon offset group box in the frame editor tab.
-
r4: Added a toggle in the 'View' menu to control if Whimsical Star should be visible in Character Preview.
-
ChatMode
-
r2: Fixed the chatbox being buggy when the mouse wasn't inside the game window.
-
ConfigMode
-
r1: Added option to toggle whether or not to request server info from the MatchMaker when regular pinging fails.
-
r1: Fixed crash when clicking on a different input box while another input box was already selected
-
Crash Handler
-
r5: Added 'Game Version' string to crash.log.
-
CustomPlayer
-
r2: Added a flag for animations to always start at frame zero, instead of inheriting the last animation's frame number.
-
r2: Added the ability to specify death & hurt sounds.
-
r3: Raised Custom Frames limit from 64 to 512.
-
r3: New default character: 'Ikachan' by sonc
-
r3: New default character: 'Frog Quote' by 123a
-
r3: New default character: 'DIVI' by Daniel5h311
-
r3: Saving a player with unused custom frames will no longer remove them.
-
r3: Added a check to ensure that Quote is always the first character to load
-
r3: New default character: 'Human Sue' by 123a
-
Dedicated Server
-
r4: Fixed crash when trying to recall music.
-
DemoRecordMode
-
r1: Changed the open keybind to 'Ctrl+D' instead of 'Ctrl+Z'.
-
Fonts
-
r2: Attempted to fix wide text.
-
General
-
r3: Fixed bug where the game window would always open, even if hosting a dedicated server
-
Graphics
-
r5: Fixed 'Fullscreen' not working.
-
Localization
-
r2: Increased security of localized strings.
-
r2: Fixed crash when providing incorrect arguments to the 'c' escape command.
-
r2: Updated localization files.
-
r2: Added missing 'textloc.cfg' file to Japanese localization.
-
r3: Fixed sound volume being reset from changing the game's language.
-
r4: Fixed localized text not showing up correctly in message boxes.
-
r4: Fixed PxLang files not being recompiled when changed, leading to localization errors.
-
r4: Added an option to the pxlang format to control the amount of spaces added after unicode characters appear in the message box.
-
r4: Localized many previously unlocalized strings. Thanks to Nadav for pointing them out.
-
r4: Fixed 'd' not being replaced if included in a localized string with no argument in it.
-
r4: Updated localization files.
-
Maps
-
r4: Implemented the ShadowMap feature.
-
r5: Transformed Hermit Gunsmith's house to be widescreen.
-
NPCs
-
r2: Fixed Basil not spawning in Egg Corridor (Multiplayer-only bug).
-
r2: Fixed clients refocusing NPCs when connected to a server (not hosting) causing weirdness.
-
NetLobby
-
r1: Fixed background map not being set correctly.
-
r1: Fixed bug where changing the selected save file would be ignored unless you did it 3 times
-
NetPlayMenu
-
r4: Fixed inconsistent input box sizes for 'Edit Server' and 'Add Server' dialogs.
-
Networking
-
r1: Returning to lobby now resets all clients' carrying state.
-
r1: Attempted to fix bug where the camera would be stuck for clients when entering Hell
-
r1: Removed UPnP
-
r1: Added a very work-in-progress netplay tutorial.
-
r2: Added disconnect reasons.
-
r4: Fixed the Fishing playerstate causing a disagreement between server and client about where the player should be located.
-
r4: Fixed camera being set to 0, 0 upon joining a server.
-
Player
-
r5: Added check to ensure the player is alive when trying to revive someone.
-
Save Game Menu
-
r3: Fixed crash when trying to back out of the menu when you have no save games.
-
TextScript
-
r2: Added localization support with the <LOC tag.
-
r2: Fixed rare crash.
-
Tutorial
-
r4: Finalized the Tutorial.
-
Weapons
-
r1: Fixed Agility not pushing players if the player using it is facing left
-
CharEditorMode
-
Added a toggle in the 'View' menu to control if Whimsical Star should be visible in Character Preview.
-
Dedicated Server
-
Fixed crash when trying to recall music.
-
Localization
-
Added an option to the pxlang format to control the amount of spaces added after unicode characters appear in the message box.
-
Localized many previously unlocalized strings. Thanks to Nadav for pointing them out.
-
Fixed localized text not showing up correctly in message boxes.
-
Updated localization files.
-
Fixed 'd' not being replaced if included in a localized string with no argument in it.
-
Fixed PxLang files not being recompiled when changed, leading to localization errors.
-
Maps
-
Implemented the ShadowMap feature.
-
NetPlayMenu
-
Fixed inconsistent input box sizes for 'Edit Server' and 'Add Server' dialogs.
-
Networking
-
Fixed camera being set to 0, 0 upon joining a server.
-
Fixed the Fishing playerstate causing a disagreement between server and client about where the player should be located.
-
Tutorial
-
CustomPlayer
-
New default character: 'DIVI' by Daniel5h311
-
New default character: 'Ikachan' by sonc
-
New default character: 'Human Sue' by 123a
-
New default character: 'Frog Quote' by 123a
-
Added a check to ensure that Quote is always the first character to load
-
Raised Custom Frames limit from 64 to 512.
-
Saving a player with unused custom frames will no longer remove them.
-
General
-
Fixed bug where the game window would always open, even if hosting a dedicated server
-
Localization
-
Fixed sound volume being reset from changing the game's language.
-
Save Game Menu
-
Fixed crash when trying to back out of the menu when you have no save games.
-
Capture The Puppy
-
Added missing files, fixing missing map collision & missing music.
-
CharEditorMode
-
Fixed bug where the current frame's sound would not be played if you pressed 'play' with that frame selected.
-
Fixed incorrectly localized string 'Face Right' for the weapon offset group box in the frame editor tab.
-
ChatMode
-
Fixed the chatbox being buggy when the mouse wasn't inside the game window.
-
CustomPlayer
-
Added a flag for animations to always start at frame zero, instead of inheriting the last animation's frame number.
-
Added the ability to specify death & hurt sounds.
-
Fonts
-
Attempted to fix wide text.
-
Localization
-
Fixed crash when providing incorrect arguments to the 'c' escape command.
-
Increased security of localized strings.
-
Added missing 'textloc.cfg' file to Japanese localization.
-
Updated localization files.
-
NPCs
-
Fixed Basil not spawning in Egg Corridor (Multiplayer-only bug).
-
Fixed clients refocusing NPCs when connected to a server (not hosting) causing weirdness.
-
Networking
-
Added disconnect reasons.
-
TextScript
-
Fixed rare crash.
-
Added localization support with the <LOC tag.
-
Bosses
-
Fixed bosses crashing the game when they were out of bounds.
-
ConfigMode
-
Fixed crash when clicking on a different input box while another input box was already selected
-
Added option to toggle whether or not to request server info from the MatchMaker when regular pinging fails.
-
DemoRecordMode
-
Changed the open keybind to 'Ctrl+D' instead of 'Ctrl+Z'.
-
NetLobby
-
Fixed bug where changing the selected save file would be ignored unless you did it 3 times
-
Fixed background map not being set correctly.
-
Networking
-
Returning to lobby now resets all clients' carrying state.
-
Added a very work-in-progress netplay tutorial.
-
Attempted to fix bug where the camera would be stuck for clients when entering Hell
-
Removed UPnP
-
Weapons
-
Fixed Agility not pushing players if the player using it is facing left
-
AI
-
r2: Bots now automatically ready up in the lobby & skip through dialog if they triggered any.
-
Bosses
-
r1: Added an option to customize the boss' health multiplier when boss health scaling is enabled.
-
r1: Added an option to make Bosses' health scale with the current player count.
-
CaveNet
-
r6: Added MatchMaker functionality. This will help people host servers without needing to port forward.
-
r2: Added the ability to host Dedicated Servers.
-
r3: Added score tracking to things like kills, blocks destroyed, NPCs interacted with, etc.
-
Character Editor
-
r4: Fixed crash when opening the About dialog
-
r4: 'Preview Character' now works with any mod selected
-
ChatMode
-
r2: The chat mode is now hidden when returning to the title screen after being on a server.
-
r4: Added cln tag to chat -- This allows you to display a client's name in their team color in chat easily.
-
ConfigMode
-
r6: Fixed dropdown boxes not opening when clicking on them.
-
r1: Added 'EXP Pellets Have Gravity'. This controls whether or not EXP pellets are affected by wind & water currents.
-
r7: Fixed bug where opening the MatchMaker info and getting disconnected from it would not allow you to close the info panel, softlocking the game.
-
Fonts
-
r1: Fixed issue where unloading fonts would destroy font glyph textures twice in a row, causing an SDL error.
-
r1: Fixed rare crash with drawing text.
-
r1: Added more safeguards to avoid fonts not being loaded.
-
GUIs
-
r1: Implemented a GUI that shows the controls when joining a server.
-
r1: Fixed horizontal scrollbar buttons being unclickable.
-
r1: Implemented Cave Editor, accessible via the included Doukutsu - CaveEditor.bat shortcut. Not completed yet.
-
Input
-
r2: Added the ability to accept input even when the window is not active.
-
r2: Reworked controller input manager to allow for up to 4 joypads at a time.
-
r2: Added basic splitscreen support.
-
r2: Added the ability to force the game to use either Keyboard or Joypad input.
-
Localization
-
r7: Added Russian localization files. Big thanks to Nadav for translating!
-
r7: Enabled the ability to localize several strings that were overlooked during localization. Thanks to Nadav for pointing them out.
-
r1: Updated localization files.
-
r7: Added textloc.cfg to all localizations, allowing localizers to easily define bounds for text.
-
r7: Removed text from GUI.png and moved them into a seperate image.
-
r7: Updated localization files.
-
Maps
-
r3: PXA Tilesets can now have 65535 tiles in them instead of just 256. The tileset image must ONLY expand downwards, however. This means that tileset images are limited to 256x65280 in size.
-
Miscellaneous
-
r2: Included multiple .BAT files to allow easier access to new features.
-
r1: Implemented DynamicWindowMode to make creating modes way easier.
-
r2: The hint text when spawning in a server no longer shows until the current text script has stopped
-
r1: Implemented a schedule system to make timing things easier.
-
r5: Removed debug spam.
-
r2: The game now saves console output to a console.log file.
-
Modding API
-
r3: Exposed ExtendedInput to the Mod API.
-
r3: Exposed DynamicWindowMode to the Mod API.
-
NPCs
-
r5: Fixed random NPCs not getting ghosted to connected players.
-
Net Lobby
-
r2: Fixed various bugs when returning to lobbies.
-
r2: Fixed bug where pressing 'Ready' would send the command twice.
-
r2: The chat window now opens when on the Server Lobby screen.
-
NetPlay
-
r4: Fixed background being messed up
-
r7: Added a disclaimer when a local IP is entered into the server list.
-
r7: Server entries now show information for servers that rely on the MatchMaker.
-
Networking
-
r1: Fixed dealing no damage with 1DMG weapons if playing with a 0.5 damage-out multiplier.
-
r7: Fixed the MatchMaker connector not incrementing the attempt number when trying to reconnect to the MatchMaker.
-
r4: Reworked the way in which servers and clients send move packets
-
r4: Fixed NPCs becoming desynced due to NPCs that use RNG and are toggled as ''Don't Update''
-
r1: Spectator Mode no longer allows spectating yourself unless you're dead.
-
PlayerListMode
-
r3: Fixed 'Fetch Player' not working.
-
r3: Fixed 'Revive Player' not working.
-
Save Game Menu
-
r4: Save file slot numbers are now shown over top of save previews
-
r4: Fixed save file slot number centering being slightly offset
-
SpectatorMode
-
r2: Fixed bug where the controls popup would show up even if a text script was being executed.
-
Splitscreen
-
r2: Splitscreen mode implemented -- non-functional yet.
-
r7: This feature is now on the backburner; Disabled splitscreen mode.
-
Weapons
-
r2: Fixed Spur charging incorrectly for clients connected to a server.
-
r1: Implemented weapon templates.
-
r4: Bullets now hit players more reliably
-
r3: Instead of taking damage every frame from a bullet fired by another player, it is instead ignored on all clients it hits after the first hit for the rest of the bullet's life. This way you can still spam shoot a player, but the bullets don't instantly kill them.
-
r2: Fixed Bubbler appearing to fire incorrectly for clients connected to a server.
-
CaveNet
-
Added MatchMaker functionality. This will help people host servers without needing to port forward.
-
ConfigMode
-
Fixed dropdown boxes not opening when clicking on them.
-
NPCs
-
Fixed random NPCs not getting ghosted to connected players.
-
Miscellaneous
-
Bosses
-
Fixed map bosses referencing the incorrect update flags, leading to them not being ghosted to clients.
-
Maps
-
PXA Tilesets can now have 65535 tiles in them instead of just 256. The tileset image must ONLY expand downwards, however. This means that tileset images are limited to 256x65280 in size.
-
Modding API
-
Exposed DynamicWindowMode to the Mod API.
-
Exposed ExtendedInput to the Mod API.
-
CaveNet
-
Added score tracking to things like kills, blocks destroyed, NPCs interacted with, etc.
-
Weapons
-
Instead of taking damage every frame from a bullet fired by another player, it is instead ignored on all clients it hits after the first hit for the rest of the bullet's life. This way you can still spam shoot a player, but the bullets don't instantly kill them.
-
PlayerListMode
-
Fixed 'Fetch Player' not working.
-
Fixed 'Revive Player' not working.
-
Capture The Puppy
-
Fixed puppies sometimes moonjumping when running back to their capture point.
-
Splitscreen
-
Splitscreen mode implemented -- non-functional yet.
-
ChatMode
-
The chat mode is now hidden when returning to the title screen after being on a server.
-
CaveNet
-
Added the ability to host Dedicated Servers.
-
AI
-
Bots now automatically ready up in the lobby & skip through dialog if they triggered any.
-
Weapons
-
Fixed Spur charging incorrectly for clients connected to a server.
-
Fixed Bubbler appearing to fire incorrectly for clients connected to a server.
-
Net Lobby
-
The chat window now opens when on the Server Lobby screen.
-
Fixed bug where pressing 'Ready' would send the command twice.
-
Fixed various bugs when returning to lobbies.
-
Input
-
Reworked controller input manager to allow for up to 4 joypads at a time.
-
Added the ability to accept input even when the window is not active.
-
Added the ability to force the game to use either Keyboard or Joypad input.
-
Added basic splitscreen support.
-
SpectatorMode
-
Fixed bug where the controls popup would show up even if a text script was being executed.
-
Miscallaneous
-
The game now saves console output to a console.log file.
-
Included multiple .BAT files to allow easier access to new features.
-
The hint text when spawning in a server no longer shows until the current text script has stopped
-
Options
-
Added 'EXP Pellets Have Gravity'. This controls whether or not EXP pellets are affected by wind & water currents.
-
Capture the Puppy
-
Fixed a rare crash when closing the game.
-
Networking
-
Fixed dealing no damage with 1DMG weapons if playing with a 0.5 damage-out multiplier.
-
Spectator Mode no longer allows spectating yourself unless you're dead.
-
Bosses
-
Added an option to make Bosses' health scale with the current player count.
-
Added an option to customize the boss' health multiplier when boss health scaling is enabled.
-
GUIs
-
Implemented a GUI that shows the controls when joining a server.
-
Implemented Cave Editor, accessible via the included Doukutsu - CaveEditor.bat shortcut. Not completed yet.
-
Fixed horizontal scrollbar buttons being unclickable.
-
Fonts
-
Fixed issue where unloading fonts would destroy font glyph textures twice in a row, causing an SDL error.
-
Added more safeguards to avoid fonts not being loaded.
-
Fixed rare crash with drawing text.
-
Weapons
-
Implemented weapon templates.
-
Localization
-
Updated localization files.
-
Miscallaneous
-
Implemented DynamicWindowMode to make creating modes way easier.
-
Implemented a schedule system to make timing things easier.
-
General
-
Implemented UNICODE support.
-
Increased the maximum map name length from 16 to 32.
-
If GuiStyle.cfg does not exist in a mod's directory, then it will be loaded from data instead.
-
Updated save profiles to include extended stage selection array.
-
Networking
-
Different builds of CSMP (QA, release, debug) can now connect to each other as long as both parties have the same CaveNet version.
-
Fixed crash when trying to host a server.
-
Fixed a bunch of issues with things happening multiple times (like fading in multiple times).
-
Fixed the way commands are issued to the server from the Player List.
-
Fixed crash when trying to open the map / inventory menu whilst the Emote menu was open.
-
Fixed rare crash on disconnect.
-
Fixed dead players whose bodys' were in a different stage being revived only to be frozen in place.
-
Fixed friendly fire not working correctly.
-
Fixed credits not being rendered correctly for clients.
-
Fixed the ability to get out of Spectator Mode while dead if the map were to change.
-
Removed the ability to revive dead players using a health refill point if the dead player's body was in another stage.
-
TextScript
-
Added <SSO -- This command allows modders to set the portal display offset in the teleportation menu. This also affects the starting index that <PS+ will start searching for empty portal slots at.
-
NPCs
-
Misery now attacks all players when summoning a Falling Block.
-
Added a Basil Generator to Egg Corridor. This will spawn a seperate Basil for every client, effectively removing the ability to cheese the stage.
-
H/V Triggers no longer track dead players, but this behaviour can be re-enabled by enabling the Option 3 flag in CaveEditor.
-
Bosses
-
Fixed map bosses dying instantly.
-
UI
-
Fixed not being able to press F5 to toggle nameplates whilst in Spectator Mode.
-
Fixed not being able to toggle noclip in Spectator Mode.
-
Fixed bug where you couldn't use the chat window while in the teleporter menu.
-
Changed the Minimap gui to a BaseModeInstance object.
-
Pressing Escape now closes the map GUI instead of opening the escape menu.
-
Pressing Escape now closes the inventory GUI instead of opening the escape menu.
-
Fixed crash when trying to replace text in text boxes.
-
Modding
-
Added functions to help edit boss health.
-
Options
-
Implemented keybind editor.
-
Set default value for Enable UPnP to false to avoid unnecessary confusion when hosting (and because UPnP currently does not work properly anyways).
-
Lowered default sound volume from 90 to 65.
-
Localization
-
Implemented localization support.
-
Added English as a default localization file.
-
Added Japanese as a default localization file.
-
Added Spanish as a default localization file. (Thanks sonc!)
-
Crash Reporter
-
Implemented a new Bug List Communication feature into CSMPCrashReporter.exe.
-
Fixed weird window size bug when opening the crashlog reporter.
-
Character Selector
-
Fixed the default candidate for previewing always being the first entry in the list.
-
Fixed every loaded characters' footstep sounds playing all at once, despite only one character being previewable at a time.
-
Fixed buttons not automatically fitting their text if they start out too small.
-
Removed stray pixels from the GUI.
-
Bug Lister
-
Fixed memory leak.
-
Fixed crash on loading too many bug reports.
-
Miscallaneous
-
Fixed occasional crash when trying to switch mods from the main menu.
-
Fixed crash in GetTextWidth and GetTextHeight when trying to size a string with weird unicode characters in it.
-
The debug window will now be included in release builds for modders to use. Press Shift+F2 anywhere to toggle it (only works when hosting a server / in singleplayer / at title screen).
-
Fonts are now included with the default installation for people who somehow do not have Courier New installed.
-
CaveNet
-
Fixed the way commands are issued to the server from the Player List.
-
Fixed crash when trying to open the map / inventory whilst the Emote menu was open.
-
Fixed rare crash on disconnect.
-
Fixed dead players whose bodys' were in a different stage being revived only to be frozen in place.
-
Fixed friendly fire not working correctly.
-
Fixed credits not being rendered correctly for clients.
-
Fixed the ability to get out of Spectator Mode while dead if the map were to change.
-
Removed the ability to revive dead players using a health refill point if the dead player's body was in another stage.
-
UI
-
Fixed not being able to press F5 to toggle nameplates whilst in Spectator Mode.
-
Fixed not being able to toggle noclip in Spectator Mode.
-
NPCs
-
Misery now attacks all players when summoning a Falling Block.
-
Added a Basil Generator to Egg Corridor. This will spawn a seperate Basil for every client, effectively removing the ability to cheese the stage.
-
H/V Triggers no longer track dead players, but this behaviour can be re-enabled by enabling the Option 3 flag in CaveEditor.
-
Bosses
-
Fixed map bosses dying instantly.
-
Miscallaneous
-
The debug window will now be included in release builds for modders to use. Press Shift+F2 anywhere to toggle it (only works when hosting a server / in singleplayer / at title screen). More tabs will be coming next update.
-
Fonts are now included with the default installation for the people who somehow do not have Courier New installed.
-
Localization
-
(Probably) finished mapping localization strings for every displayed string in the game.
-
Fixed crash when loading .pxlang files.
-
Fixed a few pxlang compiler issues.
-
Fixed a crash when clients joined due to a badly formed GetLocaleString call.
-
Updated localization files.
-
Character Selector
-
Fixed the default candidate for previewing always being the first entry in the list.
-
Fixed every loaded characters' footstep sounds playing all at once, despite only one character being previewable at a time.
-
Fixed buttons not automatically fitting their text if they start out too small.
-
Removed stray pixels.
-
Bug Lister
-
Fixed memory leak.
-
Fixed crash on loading too many bug reports.
-
General
-
Implemented UNICODE support.
-
Localization
-
Implemented localization support.
-
Networking
-
Fixed a bunch of issues with things happening multiple times (like fading in multiple times).
-
MiniMap
-
Implemented a new Bug Lister feature into CSMPCrashReporter.exe. Use it to communicate on specific bug reports. Please.
-
General
-
Updated save profiles to include extended stage selection array.
-
TextScript
-
Added <SSO -- This command allows modders to set the portal display offset in the teleportation menu. This also affects the starting index that <PS+ will start searching for empty portal slots at.
-
MiniMap
-
Changed this gui to a BaseModeInstance object.
-
Modding
-
Added functions to help edit boss health.
-
Crash Reporter
-
Fixed weird window size bug when opening the crashlog reporter.
-
General
-
Increased the maximum map name length from 16 to 32.
-
If GuiStyle.cfg does not exist in a mod's directory, then it will be loaded from data instead.
-
Options
-
Implemented keybind editor.
-
Map GUI
-
Pressing Escape now closes the map GUI instead of opening the escape menu.
-
Inventory GUI
-
Pressing Escape now closes the inventory GUI instead of opening the escape menu.
-
General
-
VideoTexture now clamps texture sizes to the maximum sizes to help avoid SDL error messages.
-
Character Editor
-
Fixed carry offset & puppy offset values not being initialized when creating a new frame.
-
Net
-
Fixed players not spawning correctly on the NetLobby menu.
-
Fixed crash when closing the game while in the NetLobby in Capture The Puppy.
-
Crash Reporter
-
Added a minimum size to the Crash Reporter window.
-
Fixed additional game crash when generating a crash report larger than 1 gb.
-
Sound
-
Fixed PlaySoundObject2D incorrectly playing sounds that were to the right of the screen boundaries.
-
Added directional sound support.
-
Demo Player
-
Fixed crash when playing demos that have NPCs with character IDs that are out of bounds.
-
General
-
Added a Report Bug button to the escape menu.
-
Added an automated crashlog reporter.
-
GUI
-
Teams are now shown in the Player List.
-
NPCs
-
Fixed Bute w/ Sword not focusing other players.
-
Fixed Quake & Block Generator NPC spawning non-ghost NPCs client-side, likely causing many weird game issues.
-
Capture The Puppy
-
Added a Booster bar to display how much booster you have left.
-
Added a basic Capture The Flag HUD, displaying each team's points.
-
Chinfish
-
Fixed Chinfish floating to the top of the water when connecting to a server already in Reservoir.
-
General
-
Added MP3, OGG, Pxtone & WAV music support.
-
Implemented animated tile support.
-
Fixed data.dll being overwritten with ctp.dll by accident on compilation.
-
Music
-
Converted all CTP music to OGG to avoid timing issues. This is just an experiment and may be removed in the future.
-
NetPlay
-
Implemented rudimentary rollback netcode.
-
You can no longer see players who are not apart of your team on the minimap.
-
Fixed player movement updates being sent to everyone else too slowly, resulting in jittery movement.
-
Fixed a crash when joining a team whilst connecting to a server.
-
Fixed NetPlay menu background loading incorrectly if the currently loaded mod isn't vanilla CSMP.
-
Options
-
Added an Enable Lag Smoothing option to Server Settings to toggle rollback netcode.
-
Networking
-
Changed the way NPCs are ghosted to clients. Again.
-
Fixed bosses using the incorrect NPC table when checking if they should be ghosted or not.
-
Capture The Puppy
-
Added resupply cabinets.
-
Added 'Kill Zone' NPC.
-
Spawn doors now shimmer when you get close to them.
-
You can now only shoot through spawn doors if a member of the same team as the spawn door is standing close to it.
-
Fixed crash when leaving the server while carrying a puppy.
-
General
-
Implemented animated tile support.
-
NetPlay
-
Fixed crash when joining a team whilst connecting to a server.
-
Capture The Puppy
-
Added a Grasstown-themed map. This is now the default map that you load into for the time being.
-
The 'dbg-mod.pxmod' is now included in this release.
-
Fixed carets not appearing when shooting an enemy team-specific tile.
-
Fixed weapon spawns giving ammo even after being picked up.
-
Fixed being able to drop puppies into spawns.
-
Re-worked puppy node save system so it doesn't clutter up maps' configuration files.
-
Made the Spur consume ammo more sensibly.
-
General
-
Fixed a memory leak issue with SpecialTextCache.
-
Fixed not being able to go fullscreen.
-
Fixed UI textures being free'd when alt-tabbing out of fullscreen.
-
Players
-
Dropping carried players now does a spatial check to see if the carried player can be dropped where they are.
-
Weapons
-
Fixed 'Empty!' only appearing once when hosting a server & firing a weapon with no ammo.
-
Fixed auto-recharge weapons not updating on the HUD when hosting a server.
-
Options
-
Fixed Whimsical Star friendly fire mode not working correctly.
-
Gamemodes
-
Added the Capture The Puppy gamemode mod.
-
Character Editor
-
Added 'IDLE_SHOOT', 'IDLE_LOOK_UP_SHOOT', 'WALK_SHOOT', 'WALK_LOOK_UP_SHOOT', 'FALL_SHOOT', 'FALL_LOOK_UP_SHOOT', 'FALL_LOOK_DOWN_SHOOT', 'JUMP_SHOOT', 'JUMP_LOOK_UP_SHOOT', 'JUMP_LOOK_DOWN_SHOOT', 'CARRIED_IDLE_SHOOT', 'CARRIED_WALKING_SHOOT', 'CARRIED_LOOK_UP_SHOOT' and 'CARRIED_LOOK_DOWN_SHOOT'. These all have subsitute animations set, so you don't have to utilize these if you don't want to..
-
General
-
Saving the game will now also save whether or not collectables are shown on screen.
-
Sound
-
Fixed game freezing due to the music thread hanging.
-
Maps
-
Multiple players can now pick up puppies at the same time.
-
Fixed the camera forcing focus on the carried Curly NPC in Sacred Ground - B1.
-
TextScript
-
Fixed <COJ not working correctly in multiplayer.
-
Fixed <ITJ not working correctly in multiplayer.
-
Fixed bug where the hud would display anybody's collectable count on screen, rather than only your own.
-
Entities
-
Fixed H/V trigger moving past solid walls whilst tracking a player.
-
Players
-
Fixed becoming a zombie after being revived from getting a heart whilst being carried by another player.
-
Fixed emotes being apart of the player nametag layer, causing them to be hidden if names are hidden with F5.
-
Character Editor
-
Implemented the ability to change the offset at which carried puppies & players are rendered at, per-animation frame.
-
Fixed weapons getting drawn incorrectly when the 'Face Right' checkbox is ticked.
-
DLL Modding
-
Exposed the flag system to the API.
-
Added the ability to create TSC commands per-mod.
-
General
-
Changed the way crash logs are generated.
-
NPCs
-
Fixed Dragon NPC using incorrect player frames.
-
Characters
-
Fixed characters not following the 'Show Weapon' custom frame option.
-
Fixed Quote's dragon sprites.
-
Fixed default frames for 'ANIMATION_MASK_FISH_RIGHT_IDLE' and 'ANIMATION_MASK_FISH_LEFT_IDLE'.
-
Fixed the drowning animation not playing when drowning in singleplayer.
-
Character Editor
-
Added a warning prompt when trying to load a player whose Face.png/FaceMask.png or Normal.png/Mask.png image sizes mismatch.
-
Added training dummies to the character preview (Art by Jade).
-
Fixed dragon preview being offset incorrectly by one pixel.
-
Added 'RIDING_DRAGON' animation. This has a subsitute animation set, so you don't have to utilize it if you don't want to.
-
Added a tooltip explanation for elements in the Animation Editor for when everything is disabled due to the selected animation being set to be subsituted.
-
Added the ability to set an offset for each frame of an animation (with a limit of '-7' to '7' for both X and Y axes).
-
Characters
-
Characters' mimiga mask animations are now subsituted by their non-mimiga-mask animations by default.
-
Character Selector
-
The character preview box now uses the character's walking animation.
-
Character Editor
-
Added 'ANIMATION_DROWNED'.
-
Added an animation configuration menu.
-
Added the ability to set an animation's subsitute animation. If a subsitute is set, then the subsitute animation will play instead of the actual animation.
-
Added the ability to define an animation's loop start point.
-
Fixed issue where you could not set an animation to loop / not loop.
-
Fixed slider tooltips being incorrectly rendered.
-
Fixed crash when toggling the Mimiga Mask flag for a custom frame.
-
Players
-
Fixed custom frames' flags being ignored, resulting in random behavior.
-
Character Editor
-
Added Balrog and Dragon to the character preview area.
-
Hovering the mouse over the animation selection dropdown box will now show a description of the animation.
-
Creating a new frame will now copy the previously selected frame's information & scroll to the new frame in the frame list.
-
Fixed case where pressing 'New' would not enable the 'Save' and 'Close' options.
-
Fixed creating a new player crashing the editor when opening the animation editor.
-
Fixed crash when removing all frames from an animation.
-
Fixed issue where mimiga mask fishing frames were not being drawn. For custom frames, use the 'Mimiga Mask' frame flag.
-
Fixed issue where you could drown in the character preview.
-
Fixed issue where previewing your character whilst typing in a textbox would lock your input.
-
UI
-
Updated the max text size of DropdownBoxInfo to avoid crashes with long frame names.
-
General
-
Fixed weapon placement issues when playing with a larger character.
-
Character Editor
-
Implemented the Character Editor. Access it via the Options Menu.
-
Implemented the ability to create custom frames.
-
Implemented the ability to import custom .PXT and .WAV sound effects for player animations.
-
CaveNet
-
The game will now use the event executor's player position when saving if the host is dead.
-
Stages
-
Fixed vanilla stage loading not loading .pxn (Map Zone) files.
-
Player States
-
Tackle (Stunned) now pushes the player to the left and right if they are stuck on a fan.
-
Tackle (Stunned) now grants invulnerability to players until they get up.
-
Agility now stuns the player if they take damage.
-
You can now tackle NPCs to deal damage.
-
Options
-
Added "Custom Characters Sounds" to the Options Menu.
-
Added an option to toggle NPC damage for Agility.
-
Re-implemented the Fullscreen display mode.
-
UI
-
Fixed several font rendering issues.
-
Every mode now uses hardware acceleration. This should provide a significant speed upgrade whilst in GUIs.
-
Fixed loading dialog in File Select Menu rendering outside of the scroll box.
-
Added a scrollbar to dropdown boxes.
-
Dropdown box items are now scaled to the width of the dropdown box for consistent hitboxes.
-
Fixed visual issue with the File Select mode where save game slots would still highlight, even if your mouse was inside of the mod selection dropdown box.
-
Fixed bug where dropdown boxes would render every item's text, even if it was off-screen, causing massive lag in some cases.
-
Assets
-
Removed unused Tackle animations from Caret.png.
-
Weapons
-
Fixed case where CountBulletNum and CountArmsBullet would return the wrong result, resulting in spammable weapons.
-
General
-
The game will now fallback to .pxm, .pxe and .tsc map files if no .pxcm is present for a map.
-
Fonts
-
Fixed font renderer crashing when trying to render a unicode character.
-
CaveNet
-
Implemented UPnP support; Users with port forwarding issues should now be able to host servers if their routers support it.
-
Reviving players from the Player List will now teleport them to you if they died on a different map.
-
Fixed several camera bugs related to the Ironhead Fight.
-
Fixed bug where you couldn't lower the Fishing Pole.
-
Fixed bug where interacting with NPCs would allow dead players to take damage.
-
File Select Menu
-
Added the ability to see NPCs in the save file previews.
-
Added an outline to the currently selected save file.
-
Added asynchronous preview loading. This will help those with tons of save files.
-
Fixed bug where breakable tiles did not get drawn in place of 'SN'.
-
Fixed bug where the menu wouldn't automatically select the most recent save file when opened.
-
Options
-
Added an option to toggle UPnP.
-
The Server Port option is now shown in the Options Menu instead of only the Server Settings menu.
-
NPCs
-
NPCs that represent the player are now positioned according to the size of the currently selected character's viewbox size.
-
Weapons
-
Fixed incorrect Bubbler behavior in singleplayer.
-
Fixed rare crash involving using the Level 3 Machine Gun when carrying somebody.
-
UI
-
Navigating through the Escape Menu with a keyboard / joypad now allows the selection to wrap.
-
Assets
-
Moved new elements from Loading.png to GUI.png to make porting mods easier.
-
General
-
Dying now loads the last saved game (if it exists).
-
Character Selector
-
Refreshing characters will now reset all demo players' characters.
-
CaveNet
-
Fixed getting a heart pickup whilst being dead reviving the player into a limbo state.
-
Implemented proper fishing hook collision.
-
Fixed Fishing Pole crashing the game due to a null pointer.
-
NPCs
-
Fixed Quote & Curly riding Balrog NPC having Curly being rendered as Quote.
-
UI
-
Fixed instances where closing the Character Selector and Config Mode would leave an artifact in the background.
-
General
- Changed the crash.log format to include more information.
-
Game Demos
- Due to the new playerstate system, game demos recorded before this point no longer work.
-
Assets
- Updated face sprites for Quote and Mimiga characters. Thanks, JadeMonsuta!
- Moved the fishing hook sprite from Bullet.png to GUI.png so porting pre-made mods is a little easier.
-
CaveNet
- The camera no longer goes to the top left corner if you're being carried and the map changes.
- Reviving players now shows the savior's name in chat.
- Implemented the player state system. Using things like agility, fishing pole, or dying will hopefully be more stable now.
-
UI
- Fixed Nikumaru time on the Title Screen being displayed incorrectly.
- The portrait in Spectator Mode now shakes when the target takes damage. This can be disabled in options.
- Changed the way the Dropdown Box allocates items.
- Added the Character Selection Mode. Access it via the Options Menu. This can be used to enable & disable characters.
-
TextScript
- Added the ability to change map events' targets. This means you can choose whether commands like <LI+ go to everyone, or if it just goes to one player.
- Added the <TAR command. This allows scripters to switch the target on the fly.
-
General
-
Fixed several crashes & heap corruption issues.
-
Bosses
-
Fixed Balfrog not being shootable for non-hosting server clients.
-
UI
-
Added more tooltips to the NetPlay Menu.
-
Fixed a ping-related crash on the NetPlay Menu.
-
Made the message box w/ input box combo easier to control.
-
CaveNet
-
Added failsafes to boss packets to help mitigate boss-related crashes.
-
Added the ability to password servers.