static _DATA_TYPE_ GetDataFromCSVTable <_DATA_TYPE_>(IRogueUI ui, CSVTable table, Func <CSVLine, _DATA_TYPE_> fn, IDs skillID) { // get line for id in table. CSVLine line = FindLineForModel(table, skillID); if (line == null) { throw new InvalidOperationException(String.Format("skill {0} not found", skillID.ToString())); } // get data from line. _DATA_TYPE_ data; try { data = fn(line); } catch (Exception e) { throw new InvalidOperationException(String.Format("invalid data format for skill {0}; exception : {1}", skillID.ToString(), e.ToString())); } // ok. return(data); }
static bool LoadDataFromCSV <_DATA_TYPE_>(IRogueUI ui, string path, string kind, int fieldsCount, Func <CSVLine, _DATA_TYPE_> fn, IDs[] idsToRead, out _DATA_TYPE_[] data) { ////////////////////////// // Read & parse csv file. ////////////////////////// Notify(ui, kind, "loading file..."); // read the whole file. List <string> allLines = new List <string>(); bool ignoreHeader = true; using (StreamReader reader = File.OpenText(path)) { while (!reader.EndOfStream) { string inLine = reader.ReadLine(); if (ignoreHeader) { ignoreHeader = false; continue; } allLines.Add(inLine); } reader.Close(); } // parse all the lines read. Notify(ui, kind, "parsing CSV..."); CSVParser parser = new CSVParser(); CSVTable table = parser.ParseToTable(allLines.ToArray(), fieldsCount); ///////////// // Set data. ///////////// Notify(ui, kind, "reading data..."); data = new _DATA_TYPE_[idsToRead.Length]; for (int i = 0; i < idsToRead.Length; i++) { data[i] = GetDataFromCSVTable <_DATA_TYPE_>(ui, table, fn, idsToRead[i]); } ////////////// // all fine. ///////////// Notify(ui, kind, "done!"); return(true); }
public void Draw(IRogueUI ui, int freshMessagesTurn, int gx, int gy) { for (int index = 0; index < m_Messages.Count; ++index) { Message message = m_Messages[index]; int alpha = Math.Max(64, (int)byte.MaxValue - m_FadeoutFactor * (m_Messages.Count - 1 - index)); Color color = Color.FromArgb(alpha, message.Color); if (message.Turn >= freshMessagesTurn) { ui.UI_DrawStringBold(color, message.Text, gx, gy, new Color?()); } else { ui.UI_DrawString(color, message.Text, gx, gy, new Color?()); } gy += m_LinesSpacing; } }
private static void LoadDataFromCSV <_DATA_TYPE_>(IRogueUI ui, string path, string kind, int fieldsCount, Func <CSVLine, _DATA_TYPE_> fn, Skills.IDs[] idsToRead, out _DATA_TYPE_[] data) { #if DEBUG if (null == ui) { throw new ArgumentNullException(nameof(ui)); } if (string.IsNullOrEmpty(path)) { throw new ArgumentOutOfRangeException(nameof(path), path, "string.IsNullOrEmpty(path)"); } #endif Skills.Notify(ui, kind, "loading file..."); List <string> stringList = new List <string>(); bool flag = true; using (StreamReader streamReader = File.OpenText(path)) { while (!streamReader.EndOfStream) { string str = streamReader.ReadLine(); if (flag) { flag = false; } else { stringList.Add(str); } } } Notify(ui, kind, "parsing CSV..."); CSVTable toTable = new CSVParser().ParseToTable(stringList.ToArray(), fieldsCount); Notify(ui, kind, "reading data..."); data = new _DATA_TYPE_[idsToRead.Length]; for (int index = 0; index < idsToRead.Length; ++index) { data[index] = toTable.GetDataFor <_DATA_TYPE_, Skills.IDs>(fn, idsToRead[index]); } Notify(ui, kind, "done!"); }
public void Draw(IRogueUI ui, int freshMessagesTurn, int gx, int gy) { for (int i = 0; i < m_Messages.Count; i++) { Message msg = m_Messages[i]; int alpha = Math.Max(64, 255 - m_FadeoutFactor * (m_Messages.Count - 1 - i)); bool isLatest = (m_Messages[i].Turn >= freshMessagesTurn); Color dimmedColor = Color.FromArgb(alpha, msg.Color); if (isLatest) { ui.UI_DrawStringBold(dimmedColor, msg.Text, gx, gy); } else { ui.UI_DrawString(dimmedColor, msg.Text, gx, gy); } gy += m_LinesSpacing; } }
public static bool LoadSkillsFromCSV(IRogueUI ui, string path) { SkillData[] data; LoadDataFromCSV <SkillData>(ui, path, "skills", SkillData.COUNT_FIELDS, SkillData.FromCSVLine, new IDs[] { IDs.AGILE, IDs.AWAKE, IDs.BOWS, IDs.CARPENTRY, IDs.CHARISMATIC, IDs.FIREARMS, IDs.HARDY, IDs.HAULER, IDs.HIGH_STAMINA, IDs.LEADERSHIP, IDs.LIGHT_EATER, IDs.LIGHT_FEET, IDs.LIGHT_SLEEPER, IDs.MARTIAL_ARTS, IDs.MEDIC, IDs.NECROLOGY, IDs.STRONG, IDs.STRONG_PSYCHE, IDs.TOUGH, IDs.UNSUSPICIOUS, IDs.Z_AGILE, IDs.Z_EATER, IDs.Z_GRAB, IDs.Z_INFECTOR, IDs.Z_LIGHT_EATER, IDs.Z_LIGHT_FEET, IDs.Z_STRONG, IDs.Z_TOUGH, IDs.Z_TRACKER }, out data); // names. for (int i = (int)IDs._FIRST; i < (int)IDs._COUNT; i++) { s_Names[i] = data[i].NAME; } // then skills value. SkillData s; s = data[(int)IDs.AGILE]; Rules.SKILL_AGILE_ATK_BONUS = (int)s.VALUE1; Rules.SKILL_AGILE_DEF_BONUS = (int)s.VALUE2; s = data[(int)IDs.AWAKE]; Rules.SKILL_AWAKE_SLEEP_BONUS = s.VALUE1; Rules.SKILL_AWAKE_SLEEP_REGEN_BONUS = s.VALUE2; s = data[(int)IDs.BOWS]; Rules.SKILL_BOWS_ATK_BONUS = (int)s.VALUE1; Rules.SKILL_BOWS_DMG_BONUS = (int)s.VALUE2; s = data[(int)IDs.CARPENTRY]; Rules.SKILL_CARPENTRY_BARRICADING_BONUS = s.VALUE1; Rules.SKILL_CARPENTRY_LEVEL3_BUILD_BONUS = (int)s.VALUE2; s = data[(int)IDs.CHARISMATIC]; Rules.SKILL_CHARISMATIC_TRUST_BONUS = (int)s.VALUE1; Rules.SKILL_CHARISMATIC_TRADE_BONUS = (int)s.VALUE2; s = data[(int)IDs.FIREARMS]; Rules.SKILL_FIREARMS_ATK_BONUS = (int)s.VALUE1; Rules.SKILL_FIREARMS_DMG_BONUS = (int)s.VALUE2; s = data[(int)IDs.HARDY]; Rules.SKILL_HARDY_HEAL_CHANCE_BONUS = (int)s.VALUE1; s = data[(int)IDs.HAULER]; Rules.SKILL_HAULER_INV_BONUS = (int)s.VALUE1; s = data[(int)IDs.HIGH_STAMINA]; Rules.SKILL_HIGH_STAMINA_STA_BONUS = (int)s.VALUE1; s = data[(int)IDs.LEADERSHIP]; Rules.SKILL_LEADERSHIP_FOLLOWER_BONUS = (int)s.VALUE1; s = data[(int)IDs.LIGHT_EATER]; Rules.SKILL_LIGHT_EATER_FOOD_BONUS = s.VALUE1; Rules.SKILL_LIGHT_EATER_MAXFOOD_BONUS = s.VALUE2; s = data[(int)IDs.LIGHT_FEET]; Rules.SKILL_LIGHT_FEET_TRAP_BONUS = (int)s.VALUE1; s = data[(int)IDs.LIGHT_SLEEPER]; Rules.SKILL_LIGHT_SLEEPER_WAKEUP_CHANCE_BONUS = (int)s.VALUE1; s = data[(int)IDs.MARTIAL_ARTS]; Rules.SKILL_MARTIAL_ARTS_ATK_BONUS = (int)s.VALUE1; Rules.SKILL_MARTIAL_ARTS_DMG_BONUS = (int)s.VALUE2; Rules.SKILL_MARTIAL_ARTS_DISARM_BONUS = (int)s.VALUE3; s = data[(int)IDs.MEDIC]; Rules.SKILL_MEDIC_BONUS = s.VALUE1; Rules.SKILL_MEDIC_REVIVE_BONUS = (int)s.VALUE2; s = data[(int)IDs.NECROLOGY]; Rules.SKILL_NECROLOGY_UNDEAD_BONUS = (int)s.VALUE1; Rules.SKILL_NECROLOGY_CORPSE_BONUS = (int)s.VALUE2; s = data[(int)IDs.STRONG]; Rules.SKILL_STRONG_DMG_BONUS = (int)s.VALUE1; Rules.SKILL_STRONG_THROW_BONUS = (int)s.VALUE2; s = data[(int)IDs.STRONG_PSYCHE]; Rules.SKILL_STRONG_PSYCHE_LEVEL_BONUS = s.VALUE1; s = data[(int)IDs.TOUGH]; Rules.SKILL_TOUGH_HP_BONUS = (int)s.VALUE1; s = data[(int)IDs.UNSUSPICIOUS]; Rules.SKILL_UNSUSPICIOUS_BONUS = (int)s.VALUE1; s = data[(int)IDs.Z_AGILE]; Rules.SKILL_ZAGILE_ATK_BONUS = (int)s.VALUE1; Rules.SKILL_ZAGILE_DEF_BONUS = (int)s.VALUE2; s = data[(int)IDs.Z_EATER]; Rules.SKILL_ZEATER_REGEN_BONUS = s.VALUE1; s = data[(int)IDs.Z_INFECTOR]; Rules.SKILL_ZINFECTOR_BONUS = s.VALUE1; s = data[(int)IDs.Z_GRAB]; Rules.SKILL_ZGRAB_CHANCE = (int)s.VALUE1; s = data[(int)IDs.Z_LIGHT_EATER]; Rules.SKILL_ZLIGHT_EATER_FOOD_BONUS = s.VALUE1; Rules.SKILL_ZLIGHT_EATER_MAXFOOD_BONUS = s.VALUE2; s = data[(int)IDs.Z_LIGHT_FEET]; Rules.SKILL_ZLIGHT_FEET_TRAP_BONUS = (int)s.VALUE1; s = data[(int)IDs.Z_STRONG]; Rules.SKILL_ZSTRONG_DMG_BONUS = (int)s.VALUE1; s = data[(int)IDs.Z_TOUGH]; Rules.SKILL_ZTOUGH_HP_BONUS = (int)s.VALUE1; s = data[(int)IDs.Z_TRACKER]; Rules.SKILL_ZTRACKER_SMELL_BONUS = s.VALUE1; return(true); }
static void Notify(IRogueUI ui, string what, string stage) { ui.UI_Clear(Color.Black); ui.UI_DrawStringBold(Color.White, "Loading " + what + " data : " + stage, 0, 0); ui.UI_Repaint(); }
public static bool LoadSkillsFromCSV(IRogueUI ui, string path) { #if DEBUG if (string.IsNullOrEmpty(path)) { throw new ArgumentOutOfRangeException(nameof(path), path, "string.IsNullOrEmpty(path)"); } #endif Skills.LoadDataFromCSV <Skills.SkillData>(ui, path, "skills", SkillData.COUNT_FIELDS, new Func <CSVLine, SkillData>(Skills.SkillData.FromCSVLine), new Skills.IDs[(int)Skills.IDs._COUNT] { Skills.IDs.AGILE, Skills.IDs.AWAKE, Skills.IDs.BOWS, Skills.IDs.CARPENTRY, Skills.IDs.CHARISMATIC, Skills.IDs.FIREARMS, Skills.IDs.HARDY, Skills.IDs.HAULER, Skills.IDs.HIGH_STAMINA, Skills.IDs.LEADERSHIP, Skills.IDs.LIGHT_EATER, Skills.IDs.LIGHT_FEET, Skills.IDs.LIGHT_SLEEPER, Skills.IDs.MARTIAL_ARTS, Skills.IDs.MEDIC, Skills.IDs.NECROLOGY, Skills.IDs.STRONG, Skills.IDs.STRONG_PSYCHE, Skills.IDs.TOUGH, Skills.IDs.UNSUSPICIOUS, Skills.IDs.Z_AGILE, Skills.IDs.Z_EATER, Skills.IDs.Z_GRAB, Skills.IDs.Z_INFECTOR, Skills.IDs.Z_LIGHT_EATER, Skills.IDs.Z_LIGHT_FEET, Skills.IDs.Z_STRONG, Skills.IDs.Z_TOUGH, Skills.IDs.Z_TRACKER }, out SkillData[] data); for (int index = 0; index < (int)Skills.IDs._COUNT; ++index) { s_Names[index] = data[index].NAME; } SkillData skillData1 = data[0]; Actor.SKILL_AGILE_ATK_BONUS = (int)skillData1.VALUE1; Rules.SKILL_AGILE_DEF_BONUS = (int)skillData1.VALUE2; skillData1 = data[1]; Actor.SKILL_AWAKE_SLEEP_BONUS = skillData1.VALUE1; Actor.SKILL_AWAKE_SLEEP_REGEN_BONUS = skillData1.VALUE2; skillData1 = data[2]; Actor.SKILL_BOWS_ATK_BONUS = (int)skillData1.VALUE1; Actor.SKILL_BOWS_DMG_BONUS = (int)skillData1.VALUE2; skillData1 = data[3]; Actor.SKILL_CARPENTRY_BARRICADING_BONUS = skillData1.VALUE1; Actor.SKILL_CARPENTRY_LEVEL3_BUILD_BONUS = (int)skillData1.VALUE2; skillData1 = data[4]; Actor.SKILL_CHARISMATIC_TRUST_BONUS = (int)skillData1.VALUE1; Actor.SKILL_CHARISMATIC_TRADE_BONUS = (int)skillData1.VALUE2; skillData1 = data[5]; Actor.SKILL_FIREARMS_ATK_BONUS = (int)skillData1.VALUE1; Actor.SKILL_FIREARMS_DMG_BONUS = (int)skillData1.VALUE2; skillData1 = data[6]; Actor.SKILL_HARDY_HEAL_CHANCE_BONUS = (int)skillData1.VALUE1; skillData1 = data[7]; Actor.SKILL_HAULER_INV_BONUS = (int)skillData1.VALUE1; skillData1 = data[8]; Actor.SKILL_HIGH_STAMINA_STA_BONUS = (int)skillData1.VALUE1; skillData1 = data[9]; Actor.SKILL_LEADERSHIP_FOLLOWER_BONUS = (int)skillData1.VALUE1; skillData1 = data[10]; Actor.SKILL_LIGHT_EATER_FOOD_BONUS = skillData1.VALUE1; Actor.SKILL_LIGHT_EATER_MAXFOOD_BONUS = skillData1.VALUE2; SkillData skillData2 = data[11]; Rules.SKILL_LIGHT_FEET_TRAP_BONUS = (int)skillData2.VALUE1; skillData2 = data[12]; Actor.SKILL_LIGHT_SLEEPER_WAKEUP_CHANCE_BONUS = (int)skillData2.VALUE1; skillData2 = data[13]; Actor.SKILL_MARTIAL_ARTS_ATK_BONUS = (int)skillData2.VALUE1; Actor.SKILL_MARTIAL_ARTS_DMG_BONUS = (int)skillData2.VALUE2; skillData2 = data[14]; Actor.SKILL_MEDIC_BONUS = skillData2.VALUE1; Actor.SKILL_MEDIC_REVIVE_BONUS = (int)skillData2.VALUE2; skillData2 = data[15]; Actor.SKILL_NECROLOGY_UNDEAD_BONUS = (int)skillData2.VALUE1; Actor.SKILL_NECROLOGY_CORPSE_BONUS = (int)skillData2.VALUE2; skillData2 = data[16]; Actor.SKILL_STRONG_DMG_BONUS = (int)skillData2.VALUE1; Actor.SKILL_STRONG_THROW_BONUS = (int)skillData2.VALUE2; skillData2 = data[17]; Actor.SKILL_STRONG_PSYCHE_LEVEL_BONUS = skillData2.VALUE1; Actor.SKILL_STRONG_PSYCHE_ENT_BONUS = skillData2.VALUE2; skillData2 = data[18]; Actor.SKILL_TOUGH_HP_BONUS = (int)skillData2.VALUE1; skillData2 = data[19]; Actor.SKILL_UNSUSPICIOUS_BONUS = (int)skillData2.VALUE1; skillData2 = data[20]; Actor.SKILL_ZAGILE_ATK_BONUS = (int)skillData2.VALUE1; Rules.SKILL_ZAGILE_DEF_BONUS = (int)skillData2.VALUE2; skillData2 = data[21]; Actor.SKILL_ZEATER_REGEN_BONUS = skillData2.VALUE1; skillData2 = data[23]; Actor.SKILL_ZINFECTOR_BONUS = skillData2.VALUE1; skillData2 = data[22]; Rules.SKILL_ZGRAB_CHANCE = (int)skillData2.VALUE1; skillData2 = data[24]; Actor.SKILL_ZLIGHT_EATER_FOOD_BONUS = skillData2.VALUE1; Actor.SKILL_ZLIGHT_EATER_MAXFOOD_BONUS = skillData2.VALUE2; skillData2 = data[25]; Rules.SKILL_ZLIGHT_FEET_TRAP_BONUS = (int)skillData2.VALUE1; skillData2 = data[26]; Actor.SKILL_ZSTRONG_DMG_BONUS = (int)skillData2.VALUE1; skillData2 = data[27]; Actor.SKILL_ZTOUGH_HP_BONUS = (int)skillData2.VALUE1; skillData2 = data[28]; Actor.SKILL_ZTRACKER_SMELL_BONUS = skillData2.VALUE1; return(true); }
static void Notify(IRogueUI ui, string stage) { ui.UI_Clear(Color.Black); ui.UI_DrawStringBold(Color.White, "Loading resources: " + stage, 0, 0); ui.UI_Repaint(); }
public static void LoadResources(IRogueUI ui) { #region Icons Notify(ui, "icons..."); Load(ACTIVITY_CHASING); Load(ACTIVITY_CHASING_PLAYER); Load(ACTIVITY_TRACKING); Load(ACTIVITY_FLEEING); Load(ACTIVITY_FLEEING_FROM_EXPLOSIVE); Load(ACTIVITY_FOLLOWING); Load(ACTIVITY_FOLLOWING_ORDER); Load(ACTIVITY_FOLLOWING_PLAYER); Load(ACTIVITY_SLEEPING); Load(ICON_EXPIRED_FOOD); Load(ICON_TARGET); Load(ICON_MELEE_ATTACK); Load(ICON_MELEE_MISS); Load(ICON_MELEE_DAMAGE); Load(ICON_RANGED_ATTACK); Load(ICON_RANGED_DAMAGE); Load(ICON_RANGED_MISS); Load(ICON_KILLED); Load(ICON_LEADER); Load(ICON_RUNNING); Load(ICON_CANT_RUN); Load(ICON_CAN_TRADE); Load(ICON_OUT_OF_AMMO); Load(ICON_OUT_OF_BATTERIES); Load(ICON_SLEEP_ALMOST_SLEEPY); Load(ICON_SLEEP_SLEEPY); Load(ICON_SLEEP_EXHAUSTED); Load(ICON_SPOILED_FOOD); Load(ICON_FOOD_ALMOST_HUNGRY); Load(ICON_FOOD_HUNGRY); Load(ICON_FOOD_STARVING); Load(ICON_LINE_BAD); Load(ICON_LINE_BLOCKED); Load(ICON_LINE_CLEAR); Load(ICON_BLAST); Load(ICON_HEALING); Load(ICON_IS_TARGET); Load(ICON_IS_TARGETTED); Load(ICON_THREAT_DANGER); Load(ICON_THREAT_HIGH_DANGER); Load(ICON_THREAT_SAFE); Load(ICON_SCENT_LIVING); Load(ICON_SCENT_ZOMBIEMASTER); Load(ICON_SCENT_LIVING_SUPRESSOR); Load(ICON_SELF_DEFENCE); Load(ICON_INDIRECT_ENEMIES); Load(ICON_AGGRESSOR); Load(ICON_TRAP_ACTIVATED); Load(ICON_TRAP_TRIGGERED); Load(ICON_ROT_ALMOST_HUNGRY); Load(ICON_ROT_HUNGRY); Load(ICON_ROT_STARVING); Load(ICON_SANITY_INSANE); Load(ICON_SANITY_DISTURBED); Load(ICON_BORING_ITEM); #endregion #region Tiles Notify(ui, "tiles..."); Load(TILE_FLOOR_ASPHALT); Load(TILE_FLOOR_CONCRETE); Load(TILE_FLOOR_GRASS); Load(TILE_FLOOR_OFFICE); Load(TILE_FLOOR_PLANKS); Load(TILE_FLOOR_SEWER_WATER); Load(TILE_FLOOR_SEWER_WATER_ANIM1); Load(TILE_FLOOR_SEWER_WATER_ANIM2); Load(TILE_FLOOR_SEWER_WATER_ANIM3); Load(TILE_FLOOR_SEWER_WATER_COVER); Load(TILE_FLOOR_TILES); Load(TILE_FLOOR_WALKWAY); Load(TILE_ROAD_ASPHALT_NS); Load(TILE_ROAD_ASPHALT_EW); Load(TILE_RAIL_ES); Load(TILE_WALL_BRICK); Load(TILE_WALL_CHAR_OFFICE); Load(TILE_WALL_HOSPITAL); Load(TILE_WALL_SEWER); Load(TILE_WALL_STONE); #endregion #region Tile decorations Notify(ui, "tile decorations..."); Load(DECO_BLOODIED_FLOOR); Load(DECO_BLOODIED_WALL); Load(DECO_ZOMBIE_REMAINS); Load(DECO_VOMIT); Load(DECO_POSTERS1); Load(DECO_POSTERS2); Load(DECO_TAGS1); Load(DECO_TAGS2); Load(DECO_TAGS3); Load(DECO_TAGS4); Load(DECO_TAGS5); Load(DECO_TAGS6); Load(DECO_TAGS7); Load(DECO_SHOP_CONSTRUCTION); Load(DECO_SHOP_GENERAL_STORE); Load(DECO_SHOP_GROCERY); Load(DECO_SHOP_GUNSHOP); Load(DECO_SHOP_PHARMACY); Load(DECO_SHOP_SPORTSWEAR); Load(DECO_SHOP_HUNTING); Load(DECO_CHAR_OFFICE); Load(DECO_CHAR_FLOOR_LOGO); Load(DECO_CHAR_POSTER1); Load(DECO_CHAR_POSTER2); Load(DECO_CHAR_POSTER3); Load(DECO_PLAYER_TAG1); Load(DECO_PLAYER_TAG2); Load(DECO_PLAYER_TAG3); Load(DECO_PLAYER_TAG4); Load(DECO_ROGUEDJACK_TAG); Load(DECO_SEWER_LADDER); Load(DECO_SEWER_HOLE); Load(DECO_SEWERS_BUILDING); Load(DECO_SUBWAY_BUILDING); Load(DECO_STAIRS_DOWN); Load(DECO_STAIRS_UP); Load(DECO_POWER_SIGN_BIG); Load(DECO_POLICE_STATION); Load(DECO_HOSPITAL); #endregion #region Map objects Notify(ui, "map objects..."); Load(OBJ_TREE); Load(OBJ_WOODEN_DOOR_CLOSED); Load(OBJ_WOODEN_DOOR_OPEN); Load(OBJ_WOODEN_DOOR_BROKEN); Load(OBJ_GLASS_DOOR_CLOSED); Load(OBJ_GLASS_DOOR_OPEN); Load(OBJ_GLASS_DOOR_BROKEN); Load(OBJ_CHAR_DOOR_BROKEN); Load(OBJ_CHAR_DOOR_CLOSED); Load(OBJ_CHAR_DOOR_OPEN); Load(OBJ_WINDOW_CLOSED); Load(OBJ_WINDOW_OPEN); Load(OBJ_WINDOW_BROKEN); Load(OBJ_BENCH); Load(OBJ_FENCE); Load(OBJ_CAR1); Load(OBJ_CAR2); Load(OBJ_CAR3); Load(OBJ_CAR4); Load(OBJ_SHOP_SHELF); Load(OBJ_BED); Load(OBJ_WARDROBE); Load(OBJ_TABLE); Load(OBJ_FRIDGE); Load(OBJ_DRAWER); Load(OBJ_CHAIR); Load(OBJ_NIGHT_TABLE); Load(OBJ_CHAR_CHAIR); Load(OBJ_CHAR_TABLE); Load(OBJ_IRON_BENCH); Load(OBJ_IRON_FENCE); Load(OBJ_IRON_DOOR_BROKEN); Load(OBJ_IRON_DOOR_CLOSED); Load(OBJ_IRON_DOOR_OPEN); Load(OBJ_BARRELS); Load(OBJ_JUNK); Load(OBJ_POWERGEN_OFF); Load(OBJ_POWERGEN_ON); Load(OBJ_GATE_CLOSED); Load(OBJ_GATE_OPEN); Load(OBJ_BOARD); Load(OBJ_SMALL_WOODEN_FORTIFICATION); Load(OBJ_LARGE_WOODEN_FORTIFICATION); Load(OBJ_HOSPITAL_BED); Load(OBJ_HOSPITAL_CHAIR); Load(OBJ_HOSPITAL_DOOR_BROKEN); Load(OBJ_HOSPITAL_DOOR_CLOSED); Load(OBJ_HOSPITAL_DOOR_OPEN); Load(OBJ_HOSPITAL_NIGHT_TABLE); Load(OBJ_HOSPITAL_WARDROBE); #endregion #region Actors Notify(ui, "actors..."); Load(PLAYER_FOLLOWER); Load(PLAYER_FOLLOWER_TRUST); Load(PLAYER_FOLLOWER_BOND); Load(ACTOR_SKELETON); Load(ACTOR_RED_EYED_SKELETON); Load(ACTOR_RED_SKELETON); Load(ACTOR_ZOMBIE); Load(ACTOR_DARK_EYED_ZOMBIE); Load(ACTOR_DARK_ZOMBIE); Load(ACTOR_MALE_NEOPHYTE); Load(ACTOR_FEMALE_NEOPHYTE); Load(ACTOR_MALE_DISCIPLE); Load(ACTOR_FEMALE_DISCIPLE); Load(ACTOR_ZOMBIE_MASTER); Load(ACTOR_ZOMBIE_LORD); Load(ACTOR_ZOMBIE_PRINCE); Load(ACTOR_RAT_ZOMBIE); Load(ACTOR_SEWERS_THING); Load(ACTOR_JASON_MYERS); Load(ACTOR_BIG_BEAR); Load(ACTOR_FAMU_FATARU); Load(ACTOR_SANTAMAN); Load(ACTOR_ROGUEDJACK); Load(ACTOR_DUCKMAN); Load(ACTOR_HANS_VON_HANZ); #endregion #region Actor decorations Notify(ui, "actor decorations..."); Load(BLOODIED); Load(MALE_SKIN1); Load(MALE_SKIN2); Load(MALE_SKIN3); Load(MALE_SKIN4); Load(MALE_SKIN5); Load(MALE_SHIRT1); Load(MALE_SHIRT2); Load(MALE_SHIRT3); Load(MALE_SHIRT4); Load(MALE_SHIRT5); Load(MALE_HAIR1); Load(MALE_HAIR2); Load(MALE_HAIR3); Load(MALE_HAIR4); Load(MALE_HAIR5); Load(MALE_HAIR6); Load(MALE_HAIR7); Load(MALE_HAIR8); Load(MALE_PANTS1); Load(MALE_PANTS2); Load(MALE_PANTS3); Load(MALE_PANTS4); Load(MALE_PANTS5); Load(MALE_SHOES1); Load(MALE_SHOES2); Load(MALE_SHOES3); Load(MALE_EYES1); Load(MALE_EYES2); Load(MALE_EYES3); Load(MALE_EYES4); Load(MALE_EYES5); Load(MALE_EYES6); Load(FEMALE_SKIN1); Load(FEMALE_SKIN2); Load(FEMALE_SKIN3); Load(FEMALE_SKIN4); Load(FEMALE_SKIN5); Load(FEMALE_SHIRT1); Load(FEMALE_SHIRT2); Load(FEMALE_SHIRT3); Load(FEMALE_SHIRT4); Load(FEMALE_HAIR1); Load(FEMALE_HAIR2); Load(FEMALE_HAIR3); Load(FEMALE_HAIR4); Load(FEMALE_HAIR5); Load(FEMALE_HAIR6); Load(FEMALE_HAIR7); Load(FEMALE_PANTS1); Load(FEMALE_PANTS2); Load(FEMALE_PANTS3); Load(FEMALE_PANTS4); Load(FEMALE_PANTS5); Load(FEMALE_SHOES1); Load(FEMALE_SHOES2); Load(FEMALE_SHOES3); Load(FEMALE_EYES1); Load(FEMALE_EYES2); Load(FEMALE_EYES3); Load(FEMALE_EYES4); Load(FEMALE_EYES5); Load(FEMALE_EYES6); Load(ARMY_HELMET); Load(ARMY_PANTS); Load(ARMY_SHIRT); Load(ARMY_SHOES); Load(BIKER_HAIR1); Load(BIKER_HAIR2); Load(BIKER_HAIR3); Load(BIKER_PANTS); Load(BIKER_SHOES); Load(GANGSTA_HAT); Load(GANGSTA_PANTS); Load(GANGSTA_SHIRT); Load(CHARGUARD_HAIR); Load(CHARGUARD_PANTS); Load(POLICE_HAT); Load(POLICE_PANTS); Load(POLICE_SHOES); Load(POLICE_UNIFORM); Load(BLACKOP_SUIT); Load(HOSPITAL_DOCTOR_UNIFORM); Load(HOSPITAL_NURSE_UNIFORM); Load(HOSPITAL_PATIENT_UNIFORM); Load(SURVIVOR_FEMALE_BANDANA); Load(SURVIVOR_MALE_BANDANA); Load(DOG_SKIN1); Load(DOG_SKIN2); Load(DOG_SKIN3); #endregion #region Items Notify(ui, "items..."); Load(ITEM_SLOT); Load(ITEM_EQUIPPED); Load(ITEM_AMMO_BOLTS); Load(ITEM_AMMO_HEAVY_PISTOL); Load(ITEM_AMMO_HEAVY_RIFLE); Load(ITEM_AMMO_LIGHT_PISTOL); Load(ITEM_AMMO_LIGHT_RIFLE); Load(ITEM_AMMO_SHOTGUN); Load(ITEM_ARMY_BODYARMOR); Load(ITEM_ARMY_PISTOL); Load(ITEM_ARMY_RATION); Load(ITEM_ARMY_RIFLE); Load(ITEM_BANDAGES); Load(ITEM_BARBED_WIRE); Load(ITEM_BASEBALL_BAT); Load(ITEM_BEAR_TRAP); Load(ITEM_BIGBEAR_BAT); Load(ITEM_BIG_FLASHLIGHT); Load(ITEM_BIG_FLASHLIGHT_OUT); Load(ITEM_BLACKOPS_GPS); Load(ITEM_BOOK); Load(ITEM_CANNED_FOOD); Load(ITEM_CELL_PHONE); Load(ITEM_CHAR_LIGHT_BODYARMOR); Load(ITEM_COMBAT_KNIFE); Load(ITEM_CROWBAR); Load(ITEM_EMPTY_CAN); Load(ITEM_FAMU_FATARU_KATANA); Load(ITEM_FLASHLIGHT); Load(ITEM_FLASHLIGHT_OUT); Load(ITEM_FREE_ANGELS_JACKET); Load(ITEM_GOLF_CLUB); Load(ITEM_GRENADE); Load(ITEM_GRENADE_PRIMED); Load(ITEM_GROCERIES); Load(ITEM_HELLS_SOULS_JACKET); Load(ITEM_HUGE_HAMMER); Load(ITEM_HUNTER_VEST); Load(ITEM_HUNTING_CROSSBOW); Load(ITEM_HUNTING_RIFLE); Load(ITEM_IMPROVISED_CLUB); Load(ITEM_IMPROVISED_SPEAR); Load(ITEM_IRON_GOLF_CLUB); Load(ITEM_JASON_MYERS_AXE); Load(ITEM_HANS_VON_HANZ_PISTOL); Load(ITEM_KOLT_REVOLVER); Load(ITEM_MAGAZINE); Load(ITEM_MEDIKIT); Load(ITEM_PILLS_ANTIVIRAL); Load(ITEM_PILLS_BLUE); Load(ITEM_PILLS_GREEN); Load(ITEM_PILLS_SAN); Load(ITEM_PISTOL); Load(ITEM_POLICE_JACKET); Load(ITEM_POLICE_RADIO); Load(ITEM_POLICE_RIOT_ARMOR); Load(ITEM_PRECISION_RIFLE); Load(ITEM_ROGUEDJACK_KEYBOARD); Load(ITEM_SANTAMAN_SHOTGUN); Load(ITEM_SHOTGUN); Load(ITEM_SHOVEL); Load(ITEM_SMALL_HAMMER); Load(ITEM_SHORT_SHOVEL); Load(ITEM_SPIKES); Load(ITEM_SPRAYPAINT); Load(ITEM_SPRAYPAINT2); Load(ITEM_SPRAYPAINT3); Load(ITEM_SPRAYPAINT4); Load(ITEM_STENCH_KILLER); Load(ITEM_SUBWAY_BADGE); Load(ITEM_TRUNCHEON); Load(ITEM_WOODEN_PLANK); Load(ITEM_ZTRACKER); #endregion #region Effects Notify(ui, "effects..."); Load(EFFECT_BARRICADED); Load(EFFECT_ONFIRE); #endregion #region Misc Notify(ui, "misc..."); Load(UNDEF); Load(MAP_EXIT); Load(MINI_BLACKOPS_POSITION); Load(MINI_FOLLOWER_POSITION); Load(MINI_PLAYER_POSITION); Load(MINI_PLAYER_TAG1); Load(MINI_PLAYER_TAG2); Load(MINI_PLAYER_TAG3); Load(MINI_PLAYER_TAG4); Load(MINI_POLICE_POSITION); Load(MINI_UNDEAD_POSITION); Load(TRACK_BLACKOPS_POSITION); Load(TRACK_FOLLOWER_POSITION); Load(TRACK_POLICE_POSITION); Load(TRACK_UNDEAD_POSITION); Load(WEATHER_RAIN1); Load(WEATHER_RAIN2); Load(WEATHER_HEAVY_RAIN1); Load(WEATHER_HEAVY_RAIN2); Load(ROT1_1); Load(ROT1_2); Load(ROT2_1); Load(ROT2_2); Load(ROT3_1); Load(ROT3_2); Load(ROT4_1); Load(ROT4_2); Load(ROT5_1); Load(ROT5_2); Load(CORPSE_DRAGGED); #endregion Notify(ui, "done!"); }