From 49d03548301e70a100eb28991d7f0419f39c2e07 Mon Sep 17 00:00:00 2001 From: Henrik Kretzschmar Date: Thu, 20 Mar 2014 22:15:02 +0100 Subject: [PATCH] M302de: Original-Bugfix: spell_verwandlung() format string In the original a format string is broken which results in a broken output, too. The fault is in the datafiles, but it's easy to fix here. All german version (1.00, 1.04, 1.06, 1.07, 3.02) have this bug. Reproduce: Cast "Verwandlung" on a hero which does not need it. --- src/custom/schick/rewrite_m302de/seg099.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/custom/schick/rewrite_m302de/seg099.cpp b/src/custom/schick/rewrite_m302de/seg099.cpp index 1ce4c2a5f..96aba7c23 100644 --- a/src/custom/schick/rewrite_m302de/seg099.cpp +++ b/src/custom/schick/rewrite_m302de/seg099.cpp @@ -175,6 +175,11 @@ void spell_verwandlung(void) (char*)Real2Host(ds_readd(SPELLTARGET)) + 0x10); } else { +#ifdef M302de_ORIGINAL_BUGFIX + /* Broken format string, %S must be %s */ + host_writeb(get_dtp(0x14) + 5, 's'); +#endif + sprintf((char*)Real2Host(ds_readd(DTP2)), (char*)get_dtp(0x14), (char*)Real2Host(ds_readd(SPELLTARGET)) + 0x10);