diff options
author | Eugene Sandulenko | 2015-12-02 11:58:53 +0100 |
---|---|---|
committer | Willem Jan Palenstijn | 2015-12-23 21:33:47 +0100 |
commit | ab2519f57b50a8d92a7f6fa192f453e2cf0e6888 (patch) | |
tree | 952abcc8076bd3d62820560be6848cc51ce678dc /engines/lab | |
parent | 17d6e5e8608dfbf70fb08507da1ac196e04c0654 (diff) | |
download | scummvm-rg350-ab2519f57b50a8d92a7f6fa192f453e2cf0e6888.tar.gz scummvm-rg350-ab2519f57b50a8d92a7f6fa192f453e2cf0e6888.tar.bz2 scummvm-rg350-ab2519f57b50a8d92a7f6fa192f453e2cf0e6888.zip |
LAB: Get rid of machine.cpp
Diffstat (limited to 'engines/lab')
-rw-r--r-- | engines/lab/graphics.cpp | 70 | ||||
-rw-r--r-- | engines/lab/labfile.cpp | 43 | ||||
-rw-r--r-- | engines/lab/machine.cpp | 146 | ||||
-rw-r--r-- | engines/lab/module.mk | 1 |
4 files changed, 113 insertions, 147 deletions
diff --git a/engines/lab/graphics.cpp b/engines/lab/graphics.cpp index 2f2109af7b..9de6400aa6 100644 --- a/engines/lab/graphics.cpp +++ b/engines/lab/graphics.cpp @@ -45,6 +45,76 @@ BitMap bit1, bit2, *DispBitMap = &bit1, *DrawBitMap = &bit1; extern bool stopsound; extern TextFont *MsgFont; + +/*****************************************************************************/ +/* Scales the x co-ordinates to that of the new display. In the room parser */ +/* file, co-ordinates are set up on a 360x336 display. */ +/*****************************************************************************/ +uint16 scaleX(uint16 x) { + if (g_lab->_isHiRes) + return (uint16)((x * 16) / 9); + else + return (uint16)((x * 8) / 9); +} + +/*****************************************************************************/ +/* Scales the y co-ordinates to that of the new display. In the room parser */ +/* file, co-ordinates are set up on a 368x336 display. */ +/*****************************************************************************/ +uint16 scaleY(uint16 y) { + if (g_lab->_isHiRes) + return (y + (y / 14)); + else + return ((y * 10) / 24); +} + +/*****************************************************************************/ +/* Scales the VGA cords to SVGA if necessary; otherwise, returns VGA cords. */ +/*****************************************************************************/ +int16 VGAScaleX(int16 x) { + if (g_lab->_isHiRes) + return (x * 2); + else + return x; +} + +/*****************************************************************************/ +/* Scales the VGA cords to SVGA if necessary; otherwise, returns VGA cords. */ +/*****************************************************************************/ +int16 VGAScaleY(int16 y) { + if (g_lab->_isHiRes) + return ((y * 12) / 5); + else + return y; +} + +uint16 SVGACord(uint16 cord) { + if (g_lab->_isHiRes) + return cord; + else + return 0; +} + +/*****************************************************************************/ +/* Converts SVGA cords to VGA if necessary, otherwise returns VGA cords. */ +/*****************************************************************************/ +int VGAUnScaleX(int x) { + if (g_lab->_isHiRes) + return (x / 2); + else + return x; +} + +/*****************************************************************************/ +/* Converts SVGA cords to VGA if necessary, otherwise returns VGA cords. */ +/*****************************************************************************/ +int VGAUnScaleY(int y) { + if (g_lab->_isHiRes) + return ((y * 5) / 12); + else + return y; +} + /*---------------------------------------------------------------------------*/ /*------ From readPict.c. Reads in pictures and animations from disk. ------*/ /*---------------------------------------------------------------------------*/ diff --git a/engines/lab/labfile.cpp b/engines/lab/labfile.cpp index 83f3b0f2e9..99a02c14ff 100644 --- a/engines/lab/labfile.cpp +++ b/engines/lab/labfile.cpp @@ -28,6 +28,7 @@ * */ +#include "lab/lab.h" #include "lab/labfun.h" #include "lab/mouse.h" #include "common/file.h" @@ -309,4 +310,46 @@ void freeAllStolenMem() { _memPlace = buffer; } +static char NewFileName[255]; + +/*****************************************************************************/ +/* Modifies the filename so that paths and stuff are correct. Should mostly */ +/* deal with assigns and the '/' instead of '\' on IBM systems. */ +/* */ +/* NOTE: Make a *copy* of the string, and modify that. It would be a real */ +/* *bad* idea to modify the original. Since Labyrinth only focuses its */ +/* attention to one file at a time, it would be fine to have one variable */ +/* not on the stack which is used to store the new filename. */ +/*****************************************************************************/ +char *translateFileName(const char *filename) { + Common::String fileNameStr = filename; + fileNameStr.toUppercase(); + Common::String fileNameStrFinal; + + if (fileNameStr.hasPrefix("P:")) { + if (g_lab->_isHiRes) + fileNameStrFinal = "GAME/SPICT/"; + else + fileNameStrFinal = "GAME/PICT/"; + } else if (fileNameStr.hasPrefix("LAB:")) + fileNameStrFinal = "GAME/"; + else if (fileNameStr.hasPrefix("MUSIC:")) + fileNameStrFinal = "GAME/MUSIC/"; + + if (fileNameStr.contains(':')) { + while (fileNameStr[0] != ':') { + fileNameStr.deleteChar(0); + } + + fileNameStr.deleteChar(0); + } + + fileNameStrFinal += fileNameStr; + + strcpy(NewFileName, fileNameStrFinal.c_str()); + + return NewFileName; +} + + } // End of namespace Lab diff --git a/engines/lab/machine.cpp b/engines/lab/machine.cpp deleted file mode 100644 index 0667772d89..0000000000 --- a/engines/lab/machine.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/* 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. - * - */ - -/* - * This code is based on Labyrinth of Time code with assistance of - * - * Copyright (c) 1993 Terra Nova Development - * Copyright (c) 2004 The Wyrmkeep Entertainment Co. - * - */ - -#include "common/str.h" -#include "lab/lab.h" - -namespace Lab { - -/*****************************************************************************/ -/* Scales the x co-ordinates to that of the new display. In the room parser */ -/* file, co-ordinates are set up on a 360x336 display. */ -/*****************************************************************************/ -uint16 scaleX(uint16 x) { - if (g_lab->_isHiRes) - return (uint16)((x * 16) / 9); - else - return (uint16)((x * 8) / 9); -} - -/*****************************************************************************/ -/* Scales the y co-ordinates to that of the new display. In the room parser */ -/* file, co-ordinates are set up on a 368x336 display. */ -/*****************************************************************************/ -uint16 scaleY(uint16 y) { - if (g_lab->_isHiRes) - return (y + (y / 14)); - else - return ((y * 10) / 24); -} - -/*****************************************************************************/ -/* Scales the VGA cords to SVGA if necessary; otherwise, returns VGA cords. */ -/*****************************************************************************/ -int16 VGAScaleX(int16 x) { - if (g_lab->_isHiRes) - return (x * 2); - else - return x; -} - -/*****************************************************************************/ -/* Scales the VGA cords to SVGA if necessary; otherwise, returns VGA cords. */ -/*****************************************************************************/ -int16 VGAScaleY(int16 y) { - if (g_lab->_isHiRes) - return ((y * 12) / 5); - else - return y; -} - -uint16 SVGACord(uint16 cord) { - if (g_lab->_isHiRes) - return cord; - else - return 0; -} - -/*****************************************************************************/ -/* Converts SVGA cords to VGA if necessary, otherwise returns VGA cords. */ -/*****************************************************************************/ -int VGAUnScaleX(int x) { - if (g_lab->_isHiRes) - return (x / 2); - else - return x; -} - -/*****************************************************************************/ -/* Converts SVGA cords to VGA if necessary, otherwise returns VGA cords. */ -/*****************************************************************************/ -int VGAUnScaleY(int y) { - if (g_lab->_isHiRes) - return ((y * 5) / 12); - else - return y; -} - -static char NewFileName[255]; - -/*****************************************************************************/ -/* Modifies the filename so that paths and stuff are correct. Should mostly */ -/* deal with assigns and the '/' instead of '\' on IBM systems. */ -/* */ -/* NOTE: Make a *copy* of the string, and modify that. It would be a real */ -/* *bad* idea to modify the original. Since Labyrinth only focuses its */ -/* attention to one file at a time, it would be fine to have one variable */ -/* not on the stack which is used to store the new filename. */ -/*****************************************************************************/ -char *translateFileName(const char *filename) { - Common::String fileNameStr = filename; - fileNameStr.toUppercase(); - Common::String fileNameStrFinal; - - if (fileNameStr.hasPrefix("P:")) { - if (g_lab->_isHiRes) - fileNameStrFinal = "GAME/SPICT/"; - else - fileNameStrFinal = "GAME/PICT/"; - } else if (fileNameStr.hasPrefix("LAB:")) - fileNameStrFinal = "GAME/"; - else if (fileNameStr.hasPrefix("MUSIC:")) - fileNameStrFinal = "GAME/MUSIC/"; - - if (fileNameStr.contains(':')) { - while (fileNameStr[0] != ':') { - fileNameStr.deleteChar(0); - } - - fileNameStr.deleteChar(0); - } - - fileNameStrFinal += fileNameStr; - - strcpy(NewFileName, fileNameStrFinal.c_str()); - - return NewFileName; -} - -} // End of namespace Lab diff --git a/engines/lab/module.mk b/engines/lab/module.mk index 53b9f4e1e6..cfe867a0a2 100644 --- a/engines/lab/module.mk +++ b/engines/lab/module.mk @@ -12,7 +12,6 @@ MODULE_OBJS := \ lab.o \ labfile.o \ labsets.o \ - machine.o \ map.o \ mouse.o \ music.o \ |