DREAMWEB: 'clearstartpal' ported to C++

This commit is contained in:
Bertrand Augereau 2011-11-16 13:03:39 +01:00
parent c71ed522de
commit 2eceab1fde
6 changed files with 38 additions and 17 deletions

View File

@ -212,6 +212,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'splitintolines',
'initrain',
'checkbasemem',
'clearstartpal',
], skip_output = [
# These functions are processed but not output
'dreamweb',

View File

@ -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;

View File

@ -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();

View File

@ -14,6 +14,7 @@ MODULE_OBJS := \
stubs.o \
talk.o \
use.o \
vgafades.o \
vgagrafx.o
# This module can be built as a plugin

View File

@ -255,4 +255,6 @@
void transfertext();
void initrain();
Rain *splitintolines(uint8 x, uint8 y, Rain *rain);
void clearstartpal();

View File

@ -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 */