summaryrefslogtreecommitdiffstats
path: root/src/emu/debug/debugcmd.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2019-12-09 00:35:38 +1100
committer Vas Crabb <vas@vastheman.com>2019-12-09 00:35:38 +1100
commite6b4cdb3527bf7a799eb6b6b9f7df57aea8971ec (patch)
tree49f373544238a8e2458cc1de05039468a066a016 /src/emu/debug/debugcmd.cpp
parentd3a70dc3460ef0b9c97fe16efb70db83bf012848 (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.cpp8
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);