1 /*
2 Управление графикой VGA для DOS4GW
3 Модуль версии 1.0
4 Copyright (C) Алексей Волынсков, 1996
6 Copyright (C) Prikol Software 1996-1997
7 Copyright (C) Aleksey Volynskov 1996-1997
8 Copyright (C) <ARembo@gmail.com> 2011
10 This file is part of the Doom2D:Rembo project.
12 Doom2D:Rembo is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License version 2 as
14 published by the Free Software Foundation.
16 Doom2D:Rembo is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, see <http://www.gnu.org/licenses/> or
23 write to the Free Software Foundation, Inc.,
24 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 */
27 #ifdef __cplusplus
29 #endif
31 // заголовок изображения
32 #pragma pack(1)
38 // R-красный,G-зеленый,B-синий
42 #pragma pack()
44 // 256-и цветовая палитра VGA
47 // карта цветов
50 // тип функции перерисовки экрана
58 // переключение в режим VGA 320x200,256 цветов
59 // возвращает 0, если все о'кей
62 // переключение в текстовый режим
65 // ждать обратного хода луча развертки
68 // вывести картинку i в координатах (x,y)
71 // вывести спрайт i в координатах (x,y) при помощи функции f
72 // параметры: AL=цвет_точки_спрайта EDI=>экран
73 // !!! сохраняйте все регистры, кроме EAX
74 // !!! EDI должен быть переведен на точку вправо (INC EDI или STOSB)
80 // вывести спрайт i в координатах (x,y)
83 // вывести зеркально перевернутый спрайт i в координатах (x,y)
86 // вывести форму спрайта i в координатах (x,y) одним цветом c
87 // (подходит для рисования теней)
90 // вывести точку цвета c в координатах (x,y)
99 // очистить прямоугольник цветом c
100 // x-левая сторона,w-ширина,y-верх,h-высота
103 // получить текущую палитру в массив p
106 // установить палитру из массива p
109 // установить n цветов, начиная с f, из массива p
112 // заполнить палитру одним цветом (r,g,b)
115 // приблизить палитру p к цвету (r,g,b) на s/n
116 // полученная палитра находится в pal_tmp
119 // приблизить палитру p к палитре p2 на s/n
120 // полученная палитра находится в pal_tmp
123 // вывести перемасштабированный к размерам (sx,sy) спрайт i в координатах (x,y)
126 // установить область вывода
129 // установить адрес экранного буфера
130 // NULL - реальный экран
133 // скопировать прямоугольник на экран
138 // вывести символ c
141 // вывести строку s
144 // вычислить длину строки s (в точках)
147 // вычислить ширину символа c (в точках)
150 // начать анимацию a
153 // нарисовать кадр анимации
154 // возвращает номер кадра или 0, если конец
158 // полное описание функций RD_* см. в файле REDRAW.DOC
160 // инициализация экрана
163 // начать перерисовку экрана s при помощи функции f
166 // перерисовать прямоугольник
169 // перерисовать спрайт
173 // окончание перерисовки
177 // возвращает яркость цвета (r,g,b)
180 // начать поиск по палитре p, состоящей из n цветов, первый - f
183 // найти подходящий цвет
186 // переделать изображение i по карте цветов m
190 // загружает палитру p из файла f (VGAED 2.0)
191 // возвращает 0 при ошибке
194 // загружает изображение i из файла f (VGAED 2.0)
195 // возвращает NULL при ошибке
198 // загружает анимацию из файла f
199 // возвращает NULL при ошибке
202 // область вывода
205 // адрес экранного буфера
208 // временная палитра
211 // ждать ли обратного хода луча при установке палитры
212 // 0-нет, иначе-да
215 // координаты для вывода следующего символа
218 // расстояние между символами
221 // цвет символов
222 // если 0 - не используется
225 // шрифт
228 // виртуальный экран
239 #ifdef __cplusplus
240 }
241 #endif