diff options
author | Michael Pavone <pavone@retrodev.com> | 2017-11-24 12:04:02 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2017-11-24 12:04:02 -0800 |
commit | 27b829ffc447758832cbd7ab2f9b7e427928d687 (patch) | |
tree | 6e4b2b813b40dbfb9200b7a9e85719aa47f78f1c /sms.c | |
parent | b21ebe75d412c72441be8a63c202641cc5ff4dfa (diff) |
Refactored save slot related logic to reduce duplication and allow reuse in new UI. Get state loading/saving mostly working in new UI
--HG--
branch : nuklear_ui
Diffstat (limited to 'sms.c')
-rw-r--r-- | sms.c | 12 |
1 files changed, 3 insertions, 9 deletions
@@ -6,6 +6,7 @@ #include "render.h" #include "util.h" #include "debug.h" +#include "saves.h" static void *memory_io_write(uint32_t location, void *vcontext, uint8_t value) { @@ -292,20 +293,13 @@ void sms_deserialize(deserialize_buffer *buf, sms_context *sms) static void save_state(sms_context *sms, uint8_t slot) { - char *save_path; - if (slot == QUICK_SAVE_SLOT) { - save_path = save_state_path; - } else { - char slotname[] = "slot_0.state"; - slotname[5] = '0' + slot; - char const *parts[] = {sms->header.save_dir, PATH_SEP, slotname}; - save_path = alloc_concat_m(3, parts); - } + char *save_path = get_slot_name(&sms->header, slot, "state"); serialize_buffer state; init_serialize(&state); sms_serialize(sms, &state); save_to_file(&state, save_path); printf("Saved state to %s\n", save_path); + free(save_path); free(state.data); } |