float dialoguetime;
int dialoguegonethrough[20];
-std::vector<TextureInfo> Game::textures;
-
Game::Game()
{
terraintexture = 0;
memset(endy, 0, sizeof(endy));
memset(selectedlong, 0, sizeof(selectedlong));
- memset(offsetx, 0, sizeof(offsetx));
- memset(offsety, 0, sizeof(offsety));
- memset(movex, 0, sizeof(movex));
- memset(movey, 0, sizeof(movey));
- memset(endy, 0, sizeof(endy));
- transition = 0;
- anim = 0;
selected = 0;
- loaddistrib = 0;
keyselect = 0;
indemo = 0;
*/
stealthloading = 0;
- campaignnumlevels = 0;
-
- memset(campaignmapname, 0, sizeof(campaignmapname));
- memset(campaigndescription, 0, sizeof(campaigndescription));
- memset(campaignchoosenext, 0, sizeof(campaignchoosenext));
- memset(campaignnumnext, 0, sizeof(campaignnumnext));
- memset(campaignnextlevel, 0, sizeof(campaignnextlevel));
- memset(campaignlocationx, 0, sizeof(campaignlocationx));
- memset(campaignlocationy, 0, sizeof(campaignlocationy));
- memset(campaignlocationy, 0, sizeof(campaignlocationy));
-
- campaignchoicenum = 0;
-
- memset(campaignchoicewhich, 0, sizeof(campaignchoicewhich));
-
whichchoice = 0;
-
- numlevelspassed = 0;
-
- memset(levelorder, 0, sizeof(levelorder));
- memset(levelvisible, 0, sizeof(levelvisible));
- memset(levelhighlight, 0, sizeof(levelhighlight));
+ actuallevel = 0;
+ winhotspot = false;
+ windialogue = false;
minimap = 0;
scoreadded = 0;
numchallengelevels = 0;
- console = 0;
+ console = false;
archiveselected = 0;
memset(consoletext, 0, sizeof(consoletext));
autocam = 0;
crouchkey = 0,jumpkey = 0,forwardkey = 0,chatkey = 0,backkey = 0,leftkey = 0,rightkey = 0,drawkey = 0,throwkey = 0,attackkey = 0;
+ consolekey = 0;
oldattackkey = 0;
loading = 0;
void Game::inputText(char* str, int* charselected, int* nb_chars) {
SDL_Event evenement;
- int i;
if(!waiting) {
waiting=true;
SDL_EnableUNICODE(true);
}
- SDL_PollEvent(&evenement);
+ while(SDL_PollEvent(&evenement)) {
- switch(evenement.type) {
- case SDL_KEYDOWN:
- if(evenement.key.keysym.sym == SDLK_ESCAPE) {
- for(i=0;i<255;i++)
- str[i]=0;
- *nb_chars=0;
- *charselected=0;
- waiting=false;
- } else if(evenement.key.keysym.sym==SDLK_BACKSPACE){
- if((*charselected)!=0) {
- for(i=(*charselected)-1;i<255;i++)
- str[i]=str[i+1];
- str[255]=0;
- (*charselected)--;
- (*nb_chars)--;
- }
- } else if(evenement.key.keysym.sym==SDLK_DELETE){
- if((*charselected)<(*nb_chars)){
- for(i=(*charselected);i<255;i++)
- str[i]=str[i+1];
- str[255]=0;
- (*nb_chars)--;
- }
- } else if(evenement.key.keysym.sym==SDLK_HOME){
- (*charselected)=0;
- } else if(evenement.key.keysym.sym==SDLK_END){
- (*charselected)=(*nb_chars);
- } else if(evenement.key.keysym.sym==SDLK_LEFT){
- if((*charselected)!=0)
- (*charselected)--;
- } else if(evenement.key.keysym.sym==SDLK_RIGHT){
- if((*charselected)<(*nb_chars))
+ switch(evenement.type) {
+ case SDL_KEYDOWN:
+ if(evenement.key.keysym.sym == SDLK_ESCAPE) {
+ for(int i=0;i<255;i++)
+ str[i]=0;
+ *nb_chars=0;
+ *charselected=0;
+ waiting=false;
+ } else if(evenement.key.keysym.sym==SDLK_BACKSPACE){
+ if((*charselected)!=0) {
+ for(int i=(*charselected)-1;i<255;i++)
+ str[i]=str[i+1];
+ str[255]=0;
+ (*charselected)--;
+ (*nb_chars)--;
+ }
+ } else if(evenement.key.keysym.sym==SDLK_DELETE){
+ if((*charselected)<(*nb_chars)){
+ for(int i=(*charselected);i<255;i++)
+ str[i]=str[i+1];
+ str[255]=0;
+ (*nb_chars)--;
+ }
+ } else if(evenement.key.keysym.sym==SDLK_HOME){
+ (*charselected)=0;
+ } else if(evenement.key.keysym.sym==SDLK_END){
+ (*charselected)=(*nb_chars);
+ } else if(evenement.key.keysym.sym==SDLK_LEFT){
+ if((*charselected)!=0)
+ (*charselected)--;
+ } else if(evenement.key.keysym.sym==SDLK_RIGHT){
+ if((*charselected)<(*nb_chars))
+ (*charselected)++;
+ } else if(evenement.key.keysym.sym==SDLK_RETURN) {
+ waiting=false;
+ } else if(evenement.key.keysym.unicode>=32&&evenement.key.keysym.unicode<127&&(*nb_chars)<60){
+ for(int i=255;i>=(*charselected)+1;i--)
+ str[i]=str[i-1];
+ str[*charselected]=evenement.key.keysym.unicode;
(*charselected)++;
- } else if(evenement.key.keysym.sym==SDLK_RETURN) {
- waiting=false;
- } else if(evenement.key.keysym.unicode>=32&&evenement.key.keysym.unicode<127&&(*nb_chars)<60){
- for(i=255;i>=(*charselected)+1;i--)
- str[i]=str[i-1];
- str[*charselected]=evenement.key.keysym.unicode;
- (*charselected)++;
- (*nb_chars)++;
- }
- break;
+ (*nb_chars)++;
+ }
+ break;
+ }
}
if(!waiting) {
break;
case 8: attackkey=keycode;
break;
+ case 9: consolekey=keycode;
+ break;
default:
break;
}