#include "memory.h" // TODO: Not ideal that these are here static void* mapper_data_ptr(const void* _mapper) { return ((nes_Mapper*)_mapper)->data; } static size_t mapper_data_size(const void* _mapper) { return ((nes_Mapper*)_mapper)->data_size; } static Serdes_Ptr_Ref mapper_data_ref = { .ptr = mapper_data_ptr, .size = mapper_data_size, }; const Serdes_Item nes_memory_serdes[] = { {"CART", offsetof(nes_Memory, mapper), &serdes_mem_ptr, &mapper_data_ref}, {"PMEM", offsetof(nes_Memory, ppu), &serdes_chain, nes_ppu_memory_serdes}, {"SMEM", offsetof(nes_Memory, input), &serdes_mem, (void*)(sizeof(nes_Memory) - offsetof(nes_Memory, input))}, {0}, };