doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
quaddefs.h
Go to the documentation of this file.
1 /*
2 ===========================================================================
3 
4 Doom 3 GPL Source Code
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
6 
7 This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
8 
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13 
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
21 
22 In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
23 
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
25 
26 ===========================================================================
27 */
28 #ifndef __quaddefs_h__
29 #define __quaddefs_h__
30 
31 #pragma once
32 
33 #define DEP 0
34 #define FCC 1
35 #define CCC 2
36 #define SLD 3
37 #define PAT 4
38 #define MOT 5
39 #define DEAD 6
40 
41 #define COLA 0
42 #define COLB 1
43 #define COLC 2
44 #define COLS 3
45 #define COLPATA 4
46 #define COLPATB 5
47 #define COLPATS 6
48 #define GENERATION 7
49 
50 #define CCCBITMAP 0
51 #define FCCDOMAIN 1
52 #define PATNUMBER 2
53 #define PATNUMBE2 3
54 #define PATNUMBE3 4
55 #define PATNUMBE4 5
56 #define PATNUMBE5 6
57 
58 #define MAXSIZE 16
59 #define MINSIZE 4
60 
61 #define RoQ_ID 0x1084
62 #define RoQ_QUAD 0x1000
63 #define RoQ_PUZZLE_QUAD 0x1003
64 #define RoQ_QUAD_HANG 0x1013
65 #define RoQ_QUAD_SMALL 0x1010
66 #define RoQ_QUAD_INFO 0x1001
67 #define RoQ_QUAD_VQ 0x1011
68 #define RoQ_QUAD_JPEG 0x1012
69 #define RoQ_QUAD_CODEBOOK 0x1002
70 
71 typedef struct {
72  byte size; // 32, 16, 8, or 4
73  word xat; // where is it at on the screen
74  word yat; //
75 } shortQuadCel;
76 
77 typedef struct {
78  byte size; // 32, 16, 8, or 4
79  word xat; // where is it at on the screen
80  word yat; //
81 
82  float cccsnr; // ccc bitmap snr to actual image
83  float fccsnr; // fcc bitmap snr to actual image
84  float motsnr; // delta snr to previous image
85  float sldsnr; // solid color snr
86  float patsnr;
87  float dctsnr;
88  float rsnr; // what's the current snr
89 
90  unsigned int cola; // color a for ccc
91  unsigned int colb; // color b for ccc
92  unsigned int colc; // color b for ccc
93  unsigned int sldcol; // sold color
94  unsigned int colpata;
95  unsigned int colpatb;
96  unsigned int colpats;
97  unsigned int bitmap; // ccc bitmap
98 
99  word domain; // where to copy from for fcc
100  word patten[5]; // which pattern
101 
102  int status;
103  bool mark;
104  float snr[DEAD+1]; // snrssss
105 } quadcel;
106 
107 typedef struct {
108  float snr[DEAD+1]; // snrssss
109  unsigned int cols[8];
110  unsigned int bitmaps[7]; // ccc bitmap
111 } dataQuadCel;
112 
113 typedef struct {
114  float normal;
115  unsigned short int index;
116 } norm;
117 
118 typedef struct {
119  unsigned char dtlMap[256];
120  int r[4];
121  int g[4];
122  int b[4];
123  int a[4];
124  float ymean;
125 } dtlCel;
126 
127 typedef struct {
128  byte r,g,b,a;
129 } pPixel;
130 
131 #endif // quaddef
GLubyte g
Definition: glext.h:4662
unsigned int cola
Definition: quaddefs.h:90
int status
Definition: quaddefs.h:102
float motsnr
Definition: quaddefs.h:84
float normal
Definition: quaddefs.h:114
unsigned short int index
Definition: quaddefs.h:115
#define DEAD
Definition: quaddefs.h:39
float rsnr
Definition: quaddefs.h:88
byte size
Definition: quaddefs.h:72
byte size
Definition: quaddefs.h:78
float dctsnr
Definition: quaddefs.h:87
float sldsnr
Definition: quaddefs.h:85
word xat
Definition: quaddefs.h:73
unsigned int colb
Definition: quaddefs.h:91
unsigned int bitmap
Definition: quaddefs.h:97
word yat
Definition: quaddefs.h:74
byte r
Definition: quaddefs.h:128
unsigned int colpatb
Definition: quaddefs.h:95
float patsnr
Definition: quaddefs.h:86
GLubyte GLubyte GLubyte a
Definition: glext.h:4662
float ymean
Definition: quaddefs.h:124
word domain
Definition: quaddefs.h:99
GLubyte GLubyte b
Definition: glext.h:4662
GLdouble GLdouble GLdouble r
Definition: glext.h:2951
unsigned short word
Definition: Lib.h:76
float cccsnr
Definition: quaddefs.h:82
unsigned char byte
Definition: Lib.h:75
Definition: quaddefs.h:113
unsigned int colpata
Definition: quaddefs.h:94
unsigned int sldcol
Definition: quaddefs.h:93
unsigned int colc
Definition: quaddefs.h:92
word xat
Definition: quaddefs.h:79
unsigned int colpats
Definition: quaddefs.h:96
float fccsnr
Definition: quaddefs.h:83
word yat
Definition: quaddefs.h:80
bool mark
Definition: quaddefs.h:103