]> icculus.org git repositories - taylor/freespace2.git/blob - src/freespace2/levelpaging.cpp
Initial revision
[taylor/freespace2.git] / src / freespace2 / levelpaging.cpp
1 /*
2  * $Logfile: /Freespace2/code/Freespace2/LevelPaging.cpp $
3  * $Revision$
4  * $Date$
5  * $Author$
6  *
7  * Code to page in all the bitmaps at the beginning of a level.
8  *
9  * $Log$
10  * Revision 1.1  2002/05/03 03:28:09  root
11  * Initial revision
12  *
13  * 
14  * 4     8/19/99 10:12a Alanl
15  * preload mission-specific messages on machines greater than 48MB
16  * 
17  * 3     8/10/99 6:54p Dave
18  * Mad optimizations. Added paging to the nebula effect.
19  * 
20  * 2     10/07/98 10:54a Dave
21  * Initial checkin.
22  * 
23  * 1     10/07/98 10:48a Dave
24  * 
25  * 6     5/23/98 4:14p John
26  * Added code to preload textures to video card for AGP.   Added in code
27  * to page in some bitmaps that weren't getting paged in at level start.
28  * 
29  * 5     4/05/98 4:15p Dave
30  * Fixed a weapons model paging problem with the standalone server.
31  * 
32  * 4     4/01/98 5:34p John
33  * Made only the used POFs page in for a level.   Reduced some interp
34  * arrays.    Made custom detail level work differently.
35  * 
36  * 3     3/29/98 4:05p John
37  * New paging code that loads everything necessary at level startup.
38  * 
39  * 2     3/26/98 5:26p John
40  * added new paging code. nonfunctional.
41  * 
42  * 1     3/26/98 5:14p John
43  *
44  * $NoKeywords: $
45  */
46
47 #include "freespace.h"
48 #include "bmpman.h"
49 #include "levelpaging.h"
50
51 // All the page in functions
52 extern void ship_page_in();
53 extern void debris_page_in();
54 extern void particle_page_in();
55 extern void stars_page_in();
56 extern void hud_page_in();
57 extern void radar_page_in();
58 extern void weapons_page_in();
59 extern void fireballs_page_in();
60 extern void shockwave_page_in();
61 extern void shield_hit_page_in();
62 extern void asteroid_page_in();
63 extern void training_mission_page_in();
64 extern void neb2_page_in();
65 extern void message_pagein_mission_messages();
66
67 // Pages in all the texutures for the currently
68 // loaded mission.  Call game_busy() occasionally...
69 void level_page_in()
70 {
71
72         mprintf(( "Beginning level bitmap paging...\n" ));
73
74         if(!(Game_mode & GM_STANDALONE_SERVER)){                
75                 bm_page_in_start();
76         }
77
78         // Most important ones first
79         ship_page_in();
80         weapons_page_in();
81         fireballs_page_in();
82         particle_page_in();
83         debris_page_in();
84         hud_page_in();
85         radar_page_in();
86         training_mission_page_in();
87         stars_page_in();
88         shockwave_page_in();
89         shield_hit_page_in();
90         asteroid_page_in();
91         neb2_page_in();
92
93         // preload mission messages if NOT running low-memory (greater than 48MB)
94         if (game_using_low_mem() == false) {
95                 message_pagein_mission_messages();
96         }
97
98         if(!(Game_mode & GM_STANDALONE_SERVER)){
99                 bm_page_in_stop();
100         }
101
102         mprintf(( "Ending level bitmap paging...\n" ));
103
104 }