1use std::fmt::{Display, Formatter};
4
5use strum_macros::{EnumCount, EnumIter, IntoStaticStr};
6
7use crate::block::Block;
8use crate::db::Db;
9#[cfg(doc)]
10use crate::everything::Everything;
11use crate::game::{Game, GameFlags};
12use crate::pdxfile::PdxEncoding;
13use crate::report::{Confidence, Severity};
14use crate::token::Token;
15
16#[derive(Copy, Clone, Debug, PartialEq, Eq, IntoStaticStr, Hash, PartialOrd, Ord, EnumCount, EnumIter)]
27#[strum(serialize_all = "snake_case")]
28#[non_exhaustive]
29#[rustfmt::skip] pub enum Item {
36 #[cfg(feature = "jomini")]
39 Accessory,
40 #[cfg(feature = "jomini")]
41 AccessoryTag,
42 #[cfg(feature = "jomini")]
43 AccessoryVariation,
44 #[cfg(feature = "jomini")]
45 AccessoryVariationLayout,
46 #[cfg(feature = "jomini")]
47 AccessoryVariationTextures,
48 Achievement,
49 #[cfg(feature = "jomini")]
50 AchievementGroup,
51 Asset,
52 BlendShape,
53 #[cfg(feature = "jomini")]
54 CharacterInteraction,
55 #[cfg(feature = "jomini")]
56 Coa,
57 #[cfg(feature = "jomini")]
58 CoaColorList,
59 #[cfg(feature = "jomini")]
60 CoaColoredEmblemList,
61 #[cfg(feature = "ck3")]
62 CoaDesignerColorPalette,
63 #[cfg(feature = "jomini")]
64 CoaDesignerColoredEmblem,
65 #[cfg(feature = "ck3")]
66 CoaDesignerEmblemLayout,
67 #[cfg(feature = "jomini")]
68 CoaDesignerPattern,
69 #[cfg(feature = "jomini")]
70 CoaPatternList,
71 #[cfg(feature = "jomini")]
72 CoaTemplate,
73 #[cfg(feature = "jomini")]
74 CoaTemplateList,
75 #[cfg(feature = "jomini")]
76 CoaTexturedEmblemList,
77 #[cfg(feature = "jomini")]
78 Culture,
79 #[cfg(feature = "jomini")]
80 CustomLocalization,
81 Decision,
82 Define,
83 Directory,
84 Dlc,
85 DlcFeature,
86 DlcName,
87 #[cfg(feature = "jomini")]
88 EffectLocalization,
89 Entity,
90 Entry,
91 #[cfg(feature = "jomini")]
92 Ethnicity,
93 Event,
94 EventNamespace,
95 File,
96 Font,
97 Fontfiles,
98 #[cfg(feature = "jomini")]
99 GameConcept,
100 GameRule,
101 GameRuleSetting,
102 #[cfg(feature = "jomini")]
103 GeneAgePreset,
104 #[cfg(feature = "jomini")]
105 GeneAttribute,
106 #[cfg(feature = "jomini")]
107 GeneCategory,
108 #[cfg(feature = "jomini")]
109 GovernmentType,
110 GuiLayer,
111 GuiTemplate,
112 GuiType,
113 #[cfg(any(feature = "ck3", feature = "vic3", feature = "imperator"))]
114 LawGroup,
115 Localization,
116 MapEnvironment,
117 MapMode,
118 Modifier,
119 Music,
120 #[cfg(feature = "jomini")]
121 MusicPlayerCategory,
122 #[cfg(feature = "jomini")]
123 NamedColor,
124 OnAction,
125 Pdxmesh,
126 #[cfg(feature = "jomini")]
127 PortraitAnimation,
128 #[cfg(feature = "jomini")]
129 PortraitCamera,
130 #[cfg(feature = "jomini")]
131 PortraitEnvironment,
132 #[cfg(feature = "jomini")]
133 PortraitModifierGroup,
134 #[cfg(feature = "jomini")]
135 PortraitModifierPack,
136 Province,
137 #[cfg(feature = "jomini")]
138 Religion,
139 ScriptedEffect,
140 ScriptedGui,
141 #[cfg(feature = "jomini")]
142 ScriptedList,
143 #[cfg(feature = "jomini")]
144 ScriptedModifier,
145 #[cfg(feature = "jomini")]
146 ScriptedRule,
147 ScriptedTrigger,
148 #[cfg(feature = "jomini")]
149 ScriptValue,
150 Shortcut,
151 Sound,
152 Terrain,
153 TextFormat,
154 TextIcon,
155 TextureFile,
156 #[cfg(feature = "jomini")]
157 TriggerLocalization,
158 WidgetName,
159
160 #[cfg(any(feature = "vic3", feature = "hoi4"))]
162 AiStrategy,
163 #[cfg(any(feature = "ck3", feature = "imperator", feature = "hoi4"))]
164 Building,
165 #[cfg(any(feature = "vic3", feature = "eu5"))]
166 BuildingType,
167 #[cfg(any(feature = "ck3", feature = "eu5"))]
168 CasusBelli,
169 #[cfg(any(feature = "ck3", feature = "hoi4"))]
170 Character,
171 #[cfg(any(feature = "ck3", feature = "vic3"))]
172 CharacterTemplate,
173 #[cfg(any(feature = "vic3", feature = "imperator"))]
174 CharacterTrait,
175 #[cfg(any(feature = "ck3", feature = "eu5"))]
176 Climate,
177 #[cfg(any(feature = "imperator", feature = "hoi4"))]
178 CombatTactic,
179 #[cfg(any(feature = "vic3", feature = "imperator", feature = "hoi4"))]
180 Country,
181 #[cfg(any(feature = "vic3", feature = "eu5"))]
182 CountryRank,
183 #[cfg(any(feature = "imperator", feature = "eu5"))]
184 CultureGroup,
185 #[cfg(any(feature = "ck3", feature = "imperator", feature = "eu5"))]
186 DeathReason,
187 #[cfg(any(feature = "ck3", feature = "vic3", feature = "eu5"))]
188 Dna,
189 #[cfg(any(feature = "ck3", feature = "imperator"))]
190 EventTheme,
191 #[cfg(any(feature = "ck3", feature = "eu5"))]
192 HolySite,
193 #[cfg(any(feature = "imperator", feature = "hoi4"))]
194 Idea,
195 #[cfg(any(feature = "vic3", feature = "hoi4"))]
196 Ideology,
197 #[cfg(any(feature = "vic3", feature = "eu5"))]
198 Institution,
199 #[cfg(any(feature = "ck3", feature = "eu5"))]
200 Language,
201 #[cfg(any(feature = "ck3", feature = "imperator", feature = "eu5"))]
202 Law,
203 #[cfg(any(feature = "ck3", feature = "vic3"))]
204 Message,
205 #[cfg(any(feature = "imperator", feature = "hoi4", feature = "eu5"))]
206 Mission,
207 #[cfg(any(feature = "vic3", feature = "eu5"))]
208 ModifierTypeDefinition,
209 #[cfg(any(feature = "vic3", feature = "imperator", feature = "eu5"))]
210 PopType,
211 #[cfg(any(feature = "imperator", feature = "eu5"))]
212 Price,
213 #[cfg(any(feature = "vic3", feature = "eu5"))]
214 ProductionMethod,
215 #[cfg(any(feature = "ck3", feature = "imperator"))]
216 Region,
217 #[cfg(any(feature = "ck3", feature = "eu5"))]
218 Situation,
219 #[cfg(any(feature = "vic3", feature = "hoi4"))]
220 StrategicRegion,
221 #[cfg(any(feature = "vic3", feature = "imperator", feature = "eu5"))]
222 SubjectType,
223 #[cfg(any(feature = "vic3", feature = "hoi4"))]
224 Technology,
225 #[cfg(any(feature = "ck3", feature = "eu5"))]
226 Trait,
227 #[cfg(any(feature = "ck3", feature = "vic3", feature = "eu5"))]
228 TutorialLesson,
229 #[cfg(any(feature = "ck3", feature = "vic3", feature = "eu5"))]
230 TutorialLessonChain,
231 #[cfg(any(feature = "ck3", feature = "vic3", feature = "eu5"))]
232 TutorialLessonStep,
233 #[cfg(any(feature = "imperator", feature = "eu5"))]
234 UnitAbility,
235 #[cfg(any(feature = "imperator", feature = "eu5"))]
236 Wargoal,
237
238 #[cfg(feature = "ck3")] AccoladeCategory,
240 #[cfg(feature = "ck3")] AccoladeIcon,
241 #[cfg(feature = "ck3")] AccoladeName,
242 #[cfg(feature = "ck3")] AccoladeParameter,
243 #[cfg(feature = "ck3")] AccoladeType,
244 #[cfg(feature = "ck3")] ActivityGroupType,
245 #[cfg(feature = "ck3")] ActivityIntent,
246 #[cfg(feature = "ck3")] ActivityLocale,
247 #[cfg(feature = "ck3")] ActivityOption,
248 #[cfg(feature = "ck3")] ActivityOptionCategory,
249 #[cfg(feature = "ck3")] ActivityPhase,
250 #[cfg(feature = "ck3")] ActivityPulseAction,
251 #[cfg(feature = "ck3")] ActivityState,
252 #[cfg(feature = "ck3")] ActivityType,
253 #[cfg(feature = "ck3")] AiWarStance,
254 #[cfg(feature = "ck3")] AgentType,
255 #[cfg(feature = "ck3")] Amenity,
256 #[cfg(feature = "ck3")] AmenitySetting,
257 #[cfg(feature = "ck3")] ArtifactBlueprint,
258 #[cfg(feature = "ck3")] ArtifactFeature,
259 #[cfg(feature = "ck3")] ArtifactFeatureGroup,
260 #[cfg(feature = "ck3")] ArtifactHistory,
261 #[cfg(feature = "ck3")] ArtifactRarity,
262 #[cfg(feature = "ck3")] ArtifactSlot,
263 #[cfg(feature = "ck3")] ArtifactSlotType,
264 #[cfg(feature = "ck3")] ArtifactTemplate,
265 #[cfg(feature = "ck3")] ArtifactType,
266 #[cfg(feature = "ck3")] ArtifactVisual,
267 #[cfg(feature = "ck3")] Bookmark,
268 #[cfg(feature = "ck3")] BookmarkGroup,
269 #[cfg(feature = "ck3")] BookmarkPortrait,
270 #[cfg(feature = "ck3")] BooleanHouseHeadParameter,
271 #[cfg(feature = "ck3")] BooleanHousePowerParameter,
272 #[cfg(feature = "ck3")] BooleanHouseRelationParameter,
273 #[cfg(feature = "ck3")] BuildingFlag,
274 #[cfg(feature = "ck3")] BuildingGfx,
275 #[cfg(feature = "ck3")] CasusBelliGroup,
276 #[cfg(feature = "ck3")] Catalyst,
277 #[cfg(feature = "ck3")] ChallengeCharacter,
278 #[cfg(feature = "ck3")] CharacterBackground,
279 #[cfg(feature = "ck3")] CharacterInteractionCategory,
280 #[cfg(feature = "ck3")] ClothingGfx,
281 #[cfg(feature = "ck3")] CoaGfx,
282 #[cfg(feature = "ck3")] CoaDynamicDefinition,
283 #[cfg(feature = "ck3")] CohesionLevelParameter,
284 #[cfg(feature = "ck3")] CombatEffect,
285 #[cfg(feature = "ck3")] CombatPhaseEvent,
286 #[cfg(feature = "ck3")] ConfederationType,
287 #[cfg(feature = "ck3")] ConnectionArrow,
288 #[cfg(feature = "ck3")] CouncilPosition,
289 #[cfg(feature = "ck3")] CouncilTask,
290 #[cfg(feature = "ck3")] Countermeasure,
291 #[cfg(feature = "ck3")] CountermeasureParameter,
292 #[cfg(feature = "ck3")] CourtPosition,
293 #[cfg(feature = "ck3")] CourtPositionTask,
294 #[cfg(feature = "ck3")] CourtSceneCulture,
295 #[cfg(feature = "ck3")] CourtSceneGroup,
296 #[cfg(feature = "ck3")] CourtSceneRole,
297 #[cfg(feature = "ck3")] CourtSceneSetting,
298 #[cfg(feature = "ck3")] CourtType,
299 #[cfg(feature = "ck3")] CourtierGuestManagement,
300 #[cfg(feature = "ck3")] CultureAesthetic,
301 #[cfg(feature = "ck3")] CultureCreationName,
302 #[cfg(feature = "ck3")] CultureEra,
303 #[cfg(feature = "ck3")] CultureEthos,
304 #[cfg(feature = "ck3")] CultureHeritage,
305 #[cfg(feature = "ck3")] CultureHistory,
306 #[cfg(feature = "ck3")] CultureParameter,
307 #[cfg(feature = "ck3")] CulturePillar,
308 #[cfg(feature = "ck3")] CultureTradition,
309 #[cfg(feature = "ck3")] CultureTraditionCategory,
310 #[cfg(feature = "ck3")] DangerType,
311 #[cfg(feature = "ck3")] DecisionGroup,
312 #[cfg(feature = "ck3")] DiarchyMandate,
313 #[cfg(feature = "ck3")] DiarchyParameter,
314 #[cfg(feature = "ck3")] DiarchyType,
315 #[cfg(feature = "ck3")] Doctrine,
316 #[cfg(feature = "ck3")] DoctrineBooleanParameter,
317 #[cfg(feature = "ck3")] DoctrineCategory,
318 #[cfg(feature = "ck3")] DoctrineParameter,
319 #[cfg(feature = "ck3")] DomicileBuilding,
320 #[cfg(feature = "ck3")] DomicileParameter,
321 #[cfg(feature = "ck3")] DomicileType,
322 #[cfg(feature = "ck3")] Dynasty,
323 #[cfg(feature = "ck3")] DynastyLegacy,
324 #[cfg(feature = "ck3")] DynastyPerk,
325 #[cfg(feature = "ck3")] EpidemicType,
326 #[cfg(feature = "ck3")] EpidemicDeathReason,
327 #[cfg(feature = "ck3")] EventBackground,
328 #[cfg(feature = "ck3")] EventEffect2d,
329 #[cfg(feature = "ck3")] EventTransition,
330 #[cfg(feature = "ck3")] Faction,
331 #[cfg(feature = "ck3")] Faith,
332 #[cfg(feature = "ck3")] FaithIcon,
333 #[cfg(feature = "ck3")] FervorModifier,
334 #[cfg(feature = "ck3")] FlatMapStyle,
335 #[cfg(feature = "ck3")] Flavorization,
336 #[cfg(feature = "ck3")] Focus,
337 #[cfg(feature = "ck3")] GeneticConstraint,
338 #[cfg(feature = "ck3")] GovernmentFlag,
339 #[cfg(feature = "ck3")] GraphicalFaith,
340 #[cfg(feature = "ck3")] GraphicalUnitType,
341 #[cfg(feature = "ck3")] GreatProjectType,
342 #[cfg(feature = "ck3")] GuestInviteRule,
343 #[cfg(feature = "ck3")] GuestSubset,
344 #[cfg(feature = "ck3")] GuestSystem,
345 #[cfg(feature = "ck3")] HeadDetermination,
346 #[cfg(feature = "ck3")] HoldingParameter,
347 #[cfg(feature = "ck3")] HoldingType,
348 #[cfg(feature = "ck3")] HolySiteFlag,
349 #[cfg(feature = "ck3")] Hook,
350 #[cfg(feature = "ck3")] House,
351 #[cfg(feature = "ck3")] HouseAspiration,
352 #[cfg(feature = "ck3")] HouseRelationLevel,
353 #[cfg(feature = "ck3")] HouseRelationType,
354 #[cfg(feature = "ck3")] HouseUnity,
355 #[cfg(feature = "ck3")] HouseUnityParameter,
356 #[cfg(feature = "ck3")] HouseUnityStage,
357 #[cfg(feature = "ck3")] ImportantAction,
358 #[cfg(feature = "ck3")] Innovation,
359 #[cfg(feature = "ck3")] InnovationFlag,
360 #[cfg(feature = "ck3")] InnovationParameter,
361 #[cfg(feature = "ck3")] Inspiration,
362 #[cfg(feature = "ck3")] LawFlag,
363 #[cfg(feature = "ck3")] LeaseContract,
364 #[cfg(feature = "ck3")] LegendChapter,
365 #[cfg(feature = "ck3")] LegendChronicle,
366 #[cfg(feature = "ck3")] LegendProperty,
367 #[cfg(feature = "ck3")] LegendSeed,
368 #[cfg(feature = "ck3")] LegendType,
369 #[cfg(feature = "ck3")] LegitimacyFlag,
370 #[cfg(feature = "ck3")] LegitimacyType,
371 #[cfg(feature = "ck3")] Lifestyle,
372 #[cfg(feature = "ck3")] LineType,
373 #[cfg(feature = "ck3")] MartialCustom,
374 #[cfg(feature = "ck3")] MemoryCategory,
375 #[cfg(feature = "ck3")] MemoryType,
376 #[cfg(feature = "ck3")] MenAtArms,
377 #[cfg(feature = "ck3")] MenAtArmsBase,
378 #[cfg(feature = "ck3")] MessageFilterType,
379 #[cfg(feature = "ck3")] MessageGroupType,
380 #[cfg(feature = "ck3")] ModifierFormat,
381 #[cfg(feature = "ck3")] MottoInsert,
382 #[cfg(feature = "ck3")] Motto,
383 #[cfg(feature = "ck3")] NameEquivalency,
384 #[cfg(feature = "ck3")] NameList,
385 #[cfg(feature = "ck3")] Nickname,
386 #[cfg(feature = "ck3")] OpinionModifier,
387 #[cfg(feature = "ck3")] Perk,
388 #[cfg(feature = "ck3")] PerkTree,
389 #[cfg(feature = "ck3")] PlayableDifficultyInfo,
390 #[cfg(feature = "ck3")] PointOfInterest,
391 #[cfg(feature = "ck3")] PoolSelector,
392 #[cfg(feature = "ck3")] PortraitType,
393 #[cfg(feature = "ck3")] PrisonType,
394 #[cfg(feature = "ck3")] ProjectContribution,
395 #[cfg(feature = "ck3")] ProvinceEffect,
396 #[cfg(feature = "ck3")] ProvinceMapping,
397 #[cfg(feature = "ck3")] RaidIntent,
398 #[cfg(feature = "ck3")] Relation,
399 #[cfg(feature = "ck3")] RelationFlag,
400 #[cfg(feature = "ck3")] ReligionFamily,
401 #[cfg(feature = "ck3")] RewardItem,
402 #[cfg(feature = "ck3")] RulerObjectiveType,
403 #[cfg(feature = "ck3")] Scheme,
404 #[cfg(feature = "ck3")] SchemePulseAction,
405 #[cfg(feature = "ck3")] ScriptedAnimation,
406 #[cfg(feature = "ck3")] ScriptedCost,
407 #[cfg(feature = "ck3")] ScriptedIllustration,
408 #[cfg(feature = "ck3")] Secret,
409 #[cfg(feature = "ck3")] Sexuality,
410 #[cfg(feature = "ck3")] SituationCatalyst,
411 #[cfg(feature = "ck3")] SituationGroupType,
412 #[cfg(feature = "ck3")] SituationHistory,
413 #[cfg(feature = "ck3")] SituationParticipantGroup,
414 #[cfg(feature = "ck3")] SituationParticipantGroupParameter,
415 #[cfg(feature = "ck3")] SituationPhase,
416 #[cfg(feature = "ck3")] SituationPhaseParameter,
417 #[cfg(feature = "ck3")] SituationSubRegion,
418 #[cfg(feature = "ck3")] Skill,
419 #[cfg(feature = "ck3")] SpecialBuilding,
420 #[cfg(feature = "ck3")] SpecialGuest,
421 #[cfg(feature = "ck3")] Story,
422 #[cfg(feature = "ck3")] Struggle,
423 #[cfg(feature = "ck3")] StruggleHistory,
424 #[cfg(feature = "ck3")] StrugglePhase,
425 #[cfg(feature = "ck3")] StrugglePhaseParameter,
426 #[cfg(feature = "ck3")] SubjectContract,
427 #[cfg(feature = "ck3")] SubjectContractFlag,
428 #[cfg(feature = "ck3")] SubjectContractGroup,
429 #[cfg(feature = "ck3")] SubjectContractObligationLevel,
430 #[cfg(feature = "ck3")] SuccessionAppointment,
431 #[cfg(feature = "ck3")] SuccessionElection,
432 #[cfg(feature = "ck3")] Suggestion,
433 #[cfg(feature = "ck3")] TableStyle,
434 #[cfg(feature = "ck3")] TaskContractGroup,
435 #[cfg(feature = "ck3")] TaskContractReward,
436 #[cfg(feature = "ck3")] TaskContractType,
437 #[cfg(feature = "ck3")] TaxSlotObligation,
438 #[cfg(feature = "ck3")] TaxSlotType,
439 #[cfg(feature = "ck3")] Title,
440 #[cfg(feature = "ck3")] TitleHistory,
441 #[cfg(feature = "ck3")] TraitCategory,
442 #[cfg(feature = "ck3")] TraitFlag,
443 #[cfg(feature = "ck3")] TraitPortraitModifier,
444 #[cfg(feature = "ck3")] TraitTrack,
445 #[cfg(feature = "ck3")] TravelOption,
446 #[cfg(feature = "ck3")] UnitGfx,
447 #[cfg(feature = "ck3")] VassalStance,
448
449 #[cfg(feature = "vic3")] AcceptanceStatus,
451 #[cfg(feature = "vic3")] AirGraphics,
452 #[cfg(feature = "vic3")] Alert,
453 #[cfg(feature = "vic3")] AlertGroup,
454 #[cfg(feature = "vic3")] Amendment,
455 #[cfg(feature = "vic3")] Approval,
456 #[cfg(feature = "vic3")] ArmyDiorama,
457 #[cfg(feature = "vic3")] Attitude,
458 #[cfg(feature = "vic3")] BattleCondition,
459 #[cfg(feature = "vic3")] BuildingGroup,
460 #[cfg(feature = "vic3")] BuyPackage,
461 #[cfg(feature = "vic3")] CanalType,
462 #[cfg(feature = "vic3")] CharacterRole,
463 #[cfg(feature = "vic3")] CityBuildingVfx,
464 #[cfg(feature = "vic3")] CityCenterpiece,
465 #[cfg(feature = "vic3")] CityGraphicsType,
466 #[cfg(feature = "vic3")] CityVfx,
467 #[cfg(feature = "vic3")] CombatUnit,
468 #[cfg(feature = "vic3")] CombatUnitExperienceLevel,
469 #[cfg(feature = "vic3")] CombatUnitGroup,
470 #[cfg(feature = "vic3")] CommanderOrder,
471 #[cfg(feature = "vic3")] CommanderRank,
472 #[cfg(feature = "vic3")] CompanyType,
473 #[cfg(feature = "vic3")] CompanyCharterType,
474 #[cfg(feature = "vic3")] CohesionLevel,
475 #[cfg(feature = "vic3")] CountryCreation,
476 #[cfg(feature = "vic3")] CountryFormation,
477 #[cfg(feature = "vic3")] CountryTier,
478 #[cfg(feature = "vic3")] CountryType,
479 #[cfg(feature = "vic3")] CultureGraphics,
480 #[cfg(feature = "vic3")] Decree,
481 #[cfg(feature = "vic3")] DiplomaticAction,
482 #[cfg(feature = "vic3")] DiplomaticCatalyst,
483 #[cfg(feature = "vic3")] DiplomaticCatalystCategory,
484 #[cfg(feature = "vic3")] DiplomaticPlay,
485 #[cfg(feature = "vic3")] DiscriminationTrait,
486 #[cfg(feature = "vic3")] DiscriminationTraitGroup,
487 #[cfg(feature = "vic3")] DynamicCompanyName,
488 #[cfg(feature = "vic3")] DynamicCountryMapColor,
489 #[cfg(feature = "vic3")] DynamicCountryName,
490 #[cfg(feature = "vic3")] DynamicTreatyName,
491 #[cfg(feature = "vic3")] EventCategory,
492 #[cfg(feature = "vic3")] FlagDefinition,
493 #[cfg(feature = "vic3")] FleetDiorama,
494 #[cfg(feature = "vic3")] FrontGraphics,
495 #[cfg(feature = "vic3")] GeographicRegion,
496 #[cfg(feature = "vic3")] GeographicRegionShortKey,
497 #[cfg(feature = "vic3")] Goods,
498 #[cfg(feature = "vic3")] GradientBorderSettings,
499 #[cfg(feature = "vic3")] HarvestConditionType,
500 #[cfg(feature = "vic3")] HeritageTrait,
501 #[cfg(feature = "vic3")] InfamyThreshold,
502 #[cfg(feature = "vic3")] InterestGroup,
503 #[cfg(feature = "vic3")] InterestGroupTrait,
504 #[cfg(feature = "vic3")] JournalEntry,
505 #[cfg(feature = "vic3")] JournalEntryGroup,
506 #[cfg(feature = "vic3")] LanguageTrait,
507 #[cfg(feature = "vic3")] LawType,
508 #[cfg(feature = "vic3")] LegitimacyLevel,
509 #[cfg(feature = "vic3")] Level,
510 #[cfg(feature = "vic3")] LibertyDesireLevel,
511 #[cfg(feature = "vic3")] MapLayer,
512 #[cfg(feature = "vic3")] MapInteractionType,
513 #[cfg(feature = "vic3")] MapNotificationType,
514 #[cfg(feature = "vic3")] MediaAlias,
515 #[cfg(feature = "vic3")] MilitaryFormationFlag,
516 #[cfg(feature = "vic3")] MobilizationOption,
517 #[cfg(feature = "vic3")] MobilizationOptionGroup,
518 #[cfg(feature = "vic3")] Objective,
519 #[cfg(feature = "vic3")] ObjectiveSubgoal,
520 #[cfg(feature = "vic3")] ObjectiveSubgoalCategory,
521 #[cfg(feature = "vic3")] Party,
522 #[cfg(feature = "vic3")] PoliticalLobby,
523 #[cfg(feature = "vic3")] PoliticalLobbyAppeasement,
524 #[cfg(feature = "vic3")] PoliticalMovement,
525 #[cfg(feature = "vic3")] PoliticalMovementCategory,
526 #[cfg(feature = "vic3")] PoliticalMovementPopSupport,
527 #[cfg(feature = "vic3")] PopNeed,
528 #[cfg(feature = "vic3")] PowerBlocCoaPiece,
529 #[cfg(feature = "vic3")] PowerBlocIdentity,
530 #[cfg(feature = "vic3")] PowerBlocMapTexture,
531 #[cfg(feature = "vic3")] PowerBlocName,
532 #[cfg(feature = "vic3")] PrestigeGoods,
533 #[cfg(feature = "vic3")] Principle,
534 #[cfg(feature = "vic3")] PrincipleGroup,
535 #[cfg(feature = "vic3")] ProductionMethodGroup,
536 #[cfg(feature = "vic3")] ProposalType,
537 #[cfg(feature = "vic3")] RelationsThreshold,
538 #[cfg(feature = "vic3")] ScriptedButton,
539 #[cfg(feature = "vic3")] ScriptedProgressBar,
540 #[cfg(feature = "vic3")] ScriptedTest,
541 #[cfg(feature = "vic3")] SecretGoal,
542 #[cfg(feature = "vic3")] Skin,
543 #[cfg(feature = "vic3")] SocialClass,
544 #[cfg(feature = "vic3")] SocialHierarchy,
545 #[cfg(feature = "vic3")] StateRegion,
546 #[cfg(feature = "vic3")] StateTrait,
547 #[cfg(feature = "vic3")] Strata,
548 #[cfg(feature = "vic3")] TechnologyEra,
549 #[cfg(feature = "vic3")] TerrainKey,
550 #[cfg(feature = "vic3")] TerrainLabel,
551 #[cfg(feature = "vic3")] TerrainManipulator,
552 #[cfg(feature = "vic3")] TerrainMask,
553 #[cfg(feature = "vic3")] TerrainMaterial,
554 #[cfg(feature = "vic3")] Theme,
555 #[cfg(feature = "vic3")] TraditionTrait,
556 #[cfg(feature = "vic3")] TransferOfPower,
557 #[cfg(feature = "vic3")] TreatyArticle,
558 #[cfg(feature = "vic3")] WarGoalType,
559
560 #[cfg(feature = "imperator")] Ambition,
562 #[cfg(feature = "imperator")] AiPlanGoals,
563 #[cfg(feature = "imperator")] Area,
564 #[cfg(feature = "imperator")] Deity,
565 #[cfg(feature = "imperator")] DeityCategory,
566 #[cfg(feature = "imperator")] DiplomaticStance,
567 #[cfg(feature = "imperator")] EconomicPolicy,
568 #[cfg(feature = "imperator")] EventPicture,
569 #[cfg(feature = "imperator")] GovernorPolicy,
570 #[cfg(feature = "imperator")] GraphicalCultureType,
571 #[cfg(feature = "imperator")] GreatWorkEffectTier,
572 #[cfg(feature = "imperator")] GreatWorkEffect,
573 #[cfg(feature = "imperator")] GreatWorkCategory,
574 #[cfg(feature = "imperator")] GreatWorkMaterial,
575 #[cfg(feature = "imperator")] GreatWorkModule,
576 #[cfg(feature = "imperator")] GreatWorkTemplate,
577 #[cfg(feature = "imperator")] Heritage,
578 #[cfg(feature = "imperator")] Invention,
579 #[cfg(feature = "imperator")] InventionGroup,
580 #[cfg(feature = "imperator")] LegionDistinction,
581 #[cfg(feature = "imperator")] LevyTemplate,
582 #[cfg(feature = "imperator")] Loyalty,
583 #[cfg(feature = "imperator")] MilitaryTraditionTree,
584 #[cfg(feature = "imperator")] MilitaryTradition,
585 #[cfg(feature = "imperator")] MissionTask,
586 #[cfg(feature = "imperator")] Office,
587 #[cfg(feature = "imperator")] Opinion,
588 #[cfg(feature = "imperator")] PartyAgenda,
589 #[cfg(feature = "imperator")] PartyType,
590 #[cfg(feature = "imperator")] PostSetupCharacters,
591 #[cfg(feature = "imperator")] ProvinceRank,
592 #[cfg(feature = "imperator")] SetupCharacters,
593 #[cfg(feature = "imperator")] SetupProvinces,
594 #[cfg(feature = "imperator")] TechnologyTable,
595 #[cfg(feature = "imperator")] TradeGood,
596 #[cfg(feature = "imperator")] Treasure,
597 #[cfg(feature = "imperator")] Unit,
598
599 #[cfg(feature = "hoi4")] Ability,
600 #[cfg(feature = "hoi4")] Acclimatation,
601 #[cfg(feature = "hoi4")] AceModifier,
602 #[cfg(feature = "hoi4")] AdjacencyRule,
603 #[cfg(feature = "hoi4")] AiArea,
604 #[cfg(feature = "hoi4")] AiStrategyType,
605 #[cfg(feature = "hoi4")] AdvisorSlot,
606 #[cfg(feature = "hoi4")] CharacterIdeaToken,
607 #[cfg(feature = "hoi4")] CombatTacticPhase,
608 #[cfg(feature = "hoi4")] Continent,
609 #[cfg(feature = "hoi4")] CountryLeaderTrait,
610 #[cfg(feature = "hoi4")] CountryHistory,
611 #[cfg(feature = "hoi4")] CountryTag,
612 #[cfg(feature = "hoi4")] CountryTagAlias,
613 #[cfg(feature = "hoi4")] DecisionCategory,
614 #[cfg(feature = "hoi4")] DivisionNamesGroup,
615 #[cfg(feature = "hoi4")] DivisionTemplate,
616 #[cfg(feature = "hoi4")] DynamicModifier,
617 #[cfg(feature = "hoi4")] Equipment,
618 #[cfg(feature = "hoi4")] EquipmentBonusType,
619 #[cfg(feature = "hoi4")] EquipmentCategory,
620 #[cfg(feature = "hoi4")] EquipmentGroup,
621 #[cfg(feature = "hoi4")] EquipmentModule,
622 #[cfg(feature = "hoi4")] EquipmentModuleCategory,
623 #[cfg(feature = "hoi4")] EquipmentSearchFilter,
624 #[cfg(feature = "hoi4")] EquipmentStat,
625 #[cfg(feature = "hoi4")] EquipmentUpgrade,
626 #[cfg(feature = "hoi4")] GraphicalTerrain,
627 #[cfg(feature = "hoi4")] IdeaCategory,
628 #[cfg(feature = "hoi4")] IdeologyGroup,
629 #[cfg(feature = "hoi4")] IndustrialOrg,
630 #[cfg(feature = "hoi4")] IndustrialOrgBonusWeight,
631 #[cfg(feature = "hoi4")] IndustrialOrgPolicy,
632 #[cfg(feature = "hoi4")] IndustrialOrgTrait,
633 #[cfg(feature = "hoi4")] IntelligenceAgencyBranch,
634 #[cfg(feature = "hoi4")] IntelligenceAgencyUpgrade,
635 #[cfg(feature = "hoi4")] MusicAsset,
636 #[cfg(feature = "hoi4")] NationalFocus,
637 #[cfg(feature = "hoi4")] NationalFocusStyle,
638 #[cfg(feature = "hoi4")] NationalFocusTree,
639 #[cfg(feature = "hoi4")] Operation,
640 #[cfg(feature = "hoi4")] OperationPhase,
641 #[cfg(feature = "hoi4")] OperationToken,
642 #[cfg(feature = "hoi4")] PowerBalance,
643 #[cfg(feature = "hoi4")] PowerBalanceSide,
644 #[cfg(feature = "hoi4")] ProductionStat,
645 #[cfg(feature = "hoi4")] PrototypeReward,
646 #[cfg(feature = "hoi4")] RailwayGunNames,
647 #[cfg(feature = "hoi4")] Resource,
648 #[cfg(feature = "hoi4")] ScriptEnum,
649 #[cfg(feature = "hoi4")] ScriptedConstant,
650 #[cfg(feature = "hoi4")] ScriptedLocalisation,
651 #[cfg(feature = "hoi4")] ShipNames,
652 #[cfg(feature = "hoi4")] SoundEffect,
653 #[cfg(feature = "hoi4")] SoundFalloff,
654 #[cfg(feature = "hoi4")] SpawnPoint,
655 #[cfg(feature = "hoi4")] Specialization,
656 #[cfg(feature = "hoi4")] SpecialProject,
657 #[cfg(feature = "hoi4")] SpecialProjectTag,
658 #[cfg(feature = "hoi4")] ScientistTrait,
659 #[cfg(feature = "hoi4")] ShipName,
660 #[cfg(feature = "hoi4")] Sprite,
661 #[cfg(feature = "hoi4")] State,
662 #[cfg(feature = "hoi4")] StateCategory,
663 #[cfg(feature = "hoi4")] SubUnit,
664 #[cfg(feature = "hoi4")] SubUnitCategory,
665 #[cfg(feature = "hoi4")] SupplyArea,
666 #[cfg(feature = "hoi4")] TechnologyCategory,
667 #[cfg(feature = "hoi4")] TechnologyFolder,
668 #[cfg(feature = "hoi4")] TechnologySharing,
669 #[cfg(feature = "hoi4")] UnitHistory,
670 #[cfg(feature = "hoi4")] UnitLeaderSkill,
671 #[cfg(feature = "hoi4")] UnitLeaderTrait,
672 #[cfg(feature = "hoi4")] UnitNames,
673
674 #[cfg(feature = "eu5")] Advance,
675 #[cfg(feature = "eu5")] Age,
676 #[cfg(feature = "eu5")] AiDiplochance,
677 #[cfg(feature = "eu5")] AlertDescription,
678 #[cfg(feature = "eu5")] ArtistType,
679 #[cfg(feature = "eu5")] ArtistWork,
680 #[cfg(feature = "eu5")] AttributeColumn,
681 #[cfg(feature = "eu5")] AutoModifier,
682 #[cfg(feature = "eu5")] Avatar,
683 #[cfg(feature = "eu5")] Bias,
684 #[cfg(feature = "eu5")] BuildingCategory,
685 #[cfg(feature = "eu5")] CabinetAction,
686 #[cfg(feature = "eu5")] CharacterTraitCategory,
687 #[cfg(feature = "eu5")] ChildEducation,
688 #[cfg(feature = "eu5")] CountryDescriptionCategory,
689 #[cfg(feature = "eu5")] CountryInteraction,
690 #[cfg(feature = "eu5")] Currency,
691 #[cfg(feature = "eu5")] DesignatedHeirReason,
692 #[cfg(feature = "eu5")] DiplomaticCost,
693 #[cfg(feature = "eu5")] Disaster,
694 #[cfg(feature = "eu5")] Disease,
695 #[cfg(feature = "eu5")] EmploymentSystem,
696 #[cfg(feature = "eu5")] EstatePrivilege,
697 #[cfg(feature = "eu5")] Estate,
698 #[cfg(feature = "eu5")] FormableCountry,
699 #[cfg(feature = "eu5")] GenericActionAiList,
700 #[cfg(feature = "eu5")] GenericAction,
701 #[cfg(feature = "eu5")] God,
702 #[cfg(feature = "eu5")] Good,
703 #[cfg(feature = "eu5")] GoodsDemand,
704 #[cfg(feature = "eu5")] GoodsDemandCategory,
705 #[cfg(feature = "eu5")] GovernmentReform,
706 #[cfg(feature = "eu5")] Hegemon,
707 #[cfg(feature = "eu5")] HeirSelection,
708 #[cfg(feature = "eu5")] HistoricalScore,
709 #[cfg(feature = "eu5")] HolySiteType,
710 #[cfg(feature = "eu5")] Insult,
711 #[cfg(feature = "eu5")] InternationalOrganizationLandOwnershipRule,
712 #[cfg(feature = "eu5")] InternationalOrganizationPayment,
713 #[cfg(feature = "eu5")] InternationalOrganizationSpecialStatus,
714 #[cfg(feature = "eu5")] InternationalOrganization,
715 #[cfg(feature = "eu5")] JoinWarRule,
716 #[cfg(feature = "eu5")] LanguageFamily,
717 #[cfg(feature = "eu5")] Levy,
718 #[cfg(feature = "eu5")] LocationRank,
719 #[cfg(feature = "eu5")] MusicPlayerTrack,
720 #[cfg(feature = "eu5")] ParliamentAgenda,
721 #[cfg(feature = "eu5")] ParliamentIssue,
722 #[cfg(feature = "eu5")] ParliamentType,
723 #[cfg(feature = "eu5")] PeaceTreaty,
724 #[cfg(feature = "eu5")] Policy,
725 #[cfg(feature = "eu5")] RecruitmentMethod,
726 #[cfg(feature = "eu5")] Regency,
727 #[cfg(feature = "eu5")] ReligionGroup,
728 #[cfg(feature = "eu5")] ReligiousAspect,
729 #[cfg(feature = "eu5")] ReligiousFaction,
730 #[cfg(feature = "eu5")] ReligiousFigure,
731 #[cfg(feature = "eu5")] ReligiousFocus,
732 #[cfg(feature = "eu5")] ReligiousSchools,
733 #[cfg(feature = "eu5")] Resolution,
734 #[cfg(feature = "eu5")] RivalCriteria,
735 #[cfg(feature = "eu5")] RoadType,
736 #[cfg(feature = "eu5")] ScriptableHint,
737 #[cfg(feature = "eu5")] ScriptedCountryName,
738 #[cfg(feature = "eu5")] ScriptedDiplomaticObjective,
739 #[cfg(feature = "eu5")] ScriptedGeography,
740 #[cfg(feature = "eu5")] ScriptedModifiers,
741 #[cfg(feature = "eu5")] ScriptedRelations,
742 #[cfg(feature = "eu5")] SocietalValue,
743 #[cfg(feature = "eu5")] SubjectMilitaryStance,
744 #[cfg(feature = "eu5")] Test,
745 #[cfg(feature = "eu5")] Topography,
746 #[cfg(feature = "eu5")] TownSetup,
747 #[cfg(feature = "eu5")] TraitFlavor,
748 #[cfg(feature = "eu5")] UnitCategory,
749 #[cfg(feature = "eu5")] UnitFormationPreference,
750 #[cfg(feature = "eu5")] UnitType,
751 #[cfg(feature = "eu5")] Vegetation,
752}
753
754impl Display for Item {
759 fn fmt(&self, f: &mut Formatter) -> Result<(), std::fmt::Error> {
760 let s: &'static str = self.into();
761 write!(f, "{}", s.replace('_', " "))
762 }
763}
764
765impl Item {
766 pub fn path(self) -> &'static str {
771 #[allow(clippy::match_same_arms)]
772 match self {
774 #[cfg(feature = "jomini")]
775 Item::Accessory => "gfx/portraits/accessories/",
776 #[cfg(feature = "jomini")]
777 Item::AccessoryTag => "gfx/portraits/accessories/",
778 #[cfg(feature = "jomini")]
779 Item::AccessoryVariation => "gfx/portraits/accessory_variations/",
780 #[cfg(feature = "jomini")]
781 Item::AccessoryVariationLayout => "gfx/portraits/accessory_variations/",
782 #[cfg(feature = "jomini")]
783 Item::AccessoryVariationTextures => "gfx/portraits/accessory_variations/",
784 Item::Achievement => match Game::game() {
785 #[cfg(feature = "ck3")]
786 Game::Ck3 => "common/achievements/",
787 #[cfg(feature = "vic3")]
788 Game::Vic3 => "common/achievements/",
789 #[cfg(feature = "imperator")]
790 Game::Imperator => "common/achievements/",
791 #[cfg(feature = "eu5")]
792 Game::Eu5 => "common/achievements/",
793 #[cfg(feature = "hoi4")]
794 Game::Hoi4 => "common/achievements.txt",
795 },
796 #[cfg(feature = "jomini")]
797 Item::AchievementGroup => "common/achievement_groups.txt",
798 Item::Asset => "gfx/models/",
799 Item::BlendShape => "gfx/models/",
800 #[cfg(feature = "jomini")]
801 Item::CharacterInteraction => "common/character_interactions/",
802 #[cfg(feature = "jomini")]
803 Item::Coa => "common/coat_of_arms/coat_of_arms/",
804 #[cfg(feature = "jomini")]
805 Item::CoaColorList => "common/coat_of_arms/template_lists/",
806 #[cfg(feature = "jomini")]
807 Item::CoaColoredEmblemList => "common/coat_of_arms/template_lists/",
808 #[cfg(feature = "ck3")]
809 Item::CoaDesignerColorPalette => "gfx/coat_of_arms/color_palettes/",
810 #[cfg(feature = "jomini")]
811 Item::CoaDesignerColoredEmblem => "gfx/coat_of_arms/colored_emblems/",
812 #[cfg(feature = "ck3")]
813 Item::CoaDesignerEmblemLayout => "gfx/coat_of_arms/emblem_layouts/",
814 #[cfg(feature = "jomini")]
815 Item::CoaDesignerPattern => "gfx/coat_of_arms/patterns/",
816 #[cfg(feature = "jomini")]
817 Item::CoaPatternList => "common/coat_of_arms/template_lists/",
818 #[cfg(feature = "jomini")]
819 Item::CoaTemplate => "common/coat_of_arms/coat_of_arms/",
820 #[cfg(feature = "jomini")]
821 Item::CoaTemplateList => "common/coat_of_arms/template_lists/",
822 #[cfg(feature = "jomini")]
823 Item::CoaTexturedEmblemList => "common/coat_of_arms/template_lists/",
824 #[cfg(feature = "jomini")]
825 Item::Culture => match Game::game() {
826 #[cfg(feature = "ck3")]
827 Game::Ck3 => "common/culture/cultures/",
828 #[cfg(feature = "vic3")]
829 Game::Vic3 => "common/cultures/",
830 #[cfg(feature = "imperator")]
831 Game::Imperator => "common/cultures/",
832 #[cfg(feature = "eu5")]
833 Game::Eu5 => "common/cultures/",
834 #[cfg(feature = "hoi4")]
835 Game::Hoi4 => unreachable!(),
836 },
837 #[cfg(feature = "jomini")]
838 Item::CustomLocalization => "common/customizable_localization/",
839 Item::Decision => match Game::game() {
840 #[cfg(feature = "ck3")]
841 Game::Ck3 => "common/decisions/",
842 #[cfg(feature = "vic3")]
843 Game::Vic3 => "common/decisions/",
844 #[cfg(feature = "imperator")]
845 Game::Imperator => "decisions/",
846 #[cfg(feature = "eu5")]
847 Game::Eu5 => unreachable!(),
848 #[cfg(feature = "hoi4")]
849 Game::Hoi4 => "common/decisions/",
850 },
851 Item::Define => "common/defines/",
852 Item::Dlc => "dlc_metadata/",
853 Item::DlcFeature => "",
854 Item::DlcName => "dlc_metadata/",
855 Item::Directory => "",
856 #[cfg(feature = "jomini")]
857 Item::EffectLocalization => "common/effect_localization/",
858 Item::Entity => "gfx/models/",
859 Item::Entry => "",
860 #[cfg(feature = "jomini")]
861 Item::Ethnicity => "common/ethnicities/",
862 Item::Event => "events/",
863 Item::EventNamespace => "events/",
864 Item::File => "",
865 Item::Font => "fonts/",
866 Item::Fontfiles => "fonts/",
867 #[cfg(feature = "jomini")]
868 Item::GameConcept => "common/game_concepts/",
869 Item::GameRule => "common/game_rules/",
870 Item::GameRuleSetting => "common/game_rules/",
871 #[cfg(feature = "jomini")]
872 Item::GeneAgePreset => "common/genes/",
873 #[cfg(feature = "jomini")]
874 Item::GeneAttribute => "gfx/models/",
875 #[cfg(feature = "jomini")]
876 Item::GeneCategory => "common/genes/",
877 #[cfg(feature = "jomini")]
878 Item::GovernmentType => match Game::game() {
879 #[cfg(feature = "ck3")]
880 Game::Ck3 => "common/governments/",
881 #[cfg(feature = "vic3")]
882 Game::Vic3 => "common/government_types/",
883 #[cfg(feature = "imperator")]
884 Game::Imperator => "common/governments/",
885 #[cfg(feature = "eu5")]
886 Game::Eu5 => "common/government_types/",
887 #[cfg(feature = "hoi4")]
888 Game::Hoi4 => unreachable!(),
889 },
890 Item::GuiLayer => "gui/",
891 Item::GuiTemplate => "gui/",
892 Item::GuiType => "gui/",
893 Item::Localization => "localization/",
894 Item::MapEnvironment => "gfx/map/environment/",
895 Item::MapMode => "gfx/map/map_modes/",
896 Item::Modifier => match Game::game() {
897 #[cfg(feature = "ck3")]
898 Game::Ck3 => "common/modifiers/",
899 #[cfg(feature = "vic3")]
900 Game::Vic3 => "common/static_modifiers/",
901 #[cfg(feature = "imperator")]
902 Game::Imperator => "common/modifiers/",
903 #[cfg(feature = "eu5")]
904 Game::Eu5 => "common/static_modifiers/",
906 #[cfg(feature = "hoi4")]
907 Game::Hoi4 => "common/modifiers/", },
909 Item::Music => "music/",
910 #[cfg(feature = "jomini")]
911 Item::MusicPlayerCategory => "music/music_player_categories/",
912 #[cfg(feature = "jomini")]
913 Item::NamedColor => "common/named_colors/",
914 Item::OnAction => match Game::game() {
915 #[cfg(feature = "ck3")]
916 Game::Ck3 => "common/on_action/",
917 #[cfg(feature = "vic3")]
918 Game::Vic3 => "common/on_actions/",
919 #[cfg(feature = "imperator")]
920 Game::Imperator => "common/on_action/",
921 #[cfg(feature = "eu5")]
922 Game::Eu5 => "common/on_action/",
923 #[cfg(feature = "hoi4")]
924 Game::Hoi4 => "common/on_actions/", },
926 Item::Pdxmesh => "gfx/models/",
927 #[cfg(feature = "jomini")]
928 Item::PortraitAnimation => "gfx/portraits/portrait_animations/",
929 #[cfg(feature = "jomini")]
930 Item::PortraitCamera => "gfx/portraits/cameras/",
931 #[cfg(feature = "jomini")]
932 Item::PortraitEnvironment => "gfx/portraits/environments/",
933 #[cfg(feature = "jomini")]
934 Item::PortraitModifierGroup => "gfx/portraits/portrait_modifiers/",
935 #[cfg(feature = "jomini")]
936 Item::PortraitModifierPack => "gfx/portraits/portrait_animations/",
937 Item::Province => match Game::game() {
938 #[cfg(feature = "ck3")]
939 Game::Ck3 => "map_data/definition.csv",
940 #[cfg(feature = "vic3")]
941 Game::Vic3 => "map_data/provinces.png",
942 #[cfg(feature = "imperator")]
943 Game::Imperator => "map_data/provinces.png",
944 #[cfg(feature = "eu5")]
945 Game::Eu5 => "map_data/provinces.png",
946 #[cfg(feature = "hoi4")]
947 Game::Hoi4 => "map/definition.csv", },
949 #[cfg(feature = "jomini")]
950 Item::Religion => match Game::game() {
951 #[cfg(feature = "ck3")]
952 Game::Ck3 => "common/religion/religions/",
953 #[cfg(feature = "vic3")]
954 Game::Vic3 => "common/religions/",
955 #[cfg(feature = "imperator")]
956 Game::Imperator => "common/religions/",
957 #[cfg(feature = "eu5")]
958 Game::Eu5 => "common/religions/",
959 #[cfg(feature = "hoi4")]
960 Game::Hoi4 => unreachable!(),
961 },
962 Item::ScriptedEffect => "common/scripted_effects/",
963 Item::ScriptedGui => "common/scripted_guis/",
964 #[cfg(feature = "jomini")]
965 Item::ScriptedList => "common/scripted_lists/",
966 #[cfg(feature = "jomini")]
967 Item::ScriptedModifier => "common/scripted_modifiers/",
968 #[cfg(feature = "jomini")]
969 Item::ScriptedRule => "common/scripted_rules/",
970 Item::ScriptedTrigger => "common/scripted_triggers/",
971 #[cfg(feature = "jomini")]
972 Item::ScriptValue => "common/script_values/",
973 Item::Shortcut => "gui/shortcuts.shortcuts",
974 Item::Sound => match Game::game() {
975 #[cfg(feature = "hoi4")]
976 Game::Hoi4 => "sound/",
977 #[cfg(feature = "jomini")]
978 _ => "",
979 },
980 Item::Terrain => match Game::game() {
981 #[cfg(feature = "ck3")]
982 Game::Ck3 => "common/terrain_types/",
983 #[cfg(feature = "vic3")]
984 Game::Vic3 => "common/terrain/",
985 #[cfg(feature = "imperator")]
986 Game::Imperator => "common/terrain_types/",
987 #[cfg(feature = "eu5")]
988 Game::Eu5 => "common/terrain/",
990 #[cfg(feature = "hoi4")]
991 Game::Hoi4 => "common/terrain/",
992 },
993 Item::TextFormat => "gui/",
994 Item::TextIcon => "gui/",
995 Item::TextureFile => "gfx/models/",
996 #[cfg(feature = "jomini")]
997 Item::TriggerLocalization => "common/trigger_localization/",
998 Item::WidgetName => "gui/",
999
1000 #[cfg(any(feature = "vic3", feature = "hoi4"))]
1001 Item::AiStrategy => match Game::game() {
1002 #[cfg(feature = "vic3")]
1003 Game::Vic3 => "common/ai_strategies/",
1004 #[cfg(feature = "hoi4")]
1005 Game::Hoi4 => "common/ai_strategy/",
1006 #[allow(unreachable_patterns)]
1007 _ => unreachable!(),
1008 },
1009 #[cfg(any(feature = "ck3", feature = "imperator", feature = "hoi4"))]
1010 Item::Building => "common/buildings/",
1011 #[cfg(any(feature = "ck3", feature = "eu5"))]
1012 Item::CasusBelli => match Game::game() {
1013 #[cfg(feature = "ck3")]
1014 Game::Ck3 => "common/casus_belli_types/",
1015 #[cfg(feature = "eu5")]
1016 Game::Eu5 => "common/casus_belli/",
1017 #[allow(unreachable_patterns)]
1018 _ => unreachable!(),
1019 },
1020 #[cfg(any(feature = "ck3", feature = "hoi4"))]
1021 Item::Character => match Game::game() {
1022 #[cfg(feature = "ck3")]
1023 Game::Ck3 => "history/characters/",
1024 #[cfg(feature = "hoi4")]
1025 Game::Hoi4 => "common/characters/",
1026 #[allow(unreachable_patterns)]
1027 _ => unreachable!(),
1028 },
1029 #[cfg(any(feature = "vic3", feature = "eu5"))]
1030 Item::BuildingType => match Game::game() {
1031 #[cfg(feature = "vic3")]
1032 Game::Vic3 => "common/buildings/",
1033 #[cfg(feature = "eu5")]
1034 Game::Eu5 => "common/building_types/",
1035 #[allow(unreachable_patterns)]
1036 _ => unreachable!(),
1037 },
1038 #[cfg(any(feature = "ck3", feature = "vic3"))]
1039 Item::CharacterTemplate => match Game::game() {
1040 #[cfg(feature = "ck3")]
1041 Game::Ck3 => "common/scripted_character_templates/",
1042 #[cfg(feature = "vic3")]
1043 Game::Vic3 => "common/character_templates/",
1044 #[allow(unreachable_patterns)]
1045 _ => unreachable!(),
1046 },
1047 #[cfg(any(feature = "vic3", feature = "imperator"))]
1048 Item::CharacterTrait => match Game::game() {
1049 #[cfg(feature = "vic3")]
1050 Game::Vic3 => "common/character_traits/",
1051 #[cfg(feature = "imperator")]
1052 Game::Imperator => "common/traits/",
1053 #[allow(unreachable_patterns)]
1054 _ => unreachable!(),
1055 },
1056 #[cfg(any(feature = "ck3", feature = "eu5"))]
1057 Item::Climate => match Game::game() {
1058 #[cfg(feature = "ck3")]
1059 Game::Ck3 => "map_data/climate.txt",
1060 #[cfg(feature = "eu5")]
1061 Game::Eu5 => "common/climates",
1062 #[allow(unreachable_patterns)]
1063 _ => unreachable!(),
1064 },
1065 #[cfg(any(feature = "imperator", feature = "hoi4"))]
1066 Item::CombatTactic => match Game::game() {
1067 #[cfg(feature = "imperator")]
1068 Game::Imperator => "common/combat_tactics/",
1069 #[cfg(feature = "hoi4")]
1070 Game::Hoi4 => "common/combat_tactics.txt", #[allow(unreachable_patterns)]
1072 _ => unreachable!(),
1073 },
1074 #[cfg(any(feature = "vic3", feature = "imperator", feature = "hoi4"))]
1075 Item::Country => match Game::game() {
1076 #[cfg(feature = "vic3")]
1077 Game::Vic3 => "common/country_definitions/",
1078 #[cfg(feature = "imperator")]
1079 Game::Imperator => "setup/countries/countries.txt",
1080 #[cfg(feature = "hoi4")]
1081 Game::Hoi4 => "common/countries/", #[allow(unreachable_patterns)]
1083 _ => unreachable!(),
1084 },
1085 #[cfg(any(feature = "vic3", feature = "eu5"))]
1086 Item::CountryRank => "common/country_ranks/",
1087 #[cfg(any(feature = "ck3", feature = "imperator", feature = "eu5"))]
1088 Item::DeathReason => match Game::game() {
1089 #[cfg(feature = "ck3")]
1090 Game::Ck3 => "common/deathreasons/",
1091 #[cfg(feature = "imperator")]
1092 Game::Imperator => "common/deathreasons/",
1093 #[cfg(feature = "eu5")]
1094 Game::Eu5 => "common/death_reason/",
1095 #[allow(unreachable_patterns)]
1096 _ => unreachable!(),
1097 },
1098 #[cfg(any(feature = "imperator", feature = "eu5"))]
1099 Item::CultureGroup => match Game::game() {
1100 #[cfg(feature = "imperator")]
1101 Game::Imperator => "common/cultures/",
1102 #[cfg(feature = "eu5")]
1103 Game::Eu5 => "common/culture_groups/",
1104 #[allow(unreachable_patterns)]
1105 _ => unreachable!(),
1106 },
1107 #[cfg(any(feature = "ck3", feature = "vic3", feature = "eu5"))]
1108 Item::Dna => match Game::game() {
1109 #[cfg(feature = "ck3")]
1110 Game::Ck3 => "common/dna_data/",
1111 #[cfg(feature = "vic3")]
1112 Game::Vic3 => "common/dna_data/",
1113 #[cfg(feature = "eu5")]
1114 Game::Eu5 => "common/persistent_dna/",
1115 #[allow(unreachable_patterns)]
1116 _ => unreachable!(),
1117 },
1118 #[cfg(any(feature = "ck3", feature = "imperator"))]
1119 Item::EventTheme => "common/event_themes/",
1120 #[cfg(any(feature = "ck3", feature = "eu5"))]
1121 Item::HolySite => match Game::game() {
1122 #[cfg(feature = "ck3")]
1123 Game::Ck3 => "common/religion/holy_sites/",
1124 #[cfg(feature = "eu5")]
1125 Game::Eu5 => "common/holy_sites/",
1126 #[allow(unreachable_patterns)]
1127 _ => unreachable!(),
1128 },
1129 #[cfg(any(feature = "imperator", feature = "hoi4"))]
1130 Item::Idea => "common/ideas/", #[cfg(any(feature = "vic3", feature = "hoi4"))]
1132 Item::Ideology => "common/ideologies/",
1133 #[cfg(any(feature = "vic3", feature = "eu5"))]
1134 Item::Institution => match Game::game() {
1135 #[cfg(feature = "vic3")]
1136 Game::Vic3 => "common/institutions/",
1137 #[cfg(feature = "eu5")]
1138 Game::Eu5 => "common/institution/",
1139 #[allow(unreachable_patterns)]
1140 _ => unreachable!(),
1141 },
1142 #[cfg(any(feature = "ck3", feature = "eu5"))]
1143 Item::Language => match Game::game() {
1144 #[cfg(feature = "ck3")]
1145 Game::Ck3 => "common/culture/pillars/",
1146 #[cfg(feature = "eu5")]
1147 Game::Eu5 => "common/languages/",
1148 #[allow(unreachable_patterns)]
1149 _ => unreachable!(),
1150 },
1151 #[cfg(any(feature = "ck3", feature = "imperator", feature = "eu5"))]
1152 Item::Law => "common/laws/",
1153 #[cfg(any(feature = "ck3", feature = "vic3", feature = "imperator"))]
1154 Item::LawGroup => match Game::game() {
1155 #[cfg(feature = "ck3")]
1156 Game::Ck3 => "common/laws/",
1157 #[cfg(feature = "imperator")]
1158 Game::Imperator => "common/laws/",
1159 #[cfg(feature = "vic3")]
1160 Game::Vic3 => "common/law_groups/",
1161 #[allow(unreachable_patterns)]
1162 _ => unreachable!(),
1163 },
1164 #[cfg(any(feature = "ck3", feature = "vic3"))]
1165 Item::Message => "common/messages",
1166 #[cfg(any(feature = "imperator", feature = "hoi4", feature = "eu5"))]
1167 Item::Mission => match Game::game() {
1168 #[cfg(feature = "imperator")]
1169 Game::Imperator => "common/missions/",
1170 #[cfg(feature = "eu5")]
1171 Game::Eu5 => "common/missions/",
1172 #[cfg(feature = "hoi4")]
1173 Game::Hoi4 => "common/script_enums.txt",
1174 #[allow(unreachable_patterns)]
1175 _ => unreachable!(),
1176 },
1177 #[cfg(any(feature = "vic3", feature = "eu5"))]
1178 Item::ModifierTypeDefinition => "common/modifier_type_definitions/",
1179 #[cfg(any(feature = "vic3", feature = "imperator", feature = "eu5"))]
1180 Item::PopType => "common/pop_types/",
1181 #[cfg(any(feature = "imperator", feature = "eu5"))]
1182 Item::Price => "common/prices/",
1183 #[cfg(any(feature = "vic3", feature = "eu5"))]
1184 Item::ProductionMethod => "common/production_methods/",
1185 #[cfg(any(feature = "ck3", feature = "imperator"))]
1186 Item::Region => match Game::game() {
1187 #[cfg(feature = "ck3")]
1188 Game::Ck3 => "map_data/geographical_regions/",
1189 #[cfg(feature = "imperator")]
1190 Game::Imperator => "map_data/regions.txt",
1191 #[allow(unreachable_patterns)]
1192 _ => unreachable!(),
1193 },
1194 #[cfg(any(feature = "ck3", feature = "eu5"))]
1195 Item::Situation => match Game::game() {
1196 #[cfg(feature = "ck3")]
1197 Game::Ck3 => "common/situation/situations/",
1198 #[cfg(feature = "eu5")]
1199 Game::Eu5 => "common/situations/",
1200 #[allow(unreachable_patterns)]
1201 _ => unreachable!(),
1202 },
1203 #[cfg(any(feature = "vic3", feature = "hoi4"))]
1204 Item::StrategicRegion => match Game::game() {
1205 #[cfg(feature = "vic3")]
1206 Game::Vic3 => "common/strategic_regions/",
1207 #[cfg(feature = "hoi4")]
1208 Game::Hoi4 => "map/strategicregions/",
1209 #[allow(unreachable_patterns)]
1210 _ => unreachable!(),
1211 },
1212 #[cfg(any(feature = "vic3", feature = "imperator", feature = "eu5"))]
1213 Item::SubjectType => "common/subject_types/",
1214 #[cfg(any(feature = "vic3", feature = "hoi4"))]
1215 Item::Technology => match Game::game() {
1216 #[cfg(feature = "vic3")]
1217 Game::Vic3 => "common/technology/technologies/",
1218 #[cfg(feature = "hoi4")]
1219 Game::Hoi4 => "common/technologies/",
1220 #[allow(unreachable_patterns)]
1221 _ => unreachable!(),
1222 },
1223 #[cfg(any(feature = "ck3", feature = "eu5"))]
1224 Item::Trait => "common/traits/",
1225 #[cfg(any(feature = "ck3", feature = "vic3", feature = "eu5"))]
1226 Item::TutorialLesson => "common/tutorial_lessons",
1227 #[cfg(any(feature = "ck3", feature = "vic3", feature = "eu5"))]
1228 Item::TutorialLessonChain => "common/tutorial_lesson_chains",
1229 #[cfg(any(feature = "ck3", feature = "vic3", feature = "eu5"))]
1230 Item::TutorialLessonStep => "common/tutorial_lessons",
1231 #[cfg(any(feature = "imperator", feature = "eu5"))]
1232 Item::UnitAbility => "common/unit_abilities/",
1233 #[cfg(any(feature = "imperator", feature = "eu5"))]
1234 Item::Wargoal => "common/wargoals",
1235
1236 #[cfg(feature = "ck3")]
1237 Item::AccoladeCategory => "common/accolade_types/",
1238 #[cfg(feature = "ck3")]
1239 Item::AccoladeIcon => "common/accolade_icons/",
1240 #[cfg(feature = "ck3")]
1241 Item::AccoladeName => "common/accolade_names/",
1242 #[cfg(feature = "ck3")]
1243 Item::AccoladeParameter => "common/accolade_types/",
1244 #[cfg(feature = "ck3")]
1245 Item::AccoladeType => "common/accolade_types/",
1246 #[cfg(feature = "ck3")]
1247 Item::ActivityGroupType => "common/activities/activity_group_types/",
1248 #[cfg(feature = "ck3")]
1249 Item::ActivityIntent => "common/activities/intents/",
1250 #[cfg(feature = "ck3")]
1251 Item::ActivityLocale => "common/activities/activity_locales/",
1252 #[cfg(feature = "ck3")]
1253 Item::ActivityOption => "common/activities/activity_types/",
1254 #[cfg(feature = "ck3")]
1255 Item::ActivityOptionCategory => "common/activities/activity_types/",
1256 #[cfg(feature = "ck3")]
1257 Item::ActivityPhase => "common/activities/activity_types/",
1258 #[cfg(feature = "ck3")]
1259 Item::ActivityPulseAction => "common/activities/pulse_actions/",
1260 #[cfg(feature = "ck3")]
1261 Item::ActivityState => "",
1262 #[cfg(feature = "ck3")]
1263 Item::ActivityType => "common/activities/activity_types/",
1264 #[cfg(feature = "ck3")]
1265 Item::AiWarStance => "common/ai_war_stances/",
1266 #[cfg(feature = "ck3")]
1267 Item::AgentType => "common/schemes/agent_types/",
1268 #[cfg(feature = "ck3")]
1269 Item::Amenity => "common/court_amenities/",
1270 #[cfg(feature = "ck3")]
1271 Item::AmenitySetting => "common/court_amenities/",
1272 #[cfg(feature = "ck3")]
1273 Item::ArtifactBlueprint => "common/artifacts/blueprints/",
1274 #[cfg(feature = "ck3")]
1275 Item::ArtifactFeature => "common/artifacts/features/",
1276 #[cfg(feature = "ck3")]
1277 Item::ArtifactFeatureGroup => "common/artifacts/feature_groups/",
1278 #[cfg(feature = "ck3")]
1279 Item::ArtifactHistory => "",
1280 #[cfg(feature = "ck3")]
1281 Item::ArtifactRarity => "",
1282 #[cfg(feature = "ck3")]
1283 Item::ArtifactSlot => "common/artifacts/slots/",
1284 #[cfg(feature = "ck3")]
1285 Item::ArtifactSlotType => "common/artifacts/slots/",
1286 #[cfg(feature = "ck3")]
1287 Item::ArtifactTemplate => "common/artifacts/templates/",
1288 #[cfg(feature = "ck3")]
1289 Item::ArtifactType => "common/artifacts/types/",
1290 #[cfg(feature = "ck3")]
1291 Item::ArtifactVisual => "common/artifacts/visuals/",
1292 #[cfg(feature = "ck3")]
1293 Item::Bookmark => "common/bookmarks/bookmarks/",
1294 #[cfg(feature = "ck3")]
1295 Item::BookmarkGroup => "common/bookmarks/groups/",
1296 #[cfg(feature = "ck3")]
1297 Item::BookmarkPortrait => "common/bookmark_portraits/",
1298 #[cfg(feature = "ck3")]
1299 Item::BooleanHouseHeadParameter => "common/house_aspirations/",
1300 #[cfg(feature = "ck3")]
1301 Item::BooleanHousePowerParameter => "common/house_aspirations/",
1302 #[cfg(feature = "ck3")]
1303 Item::BooleanHouseRelationParameter => "common/house_relation_types/",
1304 #[cfg(feature = "ck3")]
1305 Item::BuildingFlag => "common/buildings/",
1306 #[cfg(feature = "ck3")]
1307 Item::BuildingGfx => "common/culture/cultures/",
1308 #[cfg(feature = "ck3")]
1309 Item::CasusBelliGroup => "common/casus_belli_groups/",
1310 #[cfg(feature = "ck3")]
1311 Item::Catalyst => "common/struggle/catalysts/",
1312 #[cfg(feature = "ck3")]
1313 Item::ChallengeCharacter => "common/bookmarks/challenge_characters/",
1314 #[cfg(feature = "ck3")]
1315 Item::CharacterBackground => "common/character_backgrounds/",
1316 #[cfg(feature = "ck3")]
1317 Item::CharacterInteractionCategory => "common/character_interaction_categories/",
1318 #[cfg(feature = "ck3")]
1319 Item::ClothingGfx => "common/culture/cultures/",
1320 #[cfg(feature = "ck3")]
1321 Item::CoaGfx => "common/culture/cultures/",
1322 #[cfg(feature = "ck3")]
1323 Item::CoaDynamicDefinition => "common/coat_of_arms/dynamic_definitions/",
1324 #[cfg(feature = "ck3")]
1325 Item::CohesionLevelParameter => "common/confederation_types/",
1326 #[cfg(feature = "ck3")]
1327 Item::CombatEffect => "common/combat_effects/",
1328 #[cfg(feature = "ck3")]
1329 Item::CombatPhaseEvent => "common/combat_phase_events/",
1330 #[cfg(feature = "ck3")]
1331 Item::ConfederationType => "common/confederation_types/",
1332 #[cfg(feature = "ck3")]
1333 Item::ConnectionArrow => "common/connection_arrows/",
1334 #[cfg(feature = "ck3")]
1335 Item::CouncilPosition => "common/council_positions/",
1336 #[cfg(feature = "ck3")]
1337 Item::CouncilTask => "common/council_tasks/",
1338 #[cfg(feature = "ck3")]
1339 Item::Countermeasure => "common/schemes/scheme_countermeasures/",
1340 #[cfg(feature = "ck3")]
1341 Item::CountermeasureParameter => "common/schemes/scheme_countermeasures/",
1342 #[cfg(feature = "ck3")]
1343 Item::CourtPosition => "common/court_positions/types/",
1344 #[cfg(feature = "ck3")]
1345 Item::CourtPositionTask => "common/court_positions/tasks/",
1346 #[cfg(feature = "ck3")]
1347 Item::CourtSceneCulture => "gfx/court_scene/scene_cultures/",
1348 #[cfg(feature = "ck3")]
1349 Item::CourtSceneGroup => "gfx/court_scene/character_groups/",
1350 #[cfg(feature = "ck3")]
1351 Item::CourtSceneRole => "gfx/court_scene/character_roles/",
1352 #[cfg(feature = "ck3")]
1353 Item::CourtSceneSetting => "gfx/court_scene/scene_settings/",
1354 #[cfg(feature = "ck3")]
1355 Item::CourtType => "common/court_types/",
1356 #[cfg(feature = "ck3")]
1357 Item::CourtierGuestManagement => "common/courtier_guest_management/",
1358 #[cfg(feature = "ck3")]
1359 Item::CultureAesthetic => "common/culture/aesthetics_bundles/",
1360 #[cfg(feature = "ck3")]
1361 Item::CultureCreationName => "common/culture/creation_names/",
1362 #[cfg(feature = "ck3")]
1363 Item::CultureEra => "common/culture/eras/",
1364 #[cfg(feature = "ck3")]
1365 Item::CultureEthos => "common/culture/pillars/",
1366 #[cfg(feature = "ck3")]
1367 Item::CultureHeritage => "common/culture/pillars/",
1368 #[cfg(feature = "ck3")]
1369 Item::CultureHistory => "history/cultures/",
1370 #[cfg(feature = "ck3")]
1371 Item::CultureParameter => "common/culture/ parameters blocks",
1373 #[cfg(feature = "ck3")]
1374 Item::CulturePillar => "common/culture/pillars/",
1375 #[cfg(feature = "ck3")]
1376 Item::CultureTradition => "common/culture/traditions/",
1377 #[cfg(feature = "ck3")]
1378 Item::CultureTraditionCategory => "common/culture/traditions/",
1379 #[cfg(feature = "ck3")]
1380 Item::DangerType => "",
1381 #[cfg(feature = "ck3")]
1382 Item::DecisionGroup => "common/decision_group_types/",
1383 #[cfg(feature = "ck3")]
1384 Item::DiarchyMandate => "common/diarchies/diarchy_mandates/",
1385 #[cfg(feature = "ck3")]
1386 Item::DiarchyParameter => "common/diarchies/diarchy_types/",
1387 #[cfg(feature = "ck3")]
1388 Item::DiarchyType => "common/diarchies/diarchy_types/",
1389 #[cfg(feature = "ck3")]
1390 Item::Doctrine => "common/religion/doctrines/",
1391 #[cfg(feature = "ck3")]
1392 Item::DoctrineBooleanParameter => "common/religion/doctrines/",
1393 #[cfg(feature = "ck3")]
1394 Item::DoctrineCategory => "common/religion/doctrines/",
1395 #[cfg(feature = "ck3")]
1396 Item::DoctrineParameter => "common/religion/doctrines/",
1397 #[cfg(feature = "ck3")]
1398 Item::DomicileBuilding => "common/domiciles/buildings/",
1399 #[cfg(feature = "ck3")]
1400 Item::DomicileParameter => "common/domiciles/buildings/",
1401 #[cfg(feature = "ck3")]
1402 Item::DomicileType => "common/domiciles/types/",
1403 #[cfg(feature = "ck3")]
1404 Item::Dynasty => "common/dynasties/",
1405 #[cfg(feature = "ck3")]
1406 Item::DynastyLegacy => "common/dynasty_legacies/",
1407 #[cfg(feature = "ck3")]
1408 Item::DynastyPerk => "common/dynasty_perks/",
1409 #[cfg(feature = "ck3")]
1410 Item::EpidemicType => "common/epidemics/",
1411 #[cfg(feature = "ck3")]
1412 Item::EpidemicDeathReason => "common/deathreasons/",
1413 #[cfg(feature = "ck3")]
1414 Item::EventBackground => "common/event_backgrounds/",
1415 #[cfg(feature = "ck3")]
1416 Item::EventEffect2d => "common/event_2d_effects/",
1417 #[cfg(feature = "ck3")]
1418 Item::EventTransition => "common/event_transitions/",
1419 #[cfg(feature = "ck3")]
1420 Item::Faction => "common/factions/",
1421 #[cfg(feature = "ck3")]
1422 Item::Faith => "common/religion/religions/",
1423 #[cfg(feature = "ck3")]
1424 Item::FaithIcon => "common/religion/religions/",
1425 #[cfg(feature = "ck3")]
1426 Item::FervorModifier => "common/religion/fervor_modifiers/",
1427 #[cfg(feature = "ck3")]
1428 Item::FlatMapStyle => "gfx/map/flat_map_styles/",
1429 #[cfg(feature = "ck3")]
1430 Item::Flavorization => "common/flavorization/",
1431 #[cfg(feature = "ck3")]
1432 Item::Focus => "common/focuses/",
1433 #[cfg(feature = "ck3")]
1434 Item::GeneticConstraint => "common/traits/",
1435 #[cfg(feature = "ck3")]
1436 Item::GovernmentFlag => "common/governments/",
1437 #[cfg(feature = "ck3")]
1438 Item::GraphicalFaith => "common/religion/religions/",
1439 #[cfg(feature = "ck3")]
1440 Item::GraphicalUnitType => "common/graphical_unit_types/",
1441 #[cfg(feature = "ck3")]
1442 Item::GreatProjectType => "common/great_projects/types/",
1443 #[cfg(feature = "ck3")]
1444 Item::GuestInviteRule => "common/activities/guest_invite_rules/",
1445 #[cfg(feature = "ck3")]
1446 Item::GuestSubset => "common/activities/activity_types/",
1447 #[cfg(feature = "ck3")]
1448 Item::GuestSystem => "common/guest_system/",
1449 #[cfg(feature = "ck3")]
1450 Item::HeadDetermination => "common/culture/pillars/",
1451 #[cfg(feature = "ck3")]
1452 Item::HoldingParameter => "common/holdings/",
1453 #[cfg(feature = "ck3")]
1454 Item::HoldingType => "common/holdings/",
1455 #[cfg(feature = "ck3")]
1456 Item::HolySiteFlag => "common/religion/holy_sites/",
1457 #[cfg(feature = "ck3")]
1458 Item::Hook => "common/hook_types/",
1459 #[cfg(feature = "ck3")]
1460 Item::House => "common/dynasty_houses/",
1461 #[cfg(feature = "ck3")]
1462 Item::HouseAspiration => "common/house_aspirations/",
1463 #[cfg(feature = "ck3")]
1464 Item::HouseRelationLevel => "common/house_relation_types/",
1465 #[cfg(feature = "ck3")]
1466 Item::HouseRelationType => "common/house_relation_types/",
1467 #[cfg(feature = "ck3")]
1468 Item::HouseUnity => "common/house_unities/",
1469 #[cfg(feature = "ck3")]
1470 Item::HouseUnityParameter => "common/house_unities",
1471 #[cfg(feature = "ck3")]
1472 Item::HouseUnityStage => "common/house_unities/",
1473 #[cfg(feature = "ck3")]
1474 Item::ImportantAction => "common/important_actions/",
1475 #[cfg(feature = "ck3")]
1476 Item::Innovation => "common/culture/innovations/",
1477 #[cfg(feature = "ck3")]
1478 Item::InnovationFlag => "common/culture/innovations/",
1479 #[cfg(feature = "ck3")]
1480 Item::InnovationParameter => "common/culture/innovations/",
1481 #[cfg(feature = "ck3")]
1482 Item::Inspiration => "common/inspirations/",
1483 #[cfg(feature = "ck3")]
1484 Item::LawFlag => "common/laws/",
1485 #[cfg(feature = "ck3")]
1486 Item::LeaseContract => "common/lease_contracts/",
1487 #[cfg(feature = "ck3")]
1488 Item::LegendChapter => "common/legends/chronicles/",
1489 #[cfg(feature = "ck3")]
1490 Item::LegendChronicle => "common/legends/chronicles/",
1491 #[cfg(feature = "ck3")]
1492 Item::LegendProperty => "common/legends/chronicles/",
1493 #[cfg(feature = "ck3")]
1494 Item::LegendSeed => "common/legends/legend_seeds/",
1495 #[cfg(feature = "ck3")]
1496 Item::LegendType => "common/legends/legend_types/",
1497 #[cfg(feature = "ck3")]
1498 Item::LegitimacyFlag => "common/legitimacy/",
1499 #[cfg(feature = "ck3")]
1500 Item::LegitimacyType => "common/legitimacy/",
1501 #[cfg(feature = "ck3")]
1502 Item::Lifestyle => "common/lifestyles/",
1503 #[cfg(feature = "ck3")]
1504 Item::LineType => "gfx/lines/lines.lines",
1505 #[cfg(feature = "ck3")]
1506 Item::MartialCustom => "common/culture/pillars/",
1507 #[cfg(feature = "ck3")]
1508 Item::MemoryCategory => "common/character_memory_types/",
1509 #[cfg(feature = "ck3")]
1510 Item::MemoryType => "common/character_memory_types/",
1511 #[cfg(feature = "ck3")]
1512 Item::MenAtArms => "common/men_at_arms_types/",
1513 #[cfg(feature = "ck3")]
1514 Item::MenAtArmsBase => "common/men_at_arms_types/",
1515 #[cfg(feature = "ck3")]
1516 Item::MessageFilterType => "common/message_filter_types/",
1517 #[cfg(feature = "ck3")]
1518 Item::MessageGroupType => "common/message_group_types/",
1519 #[cfg(feature = "ck3")]
1520 Item::ModifierFormat => "common/modifier_definition_formats/",
1521 #[cfg(feature = "ck3")]
1522 Item::MottoInsert => "common/dynasty_house_motto_inserts/",
1523 #[cfg(feature = "ck3")]
1524 Item::Motto => "common/dynasty_house_mottos/",
1525 #[cfg(feature = "ck3")]
1526 Item::NameEquivalency => "common/culture/name_equivalency/",
1527 #[cfg(feature = "ck3")]
1528 Item::NameList => "common/culture/name_lists/",
1529 #[cfg(feature = "ck3")]
1530 Item::Nickname => "common/nicknames/",
1531 #[cfg(feature = "ck3")]
1532 Item::OpinionModifier => "common/opinion_modifiers/",
1533 #[cfg(feature = "ck3")]
1534 Item::Perk => "common/lifestyle_perks/",
1535 #[cfg(feature = "ck3")]
1536 Item::PerkTree => "common/lifestyle_perks/",
1537 #[cfg(feature = "ck3")]
1538 Item::PlayableDifficultyInfo => "common/playable_difficulty_infos/",
1539 #[cfg(feature = "ck3")]
1540 Item::PointOfInterest => "common/travel/point_of_interest_types/",
1541 #[cfg(feature = "ck3")]
1542 Item::PoolSelector => "common/pool_character_selectors/",
1543 #[cfg(feature = "ck3")]
1544 Item::PortraitType => "common/portrait_types/",
1545 #[cfg(feature = "ck3")]
1546 Item::ProjectContribution => "common/great_projects/types/",
1547 #[cfg(feature = "ck3")]
1548 Item::ProvinceEffect => "gfx/map/province_effects/",
1549 #[cfg(feature = "ck3")]
1550 Item::ProvinceMapping => "history/province_mapping/",
1551 #[cfg(feature = "ck3")]
1552 Item::PrisonType => "",
1553 #[cfg(feature = "ck3")]
1554 Item::RaidIntent => "common/raids/intents/",
1555 #[cfg(feature = "ck3")]
1556 Item::Relation => "common/scripted_relations/",
1557 #[cfg(feature = "ck3")]
1558 Item::RelationFlag => "common/scripted_relations/",
1559 #[cfg(feature = "ck3")]
1560 Item::ReligionFamily => "common/religion/religion_families/",
1561 #[cfg(feature = "ck3")]
1562 Item::RewardItem => "",
1563 #[cfg(feature = "ck3")]
1564 Item::RulerObjectiveType => "common/ruler_objective_advice_types/",
1565 #[cfg(feature = "ck3")]
1566 Item::SubjectContract => "common/subject_contracts/contracts/",
1567 #[cfg(feature = "ck3")]
1568 Item::SubjectContractFlag => "common/subject_contracts/contracts/",
1569 #[cfg(feature = "ck3")]
1570 Item::SubjectContractGroup => "common/subject_contracts/groups/",
1571 #[cfg(feature = "ck3")]
1572 Item::SubjectContractObligationLevel => "common/subject_contracts/contracts/",
1573 #[cfg(feature = "ck3")]
1574 Item::Scheme => "common/schemes/scheme_types",
1575 #[cfg(feature = "ck3")]
1576 Item::SchemePulseAction => "common/schemes/pulse_actions",
1577 #[cfg(feature = "ck3")]
1578 Item::ScriptedAnimation => "common/scripted_animations/",
1579 #[cfg(feature = "ck3")]
1580 Item::ScriptedCost => "common/scripted_costs/",
1581 #[cfg(feature = "ck3")]
1582 Item::ScriptedIllustration => "gfx/interface/illustrations/scripted_illustrations/",
1583 #[cfg(feature = "ck3")]
1584 Item::Secret => "common/secret_types/",
1585 #[cfg(feature = "ck3")]
1586 Item::Sexuality => "",
1587 #[cfg(feature = "ck3")]
1588 Item::SituationCatalyst => "common/situation/catalysts/",
1589 #[cfg(feature = "ck3")]
1590 Item::SituationGroupType => "common/situation/situation_group_types/",
1591 #[cfg(feature = "ck3")]
1592 Item::SituationHistory => "history/situations/",
1593 #[cfg(feature = "ck3")]
1594 Item::SituationParticipantGroup => "common/situation/situations/",
1595 #[cfg(feature = "ck3")]
1596 Item::SituationParticipantGroupParameter => "common/situation/situations/",
1597 #[cfg(feature = "ck3")]
1598 Item::SituationPhase => "common/situation/situations/",
1599 #[cfg(feature = "ck3")]
1600 Item::SituationPhaseParameter => "common/situation/situations/",
1601 #[cfg(feature = "ck3")]
1602 Item::SituationSubRegion => "common/situation/situations/",
1603 #[cfg(feature = "ck3")]
1604 Item::Skill => "",
1605 #[cfg(feature = "ck3")]
1606 Item::SpecialBuilding => "common/buildings/",
1607 #[cfg(feature = "ck3")]
1608 Item::SpecialGuest => "common/activities/activity_types/",
1609 #[cfg(feature = "ck3")]
1610 Item::Story => "common/story_cycles/",
1611 #[cfg(feature = "ck3")]
1612 Item::Struggle => "common/struggle/struggles/",
1613 #[cfg(feature = "ck3")]
1614 Item::StruggleHistory => "history/struggles/",
1615 #[cfg(feature = "ck3")]
1616 Item::StrugglePhase => "common/struggle/struggles/",
1617 #[cfg(feature = "ck3")]
1618 Item::StrugglePhaseParameter => "common/struggle/struggles/",
1619 #[cfg(feature = "ck3")]
1620 Item::SuccessionAppointment => "common/succession_appointment/",
1621 #[cfg(feature = "ck3")]
1622 Item::SuccessionElection => "common/succession_election/",
1623 #[cfg(feature = "ck3")]
1624 Item::Suggestion => "common/suggestions/",
1625 #[cfg(feature = "ck3")]
1626 Item::TableStyle => "gfx/map/table_styles/",
1627 #[cfg(feature = "ck3")]
1628 Item::TaskContractGroup => "common/task_contracts/",
1629 #[cfg(feature = "ck3")]
1630 Item::TaskContractReward => "common/task_contracts/",
1631 #[cfg(feature = "ck3")]
1632 Item::TaskContractType => "common/task_contracts/",
1633 #[cfg(feature = "ck3")]
1634 Item::TaxSlotObligation => "common/tax_slots/obligations",
1635 #[cfg(feature = "ck3")]
1636 Item::TaxSlotType => "common/tax_slots/types",
1637 #[cfg(feature = "ck3")]
1638 Item::Title => "common/landed_titles/",
1639 #[cfg(feature = "ck3")]
1640 Item::TitleHistory => "history/titles/",
1641 #[cfg(feature = "ck3")]
1642 Item::TraitCategory => "",
1643 #[cfg(feature = "ck3")]
1644 Item::TraitFlag => "common/traits/",
1645 #[cfg(feature = "ck3")]
1646 Item::TraitPortraitModifier => "gfx/portraits/trait_portrait_modifiers",
1647 #[cfg(feature = "ck3")]
1648 Item::TraitTrack => "common/traits/",
1649 #[cfg(feature = "ck3")]
1650 Item::TravelOption => "common/travel/travel_options/",
1651 #[cfg(feature = "ck3")]
1652 Item::UnitGfx => "common/culture/cultures/",
1653 #[cfg(feature = "ck3")]
1654 Item::VassalStance => "common/vassal_stances/",
1655
1656 #[cfg(feature = "vic3")]
1657 Item::AcceptanceStatus => "common/acceptance_statuses/",
1658 #[cfg(feature = "vic3")]
1659 Item::AirGraphics => "gfx/map/air_graphics/",
1660 #[cfg(feature = "vic3")]
1661 Item::Alert => "common/alert_types",
1662 #[cfg(feature = "vic3")]
1663 Item::AlertGroup => "common/alert_groups",
1664 #[cfg(feature = "vic3")]
1665 Item::Amendment => "common/amendments/",
1666 #[cfg(feature = "vic3")]
1667 Item::Approval => "",
1668 #[cfg(feature = "vic3")]
1669 Item::ArmyDiorama => "gfx/map/army_dioramas/",
1670 #[cfg(feature = "vic3")]
1671 Item::Attitude => "",
1672 #[cfg(feature = "vic3")]
1673 Item::BattleCondition => "common/battle_conditions/",
1674 #[cfg(feature = "vic3")]
1675 Item::BuildingGroup => "common/building_groups/",
1676 #[cfg(feature = "vic3")]
1677 Item::BuyPackage => "common/buy_packages/",
1678 #[cfg(feature = "vic3")]
1679 Item::CanalType => "common/canals/",
1680 #[cfg(feature = "vic3")]
1681 Item::CharacterRole => "",
1682 #[cfg(feature = "vic3")]
1683 Item::CityBuildingVfx => "gfx/map/city_data/city_building_vfx/",
1684 #[cfg(feature = "vic3")]
1685 Item::CityCenterpiece => "gfx/map/city_data/city_centerpiece/",
1686 #[cfg(feature = "vic3")]
1687 Item::CityGraphicsType => "gfx/map/city_data/city_types/",
1688 #[cfg(feature = "vic3")]
1689 Item::CityVfx => "gfx/map/city_data/city_vfx/",
1690 #[cfg(feature = "vic3")]
1691 Item::CombatUnit => "common/combat_unit_types/",
1692 #[cfg(feature = "vic3")]
1693 Item::CombatUnitExperienceLevel => "common/combat_unit_experience_levels/",
1694 #[cfg(feature = "vic3")]
1695 Item::CombatUnitGroup => "common/combat_unit_groups/",
1696 #[cfg(feature = "vic3")]
1697 Item::CommanderOrder => "common/commander_orders/",
1698 #[cfg(feature = "vic3")]
1699 Item::CommanderRank => "common/commander_ranks/",
1700 #[cfg(feature = "vic3")]
1701 Item::CompanyType => "common/company_types/",
1702 #[cfg(feature = "vic3")]
1703 Item::CompanyCharterType => "common/company_charter_types/",
1704 #[cfg(feature = "vic3")]
1705 Item::CohesionLevel => "common/cohesion_levels/",
1706 #[cfg(feature = "vic3")]
1707 Item::CountryCreation => "common/country_creation/",
1708 #[cfg(feature = "vic3")]
1709 Item::CountryFormation => "common/country_formation/",
1710 #[cfg(feature = "vic3")]
1711 Item::CountryTier => "",
1712 #[cfg(feature = "vic3")]
1713 Item::CountryType => "common/country_types/",
1714 #[cfg(feature = "vic3")]
1715 Item::CultureGraphics => "common/culture_graphics/",
1716 #[cfg(feature = "vic3")]
1717 Item::Decree => "common/decrees/",
1718 #[cfg(feature = "vic3")]
1719 Item::DiplomaticAction => "common/diplomatic_actions/",
1720 #[cfg(feature = "vic3")]
1721 Item::DiplomaticCatalyst => "common/diplomatic_catalysts/",
1722 #[cfg(feature = "vic3")]
1723 Item::DiplomaticCatalystCategory => "common/diplomatic_catalyst_categories/",
1724 #[cfg(feature = "vic3")]
1725 Item::DiplomaticPlay => "common/diplomatic_plays/",
1726 #[cfg(feature = "vic3")]
1727 Item::DiscriminationTrait => "common/discrimination_traits/",
1728 #[cfg(feature = "vic3")]
1729 Item::DiscriminationTraitGroup => "common/discrimination_trait_groups/",
1730 #[cfg(feature = "vic3")]
1731 Item::DynamicCompanyName => "common/dynamic_company_names/",
1732 #[cfg(feature = "vic3")]
1733 Item::DynamicCountryMapColor => "common/dynamic_country_map_colors/",
1734 #[cfg(feature = "vic3")]
1735 Item::DynamicCountryName => "common/dynamic_country_names/",
1736 #[cfg(feature = "vic3")]
1737 Item::DynamicTreatyName => "common/dynamic_treaty_names/",
1738 #[cfg(feature = "vic3")]
1739 Item::EventCategory => "",
1740 #[cfg(feature = "vic3")]
1741 Item::FlagDefinition => "common/flag_definitions/",
1742 #[cfg(feature = "vic3")]
1743 Item::FleetDiorama => "gfx/map/fleet_dioramas/",
1744 #[cfg(feature = "vic3")]
1745 Item::FrontGraphics => "gfx/map/borders/front_graphics/",
1746 #[cfg(feature = "vic3")]
1747 Item::GeographicRegion => "common/geographic_regions/",
1748 #[cfg(feature = "vic3")]
1749 Item::GeographicRegionShortKey => "common/geographic_regions/",
1750 #[cfg(feature = "vic3")]
1751 Item::Goods => "common/goods/",
1752 #[cfg(feature = "vic3")]
1753 Item::GradientBorderSettings => "gfx/map/gradient_border_settings/",
1755 #[cfg(feature = "vic3")]
1756 Item::HarvestConditionType => "common/harvest_condition_types/",
1757 #[cfg(feature = "vic3")]
1758 Item::HeritageTrait => "common/discrimination_traits/",
1759 #[cfg(feature = "vic3")]
1760 Item::InfamyThreshold => "",
1761 #[cfg(feature = "vic3")]
1762 Item::InterestGroup => "common/interest_groups/",
1763 #[cfg(feature = "vic3")]
1764 Item::InterestGroupTrait => "common/interest_group_traits/",
1765 #[cfg(feature = "vic3")]
1766 Item::JournalEntry => "common/journal_entries/",
1767 #[cfg(feature = "vic3")]
1768 Item::JournalEntryGroup => "common/journal_entry_groups/",
1769 #[cfg(feature = "vic3")]
1770 Item::LawType => "common/laws/",
1771 #[cfg(feature = "vic3")]
1772 Item::LanguageTrait => "common/discrimination_traits/",
1773 #[cfg(feature = "vic3")]
1774 Item::LegitimacyLevel => "common/legitimacy_levels/",
1775 #[cfg(feature = "vic3")]
1776 Item::Level => "",
1777 #[cfg(feature = "vic3")]
1778 Item::LibertyDesireLevel => "common/liberty_desire_levels/",
1779 #[cfg(feature = "vic3")]
1780 Item::MapLayer => "gfx/map/map_object_data/layers.txt",
1781 #[cfg(feature = "vic3")]
1782 Item::MapInteractionType => "common/map_interaction_types/",
1783 #[cfg(feature = "vic3")]
1784 Item::MapNotificationType => "common/map_notification_types/",
1785 #[cfg(feature = "vic3")]
1786 Item::MediaAlias => "gfx/media_aliases/",
1787 #[cfg(feature = "vic3")]
1788 Item::MilitaryFormationFlag => "common/military_formation_flags/",
1789 #[cfg(feature = "vic3")]
1790 Item::MobilizationOption => "common/mobilization_options/",
1791 #[cfg(feature = "vic3")]
1792 Item::MobilizationOptionGroup => "common/mobilization_option_groups/",
1793 #[cfg(feature = "vic3")]
1794 Item::Objective => "common/objectives/",
1795 #[cfg(feature = "vic3")]
1796 Item::ObjectiveSubgoal => "common/objective_subgoals/",
1797 #[cfg(feature = "vic3")]
1798 Item::ObjectiveSubgoalCategory => "common/objective_subgoal_categories/",
1799 #[cfg(feature = "vic3")]
1800 Item::Party => "common/parties/",
1801 #[cfg(feature = "vic3")]
1802 Item::PoliticalLobby => "common/political_lobbies/",
1803 #[cfg(feature = "vic3")]
1804 Item::PoliticalLobbyAppeasement => "common/political_lobby_appeasement/",
1805 #[cfg(feature = "vic3")]
1806 Item::PoliticalMovement => "common/political_movements",
1807 #[cfg(feature = "vic3")]
1808 Item::PoliticalMovementCategory => "common/political_movement_categories",
1809 #[cfg(feature = "vic3")]
1810 Item::PoliticalMovementPopSupport => "common/political_movement_pop_support",
1811 #[cfg(feature = "vic3")]
1812 Item::PopNeed => "common/pop_needs/",
1813 #[cfg(feature = "vic3")]
1814 Item::PowerBlocCoaPiece => "common/power_bloc_coa_pieces/",
1815 #[cfg(feature = "vic3")]
1816 Item::PowerBlocIdentity => "common/power_bloc_identities/",
1817 #[cfg(feature = "vic3")]
1818 Item::PowerBlocMapTexture => "common/power_bloc_map_textures/",
1819 #[cfg(feature = "vic3")]
1820 Item::PowerBlocName => "common/power_bloc_names/",
1821 #[cfg(feature = "vic3")]
1822 Item::PrestigeGoods => "common/prestige_goods/",
1823 #[cfg(feature = "vic3")]
1824 Item::Principle => "common/power_bloc_principles/",
1825 #[cfg(feature = "vic3")]
1826 Item::PrincipleGroup => "common/power_bloc_principle_groups/",
1827 #[cfg(feature = "vic3")]
1828 Item::ProductionMethodGroup => "common/production_method_groups/",
1829 #[cfg(feature = "vic3")]
1830 Item::ProposalType => "common/proposal_types/",
1831 #[cfg(feature = "vic3")]
1832 Item::RelationsThreshold => "",
1833 #[cfg(feature = "vic3")]
1834 Item::ScriptedButton => "common/scripted_buttons/",
1835 #[cfg(feature = "vic3")]
1836 Item::ScriptedProgressBar => "common/scripted_progress_bars/",
1837 #[cfg(feature = "vic3")]
1838 Item::ScriptedTest => "tools/scripted_tests/",
1839 #[cfg(feature = "vic3")]
1840 Item::SecretGoal => "",
1841 #[cfg(feature = "vic3")]
1842 Item::Skin => "gfx/skins/",
1843 #[cfg(feature = "vic3")]
1844 Item::SocialClass => "common/social_classes/",
1845 #[cfg(feature = "vic3")]
1846 Item::SocialHierarchy => "common/social_hierarchies/",
1847 #[cfg(feature = "vic3")]
1848 Item::StateRegion => "map_data/state_regions/",
1849 #[cfg(feature = "vic3")]
1850 Item::StateTrait => "common/state_traits/",
1851 #[cfg(feature = "vic3")]
1852 Item::Strata => "",
1853 #[cfg(feature = "vic3")]
1854 Item::TechnologyEra => "common/technology/eras/",
1855 #[cfg(feature = "vic3")]
1856 Item::TerrainKey => "common/labels/",
1857 #[cfg(feature = "vic3")]
1858 Item::TerrainLabel => "common/labels/",
1859 #[cfg(feature = "vic3")]
1860 Item::TerrainManipulator => "common/terrain_manipulators/",
1861 #[cfg(feature = "vic3")]
1862 Item::TerrainMask => "gfx/map/masks/",
1863 #[cfg(feature = "vic3")]
1864 Item::TerrainMaterial => "gfx/map/terrain/materials.settings",
1865 #[cfg(feature = "vic3")]
1866 Item::Theme => "common/themes/",
1867 #[cfg(feature = "vic3")]
1868 Item::TraditionTrait => "common/discrimination_traits/",
1869 #[cfg(feature = "vic3")]
1870 Item::TransferOfPower => "",
1871 #[cfg(feature = "vic3")]
1872 Item::TreatyArticle => "common/treaty_articles/",
1873 #[cfg(feature = "vic3")]
1874 Item::WarGoalType => "common/war_goal_types/",
1875
1876 #[cfg(feature = "imperator")]
1877 Item::AiPlanGoals => "common/ai_plan_goals/",
1878 #[cfg(feature = "imperator")]
1879 Item::Ambition => "common/ambitions/",
1880 #[cfg(feature = "imperator")]
1881 Item::Area => "map_data/areas.txt",
1882 #[cfg(feature = "imperator")]
1883 Item::Deity => "common/deities/",
1884 #[cfg(feature = "imperator")]
1885 Item::DeityCategory => "common/deity_categories/",
1886 #[cfg(feature = "imperator")]
1887 Item::DiplomaticStance => "common/diplomatic_stances/",
1888 #[cfg(feature = "imperator")]
1889 Item::EconomicPolicy => "common/economic_policies/",
1890 #[cfg(feature = "imperator")]
1891 Item::EventPicture => "common/event_pictures/",
1892 #[cfg(feature = "imperator")]
1893 Item::GovernorPolicy => "common/governor_policies/",
1894 #[cfg(feature = "imperator")]
1895 Item::GraphicalCultureType => "common/graphical_culture_types/",
1896 #[cfg(feature = "imperator")]
1897 Item::GreatWorkEffect => "common/great_work_effects/",
1898 #[cfg(feature = "imperator")]
1899 Item::GreatWorkEffectTier => "common/great_work_effect_tiers/",
1900 #[cfg(feature = "imperator")]
1901 Item::GreatWorkCategory => "common/great_work_categories/",
1902 #[cfg(feature = "imperator")]
1903 Item::GreatWorkMaterial => "common/great_work_materials/",
1904 #[cfg(feature = "imperator")]
1905 Item::GreatWorkModule => "common/great_work_modules/",
1906 #[cfg(feature = "imperator")]
1907 Item::GreatWorkTemplate => "common/great_work_templates/",
1908 #[cfg(feature = "imperator")]
1909 Item::Heritage => "common/heritage/",
1910 #[cfg(feature = "imperator")]
1911 Item::Invention => "common/inventions/",
1912 #[cfg(feature = "imperator")]
1913 Item::InventionGroup => "common/inventions/",
1914 #[cfg(feature = "imperator")]
1915 Item::LegionDistinction => "common/legion_distinctions/",
1916 #[cfg(feature = "imperator")]
1917 Item::LevyTemplate => "common/levy_templates/",
1918 #[cfg(feature = "imperator")]
1919 Item::Loyalty => "common/loyalty/",
1920 #[cfg(feature = "imperator")]
1921 Item::MilitaryTraditionTree => "common/military_traditions/",
1922 #[cfg(feature = "imperator")]
1923 Item::MilitaryTradition => "common/military_traditions/",
1924 #[cfg(feature = "imperator")]
1925 Item::MissionTask => "common/missions/",
1926 #[cfg(feature = "imperator")]
1927 Item::Office => "common/offices/",
1928 #[cfg(feature = "imperator")]
1929 Item::Opinion => "common/opinions/",
1930 #[cfg(feature = "imperator")]
1931 Item::PartyAgenda => "common/party_agendas",
1932 #[cfg(feature = "imperator")]
1933 Item::PartyType => "common/party_types/",
1934 #[cfg(feature = "imperator")]
1935 Item::PostSetupCharacters => "setup/post_character/",
1936 #[cfg(feature = "imperator")]
1937 Item::ProvinceRank => "common/province_ranks/",
1938 #[cfg(feature = "imperator")]
1939 Item::TechnologyTable => "common/technology_tables/",
1940 #[cfg(feature = "imperator")]
1941 Item::SetupCharacters => "setup/characters/",
1942 #[cfg(feature = "imperator")]
1943 Item::SetupProvinces => "setup/provinces/",
1944 #[cfg(feature = "imperator")]
1945 Item::TradeGood => "common/trade_goods/",
1946 #[cfg(feature = "imperator")]
1947 Item::Treasure => "setup/main/",
1948 #[cfg(feature = "imperator")]
1949 Item::Unit => "common/units/",
1950
1951 #[cfg(feature = "hoi4")]
1952 Item::Ability => "common/abilities/",
1953 #[cfg(feature = "hoi4")]
1954 Item::Acclimatation => "common/acclimatation.txt",
1955 #[cfg(feature = "hoi4")]
1956 Item::AdjacencyRule => "map/adjacency_rules.txt",
1957 #[cfg(feature = "hoi4")]
1958 Item::AceModifier => "common/aces",
1959 #[cfg(feature = "hoi4")]
1960 Item::AdvisorSlot => "common/script_enums.txt",
1961 #[cfg(feature = "hoi4")]
1962 Item::AiArea => "common/ai_areas/",
1963 #[cfg(feature = "hoi4")]
1964 Item::AiStrategyType => "common/ai_strategy/_documentation.md",
1965 #[cfg(feature = "hoi4")]
1966 Item::CharacterIdeaToken => "common/characters/",
1967 #[cfg(feature = "hoi4")]
1968 Item::CombatTacticPhase => "common/combat_tactics.txt",
1969 #[cfg(feature = "hoi4")]
1970 Item::Continent => "map/continent.txt",
1971 #[cfg(feature = "hoi4")]
1972 Item::CountryLeaderTrait => "common/country_leader/",
1973 #[cfg(feature = "hoi4")]
1974 Item::CountryHistory => "history/countries/",
1975 #[cfg(feature = "hoi4")]
1976 Item::CountryTag => "common/country_tags/",
1977 #[cfg(feature = "hoi4")]
1978 Item::CountryTagAlias => "common/country_tag_aliases/",
1979 #[cfg(feature = "hoi4")]
1980 Item::DecisionCategory => "common/decisions/categories/",
1981 #[cfg(feature = "hoi4")]
1982 Item::DivisionNamesGroup => "common/units/names_divisions/",
1983 #[cfg(feature = "hoi4")]
1984 Item::DivisionTemplate => "history/units/",
1985 #[cfg(feature = "hoi4")]
1986 Item::DynamicModifier => "common/dynamic_modifiers/",
1987 #[cfg(feature = "hoi4")]
1988 Item::Equipment => "common/units/equipment/",
1989 #[cfg(feature = "hoi4")]
1990 Item::EquipmentBonusType => "common/script_enums.txt",
1991 #[cfg(feature = "hoi4")]
1992 Item::EquipmentCategory => "common/script_enums.txt",
1993 #[cfg(feature = "hoi4")]
1994 Item::EquipmentGroup => "common/equipment_groups/",
1995 #[cfg(feature = "hoi4")]
1996 Item::EquipmentModule => "common/units/equipment/modules/",
1997 #[cfg(feature = "hoi4")]
1998 Item::EquipmentModuleCategory => "common/units/equipment/modules/",
1999 #[cfg(feature = "hoi4")]
2000 Item::EquipmentSearchFilter => "common/units/equipment/",
2001 #[cfg(feature = "hoi4")]
2002 Item::EquipmentStat => "common/script_enums.txt",
2003 #[cfg(feature = "hoi4")]
2004 Item::EquipmentUpgrade => "common/units/equipment/upgrades/", #[cfg(feature = "hoi4")]
2006 Item::GraphicalTerrain => "common/terrain/",
2007 #[cfg(feature = "hoi4")]
2008 Item::IdeaCategory => "common/idea_tags/",
2009 #[cfg(feature = "hoi4")]
2010 Item::IdeologyGroup => "common/ideologies/",
2011 #[cfg(feature = "hoi4")]
2012 Item::IndustrialOrg => "common/military_industrial_organization/organizations/",
2013 #[cfg(feature = "hoi4")]
2014 Item::IndustrialOrgBonusWeight => {
2015 "common/military_industrial_organization/ai_bonus_weights/"
2016 }
2017 #[cfg(feature = "hoi4")]
2018 Item::IndustrialOrgPolicy => "common/military_industrial_organization/policies/",
2019 #[cfg(feature = "hoi4")]
2020 Item::IndustrialOrgTrait => "common/military_industrial_organization/organizations/",
2021 #[cfg(feature = "hoi4")]
2022 Item::IntelligenceAgencyBranch => "common/intelligence_agency_upgrades/",
2023 #[cfg(feature = "hoi4")]
2024 Item::IntelligenceAgencyUpgrade => "common/intelligence_agency_upgrades/",
2025 #[cfg(feature = "hoi4")]
2026 Item::MusicAsset => "music/",
2027 #[cfg(feature = "hoi4")]
2028 Item::NationalFocus => "common/national_focus/",
2029 #[cfg(feature = "hoi4")]
2030 Item::NationalFocusStyle => "common/national_focus/",
2031 #[cfg(feature = "hoi4")]
2032 Item::NationalFocusTree => "common/national_focus/",
2033 #[cfg(feature = "hoi4")]
2034 Item::Operation => "common/operations/",
2035 #[cfg(feature = "hoi4")]
2036 Item::OperationPhase => "common/operation_phases/",
2037 #[cfg(feature = "hoi4")]
2038 Item::OperationToken => "common/operation_tokens/",
2039 #[cfg(feature = "hoi4")]
2040 Item::PowerBalance => "common/bop/",
2041 #[cfg(feature = "hoi4")]
2042 Item::PowerBalanceSide => "common/bop/",
2043 #[cfg(feature = "hoi4")]
2044 Item::ProductionStat => "common/script_enum.txt",
2045 #[cfg(feature = "hoi4")]
2046 Item::PrototypeReward => "common/special_projects/prototype_rewards/",
2047 #[cfg(feature = "hoi4")]
2048 Item::RailwayGunNames => "common/units/names_railway_guns/",
2049 #[cfg(feature = "hoi4")]
2050 Item::Resource => "common/resources/",
2051 #[cfg(feature = "hoi4")]
2052 Item::ScriptEnum => "common/script_enums.txt",
2053 #[cfg(feature = "hoi4")]
2054 Item::ScriptedConstant => "common/scripted_constants/", #[cfg(feature = "hoi4")]
2056 Item::ScriptedLocalisation => "common/scripted_localisation/",
2057 #[cfg(feature = "hoi4")]
2058 Item::ShipNames => "common/units/names_ships/",
2059 #[cfg(feature = "hoi4")]
2060 Item::SoundEffect | Item::SoundFalloff => "sound/",
2061 #[cfg(feature = "hoi4")]
2062 Item::SpawnPoint => "common/buildings/",
2063 #[cfg(feature = "hoi4")]
2064 Item::Specialization => "common/special_projects/specialization/",
2065 #[cfg(feature = "hoi4")]
2066 Item::SpecialProject => "common/special_projects/projects/",
2067 #[cfg(feature = "hoi4")]
2068 Item::SpecialProjectTag => "common/special_projects/project_tags/",
2069 #[cfg(feature = "hoi4")]
2070 Item::ScientistTrait => "common/scientist_traits/",
2071 #[cfg(feature = "hoi4")]
2072 Item::ShipName => "history/units/",
2073 #[cfg(feature = "hoi4")]
2074 Item::Sprite => "gfx/",
2075 #[cfg(feature = "hoi4")]
2076 Item::State => "history/states/",
2077 #[cfg(feature = "hoi4")]
2078 Item::StateCategory => "common/state_category/",
2079 #[cfg(feature = "hoi4")]
2080 Item::SubUnit => "common/units/",
2081 #[cfg(feature = "hoi4")]
2082 Item::SubUnitCategory => "common/unit_tags/",
2083 #[cfg(feature = "hoi4")]
2084 Item::SupplyArea => "map/supplyareas",
2085 #[cfg(feature = "hoi4")]
2086 Item::TechnologyCategory => "common/technology_tags/",
2087 #[cfg(feature = "hoi4")]
2088 Item::TechnologyFolder => "common/technology_tags/",
2089 #[cfg(feature = "hoi4")]
2090 Item::TechnologySharing => "common/technology_sharing/",
2091 #[cfg(feature = "hoi4")]
2092 Item::UnitHistory => "history/units/",
2093 #[cfg(feature = "hoi4")]
2094 Item::UnitLeaderSkill => "common/unit_leader/",
2095 #[cfg(feature = "hoi4")]
2096 Item::UnitLeaderTrait => "common/unit_leader/",
2097 #[cfg(feature = "hoi4")]
2098 Item::UnitNames => "common/units/names/",
2099
2100 #[cfg(feature = "eu5")]
2101 Item::Advance => "common/advances/",
2102 #[cfg(feature = "eu5")]
2103 Item::Age => "common/age/",
2104 #[cfg(feature = "eu5")]
2105 Item::AiDiplochance => "common/ai_diplochance/",
2106 #[cfg(feature = "eu5")]
2107 Item::AlertDescription => "common/alert_descriptions/",
2108 #[cfg(feature = "eu5")]
2109 Item::ArtistType => "common/artist_types/",
2110 #[cfg(feature = "eu5")]
2111 Item::ArtistWork => "common/artist_work/",
2112 #[cfg(feature = "eu5")]
2113 Item::AttributeColumn => "common/attribute_columns/",
2114 #[cfg(feature = "eu5")]
2115 Item::AutoModifier => "common/auto_modifiers/",
2116 #[cfg(feature = "eu5")]
2117 Item::Avatar => "common/avatars/",
2118 #[cfg(feature = "eu5")]
2119 Item::Bias => "common/biases/",
2120 #[cfg(feature = "eu5")]
2121 Item::BuildingCategory => "common/building_categories/",
2122 #[cfg(feature = "eu5")]
2123 Item::CabinetAction => "common/cabinet_actions/",
2124 #[cfg(feature = "eu5")]
2125 Item::CharacterTraitCategory => "",
2126 #[cfg(feature = "eu5")]
2127 Item::ChildEducation => "common/child_educations/",
2128 #[cfg(feature = "eu5")]
2129 Item::CountryDescriptionCategory => "common/country_description_categories/",
2130 #[cfg(feature = "eu5")]
2131 Item::CountryInteraction => "common/country_interactions/",
2132 #[cfg(feature = "eu5")]
2133 Item::Currency => "",
2134 #[cfg(feature = "eu5")]
2135 Item::DesignatedHeirReason => "common/designated_heir_reason/",
2136 #[cfg(feature = "eu5")]
2137 Item::DiplomaticCost => "common/diplomatic_costs/",
2138 #[cfg(feature = "eu5")]
2139 Item::Disaster => "common/disasters/",
2140 #[cfg(feature = "eu5")]
2141 Item::Disease => "common/diseases/",
2142 #[cfg(feature = "eu5")]
2143 Item::EmploymentSystem => "common/employment_systems/",
2144 #[cfg(feature = "eu5")]
2145 Item::EstatePrivilege => "common/estate_privileges/",
2146 #[cfg(feature = "eu5")]
2147 Item::Estate => "common/estates/",
2148 #[cfg(feature = "eu5")]
2149 Item::FormableCountry => "common/formable_countries/",
2150 #[cfg(feature = "eu5")]
2151 Item::GenericActionAiList => "common/generic_action_ai_lists/",
2152 #[cfg(feature = "eu5")]
2153 Item::GenericAction => "common/generic_actions/",
2154 #[cfg(feature = "eu5")]
2155 Item::God => "common/gods/",
2156 #[cfg(feature = "eu5")]
2157 Item::Good => "common/goods/",
2158 #[cfg(feature = "eu5")]
2159 Item::GoodsDemand => "common/goods_demand/",
2160 #[cfg(feature = "eu5")]
2161 Item::GoodsDemandCategory => "common/goods_demand_category/",
2162 #[cfg(feature = "eu5")]
2163 Item::GovernmentReform => "common/government_reforms/",
2164 #[cfg(feature = "eu5")]
2165 Item::Hegemon => "common/hegemons/",
2166 #[cfg(feature = "eu5")]
2167 Item::HeirSelection => "common/heir_selections/",
2168 #[cfg(feature = "eu5")]
2169 Item::HistoricalScore => "common/historical_scores/",
2170 #[cfg(feature = "eu5")]
2171 Item::HolySiteType => "common/holy_site_types/",
2172 #[cfg(feature = "eu5")]
2173 Item::Insult => "common/insults/",
2174 #[cfg(feature = "eu5")]
2175 Item::InternationalOrganization => "common/international_organizations/",
2176 #[cfg(feature = "eu5")]
2177 Item::InternationalOrganizationLandOwnershipRule => {
2178 "common/international_organization_land_ownership_rules/"
2179 }
2180 #[cfg(feature = "eu5")]
2181 Item::InternationalOrganizationPayment => "common/international_organization_payments/",
2182 #[cfg(feature = "eu5")]
2183 Item::InternationalOrganizationSpecialStatus => {
2184 "common/international_organization_special_statuses/"
2185 }
2186 #[cfg(feature = "eu5")]
2187 Item::JoinWarRule => "common/join_war_rules/",
2188 #[cfg(feature = "eu5")]
2189 Item::LanguageFamily => "common/language_families/",
2190 #[cfg(feature = "eu5")]
2191 Item::Levy => "common/levies/",
2192 #[cfg(feature = "eu5")]
2193 Item::LocationRank => "common/location_ranks/",
2194 #[cfg(feature = "eu5")]
2195 Item::MusicPlayerTrack => "common/music_player_tracks/",
2196 #[cfg(feature = "eu5")]
2197 Item::ParliamentAgenda => "common/parliament_agendas/",
2198 #[cfg(feature = "eu5")]
2199 Item::ParliamentIssue => "common/parliament_issues/",
2200 #[cfg(feature = "eu5")]
2201 Item::ParliamentType => "common/parliament_types/",
2202 #[cfg(feature = "eu5")]
2203 Item::PeaceTreaty => "common/peace_treaties/",
2204 #[cfg(feature = "eu5")]
2205 Item::Policy => "common/policies/",
2206 #[cfg(feature = "eu5")]
2207 Item::RecruitmentMethod => "common/recruitment_method/",
2208 #[cfg(feature = "eu5")]
2209 Item::Regency => "common/regencies/",
2210 #[cfg(feature = "eu5")]
2211 Item::ReligionGroup => "common/religion_groups/",
2212 #[cfg(feature = "eu5")]
2213 Item::ReligiousAspect => "common/religious_aspects/",
2214 #[cfg(feature = "eu5")]
2215 Item::ReligiousFaction => "common/religious_factions/",
2216 #[cfg(feature = "eu5")]
2217 Item::ReligiousFigure => "common/religious_figures/",
2218 #[cfg(feature = "eu5")]
2219 Item::ReligiousFocus => "common/religious_focuses/",
2220 #[cfg(feature = "eu5")]
2221 Item::ReligiousSchools => "common/religious_schools/",
2222 #[cfg(feature = "eu5")]
2223 Item::Resolution => "common/resolutions/",
2224 #[cfg(feature = "eu5")]
2225 Item::RivalCriteria => "common/rival_criteria/",
2226 #[cfg(feature = "eu5")]
2227 Item::RoadType => "common/road_types/",
2228 #[cfg(feature = "eu5")]
2229 Item::ScriptableHint => "common/scriptable_hints/",
2230 #[cfg(feature = "eu5")]
2231 Item::ScriptedCountryName => "common/scripted_country_names/",
2232 #[cfg(feature = "eu5")]
2233 Item::ScriptedDiplomaticObjective => "common/scripted_diplomatic_objectives/",
2234 #[cfg(feature = "eu5")]
2235 Item::ScriptedGeography => "common/scripted_geography/",
2236 #[cfg(feature = "eu5")]
2237 Item::ScriptedModifiers => "common/scripted_modifiers/",
2238 #[cfg(feature = "eu5")]
2239 Item::ScriptedRelations => "common/scripted_relations/",
2240 #[cfg(feature = "eu5")]
2241 Item::SocietalValue => "common/societal_values/",
2242 #[cfg(feature = "eu5")]
2243 Item::SubjectMilitaryStance => "common/subject_military_stances/",
2244 #[cfg(feature = "eu5")]
2245 Item::Test => "common/tests/",
2246 #[cfg(feature = "eu5")]
2247 Item::Topography => "common/topography/",
2248 #[cfg(feature = "eu5")]
2249 Item::TownSetup => "common/town_setups/",
2250 #[cfg(feature = "eu5")]
2251 Item::TraitFlavor => "common/trait_flavor/",
2252 #[cfg(feature = "eu5")]
2253 Item::UnitCategory => "common/unit_categories/",
2254 #[cfg(feature = "eu5")]
2255 Item::UnitFormationPreference => "common/unit_formation_preference/",
2256 #[cfg(feature = "eu5")]
2257 Item::UnitType => "common/unit_types/",
2258 #[cfg(feature = "eu5")]
2259 Item::Vegetation => "common/vegetation/",
2260 }
2261 }
2262
2263 pub fn confidence(self) -> Confidence {
2266 match self {
2267 #[cfg(feature = "jomini")]
2268 Item::AccessoryTag => Confidence::Weak,
2269
2270 Item::GuiType | Item::GuiTemplate | Item::Sound => Confidence::Weak,
2273
2274 #[cfg(feature = "ck3")]
2275 Item::AccoladeCategory
2276 | Item::BuildingGfx
2277 | Item::ClothingGfx
2278 | Item::CoaGfx
2279 | Item::CultureParameter
2280 | Item::MemoryCategory
2281 | Item::UnitGfx => Confidence::Weak,
2282
2283 #[cfg(feature = "ck3")]
2284 Item::SpecialBuilding => Confidence::Reasonable,
2285
2286 _ => Confidence::Strong,
2287 }
2288 }
2289
2290 pub fn severity(self) -> Severity {
2299 match self {
2300 Item::GuiType | Item::GuiTemplate => Severity::Untidy,
2303
2304 Item::File | Item::Localization | Item::MapEnvironment => Severity::Warning,
2305
2306 #[cfg(feature = "jomini")]
2307 Item::Accessory
2308 | Item::AccessoryTag
2309 | Item::AccessoryVariation
2310 | Item::AccessoryVariationLayout
2311 | Item::AccessoryVariationTextures
2312 | Item::Coa
2313 | Item::CoaColorList
2314 | Item::CoaColoredEmblemList
2315 | Item::CoaPatternList
2316 | Item::CoaTemplate
2317 | Item::CoaTemplateList
2318 | Item::CoaTexturedEmblemList
2319 | Item::CustomLocalization
2320 | Item::EffectLocalization
2321 | Item::Ethnicity
2322 | Item::GameConcept
2323 | Item::NamedColor
2324 | Item::PortraitAnimation
2325 | Item::PortraitCamera
2326 | Item::PortraitEnvironment
2327 | Item::Sound
2328 | Item::TextFormat
2329 | Item::TextIcon
2330 | Item::TextureFile
2331 | Item::TriggerLocalization => Severity::Warning,
2332
2333 #[cfg(feature = "ck3")]
2334 Item::AccoladeIcon
2335 | Item::ArtifactVisual
2336 | Item::BuildingGfx
2337 | Item::ClothingGfx
2338 | Item::CoaDynamicDefinition
2339 | Item::CoaGfx
2340 | Item::CultureAesthetic
2341 | Item::CultureCreationName
2342 | Item::EventBackground
2343 | Item::EventTheme
2344 | Item::EventTransition
2345 | Item::Flavorization
2346 | Item::GraphicalFaith
2347 | Item::ModifierFormat
2348 | Item::MottoInsert
2349 | Item::Motto
2350 | Item::Music
2351 | Item::Nickname
2352 | Item::RulerObjectiveType
2353 | Item::ScriptedIllustration
2354 | Item::UnitGfx => Severity::Warning,
2355
2356 #[cfg(feature = "vic3")]
2357 Item::MapLayer
2358 | Item::ModifierTypeDefinition
2359 | Item::TerrainManipulator
2360 | Item::TerrainMask
2361 | Item::TerrainMaterial => Severity::Warning,
2362
2363 #[cfg(feature = "hoi4")]
2364 Item::Sprite => Severity::Warning,
2365
2366 _ => Severity::Error,
2367 }
2368 }
2369}
2370
2371pub(crate) type ItemAdder = fn(&mut Db, Token, Block);
2373
2374pub(crate) enum ItemLoader {
2384 Normal(GameFlags, Item, ItemAdder),
2396 Full(GameFlags, Item, PdxEncoding, &'static str, LoadAsFile, Recursive, ItemAdder),
2404}
2405
2406inventory::collect!(ItemLoader);
2407
2408impl ItemLoader {
2409 pub fn for_game(&self, game: Game) -> bool {
2410 let game_flags = match self {
2411 ItemLoader::Normal(game_flags, _, _)
2412 | ItemLoader::Full(game_flags, _, _, _, _, _, _) => game_flags,
2413 };
2414 game_flags.contains(GameFlags::from(game))
2415 }
2416
2417 pub fn itype(&self) -> Item {
2418 match self {
2419 ItemLoader::Normal(_, itype, _) | ItemLoader::Full(_, itype, _, _, _, _, _) => *itype,
2420 }
2421 }
2422
2423 pub fn encoding(&self) -> PdxEncoding {
2424 match self {
2425 ItemLoader::Normal(_, _, _) => {
2426 #[cfg(feature = "hoi4")]
2427 if Game::is_hoi4() {
2428 return PdxEncoding::Utf8NoBom;
2429 }
2430 PdxEncoding::Utf8Bom
2431 }
2432 ItemLoader::Full(_, _, encoding, _, _, _, _) => *encoding,
2433 }
2434 }
2435
2436 pub fn extension(&self) -> &'static str {
2437 match self {
2438 ItemLoader::Normal(_, _, _) => ".txt",
2439 ItemLoader::Full(_, _, _, extension, _, _, _) => extension,
2440 }
2441 }
2442
2443 pub fn whole_file(&self) -> bool {
2444 match self {
2445 ItemLoader::Normal(_, _, _) => false,
2446 ItemLoader::Full(_, _, _, _, load_as_file, _, _) => {
2447 matches!(load_as_file, LoadAsFile::Yes)
2448 }
2449 }
2450 }
2451
2452 pub fn recursive(&self) -> bool {
2453 match self {
2454 ItemLoader::Normal(_, _, _) => {
2455 Game::is_ck3() && self.itype().path().starts_with("common/")
2456 }
2457 ItemLoader::Full(_, _, _, _, _, recursive, _) => match recursive {
2458 Recursive::Yes => true,
2459 Recursive::No => false,
2460 Recursive::Maybe => Game::is_ck3() && self.itype().path().starts_with("common/"),
2461 },
2462 }
2463 }
2464
2465 pub fn adder(&self) -> ItemAdder {
2466 match self {
2467 ItemLoader::Normal(_, _, adder) | ItemLoader::Full(_, _, _, _, _, _, adder) => *adder,
2468 }
2469 }
2470}
2471
2472pub enum LoadAsFile {
2473 Yes,
2474 No,
2475}
2476
2477pub enum Recursive {
2478 Yes,
2479 No,
2480 #[allow(dead_code)]
2481 Maybe,
2482}