Subversion Repositories eduke32

Rev

Rev 5062 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1652 terminx 1
//-------------------------------------------------------------------------
2
/*
3
Copyright (C) 2010 EDuke32 developers and contributors
4
 
5
This file is part of EDuke32.
6
 
7
EDuke32 is free software; you can redistribute it and/or
8
modify it under the terms of the GNU General Public License version 2
9
as published by the Free Software Foundation.
10
 
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
 
15
See the GNU General Public License for more details.
16
 
17
You should have received a copy of the GNU General Public License
18
along with this program; if not, write to the Free Software
4541 hendricks2 19
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
1652 terminx 20
*/
21
//-------------------------------------------------------------------------
22
 
4747 terminx 23
#ifndef grpscan_h_
24
#define grpscan_h_
241 terminx 25
 
3708 terminx 26
#define MAXLISTNAMELEN 32
27
 
241 terminx 28
// List of internally-known GRP files
3803 terminx 29
#define DUKE13_CRC  (int32_t)0xBBC9CE44
30
#define DUKEKR_CRC  (int32_t)0xAA4F6A40
31
#define DUKE15_CRC  (int32_t)0xFD3DCFF1
32
#define DUKEPP_CRC  (int32_t)0xF514A6AC
33
#define DUKE099_CRC (int32_t)0x02F18900
34
#define DUKE10_CRC  (int32_t)0xA28AA589
35
#define DUKE11_CRC  (int32_t)0x912E1E8D
36
#define DUKESW_CRC  (int32_t)0x983AD923
37
#define DUKEMD_CRC  (int32_t)0xC5F71561
5062 hendricks2 38
#define DUKEDC13_CRC (int32_t)0xA9242158
39
#define DUKEDCPP_CRC (int32_t)0xB79D997F
3803 terminx 40
#define DUKEDC_CRC  (int32_t)0xA8CF80DA
5062 hendricks2 41
#define VACA13_CRC  (int32_t)0x4A2DBB62
42
#define VACAPP_CRC  (int32_t)0x2F4FCCEE
43
#define VACA15_CRC  (int32_t)0xB62B42FD
3803 terminx 44
#define DUKECB_CRC  (int32_t)0x18F01C5B
45
#define DUKENW_CRC  (int32_t)0xF1CAE8E4
46
#define NAM_CRC     (int32_t)0x75C1F07B
47
#define NAPALM_CRC  (int32_t)0x3DE1589A
48
#define WW2GI_CRC   (int32_t)0x907B82BF
3654 terminx 49
 
50
enum addon_t {
51
    ADDON_NONE,
52
    ADDON_DUKEDC,
53
    ADDON_NWINTER,
54
    ADDON_CARIBBEAN,
55
    NUMADDONS
56
};
57
 
3116 hendricks2 58
typedef struct grpfile {
3708 terminx 59
        char *name;
1205 terminx 60
        int32_t crcval;
61
        int32_t size;
62
        int32_t game;
3654 terminx 63
    int32_t dependency;
3708 terminx 64
    char *scriptname;
65
    char *defname;
5064 hendricks2 66
    void (*postprocessing)(int32_t);
241 terminx 67
        struct grpfile *next;
3116 hendricks2 68
} grpfile_type;
241 terminx 69
 
5062 hendricks2 70
extern struct grpfile internalgrpfiles[];
3116 hendricks2 71
extern struct grpfile *foundgrps;
3708 terminx 72
extern struct grpfile *listgrps;
3116 hendricks2 73
 
3654 terminx 74
extern struct grpfile * FindGroup(int32_t crcval);
1205 terminx 75
int32_t ScanGroups(void);
241 terminx 76
void FreeGroups(void);
77
 
78
#endif