Alright, so there is a huge problem with this game...the save grid is only 2x3! With so many paths and options, it is damn near impossible to track them all with that small of a grid
I came up with a solution, though, that will make it both easier to manage and allow the grid to gracefully expand (without needing to worry about reordering of your saves). It even resizes the thumbnails to appropriately fit within the new grid. I can't take all the credit, because
this post showed me how to resize the thumbnails without re-saving. It leaves the thumbnails a bit warped, but it is a small price to pay for the expanded grid.
Step one, in
gui.rpy find the secion that starts with
## File Slot Buttons
and replace it with this
Python:
## File Slot Buttons ###########################################################
##
## A file slot button is a special kind of button. It contains a thumbnail
## image, and text describing the contents of the save slot. A save slot uses
## image files in gui/button, like the other kinds of buttons.
## The number of columns and rows in the grid of save slots.
define gui.file_slot_cols = 5
define gui.file_slot_rows = 4
## The save slot button.
define total_slots_width = 1256
define total_slots_height = 708
define common_slot_spacing = 15
define old_slot_cols = 3
define old_slot_rows = 2
define gui.slot_button_width = (total_slots_width - gui.file_slot_cols * common_slot_spacing * 2) / gui.file_slot_cols
define gui.slot_button_height = (total_slots_height - gui.file_slot_rows * common_slot_spacing * 2) / gui.file_slot_rows
define gui.slot_button_borders = Borders(0, 0, 0, 0)
define gui.slot_button_text_size = 14
define gui.slot_button_text_xalign = 0.5
define gui.slot_button_text_idle_color = gui.idle_small_color
define gui.slot_button_text_selected_idle_color = gui.selected_color
define gui.slot_button_text_selected_hover_color = gui.hover_color
## The width and height of thumbnails used by the save slots.
define config.thumbnail_width = gui.slot_button_width
define config.thumbnail_height = gui.slot_button_height - 2 * gui.slot_button_text_size
Step 2, in
screens.rpy find the block of code that starts
for i in range(gui.file_slot_cols * gui.file_slot_rows):
and replace it with
Python:
# this allows the number of slots to gracefully expand
for i in range(gui.file_slot_rows):
for j in range(gui.file_slot_cols):
if (i < old_slot_rows):
if (j < old_slot_cols):
# The original numbering scheme
$ slot = j + i * old_slot_cols + 1
else:
# the new columns in the old rows
$ slot = old_slot_rows * old_slot_cols + (gui.file_slot_cols - old_slot_cols) * i + (j - old_slot_cols + 1)
else:
# the new rows
$ slot = slot = j + i * gui.file_slot_cols + 1
button:
action FileAction(slot)
has vbox
add FileScreenshot(slot) xalign 0.5 yalign 0.5 size(config.thumbnail_width, config.thumbnail_height)
text FileTime(slot, format=_("{#file_time}%A, %B %d %Y, %H:%M"), empty=_("empty slot")):
style "slot_time_text"
text FileSaveName(slot):
style "slot_name_text"
#key "save_delete" action FileDelete(slot)
if FileLoadable(slot): #Code provided by KoGa3
imagebutton:
idle "gui/button/button_delete_idle.png"
hover "gui/button/button_delete_hover.png"
action FileDelete(slot)
xalign 1.0
xoffset gui.slot_spacing / 4
#yalign 0.0
yoffset -(gui.slot_button_height + gui.slot_button_text_size)
Then, if you want to expand your grid, you just have to change the two lines
define gui.file_slot_cols = 5
or
define gui.file_slot_rows = 4
to whatever grid size you want!
If anyone has a way to contact either scrappy, please, feel free to point them this way. This would be nice to get into the multi mod.
Hopefully in the future, more games choose to make the save screen programmatic (based on the size of the grid), rather than a hand-tuned set of constant values.