diff options
author | 2019-12-09 00:35:38 +1100 | |
---|---|---|
committer | 2019-12-09 00:35:38 +1100 | |
commit | e6b4cdb3527bf7a799eb6b6b9f7df57aea8971ec (patch) | |
tree | 49f373544238a8e2458cc1de05039468a066a016 /src/emu/debug/debugcmd.cpp | |
parent | d3a70dc3460ef0b9c97fe16efb70db83bf012848 (diff) |
Allow saving members of structures in n-dimensional arrays, even if the members themselves are n-dimensional arrays - see qsoundhle.cpp for an example of loops disappearing. This can greatly reduce the number of save state registrations in some cases. Obviously I want to know if save states are broken in something by this.
Diffstat (limited to 'src/emu/debug/debugcmd.cpp')
-rw-r--r-- | src/emu/debug/debugcmd.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/emu/debug/debugcmd.cpp b/src/emu/debug/debugcmd.cpp index fa877cafd34..fa65b327d6c 100644 --- a/src/emu/debug/debugcmd.cpp +++ b/src/emu/debug/debugcmd.cpp @@ -114,16 +114,16 @@ debugger_commands::debugger_commands(running_machine& machine, debugger_cpu& cpu /* add all single-entry save state globals */ for (int itemnum = 0; itemnum < MAX_GLOBALS; itemnum++) { - u32 valsize, valcount; void *base; + u32 valsize, valcount, blockcount, stride; /* stop when we run out of items */ - const char* name = m_machine.save().indexed_item(itemnum, base, valsize, valcount); - if (name == nullptr) + const char* name = m_machine.save().indexed_item(itemnum, base, valsize, valcount, blockcount, stride); + if (!name) break; /* if this is a single-entry global, add it */ - if (valcount == 1 && strstr(name, "/globals/")) + if ((valcount == 1) && (blockcount == 1) && strstr(name, "/globals/")) { char symname[100]; sprintf(symname, ".%s", strrchr(name, '/') + 1); |