/*
* Seven Kingdoms: Ancient Adversaries
*
* Copyright 1997,1998 Enlight Software Ltd.
*
* 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, see .
*
*/
//Filename : OVGA2.CPP
//Description: Functions for display big image
#include
#include
#include
#include
#include
#include
//---------- Begin of function Vga::disp_image_file --------//
//
// fileName - file name of the image
// [int] x1, y1 - the top left display position of the image
// (default: 0)
//
void Vga::disp_image_file(char* fileName, int x1, int y1)
{
//-------- backup and switch palette ----------//
if( !back_up_pal ) // only save the palette when there isn't one saved already
back_up_pal = new VgaCustomPalette(NULL);
//---- load the interface into the back buffer ----//
File pictFile;
String str;
str = DIR_IMAGE;
str += fileName;
str += ".ICN";
if( pictFile.file_open(str,0) )
{
vga_back.put_large_bitmap(x1, y1, &pictFile);
pictFile.file_close();
}
//-------- hide and change mouse cursor --------//
mouse.hide();
//------ turn screen dark and blt the buffer ---------//
vga_front.bar( 0, 0, VGA_WIDTH-1, VGA_HEIGHT-1, 0 );
sys.blt_virtual_buf();
//------- Set custom palette -------//
{
str = DIR_IMAGE;
str += fileName;
str += ".COL";
err_when( !m.is_file_exist(str) );
VgaFrontLock vgaLock;
VgaCustomPalette::set_custom_palette(str);
}
//------- bilt the back buffer to the front ---------//
vga.blt_buf( 0,0, vga_back.buf_width()-1, vga_back.buf_height()-1, 0 );
}
//----------- End of function Vga::disp_image_file ---------//
//---------- Begin of function Vga::finish_disp_image_file --------//
//
void Vga::finish_disp_image_file()
{
//------- exiting: turn dark --------//
vga_front.bar( 0, 0, VGA_WIDTH-1, VGA_HEIGHT-1, 0 );
sys.blt_virtual_buf();
//----- palette restore when back_up_pal destruct ----//
{
VgaFrontLock vgaLock;
err_when( !back_up_pal );
delete back_up_pal;
back_up_pal = NULL;
}
mouse.show();
}
//----------- End of function Vga::finish_disp_image_file ---------//