diff options
| author | Martin Kiewitz | 2010-06-28 07:42:16 +0000 | 
|---|---|---|
| committer | Martin Kiewitz | 2010-06-28 07:42:16 +0000 | 
| commit | 31af2bfe32429563563d5beaa320a23fc035ad71 (patch) | |
| tree | d7bd8c4576aa676f9ceebdcfabc84d63f4b7fd1a | |
| parent | 76b8c33aaf964dab911b00e616e7800110dd780c (diff) | |
| download | scummvm-rg350-31af2bfe32429563563d5beaa320a23fc035ad71.tar.gz scummvm-rg350-31af2bfe32429563563d5beaa320a23fc035ad71.tar.bz2 scummvm-rg350-31af2bfe32429563563d5beaa320a23fc035ad71.zip | |
SCI: show arguments on selector invoke breakpoint even when VM_DEBUG_SEND is not used, but in a compressed fashion
svn-id: r50410
| -rw-r--r-- | engines/sci/engine/vm.cpp | 23 | 
1 files changed, 22 insertions, 1 deletions
| diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index d819db3d08..35f9baef7b 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -620,7 +620,28 @@ ExecStack *send_selector(EngineState *s, reg_t send_obj, reg_t work_obj, StackPt  			printf(") at %04x:%04x\n", PRINT_REG(funcp));  #endif // VM_DEBUG_SEND  			if (printSendActions) { -				debug("[invoke selector]\n"); +				printf("[invoke selector]"); +#ifndef VM_DEBUG_SEND +				int displaySize = 0; +				for (int argNr = 1; argNr <= argc; argNr++) { +					if (argNr == 1) +						printf(" - "); +					reg_t curParam = argp[argNr]; +					if (curParam.segment) { +						printf("[%04x:%04x] ", PRINT_REG(curParam)); +						displaySize += 12; +					} else { +						printf("[%04x] ", curParam.offset); +						displaySize += 7; +					} +					if (displaySize > 50) { +						if (argNr < argc) +							printf("..."); +						break; +					} +				} +#endif +				printf("\n");  				printSendActions = false;  			} | 
