From 2eceab1fded6ed744836ba7d9429d9fdb2976a69 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Wed, 16 Nov 2011 13:03:39 +0100 Subject: DREAMWEB: 'clearstartpal' ported to C++ --- engines/dreamweb/dreamgen.cpp | 15 --------------- engines/dreamweb/dreamgen.h | 3 +-- engines/dreamweb/module.mk | 1 + engines/dreamweb/stubs.h | 2 ++ engines/dreamweb/vgafades.cpp | 33 +++++++++++++++++++++++++++++++++ 5 files changed, 37 insertions(+), 17 deletions(-) create mode 100644 engines/dreamweb/vgafades.cpp (limited to 'engines') diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 73ed6f121d..599ef90d6d 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -2690,20 +2690,6 @@ void DreamGenContext::fadescreendowns() { data.byte(kNumtofade) = 64; } -void DreamGenContext::clearstartpal() { - STACK_CHECK; - es = data.word(kBuffers); - di = (0+(228*13)+32+60+(32*32)+(11*10*3)); - cx = 256; -wholeloop1: - ax = 0; - _stosw(); - al = 0; - _stosb(); - if (--cx) - goto wholeloop1; -} - void DreamGenContext::showgun() { STACK_CHECK; data.byte(kAddtored) = 0; @@ -16240,7 +16226,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) { case addr_fadescreenuphalf: fadescreenuphalf(); break; case addr_fadescreendown: fadescreendown(); break; case addr_fadescreendowns: fadescreendowns(); break; - case addr_clearstartpal: clearstartpal(); break; case addr_showgun: showgun(); break; case addr_rollendcredits2: rollendcredits2(); break; case addr_rollem: rollem(); break; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 20ef2f9818..f9e45b7394 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -510,7 +510,6 @@ public: static const uint16 addr_rollem = 0xc284; static const uint16 addr_rollendcredits2 = 0xc280; static const uint16 addr_showgun = 0xc27c; - static const uint16 addr_clearstartpal = 0xc278; static const uint16 addr_fadescreendowns = 0xc274; static const uint16 addr_fadescreendown = 0xc270; static const uint16 addr_fadescreenuphalf = 0xc26c; @@ -1229,7 +1228,7 @@ public: void usewire(); void getnamepos(); void loadtemptext(); - void clearstartpal(); + //void clearstartpal(); void femalefan(); //void showgamereel(); void identifyob(); diff --git a/engines/dreamweb/module.mk b/engines/dreamweb/module.mk index d38d4db0db..d617507c85 100644 --- a/engines/dreamweb/module.mk +++ b/engines/dreamweb/module.mk @@ -14,6 +14,7 @@ MODULE_OBJS := \ stubs.o \ talk.o \ use.o \ + vgafades.o \ vgagrafx.o # This module can be built as a plugin diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index da21d415f5..9d548f5926 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -255,4 +255,6 @@ void transfertext(); void initrain(); Rain *splitintolines(uint8 x, uint8 y, Rain *rain); + void clearstartpal(); + diff --git a/engines/dreamweb/vgafades.cpp b/engines/dreamweb/vgafades.cpp new file mode 100644 index 0000000000..5fffd9c333 --- /dev/null +++ b/engines/dreamweb/vgafades.cpp @@ -0,0 +1,33 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#include "dreamweb/dreamweb.h" + +namespace DreamGen { + +void DreamGenContext::clearstartpal() { + uint8 *startPalette = segRef(data.word(kBuffers)).ptr(kStartpal, 256*3); + memset(startPalette, 0, 256*3); +} + +} /*namespace dreamgen */ + -- cgit v1.2.3