From 4d4d3329c3f60db245038d48ff36a14628a0c10f Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Sun, 26 Jun 2011 15:10:18 +0200 Subject: DREAMWEB: The generator includes a file for custom structs and a file for custom function definitions It also generates C++ symbols for asm proc addresses --- devtools/tasmrecover/tasm/cpp.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'devtools') diff --git a/devtools/tasmrecover/tasm/cpp.py b/devtools/tasmrecover/tasm/cpp.py index dfdfb239f4..81c883da1e 100644 --- a/devtools/tasmrecover/tasm/cpp.py +++ b/devtools/tasmrecover/tasm/cpp.py @@ -544,14 +544,19 @@ namespace %s { """\n#include "dreamweb/runtime.h" namespace %s { - +#include "structs.h" class %sContext : public Context { public: void __start(); void __dispatch_call(uint16 addr); +#include "stubs.h" // Allow hand-reversed functions to have a signature different than void f() """ %(self.namespace, self.namespace)) + + for name,addr in self.proc_addr: + self.hd.write("\tstatic const uint16 addr_%s = 0x%04x;\n" %(name, addr)) + offsets = [] for k, v in self.context.get_globals().items(): if isinstance(v, op.var): @@ -564,7 +569,10 @@ public: self.hd.write("\tconst static uint16 k%s = %s;\n" %o) self.hd.write("\n") for p in set(self.methods): - self.hd.write("\tvoid %s();\n" %p) + if p in self.blacklist: + self.hd.write("\t//void %s();\n" %p) + else: + self.hd.write("\tvoid %s();\n" %p) self.hd.write("};\n}\n\n#endif\n") self.hd.close() @@ -574,7 +582,7 @@ public: self.fd.write("\nvoid %sContext::__dispatch_call(uint16 addr) {\n\tswitch(addr) {\n" %self.namespace) self.proc_addr.sort(cmp = lambda x, y: x[1] - y[1]) for name,addr in self.proc_addr: - self.fd.write("\t\tcase 0x%04x: %s(); break;\n" %(addr, name)) + self.fd.write("\t\tcase addr_%s: %s(); break;\n" %(name, name)) self.fd.write("\t\tdefault: ::error(\"invalid call to %04x dispatched\", (uint16)ax);") self.fd.write("\n\t}\n}\n\n} /*namespace*/\n") -- cgit v1.2.3 From 7af3cd565c2c62d4733b2272a841e0ead49988cd Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Sun, 26 Jun 2011 15:17:19 +0200 Subject: DREAMWEB: C++-isation of a part of the sprite subsystem --- devtools/tasmrecover/dreamweb/vars.asm | 2 +- devtools/tasmrecover/tasm-recover | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'devtools') diff --git a/devtools/tasmrecover/dreamweb/vars.asm b/devtools/tasmrecover/dreamweb/vars.asm index 8646697e52..8678231a9d 100644 --- a/devtools/tasmrecover/dreamweb/vars.asm +++ b/devtools/tasmrecover/dreamweb/vars.asm @@ -273,7 +273,7 @@ savesource dw 0 savex db 0 savey db 0 currentob db 0 -priority db 0 +priorityDep db 0 ; dep for deprecated, I leave a byte here to minimize changes to the generated code destpos db 0 diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 54fc091f06..8e84c600f9 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -23,6 +23,12 @@ generator = cpp(context, "DreamGen", blacklist = [ 'convertkey', 'readabyte', 'readoneblock', + 'printsprites', + 'printasprite', + 'eraseoldobs', + 'clearsprites', + 'makesprite', + 'spriteupdate', 'frameoutv', 'modifychar', 'lockmon' -- cgit v1.2.3 From 880bcc69ef24fa6fa333a38d14d47d45c123aeb5 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Sun, 26 Jun 2011 17:03:17 +0200 Subject: DREAMWEB: showframe blacklisted --- devtools/tasmrecover/tasm-recover | 1 + 1 file changed, 1 insertion(+) (limited to 'devtools') diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 8e84c600f9..95b42cf652 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -28,6 +28,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'eraseoldobs', 'clearsprites', 'makesprite', + 'showframe', 'spriteupdate', 'frameoutv', 'modifychar', -- cgit v1.2.3 From 9f8036cd86670a3de8562b7c6e398ddace8650fa Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Sun, 26 Jun 2011 19:32:02 +0200 Subject: DREAMWEB: Blacklisted frameoutbh and frameoutfx --- devtools/tasmrecover/tasm-recover | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'devtools') diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 95b42cf652..727bb41ebf 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -15,7 +15,9 @@ generator = cpp(context, "DreamGen", blacklist = [ 'multiget', 'multiput', 'multidump', - 'frameoutnm', + 'frameoutnm', + 'frameoutbh', + 'frameoutfx', 'cls', 'printundermon', 'worktoscreen', -- cgit v1.2.3 From 25528a56e854795afa7eeda92a338aafee124eb4 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Tue, 28 Jun 2011 04:55:10 +0200 Subject: DREAMWEB: dodoor blacklisted --- devtools/tasmrecover/tasm-recover | 1 + 1 file changed, 1 insertion(+) (limited to 'devtools') diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 727bb41ebf..22010aa71a 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -32,6 +32,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'makesprite', 'showframe', 'spriteupdate', + 'dodoor', 'frameoutv', 'modifychar', 'lockmon' -- cgit v1.2.3 From 40e5e03e32f08562738abde8a22ce4b0c98264f0 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Tue, 28 Jun 2011 05:10:35 +0200 Subject: DREAMWEB: Blacklisted liftsprite --- devtools/tasmrecover/tasm-recover | 1 + 1 file changed, 1 insertion(+) (limited to 'devtools') diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 22010aa71a..8eb70290ef 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -33,6 +33,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'showframe', 'spriteupdate', 'dodoor', + 'liftsprite', 'frameoutv', 'modifychar', 'lockmon' -- cgit v1.2.3 From 3ce4f2654075a5bc1b2b93eda9064a5b79180936 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Tue, 28 Jun 2011 14:54:26 +0200 Subject: DREAMWEB: walking blacklisted --- devtools/tasmrecover/tasm-recover | 1 + 1 file changed, 1 insertion(+) (limited to 'devtools') diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 8eb70290ef..dfcb40bfb4 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -31,6 +31,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'clearsprites', 'makesprite', 'showframe', + 'walking', 'spriteupdate', 'dodoor', 'liftsprite', -- cgit v1.2.3 From 2fd19aeedf5d3df90a1be5ae0bba30ea5131ee10 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Tue, 28 Jun 2011 15:48:07 +0200 Subject: DREAMWEB: initman reversed --- devtools/tasmrecover/tasm-recover | 1 + 1 file changed, 1 insertion(+) (limited to 'devtools') diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index dfcb40bfb4..3f04bad1e9 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -31,6 +31,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'clearsprites', 'makesprite', 'showframe', + 'initman', 'walking', 'spriteupdate', 'dodoor', -- cgit v1.2.3 From 9072ecf781bb8fd116a02530631d3cfa1e44648b Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Sun, 17 Jul 2011 14:38:30 +0200 Subject: DREAMWEB: Blacklisted 'kernchars' and 'getnextword' --- devtools/tasmrecover/tasm-recover | 2 ++ 1 file changed, 2 insertions(+) (limited to 'devtools') diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 3f04bad1e9..6b1c6d9d23 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -20,6 +20,8 @@ generator = cpp(context, "DreamGen", blacklist = [ 'frameoutfx', 'cls', 'printundermon', + 'kernchars', + 'getnextword', 'worktoscreen', 'width160', 'convertkey', -- cgit v1.2.3