3 #include "ufoai_filters.h"
6 #define FilterAdd g_FuncTable.m_pfnFilterAdd
7 #define FiltersActivate g_FuncTable.m_pfnFiltersActivate
9 static bfilter_t* filters[FILTER_MAX];
11 void UFOAIFilterInit (void)
13 filters[FILTER_ACTORCLIP] = FilterAdd(2, 0, "actorclip", UFOAI_CONTENTS_ACTORCLIP);
14 filters[FILTER_WEAPONCLIP] = FilterAdd(2, 0, "weaponclip", UFOAI_CONTENTS_WEAPONCLIP);
15 filters[FILTER_NODRAW] = FilterAdd(2, 0, "nodraw", UFOAI_SURF_NODRAW);
16 filters[FILTER_STEPON] = FilterAdd(2, 0, "stepon", UFOAI_CONTENTS_STEPON);
18 filters[FILTER_LEVEL1] = FilterAdd(2, 0, "level1", UFOAI_CONTENTS_LEVEL_1);
19 filters[FILTER_LEVEL2] = FilterAdd(2, 0, "level2", UFOAI_CONTENTS_LEVEL_2);
20 filters[FILTER_LEVEL3] = FilterAdd(2, 0, "level3", UFOAI_CONTENTS_LEVEL_3);
21 filters[FILTER_LEVEL4] = FilterAdd(2, 0, "level4", UFOAI_CONTENTS_LEVEL_4);
22 filters[FILTER_LEVEL5] = FilterAdd(2, 0, "level5", UFOAI_CONTENTS_LEVEL_5);
23 filters[FILTER_LEVEL6] = FilterAdd(2, 0, "level6", UFOAI_CONTENTS_LEVEL_6);
24 filters[FILTER_LEVEL7] = FilterAdd(2, 0, "level7", UFOAI_CONTENTS_LEVEL_7);
25 filters[FILTER_LEVEL8] = FilterAdd(2, 0, "level8", UFOAI_CONTENTS_LEVEL_8);
27 Sys_Printf("UFO:AI Filters initialized\n");
30 void PerformFiltering (int type)
33 Sys_Printf("filters are not yet initialized\n");
37 if (filters[type]->active) {
38 filters[type]->active = false;
39 Sys_Printf("filter %i deactivated\n", type);
41 filters[type]->active = true;
42 Sys_Printf("filter %i activated\n", type);
48 void DoSteponFiltering(void)
50 PerformFiltering(FILTER_STEPON);
53 void DoWeaponClipFiltering(void)
55 PerformFiltering(FILTER_WEAPONCLIP);
58 void DoActorClipFiltering(void)
60 PerformFiltering(FILTER_ACTORCLIP);
63 void DoNoDrawFiltering(void)
65 PerformFiltering(FILTER_NODRAW);
68 void DoLevel1Filtering(void)
70 PerformFiltering(FILTER_LEVEL1);
73 void DoLevel2Filtering(void)
75 PerformFiltering(FILTER_LEVEL2);
78 void DoLevel3Filtering(void)
80 PerformFiltering(FILTER_LEVEL3);
83 void DoLevel4Filtering(void)
85 PerformFiltering(FILTER_LEVEL4);
88 void DoLevel5Filtering(void)
90 PerformFiltering(FILTER_LEVEL5);
93 void DoLevel6Filtering(void)
95 PerformFiltering(FILTER_LEVEL6);
98 void DoLevel7Filtering(void)
100 PerformFiltering(FILTER_LEVEL7);
103 void DoLevel8Filtering(void)
105 PerformFiltering(FILTER_LEVEL8);