DREAMWEB: Move all zoom-related functions to vgagrafx.cpp, and remove a lot of unused global constants

This commit is contained in:
Filippos Karapetis 2011-12-28 11:37:46 +02:00
parent 826769f8b8
commit fe98fbe972
5 changed files with 47 additions and 44 deletions

View File

@ -500,6 +500,19 @@ p = parser(skip_binary_data = [
'maplen',
'maplength',
'undertimedysize',
'blocktextdat',
'personframes',
'map',
'settextdat',
'textunder',
'pathdata',
'framedata',
'flags',
'intextdat',
'freetextdat',
'frframedata',
'zoomx',
'zoomy',
# vgagrafx.asm
'cityname',
'extragraphics1',

View File

@ -26,7 +26,7 @@ namespace DreamGen {
void DreamBase::doBlocks() {
uint16 dstOffset = _mapAdY * 320 + _mapAdX;
uint16 mapOffset = kMap + _mapY * kMapwidth + _mapX;
uint16 mapOffset = _mapY * kMapwidth + _mapX;
const uint8 *mapData = _mapData + mapOffset;
uint8 *dstBuffer = workspace() + dstOffset;
@ -236,7 +236,7 @@ void DreamBase::showAllFree() {
void DreamBase::drawFlags() {
MapFlag *mapFlag = _mapFlags;
uint16 mapOffset = kMap + _mapY * kMapwidth + _mapX;
uint16 mapOffset = _mapY * kMapwidth + _mapX;
const uint8 *mapData = _mapData + mapOffset;
for (size_t i = 0; i < 10; ++i) {

View File

@ -89,25 +89,14 @@ static const uint16 kLastweapon = 64;
static const uint16 kDreamnumber = 65;
static const uint16 kRoomafterdream = 66;
static const uint16 kShakecounter = 67;
static const uint16 kBlocktextdat = (0);
static const uint16 kPersonframes = (0);
static const uint16 kDebuglevel1 = (0);
static const uint16 kDebuglevel2 = (0);
static const uint16 kPlayback = (0);
static const uint16 kMap = (0);
static const uint16 kSettextdat = (0);
static const uint16 kTextunder = (0);
static const uint16 kSpanish = (0);
static const uint16 kRecording = (0);
static const uint16 kExframedata = (0);
static const uint16 kGerman = (0);
static const uint16 kPathdata = (0);
static const uint16 kDemo = (0);
static const uint16 kFramedata = (0);
static const uint16 kFlags = (0);
static const uint16 kIntextdat = (0);
static const uint16 kFreetextdat = (0);
static const uint16 kFrframedata = (0);
static const uint16 kExframes = (0+2080);
static const uint16 kExdata = (0+2080+30000);
static const uint16 kExtextdat = (0+2080+30000+(16*114));
@ -116,7 +105,6 @@ static const uint16 kLengthofextra = (0+2080+30000+(16*114)+((114+2)*2)+18000);
static const uint16 kForeign = (1);
static const uint16 kCd = (1);
static const uint16 kNumexobjects = (114);
static const uint16 kZoomy = (132);
static const uint16 kFreedatlen = (16*80);
static const uint16 kExtextlen = (18000);
static const uint16 kNumchanges = (250);
@ -133,7 +121,6 @@ static const uint16 kSymbolx = (64);
static const uint16 kMapwidth = (66);
static const uint16 kDiaryx = (68+24);
static const uint16 kLengthofvars = (68-0);
static const uint16 kZoomx = (8);
static const uint16 kInventx = (80);
static const uint16 kMenux = (80+40);
static const uint16 kHeaderlen = (96);

View File

@ -1136,16 +1136,6 @@ void DreamBase::plotReel(uint16 &reelPointer) {
soundOnReels(reelPointer);
}
void DreamBase::crosshair() {
uint8 frame;
if ((_commandType != 3) && (_commandType < 10)) {
frame = 9;
} else {
frame = 29;
}
showFrame(_icons1, kZoomx + 24, kZoomy + 19, frame, 0);
}
void DreamBase::delTextLine() {
if (_foreignRelease)
multiPut(_textUnder, _textAddressX, _textAddressY - 3, kUnderTextSizeX_f, kUnderTextSizeY_f);
@ -2001,12 +1991,6 @@ void DreamBase::roomName() {
useCharset1();
}
void DreamBase::zoomIcon() {
if (data.byte(kZoomon) == 0)
return;
showFrame(_icons1, kZoomx, kZoomy-1, 8, 0);
}
void DreamBase::loadRoom() {
_roomLoaded = 1;
_timeCount = 0;
@ -2929,11 +2913,6 @@ bool DreamBase::isSetObOnMap(uint8 index) {
return (getSetAd(index)->mapad[0] == 0);
}
void DreamBase::dumpZoom() {
if (data.byte(kZoomon) == 1)
multiDump(kZoomx + 5, kZoomy + 4, 46, 40);
}
void DreamBase::examineInventory() {
if (_commandType != 249) {
_commandType = 249;
@ -2969,14 +2948,6 @@ void DreamBase::underTextLine() {
multiGet(_textUnder, _textAddressX, _textAddressY, kUnderTextSizeX, kUnderTextSizeY);
}
void DreamBase::getUnderZoom() {
multiGet(_zoomSpace, kZoomx + 5, kZoomy + 4, 46, 40);
}
void DreamBase::putUnderZoom() {
multiPut(_zoomSpace, kZoomx + 5, kZoomy + 4, 46, 40);
}
void DreamBase::showWatchReel() {
uint16 reelPointer = data.word(kReeltowatch);
plotReel(reelPointer);

View File

@ -26,6 +26,9 @@
namespace DreamGen {
const uint16 kZoomx = 8;
const uint16 kZoomy = 132;
void DreamBase::multiGet(uint8 *dst, uint16 x, uint16 y, uint8 w, uint8 h) {
assert(x < 320);
assert(y < 200);
@ -332,6 +335,35 @@ void DreamBase::clearWork() {
memset(workspace(), 0, 320*200);
}
void DreamBase::dumpZoom() {
if (data.byte(kZoomon) == 1)
multiDump(kZoomx + 5, kZoomy + 4, 46, 40);
}
void DreamBase::crosshair() {
uint8 frame;
if ((_commandType != 3) && (_commandType < 10)) {
frame = 9;
} else {
frame = 29;
}
showFrame(_icons1, kZoomx + 24, kZoomy + 19, frame, 0);
}
void DreamBase::getUnderZoom() {
multiGet(_zoomSpace, kZoomx + 5, kZoomy + 4, 46, 40);
}
void DreamBase::putUnderZoom() {
multiPut(_zoomSpace, kZoomx + 5, kZoomy + 4, 46, 40);
}
void DreamBase::zoomIcon() {
if (data.byte(kZoomon) == 0)
return;
showFrame(_icons1, kZoomx, kZoomy-1, 8, 0);
}
void DreamBase::zoom() {
if (data.word(kWatchingtime) != 0)
return;