Welcome to IOPWiki, Commander.
With the release of the new game, we encourage contributions to topics related to Girls' Frontline 2. Learn how to contribute, read the maintenance guide, and join our Discord server to discuss major changes.
If you or someone you know can help deciphering the game files, contact our administrator.

User:MoonlightArchivist/Guidelines: Difference between revisions

Welcome to IOP Wiki. This website is maintained by the Girls' Frontline community and is free to edit by anyone.
Jump to navigation Jump to search
No edit summary
No edit summary
Line 97: Line 97:
**2022saros
**2022saros
**2023NewYear: Mystery Box Theorem
**2023NewYear: Mystery Box Theorem
**2024ghost: GITS collab


===Special unit names===
===Special unit names===
Line 105: Line 106:
*Weaver: Ouroboros
*Weaver: Ouroboros
*resourceavgpicprefabsd\DUMMY_N ?
*resourceavgpicprefabsd\DUMMY_N ?
*春田咖啡: Springfield
*春田咖啡, m1903, coffee: Springfield
*pmhe: Makarov
*ar: Galil
*ar: Galil
*mlemk: Lee-Enfield
*mlemk: Lee-Enfield
Line 115: Line 115:
*ISC -> Papasha mech
*ISC -> Papasha mech
*landmine_beach -> krab
*landmine_beach -> krab
*PM -> Makarov
*PM -> Makarov (close to pm06, pm1910 and pm9)
*Rogue -> Machlian or Dandelion
*Rogue -> Machlian or Dandelion
*Shark -> Sharkitect
*Shark -> Sharkitect
Line 125: Line 125:
*Nyto_mecha -> Tareus; Nyto_mecha2 -> Sana
*Nyto_mecha -> Tareus; Nyto_mecha2 -> Sana
*aps -> Stechkin
*aps -> Stechkin
*CETME556 -> Model L
*95type / 97type / type64 (Howa Type 64) / type100 / type88 (Type 88) / type62 / 59type / 56typeR / 81typeR / 80type / 88type (Hanyang Type 88) / 79type / 64type (Type 64) / 561type / 63type / 4type (4 Shiki) / 06typesmg / howatype89 / 92type
*98k -> Kar98k
*m1 -> M1 Garand (close to m110, m1911, etc)
*tt33 -> Tokarev
*sps -> Serdyukov
*scar -> Steyr ACR
*oc44 -> OTs-44
*js127 -> JS05
*cbjms -> C-MS
*357 -> Astra Revolver
*browninghp -> HP-35
*kp31 -> Suomi
*warjack -> Mobile Armor mecha
*hezism1 -> SM-1
*fnspr -> SPR A3G
*fliegen -> drones
*dtasrs -> SRS


===Sorting bat===
===Sorting bat===

Revision as of 14:58, 10 February 2024


Select files (or drop them here)...

    GFL

    Texts

    • assettexttable
      • explore_affair_server,explore_affair_client: random exploration events
      • skin: individual costume names,unlock line,notebook memento,VA
      • skin_group: notebook event names+desc
      • skin_bonus: notebook completion bonus
      • career_quest, achievement
      • item: name+desc
      • furniture: name+desc
      • furniture_establish: upgradable base objects name+desc
      • furniture_classes
      • chess_seasonevent
      • fairy
      • equip
      • enemy_illustration: name+desc+VA
      • sangvis: different desc
      • enemy_illustration_skill (lore desc) / battle_skill_config+mission_skill_config (data)
      • commander_uniform
      • sangvis_gasha: banner names
      • building
      • organization
      • story_util: chapters desc
    • assettextes
      • unit lines (CharacterVoice, NewCharacterVoice)
      • Kalina lines (KalinaLevelVoice)
    • assettextavg
      • assets/resources/dabao/avgtxt/ ; assets/resources/dabao/avgtxt/battleavg (match with https://github.com/randomqwerty/GFLData/blob/main/en/stc/story_util.json) : Cube: -1, -6 ; Arctic Warfare: -2, -3, -4, -5 ; Cube+: -7 ; Rabbit Hunt: -8 ; Deep Dive: -10, -11, -12, -13 ; Only Master: -14, -15 ; Singularity: -16, -17, -18 ; Glory Day: -19, -20, ; Continuum Turbulence: -24, -25, -26, -27, -28 ; Isomer: -31 ; Valhalla: -32 ; Shattered Connexion: -33 ; Freaky Pandemic: -34 ; A Snowy Night Capriccio : -35 ; Polarized Light: -36 ; The Photo Studio Mystery: -37 ; Dream Theatre: -38 ; Far Side of the Sea: -40 ; Dual Randomness: -41 : Butterfly in a Cocoon: -42 ; Bounty Feast: -43 ; Mirror Stage : -44 ; Untranslated: -45 ; My Devil's Frontline: -46 ; The Waves Wrangler: -47 ; Poincaré Recurrence: -48 ; One Coin Short: -49 ; Love Bakery: -50 ; Fixed Point: -51, -99 ; Lycan Sanctuary: -52 ; Longitudinal Strain: -54 ; Eclipses & Saros: -56 ; The Glistening Bloom: -57 ; Slow Shock: -58 ; Maze Guess: -59 ;
      • assets/resources/dabao/avgtxt/anniversary: NPCs with minus tag, assimilation with s_ tag
      • assets/resources/dabao/avgtxt/fetter/: Bookshelf of Memories
      • assets/resources/dabao/avgtxt/memoir/: Neural Upgrades
      • assets/resources/dabao/avgtxt/skin/: Notebook
      • assets/resources/dabao/avgtxt/va11/va11_1.txt: Valhalla special scenes
      • assets/resources/dabao/avgtxt/tutorials: assimilation tutorial
    • equip_group: Equip costume sets name+desc, detailed effects in battle_skill_config (join on equip_group.json-group_skill<>battle_skill_config.json.skill_group_id)

    Files

    • resourceavgpicprefab__ ; resourcebossskillpic ; resourcepic__add ; resourcepic_
      • Texture2D alphas for all character types
    • resourceavgtexture_ ; resourceavgbase
      • Story illustrations
      • Sometimes contains Sprite tutorials
    • resourcecommander_ ; charactercommander ; charactersummercommander ; resourceiconcommanderemoji ; resourcecommanderemoji
      • Commander chibi Sprite, Texture2D, TextAsset .skel, MonoBehavior SkeletonData & Atlas, Shader
    • resourceiconenemy
      • _I profile icons
      • On-map structures
    • resourceiconuniform
      • Commander costumes shop icons
    • resourceiconlogo
      • factions cut-in logos
    • character_
      • For Dolls, assimilation and enemies, Sprite, Texture2D, includes alphas
      • Sometimes packages MonoBehavior skeletondata and Shader (characterunknown)
      • characterboss: groups Sangvis bosses
      • characternpc_: includes some fairies duplicated from resourcefairy
      • characterspecial: story sprites for allies
      • characterpet
    • resourcefairy
    • _spine
      • Spritesheets, atlases, shaders and scripts for all chibi dolls, enemies, map structures, pets, dorm characters and animated furniture. Still has Valkyria charas and K7. charactersupershortysangvisspine = Super Shorty during assimilation scene. charactercoffeespine = Springfield in cafe.
    • resourcespine_
    • resourceiconops
    • assetlogin1: login illustration
    • atlasclipscommonattri: Doll stats icons

    Story backgrounds

    • assets/resources/dabao/avgtxt/profiles.txt -> To find where a background is used in the story: search for the background file name in profiles.txt, check the line number, subtract one to align on zero-indexing, and search in the story files the background ID between the <BIN> tags.
      • 21Jashin: My Devil's Frontline
      • CG-Houkai: Only Master
      • 2020TCTD: Bounty Feast
      • gunCG, HenriettaCG: Dream Theater
      • va11_: Valhalla
      • BG-Djmax, CG-DJMAX: Glory Day
      • GGXX: Rabbit Hunt
      • SEAPARTY: Far Side of the Sea
      • sp2.: Cube
      • CG-2017Winter: Arctic Warfare
      • 17xh: Deep Dive
      • 2018Winter: Singularity
      • 2018Summer: Continuum Turbulence
      • 19Winter: Isomer
      • 2019summer: Shattered Connexion
      • 19christmas: A Snowy Night Capriccio
      • 2019halloween: Freaky Pandemic
      • 19winter: Polarized Light
      • 2020summer ; 20summer: Dual Randomness
      • 2020HW: Butterfly in a Cocoon
      • 2021white, 2021_ink: Mirror Stage
      • 2021summer: Poincaré Recurrence
      • 2021_Christmas: One Coin Short
      • 2022winter: Fixed Point
      • 2022summer: Longitudinal Strain
      • 2022saros
      • 2023NewYear: Mystery Box Theorem
      • 2024ghost: GITS collab

    Special unit names

    • BOSS-7: Gager
    • BOSS-9: Architect
    • BOSS-11: Dreamer
    • BossJustice: Judge
    • Weaver: Ouroboros
    • resourceavgpicprefabsd\DUMMY_N ?
    • 春田咖啡, m1903, coffee: Springfield
    • ar: Galil
    • mlemk: Lee-Enfield
    • dupijin: Dupieux
    • mrsgray
    • excutioner: Executioner
    • soldier: Gunner
    • ISC -> Papasha mech
    • landmine_beach -> krab
    • PM -> Makarov (close to pm06, pm1910 and pm9)
    • Rogue -> Machlian or Dandelion
    • Shark -> Sharkitect
    • Gunner -> Soldier_New / StreletPlus
    • Teal -> Grig
    • TeslaTrooper -> Minotaurus
    • Squad -> HOCs
    • TOW -> BGM-71
    • Nyto_mecha -> Tareus; Nyto_mecha2 -> Sana
    • aps -> Stechkin
    • CETME556 -> Model L
    • 95type / 97type / type64 (Howa Type 64) / type100 / type88 (Type 88) / type62 / 59type / 56typeR / 81typeR / 80type / 88type (Hanyang Type 88) / 79type / 64type (Type 64) / 561type / 63type / 4type (4 Shiki) / 06typesmg / howatype89 / 92type
    • 98k -> Kar98k
    • m1 -> M1 Garand (close to m110, m1911, etc)
    • tt33 -> Tokarev
    • sps -> Serdyukov
    • scar -> Steyr ACR
    • oc44 -> OTs-44
    • js127 -> JS05
    • cbjms -> C-MS
    • 357 -> Astra Revolver
    • browninghp -> HP-35
    • kp31 -> Suomi
    • warjack -> Mobile Armor mecha
    • hezism1 -> SM-1
    • fnspr -> SPR A3G
    • fliegen -> drones
    • dtasrs -> SRS

    Sorting bat

    @echo off for /f "skip=1" %%i in ('wmic os get localdatetime') do if not defined fulldate set fulldate=%%i set foldername=GFextract%fulldate:~0,8% md %foldername% md %foldername%\alphas md %foldername%\storybg md %foldername%\sounds md %foldername%\videos md %foldername%\commander md %foldername%\NPC md %foldername%\units md %foldername%\furnitures md %foldername%\menus md %foldername%\maps md %foldername%\eventmenus md %foldername%\guide md %foldername%\particles md %foldername%\live2d md %foldername%\spines md %foldername%\text md %foldername%\battlebg md %foldername%\icons

    set "source=%~dp0\" set "destination=%foldername%\alphas" robocopy "%source%" %destination% *resourceavgpic*.ab /mov robocopy "%source%" %destination% *resourcepic*.ab /mov robocopy "%source%" %destination% *resourceboss*.ab /mov set "destination=%foldername%\storybg" robocopy "%source%" %destination% *resourceavgtexture*.ab /mov robocopy "%source%" %destination% *resourceavgbase*.ab /mov set "destination=%foldername%\sounds" robocopy "%source%" %destination% *.acb.bytes /mov set "destination=%foldername%\videos" robocopy "%source%" %destination% *.usm.bytes /mov set "destination=%foldername%\commander" robocopy "%source%" %destination% *resourcecommanderclass*.ab /mov robocopy "%source%" %destination% *resourceiconuniform*.ab /mov robocopy "%source%" %destination% *charactercommander*.ab /mov robocopy "%source%" %destination% *charactersummercommander*.ab /mov robocopy "%source%" %destination% *resourceiconcommanderemoji*.ab /mov robocopy "%source%" %destination% *resourcecommanderemoji*.ab /mov set "destination=%foldername%\furnitures" robocopy "%source%" %destination% *furniture*.ab /mov robocopy "%source%" %destination% *spritesdorm*.ab /mov set "destination=%foldername%\live2d" robocopy "%source%" %destination% *live2d*.ab /mov set "destination=%foldername%\spines" robocopy "%source%" %destination% *spine*.ab /mov set "destination=%foldername%\NPC" robocopy "%source%" %destination% *characternpc*.ab /mov set "destination=%foldername%\maps" robocopy "%source%" %destination% *assetmap*.ab /mov set "destination=%foldername%\eventmenus" robocopy "%source%" %destination% *activemap*.ab /mov robocopy "%source%" %destination% *activityops*.ab /mov robocopy "%source%" %destination% *resourceactivitymap*.ab /mov set "destination=%foldername%\guide" robocopy "%source%" %destination% *guide*.ab /mov set "destination=%foldername%\particles" robocopy "%source%" %destination% *assetparticles*.ab /mov set "destination=%foldername%\icons" robocopy "%source%" %destination% *resourcenotebook*.ab /mov robocopy "%source%" %destination% *spritescardbg*.ab /mov robocopy "%source%" %destination% *resourceicon*.ab /mov robocopy "%source%" %destination% *spritesguncamps*.ab /mov robocopy "%source%" %destination% *spritesui*.ab /mov robocopy "%source%" %destination% *spritesdeploymentbuilding*.ab /mov robocopy "%source%" %destination% *resourcecardavatar*.ab /mov robocopy "%source%" %destination% *resourcecardhomebg*.ab /mov set "destination=%foldername%\menus" robocopy "%source%" %destination% *spriteshome*.ab /mov robocopy "%source%" %destination% *atlasclips*.ab /mov robocopy "%source%" %destination% *characterbuild*.ab /mov robocopy "%source%" %destination% *spritestips*.ab /mov robocopy "%source%" %destination% *spritescredits*.ab /mov

    robocopy "%source%" %destination% *assetotherres*.ab /mov robocopy "%source%" %destination% *assetthreedscenes*.ab /mov robocopy "%source%" %destination% *assetmotherbase*.ab /mov robocopy "%source%" %destination% *assettheater*.ab /mov robocopy "%source%" %destination% *assetmaterials*.ab /mov robocopy "%source%" %destination% *assetplayable*.ab /mov robocopy "%source%" %destination% *assetmanual*.ab /mov robocopy "%source%" %destination% *assetassetother*.ab /mov robocopy "%source%" %destination% *assetspecialops*.ab /mov robocopy "%source%" %destination% *assetshader*.ab /mov robocopy "%source%" %destination% *assetfonts*.ab /mov robocopy "%source%" %destination% *assetlogin*.ab /mov robocopy "%source%" %destination% *assetanimation*.ab /mov robocopy "%source%" %destination% *assetflightchessmap*.ab /mov

    robocopy "%source%" %destination% *resourceavglanguage*.ab /mov robocopy "%source%" %destination% *resourcecard*.ab /mov robocopy "%source%" %destination% *resourcebattle*.ab /mov robocopy "%source%" %destination% *resourcetitle*.ab /mov robocopy "%source%" %destination% *resourcefairy*.ab /mov robocopy "%source%" %destination% *resourcetopstory*.ab /mov robocopy "%source%" %destination% *resourceeffect*.ab /mov robocopy "%source%" %destination% *resource*prefab*.ab /mov robocopy "%source%" %destination% *resourceguncamps*.ab /mov robocopy "%source%" %destination% *resourcetargettrain*.ab /mov robocopy "%source%" %destination% *resourcesquad*.ab /mov robocopy "%source%" %destination% *resourcefetter*.ab /mov robocopy "%source%" %destination% *resourceprofiles*.ab /mov robocopy "%source%" %destination% *resourcefontsprefabs*.ab /mov robocopy "%source%" %destination% *resourcewishgunbg*.ab /mov robocopy "%source%" %destination% *resourceworldcollide*.ab /mov robocopy "%source%" %destination% *resourcesquads.ab /mov robocopy "%source%" %destination% *resourcetheater.ab /mov set "destination=%foldername%\units" robocopy "%source%" %destination% *character*.ab /mov set "destination=%foldername%\text" robocopy "%source%" %destination% *text*.ab /mov set "destination=%foldername%\battlebg" robocopy "%source%" %destination% *sprites*.ab /mov

    exit /b

    PNC Files

    • AvgConfig.*.AvgCfg_*.lua : story chapter configuration
    • AvgConfig.*.AvgLang_*_EN_US.lua : raw text
    • CharacterTextConfig.*_EN_US.lua : Files + Story text
    • CvTextConfig.*_EN_US.lua : voice lines transcriptions
    • LuaConfigs.loading_tips.lua: loading screens text
    • LuaConfigs.noun_des.lua : most worldview entries
    • LuaConfigs.locale_text.lua.bytes.txt : loose strings data (use lister in UTF-8 for CN version)
    • LuaConfigs.skin.lua.bytes: Skin names and descriptions
    • LuaConfigs.item.lua.bytes: Item descriptions (match id and furniture textures with LuaConfigs.dorm_furniture.lua.bytes.txt)
    • LuaConfigs.activity_name.lua.bytes: Events names
    • LuaConfigs.hero_relationship.lua.bytes
    • LuaConfigs.camp.lua.bytes: hero factions
    • LuaConfigs.event.lua.bytes/event_replace_txt + LuaConfigs.event_choice.lua.bytes.txt/event_assist: Anomaly Nodes (regular exploration) - 5 first numbers of IDs encode the story part/event - last number of ID encode the stage number
    • LuaConfigs.warchess_event.lua.bytes + LuaConfigs.warchess_event_choice.lua.bytes.lua: Anomaly Nodes (Matrix Mode)
    • LuaConfigs.hero_data.lua.bytes: hero id
    • LuaConfigs.avg_character.lua.bytes.lua: hero id in stories
    • LuaConfigs.sector.lua.bytes.txt: chapters + event names
    • LuaConfigs.sector_stage.lua.bytes.txt: stages names
    • spriteatlas/athsuiticon: Algo Sets icons
    • LuaConfigs.noun_des: World View (Horizon Records -> Type = 7)
    • tables.ab\BattleSkillCfg.bytes: skills description
    • spriteatlas\skillicon.ab: hero + commander + enemy skill icons
    • LuaConfigs.monster.lua.bytes.lua: Enemies names, description, skills id
    • LuaConfigs.battle_grid.lua.bytes.lua: Grid effects names and descriptions
    • spriteatlas\explorationicon.ab: protocol, active tiles, function pools icons
    • spriteatlas\commonicon.ab: items, dorm, functions, attributes icons
    • images\activity\whiteday22.ab: white day portraits 1024
    • LuaConfigs.career.lua.bytes.lua: Classes ids and names
    • images\loginbg.ab: login artwork
    • LuaConfigs.skill_label_info.lua.bytes: Skill effects tooltips
    • LuaConfigs.attribute.lua.bytes.lua: Names and IDs of hero stats (calculation formulas in Game.PlayerData.Hero.HeroData.lua.bytes.lua + Game.PlayerData.AttributeBonus.lua.bytes + LuaConfigs.hero_star.lua.bytes + LuaConfigs.hero_potential.lua.bytes)
    • images\dynhead.ab: animated profile pictures
    • images\mainscenebg.ab: main menu backgrounds
    • images\oasisbuilding.ab
    • images\sectoricon.ab
    • spriteatlas\ui_signinminigamebq.ab: Anniversary Emote Generator chibis
    • spriteatlas\sectorbuilding: Procedural Efficiency/Specialty Training icons
    • LuaConfigs.warchess_tip.lua.bytes + LuaConfigs.guide_step.lua.bytes.lua: Warchess story nodes

    GFL2

    • GF2Exilium > GF2 Game > GF2_Exilium_Data
      • StreamingAssets > Audio+PC: launch movie+voices
      • LocalCache > Data
        • Table: Human-readable data
        • AssetBundles_Windows: All assets
          • Assets > ArtsResource > Audio > CriWare: sounds, voices
          • Assets > Cutscene > Video > PC > GunGet: new unit get videos

    Files processes

    GFL Dolls

    Wiki filename Extracted from Comments
    <Name>[_costumeX].png Android/New/character<Name>/pic_<Name>[_HD] + pic_<Name>[_HD]_Alpha (use René's tool to combine) full body - main (previews are shared on all socials)
    <Name>[_costumeX]_D.png Android/New/character<Name>/pic_<Name>_D[_HD] + pic_<Name>_D[_HD]_Alpha full body - damaged (previews are shared only on TW and EN socials)
    <Name>[_costumeX]_S.png Android/New/character<Name>/pic_<Name>_N portrait (use René's extractor to separate and recrop)
    Icon_Skill_<icon name>.png Android/New/spritesui icon name fetched from "icon" parameter in /skill[X]data
    <Name>[_costumeX]_chibi[_dorm]_spritemap.png Android/New/character<Name>spine/<Name>.png sprite map. There may be another spritemap with the "R" prefix for dorms.
    <Name>[_costumeX]_chibi[_dorm]_skel.skel Android/New/character<Name>spine/<Name>.skel skel bytes. The "R" version is necessary for the dorm animations switch to work.
    <Name>[_costumeX]_chibi[_dorm]_atlas.txt Android/New/character<Name>spine/<Name>.atlas atlas bytes. There may be another atlas with the "R" prefix for dorms.
    Live2D (all assets defined in /Live2DSettings - get hit_areas from CubismHitDrawable - archives internally organized in normal and destroy)
    <Name>[_costumeX][_D]_live2d_texture.png Android/New/live2dnewgun<Name>/*.png
    <Name>[_costumeX][_D]_live2d_[motion id].mtn Android/New/live2dnewgun<Name>/*.fade.json (AnimationClip)
    <Name>[_costumeX][_D]_live2d_model.moc Android/New/live2dnewgun<Name>/*.fbx (Animator)
    <Name>[_costumeX][_D]_live2d_physics.txt Only for old Live2D

    GFL Enemies

    Wiki filename Extracted from Comments
    <Name>_I.png Android/New/resourceiconenemy icon
    <Name>_S.png Android/New/character<Name>/pic_<Name>_SS + pic_<Name>_SS_Alpha portrait
    <Name>.png Android/New/character<Name>/pic_<Name>_LL + pic_<Name>_LL_Alpha full body
    Icon_Skill_<icon name>.png Android/New/spritesui icon name fetched from "icon" parameter in subpage /skill[X]data
    <Name>_chibi_spritemap.png Android/New/character<Name>spine/<Name>.png sprite map
    <Name>_chibi_skel.skel Android/New/character<Name>spine/<Name>.skel skel bytes
    <Name>_chibi_atlas.txt Android/New/character<Name>spine/<Name>.atlas atlas bytes

    GFL Assimilated

    Name must always remain the base enemy name without attachment (even for alt versions).

    If there is only one set of animation files in the game (no "ally" fileset), reuse enemy files.

    Wiki filename Extracted from Comments
    <Name>_S.png Android/New/character<Name>/pic_<Name>_SS + pic_<Name>_SS_Alpha portrait
    <Name>.png Android/New/character<Name>/pic_<Name>_LL + pic_<Name>_LL_Alpha full body
    Icon_Skill_<icon name>.png Android/New/spritesui icon name fetched from "icon" parameter in subpage /skill[X]data
    <Name>_assimilated[_alt]_chibi_spritemap.png Android/New/character<Name>spine/<Name>.png sprite map (the _alt tag is used for "costume" variants) - May be optional
    <Name>_assimilated[_alt]_chibi_skel.skel Android/New/character<Name>spine/<Name>.skel skel bytes - May be optional
    <Name>_assimilated[_alt]_chibi_atlas.txt Android/New/character<Name>spine/<Name>.atlas atlas bytes - May be optional
    <Name>_Upgrade.png Android/New/character<Name>/pic_<Name>_LL_1 + pic_<Name>_LL_1_Alpha full body - assimilation last stage (ringleaders only)
    <Name>_Skill_CutIn.mp4 Android/New/<Name>.usm.bytes assimilated skill anim, script:

    for %%a in (*.usm.bytes) do ( UsmToolkit.exe extract %%a ffmpeg -i %%~na.m2v -i %%~na.adx -c:v libx264 -c:a aac -b:v 4M %%~na.mp4 )

    GFL HOCs

    Wiki filename Extracted from Comments
    <Name>_S.png Android/New/resourcesquads/<Name>.png
    Icon_Skill_<icon name>.png Android/New/spritesui icon name fetched from "icon" parameter in /skill[X]data
    <Name>_chibi_spritemap.png Android/New/character<Name>spine/<Name>.png full unit - sprite map
    <Name>_chibi_skel.skel Android/New/character<Name>spine/<Name>.skel full unit - skel bytes
    <Name>_chibi_atlas.txt Android/New/character<Name>spine/<Name>.atlas full unit - atlas bytes
    <Name>[_A/_B/_C]_chibi_spritemap.png Android/New/character<Name>spine/R_<Name>_M[1/2/3].png single unit - sprite map
    <Name>_chibi_skel.skel Android/New/character<Name>spine/R_<Name>_M[1/2/3].skel single unit - skel bytes
    <Name>_chibi_atlas.txt Android/New/character<Name>spine/R_<Name>_M[1/2/3].atlas single unit - atlas bytes
    <Name>_Promotion.jpg Weibo (CN)/Twitter (EN) previews Artwork with gameplay info
    <Name>_Artwork.jpg Reddit previews Clean artwork

    GFL Fairies

    Wiki filename Extracted from Comments
    <Name>[_2/_3].png Android/New/resourcefairy full body
    <Name>_chibi[_2/_3].png Android/New/resourcefairy chibi fairy

    GFL Equipment

    Wiki filename Extracted from Comments
    <Name>.png Android/New/resourceiconequip Use square picture, not rectangle one

    PNC Dolls

    Wiki filename Extracted from Comments
    Character_Profile_<Name>.png files\bundles\res\character_npic portrait
    <Name>[_costumeX].png files\bundles\res\character\<Name>\lpic_<Name>\lpic_<Name>.png full body
    <Name>_base[2/3].png files\bundles\res\character\<Name>_p[2/3]\lpic_<Name>_p[2/3]\lpic_<Name>_p[2/3].png full body - first and second breakthrough
    Icon_Skill_<name>_[passive/skill/ult].png files\bundles\res\spriteatlas\skillicon
    <name>_face[X].png files\bundles\res\character\<Name>_avg\face
    <Name>_Ult.mp4 files\media\videos\UltSkill\ultskill<HeroId>.usm ultimate skill animation (decrypt with CRID.usmDemux_Tool then ffmpeg conversion)
    PNC_<Name>_Promo[_X].[jpg/png] Weibo previews

    PNC Enemies

    Wiki filename Extracted from Comments
    <Name>.png files\bundles\res\character\<Name>_avg\lpic_<Name>_avg full body
    <Name>_face[_X].png files\bundles\res\character\<Name>_avg\face
    spic_<name>.png files\bundles\res\character_spic icon