Dec 2, 2013 at 8:40 PM
Join Date: Dec 31, 2011
Location: United States
Posts: 2326
Age: 28
Pronouns: he/him
Download here: Plus Porter v1.1.0.1
Version history:
Plus Porter is a user-friendly GUI application that facilitates porting mods to Cave Story+. The program works by letting the user select all the modified resources from said mod and packages them into a patch that can be distributed to others and patched into a Cave Story+ installation with the click of a button. While some aspects of this could be done manually, there are some things that can NOT be done manually but are made possible with Plus Porter, such as legally distributing ports with partially edited spritesheets while maintaining double resolution all throughout. It should be noted that use of Plus Porter requires that you have a valid installation of Cave Story+ on your hard drive.
Here are some screenshots:
Here are some sample CS+ ports to demonstrate Plus Porter's functionality:
AGTP Story - edited scripts courtesy of Loaffy
Pyramid - by Noxid and Lace
WTF Challenge - by GIRakaCHEEZER (ported by Aar)
Labyrinth Escape - by metalsonic71 (utilizes partially modified spritesheet)
WAHAHA Story
Cave Story 2
Cave Story with a Fourth Ending
Known issues:
Version history:
Plus Porter v0.4.0.0 (ORIGINAL VERSION) 12/2/2013
Plus Porter v0.5.0.0 1/21/2014 Changes:
Plus Porter v0.5.1.0 3/16/2014 Changes:
Plus Porter v0.6.0.0 5/9/2014 Changes:
Plus Porter v0.7.0.0 6/15/2014 Changes:
Plus Porter v0.7.1.1 6/26/2014 Changes:
Plus Porter v0.8.0.0 7/4/2014 Changes:
Plus Porter v0.9.0.0 9/3/2014 Changes:
Plus Porter v1.0.0.0 10/18/2014 Changes:
Plus Porter v1.0.0.1 11/20/2014 Changes:
Plus Porter v1.0.2.0 12/20/2014 Changes:
Plus Porter v1.0.5.0 1/17/2015 Changes:
Plus Porter v1.0.5.1 3/26/2015 Changes:
Plus Porter v1.1.0.0 5/6/2015 Changes:
Plus Porter v1.1.0.1 8/11/2015 (CURRENT VERSION) Changes:
Plus Porter v0.5.0.0 1/21/2014 Changes:
-Fixed the glitch with some Cave Story+ installations where the error "Credit19.bmp not found!" is shown when opening up a Cave Story+ directory (Thanks to ThePotatoWhisperer for reporting)
-Implemented a preferences window
-Made it display the name of the current port opened in the main window title
-Made the program detect changes being made to the port, and prompt you to save before exiting, opening another port, or starting a new port, if it has unsaved changes
-Added a progress bar window for when an exe is being loaded to extract map data
-Added a progress bar for when a port is getting applied
-Made it able to open ports that are already installed
-Made it automatically detect if the user is trying to apply a port with a name and/or folder name identical to one already installed, and handle the situation accordingly
-Implemented the "Replace miscellaneous file" feature
-Implemented a preferences window
-Made it display the name of the current port opened in the main window title
-Made the program detect changes being made to the port, and prompt you to save before exiting, opening another port, or starting a new port, if it has unsaved changes
-Added a progress bar window for when an exe is being loaded to extract map data
-Added a progress bar for when a port is getting applied
-Made it able to open ports that are already installed
-Made it automatically detect if the user is trying to apply a port with a name and/or folder name identical to one already installed, and handle the situation accordingly
-Implemented the "Replace miscellaneous file" feature
-Fixed the problem of not properly loading mapdata from edited exes. I could have sworn I had it working before, but whatever. Thanks goes to Noxid for letting me use his mapdata-extracting code which I modified to suit my needs. The map list now populates instantly rather than having a progress bar.
-Fixed the glitch where it would automatically save your port in the selected directory even if you click cancel in the filechooser while using the "save as" feature.
-Fixed the error which occurred when opening ports that take the form of an installed port, but are not listed on a local "mods.txt" file.
-Removed the cancel button from the port properties window if you selected "New port..." from the file menu, because clicking it under those circumstances messes up a bunch of stuff and there's no point in doing it anyway.
-Made it so that the user can manage the order of ports in their CS+ directory even if there's no port open.
-Made it so that the user can uninstall ports with the click of a button.
-Made it so that the "Apply port" option is always grayed out upon starting a new port.
-Added the widgets necessary for replacing miscellaneous images, credit images, backgrounds, and NPC tilesets.
-Fixed the glitch where the program would fail to complete the applying process on a port which did not include a "stage.tbl" file.
-Fixed the error which occurred when opening ports that take the form of an installed port, but are not listed on a local "mods.txt" file.
-Removed the cancel button from the port properties window if you selected "New port..." from the file menu, because clicking it under those circumstances messes up a bunch of stuff and there's no point in doing it anyway.
-Made it so that the user can manage the order of ports in their CS+ directory even if there's no port open.
-Made it so that the user can uninstall ports with the click of a button.
-Made it so that the "Apply port" option is always grayed out upon starting a new port.
-Added the widgets necessary for replacing miscellaneous images, credit images, backgrounds, and NPC tilesets.
-Fixed the glitch where the program would fail to complete the applying process on a port which did not include a "stage.tbl" file.
-Fixed the glitch with the item and weapon selectors in the port properties window where the item or weapon ID would under some circumstances not properly refresh, reset, or load
-Fixed the glitch where it would fail to overwrite the files if there was an existing folder with the same name as that which the port has
-Made it so that the apply port window redesigns itself appropriately if you delete the mod you were intending to apply
-Fixed the very minor bug of the Org, Stage, and Npc folders getting created when they shouldn't be if you start a new mod after having one open that has those
-Made it so that the NICALiS Graphics filtering window doesn't refresh unless it comes across an image that has potential matches. That way the process completes a bit faster
-Made the progress bar for applying ports much more precise
-Fixed the glitch where an image whose filters reduced it to a blank image got corrupted
-Enabled the program to delete a folder when uninstalling a port and made this toggleable in preferences. Please note that this doesn't always work, I still need to make this more reliable
-Improved the automatic exe detection when loading a stage folder such that it will detect ones with dissenting filenames
-Made the preview in the replace image widget display the image you've used as a replacement under all conditions, and in its unfiltered state
-Added the widget that enables the user to add backgrounds, NPC Tilesets, and credit images without replacing any existing ones
-Modified the replace resource window such that you can undo a replace by clicking to replace a file when the field for the path for the file is blank
-Added the widgets necessary for adding and replacing tilesets
-Removed "Face picture" from the add and replace sub-menus, as plans for those features have been canceled since they would have been redundant and unnecessary
-Expanded the capability of the "Replace Stage Folder" feature so that you can now replace tilesets in the process, and also specify which file types you want to ignore, if any
-Fixed the glitch where it would fail to overwrite the files if there was an existing folder with the same name as that which the port has
-Made it so that the apply port window redesigns itself appropriately if you delete the mod you were intending to apply
-Fixed the very minor bug of the Org, Stage, and Npc folders getting created when they shouldn't be if you start a new mod after having one open that has those
-Made it so that the NICALiS Graphics filtering window doesn't refresh unless it comes across an image that has potential matches. That way the process completes a bit faster
-Made the progress bar for applying ports much more precise
-Fixed the glitch where an image whose filters reduced it to a blank image got corrupted
-Enabled the program to delete a folder when uninstalling a port and made this toggleable in preferences. Please note that this doesn't always work, I still need to make this more reliable
-Improved the automatic exe detection when loading a stage folder such that it will detect ones with dissenting filenames
-Made the preview in the replace image widget display the image you've used as a replacement under all conditions, and in its unfiltered state
-Added the widget that enables the user to add backgrounds, NPC Tilesets, and credit images without replacing any existing ones
-Modified the replace resource window such that you can undo a replace by clicking to replace a file when the field for the path for the file is blank
-Added the widgets necessary for adding and replacing tilesets
-Removed "Face picture" from the add and replace sub-menus, as plans for those features have been canceled since they would have been redundant and unnecessary
-Expanded the capability of the "Replace Stage Folder" feature so that you can now replace tilesets in the process, and also specify which file types you want to ignore, if any
-Made it so that the close button on the port properties window doesn't make the window close if you've just started a new port, for the same reason I removed the cancel button under those circumstances
-Packaged the program into an exe so that I was able to set a JVM property that fixes the glitch where the graphics filtering window would crash if the image in question had clumps that were too large
-Packaged the program into an exe so that I was able to set a JVM property that fixes the glitch where the graphics filtering window would crash if the image in question had clumps that were too large
-Made it so that when replacing a stage folder, each file is inspected to make sure it isn't identical to its base counterpart and if so it's skipped
-Added a progress bar for when a stage folder is being replaced, in order to compensate for the larger amount of time replacing a stage folder now takes due to inspecting each file
-Added a progress bar for when a port is being saved
-Fixed the glitch where replacing just images from a stage folder would mess stuff up. I could have sworn I had this all working in the previous release, but it's all working now
-Made it so that, when applying a port, the program appends any custom face pictures in a mod to the base Face.bmp since that's the only one the game reads from, and changes all <FAC commands in said mod's scripts accordingly
-Changed the characters used in the file replacing window to ones that can't appear in filenames so that using obscure characters in your paths or files won't mess anything up
-Implemented the widgets necessary for adding and replacing individual maps
-Fixed the glitch where the program would fail to overwrite existing files when saving your port
-Enabled the user to preview images and maps loaded up in a port
-Added a progress bar for when a stage folder is being replaced, in order to compensate for the larger amount of time replacing a stage folder now takes due to inspecting each file
-Added a progress bar for when a port is being saved
-Fixed the glitch where replacing just images from a stage folder would mess stuff up. I could have sworn I had this all working in the previous release, but it's all working now
-Made it so that, when applying a port, the program appends any custom face pictures in a mod to the base Face.bmp since that's the only one the game reads from, and changes all <FAC commands in said mod's scripts accordingly
-Changed the characters used in the file replacing window to ones that can't appear in filenames so that using obscure characters in your paths or files won't mess anything up
-Implemented the widgets necessary for adding and replacing individual maps
-Fixed the glitch where the program would fail to overwrite existing files when saving your port
-Enabled the user to preview images and maps loaded up in a port
-Fixed the glitch where the map preview would improperly generate if the mod's map being viewed had a custom .pxm file, which in effect also fixed the glitch where maps wouldn't display if you'd just edited a map's properties
-Made it so that the add map feature is greyed out if 95 or more maps are on the list
-Made it so that a warning is displayed when a map list is loaded that exceeds 95 maps
-Made it so that clicking the Ok button on the port properties window will only make the main window refresh if you're starting a new port.
-Made it so that your port won't be marked as having unsaved changes if you click ok on the port properties window but didn't actually make any changes.
-Made the replacement window focus on the proper item upon opening and refreshing when clicking the "Replace" button.
-Made it so that, when the main window refreshes, the selected items in all the scrollpanes are always visible.
-Fixed the glitch where a "null" folder would be created if you messed with the "Manage ports" option at all
-Fixed the glitch where it would sometimes fail to fully delete the accompanying folder of a mod that's being uninstalled
-Enabled the user to view maps even if no stage.tbl file has been loaded.
-Removed the planned option for adding music without replacing it because I discovered that it's impossible in CS+ mods without hacking the exe
-Fixed the minor graphical error where all the replace buttons on the main window, except for the one below the maps scrollpane, protruded one pixel to the right past the scrollpanes that they were beneath.
-Made it so that, when clicking the accept button on the replace resource window, your port only gets marked as having unsaved changes if files were replaced
-Synchronized the clickability of all the add and replace buttons on the main window with their edit menu counterparts
-Implemented the widgets necessary for replacing music.
-Made it so that the add map feature is greyed out if 95 or more maps are on the list
-Made it so that a warning is displayed when a map list is loaded that exceeds 95 maps
-Made it so that clicking the Ok button on the port properties window will only make the main window refresh if you're starting a new port.
-Made it so that your port won't be marked as having unsaved changes if you click ok on the port properties window but didn't actually make any changes.
-Made the replacement window focus on the proper item upon opening and refreshing when clicking the "Replace" button.
-Made it so that, when the main window refreshes, the selected items in all the scrollpanes are always visible.
-Fixed the glitch where a "null" folder would be created if you messed with the "Manage ports" option at all
-Fixed the glitch where it would sometimes fail to fully delete the accompanying folder of a mod that's being uninstalled
-Enabled the user to view maps even if no stage.tbl file has been loaded.
-Removed the planned option for adding music without replacing it because I discovered that it's impossible in CS+ mods without hacking the exe
-Fixed the minor graphical error where all the replace buttons on the main window, except for the one below the maps scrollpane, protruded one pixel to the right past the scrollpanes that they were beneath.
-Made it so that, when clicking the accept button on the replace resource window, your port only gets marked as having unsaved changes if files were replaced
-Synchronized the clickability of all the add and replace buttons on the main window with their edit menu counterparts
-Implemented the widgets necessary for replacing music.
-Made the "Save port as..." feature jump to the folder local to the last opened port, and the open feature as well if the last opened port does not appear to exist anymore
-Enabled the user to remove resources that they have replaced or added via right-clicking on the main window
-Enabled the user to scan already loaded images for NICALiS graphics by right-clicking on them on the main window
-Enabled the user to load data from the exe for arms_level.tbl, bullet.tbl, and wave.dat via the "Replace Miscellaneous File" feature.
-Fixed the glitch where a replaced tileset image would not display in the replace tileset preview if both the image and a pxa file were being replaced.
-Fixed the glitch where map previews would be garbled if the tileset the map used had been filtered
-Fixed the glitch where the map preview wouldn't generate under some circumstances if a map's properties had been messed with
-Added a wizard that makes almost the entire port for you with the click of a button
-Fixed the glitch where the "Add Credit Image" widget wouldn't automatically suggest a vacant credit image slot upon opening.
-Enabled the user to remove resources that they have replaced or added via right-clicking on the main window
-Enabled the user to scan already loaded images for NICALiS graphics by right-clicking on them on the main window
-Enabled the user to load data from the exe for arms_level.tbl, bullet.tbl, and wave.dat via the "Replace Miscellaneous File" feature.
-Fixed the glitch where a replaced tileset image would not display in the replace tileset preview if both the image and a pxa file were being replaced.
-Fixed the glitch where map previews would be garbled if the tileset the map used had been filtered
-Fixed the glitch where the map preview wouldn't generate under some circumstances if a map's properties had been messed with
-Added a wizard that makes almost the entire port for you with the click of a button
-Fixed the glitch where the "Add Credit Image" widget wouldn't automatically suggest a vacant credit image slot upon opening.
-Fixed the glitch where the "Save" and "Save as" menu options would not always work.
-Made the graphics filtering wizard not skip over casts.bmp if that's the image being replaced
-Made the auto-port wizard properly replace global scripts
-Fixed the glitch where the auto-port wizard would get the numbers of credit art illustrations wrong past 12.
-Made the map title to the "Studio Pixel Presents" map default to "Studio Pixel" if it's set to "u" when loading mapdata from a freeware exe
-Made it so that custom Face.bmp images are properly handled if the user chooses to leave the non-replaced slots blank to save space.
-Made the map scrolltype and special boss id be included in the stage.tbl file, which fixed numerous problems previously present in some ports generated by Plus Porter.
-Modified the applying process to properly handle custom items.
-Made the auto-port wizard properly replace global scripts
-Fixed the glitch where the auto-port wizard would get the numbers of credit art illustrations wrong past 12.
-Made the map title to the "Studio Pixel Presents" map default to "Studio Pixel" if it's set to "u" when loading mapdata from a freeware exe
-Made it so that custom Face.bmp images are properly handled if the user chooses to leave the non-replaced slots blank to save space.
-Made the map scrolltype and special boss id be included in the stage.tbl file, which fixed numerous problems previously present in some ports generated by Plus Porter.
-Modified the applying process to properly handle custom items.
-Made the auto-port wizard judge whether or not global scripts in a mod should be replaced based on comparing them with those in the base directory of the Cave Story+ installation, rather than the freeware installation.
-Gave the auto-port wizard a progress bar.
-Added an option in the auto-port wizard to remove the equal signs from all text in message boxes
-Made the program automatically re-route event #200 on map 13 to the start point specified in the mod if it's different from the default game.
-Modified the algorithm for comparing files to be more efficient so that the process of replacing the mod's stage folder completes much faster
-Gave the auto-port wizard a progress bar.
-Added an option in the auto-port wizard to remove the equal signs from all text in message boxes
-Made the program automatically re-route event #200 on map 13 to the start point specified in the mod if it's different from the default game.
-Modified the algorithm for comparing files to be more efficient so that the process of replacing the mod's stage folder completes much faster
-Made the program also check global scripts when removing equal signs from tsc files
-Integrated a debug option in preferences in order to hopefully help find the root cause of the glitch of the file chooser not always showing up
-Integrated a debug option in preferences in order to hopefully help find the root cause of the glitch of the file chooser not always showing up
-Made the image filtering process something that is done at the request of the user rather than automatically
-Finally fixed the glitch that would corrupt bitmaps of a bit depth lower than 24
-Discontinued wrapping the program into an exe, and made some behind the scenes tweaking to facilitate cross-compatibility.
-Finally fixed the glitch that would corrupt bitmaps of a bit depth lower than 24
-Discontinued wrapping the program into an exe, and made some behind the scenes tweaking to facilitate cross-compatibility.
-Fixed the glitch where having a map list loaded would cause some unnecessary GUI components to pop up when adding a credit image.
-Removed the "enable debug" feature from the preferences window since I won't be vigilantly acting on bug reports anymore.
-Removed the "enable debug" feature from the preferences window since I won't be vigilantly acting on bug reports anymore.
Plus Porter is a user-friendly GUI application that facilitates porting mods to Cave Story+. The program works by letting the user select all the modified resources from said mod and packages them into a patch that can be distributed to others and patched into a Cave Story+ installation with the click of a button. While some aspects of this could be done manually, there are some things that can NOT be done manually but are made possible with Plus Porter, such as legally distributing ports with partially edited spritesheets while maintaining double resolution all throughout. It should be noted that use of Plus Porter requires that you have a valid installation of Cave Story+ on your hard drive.
Here are some screenshots:
Here are some sample CS+ ports to demonstrate Plus Porter's functionality:
AGTP Story - edited scripts courtesy of Loaffy
Pyramid - by Noxid and Lace
WTF Challenge - by GIRakaCHEEZER (ported by Aar)
Labyrinth Escape - by metalsonic71 (utilizes partially modified spritesheet)
WAHAHA Story
Cave Story 2
Cave Story with a Fourth Ending
Known issues:
-If your port uses one or more custom images located somewhere other than the stage folder, then your mod will automatically have to share save slots with Curly Story and all other mods that do. If you try to force it to use a different save slot set, then it will use all the base graphics. I've been trying to find a fix for this, but progress has been very slow.
-The auto-port wizard will not function properly if the song "Zombie" has been replaced in the mod being loaded.
-On some systems, the "Open port..." file menu option and many browse buttons don't seem to work
-The map preview sometimes has trouble displaying tiles exclusive to a replaced tileset
-After replacing a stage.tbl file via an exe, the mod has trouble saving
-The program has trouble detecting file extensions that are capitalized
-The program sometimes has trouble automatically detecting modified .pxm and .pxe files
-The auto-port wizard will not function properly if the song "Zombie" has been replaced in the mod being loaded.
-On some systems, the "Open port..." file menu option and many browse buttons don't seem to work
-The map preview sometimes has trouble displaying tiles exclusive to a replaced tileset
-After replacing a stage.tbl file via an exe, the mod has trouble saving
-The program has trouble detecting file extensions that are capitalized
-The program sometimes has trouble automatically detecting modified .pxm and .pxe files
Last edited: