From 5b1044eb57cbe966bf3068ca616c3f762b3f9e3c Mon Sep 17 00:00:00 2001 From: aldelaro5 Date: Sat, 7 Oct 2023 23:29:55 -0400 Subject: [PATCH] Setup MkDocs --- .gitignore | 3 +- .../.idea/indexLayout.xml | 8 --- .../.idea/projectSettingsUpdater.xml | 6 -- .../Skills List Type.md | 52 ------------------ README.md | 10 +--- SetText/Individual commands/End.md | 19 ------- SetText/Individual commands/Font.md | 35 ------------ {Entities => docs/Entities}/Entity.md | 0 .../EntityControl/Animations/AnimSpecific.md | 2 +- .../EntityControl/Animations/SetAnim.md | 0 .../EntityControl/Animations/animstate.md | 0 .../Entities}/EntityControl/CreateEntities.md | 2 +- .../EntityControl/EntityControl Creation.md | 0 .../EntityControl/EntityControl Fields.md | 14 ++--- .../EntityControl/EntityControl Methods.md | 2 +- .../Entities}/EntityControl/EntityControl.md | 0 .../Entities}/EntityControl/Modifiers.md | 2 +- .../EntityControl/Notable methods/AddModel.md | 0 .../Notable methods/CheckSpecialID.md | 0 .../EntityControl/Notable methods/Death.md | 0 .../EntityControl/Notable methods/Drop.md | 0 .../EntityControl/Notable methods/Follow.md | 0 .../Notable methods/Freeze handling.md | 0 .../Notable methods/LateStart.md | 0 .../EntityControl/Notable methods/Move.md | 0 .../Notable methods/Special AnimID startup.md | 8 +-- .../Entities}/EntityControl/Start.md | 4 +- .../Update process/RefreshShadow.md | 0 .../Update process/RefreshTrail.md | 0 .../Unity events/FixedUpdate.md | 0 .../Update process/Unity events/LateUpdate.md | 0 .../Unity events/OnTriggerExit.md | 0 .../Unity events/OnTriggerStay.md | 0 .../Update process/Unity events/Update.md | 4 +- .../Update process/UpdateAirAnim.md | 2 +- .../Update process/UpdateCollider.md | 0 .../Update process/UpdateEmoticon.md | 0 .../Update process/UpdateFlip.md | 0 .../Update process/UpdateGeneralAnim.md | 0 .../Update process/UpdateGround.md | 0 .../Update process/UpdateHeight.md | 0 .../Update process/UpdateItem.md | 0 .../Update process/UpdateMoveSmoke.md | 0 .../Update process/UpdateSound.md | 0 .../Update process/UpdateSprite.md | 0 .../Update process/UpdateStatusIcons.md | 0 .../Update process/UpdateVelocity.md | 0 .../Entities}/NPCControl/NPCControl.md | 0 .../Enums and IDs}/AnimIDs.md | 0 .../Enums and IDs}/BoardQuests.md | 2 +- .../Enums and IDs}/Enemies.md | 0 .../Enums and IDs}/Events.md | 2 +- .../Enums and IDs}/Items.md | 2 +- {Enums and IDs => docs/Enums and IDs}/Maps.md | 2 +- .../Enums and IDs}/Medal.md | 4 +- .../Enums and IDs}/Musics.md | 2 +- .../Enums and IDs}/crystalbfflags.md | 2 +- .../Enums and IDs}/librarystuff/Areas.md | 4 +- .../librarystuff/Bestiary entry.md | 4 +- .../librarystuff/Discoveries entry.md | 4 +- .../librarystuff/Recipes entry.md | 4 +- .../librarystuff/Records entry.md | 4 +- .../External data format}/Save File.md | 0 .../Flags arrays}/Regionalflags.md | 2 +- {Flags arrays => docs/Flags arrays}/flags.md | 2 +- .../Flags arrays}/flagstring.md | 2 +- .../Flags arrays}/flagvar.md | 2 +- .../Game files structure.md | 2 +- .../ItemList}/ItemList State Machine.md | 10 ++-- {ItemList => docs/ItemList}/ItemList.md | 4 +- .../B.O.S.S Battles List Type.md | 0 .../Battle Strategy List Type.md | 20 +++---- .../Caravan Prize Medals List Type.md | 0 .../Chompy Ribbons List Type.md | 0 .../Controller Bindings List Type.md | 0 .../Enum List Type.md | 0 .../Equipped Medals List Type.md | 0 .../Items List Type.md | 2 +- .../Key Bindings List Type.md | 2 +- .../Languages list Type.md | 4 +- .../Library List Type.md | 6 +- .../Lore Book List Type.md | 2 +- .../Medals List Type.md | 6 +- .../Overall Quests List Type.md | 8 +-- .../Quest Board List Type.md | 8 +-- .../Samira Songs List Type.md | 4 +- .../Settings List Type.md | 2 +- .../Skills List Type.md | 52 ++++++++++++++++++ .../Spy Cards List Type.md | 0 .../Stat Bonuses List Type.md | 2 +- .../Termacade Prizes List Type.md | 4 +- .../ItemList}/ShowItemList Life Cycle.md | 0 .../Description box rendering.md | 6 +- .../Rerendering after scroll.md | 4 +- {ItemList => docs/ItemList}/ShowItemList.md | 2 +- {ItemList => docs/ItemList}/inlist issue.md | 6 +- {ItemList => docs/ItemList}/listtype.md | 0 {OLD => docs/OLD}/Entity data.md | 2 +- .../Screenshots}/gane-install-managed.png | Bin .../Screenshots}/gane-install-root.png | Bin {SetText => docs/SetText}/Commands.md | 12 ++-- .../Dialogue line id.md | 2 +- .../Common commands id schemes/Entity id.md | 2 +- {SetText => docs/SetText}/Dialogue mode.md | 18 +++--- {SetText => docs/SetText}/Entry Points.md | 18 +++--- .../Activateselectedquest.md | 0 .../SetText}/Individual commands/Addboard.md | 0 .../Individual commands/Addfollower.md | 0 .../SetText}/Individual commands/Additem.md | 0 .../Individual commands/Additemtoss.md | 0 .../SetText}/Individual commands/Addprize.md | 0 .../SetText}/Individual commands/Addquest.md | 0 .../SetText}/Individual commands/Addstat.md | 0 .../SetText}/Individual commands/Addvar.md | 0 .../SetText}/Individual commands/Align.md | 0 .../Individual commands/Alwaysactive.md | 0 .../SetText}/Individual commands/Anim.md | 0 .../SetText}/Individual commands/Anstring.md | 0 .../SetText}/Individual commands/Area.md | 0 .../SetText}/Individual commands/Backbox.md | 0 .../SetText}/Individual commands/Backline.md | 0 .../SetText}/Individual commands/Battle.md | 0 .../Individual commands/Battlesize.md | 0 .../SetText}/Individual commands/Battlewon.md | 0 .../SetText}/Individual commands/BeeGame.md | 0 .../SetText}/Individual commands/Blank.md | 0 .../SetText}/Individual commands/Bleep.md | 0 .../SetText}/Individual commands/Boxspeed.md | 0 .../SetText}/Individual commands/Boxstyle.md | 0 .../SetText}/Individual commands/Break.md | 2 +- .../SetText}/Individual commands/Breakend.md | 0 .../SetText}/Individual commands/Breakflag.md | 0 .../SetText}/Individual commands/Button.md | 0 .../SetText}/Individual commands/Call.md | 0 .../SetText}/Individual commands/Camangle.md | 0 .../SetText}/Individual commands/Camlimit.md | 0 .../SetText}/Individual commands/Camoffset.md | 0 .../SetText}/Individual commands/Camspeed.md | 0 .../SetText}/Individual commands/Camtarget.md | 0 .../Individual commands/Cancelaction.md | 0 .../Individual commands/Caravanmedal.md | 0 .../Individual commands/Cardbattle.md | 0 .../Individual commands/Cberrytotal.md | 0 .../SetText}/Individual commands/Center.md | 0 .../Individual commands/Chapterintro.md | 0 .../Individual commands/Checkallquests.md | 0 .../SetText}/Individual commands/Checkanim.md | 0 .../SetText}/Individual commands/Checkflag.md | 0 .../Individual commands/Checkinvqtd.md | 0 .../Individual commands/Checkmapflag.md | 2 +- .../Individual commands/Checkminibubble.md | 0 .../Individual commands/Checkmoney.md | 0 .../SetText}/Individual commands/Checkpos.md | 0 .../Individual commands/Checkregional.md | 0 .../SetText}/Individual commands/Checksum.md | 0 .../SetText}/Individual commands/Checktrue.md | 0 .../SetText}/Individual commands/Checkvar.md | 0 .../Individual commands/Choicewave.md | 0 .../Individual commands/Clonestring.md | 0 .../SetText}/Individual commands/Color.md | 0 .../SetText}/Individual commands/Common.md | 0 .../Individual commands/Completequest.md | 0 .../SetText}/Individual commands/Copyvar.md | 0 .../Individual commands/Createitem.md | 0 .../SetText}/Individual commands/Currency.md | 0 .../Individual commands/Deathsmoke.md | 0 .../SetText}/Individual commands/Define.md | 0 .../Individual commands/Destroydescbox.md | 0 .../Individual commands/Destroyminibubble.md | 0 .../SetText}/Individual commands/Discovery.md | 0 .../Individual commands/Dropshadow.md | 0 .../Individual commands/DungeonGame.md | 0 .../SetText}/Individual commands/Emoticon.md | 0 docs/SetText/Individual commands/End.md | 19 +++++++ .../Individual commands/Entityalive.md | 0 .../SetText}/Individual commands/Event.md | 0 .../SetText}/Individual commands/Exitgame.md | 0 .../SetText}/Individual commands/Exp.md | 0 .../SetText}/Individual commands/Face.md | 0 .../SetText}/Individual commands/FadeIn.md | 0 .../SetText}/Individual commands/FadeOut.md | 0 .../Individual commands/Fadeletter.md | 0 .../SetText}/Individual commands/Fademusic.md | 0 .../SetText}/Individual commands/Faketail.md | 0 .../SetText}/Individual commands/Fixchompy.md | 0 .../SetText}/Individual commands/Flag.md | 0 .../SetText}/Individual commands/Flagvalue.md | 0 .../SetText}/Individual commands/Flip.md | 0 .../SetText}/Individual commands/Follow.md | 0 docs/SetText/Individual commands/Font.md | 35 ++++++++++++ .../SetText}/Individual commands/Forcewait.md | 0 .../SetText}/Individual commands/Fwait.md | 0 .../Individual commands/GetFromMap.md | 4 +- .../Individual commands/Getstorage.md | 0 .../SetText}/Individual commands/Gettail.md | 0 .../SetText}/Individual commands/Giveitem.md | 0 .../SetText}/Individual commands/Glitchy.md | 0 .../SetText}/Individual commands/Goto.md | 0 .../SetText}/Individual commands/Halfline.md | 0 .../SetText}/Individual commands/Halt.md | 0 .../SetText}/Individual commands/Heal.md | 0 .../SetText}/Individual commands/Hide.md | 0 .../SetText}/Individual commands/Hidemoney.md | 0 .../SetText}/Individual commands/Hidespeed.md | 0 .../SetText}/Individual commands/Icon.md | 0 .../SetText}/Individual commands/Igcolmove.md | 0 .../Individual commands/Ignorenext.md | 0 .../SetText}/Individual commands/Innsleep.md | 0 .../SetText}/Individual commands/Itemname.md | 0 .../SetText}/Individual commands/Itemvalue.md | 0 .../SetText}/Individual commands/Jump.md | 0 .../SetText}/Individual commands/Kill.md | 0 .../Individual commands/Kinematicplayer.md | 0 .../Individual commands/LetterPrompt.md | 4 +- .../SetText}/Individual commands/Level.md | 0 .../Individual commands/Librarybook.md | 0 .../Individual commands/Libraryline.md | 0 .../Individual commands/Librarysize.md | 0 .../SetText}/Individual commands/Limit.md | 0 .../SetText}/Individual commands/Line.md | 0 .../SetText}/Individual commands/Listsize.md | 0 .../Individual commands/Loadcamera.md | 0 .../SetText}/Individual commands/Loadmap.md | 0 .../SetText}/Individual commands/Lock.md | 0 .../Individual commands/Lockbacktrack.md | 0 .../Individual commands/Lockmovement.md | 0 .../SetText}/Individual commands/Lore.md | 0 .../SetText}/Individual commands/Mapflag.md | 0 .../SetText}/Individual commands/Mapsize.md | 0 .../SetText}/Individual commands/Maxmedals.md | 0 .../Individual commands/Medaltotal.md | 0 .../SetText}/Individual commands/Menu.md | 0 .../Individual commands/Minibubble.md | 0 .../SetText}/Individual commands/Money.md | 0 .../SetText}/Individual commands/Mothfly.md | 0 .../SetText}/Individual commands/Move.md | 0 .../SetText}/Individual commands/Moveahead.md | 0 .../SetText}/Individual commands/Movewait.md | 0 .../SetText}/Individual commands/Music.md | 0 .../SetText}/Individual commands/Next.md | 0 .../SetText}/Individual commands/Noskip.md | 0 .../Individual commands/NumberPrompt.md | 4 +- .../SetText}/Individual commands/Openpause.md | 0 .../Individual commands/Optiontovar.md | 0 .../Individual commands/Overfollower.md | 0 .../SetText}/Individual commands/Parent.md | 0 .../SetText}/Individual commands/Particle.md | 0 .../SetText}/Individual commands/PartyGame.md | 0 .../SetText}/Individual commands/Pauseline.md | 0 .../SetText}/Individual commands/Pausesize.md | 0 .../SetText}/Individual commands/Pickitem.md | 0 .../SetText}/Individual commands/Position.md | 0 .../SetText}/Individual commands/Prompt.md | 2 +- .../Individual commands/Quarterline.md | 0 .../Individual commands/Questbreak.md | 0 .../Individual commands/Questprompt.md | 0 .../SetText}/Individual commands/Questsize.md | 0 .../SetText}/Individual commands/Rainbow.md | 0 .../Individual commands/Regionalflag.md | 0 .../Individual commands/Removebadgeshop.md | 0 .../Individual commands/Removefollower.md | 0 .../Individual commands/Removeitem.md | 0 .../Individual commands/Removeitemat.md | 0 .../Individual commands/Removemaplimits.md | 0 .../Individual commands/Removestat.md | 2 +- .../Individual commands/Rerollshops.md | 0 .../Individual commands/Resetcamera.md | 0 .../Individual commands/Resetmaplimits.md | 0 .../Individual commands/Resetregion.md | 0 .../SetText}/Individual commands/Save.md | 0 .../Individual commands/Savecamera.md | 0 .../Individual commands/Scorecheck.md | 8 +-- .../SetText}/Individual commands/Setbreak.md | 0 .../SetText}/Individual commands/Setprize.md | 0 .../SetText}/Individual commands/Setvar.md | 0 .../Individual commands/Shakecamera.md | 0 .../SetText}/Individual commands/Shaky.md | 0 .../SetText}/Individual commands/Shopline.md | 0 .../SetText}/Individual commands/Shoppool.md | 0 .../SetText}/Individual commands/Showmoney.md | 0 .../Individual commands/Showtokens.md | 2 +- .../SetText}/Individual commands/Single.md | 0 .../Individual commands/Singlebreak.md | 0 .../SetText}/Individual commands/Sizemulti.md | 0 .../SetText}/Individual commands/Sort.md | 0 .../SetText}/Individual commands/Sound.md | 0 .../SetText}/Individual commands/Spd.md | 0 .../SetText}/Individual commands/Speed.md | 0 .../SetText}/Individual commands/Sstring.md | 0 .../SetText}/Individual commands/Stars.md | 0 .../SetText}/Individual commands/Stopskip.md | 0 .../SetText}/Individual commands/String.md | 0 .../SetText}/Individual commands/Switch.md | 0 .../SetText}/Individual commands/Tab.md | 0 .../SetText}/Individual commands/Tail.md | 0 .../SetText}/Individual commands/Tailextra.md | 0 .../Individual commands/Takeopenquests.md | 0 .../Individual commands/Teleportparty.md | 0 .../Individual commands/Termacadecheck.md | 0 .../SetText}/Individual commands/Testdiag.md | 0 .../SetText}/Individual commands/Textangle.md | 0 .../SetText}/Individual commands/Transfer.md | 0 .../Individual commands/Transitionsort.md | 0 .../SetText}/Individual commands/Triui.md | 0 .../Individual commands/Unpauseline.md | 0 .../Individual commands/Unpausesize.md | 0 .../Individual commands/Updateanim.md | 0 .../SetText}/Individual commands/Var.md | 0 .../SetText}/Individual commands/Wait.md | 0 .../SetText}/Individual commands/Waitcn.md | 0 .../Individual commands/Waitminibubble.md | 0 .../SetText}/Individual commands/Warp.md | 0 .../SetText}/Individual commands/Wavy.md | 0 .../SetText}/Individual commands/size.md | 0 .../Regular Letter Rendering.md | 0 .../Single Letter Rendering.md | 4 +- {SetText => docs/SetText}/Life Cycle.md | 18 +++--- {SetText => docs/SetText}/Notable states.md | 0 .../Organisation procedure.md | 0 .../OrganiseLines Known Issues.md | 0 .../Automatic Line Breaks/OrganiseLines.md | 0 .../SetText}/Related Systems/Backtracking.md | 2 +- .../SetText}/Related Systems/FontEffects.md | 2 +- .../SetText}/Related Systems/GlobalCommand.md | 0 .../SetText}/Related Systems/Text advance.md | 4 +- {SetText => docs/SetText}/SetText.md | 6 +- {SetText => docs/SetText}/languageid.md | 0 .../TextAsset Data}/BoardQuests data.md | 0 .../TextAsset Data}/Cave Of Trials data.md | 4 +- .../TextAsset Data}/Dialogue data.md | 6 +- .../TextAsset Data}/Discoveries data.md | 0 .../TextAsset Data}/Enemies data.md | 0 .../TextAsset Data}/Entity data.md | 2 +- .../TextAsset Data}/Fortune Teller data.md | 0 .../TextAsset Data}/Items data.md | 2 +- .../TextAsset Data}/Lore Books data.md | 4 +- .../TextAsset Data}/Medals data.md | 2 +- .../Miscellaneous global data.md | 6 +- .../Miscellaneous language specific data.md | 4 +- .../TextAsset Data}/Musics data.md | 0 .../TextAsset Data}/Rank data.md | 2 +- .../TextAsset Data}/Recipes data.md | 0 .../TextAsset Data}/Records data.md | 0 .../TextAsset Data}/Skills data.md | 0 .../TextAsset Data}/Spy Cards data.md | 0 .../TextAsset Data}/Termacade Prizes data.md | 2 +- docs/index.md | 10 ++++ mkdocs.yml | 43 +++++++++++++++ 348 files changed, 335 insertions(+), 299 deletions(-) delete mode 100644 .idea/.idea.Bug-Fables-Internal-Docs.dir/.idea/indexLayout.xml delete mode 100644 .idea/.idea.Bug-Fables-Internal-Docs.dir/.idea/projectSettingsUpdater.xml delete mode 100644 ItemList/List Types Group Details/Skills List Type.md delete mode 100644 SetText/Individual commands/End.md delete mode 100644 SetText/Individual commands/Font.md rename {Entities => docs/Entities}/Entity.md (100%) rename {Entities => docs/Entities}/EntityControl/Animations/AnimSpecific.md (98%) rename {Entities => docs/Entities}/EntityControl/Animations/SetAnim.md (100%) rename {Entities => docs/Entities}/EntityControl/Animations/animstate.md (100%) rename {Entities => docs/Entities}/EntityControl/CreateEntities.md (55%) rename {Entities => docs/Entities}/EntityControl/EntityControl Creation.md (100%) rename {Entities => docs/Entities}/EntityControl/EntityControl Fields.md (98%) rename {Entities => docs/Entities}/EntityControl/EntityControl Methods.md (99%) rename {Entities => docs/Entities}/EntityControl/EntityControl.md (100%) rename {Entities => docs/Entities}/EntityControl/Modifiers.md (97%) rename {Entities => docs/Entities}/EntityControl/Notable methods/AddModel.md (100%) rename {Entities => docs/Entities}/EntityControl/Notable methods/CheckSpecialID.md (100%) rename {Entities => docs/Entities}/EntityControl/Notable methods/Death.md (100%) rename {Entities => docs/Entities}/EntityControl/Notable methods/Drop.md (100%) rename {Entities => docs/Entities}/EntityControl/Notable methods/Follow.md (100%) rename {Entities => docs/Entities}/EntityControl/Notable methods/Freeze handling.md (100%) rename {Entities => docs/Entities}/EntityControl/Notable methods/LateStart.md (100%) rename {Entities => docs/Entities}/EntityControl/Notable methods/Move.md (100%) rename {Entities => docs/Entities}/EntityControl/Notable methods/Special AnimID startup.md (82%) rename {Entities => docs/Entities}/EntityControl/Start.md (95%) rename {Entities => docs/Entities}/EntityControl/Update process/RefreshShadow.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/RefreshTrail.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/Unity events/FixedUpdate.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/Unity events/LateUpdate.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/Unity events/OnTriggerExit.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/Unity events/OnTriggerStay.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/Unity events/Update.md (91%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateAirAnim.md (89%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateCollider.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateEmoticon.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateFlip.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateGeneralAnim.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateGround.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateHeight.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateItem.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateMoveSmoke.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateSound.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateSprite.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateStatusIcons.md (100%) rename {Entities => docs/Entities}/EntityControl/Update process/UpdateVelocity.md (100%) rename {Entities => docs/Entities}/NPCControl/NPCControl.md (100%) rename {Enums and IDs => docs/Enums and IDs}/AnimIDs.md (100%) rename {Enums and IDs => docs/Enums and IDs}/BoardQuests.md (94%) rename {Enums and IDs => docs/Enums and IDs}/Enemies.md (100%) rename {Enums and IDs => docs/Enums and IDs}/Events.md (99%) rename {Enums and IDs => docs/Enums and IDs}/Items.md (94%) rename {Enums and IDs => docs/Enums and IDs}/Maps.md (98%) rename {Enums and IDs => docs/Enums and IDs}/Medal.md (92%) rename {Enums and IDs => docs/Enums and IDs}/Musics.md (98%) rename {Enums and IDs => docs/Enums and IDs}/crystalbfflags.md (96%) rename {Enums and IDs => docs/Enums and IDs}/librarystuff/Areas.md (89%) rename {Enums and IDs => docs/Enums and IDs}/librarystuff/Bestiary entry.md (82%) rename {Enums and IDs => docs/Enums and IDs}/librarystuff/Discoveries entry.md (77%) rename {Enums and IDs => docs/Enums and IDs}/librarystuff/Recipes entry.md (80%) rename {Enums and IDs => docs/Enums and IDs}/librarystuff/Records entry.md (78%) rename {External data format => docs/External data format}/Save File.md (100%) rename {Flags arrays => docs/Flags arrays}/Regionalflags.md (98%) rename {Flags arrays => docs/Flags arrays}/flags.md (99%) rename {Flags arrays => docs/Flags arrays}/flagstring.md (86%) rename {Flags arrays => docs/Flags arrays}/flagvar.md (91%) rename Game files structure.md => docs/Game files structure.md (98%) rename {ItemList => docs/ItemList}/ItemList State Machine.md (74%) rename {ItemList => docs/ItemList}/ItemList.md (68%) rename {ItemList => docs/ItemList}/List Types Group Details/B.O.S.S Battles List Type.md (100%) rename {ItemList => docs/ItemList}/List Types Group Details/Battle Strategy List Type.md (53%) rename {ItemList => docs/ItemList}/List Types Group Details/Caravan Prize Medals List Type.md (100%) rename {ItemList => docs/ItemList}/List Types Group Details/Chompy Ribbons List Type.md (100%) rename {ItemList => docs/ItemList}/List Types Group Details/Controller Bindings List Type.md (100%) rename {ItemList => docs/ItemList}/List Types Group Details/Enum List Type.md (100%) rename {ItemList => docs/ItemList}/List Types Group Details/Equipped Medals List Type.md (100%) rename {ItemList => docs/ItemList}/List Types Group Details/Items List Type.md (94%) rename {ItemList => docs/ItemList}/List Types Group Details/Key Bindings List Type.md (68%) rename {ItemList => docs/ItemList}/List Types Group Details/Languages list Type.md (79%) rename {ItemList => docs/ItemList}/List Types Group Details/Library List Type.md (76%) rename {ItemList => docs/ItemList}/List Types Group Details/Lore Book List Type.md (84%) rename {ItemList => docs/ItemList}/List Types Group Details/Medals List Type.md (68%) rename {ItemList => docs/ItemList}/List Types Group Details/Overall Quests List Type.md (74%) rename {ItemList => docs/ItemList}/List Types Group Details/Quest Board List Type.md (76%) rename {ItemList => docs/ItemList}/List Types Group Details/Samira Songs List Type.md (84%) rename {ItemList => docs/ItemList}/List Types Group Details/Settings List Type.md (92%) create mode 100644 docs/ItemList/List Types Group Details/Skills List Type.md rename {ItemList => docs/ItemList}/List Types Group Details/Spy Cards List Type.md (100%) rename {ItemList => docs/ItemList}/List Types Group Details/Stat Bonuses List Type.md (87%) rename {ItemList => docs/ItemList}/List Types Group Details/Termacade Prizes List Type.md (74%) rename {ItemList => docs/ItemList}/ShowItemList Life Cycle.md (100%) rename {ItemList => docs/ItemList}/ShowItemList Life Cycle/Description box rendering.md (61%) rename {ItemList => docs/ItemList}/ShowItemList Life Cycle/Rerendering after scroll.md (88%) rename {ItemList => docs/ItemList}/ShowItemList.md (87%) rename {ItemList => docs/ItemList}/inlist issue.md (76%) rename {ItemList => docs/ItemList}/listtype.md (100%) rename {OLD => docs/OLD}/Entity data.md (99%) rename {Screenshots => docs/Screenshots}/gane-install-managed.png (100%) rename {Screenshots => docs/Screenshots}/gane-install-root.png (100%) rename {SetText => docs/SetText}/Commands.md (94%) rename {SetText => docs/SetText}/Common commands id schemes/Dialogue line id.md (88%) rename {SetText => docs/SetText}/Common commands id schemes/Entity id.md (87%) rename {SetText => docs/SetText}/Dialogue mode.md (54%) rename {SetText => docs/SetText}/Entry Points.md (64%) rename {SetText => docs/SetText}/Individual commands/Activateselectedquest.md (100%) rename {SetText => docs/SetText}/Individual commands/Addboard.md (100%) rename {SetText => docs/SetText}/Individual commands/Addfollower.md (100%) rename {SetText => docs/SetText}/Individual commands/Additem.md (100%) rename {SetText => docs/SetText}/Individual commands/Additemtoss.md (100%) rename {SetText => docs/SetText}/Individual commands/Addprize.md (100%) rename {SetText => docs/SetText}/Individual commands/Addquest.md (100%) rename {SetText => docs/SetText}/Individual commands/Addstat.md (100%) rename {SetText => docs/SetText}/Individual commands/Addvar.md (100%) rename {SetText => docs/SetText}/Individual commands/Align.md (100%) rename {SetText => docs/SetText}/Individual commands/Alwaysactive.md (100%) rename {SetText => docs/SetText}/Individual commands/Anim.md (100%) rename {SetText => docs/SetText}/Individual commands/Anstring.md (100%) rename {SetText => docs/SetText}/Individual commands/Area.md (100%) rename {SetText => docs/SetText}/Individual commands/Backbox.md (100%) rename {SetText => docs/SetText}/Individual commands/Backline.md (100%) rename {SetText => docs/SetText}/Individual commands/Battle.md (100%) rename {SetText => docs/SetText}/Individual commands/Battlesize.md (100%) rename {SetText => docs/SetText}/Individual commands/Battlewon.md (100%) rename {SetText => docs/SetText}/Individual commands/BeeGame.md (100%) rename {SetText => docs/SetText}/Individual commands/Blank.md (100%) rename {SetText => docs/SetText}/Individual commands/Bleep.md (100%) rename {SetText => docs/SetText}/Individual commands/Boxspeed.md (100%) rename {SetText => docs/SetText}/Individual commands/Boxstyle.md (100%) rename {SetText => docs/SetText}/Individual commands/Break.md (71%) rename {SetText => docs/SetText}/Individual commands/Breakend.md (100%) rename {SetText => docs/SetText}/Individual commands/Breakflag.md (100%) rename {SetText => docs/SetText}/Individual commands/Button.md (100%) rename {SetText => docs/SetText}/Individual commands/Call.md (100%) rename {SetText => docs/SetText}/Individual commands/Camangle.md (100%) rename {SetText => docs/SetText}/Individual commands/Camlimit.md (100%) rename {SetText => docs/SetText}/Individual commands/Camoffset.md (100%) rename {SetText => docs/SetText}/Individual commands/Camspeed.md (100%) rename {SetText => docs/SetText}/Individual commands/Camtarget.md (100%) rename {SetText => docs/SetText}/Individual commands/Cancelaction.md (100%) rename {SetText => docs/SetText}/Individual commands/Caravanmedal.md (100%) rename {SetText => docs/SetText}/Individual commands/Cardbattle.md (100%) rename {SetText => docs/SetText}/Individual commands/Cberrytotal.md (100%) rename {SetText => docs/SetText}/Individual commands/Center.md (100%) rename {SetText => docs/SetText}/Individual commands/Chapterintro.md (100%) rename {SetText => docs/SetText}/Individual commands/Checkallquests.md (100%) rename {SetText => docs/SetText}/Individual commands/Checkanim.md (100%) rename {SetText => docs/SetText}/Individual commands/Checkflag.md (100%) rename {SetText => docs/SetText}/Individual commands/Checkinvqtd.md (100%) rename {SetText => docs/SetText}/Individual commands/Checkmapflag.md (87%) rename {SetText => docs/SetText}/Individual commands/Checkminibubble.md (100%) rename {SetText => docs/SetText}/Individual commands/Checkmoney.md (100%) rename {SetText => docs/SetText}/Individual commands/Checkpos.md (100%) rename {SetText => docs/SetText}/Individual commands/Checkregional.md (100%) rename {SetText => docs/SetText}/Individual commands/Checksum.md (100%) rename {SetText => docs/SetText}/Individual commands/Checktrue.md (100%) rename {SetText => docs/SetText}/Individual commands/Checkvar.md (100%) rename {SetText => docs/SetText}/Individual commands/Choicewave.md (100%) rename {SetText => docs/SetText}/Individual commands/Clonestring.md (100%) rename {SetText => docs/SetText}/Individual commands/Color.md (100%) rename {SetText => docs/SetText}/Individual commands/Common.md (100%) rename {SetText => docs/SetText}/Individual commands/Completequest.md (100%) rename {SetText => docs/SetText}/Individual commands/Copyvar.md (100%) rename {SetText => docs/SetText}/Individual commands/Createitem.md (100%) rename {SetText => docs/SetText}/Individual commands/Currency.md (100%) rename {SetText => docs/SetText}/Individual commands/Deathsmoke.md (100%) rename {SetText => docs/SetText}/Individual commands/Define.md (100%) rename {SetText => docs/SetText}/Individual commands/Destroydescbox.md (100%) rename {SetText => docs/SetText}/Individual commands/Destroyminibubble.md (100%) rename {SetText => docs/SetText}/Individual commands/Discovery.md (100%) rename {SetText => docs/SetText}/Individual commands/Dropshadow.md (100%) rename {SetText => docs/SetText}/Individual commands/DungeonGame.md (100%) rename {SetText => docs/SetText}/Individual commands/Emoticon.md (100%) create mode 100644 docs/SetText/Individual commands/End.md rename {SetText => docs/SetText}/Individual commands/Entityalive.md (100%) rename {SetText => docs/SetText}/Individual commands/Event.md (100%) rename {SetText => docs/SetText}/Individual commands/Exitgame.md (100%) rename {SetText => docs/SetText}/Individual commands/Exp.md (100%) rename {SetText => docs/SetText}/Individual commands/Face.md (100%) rename {SetText => docs/SetText}/Individual commands/FadeIn.md (100%) rename {SetText => docs/SetText}/Individual commands/FadeOut.md (100%) rename {SetText => docs/SetText}/Individual commands/Fadeletter.md (100%) rename {SetText => docs/SetText}/Individual commands/Fademusic.md (100%) rename {SetText => docs/SetText}/Individual commands/Faketail.md (100%) rename {SetText => docs/SetText}/Individual commands/Fixchompy.md (100%) rename {SetText => docs/SetText}/Individual commands/Flag.md (100%) rename {SetText => docs/SetText}/Individual commands/Flagvalue.md (100%) rename {SetText => docs/SetText}/Individual commands/Flip.md (100%) rename {SetText => docs/SetText}/Individual commands/Follow.md (100%) create mode 100644 docs/SetText/Individual commands/Font.md rename {SetText => docs/SetText}/Individual commands/Forcewait.md (100%) rename {SetText => docs/SetText}/Individual commands/Fwait.md (100%) rename {SetText => docs/SetText}/Individual commands/GetFromMap.md (76%) rename {SetText => docs/SetText}/Individual commands/Getstorage.md (100%) rename {SetText => docs/SetText}/Individual commands/Gettail.md (100%) rename {SetText => docs/SetText}/Individual commands/Giveitem.md (100%) rename {SetText => docs/SetText}/Individual commands/Glitchy.md (100%) rename {SetText => docs/SetText}/Individual commands/Goto.md (100%) rename {SetText => docs/SetText}/Individual commands/Halfline.md (100%) rename {SetText => docs/SetText}/Individual commands/Halt.md (100%) rename {SetText => docs/SetText}/Individual commands/Heal.md (100%) rename {SetText => docs/SetText}/Individual commands/Hide.md (100%) rename {SetText => docs/SetText}/Individual commands/Hidemoney.md (100%) rename {SetText => docs/SetText}/Individual commands/Hidespeed.md (100%) rename {SetText => docs/SetText}/Individual commands/Icon.md (100%) rename {SetText => docs/SetText}/Individual commands/Igcolmove.md (100%) rename {SetText => docs/SetText}/Individual commands/Ignorenext.md (100%) rename {SetText => docs/SetText}/Individual commands/Innsleep.md (100%) rename {SetText => docs/SetText}/Individual commands/Itemname.md (100%) rename {SetText => docs/SetText}/Individual commands/Itemvalue.md (100%) rename {SetText => docs/SetText}/Individual commands/Jump.md (100%) rename {SetText => docs/SetText}/Individual commands/Kill.md (100%) rename {SetText => docs/SetText}/Individual commands/Kinematicplayer.md (100%) rename {SetText => docs/SetText}/Individual commands/LetterPrompt.md (99%) rename {SetText => docs/SetText}/Individual commands/Level.md (100%) rename {SetText => docs/SetText}/Individual commands/Librarybook.md (100%) rename {SetText => docs/SetText}/Individual commands/Libraryline.md (100%) rename {SetText => docs/SetText}/Individual commands/Librarysize.md (100%) rename {SetText => docs/SetText}/Individual commands/Limit.md (100%) rename {SetText => docs/SetText}/Individual commands/Line.md (100%) rename {SetText => docs/SetText}/Individual commands/Listsize.md (100%) rename {SetText => docs/SetText}/Individual commands/Loadcamera.md (100%) rename {SetText => docs/SetText}/Individual commands/Loadmap.md (100%) rename {SetText => docs/SetText}/Individual commands/Lock.md (100%) rename {SetText => docs/SetText}/Individual commands/Lockbacktrack.md (100%) rename {SetText => docs/SetText}/Individual commands/Lockmovement.md (100%) rename {SetText => docs/SetText}/Individual commands/Lore.md (100%) rename {SetText => docs/SetText}/Individual commands/Mapflag.md (100%) rename {SetText => docs/SetText}/Individual commands/Mapsize.md (100%) rename {SetText => docs/SetText}/Individual commands/Maxmedals.md (100%) rename {SetText => docs/SetText}/Individual commands/Medaltotal.md (100%) rename {SetText => docs/SetText}/Individual commands/Menu.md (100%) rename {SetText => docs/SetText}/Individual commands/Minibubble.md (100%) rename {SetText => docs/SetText}/Individual commands/Money.md (100%) rename {SetText => docs/SetText}/Individual commands/Mothfly.md (100%) rename {SetText => docs/SetText}/Individual commands/Move.md (100%) rename {SetText => docs/SetText}/Individual commands/Moveahead.md (100%) rename {SetText => docs/SetText}/Individual commands/Movewait.md (100%) rename {SetText => docs/SetText}/Individual commands/Music.md (100%) rename {SetText => docs/SetText}/Individual commands/Next.md (100%) rename {SetText => docs/SetText}/Individual commands/Noskip.md (100%) rename {SetText => docs/SetText}/Individual commands/NumberPrompt.md (98%) rename {SetText => docs/SetText}/Individual commands/Openpause.md (100%) rename {SetText => docs/SetText}/Individual commands/Optiontovar.md (100%) rename {SetText => docs/SetText}/Individual commands/Overfollower.md (100%) rename {SetText => docs/SetText}/Individual commands/Parent.md (100%) rename {SetText => docs/SetText}/Individual commands/Particle.md (100%) rename {SetText => docs/SetText}/Individual commands/PartyGame.md (100%) rename {SetText => docs/SetText}/Individual commands/Pauseline.md (100%) rename {SetText => docs/SetText}/Individual commands/Pausesize.md (100%) rename {SetText => docs/SetText}/Individual commands/Pickitem.md (100%) rename {SetText => docs/SetText}/Individual commands/Position.md (100%) rename {SetText => docs/SetText}/Individual commands/Prompt.md (99%) rename {SetText => docs/SetText}/Individual commands/Quarterline.md (100%) rename {SetText => docs/SetText}/Individual commands/Questbreak.md (100%) rename {SetText => docs/SetText}/Individual commands/Questprompt.md (100%) rename {SetText => docs/SetText}/Individual commands/Questsize.md (100%) rename {SetText => docs/SetText}/Individual commands/Rainbow.md (100%) rename {SetText => docs/SetText}/Individual commands/Regionalflag.md (100%) rename {SetText => docs/SetText}/Individual commands/Removebadgeshop.md (100%) rename {SetText => docs/SetText}/Individual commands/Removefollower.md (100%) rename {SetText => docs/SetText}/Individual commands/Removeitem.md (100%) rename {SetText => docs/SetText}/Individual commands/Removeitemat.md (100%) rename {SetText => docs/SetText}/Individual commands/Removemaplimits.md (100%) rename {SetText => docs/SetText}/Individual commands/Removestat.md (95%) rename {SetText => docs/SetText}/Individual commands/Rerollshops.md (100%) rename {SetText => docs/SetText}/Individual commands/Resetcamera.md (100%) rename {SetText => docs/SetText}/Individual commands/Resetmaplimits.md (100%) rename {SetText => docs/SetText}/Individual commands/Resetregion.md (100%) rename {SetText => docs/SetText}/Individual commands/Save.md (100%) rename {SetText => docs/SetText}/Individual commands/Savecamera.md (100%) rename {SetText => docs/SetText}/Individual commands/Scorecheck.md (92%) rename {SetText => docs/SetText}/Individual commands/Setbreak.md (100%) rename {SetText => docs/SetText}/Individual commands/Setprize.md (100%) rename {SetText => docs/SetText}/Individual commands/Setvar.md (100%) rename {SetText => docs/SetText}/Individual commands/Shakecamera.md (100%) rename {SetText => docs/SetText}/Individual commands/Shaky.md (100%) rename {SetText => docs/SetText}/Individual commands/Shopline.md (100%) rename {SetText => docs/SetText}/Individual commands/Shoppool.md (100%) rename {SetText => docs/SetText}/Individual commands/Showmoney.md (100%) rename {SetText => docs/SetText}/Individual commands/Showtokens.md (96%) rename {SetText => docs/SetText}/Individual commands/Single.md (100%) rename {SetText => docs/SetText}/Individual commands/Singlebreak.md (100%) rename {SetText => docs/SetText}/Individual commands/Sizemulti.md (100%) rename {SetText => docs/SetText}/Individual commands/Sort.md (100%) rename {SetText => docs/SetText}/Individual commands/Sound.md (100%) rename {SetText => docs/SetText}/Individual commands/Spd.md (100%) rename {SetText => docs/SetText}/Individual commands/Speed.md (100%) rename {SetText => docs/SetText}/Individual commands/Sstring.md (100%) rename {SetText => docs/SetText}/Individual commands/Stars.md (100%) rename {SetText => docs/SetText}/Individual commands/Stopskip.md (100%) rename {SetText => docs/SetText}/Individual commands/String.md (100%) rename {SetText => docs/SetText}/Individual commands/Switch.md (100%) rename {SetText => docs/SetText}/Individual commands/Tab.md (100%) rename {SetText => docs/SetText}/Individual commands/Tail.md (100%) rename {SetText => docs/SetText}/Individual commands/Tailextra.md (100%) rename {SetText => docs/SetText}/Individual commands/Takeopenquests.md (100%) rename {SetText => docs/SetText}/Individual commands/Teleportparty.md (100%) rename {SetText => docs/SetText}/Individual commands/Termacadecheck.md (100%) rename {SetText => docs/SetText}/Individual commands/Testdiag.md (100%) rename {SetText => docs/SetText}/Individual commands/Textangle.md (100%) rename {SetText => docs/SetText}/Individual commands/Transfer.md (100%) rename {SetText => docs/SetText}/Individual commands/Transitionsort.md (100%) rename {SetText => docs/SetText}/Individual commands/Triui.md (100%) rename {SetText => docs/SetText}/Individual commands/Unpauseline.md (100%) rename {SetText => docs/SetText}/Individual commands/Unpausesize.md (100%) rename {SetText => docs/SetText}/Individual commands/Updateanim.md (100%) rename {SetText => docs/SetText}/Individual commands/Var.md (100%) rename {SetText => docs/SetText}/Individual commands/Wait.md (100%) rename {SetText => docs/SetText}/Individual commands/Waitcn.md (100%) rename {SetText => docs/SetText}/Individual commands/Waitminibubble.md (100%) rename {SetText => docs/SetText}/Individual commands/Warp.md (100%) rename {SetText => docs/SetText}/Individual commands/Wavy.md (100%) rename {SetText => docs/SetText}/Individual commands/size.md (100%) rename {SetText => docs/SetText}/Letter Rendering Methods/Regular Letter Rendering.md (100%) rename {SetText => docs/SetText}/Letter Rendering Methods/Single Letter Rendering.md (85%) rename {SetText => docs/SetText}/Life Cycle.md (89%) rename {SetText => docs/SetText}/Notable states.md (100%) rename {SetText => docs/SetText}/Related Systems/Automatic Line Breaks/Organisation procedure.md (100%) rename {SetText => docs/SetText}/Related Systems/Automatic Line Breaks/OrganiseLines Known Issues.md (100%) rename {SetText => docs/SetText}/Related Systems/Automatic Line Breaks/OrganiseLines.md (100%) rename {SetText => docs/SetText}/Related Systems/Backtracking.md (90%) rename {SetText => docs/SetText}/Related Systems/FontEffects.md (94%) rename {SetText => docs/SetText}/Related Systems/GlobalCommand.md (100%) rename {SetText => docs/SetText}/Related Systems/Text advance.md (95%) rename {SetText => docs/SetText}/SetText.md (84%) rename {SetText => docs/SetText}/languageid.md (100%) rename {TextAsset Data => docs/TextAsset Data}/BoardQuests data.md (100%) rename {TextAsset Data => docs/TextAsset Data}/Cave Of Trials data.md (73%) rename {TextAsset Data => docs/TextAsset Data}/Dialogue data.md (63%) rename {TextAsset Data => docs/TextAsset Data}/Discoveries data.md (100%) rename {TextAsset Data => docs/TextAsset Data}/Enemies data.md (100%) rename {TextAsset Data => docs/TextAsset Data}/Entity data.md (99%) rename {TextAsset Data => docs/TextAsset Data}/Fortune Teller data.md (100%) rename {TextAsset Data => docs/TextAsset Data}/Items data.md (96%) rename {TextAsset Data => docs/TextAsset Data}/Lore Books data.md (75%) rename {TextAsset Data => docs/TextAsset Data}/Medals data.md (96%) rename {TextAsset Data => docs/TextAsset Data}/Miscellaneous global data.md (73%) rename {TextAsset Data => docs/TextAsset Data}/Miscellaneous language specific data.md (70%) rename {TextAsset Data => docs/TextAsset Data}/Musics data.md (100%) rename {TextAsset Data => docs/TextAsset Data}/Rank data.md (90%) rename {TextAsset Data => docs/TextAsset Data}/Recipes data.md (100%) rename {TextAsset Data => docs/TextAsset Data}/Records data.md (100%) rename {TextAsset Data => docs/TextAsset Data}/Skills data.md (100%) rename {TextAsset Data => docs/TextAsset Data}/Spy Cards data.md (100%) rename {TextAsset Data => docs/TextAsset Data}/Termacade Prizes data.md (83%) create mode 100644 docs/index.md create mode 100644 mkdocs.yml diff --git a/.gitignore b/.gitignore index f1b7204..e57f173 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/.idea/* +.idea/ +site/ \ No newline at end of file diff --git a/.idea/.idea.Bug-Fables-Internal-Docs.dir/.idea/indexLayout.xml b/.idea/.idea.Bug-Fables-Internal-Docs.dir/.idea/indexLayout.xml deleted file mode 100644 index 7b08163..0000000 --- a/.idea/.idea.Bug-Fables-Internal-Docs.dir/.idea/indexLayout.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/.idea.Bug-Fables-Internal-Docs.dir/.idea/projectSettingsUpdater.xml b/.idea/.idea.Bug-Fables-Internal-Docs.dir/.idea/projectSettingsUpdater.xml deleted file mode 100644 index 4bb9f4d..0000000 --- a/.idea/.idea.Bug-Fables-Internal-Docs.dir/.idea/projectSettingsUpdater.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ItemList/List Types Group Details/Skills List Type.md b/ItemList/List Types Group Details/Skills List Type.md deleted file mode 100644 index 17a9b5e..0000000 --- a/ItemList/List Types Group Details/Skills List Type.md +++ /dev/null @@ -1,52 +0,0 @@ -# Skills list type - -Display the list of skills that a party member has access to. - -## Options generation - -`listvar` will be the skills array field of the corresponding playerdata (-1, -2 and -3 means 0, 1 and 2 respectively). They corresponds the skills id of skilldata. - -The playerdata's skills are expected to be refreshed by using RefreshSkills which takes into account the party's rank and [Medal](../../Enums%20and%20IDs/Medal.md)s equipped. - -`listredirect` is overridden to null. - -## Option's [SetText](../../SetText/SetText.md) input string - -This behavior differs depending if we were paused or unpaused. - -### When paused - -A first SetText call is done for the tp cost in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the input string is |[sort](../../SetText/Commands/Individual%20commands/Sort.md),10||[Font](../../SetText/Commands/Individual%20commands/Font.md),0| followed by the cost padded left to 2 characters by ` ` or ` -` if there is no cost. This is rendered towards the right of the item bar. - -After, if the TP cost isn't 0, a TP icon (or HP icon if Life Cast is equipped) is rendered on the far right of the item bar. - -Finally, the input string is set to |[single](../../SetText/Commands/Individual%20commands/Single.md)\| followed by the skill's name from `skilldata`. - -The position of the input string is overridden to (-0.75, -0.2) and the bar height used for calculating the y position of the down arrow is overridden to -0.9. - -### When unpaused - -A first [SetText](../../SetText/SetText.md) call is done for the tp cost in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the input string is |[sort](../../SetText/Commands/Individual%20commands/Sort.md),10||[size](../../SetText/Commands/Individual%20commands/size.md),0.75||[Font](../../SetText/Commands/Individual%20commands/Font.md),0| followed by |[color](../../SetText/Commands/Individual%20commands/Color.md),1| if the player doesn't have enough TP for the skill followed by the cost padded left to 2 characters by ` `. This is rendered towards the right of the item bar. - -After, if the TP cost isn't 0, a TP icon (or HP icon if Life Cast is equipped) is rendered on the far right of the item bar. - -Then, a string is built with [Icon](../../SetText/Commands/Individual%20commands/Icon.md) commands according to some medals being equipped (this is appended in the respective order if the medal is equipped): - -* Needle Toss and Needle pincer: ` ` + |[size](../../SetText/Commands/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),192| if Electric Needles, + |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),191| if Sleepy Needles and + |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),193| if Poison Needles + ` ` + |[size](../../SetText/Commands/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),194| if A.D.B.P Enhancer -* Tornado Toss and Hurricane Toss: ` ` + |[size](../../SetText/Commands/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),194| if A.D.B.P Enhancer -* Secret Stash and Sharing Stash: ` ` + |[size](../../SetText/Commands/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),218| if Heal Plus -* Taunt: ` ` + |[size](../../SetText/Commands/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),195| if Deep Taunt - -Finally, the input string is set to the skill's name from skilldata prepended with |[color](../../SetText/Commands/Individual%20commands/Color.md),1| if the player doesn't have enough TP for the skill and appended with the icons string. - -The x position of the text is overridden to -2.65. - -## Description box rendering - -It uses the default rendering scheme described in [Description box rendering](../ShowItemList%20Life%20Cycle/Description%20box%20rendering.md) where the text is the skill's description obtained from skilldata using the skill id. - -## Confirmation handling (during battle) - -The skill cost will then be checked if the player has enough and if they can use the skill in general. The cost is stored in [flagvar](../../Flags%20arrays/flagvar.md) 0. If the skill can be used and the player can pay the cost, SetItem is called on the battle with the selected skill and DestroyList is called which ends the processing of the list. - -If the skill can't be used, the buzzer sound will play. In addition, if the player couldn't pay the cost and the skill wasn't Hard Charge, the appropriate hud sprite will flash red (the TP one if it's TP cost or the party member's HP if we have Life Cast). diff --git a/README.md b/README.md index 149fc0b..c21cdb2 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,12 @@ # Bug-Fables-Internal-Docs + A repository to aggregate documentation about Bug Fables's inner working This repos contains all the documentation I have accumulated throughout the years as well as new ones that will be pushed here as I learn more about the game. The purpose of this repos is to have a centralised place to consult my docs. It also prevent a situation where these files are lost and it provides a source that doesn't involve the wiki or the Discord. I will seek plans to present the info better such as GitHub pages in the future, but for now, I just put the raw information in markdown which will be refined as I continue working on the game's internals. The reason information shouldn't be from the wiki or the discord is because the former has proven to not be as reliable and it is difficult to consult or edit while the later is complex to lookup and isn't guaranteed to always remain available. Informations about the internals are going to be ESSENTIAL for anyone looking to mod anything and for myself in my current project so they MUST be provided in a central place that everyone has access to. This repos also has a [wiki](https://github.com/aldelaro5/Bug-Fables-Internal-Docs/wiki) which will be more focussed on important procedures such as extracting assets, decompiling and debugging the game. -This repos will get updates as more information is aggregated and figured out so it isn't lost in time. I may accept pull requests or issues (in case of typos or innacurate informations), but everything needs to provide a way for me to validate the infoormation. - -For the Obsidian notebook version of the docs, check the [release](https://github.com/aldelaro5/Bug-Fables-Internal-Docs/releases) section of this repos. +This repos will get updates as more information is aggregated and figured out so it isn't lost in time. I accept pull requests or issues (in case of typos or innacurate informations), but everything needs to provide a way for me to validate the infoormation. ## What is allowed in this repos and what isn't This repos will ONLY contain the informations that describes the interface of the game. This mostly includes: @@ -30,7 +29,4 @@ This isn't just for obvious legal reasons (mainly the code part), but also becau - For code, It can leavy the wrong impression without understanding the proper context of how the game was made. This is because there are parts of the code that suffers from tight coupling or have a monolithic approach which can lead to developmental issues which affects modding. This context explains everything, but is easily overlooked and it isn't really necessary to mention to document the internals unless it becomes historically relevant (such as described a known issue with how it happened). Avoiding to share code avoids this perception problem. - For data files, it's simply because there's no point: the formats are not made to be human readable because automated tools generated them. The goal of this repos is to allow them to be readable by external tools or by a human manually. As for why not providing aggregated versions of them, it's because they arguably don't belong in a docs repos which should only contain the specification of the data, but not its implementation. I rather decouple the 2 since the data won't change, but the knowledge of it can. - For Unity assets, it's just because the actual instances (mainly the maps prefabs) don't matter as much for this repos. What matters is how they work so one can pick an actual instance and understand what it is telling the game to do. -- For anything else, it's not needed + the less files I share from the game, the better. - -## About deprecated documentation -The OLD directory contains documents that were made in the pas, but are scheduled to be rewritten from scratch. Information within are provided for convenience, but should be taken with a grain of salt while they are being rewritten. \ No newline at end of file +- For anything else, it's not needed + the less files I share from the game, the better. \ No newline at end of file diff --git a/SetText/Individual commands/End.md b/SetText/Individual commands/End.md deleted file mode 100644 index fbb8c06..0000000 --- a/SetText/Individual commands/End.md +++ /dev/null @@ -1,19 +0,0 @@ -# End - -Signal to SetText to not wait for a confirmation input at the end after the input string has been fully processed in [Dialogue mode](../Dialogue%20mode.md) mode - -## Syntax - -```` -|end| -```` - -## Parameters - -None - -## Remarks - -In [Dialogue mode](../Dialogue%20mode.md) mode, SetText would normally yield control to the game by setting [waitinput](../Global%20vars%20used/waitinput.md) to true in the [Dialogue Cleanup](../Life%20Cycle.md#dialogue-cleanup) phase. This command allows to bypass this behavior and prevents the yield entirely. Additionally, if the caller was an [Item](../../Enums%20and%20IDs/Items.md), it will call Death on it. While it is generally preferred to place this command on the actual end of the line if the caller is an Item, as far as skipping the wait behavior, it does not matter where this command is placed. All it does is set the flag to skip it for later. - -This commands is only applicable in [Dialogue mode](../Dialogue%20mode.md) mode. It will not do anything in non dialogue mode. diff --git a/SetText/Individual commands/Font.md b/SetText/Individual commands/Font.md deleted file mode 100644 index 6a11244..0000000 --- a/SetText/Individual commands/Font.md +++ /dev/null @@ -1,35 +0,0 @@ -# Font - -Change the current [fonttype](../fonttype.md) used by SetText from now on. - -## Syntax - -(1) - -```` -|font,fonttype| -```` - -(2) - -```` -|font,fonttype,lockcontrol| -```` - -## Parameters - -### `fonttype`: int - -The [fonttype](../Notable%20states.md#fonttype.md) to set the current one to. This must be a valid fonttype or an exception will be thrown. - -### `lockcontrol`: `lock` | var - -Set whether or not to honor [fonttype](../Notable%20states.md#fonttype.md) overrides rules concerning the current [languageid](../languageid.md) during [Letter processing](../Life%20Cycle.md#letter-processing). A value of `lock` indicates to not respect them while any other value indicates to honor them. This can be toggled back and forth during the SetText call, but the default at the start of the SetText call is to honor these rules. - -The default value is to not change this setting and keep using the current state of it. - -## Remarks - -Normally, during the [Setup](../Life%20Cycle.md#setup) phase, the font gets overridden to `Uzura` in `Japanese` and to `ONEMobilePOP` in `Korean`, but this command allows to override this behavior. It can even disregard it completely by placing this command at the start of the input string. - -However, doing so would still allow [Letter processing](../Life%20Cycle.md#letter-processing) to override the [fonttype](../Notable%20states.md#fonttype.md) to the same values under the same languages if in [Dialogue mode](../Dialogue%20mode.md) while not processing a [numberprompt](NumberPrompt.md). The `lockcontrol` allows to also override this which effectively mean that this command allows complete control over which [fonttype](../Notable%20states.md#fonttype.md) to use regardless of the [languageid](../languageid.md). diff --git a/Entities/Entity.md b/docs/Entities/Entity.md similarity index 100% rename from Entities/Entity.md rename to docs/Entities/Entity.md diff --git a/Entities/EntityControl/Animations/AnimSpecific.md b/docs/Entities/EntityControl/Animations/AnimSpecific.md similarity index 98% rename from Entities/EntityControl/Animations/AnimSpecific.md rename to docs/Entities/EntityControl/Animations/AnimSpecific.md index aeabe61..4eff5e3 100644 --- a/Entities/EntityControl/Animations/AnimSpecific.md +++ b/docs/Entities/EntityControl/Animations/AnimSpecific.md @@ -24,7 +24,7 @@ First, all objects in `animspecific` are destroyed if any were present. Then, th * Ruffian: This only applies if the `extras` have not been initialised. This initialises 4 of them which is his chains (the first 3) and ball (the 4th one). It will then setup them in a specific way such that the first 3 are linked together to the ball. The ball gets a FollowerLite and a ShadowLite. It also considers `hologram` for the materials. * Strider: Initialises the `extraanims` if they weren't already to 4 new elements and the `extras` to being the second child of the model and have all the children of that be the `extraanims`. This simply setups the legs and their animator. Finally the only `extras` gets its scale adjusted on the Z axis to 1.0 unless the [animstate](animstate.md) is `Walk` or `Chase` in which case, the value is 0.5. This creates a constricting effects on his legs when needed * DeadLanderC: `extraanims` is initialised to 4 new elements being the second, third, fourth and fifth child of the `model`. Then, specific animations are played on them depending of the [animstate](animstate.md). This essentially manages the legs. -* Scorpion: Same then Spuder, but before, the `basestate` and `walkstate` are overridden to 150 and 151 respectively if the current [Area](../../../SetText/Commands/Individual%20commands/Area.md) is Giant's Lair. This is what makes them look different in that area. +* Scorpion: Same then Spuder, but before, the `basestate` and `walkstate` are overridden to 150 and 151 respectively if the current [Area](../../../Enums%20and%20IDs/librarystuff/Areas.md) is Giant's Lair. This is what makes them look different in that area. * Spuder, DivingSpider and PeacockSpider: This is a very complex management of the legs. Notably, `overridejump` is set to false all the time and `extraanims` is initialised with the legs's animators. This also manages special animation clips to play on the legs. * Venus: Setup 6 `extraanims` being all the children of the second child of the `model` with their speed being set to 1 unless the [animstate](animstate.md) is 100 or 101 in which case, the value is 0. This simply manages her legs animations * BeeBot: Ensure its wings's StaticModelAnim are enabled when the `icecube` isn't present or disabled if it is with fixed angles. diff --git a/Entities/EntityControl/Animations/SetAnim.md b/docs/Entities/EntityControl/Animations/SetAnim.md similarity index 100% rename from Entities/EntityControl/Animations/SetAnim.md rename to docs/Entities/EntityControl/Animations/SetAnim.md diff --git a/Entities/EntityControl/Animations/animstate.md b/docs/Entities/EntityControl/Animations/animstate.md similarity index 100% rename from Entities/EntityControl/Animations/animstate.md rename to docs/Entities/EntityControl/Animations/animstate.md diff --git a/Entities/EntityControl/CreateEntities.md b/docs/Entities/EntityControl/CreateEntities.md similarity index 55% rename from Entities/EntityControl/CreateEntities.md rename to docs/Entities/EntityControl/CreateEntities.md index 099e40f..d80566d 100644 --- a/Entities/EntityControl/CreateEntities.md +++ b/docs/Entities/EntityControl/CreateEntities.md @@ -1,6 +1,6 @@ # MapControl's CreateEntities -MapControl's Start contains a call to a method called CreateEntities which will initialise many [Entity](../Entity.md) defined in preset data that are defined in [entitydata directory](../TextAsset%20Data/Entity%20data.md#`entitydata`%20directory). This directory contains entity data that applies to each specific [Maps](../../Enums%20and%20IDs/Maps.md) hence why this creation process happens on MapControl. The [EntityControl Creation](EntityControl%20Creation.md) process is exactly the same, but the different fields from map data augments this process right before the entity is fully created and [Start](Start.md) occurs later on the start of the next frame. Exclusive to this scheme of creating entities is making them NPC with [NPCControl](../NPCControl/NPCControl.md) as the fields loaded includes both [EntityControl](EntityControl.md) and [NPCControl](../NPCControl/NPCControl.md) All the data ends up in the `entities` array of the MapControl which can be used for tracking. They are loaded in the order they are defined in TextAsset data which means the 0 indexed position can be used as an id. This is frequently done as part of many [SetText](../../SetText/SetText.md) commands. +MapControl's Start contains a call to a method called CreateEntities which will initialise many [Entity](../Entity.md) defined in preset data that are defined in [entitydata directory](../../TextAsset%20Data/Entity%20data.md#`entitydata`%20directory). This directory contains entity data that applies to each specific [Maps](../../Enums%20and%20IDs/Maps.md) hence why this creation process happens on MapControl. The [EntityControl Creation](EntityControl%20Creation.md) process is exactly the same, but the different fields from map data augments this process right before the entity is fully created and [Start](Start.md) occurs later on the start of the next frame. Exclusive to this scheme of creating entities is making them NPC with [NPCControl](../NPCControl/NPCControl.md) as the fields loaded includes both [EntityControl](EntityControl.md) and [NPCControl](../NPCControl/NPCControl.md) All the data ends up in the `entities` array of the MapControl which can be used for tracking. They are loaded in the order they are defined in TextAsset data which means the 0 indexed position can be used as an id. This is frequently done as part of many [SetText](../../SetText/SetText.md) commands. This page only describe the behaviors outside of loading the data as there are some notes worth to talk about. diff --git a/Entities/EntityControl/EntityControl Creation.md b/docs/Entities/EntityControl/EntityControl Creation.md similarity index 100% rename from Entities/EntityControl/EntityControl Creation.md rename to docs/Entities/EntityControl/EntityControl Creation.md diff --git a/Entities/EntityControl/EntityControl Fields.md b/docs/Entities/EntityControl/EntityControl Fields.md similarity index 98% rename from Entities/EntityControl/EntityControl Fields.md rename to docs/Entities/EntityControl/EntityControl Fields.md index 1ea7b88..14f0a1a 100644 --- a/Entities/EntityControl/EntityControl Fields.md +++ b/docs/Entities/EntityControl/EntityControl Fields.md @@ -41,7 +41,7 @@ These fields manages the animations according to the animid. |animstate|int|Yes|The [animstate](Animations/animstate.md) of the entity, dictates the animation clip to play on the controller of the anim field, set via [CreateEntities](CreateEntities.md) if it is an item| |basestate|int|Yes|The [animstate](Animations/animstate.md) to consider as the `Idle` one which overrides the default of 0, assigned during [CheckSpecialID](Notable%20methods/CheckSpecialID.md) when applicable| |walkstate|int|Yes|The [animstate](Animations/animstate.md) to consider as the `Walk` one which overrides the default of 1, assigned during [CheckSpecialID](Notable%20methods/CheckSpecialID.md) when applicable| -|changedstate|bool|Yes|Determines if the [animstate](Animations/animstate.md) was changed externally and thus should bypass the landing on ground logic of [UpdateAirAnim](Update%20process/UpdateAirAnim.md) for all entities with an npcdata. This is only used in the [Anim](../../SetText/Commands/Individual%20commands/Anim.md) SetText command.| +|changedstate|bool|Yes|Determines if the [animstate](Animations/animstate.md) was changed externally and thus should bypass the landing on ground logic of [UpdateAirAnim](Update%20process/UpdateAirAnim.md) for all entities with an npcdata. This is only used in the [Anim](../../SetText/Individual%20commands/Anim.md) SetText command.| |animspeed|float|Yes|The time in second to transition between animations during [SetAnim](Animations/SetAnim.md)| |anim|Animator|No|The animator the entity uses. This will use the controller of the animid field. This is first assigned on [Start](Start.md) or [AddModel](Notable%20methods/AddModel.md) , but it can be changed later via ForceAnimator (more details at [Animator change](EntityControl%20Methods.md#animator-change))| |hasiceanim|bool|No|Whether or not the entity has an ice animation clip present to play when the inice field is true. Assigned on [CheckSpecialID](Notable%20methods/CheckSpecialID.md) from `endata`| @@ -225,7 +225,7 @@ These fields provides more information about who this entity is. |mainparty|bool|Yes|Determines if the entity is part of the main party when created which means the party members that follow the player excluding the player itself. Must be set externally and is only used in CloseMove during a [Follow](Notable%20methods/Follow.md)| |playerentity|bool|No|Determines if this entity is related or is the player, assigned to true on [Start](Start.md) if the entity has the `Player` or `PFollower` tag| |isfollower|bool|No|Determines if the entity is a follower, assigned on [LateStart](Notable%20methods/LateStart.md) when the entity has the `PFollower` tag| -|tempfollower|bool|No|Determines if the entity is a temporary follower, set to true when the entity was created using [AddFollower](../../SetText/Commands/Individual%20commands/Addfollower.md)| +|tempfollower|bool|No|Determines if the entity is a temporary follower, set to true when the entity was created using [AddFollower](../../SetText/Individual%20commands/Addfollower.md)| |battle|bool|Yes|Determines if this is a battle entity, must be set externally or during [CheckSpecialID](Notable%20methods/CheckSpecialID.md) when applicable| |battleid|int|Yes|The index of the entity in the current battle's enemydata, -1 when not applicable| @@ -264,7 +264,7 @@ These fields manages the concept of an entity being "active" which means they re |camdistance|float|No|The distance from the entity to the main camera, updated every 3 frames on [LateUpdate](Update%20process/Unity%20events/LateUpdate.md)| |campos|Vector3|No|The viewport position of the entity from the main camera, updated every 3 frames on [LateUpdate](Update%20process/Unity%20events/LateUpdate.md)| |alwaysactive|bool|Yes|Determines if this entity should always be considered active by overriding incamera to true during UpdateCamPos (called by [LateUpdate](Update%20process/Unity%20events/LateUpdate.md)). This also forces the forcetimer to decrease and [UpdateHeight](Update%20process/UpdateHeight.md) to be called from [LateUpdate](Update%20process/Unity%20events/LateUpdate.md) when they apply. Assigned to true on [Start](Start.md) with the `ALW` [Modifiers](Modifiers.md) or during [CheckSpecialID](Notable%20methods/CheckSpecialID.md) when applicable| -|activeonpause|bool|Yes|Determines if this entity should receive updates and late updates when paused, minipaused, [message](../../SetText/Global%20vars%20used/message.md) lock being active or dead, assigned to true on [Start](Start.md) with the `PAU` [Modifiers](Modifiers.md)| +|activeonpause|bool|Yes|Determines if this entity should receive updates and late updates when paused, minipaused, [message](../../SetText/Notable%20states.md#message) lock being active or dead, assigned to true on [Start](Start.md) with the `PAU` [Modifiers](Modifiers.md)| ## Shadow @@ -304,7 +304,7 @@ These fields are specific to item entities. |item|bool|No|Determines if this entity is an item. This must be set internally when applicable or on [CreateEntities](CreateEntities.md) if it is an item| |showitem|bool|No|Indicates that this entity must render an item sprite. This can be set to true on Start using the `shwKEY` [Modifiers](Modifiers.md)| |itemstate|int|Yes|The [Items](../../Enums%20and%20IDs/Items.md) or [Medal](../../Enums%20and%20IDs/Medal.md) id, only applicable when item is true| -|destroytype|DeathType|Yes|The type of death process used for [Death](Notable%20methods/Death.md). This is normally loaded from [entitydata directory](../TextAsset%20Data/Entity%20data.md#`entitydata`%20directory)| +|destroytype|DeathType|Yes|The type of death process used for [Death](Notable%20methods/Death.md). This is normally loaded from [entitydata directory](../../TextAsset%20Data/Entity%20data.md#`entitydata`%20directory)| ## Drop @@ -326,12 +326,12 @@ These fields are related to the use of the bubble shield. ## Dialogue bleep -These fields dictate the default sound to use during [SetText](../../SetText/SetText.md)'s bleep and its [Bleep](../../SetText/Commands/Individual%20commands/Bleep.md) command. +These fields dictate the default sound to use during [SetText](../../SetText/SetText.md)'s bleep and its [Bleep](../../SetText/Individual%20commands/Bleep.md) command. |Name|Type|External set?|Description| |----|----|-------------|-----------| -|dialoguebleepid|int|Yes|The bleep sound id to use in the [Bleep](../../SetText/Commands/Individual%20commands/Bleep.md) [SetText](../../SetText/SetText.md) command, assigned from `endata` on [Start](Start.md) during SetDialogueBleep| -|bleeppitch|int|Yes|The bleep pitch to use in the [Bleep](../../SetText/Commands/Individual%20commands/Bleep.md) [SetText](../../SetText/SetText.md) command, assigned from `endata` on [Start](Start.md) during SetDialogueBleep| +|dialoguebleepid|int|Yes|The bleep sound id to use in the [Bleep](../../SetText/Individual%20commands/Bleep.md) [SetText](../../SetText/SetText.md) command, assigned from `endata` on [Start](Start.md) during SetDialogueBleep| +|bleeppitch|int|Yes|The bleep pitch to use in the [Bleep](../../SetText/Individual%20commands/Bleep.md) [SetText](../../SetText/SetText.md) command, assigned from `endata` on [Start](Start.md) during SetDialogueBleep| ## Late transform diff --git a/Entities/EntityControl/EntityControl Methods.md b/docs/Entities/EntityControl/EntityControl Methods.md similarity index 99% rename from Entities/EntityControl/EntityControl Methods.md rename to docs/Entities/EntityControl/EntityControl Methods.md index 90245a1..d47ab50 100644 --- a/Entities/EntityControl/EntityControl Methods.md +++ b/docs/Entities/EntityControl/EntityControl Methods.md @@ -375,7 +375,7 @@ For `backsprite`, the assignment happens regardless if `forceback` is true, but * `noback` is false * `lockback` is false (this field is unused so this is always the case normally) * The entity is not `talking` -* The [message](../../SetText/Global%20vars%20used/message.md) lock is released +* The [message](../../SetText/Notable%20states.md#message) lock is released As for the new value of `backsprite`, it's the value of the z viewpoint of `other` + -0.5 > the z viewpoint of the `transform`. Basically, it's true if after placing `other` 0.5 units towards the camera, it remains positioned more away from the camera than the entity, false otherwise. diff --git a/Entities/EntityControl/EntityControl.md b/docs/Entities/EntityControl/EntityControl.md similarity index 100% rename from Entities/EntityControl/EntityControl.md rename to docs/Entities/EntityControl/EntityControl.md diff --git a/Entities/EntityControl/Modifiers.md b/docs/Entities/EntityControl/Modifiers.md similarity index 97% rename from Entities/EntityControl/Modifiers.md rename to docs/Entities/EntityControl/Modifiers.md index f9c825d..35c7265 100644 --- a/Entities/EntityControl/Modifiers.md +++ b/docs/Entities/EntityControl/Modifiers.md @@ -15,7 +15,7 @@ Here are all the modifiers that are known: |FxdCol|A lighter version of Fixed which does everything it does except without disabling the ccol so it stays enabled| |ALW|Sets `alwaysactive` to true on [Start](Start.md) which forces `incamera` to true and the entity remains active even out of the camera's range| |ALF|Sets `alwaysflip` to true on [Start](Start.md) which calls [UpdateFlip](Update%20process/UpdateFlip.md) every LateUpdate| -|PAU|Sets `activeonpause` to true on [Start](Start.md) which allows the entity to receive updates and late updates on pause, minipause, [message](../../SetText/Global%20vars%20used/message.md) lock and being dead| +|PAU|Sets `activeonpause` to true on [Start](Start.md) which allows the entity to receive updates and late updates on pause, minipause, [message](../../SetText/Notable%20states.md#message) lock and being dead| |HIDE|Sets `hideinside` to true on [Start](Start.md) TODO: Involves [NPCControl](../NPCControl/NPCControl.md)| |ROT|Sets `lockrotater` to true on [Start](Start.md) which locks the y angle of the rotater. TODO: Involves [NPCControl](../NPCControl/NPCControl.md)| |ShwEm|Sets `alwaysemoticon` to true on [Start](Start.md) TODO: mostly involves [NPCControl](../NPCControl/NPCControl.md)| diff --git a/Entities/EntityControl/Notable methods/AddModel.md b/docs/Entities/EntityControl/Notable methods/AddModel.md similarity index 100% rename from Entities/EntityControl/Notable methods/AddModel.md rename to docs/Entities/EntityControl/Notable methods/AddModel.md diff --git a/Entities/EntityControl/Notable methods/CheckSpecialID.md b/docs/Entities/EntityControl/Notable methods/CheckSpecialID.md similarity index 100% rename from Entities/EntityControl/Notable methods/CheckSpecialID.md rename to docs/Entities/EntityControl/Notable methods/CheckSpecialID.md diff --git a/Entities/EntityControl/Notable methods/Death.md b/docs/Entities/EntityControl/Notable methods/Death.md similarity index 100% rename from Entities/EntityControl/Notable methods/Death.md rename to docs/Entities/EntityControl/Notable methods/Death.md diff --git a/Entities/EntityControl/Notable methods/Drop.md b/docs/Entities/EntityControl/Notable methods/Drop.md similarity index 100% rename from Entities/EntityControl/Notable methods/Drop.md rename to docs/Entities/EntityControl/Notable methods/Drop.md diff --git a/Entities/EntityControl/Notable methods/Follow.md b/docs/Entities/EntityControl/Notable methods/Follow.md similarity index 100% rename from Entities/EntityControl/Notable methods/Follow.md rename to docs/Entities/EntityControl/Notable methods/Follow.md diff --git a/Entities/EntityControl/Notable methods/Freeze handling.md b/docs/Entities/EntityControl/Notable methods/Freeze handling.md similarity index 100% rename from Entities/EntityControl/Notable methods/Freeze handling.md rename to docs/Entities/EntityControl/Notable methods/Freeze handling.md diff --git a/Entities/EntityControl/Notable methods/LateStart.md b/docs/Entities/EntityControl/Notable methods/LateStart.md similarity index 100% rename from Entities/EntityControl/Notable methods/LateStart.md rename to docs/Entities/EntityControl/Notable methods/LateStart.md diff --git a/Entities/EntityControl/Notable methods/Move.md b/docs/Entities/EntityControl/Notable methods/Move.md similarity index 100% rename from Entities/EntityControl/Notable methods/Move.md rename to docs/Entities/EntityControl/Notable methods/Move.md diff --git a/Entities/EntityControl/Notable methods/Special AnimID startup.md b/docs/Entities/EntityControl/Notable methods/Special AnimID startup.md similarity index 82% rename from Entities/EntityControl/Notable methods/Special AnimID startup.md rename to docs/Entities/EntityControl/Notable methods/Special AnimID startup.md index 42f037d..d890b16 100644 --- a/Entities/EntityControl/Notable methods/Special AnimID startup.md +++ b/docs/Entities/EntityControl/Notable methods/Special AnimID startup.md @@ -1,6 +1,6 @@ # Special animid startup -This is the part of [CheckSpecialID](Notable%20methods/CheckSpecialID.md) that deals with specific [AnimIDs](../../Enums%20and%20IDs/AnimIDs.md): +This is the part of [CheckSpecialID](CheckSpecialID.md) that deals with specific [AnimIDs](../../../Enums%20and%20IDs/AnimIDs.md): * `GoldenSeedling`: setups the `Prefabs/Particles/GoldStars` * `RizGrandpa`: creates a line to render as a fishing rod's line @@ -15,10 +15,10 @@ This is the part of [CheckSpecialID](Notable%20methods/CheckSpecialID.md) that d * `None`: the `rigid`'s gravity is disabled on top of its constraint being set to freeze all. Additionally, the `ccol` is disabled * `CoilyVine`: the same thing than `None` on top of overriding the check to load a prefab model for later * `BeeBoss`: the `Prefabs/Particles/BeeBossBottomSmoke` from the root of the asset tree is setup as a child to `shadowtransform`. `shadowtransform`'s local position is then set to 0 -* `BeeBot`: ensures that the enemydata\[battleid\].data has one element which contains a random number being either 0 or 1. From there [UpdateAnimSpecific](Animations/AnimSpecific.md#updateanimspecific) is called -* `CrystalBerry`: `Prefabs/Objects/CrystalBerry` from the root of the asset tree is added as model via [AddModel](Notable%20methods/AddModel.md) with the offset coming from `endata`'s `modeloffset`. The `animid` is overriden to 3 with a `spin` set on the y axis and `item` set to true +* `BeeBot`: ensures that the enemydata\[battleid\].data has one element which contains a random number being either 0 or 1. From there [UpdateAnimSpecific](../Animations/AnimSpecific.md#updateanimspecific) is called +* `CrystalBerry`: `Prefabs/Objects/CrystalBerry` from the root of the asset tree is added as model via [AddModel](../Notable%20methods/AddModel.md) with the offset coming from `endata`'s `modeloffset`. The `animid` is overriden to 3 with a `spin` set on the y axis and `item` set to true * `Seedling`: the speed is set to 2.5 if it was 0.0 or below on top of the `npcdata`'s `speedmultiplier` being set to 1.0 if it is present * `AngryPlant`: `Prefabs/Objects/LeafSkirt` from the root of the asset tree is setup as the only `extras`. This includes setting all child's shadowCastingMode to off and to set the correct materials if `hologram` and `cotunknown` (the later being changing the color to pure black with 50% transparency) * `Turret`: `Prefabs/Objects/turretbase` from the root of the asset tree is setup as the only `extras`. `cotunknown` changes its material color to pure black with 50% transparency -* `WaspDriller`: if npcdata.vectordata\[0\].y is -2.0, setup an item sprite as the only `extra` where the [Items](../../Enums%20and%20IDs/Items.md) id is npcdata.vectordata\[0\].x and its flipX is true +* `WaspDriller`: if npcdata.vectordata\[0\].y is -2.0, setup an item sprite as the only `extra` where the [Items](../../../Enums%20and%20IDs/Items.md) id is npcdata.vectordata\[0\].x and its flipX is true * `Zombeetle`: Same as WaspDriller, but also setup the `extras`'s angles and localscale on top diff --git a/Entities/EntityControl/Start.md b/docs/Entities/EntityControl/Start.md similarity index 95% rename from Entities/EntityControl/Start.md rename to docs/Entities/EntityControl/Start.md index 2fde5ff..847d511 100644 --- a/Entities/EntityControl/Start.md +++ b/docs/Entities/EntityControl/Start.md @@ -20,8 +20,8 @@ EntityControl defines a Start Unity event which performs several important steps * Unless `noemoticon` is set to true, setup the `emoticon` object which is a new object with an Animator named `Emoticon` childed to the `rotater`, a local position of `emoticonoffset`, and a layer of 15 (`3DUI`). Also set `emoticonsprite` to a new SpriteRenderer added to `emoticon` and set its material to Unity's default sprite material * Ensure an AudioSource is added and assigned to `sound` without playOnAwake * If `startvelocity` is set, set the `rigid`'s velocity to it -* Call [CheckSpecialID](Notable%20methods/CheckSpecialID.md) which loads the [EntityValues data](../../TextAsset%20Data/Entity%20data#`EntityValues`%20data.md) -* Set the entity's bleep. For more information on the bleep system, check [Bleep](../../SetText/Commands/Individual%20commands/Bleep.md). The bleep id and pitch are expected to be set beforehand in `dialoguebleepid` and `bleeppitch` respectively. +* Call [CheckSpecialID](Notable%20methods/CheckSpecialID.md) which loads the [EntityValues data](../../TextAsset%20Data/Entity%20data.md#`EntityValues`%20data) +* Set the entity's bleep. For more information on the bleep system, check [bleep](../../SetText/Individual%20commands/Bleep.md). The bleep id and pitch are expected to be set beforehand in `dialoguebleepid` and `bleeppitch` respectively. * If `hasshadow` is true, ensure a an object named `shadow` with a SpriteRenderer is created and assigned to the field of the same name and childed to the entity's transform at (0.0, -999.0, 0.0). The transform of the new object is assigned to `shadowtransform`. The sprite of the shadow is set to the game's shadow sprite with a color of pure white with 40% transparency. The angles of the object are set to (90.0, 0.0, 0.0) and the material's renderQueue is set to 2900 * If the entity is an item, assign `itemstate` to the `animstate` * Apply the following [Modifiers](Modifiers.md): `Fixed`, `FxdCol`, `ALW`, `ALF`, `PAU`, `HIDE`, `ROT`, `ShwEm`, `COG`, `NGS` when applicable diff --git a/Entities/EntityControl/Update process/RefreshShadow.md b/docs/Entities/EntityControl/Update process/RefreshShadow.md similarity index 100% rename from Entities/EntityControl/Update process/RefreshShadow.md rename to docs/Entities/EntityControl/Update process/RefreshShadow.md diff --git a/Entities/EntityControl/Update process/RefreshTrail.md b/docs/Entities/EntityControl/Update process/RefreshTrail.md similarity index 100% rename from Entities/EntityControl/Update process/RefreshTrail.md rename to docs/Entities/EntityControl/Update process/RefreshTrail.md diff --git a/Entities/EntityControl/Update process/Unity events/FixedUpdate.md b/docs/Entities/EntityControl/Update process/Unity events/FixedUpdate.md similarity index 100% rename from Entities/EntityControl/Update process/Unity events/FixedUpdate.md rename to docs/Entities/EntityControl/Update process/Unity events/FixedUpdate.md diff --git a/Entities/EntityControl/Update process/Unity events/LateUpdate.md b/docs/Entities/EntityControl/Update process/Unity events/LateUpdate.md similarity index 100% rename from Entities/EntityControl/Update process/Unity events/LateUpdate.md rename to docs/Entities/EntityControl/Update process/Unity events/LateUpdate.md diff --git a/Entities/EntityControl/Update process/Unity events/OnTriggerExit.md b/docs/Entities/EntityControl/Update process/Unity events/OnTriggerExit.md similarity index 100% rename from Entities/EntityControl/Update process/Unity events/OnTriggerExit.md rename to docs/Entities/EntityControl/Update process/Unity events/OnTriggerExit.md diff --git a/Entities/EntityControl/Update process/Unity events/OnTriggerStay.md b/docs/Entities/EntityControl/Update process/Unity events/OnTriggerStay.md similarity index 100% rename from Entities/EntityControl/Update process/Unity events/OnTriggerStay.md rename to docs/Entities/EntityControl/Update process/Unity events/OnTriggerStay.md diff --git a/Entities/EntityControl/Update process/Unity events/Update.md b/docs/Entities/EntityControl/Update process/Unity events/Update.md similarity index 91% rename from Entities/EntityControl/Update process/Unity events/Update.md rename to docs/Entities/EntityControl/Update process/Unity events/Update.md index aa4f40e..3984236 100644 --- a/Entities/EntityControl/Update process/Unity events/Update.md +++ b/docs/Entities/EntityControl/Update process/Unity events/Update.md @@ -2,10 +2,10 @@ This is the Update of EntityControl. It doesn't do as much as [LateUpdate](LateUpdate.md) -* Check if the entity should receive updates which only happens when unpaused, minipause isn't active, the [message](../../../../SetText/Global%20vars%20used/message.md) lock is released and the entity isn't dead. This can be overriden with `activeonpause` +* Check if the entity should receive updates which only happens when unpaused, minipause isn't active, the [message](../../../../SetText/Notable%20states.md#message) lock is released and the entity isn't dead. This can be overriden with `activeonpause` * Follow the standard animation speed update logic unless `overrideanimspeed` is true which will set the animation speed to 1.0 if there's no `icecube` and to 0.0 if there is one on top of forcing the [animstate](../../Animations/animstate.md) to `Hurt` * Make sure the `sprite` is disabled if this is the player entity and is a submarine, otherwise - * Toggle the sprite being enabled if the `icooldown` hasn't expired yet and the player is free (meaning it is present, no minipause or pause, not in an event, the [message](../../../../SetText/Global%20vars%20used/message.md) lock is released, and the player isn't digging) + * Toggle the sprite being enabled if the `icooldown` hasn't expired yet and the player is free (meaning it is present, no minipause or pause, not in an event, the [message](../../../../SetText/Notable%20states.md#message) lock is released, and the player isn't digging) * Ensure the sprite is enabled if it's not an item and it has no `npcdata` or it has one and it doesn't have a `disguiseobj` * Ensure the child of the sprite are enabled or disabled according to the main sprite's enabled unless the `npcdata` is present and its `trapped` is true * Decrease the `icooldown` with the framestep diff --git a/Entities/EntityControl/Update process/UpdateAirAnim.md b/docs/Entities/EntityControl/Update process/UpdateAirAnim.md similarity index 89% rename from Entities/EntityControl/Update process/UpdateAirAnim.md rename to docs/Entities/EntityControl/Update process/UpdateAirAnim.md index 6797427..13998cd 100644 --- a/Entities/EntityControl/Update process/UpdateAirAnim.md +++ b/docs/Entities/EntityControl/Update process/UpdateAirAnim.md @@ -11,6 +11,6 @@ The method first sees if the [animstate](../Animations/animstate.md) should be u After, the method prechecks if we proceed to check if the entity has landed which simply checks if it's `onground`. If it is, then there are 2 possible ways to update the [animstate](../Animations/animstate.md): from the `basestate` or the `npcdata`'s `dialogues` at `currentdialogueindex`'s z. -The `dialogues` one is done when it applies while not in an event, the current [animstate](../Animations/animstate.md) is `Idle` and `changedstate` was not enabled externally. The only way to enable it is through [SetText](../../../SetText/SetText.md)'s [Anim](../../../SetText/Commands/Individual%20commands/Anim.md) command. +The `dialogues` one is done when it applies while not in an event, the current [animstate](../Animations/animstate.md) is `Idle` and `changedstate` was not enabled externally. The only way to enable it is through [SetText](../../../SetText/SetText.md)'s [anim](../../../SetText/Individual%20commands/Anim.md) command. The `bassestate` one applies when either the above applies, but there is no `currentdialoguesindex` or that the [animstate](../Animations/animstate.md) was at `Fall`. diff --git a/Entities/EntityControl/Update process/UpdateCollider.md b/docs/Entities/EntityControl/Update process/UpdateCollider.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateCollider.md rename to docs/Entities/EntityControl/Update process/UpdateCollider.md diff --git a/Entities/EntityControl/Update process/UpdateEmoticon.md b/docs/Entities/EntityControl/Update process/UpdateEmoticon.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateEmoticon.md rename to docs/Entities/EntityControl/Update process/UpdateEmoticon.md diff --git a/Entities/EntityControl/Update process/UpdateFlip.md b/docs/Entities/EntityControl/Update process/UpdateFlip.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateFlip.md rename to docs/Entities/EntityControl/Update process/UpdateFlip.md diff --git a/Entities/EntityControl/Update process/UpdateGeneralAnim.md b/docs/Entities/EntityControl/Update process/UpdateGeneralAnim.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateGeneralAnim.md rename to docs/Entities/EntityControl/Update process/UpdateGeneralAnim.md diff --git a/Entities/EntityControl/Update process/UpdateGround.md b/docs/Entities/EntityControl/Update process/UpdateGround.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateGround.md rename to docs/Entities/EntityControl/Update process/UpdateGround.md diff --git a/Entities/EntityControl/Update process/UpdateHeight.md b/docs/Entities/EntityControl/Update process/UpdateHeight.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateHeight.md rename to docs/Entities/EntityControl/Update process/UpdateHeight.md diff --git a/Entities/EntityControl/Update process/UpdateItem.md b/docs/Entities/EntityControl/Update process/UpdateItem.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateItem.md rename to docs/Entities/EntityControl/Update process/UpdateItem.md diff --git a/Entities/EntityControl/Update process/UpdateMoveSmoke.md b/docs/Entities/EntityControl/Update process/UpdateMoveSmoke.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateMoveSmoke.md rename to docs/Entities/EntityControl/Update process/UpdateMoveSmoke.md diff --git a/Entities/EntityControl/Update process/UpdateSound.md b/docs/Entities/EntityControl/Update process/UpdateSound.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateSound.md rename to docs/Entities/EntityControl/Update process/UpdateSound.md diff --git a/Entities/EntityControl/Update process/UpdateSprite.md b/docs/Entities/EntityControl/Update process/UpdateSprite.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateSprite.md rename to docs/Entities/EntityControl/Update process/UpdateSprite.md diff --git a/Entities/EntityControl/Update process/UpdateStatusIcons.md b/docs/Entities/EntityControl/Update process/UpdateStatusIcons.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateStatusIcons.md rename to docs/Entities/EntityControl/Update process/UpdateStatusIcons.md diff --git a/Entities/EntityControl/Update process/UpdateVelocity.md b/docs/Entities/EntityControl/Update process/UpdateVelocity.md similarity index 100% rename from Entities/EntityControl/Update process/UpdateVelocity.md rename to docs/Entities/EntityControl/Update process/UpdateVelocity.md diff --git a/Entities/NPCControl/NPCControl.md b/docs/Entities/NPCControl/NPCControl.md similarity index 100% rename from Entities/NPCControl/NPCControl.md rename to docs/Entities/NPCControl/NPCControl.md diff --git a/Enums and IDs/AnimIDs.md b/docs/Enums and IDs/AnimIDs.md similarity index 100% rename from Enums and IDs/AnimIDs.md rename to docs/Enums and IDs/AnimIDs.md diff --git a/Enums and IDs/BoardQuests.md b/docs/Enums and IDs/BoardQuests.md similarity index 94% rename from Enums and IDs/BoardQuests.md rename to docs/Enums and IDs/BoardQuests.md index 708ce68..d361997 100644 --- a/Enums and IDs/BoardQuests.md +++ b/docs/Enums and IDs/BoardQuests.md @@ -1,6 +1,6 @@ # BoardQuests -A `BoardQuests` is a task to be done in the game. While most of them are optional, each chapters have one quest reserved to them which are mandatory. The quests are managed by the quests board system which tells which quests are accessible, open, taken or completed. The state of the quest board are saved on the [Save File](../Save%20File.md). They are directly mapped to the quest data entry. +A `BoardQuests` is a task to be done in the game. While most of them are optional, each chapters have one quest reserved to them which are mandatory. The quests are managed by the quests board system which tells which quests are accessible, open, taken or completed. The state of the quest board are saved on the [Save File](../External%20data%20format/Save%20File.md). They are directly mapped to the quest data entry. ## Quests table diff --git a/Enums and IDs/Enemies.md b/docs/Enums and IDs/Enemies.md similarity index 100% rename from Enums and IDs/Enemies.md rename to docs/Enums and IDs/Enemies.md diff --git a/Enums and IDs/Events.md b/docs/Enums and IDs/Events.md similarity index 99% rename from Enums and IDs/Events.md rename to docs/Enums and IDs/Events.md index 6a02b28..fa64efa 100644 --- a/Enums and IDs/Events.md +++ b/docs/Enums and IDs/Events.md @@ -13,7 +13,7 @@ Where X is a unique int value specific to this event. They are usually private b There are many known way to trigger an event. Here is a list of the currently known ones: * Manually via the `EventControl.StartEvent` method -* [SetText](../SetText/SetText.md)'s [Event](../SetText/Commands/Individual%20commands/Event.md) command +* [SetText](../SetText/SetText.md)'s [Event](../SetText/Individual%20commands/Event.md) command * `MapControl`'s `autoevent` system * A wide variety of [Entity](../Entities/Entity.md) can have a way to trigger a configurable event diff --git a/Enums and IDs/Items.md b/docs/Enums and IDs/Items.md similarity index 94% rename from Enums and IDs/Items.md rename to docs/Enums and IDs/Items.md index 06b0b05..8096494 100644 --- a/Enums and IDs/Items.md +++ b/docs/Enums and IDs/Items.md @@ -1,6 +1,6 @@ # Items -An `Items` enum value represents an item in the game which can be collected in the overworld. The items in possessions are saved in the [Save File](../Save%20File.md) in 3 arrays corresponding to regular inventory, key items and stored items respectively. They are mapped directly to each item data entry. +An `Items` enum value represents an item in the game which can be collected in the overworld. The items in possessions are saved in the [Save File](../External%20data%20format/Save%20File.md) in 3 arrays corresponding to regular inventory, key items and stored items respectively. They are mapped directly to each item data entry. ## Items table diff --git a/Enums and IDs/Maps.md b/docs/Enums and IDs/Maps.md similarity index 98% rename from Enums and IDs/Maps.md rename to docs/Enums and IDs/Maps.md index a311775..97585d6 100644 --- a/Enums and IDs/Maps.md +++ b/docs/Enums and IDs/Maps.md @@ -4,7 +4,7 @@ A `Maps` is an enum value that represent a map (aka room) in the game. Each enum The maps prefabs are located at `Ressources/prefabs/maps` from the game's assets tree. -The current map is saved on the [Save File](../Save%20File.md). +The current map is saved on the [Save File](../External%20data%20format/Save%20File.md). ## Maps table diff --git a/Enums and IDs/Medal.md b/docs/Enums and IDs/Medal.md similarity index 92% rename from Enums and IDs/Medal.md rename to docs/Enums and IDs/Medal.md index 236d1cb..9612a44 100644 --- a/Enums and IDs/Medal.md +++ b/docs/Enums and IDs/Medal.md @@ -2,9 +2,9 @@ A medal or sometimes internally refered to as `badge` is a collectible in the game that can be equipped. -The medals in possession and their equipment statuses are saved in the [Save File](../Save%20File.md). +The medals in possession and their equipment statuses are saved in the [Save File](../External%20data%20format/Save%20File.md). -Both Shades's and Merab's shops medals available pools and stock are also saved in the [Save File](../Save%20File.md). +Both Shades's and Merab's shops medals available pools and stock are also saved in the [Save File](../External%20data%20format/Save%20File.md). The IDs are mapped directly to the badge data entries. diff --git a/Enums and IDs/Musics.md b/docs/Enums and IDs/Musics.md similarity index 98% rename from Enums and IDs/Musics.md rename to docs/Enums and IDs/Musics.md index c1f369d..08254e6 100644 --- a/Enums and IDs/Musics.md +++ b/docs/Enums and IDs/Musics.md @@ -1,6 +1,6 @@ # Musics -A `Musics` is an enum value that represent a song in the game. They are not to be confused with sound effects. Most of them have a corresponding int that tells whether the song is available and bougth at Samira's. The Samira list is saved in the [Save File](../Save%20File.md). +A `Musics` is an enum value that represent a song in the game. They are not to be confused with sound effects. Most of them have a corresponding int that tells whether the song is available and bougth at Samira's. The Samira list is saved in the [Save File](../External%20data%20format/Save%20File.md). The musics in the game are located at `Ressources/audio/music` from the game's asset tree. diff --git a/Enums and IDs/crystalbfflags.md b/docs/Enums and IDs/crystalbfflags.md similarity index 96% rename from Enums and IDs/crystalbfflags.md rename to docs/Enums and IDs/crystalbfflags.md index a6f0bda..70709ab 100644 --- a/Enums and IDs/crystalbfflags.md +++ b/docs/Enums and IDs/crystalbfflags.md @@ -1,6 +1,6 @@ # Crystalbflags -A crystel berry is a collectible bound to a bool that tells whether or not this crystal berry has been collected. They are saved in the [Save File](../Save%20File.md) and there are 50 elements available in the `MainManager.instance.crystalbflags` array which corresponds to the amount of them available in the game. +A crystel berry is a collectible bound to a bool that tells whether or not this crystal berry has been collected. They are saved in the [Save File](../External%20data%20format/Save%20File.md) and there are 50 elements available in the `MainManager.instance.crystalbflags` array which corresponds to the amount of them available in the game. ## Crystal berries table diff --git a/Enums and IDs/librarystuff/Areas.md b/docs/Enums and IDs/librarystuff/Areas.md similarity index 89% rename from Enums and IDs/librarystuff/Areas.md rename to docs/Enums and IDs/librarystuff/Areas.md index 5e3d5ad..b77d603 100644 --- a/Enums and IDs/librarystuff/Areas.md +++ b/docs/Enums and IDs/librarystuff/Areas.md @@ -2,13 +2,13 @@ An `Areas` enum value represents a group of [Maps](../Maps.md) that belongs to a certain location in the game. Each map must belong to one `Areas` and they are important in determining the scope of any [Regionalflags](../../Flags%20arrays/Regionalflags.md). -The current area is saved on the [Save File](../../Save%20File.md). +The current area is saved on the [Save File](../../External%20data%20format/Save%20File.md). ## Remarks about `librarystuff` Each area is bound to a bool value stored in a 2 dimensional jagged array located at index 4 of the `MainManager.instance.librarystuff` array that indicates whether or not the area was seen. This allows the game to track which areas to show on the world map. The subarray of `librarystuff` contains 256 elements (most are not used as the array is overprosioned in size). -The entire `librarystuff` two dimensional array is saved on the [Save File](../../Save%20File.md). +The entire `librarystuff` two dimensional array is saved on the [Save File](../../External%20data%20format/Save%20File.md). ## Areas table diff --git a/Enums and IDs/librarystuff/Bestiary entry.md b/docs/Enums and IDs/librarystuff/Bestiary entry.md similarity index 82% rename from Enums and IDs/librarystuff/Bestiary entry.md rename to docs/Enums and IDs/librarystuff/Bestiary entry.md index f4afe47..3e6636d 100644 --- a/Enums and IDs/librarystuff/Bestiary entry.md +++ b/docs/Enums and IDs/librarystuff/Bestiary entry.md @@ -1,10 +1,10 @@ # Bestiary entry -A bestiary entry is a collectible bound to a bool that tells whether or not the specific entry for the enemy is unlocked in the library. Their values are saved in the [Save File](../../Save%20File.md) and the array of them is located at index 1 of the `MainManager.instance.librarystuff` 2 dimensional jagged array and it contains 256 elements (most are not used as the array is overprosioned in size). +A bestiary entry is a collectible bound to a bool that tells whether or not the specific entry for the enemy is unlocked in the library. Their values are saved in the [Save File](../../External%20data%20format/Save%20File.md) and the array of them is located at index 1 of the `MainManager.instance.librarystuff` 2 dimensional jagged array and it contains 256 elements (most are not used as the array is overprosioned in size). > They are not to be confused with [Enemies](../Enemies.md). -The entire `librarystuff` two dimensional array is saved on the [Save File](../../Save%20File.md). +The entire `librarystuff` two dimensional array is saved on the [Save File](../../External%20data%20format/Save%20File.md). ## Bestiary entries table diff --git a/Enums and IDs/librarystuff/Discoveries entry.md b/docs/Enums and IDs/librarystuff/Discoveries entry.md similarity index 77% rename from Enums and IDs/librarystuff/Discoveries entry.md rename to docs/Enums and IDs/librarystuff/Discoveries entry.md index 31adccb..64f3b13 100644 --- a/Enums and IDs/librarystuff/Discoveries entry.md +++ b/docs/Enums and IDs/librarystuff/Discoveries entry.md @@ -1,8 +1,8 @@ # Discovery entry -A discovery entry is a collectible bound to a bool that tells whether or not the specific entry for the discovery is unlocked in the library. Their values are saved in the [Save File](../../Save%20File.md) and the array of them is located at index 0 of the `MainManager.instance.librarystuff` 2 dimensional jagged array and it contains 256 elements (most are not used as the array is overprosioned in size). +A discovery entry is a collectible bound to a bool that tells whether or not the specific entry for the discovery is unlocked in the library. Their values are saved in the [Save File](../../External%20data%20format/Save%20File.md) and the array of them is located at index 0 of the `MainManager.instance.librarystuff` 2 dimensional jagged array and it contains 256 elements (most are not used as the array is overprosioned in size). -The entire `librarystuff` two dimensional array is saved on the [Save File](../../Save%20File.md). +The entire `librarystuff` two dimensional array is saved on the [Save File](../../External%20data%20format/Save%20File.md). ## Discovery entries table diff --git a/Enums and IDs/librarystuff/Recipes entry.md b/docs/Enums and IDs/librarystuff/Recipes entry.md similarity index 80% rename from Enums and IDs/librarystuff/Recipes entry.md rename to docs/Enums and IDs/librarystuff/Recipes entry.md index 8c07a9e..f56151b 100644 --- a/Enums and IDs/librarystuff/Recipes entry.md +++ b/docs/Enums and IDs/librarystuff/Recipes entry.md @@ -1,8 +1,8 @@ # Recipe entry -A recipe entry is a collectible bound to a bool that tells whether or not the specific entry for the recipe is unlocked in the library. Their values are saved in the [Save File](../../Save%20File.md) and the array of them is located at index 2 of the `MainManager.instance.librarystuff` 2 dimensional jagged array and it contains 256 elements (most are not used as the array is overprosioned in size). +A recipe entry is a collectible bound to a bool that tells whether or not the specific entry for the recipe is unlocked in the library. Their values are saved in the [Save File](../../External%20data%20format/Save%20File.md) and the array of them is located at index 2 of the `MainManager.instance.librarystuff` 2 dimensional jagged array and it contains 256 elements (most are not used as the array is overprosioned in size). -The entire `librarystuff` two dimensional array is saved on the [Save File](../../Save%20File.md). +The entire `librarystuff` two dimensional array is saved on the [Save File](../../External%20data%20format/Save%20File.md). ## Recipe entries table diff --git a/Enums and IDs/librarystuff/Records entry.md b/docs/Enums and IDs/librarystuff/Records entry.md similarity index 78% rename from Enums and IDs/librarystuff/Records entry.md rename to docs/Enums and IDs/librarystuff/Records entry.md index 7ba9265..4b9564d 100644 --- a/Enums and IDs/librarystuff/Records entry.md +++ b/docs/Enums and IDs/librarystuff/Records entry.md @@ -1,8 +1,8 @@ # Record entry -A record entry is a collectible bound to a bool that tells whether or not the specific entry for the record has been achieved in the library. Their values are saved in the [Save File](../../Save%20File.md) and the array of them is located at index 3 of the `MainManager.instance.librarystuff` 2 dimensional jagged array and it contains 256 elements (most are not used as the array is overprosioned in size). On compatible platforms, enabling a record also unlocks its associated achievement. +A record entry is a collectible bound to a bool that tells whether or not the specific entry for the record has been achieved in the library. Their values are saved in the [Save File](../../External%20data%20format/Save%20File.md) and the array of them is located at index 3 of the `MainManager.instance.librarystuff` 2 dimensional jagged array and it contains 256 elements (most are not used as the array is overprosioned in size). On compatible platforms, enabling a record also unlocks its associated achievement. -The entire `librarystuff` two dimensional array is saved on the [Save File](../../Save%20File.md). +The entire `librarystuff` two dimensional array is saved on the [Save File](../../External%20data%20format/Save%20File.md). ## Record entries table diff --git a/External data format/Save File.md b/docs/External data format/Save File.md similarity index 100% rename from External data format/Save File.md rename to docs/External data format/Save File.md diff --git a/Flags arrays/Regionalflags.md b/docs/Flags arrays/Regionalflags.md similarity index 98% rename from Flags arrays/Regionalflags.md rename to docs/Flags arrays/Regionalflags.md index e3b830d..7fa5ac3 100644 --- a/Flags arrays/Regionalflags.md +++ b/docs/Flags arrays/Regionalflags.md @@ -1,6 +1,6 @@ # Regionalflags -A `regionalflag` is a bool which is a variable the game can access globally while its value is kept until an [Area](../SetText/Commands/Individual%20commands/Area.md) change occurs in the game or until a reset is specifically requested by the game. When a reset occurs, all regionalflag are set to false. They are saved on the [Save File](../Save%20File.md) and are used to track temporary progress in an area such as defeating an enemy in the overworld. There are 100 regional flags available in the `MainManager.instance.regionalflags` array. +A `regionalflag` is a bool which is a variable the game can access globally while its value is kept until an [area](../SetText/Individual%20commands/Area.md) change occurs in the game or until a reset is specifically requested by the game. When a reset occurs, all regionalflag are set to false. They are saved on the [Save File](../External%20data%20format/Save%20File.md) and are used to track temporary progress in an area such as defeating an enemy in the overworld. There are 100 regional flags available in the `MainManager.instance.regionalflags` array. ## Notes about the regionalflags tables diff --git a/Flags arrays/flags.md b/docs/Flags arrays/flags.md similarity index 99% rename from Flags arrays/flags.md rename to docs/Flags arrays/flags.md index 9bc3db5..b6a94bd 100644 --- a/Flags arrays/flags.md +++ b/docs/Flags arrays/flags.md @@ -1,6 +1,6 @@ # Flags -A global `flags` (not to be confused with the generic programming term) is a bool which is a global variable the game can access for any purpose. They are saved on the [Save File](../Save%20File.md) and typically have one reserved use, but some can be used temporarily notably number 400 and number 0 (reserved for debugging). There are 750 global flags available to the game in the `MainManager.instance.flags` array. +A global `flags` (not to be confused with the generic programming term) is a bool which is a global variable the game can access for any purpose. They are saved on the [Save File](../External%20data%20format/Save%20File.md) and typically have one reserved use, but some can be used temporarily notably number 400 and number 0 (reserved for debugging). There are 750 global flags available to the game in the `MainManager.instance.flags` array. > Before 1.1.0, there were 700 available flags instead. diff --git a/Flags arrays/flagstring.md b/docs/Flags arrays/flagstring.md similarity index 86% rename from Flags arrays/flagstring.md rename to docs/Flags arrays/flagstring.md index 9af5929..2e14577 100644 --- a/Flags arrays/flagstring.md +++ b/docs/Flags arrays/flagstring.md @@ -1,6 +1,6 @@ # Flagstring -A `flagstring` is a string which is a global variable the game can access for any purpose. They are saved on the [Save File](../Save%20File.md) and typically have one reserved use, but some can be used temporarily notably in [SetText](../SetText/SetText.md) operations. There are 15 flagstrings available to the game in the `MainManager.instance.flagstring` array. +A `flagstring` is a string which is a global variable the game can access for any purpose. They are saved on the [Save File](../External%20data%20format/Save%20File.md) and typically have one reserved use, but some can be used temporarily notably in [SetText](../SetText/SetText.md) operations. There are 15 flagstrings available to the game in the `MainManager.instance.flagstring` array. ## Notes about the flagstrings table diff --git a/Flags arrays/flagvar.md b/docs/Flags arrays/flagvar.md similarity index 91% rename from Flags arrays/flagvar.md rename to docs/Flags arrays/flagvar.md index 982b6db..4d1a54c 100644 --- a/Flags arrays/flagvar.md +++ b/docs/Flags arrays/flagvar.md @@ -1,6 +1,6 @@ # Flagvar -A `flagvar` is an int which is a global variable the game can access for any purpose. They are saved on the [Save File](../Save%20File.md) and typically have one reserved use, but some can be used temporarily notably in [SetText](../SetText/SetText.md) operations. There are 70 flagvars available to the game in the `MainManager.instance.flagvar` array. +A `flagvar` is an int which is a global variable the game can access for any purpose. They are saved on the [Save File](../External%20data%20format/Save%20File.md) and typically have one reserved use, but some can be used temporarily notably in [SetText](../SetText/SetText.md) operations. There are 70 flagvars available to the game in the `MainManager.instance.flagvar` array. > Before 1.1.0, there were 65 slots instead diff --git a/Game files structure.md b/docs/Game files structure.md similarity index 98% rename from Game files structure.md rename to docs/Game files structure.md index af1ccf1..59a53a4 100644 --- a/Game files structure.md +++ b/docs/Game files structure.md @@ -26,7 +26,7 @@ Let's start at the root folder: * `Mono`: This is where Unity's custom version of the Mono runtime is located (in the Embeded runtime subfolder) alongside some configurations to it (located in the etc subfolder). This is directly provided by Unity. On XBOX PC, this folder is called `MonoBleedingEdge` as it uses a newer version of Mono. Consoles versions do not use Mono and instead uses IL2CPP which is a propreatary compilation pipeline Unity provides and is required for consoles support. * `Bug Fables.exe`: This is actually Unity's player executable renamed to match the game's name. It is also directly provided by Unity despite its name. * `config.dat`: This is generated by the game at runtime on the first boot. It contains all the global settings configuration as well as other informations such as the language choice and which modifier code has already been entered (used to list the code allowed via the secret menu). -* `save0/1/2.dat`: The save files generated by the game. `save0` is the first slot, `save1` is the second slot and `save2` is the third slot. There can also be saves with the name `backup` which is actually the game's previous save before its corresponding regular save file. This is the game's redundancy mechanism: if the current file somehow becomes corrupted, the game will falback to the backup version. For more info, check [Save File](Save%20File.md). +* `save0/1/2.dat`: The save files generated by the game. `save0` is the first slot, `save1` is the second slot and `save2` is the third slot. There can also be saves with the name `backup` which is actually the game's previous save before its corresponding regular save file. This is the game's redundancy mechanism: if the current file somehow becomes corrupted, the game will falback to the backup version. For more info, check [Save File](External%20data%20format/Save%20File.md). * `UnityCrashHandler64,exe`: This file is provided by Unity. It's a small program that is meant to be called whenever Unity player crashes. It will contain the game's icon with a red exclamation mark if it is executing. * `UnityPlayer.dll`: This is most of Unity's player code. The executable mentioned above uses it and it constitutes the core Unity code compiled in C++. The C# scripting merely is an interface to this code. * `version.txt`: This is just a text file with the game's version number. This file isn't actually used anywhere in the game. It is very likely just present to indicate the version without needing to boot the game. diff --git a/ItemList/ItemList State Machine.md b/docs/ItemList/ItemList State Machine.md similarity index 74% rename from ItemList/ItemList State Machine.md rename to docs/ItemList/ItemList State Machine.md index a67e2e9..b75af7e 100644 --- a/ItemList/ItemList State Machine.md +++ b/docs/ItemList/ItemList State Machine.md @@ -2,7 +2,7 @@ There are several static public fields of MainManager that represents the state of an ItemList. All of them can be accessed externally, but extra care must be given in doing so since it can lead to undefined behaviors. The fields are generally kept around between [ShowItemList](ShowItemList.md) calls to preserve them between updates and only changed before doing a refresh. -To denote that we are currently in an ItemList, `ItemList` gets assigned when the list gets active and it gets set to null when inactive. Additionally, the instance field `inlist` is set to true on the list creation and it is supposed to be set to false when it's handled, but due to the [inlist issue](inlist%20issue.md), this is only guaranteed after a [Pickitem](../SetText/Commands/Individual%20commands/Pickitem.md) command is fully done. This is different than `prompt` which tells if we are in a [Prompt](../SetText/Commands/Individual%20commands/Prompt.md), [NumberPrompt](../SetText/Commands/Individual%20commands/NumberPrompt.md) or [LetterPrompt](../SetText/Commands/Individual%20commands/LetterPrompt.md) and it is managed differently. +To denote that we are currently in an ItemList, `ItemList` gets assigned when the list gets active and it gets set to null when inactive. Additionally, the instance field `inlist` is set to true on the list creation and it is supposed to be set to false when it's handled, but due to the [inlist issue](inlist%20issue.md), this is only guaranteed after a [Pickitem](../SetText/Individual%20commands/Pickitem.md) command is fully done. This is different than `prompt` which tells if we are in a [Prompt](../SetText/Individual%20commands/Prompt.md), [NumberPrompt](../SetText/Individual%20commands/NumberPrompt.md) or [LetterPrompt](../SetText/Individual%20commands/LetterPrompt.md) and it is managed differently. All fields are static to MainManager unless specified otherwise. @@ -19,8 +19,8 @@ These are sent to the method and they are kept in these fields so that the metho These are not sent to [ShowItemList](ShowItemList.md), but should be set externally before to configure aspects of the list prompt: -* `listredirect`: The [Dialogue line id](../SetText/Commands/Dialogue%20line%20id.md) when a confirmation is done (see [Pickitem](../SetText/Commands/Individual%20commands/Pickitem.md) for more info) -* `listcancel`: The [Dialogue line id](../SetText/Commands/Dialogue%20line%20id.md) to redirect when a cancellation is done (see [Pickitem](../SetText/Commands/Individual%20commands/Pickitem.md) for more info) +* `listredirect`: The [Dialogue line id](../SetText/Common%20commands%20id%20schemes/Dialogue%20line%20id.md) when a confirmation is done (see [Pickitem](../SetText/Individual%20commands/Pickitem.md) for more info) +* `listcancel`: The [Dialogue line id](../SetText/Common%20commands%20id%20schemes/Dialogue%20line%20id.md) to redirect when a cancellation is done (see [Pickitem](../SetText/Individual%20commands/Pickitem.md) for more info) * `storeid`: The store id if it's one. * instance.`listammount`: The amount of items shown at once. @@ -40,8 +40,8 @@ These are used to track a list prompt's options and selections: * `multiselect`: The list of selected items in the ItemList * `listcanceled`: Whether the ItemList has been cancelled or not * `listvar`: All the available options, depends on listtype -* instance.`maxoptions`: The number of available options in the entire list (same use as in a [Prompt](../SetText/Commands/Individual%20commands/Prompt.md), [NumberPrompt](../SetText/Commands/Individual%20commands/NumberPrompt.md) or [LetterPrompt](../SetText/Commands/Individual%20commands/LetterPrompt.md)). -* instance.`option`: The option index in the entire list (same use as in a [Prompt](../SetText/Commands/Individual%20commands/Prompt.md), [NumberPrompt](../SetText/Commands/Individual%20commands/NumberPrompt.md) or [LetterPrompt](../SetText/Commands/Individual%20commands/LetterPrompt.md)). +* instance.`maxoptions`: The number of available options in the entire list (same use as in a [Prompt](../SetText/Individual%20commands/Prompt.md), [NumberPrompt](../SetText/Individual%20commands/NumberPrompt.md) or [LetterPrompt](../SetText/Individual%20commands/LetterPrompt.md)). +* instance.`option`: The option index in the entire list (same use as in a [Prompt](../SetText/Individual%20commands/Prompt.md), [NumberPrompt](../SetText/Individual%20commands/NumberPrompt.md) or [LetterPrompt](../SetText/Individual%20commands/LetterPrompt.md)). * `listoption`: The same then option, but only after the ItemList destruction (which is done after a selection has been done). ## Scrolling and view diff --git a/ItemList/ItemList.md b/docs/ItemList/ItemList.md similarity index 68% rename from ItemList/ItemList.md rename to docs/ItemList/ItemList.md index 833ee41..f6923b0 100644 --- a/ItemList/ItemList.md +++ b/docs/ItemList/ItemList.md @@ -1,11 +1,11 @@ # ItemList -Bug Fables has a way to present different kinds of lists that can be browsed with scrolling and prompt one selection, multiple incontiguous selection or cancellation from the options in the list. Such a list is called an ItemList and the current one can be accessed with the `ItemList` field (it is null when no ItemList is active). This is not to be confused with [Prompt](../SetText/Commands/Individual%20commands/Prompt.md), [NumberPrompt](../SetText/Commands/Individual%20commands/NumberPrompt.md) or [LetterPrompt](../SetText/Commands/Individual%20commands/LetterPrompt.md) which are only usable in [Dialogue mode](../SetText/Dialogue%20mode.md) in [SetText](../SetText/SetText.md) while an ItemList can be used outside of SetText +Bug Fables has a way to present different kinds of lists that can be browsed with scrolling and prompt one selection, multiple incontiguous selection or cancellation from the options in the list. Such a list is called an ItemList and the current one can be accessed with the `ItemList` field (it is null when no ItemList is active). This is not to be confused with [Prompt](../SetText/Individual%20commands/Prompt.md), [NumberPrompt](../SetText/Individual%20commands/NumberPrompt.md) or [LetterPrompt](../SetText/Individual%20commands/LetterPrompt.md) which are only usable in [Dialogue mode](../SetText/Dialogue%20mode.md) in [SetText](../SetText/SetText.md) while an ItemList can be used outside of SetText via [ShowItemList](ShowItemList.md). Prompts also does not support scrolling as well as having other limitations in regards to rendering. The ItemList has the ability to have a description box rendered for the currently hovered item and to have special behaviors in the pause menu since the same method is used there, just presented differently. This is all maintained through the [ItemList State Machine](ItemList%20State%20Machine.md) that MainManager is responsible to manage via mostly static fields. -To show one, ShowItemList must be called or use its SetText command counterpart, [Pickitem](../SetText/Commands/Individual%20commands/Pickitem.md). The first call resets the state machine and renders the ItemList for the first time. From this point, MainManager's Update takes over (or PauseMenu's when paused) which has special routines to handle the ItemList after it is done being processed. Whenever the cursor moves or a change of selection with `multiselect` is performed, the ItemList is refreshed which causes another call to ShowItemList, but this time, it will only update the state machine rather than clear it and rerender the ItemList if it needs to be scrolled. This continues until a confirmation or a cancellation is processed which is handled differently depending on the [listtype](listtype.md). If the ItemList came from a Pickitem command, SetText will do the final handling of it. +To show one, ShowItemList must be called or use its SetText command counterpart, [Pickitem](../SetText/Individual%20commands/Pickitem.md). The first call resets the state machine and renders the ItemList for the first time. From this point, MainManager's Update takes over (or PauseMenu's when paused) which has special routines to handle the ItemList after it is done being processed. Whenever the cursor moves or a change of selection with `multiselect` is performed, the ItemList is refreshed which causes another call to ShowItemList, but this time, it will only update the state machine rather than clear it and rerender the ItemList if it needs to be scrolled. This continues until a confirmation or a cancellation is processed which is handled differently depending on the [listtype](listtype.md). If the ItemList came from a Pickitem command, SetText will do the final handling of it. ## Performance concerns diff --git a/ItemList/List Types Group Details/B.O.S.S Battles List Type.md b/docs/ItemList/List Types Group Details/B.O.S.S Battles List Type.md similarity index 100% rename from ItemList/List Types Group Details/B.O.S.S Battles List Type.md rename to docs/ItemList/List Types Group Details/B.O.S.S Battles List Type.md diff --git a/ItemList/List Types Group Details/Battle Strategy List Type.md b/docs/ItemList/List Types Group Details/Battle Strategy List Type.md similarity index 53% rename from ItemList/List Types Group Details/Battle Strategy List Type.md rename to docs/ItemList/List Types Group Details/Battle Strategy List Type.md index 3efa9d1..2f032a9 100644 --- a/ItemList/List Types Group Details/Battle Strategy List Type.md +++ b/docs/ItemList/List Types Group Details/Battle Strategy List Type.md @@ -18,22 +18,22 @@ The main text corresponds to a certain line from MenuText depending on the optio * Id 65 (Do Nothing) * Id 68 (Flee) -If the option is Spy while it is disabled or Flee while it isn't possible, the text is prepended with |[color](../../SetText/Commands/Individual%20commands/Color.md),1| and that will be the final string. +If the option is Spy while it is disabled or Flee while it isn't possible, the text is prepended with |[color](../../SetText/Individual%20commands/Color.md),1| and that will be the final string. -Otherwise, if the option is Rotate Party, ` ` + |[size](../../SetText/Commands/Individual%20commands/size.md),0.55,0.6||[button](../../SetText/Commands/Individual%20commands/Button.md),6| is appended to the MenuText line and this is the final string. +Otherwise, if the option is Rotate Party, ` ` + |[size](../../SetText/Individual%20commands/size.md),0.55,0.6||[button](../../SetText/Individual%20commands/Button.md),6| is appended to the MenuText line and this is the final string. -Otherwise, if the option is Do Nothing, |[single](../../SetText/Commands/Individual%20commands/Single.md)\| is prepended to the main text and ` ` + |[size](../../SetText/Commands/Individual%20commands/size.md),0.55,0.6| is appended to it. There are also [Icon](../../SetText/Commands/Individual%20commands/Icon.md) commands that can be appended if a certain medal is equipped which will be appended in this order if that is the case: +Otherwise, if the option is Do Nothing, |[single](../../SetText/Individual%20commands/Single.md)\| is prepended to the main text and ` ` + |[size](../../SetText/Individual%20commands/size.md),0.55,0.6| is appended to it. There are also [Icon](../../SetText/Individual%20commands/Icon.md) commands that can be appended if a certain medal is equipped which will be appended in this order if that is the case: -* Prayer, |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),187| -* Meditation, |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),188| -* Reflection, |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),189| +* Prayer, |[Icon](../../SetText/Individual%20commands/Icon.md),187| +* Meditation, |[Icon](../../SetText/Individual%20commands/Icon.md),188| +* Reflection, |[Icon](../../SetText/Individual%20commands/Icon.md),189| -Otherwise, if the option is Flee, |[single](../../SetText/Commands/Individual%20commands/Single.md)\| is prepended to the main text and ` ` + |[size](../../SetText/Commands/Individual%20commands/size.md),0.55,0.6| is appended to it. There are also [Icon](../../SetText/Commands/Individual%20commands/Icon.md) commands that can be appended if a certain medal is equipped which will be appended in this order if that is the case: +Otherwise, if the option is Flee, |[single](../../SetText/Individual%20commands/Single.md)\| is prepended to the main text and ` ` + |[size](../../SetText/Individual%20commands/size.md),0.55,0.6| is appended to it. There are also [Icon](../../SetText/Individual%20commands/Icon.md) commands that can be appended if a certain medal is equipped which will be appended in this order if that is the case: -* Secure Pouch, |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),221| -* Quick Flea, |[Icon](../../SetText/Commands/Individual%20commands/Icon.md),222| +* Secure Pouch, |[Icon](../../SetText/Individual%20commands/Icon.md),221| +* Quick Flea, |[Icon](../../SetText/Individual%20commands/Icon.md),222| -Otherwise, if the option is Spy and Spy Specs is equipped, |[single](../../SetText/Commands/Individual%20commands/Single.md)\| is prepended to the main text and ` ` + |[size](../../SetText/Commands/Individual%20commands/size.md),0.55,0.6||[Icon](../../SetText/Commands/Individual%20commands/Icon.md),219| is appended to it. +Otherwise, if the option is Spy and Spy Specs is equipped, |[single](../../SetText/Individual%20commands/Single.md)\| is prepended to the main text and ` ` + |[size](../../SetText/Individual%20commands/size.md),0.55,0.6||[Icon](../../SetText/Individual%20commands/Icon.md),219| is appended to it. The x position of the main text is overridden to -2.6. diff --git a/ItemList/List Types Group Details/Caravan Prize Medals List Type.md b/docs/ItemList/List Types Group Details/Caravan Prize Medals List Type.md similarity index 100% rename from ItemList/List Types Group Details/Caravan Prize Medals List Type.md rename to docs/ItemList/List Types Group Details/Caravan Prize Medals List Type.md diff --git a/ItemList/List Types Group Details/Chompy Ribbons List Type.md b/docs/ItemList/List Types Group Details/Chompy Ribbons List Type.md similarity index 100% rename from ItemList/List Types Group Details/Chompy Ribbons List Type.md rename to docs/ItemList/List Types Group Details/Chompy Ribbons List Type.md diff --git a/ItemList/List Types Group Details/Controller Bindings List Type.md b/docs/ItemList/List Types Group Details/Controller Bindings List Type.md similarity index 100% rename from ItemList/List Types Group Details/Controller Bindings List Type.md rename to docs/ItemList/List Types Group Details/Controller Bindings List Type.md diff --git a/ItemList/List Types Group Details/Enum List Type.md b/docs/ItemList/List Types Group Details/Enum List Type.md similarity index 100% rename from ItemList/List Types Group Details/Enum List Type.md rename to docs/ItemList/List Types Group Details/Enum List Type.md diff --git a/ItemList/List Types Group Details/Equipped Medals List Type.md b/docs/ItemList/List Types Group Details/Equipped Medals List Type.md similarity index 100% rename from ItemList/List Types Group Details/Equipped Medals List Type.md rename to docs/ItemList/List Types Group Details/Equipped Medals List Type.md diff --git a/ItemList/List Types Group Details/Items List Type.md b/docs/ItemList/List Types Group Details/Items List Type.md similarity index 94% rename from ItemList/List Types Group Details/Items List Type.md rename to docs/ItemList/List Types Group Details/Items List Type.md index 6e00419..2140b51 100644 --- a/ItemList/List Types Group Details/Items List Type.md +++ b/docs/ItemList/List Types Group Details/Items List Type.md @@ -8,7 +8,7 @@ Display the list of items, key items or storage items. ## Option's [SetText](../../SetText/SetText.md) input string -If the [items](../../Enums%20and%20IDs/Items.md) id in question is -1, the string will be |[color](../../SetText/Commands/Individual%20commands/Color.md),1| followed by the no items message from MenuText line id 20. +If the [items](../../Enums%20and%20IDs/Items.md) id in question is -1, the string will be |[color](../../SetText/Individual%20commands/Color.md),1| followed by the no items message from MenuText line id 20. Otherwise, a sprite of the item matching its id will be rendered mostly on the left side of the bar. Its localScale is 0.55, 0.6, 1.0 when unpaused and 0.9, 0.9, 1.0 when paused. The string will be the item name from itemdata. diff --git a/ItemList/List Types Group Details/Key Bindings List Type.md b/docs/ItemList/List Types Group Details/Key Bindings List Type.md similarity index 68% rename from ItemList/List Types Group Details/Key Bindings List Type.md rename to docs/ItemList/List Types Group Details/Key Bindings List Type.md index 18a1727..3427174 100644 --- a/ItemList/List Types Group Details/Key Bindings List Type.md +++ b/docs/ItemList/List Types Group Details/Key Bindings List Type.md @@ -10,7 +10,7 @@ Display the list of inputs of the game and their bound keyboard key. ## Option's [SetText](../../SetText/SetText.md) input string -The text is |[button](../../SetText/Commands/Individual%20commands/Button.md), followed by the option followed by `,0|` followed by MenuText line 88 + the option. In practice, it means that it will show the currently bound keyboard key of the input followed by the input description as they all fall between line 88 and 98 of MenuText. +The text is |[button](../../SetText/Individual%20commands/Button.md), followed by the option followed by `,0|` followed by MenuText line 88 + the option. In practice, it means that it will show the currently bound keyboard key of the input followed by the input description as they all fall between line 88 and 98 of MenuText. ## Description box rendering diff --git a/ItemList/List Types Group Details/Languages list Type.md b/docs/ItemList/List Types Group Details/Languages list Type.md similarity index 79% rename from ItemList/List Types Group Details/Languages list Type.md rename to docs/ItemList/List Types Group Details/Languages list Type.md index f5f8eee..f8b0519 100644 --- a/ItemList/List Types Group Details/Languages list Type.md +++ b/docs/ItemList/List Types Group Details/Languages list Type.md @@ -10,11 +10,11 @@ Display the list of the available languages of the game. ## List render on refresh -This list will always rerender whenever a refresh is done regardless if it needs to be scrolled or not. This is done to update the help text to the option being hovered on during the selection. This prompt is refreshed by doing a [SetText](../../SetText/SetText.md) call in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the input string is the text in languagehelp of the current option prepended with |[color](../../SetText/Commands/Individual%20commands/Color.md),4||[center](../../SetText/Commands/Individual%20commands/Center.md)\||[sort](../../SetText/Commands/Individual%20commands/Sort.md),20|, the position is (1.0, 4.0) and the parent is the [ItemList](../ItemList.md). This call is done on every refresh of the list. +This list will always rerender whenever a refresh is done regardless if it needs to be scrolled or not. This is done to update the help text to the option being hovered on during the selection. This prompt is refreshed by doing a [SetText](../../SetText/SetText.md) call in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the input string is the text in languagehelp of the current option prepended with |[color](../../SetText/Individual%20commands/Color.md),4||[center](../../SetText/Individual%20commands/Center.md)\||[sort](../../SetText/Individual%20commands/Sort.md),20|, the position is (1.0, 4.0) and the parent is the [ItemList](../ItemList.md). This call is done on every refresh of the list. ## Option's [SetText](../../SetText/SetText.md) input string -The text is |[sort](../../SetText/Commands/Individual%20commands/Sort.md),20||[color](../../SetText/Commands/Individual%20commands/Color.md),4| followed by the name of the language of the option in languagenames. +The text is |[sort](../../SetText/Individual%20commands/Sort.md),20||[color](../../SetText/Individual%20commands/Color.md),4| followed by the name of the language of the option in languagenames. The size of the text is overridden to Vector2.one. diff --git a/ItemList/List Types Group Details/Library List Type.md b/docs/ItemList/List Types Group Details/Library List Type.md similarity index 76% rename from ItemList/List Types Group Details/Library List Type.md rename to docs/ItemList/List Types Group Details/Library List Type.md index bfdf626..6ace832 100644 --- a/ItemList/List Types Group Details/Library List Type.md +++ b/docs/ItemList/List Types Group Details/Library List Type.md @@ -14,11 +14,11 @@ First, the main text is set to the string representation of the option + 1 padde Then, the corresponding name of the library entry is appended to the string. -If the language is set to `German` and the list is the [Discoveries entry](../../Enums%20and%20IDs/librarystuff/Discoveries%20entry.md), |[Sizemulti](../../SetText/Commands/Individual%20commands/Sizemulti.md),0.7,1| is prepended to the string. +If the language is set to `German` and the list is the [Discoveries entry](../../Enums%20and%20IDs/librarystuff/Discoveries%20entry.md), |[Sizemulti](../../SetText/Individual%20commands/Sizemulti.md),0.7,1| is prepended to the string. -If the language is set to `Japanese` and we are paused, |[size](../../SetText/Commands/Individual%20commands/size.md),0.75,y,[lock](../../SetText/Commands/Individual%20commands/Lock.md)\| is prepended to the string. +If the language is set to `Japanese` and we are paused, |[size](../../SetText/Individual%20commands/size.md),0.75,y,[lock](../../SetText/Individual%20commands/Lock.md)\| is prepended to the string. -Finally, |[single](../../SetText/Commands/Individual%20commands/Single.md)\| is prepended to the string which will serve as the final string. +Finally, |[single](../../SetText/Individual%20commands/Single.md)\| is prepended to the string which will serve as the final string. The x position of the text is overridden to -0.5 and the size to Vector2.one. diff --git a/ItemList/List Types Group Details/Lore Book List Type.md b/docs/ItemList/List Types Group Details/Lore Book List Type.md similarity index 84% rename from ItemList/List Types Group Details/Lore Book List Type.md rename to docs/ItemList/List Types Group Details/Lore Book List Type.md index ee9ea22..8007184 100644 --- a/ItemList/List Types Group Details/Lore Book List Type.md +++ b/docs/ItemList/List Types Group Details/Lore Book List Type.md @@ -6,7 +6,7 @@ Display the list of the unlocked lore books. `listvar` is all the integers from 0 to the [flagvar](../../Flags%20arrays/flagvar.md) 15 subtracted by 1. In practice, this represents the numbers from 0 to the amount of lore book unlocked - 1. -`listredirect` is overridden to -66 which, corresponds to the CommonDialogue line 65 and has the following: |[tail](../../SetText/Commands/Individual%20commands/Tail.md),null||[boxstyle](../../SetText/Commands/Individual%20commands/Boxstyle.md),3||[Bleep](../../SetText/Commands/Individual%20commands/Bleep.md),2,1,1||[Lore](../../SetText/Commands/Individual%20commands/Lore.md)\|. +`listredirect` is overridden to -66 which, corresponds to the CommonDialogue line 65 and has the following: |[tail](../../SetText/Individual%20commands/Tail.md),null||[boxstyle](../../SetText/Individual%20commands/Boxstyle.md),3||[Bleep](../../SetText/Individual%20commands/Bleep.md),2,1,1||[Lore](../../SetText/Individual%20commands/Lore.md)\|. ## Option's [SetText](../../SetText/SetText.md) input string diff --git a/ItemList/List Types Group Details/Medals List Type.md b/docs/ItemList/List Types Group Details/Medals List Type.md similarity index 68% rename from ItemList/List Types Group Details/Medals List Type.md rename to docs/ItemList/List Types Group Details/Medals List Type.md index 4f00928..db6ddcd 100644 --- a/ItemList/List Types Group Details/Medals List Type.md +++ b/docs/ItemList/List Types Group Details/Medals List Type.md @@ -10,9 +10,9 @@ If paused, `listredirect` is overridden to null. ## Option's [SetText](../../SetText/SetText.md) input string -If there is no options or the option is -1, the string will be |[color](../../SetText/Commands/Individual%20commands/Color.md),1| followed by the no medals text from MenuText line id 23. Nothing else is done once the string is assigned in this case. It should be noted that if there is indeed no options, this code will never be run because `maxoptions` will also report not having anything so this phase will not have any iterations. +If there is no options or the option is -1, the string will be |[color](../../SetText/Individual%20commands/Color.md),1| followed by the no medals text from MenuText line id 23. Nothing else is done once the string is assigned in this case. It should be noted that if there is indeed no options, this code will never be run because `maxoptions` will also report not having anything so this phase will not have any iterations. -Otherwise, the input string will be |[single](../../SetText/Commands/Individual%20commands/Single.md)\| + ` ` followed by the medal's name obtained from `badgedata` whose medal id is obtained from looking at the medal the player has located at the index of the option. From there a sprite of the medal is rendered on the rightmost part of the bar with different properties whether we are paused or not: +Otherwise, the input string will be |[single](../../SetText/Individual%20commands/Single.md)\| + ` ` followed by the medal's name obtained from `badgedata` whose medal id is obtained from looking at the medal the player has located at the index of the option. From there a sprite of the medal is rendered on the rightmost part of the bar with different properties whether we are paused or not: * When unpaused, localPosition is (-2.5, 0.0) and localScale is (0.55, 0.6, 1.0) * When paused, localPosition is (-0.25, 0.0) and localScale is (0.7, 0.7, 1.0) @@ -22,7 +22,7 @@ Additionally, there are different additional behaviors depending if we are pause * When unpaused, the y position of the main text is overridden to -0.2. * When paused, the position of the main text is overridden to (0.35, -0.3), the size to Vector2.one and the bar height used for calculating the y position of the down arrow is overridden to -0.9. There is also going to be a bar rendered at the background if the medal is equipped in any way. The color is FFC000 for Vi, 00B800 for Kabbu, 00AFE6 for Leif and FFAE00 for equipped to all. If the medal is equipped to a character, its character icon sprite will also be rendered towards the right of the bar. -Finally, if this isn't a `sell` list, render the MP icon and the MP cost towards the right of the bar. The cost part is done via [SetText](../../SetText/SetText.md) in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the input string is |[Font](../../SetText/Commands/Individual%20commands/Font.md),0| followed by the cost obtained from badgedata clamped from 0 to 999 or from 0 to 1 if the RUIGEE [flags](../../Flags%20arrays/flags.md) is active. +Finally, if this isn't a `sell` list, render the MP icon and the MP cost towards the right of the bar. The cost part is done via [SetText](../../SetText/SetText.md) in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the input string is |[Font](../../SetText/Individual%20commands/Font.md),0| followed by the cost obtained from badgedata clamped from 0 to 999 or from 0 to 1 if the RUIGEE [flags](../../Flags%20arrays/flags.md) is active. ## Description box rendering diff --git a/ItemList/List Types Group Details/Overall Quests List Type.md b/docs/ItemList/List Types Group Details/Overall Quests List Type.md similarity index 74% rename from ItemList/List Types Group Details/Overall Quests List Type.md rename to docs/ItemList/List Types Group Details/Overall Quests List Type.md index 94b57b8..e05c53e 100644 --- a/ItemList/List Types Group Details/Overall Quests List Type.md +++ b/docs/ItemList/List Types Group Details/Overall Quests List Type.md @@ -10,17 +10,17 @@ Display a sanitized version of the taken and completed quests. This is not to be ## Option's [SetText](../../SetText/SetText.md) input string -The text is the name of the name of the quest corresponding to the absolute value of the option. If the language is set to `German`, |[Sizemulti](../../SetText/Commands/Individual%20commands/Sizemulti.md),0.7,1| is prepended to the string. +The text is the name of the name of the quest corresponding to the absolute value of the option. If the language is set to `German`, |[Sizemulti](../../SetText/Individual%20commands/Sizemulti.md),0.7,1| is prepended to the string. If the quest is a story quest (id between 11 and 17), the icon of the corresponding quest is rendered using psprite and the index as the option on the right side of the bar. The y position is 0.2 when completed and 0.25 when taken and if it is taken, the sprite is rendered with a black color. Otherwise, if the quest isn't a story quest, but it is completed, a green checkmark is rendered instead of the icon. -In all cases where a sprite is rendered, `\t` is prepended to the string and |[Tab](../../SetText/Commands/Individual%20commands/Tab.md),tabsize| is appended where tabsize is 6.0 except in `Japanese` where it is 3.0 (also multiplied by 0.85 if the sprite is the checkmark). +In all cases where a sprite is rendered, `\t` is prepended to the string and |[Tab](../../SetText/Individual%20commands/Tab.md),tabsize| is appended where tabsize is 6.0 except in `Japanese` where it is 3.0 (also multiplied by 0.85 if the sprite is the checkmark). -If the language is set to `Japanese` and we are paused, |[size](../../SetText/Commands/Individual%20commands/size.md),0.75,y,[lock](../../SetText/Commands/Individual%20commands/Lock.md)\| is prepended to the string. +If the language is set to `Japanese` and we are paused, |[size](../../SetText/Individual%20commands/size.md),0.75,y,[lock](../../SetText/Individual%20commands/Lock.md)\| is prepended to the string. -Finally, |[single](../../SetText/Commands/Individual%20commands/Single.md)\| is prepended to the string which will serve as the final string. +Finally, |[single](../../SetText/Individual%20commands/Single.md)\| is prepended to the string which will serve as the final string. The x position of the text is overridden to -0.5 and the size to Vector2.one. diff --git a/ItemList/List Types Group Details/Quest Board List Type.md b/docs/ItemList/List Types Group Details/Quest Board List Type.md similarity index 76% rename from ItemList/List Types Group Details/Quest Board List Type.md rename to docs/ItemList/List Types Group Details/Quest Board List Type.md index 6532dd7..fb2d27a 100644 --- a/ItemList/List Types Group Details/Quest Board List Type.md +++ b/docs/ItemList/List Types Group Details/Quest Board List Type.md @@ -21,7 +21,7 @@ If the end result has no quests, add quest id 0 (No Quests) as the only quest of ## Option's [SetText](../../SetText/SetText.md) input string -The text is the name of the corresponding quest from boardquestdata prepended with |size,0.5,0.8,lock| in `German` or |[size](../../SetText/Commands/Individual%20commands/size.md),0.6,0.8,lock| in `Japanese`. +The text is the name of the corresponding quest from boardquestdata prepended with |size,0.5,0.8,lock| in `German` or |[size](../../SetText/Individual%20commands/size.md),0.6,0.8,lock| in `Japanese`. The x position of the text is overridden to 0.0 and the size to Vector2.one. @@ -29,13 +29,13 @@ The x position of the text is overridden to 0.0 and the size to Vector2.one. `listdescbox` is rendered using a custom rendering scheme. If the quest id isn't No Quest, an image of the quest's author is rendered using `librarysprites` from the index obtained in [boardquestdata](../../TextAsset%20Data/BoardQuests%20data.md#BoardQuests%20data) which will have a name of `Image` and a tag of `Text` towards the top of the description box. Additionally [SetText](../../SetText/SetText.md) is called with the following in non [Dialogue mode](../../SetText/Dialogue%20mode.md): -* `text`: |[size](../../SetText/Commands/Individual%20commands/size.md),0.75||[sort](../../SetText/Commands/Individual%20commands/Sort.md),1| + The `By:` from MenuText line id 104 + ` ` + The author of the quest obtained from boardquestdata + |[line](../../SetText/Commands/Individual%20commands/Line.md)\||[halfline](../../SetText/Commands/Individual%20commands/Halfline.md)\| + The `Difficulty:` from MenuText line id 105 + ` ` + |[Stars](../../SetText/Commands/Individual%20commands/Stars.md), + The amount of filled in stars of the quest obtained from boardquestdata + `|` +* `text`: |[size](../../SetText/Individual%20commands/size.md),0.75||[sort](../../SetText/Individual%20commands/Sort.md),1| + The `By:` from MenuText line id 104 + ` ` + The author of the quest obtained from boardquestdata + |[line](../../SetText/Individual%20commands/Line.md)\||[halfline](../../SetText/Individual%20commands/Halfline.md)\| + The `Difficulty:` from MenuText line id 105 + ` ` + |[Stars](../../SetText/Individual%20commands/Stars.md), + The amount of filled in stars of the quest obtained from boardquestdata + `|` * `position`: (12, 0.35) * `parent`: `listdescbox` Whether or not the quest was No Quest, SetText is called in non [Dialogue mode](../../SetText/Dialogue%20mode.md) with the following: -* `text`: |[sort](../../SetText/Commands/Individual%20commands/Sort.md),1||[single](../../SetText/Commands/Individual%20commands/Single.md)\| + |[singlebreak](../../SetText/Commands/Individual%20commands/Singlebreak.md),10||[Sizemulti](../../SetText/Commands/Individual%20commands/Sizemulti.md),0.8,1| on `German` or |[singlebreak](../../SetText/Commands/Individual%20commands/Singlebreak.md),6| otherwise + the quest's description from boardquestdata before any `}` or `{` +* `text`: |[sort](../../SetText/Individual%20commands/Sort.md),1||[single](../../SetText/Individual%20commands/Single.md)\| + |[singlebreak](../../SetText/Individual%20commands/Singlebreak.md),10||[Sizemulti](../../SetText/Individual%20commands/Sizemulti.md),0.8,1| on `German` or |[singlebreak](../../SetText/Individual%20commands/Singlebreak.md),6| otherwise + the quest's description from boardquestdata before any `}` or `{` * `fonttype`: `BubblegumSans` * No linebreak * No tridimensional @@ -61,7 +61,7 @@ In either cases, `questboardobj` will be updated to reflect this page change and If type is the open quests board and a `boardcaller` exists, the quest must not be No Quest or a buzzer sound will be played and the confirmation rejected. -If it is not No Quest, the `questboardobj` is closed which adds an `actioncooldown` of 20 frames, sets `minipause` to false and `inlist` to false. From there, every player entity is set to face towards the entity of the boardcaller. SetText is then called in [Dialogue mode](../../SetText/Dialogue%20mode.md) with the dialogue of the boardcaller prepended with |[Questprompt](../../SetText/Commands/Individual%20commands/Questprompt.md)\| using the entity of the board caller as the parent and its NPCControl as caller. [Flagvar](../../Flags%20arrays/flagvar.md) 0 is set to the selected quest id and the list is finally destroyed which ends this confirmation handling. +If it is not No Quest, the `questboardobj` is closed which adds an `actioncooldown` of 20 frames, sets `minipause` to false and `inlist` to false. From there, every player entity is set to face towards the entity of the boardcaller. SetText is then called in [Dialogue mode](../../SetText/Dialogue%20mode.md) with the dialogue of the boardcaller prepended with |[Questprompt](../../SetText/Individual%20commands/Questprompt.md)\| using the entity of the board caller as the parent and its NPCControl as caller. [Flagvar](../../Flags%20arrays/flagvar.md) 0 is set to the selected quest id and the list is finally destroyed which ends this confirmation handling. On the other hand, if the type isn't the open quest board and the current map is the TestRoom, the selected quest is removed from the corresponding board, the `questboardobj` is closed (which adds an `actioncooldown` of 20 frames, sets `minipause` to false and `inlist` to false) and the list is destroyed which ends this confirmation handling. diff --git a/ItemList/List Types Group Details/Samira Songs List Type.md b/docs/ItemList/List Types Group Details/Samira Songs List Type.md similarity index 84% rename from ItemList/List Types Group Details/Samira Songs List Type.md rename to docs/ItemList/List Types Group Details/Samira Songs List Type.md index a299b09..6a4d917 100644 --- a/ItemList/List Types Group Details/Samira Songs List Type.md +++ b/docs/ItemList/List Types Group Details/Samira Songs List Type.md @@ -8,9 +8,9 @@ Display the list of the currently available [Musics](../../Enums%20and%20IDs/Mus ## Option's [SetText](../../SetText/SetText.md) input string -If the option is -1, the text is |[color](../../SetText/Commands/Individual%20commands/Color.md),1| followed by CommonDialogue line 152 which is "We'll buy all songs!" in English. +If the option is -1, the text is |[color](../../SetText/Individual%20commands/Color.md),1| followed by CommonDialogue line 152 which is "We'll buy all songs!" in English. -Otherwise, the entry in `samiramusics` is obtained by using the index of the option (1 is subtracted from it if -1 is in `listvar`). Then, the text becomes the name of the song in `musicnames` using the music id. This is prepended with |[color](../../SetText/Commands/Individual%20commands/Color.md),3| if the song was bought. +Otherwise, the entry in `samiramusics` is obtained by using the index of the option (1 is subtracted from it if -1 is in `listvar`). Then, the text becomes the name of the song in `musicnames` using the music id. This is prepended with |[color](../../SetText/Individual%20commands/Color.md),3| if the song was bought. The x position of the text is overridden to -2.65. diff --git a/ItemList/List Types Group Details/Settings List Type.md b/docs/ItemList/List Types Group Details/Settings List Type.md similarity index 92% rename from ItemList/List Types Group Details/Settings List Type.md rename to docs/ItemList/List Types Group Details/Settings List Type.md index 58aed6e..a4d41f2 100644 --- a/ItemList/List Types Group Details/Settings List Type.md +++ b/docs/ItemList/List Types Group Details/Settings List Type.md @@ -42,7 +42,7 @@ Display the list of the game settings which is platform specific. ## Option's [SetText](../../SetText/SetText.md) input string -The text string is rendered on the left side of the bar and it corresponds to the MenuText line id of the settingindex value of the option prepended with |[single](../../SetText/Commands/Individual%20commands/Single.md)\|. Unless otherwise specified, all option will render 2 arrows on the left and right side of the value selection that is located towards the right side of the bar. All [SetText](../../SetText/SetText.md) calls done on the right side of the bar are done in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the position is (6.25, -0.15), the bar is the parent and the input string is prepended with |[center](../../SetText/Commands/Individual%20commands/Center.md)\||[size](../../SetText/Commands/Individual%20commands/size.md),0.75|. Here are the text and UI details per settings option: +The text string is rendered on the left side of the bar and it corresponds to the MenuText line id of the settingindex value of the option prepended with |[single](../../SetText/Individual%20commands/Single.md)\|. Unless otherwise specified, all option will render 2 arrows on the left and right side of the value selection that is located towards the right side of the bar. All [SetText](../../SetText/SetText.md) calls done on the right side of the bar are done in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the position is (6.25, -0.15), the bar is the parent and the input string is prepended with |[center](../../SetText/Individual%20commands/Center.md)\||[size](../../SetText/Individual%20commands/size.md),0.75|. Here are the text and UI details per settings option: |listvar value|settingsindex value|Description|UI rendering (right side of the bar)| |-------------|-------------------|-----------|------------------------------------| diff --git a/docs/ItemList/List Types Group Details/Skills List Type.md b/docs/ItemList/List Types Group Details/Skills List Type.md new file mode 100644 index 0000000..966b5f9 --- /dev/null +++ b/docs/ItemList/List Types Group Details/Skills List Type.md @@ -0,0 +1,52 @@ +# Skills list type + +Display the list of skills that a party member has access to. + +## Options generation + +`listvar` will be the skills array field of the corresponding playerdata (-1, -2 and -3 means 0, 1 and 2 respectively). They corresponds the skills id of skilldata. + +The playerdata's skills are expected to be refreshed by using RefreshSkills which takes into account the party's rank and [Medal](../../Enums%20and%20IDs/Medal.md)s equipped. + +`listredirect` is overridden to null. + +## Option's [SetText](../../SetText/SetText.md) input string + +This behavior differs depending if we were paused or unpaused. + +### When paused + +A first SetText call is done for the tp cost in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the input string is |[sort](../../SetText/Individual%20commands/Sort.md),10||[Font](../../SetText/Individual%20commands/Font.md),0| followed by the cost padded left to 2 characters by ` ` or ` -` if there is no cost. This is rendered towards the right of the item bar. + +After, if the TP cost isn't 0, a TP icon (or HP icon if Life Cast is equipped) is rendered on the far right of the item bar. + +Finally, the input string is set to |[single](../../SetText/Individual%20commands/Single.md)\| followed by the skill's name from `skilldata`. + +The position of the input string is overridden to (-0.75, -0.2) and the bar height used for calculating the y position of the down arrow is overridden to -0.9. + +### When unpaused + +A first [SetText](../../SetText/SetText.md) call is done for the tp cost in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the input string is |[sort](../../SetText/Individual%20commands/Sort.md),10||[size](../../SetText/Individual%20commands/size.md),0.75||[Font](../../SetText/Individual%20commands/Font.md),0| followed by |[color](../../SetText/Individual%20commands/Color.md),1| if the player doesn't have enough TP for the skill followed by the cost padded left to 2 characters by ` `. This is rendered towards the right of the item bar. + +After, if the TP cost isn't 0, a TP icon (or HP icon if Life Cast is equipped) is rendered on the far right of the item bar. + +Then, a string is built with [Icon](../../SetText/Individual%20commands/Icon.md) commands according to some medals being equipped (this is appended in the respective order if the medal is equipped): + +* Needle Toss and Needle pincer: ` ` + |[size](../../SetText/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Individual%20commands/Icon.md),192| if Electric Needles, + |[Icon](../../SetText/Individual%20commands/Icon.md),191| if Sleepy Needles and + |[Icon](../../SetText/Individual%20commands/Icon.md),193| if Poison Needles + ` ` + |[size](../../SetText/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Individual%20commands/Icon.md),194| if A.D.B.P Enhancer +* Tornado Toss and Hurricane Toss: ` ` + |[size](../../SetText/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Individual%20commands/Icon.md),194| if A.D.B.P Enhancer +* Secret Stash and Sharing Stash: ` ` + |[size](../../SetText/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Individual%20commands/Icon.md),218| if Heal Plus +* Taunt: ` ` + |[size](../../SetText/Individual%20commands/size.md),0.55,0.6| + |[Icon](../../SetText/Individual%20commands/Icon.md),195| if Deep Taunt + +Finally, the input string is set to the skill's name from skilldata prepended with |[color](../../SetText/Individual%20commands/Color.md),1| if the player doesn't have enough TP for the skill and appended with the icons string. + +The x position of the text is overridden to -2.65. + +## Description box rendering + +It uses the default rendering scheme described in [Description box rendering](../ShowItemList%20Life%20Cycle/Description%20box%20rendering.md) where the text is the skill's description obtained from skilldata using the skill id. + +## Confirmation handling (during battle) + +The skill cost will then be checked if the player has enough and if they can use the skill in general. The cost is stored in [flagvar](../../Flags%20arrays/flagvar.md) 0. If the skill can be used and the player can pay the cost, SetItem is called on the battle with the selected skill and DestroyList is called which ends the processing of the list. + +If the skill can't be used, the buzzer sound will play. In addition, if the player couldn't pay the cost and the skill wasn't Hard Charge, the appropriate hud sprite will flash red (the TP one if it's TP cost or the party member's HP if we have Life Cast). diff --git a/ItemList/List Types Group Details/Spy Cards List Type.md b/docs/ItemList/List Types Group Details/Spy Cards List Type.md similarity index 100% rename from ItemList/List Types Group Details/Spy Cards List Type.md rename to docs/ItemList/List Types Group Details/Spy Cards List Type.md diff --git a/ItemList/List Types Group Details/Stat Bonuses List Type.md b/docs/ItemList/List Types Group Details/Stat Bonuses List Type.md similarity index 87% rename from ItemList/List Types Group Details/Stat Bonuses List Type.md rename to docs/ItemList/List Types Group Details/Stat Bonuses List Type.md index 7ca0737..78b4640 100644 --- a/ItemList/List Types Group Details/Stat Bonuses List Type.md +++ b/docs/ItemList/List Types Group Details/Stat Bonuses List Type.md @@ -10,7 +10,7 @@ Otherwise, `listvar` is all the bonus types of the statbonus in order. The amoun ## Option's [SetText](../../SetText/SetText.md) input string -If the option is -1, the text is |[color](../../SetText/Commands/Individual%20commands/Color.md),1| followed by MenuText line 20 which is "No Items" in English and [flagvar](../../Flags%20arrays/flagvar.md) 0 is set to -1. +If the option is -1, the text is |[color](../../SetText/Individual%20commands/Color.md),1| followed by MenuText line 20 which is "No Items" in English and [flagvar](../../Flags%20arrays/flagvar.md) 0 is set to -1. Otherwise, the text is set to the text representation of the StatBonus's name followed by ` x` followed by the amount stored locally followed by `to` followed by the target's name stored locally. The target name is determined like the following: if it's -1, it's `All` and if it isn't, it's MenuText line 46 + the target which are Team Snakemouth's names in order. [flagvar](../../Flags%20arrays/flagvar.md) 1 is also set to `option`. diff --git a/ItemList/List Types Group Details/Termacade Prizes List Type.md b/docs/ItemList/List Types Group Details/Termacade Prizes List Type.md similarity index 74% rename from ItemList/List Types Group Details/Termacade Prizes List Type.md rename to docs/ItemList/List Types Group Details/Termacade Prizes List Type.md index 9ee1ac3..9664a4e 100644 --- a/ItemList/List Types Group Details/Termacade Prizes List Type.md +++ b/docs/ItemList/List Types Group Details/Termacade Prizes List Type.md @@ -12,9 +12,9 @@ The text is the name of the item from `itemdata` or medal from `badgedata` unles The sprite of the item or medal will be rendered on the leftmost side of the bar. This sprite is a gray hexagon with a ? in it if it is a medal and [flags](../../Flags%20arrays/flags.md) 681 (MYSTERY? activation) is true. The localScale of the sprite is (0.55, 0.6, 1). -If there is only one instance of the item available and its corresponding purchased flags is true, [SetText](../../SetText/SetText.md) is called where the parent is the bar, the position is (1.0, -0.15) and the input string is |[sort](../../SetText/Commands/Individual%20commands/Sort.md),10||[size](../../SetText/Commands/Individual%20commands/size.md),0.6,0.75||[color](../../SetText/Commands/Individual%20commands/Color.md),1| followed by MenuText 190 which is "Sold Out!". +If there is only one instance of the item available and its corresponding purchased flags is true, [SetText](../../SetText/SetText.md) is called where the parent is the bar, the position is (1.0, -0.15) and the input string is |[sort](../../SetText/Individual%20commands/Sort.md),10||[size](../../SetText/Individual%20commands/size.md),0.6,0.75||[color](../../SetText/Individual%20commands/Color.md),1| followed by MenuText 190 which is "Sold Out!". -Otherwise, [SetText](../../SetText/SetText.md) is called where the parent is the bar, the position is (1.4, -0.15) and the input string is |[sort](../../SetText/Commands/Individual%20commands/Sort.md),10||[size](../../SetText/Commands/Individual%20commands/size.md),0.6,0.75| followed by the price of the items in tokens from termacadeprize. Additionally, a token sprite is rendering on the rightmost part of the bar. +Otherwise, [SetText](../../SetText/SetText.md) is called where the parent is the bar, the position is (1.4, -0.15) and the input string is |[sort](../../SetText/Individual%20commands/Sort.md),10||[size](../../SetText/Individual%20commands/size.md),0.6,0.75| followed by the price of the items in tokens from termacadeprize. Additionally, a token sprite is rendering on the rightmost part of the bar. ## Description box rendering diff --git a/ItemList/ShowItemList Life Cycle.md b/docs/ItemList/ShowItemList Life Cycle.md similarity index 100% rename from ItemList/ShowItemList Life Cycle.md rename to docs/ItemList/ShowItemList Life Cycle.md diff --git a/ItemList/ShowItemList Life Cycle/Description box rendering.md b/docs/ItemList/ShowItemList Life Cycle/Description box rendering.md similarity index 61% rename from ItemList/ShowItemList Life Cycle/Description box rendering.md rename to docs/ItemList/ShowItemList Life Cycle/Description box rendering.md index a909df9..4c172f6 100644 --- a/ItemList/ShowItemList Life Cycle/Description box rendering.md +++ b/docs/ItemList/ShowItemList Life Cycle/Description box rendering.md @@ -4,9 +4,9 @@ * If `sell`: * Set the HUD to show the berry count. * Set [flagvar](../../Flags%20arrays/flagvar.md) 10 to half the buying price rounded down of the item obtained from `itemdata` according to the [listtype](../listtype.md) as the item type and `option` as the item id clamped from 1 to 999. - * Prepend the input string prepared earlier with the secondary string obtained earlier followed by `-` + the sell price display line with a [Currency](../../SetText/Commands/Individual%20commands/Currency.md) command at MenuText 49 + |[line](../../SetText/Commands/Individual%20commands/Line.md)\| + * Prepend the input string prepared earlier with the secondary string obtained earlier followed by `-` + the sell price display line with a [Currency](../../SetText/Individual%20commands/Currency.md) command at MenuText 49 + |[line](../../SetText/Individual%20commands/Line.md)\| * Calls [SetText](../../SetText/SetText.md) in non [Dialogue mode](../../SetText/Dialogue%20mode.md) with the following: - * \|[single](../../SetText/Commands/Individual%20commands/Single.md)\||[singlebreak](../../SetText/Commands/Individual%20commands/Singlebreak.md), + itemdescbreak (This is 10.5 normally) + `|` + the final text determined earlier + * \|[single](../../SetText/Individual%20commands/Single.md)\||[singlebreak](../../SetText/Individual%20commands/Singlebreak.md), + itemdescbreak (This is 10.5 normally) + `|` + the final text determined earlier * `BubblegumSans` font * no linebreak * no tridimensional @@ -20,6 +20,6 @@ * Create the `listdescbox`. * Render an image of the quest id `option`'s author using `librarysprites` from the index obtained in [BoardQuestData](../../TextAsset%20Data/BoardQuests%20data.md#BoardQuests%20data) which will have a name of `Image` and a tag of `Text`. * Calls [SetText](../../SetText/SetText.md) with the following in non [Dialogue mode](../../SetText/Dialogue%20mode.md): - * `text`: |[size](../../SetText/Commands/Individual%20commands/size.md),0.75||[sort](../../SetText/Commands/Individual%20commands/Sort.md),1| + The `By:` from MenuText 104 + ` ` + The author of the quest id `option` obtained from `boardquestdata` + |[line](../../SetText/Commands/Individual%20commands/Line.md)\||[halfline](../../SetText/Commands/Individual%20commands/Halfline.md)\| + The `Difficulty:` from MenuText 105 + ` ` + |[Stars](../../SetText/Commands/Individual%20commands/Stars.md), + The amount of filled in stars of the quest id `option` obtained from `boardquestdata` + `|`. + * `text`: |[size](../../SetText/Individual%20commands/size.md),0.75||[sort](../../SetText/Individual%20commands/Sort.md),1| + The `By:` from MenuText 104 + ` ` + The author of the quest id `option` obtained from `boardquestdata` + |[line](../../SetText/Individual%20commands/Line.md)\||[halfline](../../SetText/Individual%20commands/Halfline.md)\| + The `Difficulty:` from MenuText 105 + ` ` + |[Stars](../../SetText/Individual%20commands/Stars.md), + The amount of filled in stars of the quest id `option` obtained from `boardquestdata` + `|`. * `position`: (12, 0.35). * `parent`: `listdescbox`. diff --git a/ItemList/ShowItemList Life Cycle/Rerendering after scroll.md b/docs/ItemList/ShowItemList Life Cycle/Rerendering after scroll.md similarity index 88% rename from ItemList/ShowItemList Life Cycle/Rerendering after scroll.md rename to docs/ItemList/ShowItemList Life Cycle/Rerendering after scroll.md index 5a4c244..64cf6c5 100644 --- a/ItemList/ShowItemList Life Cycle/Rerendering after scroll.md +++ b/docs/ItemList/ShowItemList Life Cycle/Rerendering after scroll.md @@ -2,7 +2,7 @@ * If this is a new [ItemList](../ItemList.md), Initializes the static fields: `listmax` to `listammount`, `listlow` to 0, option to 0, `listcursor` to 0, `inlist` to true and create the cursor. * If this is a refresh, free all the letter slots used in [ItemList](../ItemList.md) and itself. * Resets [ItemList](../ItemList.md) to a new GameObject, set its parent to the GUICamera or to the `questboardobj` if it isn't null and set its localPosition to (`position`.x, `position`.y, 10.0). -* If [listtype](../listtype.md) is the language selection list, Call [SetText](../../SetText/SetText.md) in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the text is set to the language selection prompt using the index of option of `listvar` prepended with |[color](../../SetText/Commands/Individual%20commands/Color.md),4||[center](../../SetText/Commands/Individual%20commands/Center.md)\||[sort](../../SetText/Commands/Individual%20commands/Sort.md),20|. This effectively changes the line to match the selected language. +* If [listtype](../listtype.md) is the language selection list, Call [SetText](../../SetText/SetText.md) in non [Dialogue mode](../../SetText/Dialogue%20mode.md) where the text is set to the language selection prompt using the index of option of `listvar` prepended with |[color](../../SetText/Individual%20commands/Color.md),4||[center](../../SetText/Individual%20commands/Center.md)\||[sort](../../SetText/Individual%20commands/Sort.md),20|. This effectively changes the line to match the selected language. * If `listlow` is above 0 and `maxoptions` is higher than `listammount` (which means that there are more items than visible at once and we have scrolled below the top): * Setup the up arrow GUI sprite to appear at the top of the list as child of ItemList. The exact setup depends on [listtype](../listtype.md) and if we are in the pause menu. * If we had a list in `overridedlist`, restore it and clear it. @@ -12,7 +12,7 @@ * Set the default rendering param to send to [SetText](../../SetText/SetText.md) that can be overridden by [listtype](../listtype.md): x is -2, y is -0.15 and size is (0.75, 0.75). * **Obtain the text of the option according to [listtype](../listtype.md)**. * Calls [SetText](../../SetText/SetText.md) in non [Dialogue mode](../../SetText/Dialogue%20mode.md) using the `BubblegumSans` font in non tridimensional at the position and size determined earlier without a Camoffset with the SpriteRenderer as the parent and without a caller with the text prepended with: - * \|[size](../../SetText/Commands/Individual%20commands/size.md),0.6,0.8| when unpaused + * \|[size](../../SetText/Individual%20commands/size.md),0.6,0.8| when unpaused * Nothing if paused and [listtype](../listtype.md) is not the current medals list * ` ` otherwise. * If the [ItemList](../ItemList.md) isn't scrolled such that the bottom is visible: diff --git a/ItemList/ShowItemList.md b/docs/ItemList/ShowItemList.md similarity index 87% rename from ItemList/ShowItemList.md rename to docs/ItemList/ShowItemList.md index 60287a4..3cf62fb 100644 --- a/ItemList/ShowItemList.md +++ b/docs/ItemList/ShowItemList.md @@ -28,7 +28,7 @@ Whether to define the [ItemList](ItemList.md) as an item sell list. This influen ## Remarks -This can also be called via the [Pickitem](../SetText/Commands/Individual%20commands/Pickitem.md) [SetText](../SetText/SetText.md) command. +This can also be called via the [Pickitem](../SetText/Individual%20commands/Pickitem.md) [SetText](../SetText/SetText.md) command. For more information about how ItemLists work, check these documents: diff --git a/ItemList/inlist issue.md b/docs/ItemList/inlist issue.md similarity index 76% rename from ItemList/inlist issue.md rename to docs/ItemList/inlist issue.md index d336117..1c0f23e 100644 --- a/ItemList/inlist issue.md +++ b/docs/ItemList/inlist issue.md @@ -1,6 +1,6 @@ # `inlist` issue -The [ItemList](ItemList.md) system has a complex issue with `inlist` as it is not always properly cleared after an ItemList is processed which can lead to issues when using the [Pickitem](../SetText/Commands/Individual%20commands/Pickitem.md) command from [SetText](../SetText/SetText.md). This issue has, as of 1.1.2, 2 known reproduction under normal gameplay, but there used to have 3 known reproduction as the first known one was patched in 1.1.0. It is however affecting SetText and ItemList as a whole and its complexity is worth to be thoroughly explained. +The [ItemList](ItemList.md) system has a complex issue with `inlist` as it is not always properly cleared after an ItemList is processed which can lead to issues when using the [Pickitem](../SetText/Individual%20commands/Pickitem.md) command from [SetText](../SetText/SetText.md). This issue has, as of 1.1.2, 2 known reproduction under normal gameplay, but there used to have 3 known reproduction as the first known one was patched in 1.1.0. It is however affecting SetText and ItemList as a whole and its complexity is worth to be thoroughly explained. ## The intent of `inlist` @@ -17,7 +17,7 @@ This creates an issue where the following occurs in order: * ShowItemList is called directly which will set `inlist` to true * The ItemList is done processing, but `inlist` remains true * Any SetText calls in [Dialogue mode](../SetText/Dialogue%20mode.md) occurs whose input string starts with anything except Pickitem -* The first char loop iteration gets done and now we are in [SetText Life Cycle > Dialogue post-processing](../SetText/SetText%20Life%20Cycle.md#dialogue-post-processing) while ItemList is null and `inlist` is true which is treated as if an ItemList is ready to be handled while no such ItemList happened during the course of this SetText call +* The first char loop iteration gets done and now we are in [SetText Life Cycle > Dialogue post-processing](../SetText/Life%20Cycle.md#dialogue-post-processing) while ItemList is null and `inlist` is true which is treated as if an ItemList is ready to be handled while no such ItemList happened during the course of this SetText call * If `listredirect` was set from a previous Pickitem command, SetText will redirect to it which leads to undefined behaviors depending on what value it had before ## Mitigations in place @@ -37,6 +37,6 @@ Despite all those measures, there are 2 known cases to reproduce this issue: While it is possible to apply workarounds as reproductions are found by the caller or after the ItemList is fully handled, it is possible to permanently fix this issue. -The first way would be to guarantee that `inlist` is set to false during the [SetText Life Cycle > Dialogue setup](../SetText/SetText%20Life%20Cycle.md#dialogue-setup) of SetText. This can work because it is not possible to make use of the value until a Pickitem is processed in which case, it is dangerous to leave it dangling at a false value. While it would still leave the value dangling in the end, any potential problems will be negated immediately by the next SetText call in [Dialogue mode](../SetText/Dialogue%20mode.md). +The first way would be to guarantee that `inlist` is set to false during the [SetText Life Cycle > Dialogue setup](../SetText/Life%20Cycle.md#dialogue-setup) of SetText. This can work because it is not possible to make use of the value until a Pickitem is processed in which case, it is dangerous to leave it dangling at a false value. While it would still leave the value dangling in the end, any potential problems will be negated immediately by the next SetText call in [Dialogue mode](../SetText/Dialogue%20mode.md). The second way would be to clear `listredirect` right after a redirection is performed if any. This wouldn't entirely fix the problem, but it will neuter the potential problems to a safer level. diff --git a/ItemList/listtype.md b/docs/ItemList/listtype.md similarity index 100% rename from ItemList/listtype.md rename to docs/ItemList/listtype.md diff --git a/OLD/Entity data.md b/docs/OLD/Entity data.md similarity index 99% rename from OLD/Entity data.md rename to docs/OLD/Entity data.md index 6c73a7d..554de04 100644 --- a/OLD/Entity data.md +++ b/docs/OLD/Entity data.md @@ -97,7 +97,7 @@ The `CapsuleCollider` component of the entity GameObject is accessible via the ` |191|initialheight|float|| |192|bobrange|float|| |193|bobspeed|float|| -|194|npcdata.activationflag|int|A [Flag](../SetText/Commands/Individual%20commands/Flag.md) slot used when this entity is activated| +|194|npcdata.activationflag|int|A [Flag](../SetText/Individual%20commands/Flag.md) slot used when this entity is activated| |195|npcdata.returntoheight|bool or int|Int if the length in string is 1:| ## Name Modifiers diff --git a/Screenshots/gane-install-managed.png b/docs/Screenshots/gane-install-managed.png similarity index 100% rename from Screenshots/gane-install-managed.png rename to docs/Screenshots/gane-install-managed.png diff --git a/Screenshots/gane-install-root.png b/docs/Screenshots/gane-install-root.png similarity index 100% rename from Screenshots/gane-install-root.png rename to docs/Screenshots/gane-install-root.png diff --git a/SetText/Commands.md b/docs/SetText/Commands.md similarity index 94% rename from SetText/Commands.md rename to docs/SetText/Commands.md index 68eeae3..0ff08c5 100644 --- a/SetText/Commands.md +++ b/docs/SetText/Commands.md @@ -1,6 +1,6 @@ -# [SetText](../SetText.md) Commands +# [SetText](SetText.md) Commands -A `Commands` is a enum used by [SetText](../SetText.md) that indicates a command to processes something with or without parameters. When specifying the input string, a command and its parameters must be enclosed in `|`. The command name and each of its parameters must be separated by `,`. The command text is refered to anything between both `|` which the command has the ability to replace the text and resume processing at the same position. +A `Commands` is a enum used by [SetText](SetText.md) that indicates a command to processes something with or without parameters. When specifying the input string, a command and its parameters must be enclosed in `|`. The command name and each of its parameters must be separated by `,`. The command text is refered to anything between both `|` which the command has the ability to replace the text and resume processing at the same position. Commands also has the ability to perform what's called a redirection which overwrites the input string with a new one and then resumes processing at the start of this new string. @@ -139,7 +139,7 @@ There are 217 commands as of 1.1.2. |100|[Setvar](Individual%20commands/Setvar.md)||| |101|[Gettail](Individual%20commands/Gettail.md)||DIALOGUE MODE, BACKTRACK| |102|[Jump](Individual%20commands/Jump.md)||| -|103|[position](Individual%20commands/position.md)||UNUSED| +|103|[Position](Individual%20commands/Position.md)||UNUSED| |104|[Hidespeed](Individual%20commands/Hidespeed.md)||DIALOGUE MODE| |105|[Breakflag](Individual%20commands/Breakflag.md)||UNUSED| |106|[Bleep](Individual%20commands/Bleep.md)||DIALOGUE MODE| @@ -170,12 +170,12 @@ There are 217 commands as of 1.1.2. |131|[Removefollower](Individual%20commands/Removefollower.md)||| |132|[Shoppool](Individual%20commands/Shoppool.md)||| |133|[Optiontovar](Individual%20commands/Optiontovar.md)||| -|134|[Librarybreak](Librarybreak.md)||NOT REFERENCED (This is processed by PauseMenu)| +|134|`Librarybreak`||NOT REFERENCED (This is processed by PauseMenu)| |135|[Setbreak](Individual%20commands/Setbreak.md)||| |136|[Librarybook](Individual%20commands/Librarybook.md)||| |137|[Area](Individual%20commands/Area.md)||REPLACE| -|138|[Sstring](Individual%20commands/Sstring.md)||PROCESSED IN [OrganiseLines](../Related%20Systems/Automatic%20Line%20Breaks/OrganiseLines.md)| -|139|[Menu](Individual%20commands/Menu.md)||PROCESSED IN [OrganiseLines](../Related%20Systems/Automatic%20Line%20Breaks/OrganiseLines.md)| +|138|[Sstring](Individual%20commands/Sstring.md)||PROCESSED IN ORGANISELINES| +|139|[Menu](Individual%20commands/Menu.md)||PROCESSED IN ORGANISELINES| |140|[Battle](Individual%20commands/Battle.md)||| |141|[Removestat](Individual%20commands/Removestat.md)||| |142|[Addstat](Individual%20commands/Addstat.md)||| diff --git a/SetText/Common commands id schemes/Dialogue line id.md b/docs/SetText/Common commands id schemes/Dialogue line id.md similarity index 88% rename from SetText/Common commands id schemes/Dialogue line id.md rename to docs/SetText/Common commands id schemes/Dialogue line id.md index 863b798..74f5194 100644 --- a/SetText/Common commands id schemes/Dialogue line id.md +++ b/docs/SetText/Common commands id schemes/Dialogue line id.md @@ -12,4 +12,4 @@ To refer to a CommonDialogue line id instead of a current map line id, the value ## What about MenuText? -This format does not cover MenuText. To use menu text, it must be done by code, using a [menu](Individual%20commands/Menu.md) or [prompt](Individual%20commands/Prompt.md) command which supports specifying one. +This format does not cover MenuText. To use menu text, it must be done by code, using a [menu](../Individual%20commands/Menu.md) or [prompt](../Individual%20commands/Prompt.md) command which supports specifying one. diff --git a/SetText/Common commands id schemes/Entity id.md b/docs/SetText/Common commands id schemes/Entity id.md similarity index 87% rename from SetText/Common commands id schemes/Entity id.md rename to docs/SetText/Common commands id schemes/Entity id.md index bcfe3b2..faa35fc 100644 --- a/SetText/Common commands id schemes/Entity id.md +++ b/docs/SetText/Common commands id schemes/Entity id.md @@ -1,6 +1,6 @@ # Entity ID -An entity id is an int value sent to the GetEntity method in MainManager which is used often when parsing [SetText](../SetText.md) parameters. This page explains how this format works. Please note it only concerns the int form as most [Commands](Commands.md) supports this form, but not all of them supports other designator such as [define](Individual%20commands/Define.md), refer to each [Commands](Commands.md) documentation to learn more. +An entity id is an int value sent to the GetEntity method in MainManager which is used often when parsing [SetText](../SetText.md) parameters. This page explains how this format works. Please note it only concerns the int form as most [Commands](../Commands.md) supports this form, but not all of them supports other designator such as [define](../Individual%20commands/Define.md), refer to each [Commands](../Commands.md) documentation to learn more. ## When not in battle diff --git a/SetText/Dialogue mode.md b/docs/SetText/Dialogue mode.md similarity index 54% rename from SetText/Dialogue mode.md rename to docs/SetText/Dialogue mode.md index 1c3dcad..49d8b3e 100644 --- a/SetText/Dialogue mode.md +++ b/docs/SetText/Dialogue mode.md @@ -1,10 +1,10 @@ # Dialogue mode -SetText has 2 main mode of operation: dialogue mode and non dialogue mode. The flag to use dialogue mode or not is sent as a parameter from the [SetText Entry Points](SetText%20Entry%20Points.md). +SetText has 2 main mode of operation: dialogue mode and non dialogue mode. The flag to use dialogue mode or not is sent as a parameter from the [SetText Entry Points](Entry%20Points.md). ## Non dialogue mode -This mode restrict accesses to features dialogue mode would have and is in general a simpler mode of operation. The only notable exclusive behavior it has is in the [Setup](SetText%20Life%20Cycle.md#setup) phase, a |[spd](Commands/Individual%20commands/Spd.md),0| is prepended to the input string which forces wait times to be disabled. Other than that, many commands becomes not usable in non dialogue mode. +This mode restrict accesses to features dialogue mode would have and is in general a simpler mode of operation. The only notable exclusive behavior it has is in the [Setup](Life%20Cycle.md#setup) phase, a |[spd](Individual%20commands/Spd.md),0| is prepended to the input string which forces wait times to be disabled. Other than that, many commands becomes not usable in non dialogue mode. One big advantage of non dialogue mode is it allows multiple SetText calls to execute at the same time and it supports recursion. This means that any SetText calls (even in dialogue mode) can itself calls SetText in non dialogue mode however it wants. Since non dialogue mode doesn't have accesses to the features dialogue mode offers, it prevents conflicts with the MainManager fields that dialogue mode uses. Additionally, this means any caller can call SetText in non dialogue mode however many times is needed. @@ -12,17 +12,17 @@ Generally, this mode is recommended for UI text because it greatly simplify the ## Dialogue mode -Dialogue mode is a superset of non dialogue mode. It allows access to every features such as [Text advance](Related%20Systems/Text%20advance.md), [Backtracking](Related%20Systems/Backtracking.md), [Prompt](Commands/Individual%20commands/Prompt.md), [Pickitem](Commands/Individual%20commands/Pickitem.md), auto bleep on every letter and in general, anything that the game needs to do to present cutscenes. It also allows to control a textbox with the [tailtarget](Notable%20local%20variable/tailtarget.md) set to the `parent` parameter and it gives access to the full set of commands features. +Dialogue mode is a superset of non dialogue mode. It allows access to every features such as [Text advance](Related%20Systems/Text%20advance.md), [Backtracking](Related%20Systems/Backtracking.md), [Prompt](Individual%20commands/Prompt.md), [Pickitem](Individual%20commands/Pickitem.md), auto bleep on every letter and in general, anything that the game needs to do to present cutscenes. It also allows to control a textbox with the [tailtarget](Notable%20states.md#tailtarget) set to the `parent` parameter and it gives access to the full set of commands features. -To accomplish this, dialogue mode has additional phases in the [SetText Life Cycle](SetText%20Life%20Cycle.md): +To accomplish this, dialogue mode has additional phases in the [SetText Life Cycle](Life%20Cycle.md): -* [Dialogue setup](SetText%20Life%20Cycle.md#dialogue-setup) -* [Dialogue pre-processing](SetText%20Life%20Cycle.md#dialogue-pre-processing) -* [Dialogue post-processing](SetText%20Life%20Cycle.md#dialogue-post-processing) -* [Dialogue Cleanup](SetText%20Life%20Cycle.md#dialogue-cleanup) +* [Dialogue setup](Life%20Cycle.md#dialogue-setup) +* [Dialogue pre-processing](Life%20Cycle.md#dialogue-pre-processing) +* [Dialogue post-processing](Life%20Cycle.md#dialogue-post-processing) +* [Dialogue Cleanup](Life%20Cycle.md#dialogue-cleanup) A huge disadvantage of this mode is it is not possible to have 2 SetText calls in dialogue mode running at the same time. This not only prevents recursion, but it also means that any caller cannot calls SetText in dialogue mode more than once. Failure to respect this rule will cause undefined behaviors. Generally, anything that needs these features should operate in dialogue mode as long as that call can safely be the only one in this mode at a time. Only if none of these features are needed should non dialogue mode be used such as UI text. -There is an exception to the one call at a time in dialogue mode rule: during the stall in [Battle](Commands/Individual%20commands/Battle.md) and [Cardbattle](Commands/Individual%20commands/Cardbattle.md). In these commands, the [message](Global%20vars%20used/message.md) lock gets released, then it will keep yielding until the battle is over. This is done because CardBattle and BattleControl may need to use dialogue mode. Since the caller is always yielding by this point, this is a safe exception to this rule because both calls should never execute at the same time still. +There is an exception to the one call at a time in dialogue mode rule: during the stall in [Battle](Individual%20commands/Battle.md) and [Cardbattle](Individual%20commands/Cardbattle.md). In these commands, the [message](Notable%20states.md#message) lock gets released, then it will keep yielding until the battle is over. This is done because CardBattle and BattleControl may need to use dialogue mode. Since the caller is always yielding by this point, this is a safe exception to this rule because both calls should never execute at the same time still. diff --git a/SetText/Entry Points.md b/docs/SetText/Entry Points.md similarity index 64% rename from SetText/Entry Points.md rename to docs/SetText/Entry Points.md index 55b5f7b..3eaa1c5 100644 --- a/SetText/Entry Points.md +++ b/docs/SetText/Entry Points.md @@ -32,13 +32,13 @@ public static IEnumerator SetText(string text, int fonttype, float? linebreak, b ### `text` -The starting input string to process. Must contains all the [Commands](Commands/Commands.md) inline. All CRLF (`\r\n`) are replaced by LF (`\n`) to make the line endings consistent. A null value may act either as if it was an empty string or cause undefined behaviors. +The starting input string to process. Must contains all the [Commands](Commands.md) inline. All CRLF (`\r\n`) are replaced by LF (`\n`) to make the line endings consistent. A null value may act either as if it was an empty string or cause undefined behaviors. -This may not be the only text that gets processed if the [Commands](Commands/Commands.md) in it replaces their text or if one of them perform a redirection which replaces the whole string. +This may not be the only text that gets processed if the [Commands](Commands.md) in it replaces their text or if one of them perform a redirection which replaces the whole string. ### `fonttype` -The starting font to use. This can be overridden by the [Setup](Life%20Cycle.md#setup) and [Letter processing](Life%20Cycle.md#letter-processing) phases or the [font](Commands/Individual%20commands/Font.md) command. +The starting font to use. This can be overridden by the [Setup](Life%20Cycle.md#setup) and [Letter processing](Life%20Cycle.md#letter-processing) phases or the [font](Individual%20commands/Font.md) command. ### `linebreak` @@ -46,17 +46,17 @@ The max width of a line enforced by [OrganiseLines](Related%20Systems/Automatic% ### `dialogue` -Tells SetText to operate in [Dialogue mode](Dialogue%20mode.md). If false, an |[spd](Commands/Individual%20commands/Spd.md),0| is prepended to the input string which will cause all wait times to be disabled by default. Refer to the [Dialogue mode](Dialogue%20mode.md) document for more information. +Tells SetText to operate in [Dialogue mode](Dialogue%20mode.md). If false, an |[spd](Individual%20commands/Spd.md),0| is prepended to the input string which will cause all wait times to be disabled by default. Refer to the [Dialogue mode](Dialogue%20mode.md) document for more information. ### `tridimensional` Render the text using layer 0 (Default) instead of layer 5 (UI) which renders the text using the main camera instead of GUICamera. This is only supported in [Regular Letter Rendering](Letter%20Rendering%20Methods/Regular%20Letter%20Rendering.md), this doesn't do anything meaningful in [Single Letter Rendering](Letter%20Rendering%20Methods/Single%20Letter%20Rendering.md). -This is only used in narrow cases, for most cases, [triui](Commands/Individual%20commands/Triui.md) is a better option. +This is only used in narrow cases, for most cases, [triui](Individual%20commands/Triui.md) is a better option. ### `position` -Indicates the localPosition of the [textholder](Notable%20local%20variable/textholder.md). This is relative to the `parent` parameter in [non dialogue mode](Dialogue%20mode.md#non-dialogue-mode) and relative to the [textbox](Notable%20local%20variable/textbox.md) in [Dialogue mode](Dialogue%20mode.md) which is positioned at 0.0, 3.25, 10.0 relative to the GUICamera. If this is effectively a zero vector, the localPosition of the [textholder](Notable%20local%20variable/textholder.md) defaults to (-5.5, 0.9, 0.0). +Indicates the localPosition of the [textholder](Notable%20states.md#textholder). This is relative to the `parent` parameter in [non dialogue mode](Dialogue%20mode.md#non-dialogue-mode) and relative to the [textbox](Notable%20states.md#textbox) in [Dialogue mode](Dialogue%20mode.md) which is positioned at 0.0, 3.25, 10.0 relative to the GUICamera. If this is effectively a zero vector, the localPosition of the [textholder](Notable%20states.md#textholder) defaults to (-5.5, 0.9, 0.0). ### `cameraoffset` @@ -64,15 +64,15 @@ The vector to add to `camoffset` in [Dialogue mode](Dialogue%20mode.md) which of ### `size` -The starting size scaling to apply to each letter from the start. This can be overridden with a [size](Commands/Individual%20commands/size.md) command. +The starting size scaling to apply to each letter from the start. This can be overridden with a [size](Individual%20commands/size.md) command. ### `Parent` -The parent of the [textholder](Notable%20local%20variable/textholder.md) in [non dialogue mode](Dialogue%20mode.md#non-dialogue-mode). In [Dialogue mode](Dialogue%20mode.md), this represents who is talking at the start and will have the [tailtarget](Notable%20local%20variable/tailtarget.md) set to it. This can be overridden with a [tail](Commands/Individual%20commands/Tail.md) command. +The parent of the [textholder](Notable%20states.md#textholder) in [non dialogue mode](Dialogue%20mode.md#non-dialogue-mode). In [Dialogue mode](Dialogue%20mode.md), this represents who is talking at the start and will have the [tailtarget](Notable%20states.md#tailtarget) set to it. This can be overridden with a [tail](Individual%20commands/Tail.md) command. ### `caller` -Represent who is the recipient of the dialogue in [Dialogue mode](Dialogue%20mode.md) at the start. This can be overridden with a [parent](Commands/Individual%20commands/Parent.md) command. +Represent who is the recipient of the dialogue in [Dialogue mode](Dialogue%20mode.md) at the start. This can be overridden with a [parent](Individual%20commands/Parent.md) command. ## Remarks diff --git a/SetText/Individual commands/Activateselectedquest.md b/docs/SetText/Individual commands/Activateselectedquest.md similarity index 100% rename from SetText/Individual commands/Activateselectedquest.md rename to docs/SetText/Individual commands/Activateselectedquest.md diff --git a/SetText/Individual commands/Addboard.md b/docs/SetText/Individual commands/Addboard.md similarity index 100% rename from SetText/Individual commands/Addboard.md rename to docs/SetText/Individual commands/Addboard.md diff --git a/SetText/Individual commands/Addfollower.md b/docs/SetText/Individual commands/Addfollower.md similarity index 100% rename from SetText/Individual commands/Addfollower.md rename to docs/SetText/Individual commands/Addfollower.md diff --git a/SetText/Individual commands/Additem.md b/docs/SetText/Individual commands/Additem.md similarity index 100% rename from SetText/Individual commands/Additem.md rename to docs/SetText/Individual commands/Additem.md diff --git a/SetText/Individual commands/Additemtoss.md b/docs/SetText/Individual commands/Additemtoss.md similarity index 100% rename from SetText/Individual commands/Additemtoss.md rename to docs/SetText/Individual commands/Additemtoss.md diff --git a/SetText/Individual commands/Addprize.md b/docs/SetText/Individual commands/Addprize.md similarity index 100% rename from SetText/Individual commands/Addprize.md rename to docs/SetText/Individual commands/Addprize.md diff --git a/SetText/Individual commands/Addquest.md b/docs/SetText/Individual commands/Addquest.md similarity index 100% rename from SetText/Individual commands/Addquest.md rename to docs/SetText/Individual commands/Addquest.md diff --git a/SetText/Individual commands/Addstat.md b/docs/SetText/Individual commands/Addstat.md similarity index 100% rename from SetText/Individual commands/Addstat.md rename to docs/SetText/Individual commands/Addstat.md diff --git a/SetText/Individual commands/Addvar.md b/docs/SetText/Individual commands/Addvar.md similarity index 100% rename from SetText/Individual commands/Addvar.md rename to docs/SetText/Individual commands/Addvar.md diff --git a/SetText/Individual commands/Align.md b/docs/SetText/Individual commands/Align.md similarity index 100% rename from SetText/Individual commands/Align.md rename to docs/SetText/Individual commands/Align.md diff --git a/SetText/Individual commands/Alwaysactive.md b/docs/SetText/Individual commands/Alwaysactive.md similarity index 100% rename from SetText/Individual commands/Alwaysactive.md rename to docs/SetText/Individual commands/Alwaysactive.md diff --git a/SetText/Individual commands/Anim.md b/docs/SetText/Individual commands/Anim.md similarity index 100% rename from SetText/Individual commands/Anim.md rename to docs/SetText/Individual commands/Anim.md diff --git a/SetText/Individual commands/Anstring.md b/docs/SetText/Individual commands/Anstring.md similarity index 100% rename from SetText/Individual commands/Anstring.md rename to docs/SetText/Individual commands/Anstring.md diff --git a/SetText/Individual commands/Area.md b/docs/SetText/Individual commands/Area.md similarity index 100% rename from SetText/Individual commands/Area.md rename to docs/SetText/Individual commands/Area.md diff --git a/SetText/Individual commands/Backbox.md b/docs/SetText/Individual commands/Backbox.md similarity index 100% rename from SetText/Individual commands/Backbox.md rename to docs/SetText/Individual commands/Backbox.md diff --git a/SetText/Individual commands/Backline.md b/docs/SetText/Individual commands/Backline.md similarity index 100% rename from SetText/Individual commands/Backline.md rename to docs/SetText/Individual commands/Backline.md diff --git a/SetText/Individual commands/Battle.md b/docs/SetText/Individual commands/Battle.md similarity index 100% rename from SetText/Individual commands/Battle.md rename to docs/SetText/Individual commands/Battle.md diff --git a/SetText/Individual commands/Battlesize.md b/docs/SetText/Individual commands/Battlesize.md similarity index 100% rename from SetText/Individual commands/Battlesize.md rename to docs/SetText/Individual commands/Battlesize.md diff --git a/SetText/Individual commands/Battlewon.md b/docs/SetText/Individual commands/Battlewon.md similarity index 100% rename from SetText/Individual commands/Battlewon.md rename to docs/SetText/Individual commands/Battlewon.md diff --git a/SetText/Individual commands/BeeGame.md b/docs/SetText/Individual commands/BeeGame.md similarity index 100% rename from SetText/Individual commands/BeeGame.md rename to docs/SetText/Individual commands/BeeGame.md diff --git a/SetText/Individual commands/Blank.md b/docs/SetText/Individual commands/Blank.md similarity index 100% rename from SetText/Individual commands/Blank.md rename to docs/SetText/Individual commands/Blank.md diff --git a/SetText/Individual commands/Bleep.md b/docs/SetText/Individual commands/Bleep.md similarity index 100% rename from SetText/Individual commands/Bleep.md rename to docs/SetText/Individual commands/Bleep.md diff --git a/SetText/Individual commands/Boxspeed.md b/docs/SetText/Individual commands/Boxspeed.md similarity index 100% rename from SetText/Individual commands/Boxspeed.md rename to docs/SetText/Individual commands/Boxspeed.md diff --git a/SetText/Individual commands/Boxstyle.md b/docs/SetText/Individual commands/Boxstyle.md similarity index 100% rename from SetText/Individual commands/Boxstyle.md rename to docs/SetText/Individual commands/Boxstyle.md diff --git a/SetText/Individual commands/Break.md b/docs/SetText/Individual commands/Break.md similarity index 71% rename from SetText/Individual commands/Break.md rename to docs/SetText/Individual commands/Break.md index 8c74a41..3668dcc 100644 --- a/SetText/Individual commands/Break.md +++ b/docs/SetText/Individual commands/Break.md @@ -14,4 +14,4 @@ None ## Remarks -This behaves the same way than [next](Next.md) except it does not record the text for [Backtracking](../Related%20Systems/Backtracking.md) and it does not process a [blank](Blank.md) command after. It only stops the [tailtarget](../Notable%20states.md#tailtarget) from talking in [Dialogue mode](../Dialogue%20mode.md) mode and yields to the game using [waitinput](../Global%20vars%20used/waitinput.md) as well as reset the [Text advance](../Related%20Systems/Text%20advance.md) text skip values. +This behaves the same way than [next](Next.md) except it does not record the text for [Backtracking](../Related%20Systems/Backtracking.md) and it does not process a [blank](Blank.md) command after. It only stops the [tailtarget](../Notable%20states.md#tailtarget) from talking in [Dialogue mode](../Dialogue%20mode.md) mode and yields to the game using [waitinput](../Notable%20states.md#waitinput) as well as reset the [Text advance](../Related%20Systems/Text%20advance.md) text skip values. diff --git a/SetText/Individual commands/Breakend.md b/docs/SetText/Individual commands/Breakend.md similarity index 100% rename from SetText/Individual commands/Breakend.md rename to docs/SetText/Individual commands/Breakend.md diff --git a/SetText/Individual commands/Breakflag.md b/docs/SetText/Individual commands/Breakflag.md similarity index 100% rename from SetText/Individual commands/Breakflag.md rename to docs/SetText/Individual commands/Breakflag.md diff --git a/SetText/Individual commands/Button.md b/docs/SetText/Individual commands/Button.md similarity index 100% rename from SetText/Individual commands/Button.md rename to docs/SetText/Individual commands/Button.md diff --git a/SetText/Individual commands/Call.md b/docs/SetText/Individual commands/Call.md similarity index 100% rename from SetText/Individual commands/Call.md rename to docs/SetText/Individual commands/Call.md diff --git a/SetText/Individual commands/Camangle.md b/docs/SetText/Individual commands/Camangle.md similarity index 100% rename from SetText/Individual commands/Camangle.md rename to docs/SetText/Individual commands/Camangle.md diff --git a/SetText/Individual commands/Camlimit.md b/docs/SetText/Individual commands/Camlimit.md similarity index 100% rename from SetText/Individual commands/Camlimit.md rename to docs/SetText/Individual commands/Camlimit.md diff --git a/SetText/Individual commands/Camoffset.md b/docs/SetText/Individual commands/Camoffset.md similarity index 100% rename from SetText/Individual commands/Camoffset.md rename to docs/SetText/Individual commands/Camoffset.md diff --git a/SetText/Individual commands/Camspeed.md b/docs/SetText/Individual commands/Camspeed.md similarity index 100% rename from SetText/Individual commands/Camspeed.md rename to docs/SetText/Individual commands/Camspeed.md diff --git a/SetText/Individual commands/Camtarget.md b/docs/SetText/Individual commands/Camtarget.md similarity index 100% rename from SetText/Individual commands/Camtarget.md rename to docs/SetText/Individual commands/Camtarget.md diff --git a/SetText/Individual commands/Cancelaction.md b/docs/SetText/Individual commands/Cancelaction.md similarity index 100% rename from SetText/Individual commands/Cancelaction.md rename to docs/SetText/Individual commands/Cancelaction.md diff --git a/SetText/Individual commands/Caravanmedal.md b/docs/SetText/Individual commands/Caravanmedal.md similarity index 100% rename from SetText/Individual commands/Caravanmedal.md rename to docs/SetText/Individual commands/Caravanmedal.md diff --git a/SetText/Individual commands/Cardbattle.md b/docs/SetText/Individual commands/Cardbattle.md similarity index 100% rename from SetText/Individual commands/Cardbattle.md rename to docs/SetText/Individual commands/Cardbattle.md diff --git a/SetText/Individual commands/Cberrytotal.md b/docs/SetText/Individual commands/Cberrytotal.md similarity index 100% rename from SetText/Individual commands/Cberrytotal.md rename to docs/SetText/Individual commands/Cberrytotal.md diff --git a/SetText/Individual commands/Center.md b/docs/SetText/Individual commands/Center.md similarity index 100% rename from SetText/Individual commands/Center.md rename to docs/SetText/Individual commands/Center.md diff --git a/SetText/Individual commands/Chapterintro.md b/docs/SetText/Individual commands/Chapterintro.md similarity index 100% rename from SetText/Individual commands/Chapterintro.md rename to docs/SetText/Individual commands/Chapterintro.md diff --git a/SetText/Individual commands/Checkallquests.md b/docs/SetText/Individual commands/Checkallquests.md similarity index 100% rename from SetText/Individual commands/Checkallquests.md rename to docs/SetText/Individual commands/Checkallquests.md diff --git a/SetText/Individual commands/Checkanim.md b/docs/SetText/Individual commands/Checkanim.md similarity index 100% rename from SetText/Individual commands/Checkanim.md rename to docs/SetText/Individual commands/Checkanim.md diff --git a/SetText/Individual commands/Checkflag.md b/docs/SetText/Individual commands/Checkflag.md similarity index 100% rename from SetText/Individual commands/Checkflag.md rename to docs/SetText/Individual commands/Checkflag.md diff --git a/SetText/Individual commands/Checkinvqtd.md b/docs/SetText/Individual commands/Checkinvqtd.md similarity index 100% rename from SetText/Individual commands/Checkinvqtd.md rename to docs/SetText/Individual commands/Checkinvqtd.md diff --git a/SetText/Individual commands/Checkmapflag.md b/docs/SetText/Individual commands/Checkmapflag.md similarity index 87% rename from SetText/Individual commands/Checkmapflag.md rename to docs/SetText/Individual commands/Checkmapflag.md index 8198143..79fc72f 100644 --- a/SetText/Individual commands/Checkmapflag.md +++ b/docs/SetText/Individual commands/Checkmapflag.md @@ -20,6 +20,6 @@ The [Dialogue line id](../Common%20commands%20id%20schemes/Dialogue%20line%20id. ## Remarks -`map.mapflags` is an array of 10 bools that belongs to the current map, but is reset explicitly on the map's Start and unlike other flags arrays, this one is never saved on the [Save File](../../Save%20File.md). This gives it a very ephemeral and temporary usage because all their values are reset on every map loads. +`map.mapflags` is an array of 10 bools that belongs to the current map, but is reset explicitly on the map's Start and unlike other flags arrays, this one is never saved on the [Save File](../../External%20data%20format/Save%20File.md). This gives it a very ephemeral and temporary usage because all their values are reset on every map loads. Their value can be set using [mapflag](Mapflag.md). diff --git a/SetText/Individual commands/Checkminibubble.md b/docs/SetText/Individual commands/Checkminibubble.md similarity index 100% rename from SetText/Individual commands/Checkminibubble.md rename to docs/SetText/Individual commands/Checkminibubble.md diff --git a/SetText/Individual commands/Checkmoney.md b/docs/SetText/Individual commands/Checkmoney.md similarity index 100% rename from SetText/Individual commands/Checkmoney.md rename to docs/SetText/Individual commands/Checkmoney.md diff --git a/SetText/Individual commands/Checkpos.md b/docs/SetText/Individual commands/Checkpos.md similarity index 100% rename from SetText/Individual commands/Checkpos.md rename to docs/SetText/Individual commands/Checkpos.md diff --git a/SetText/Individual commands/Checkregional.md b/docs/SetText/Individual commands/Checkregional.md similarity index 100% rename from SetText/Individual commands/Checkregional.md rename to docs/SetText/Individual commands/Checkregional.md diff --git a/SetText/Individual commands/Checksum.md b/docs/SetText/Individual commands/Checksum.md similarity index 100% rename from SetText/Individual commands/Checksum.md rename to docs/SetText/Individual commands/Checksum.md diff --git a/SetText/Individual commands/Checktrue.md b/docs/SetText/Individual commands/Checktrue.md similarity index 100% rename from SetText/Individual commands/Checktrue.md rename to docs/SetText/Individual commands/Checktrue.md diff --git a/SetText/Individual commands/Checkvar.md b/docs/SetText/Individual commands/Checkvar.md similarity index 100% rename from SetText/Individual commands/Checkvar.md rename to docs/SetText/Individual commands/Checkvar.md diff --git a/SetText/Individual commands/Choicewave.md b/docs/SetText/Individual commands/Choicewave.md similarity index 100% rename from SetText/Individual commands/Choicewave.md rename to docs/SetText/Individual commands/Choicewave.md diff --git a/SetText/Individual commands/Clonestring.md b/docs/SetText/Individual commands/Clonestring.md similarity index 100% rename from SetText/Individual commands/Clonestring.md rename to docs/SetText/Individual commands/Clonestring.md diff --git a/SetText/Individual commands/Color.md b/docs/SetText/Individual commands/Color.md similarity index 100% rename from SetText/Individual commands/Color.md rename to docs/SetText/Individual commands/Color.md diff --git a/SetText/Individual commands/Common.md b/docs/SetText/Individual commands/Common.md similarity index 100% rename from SetText/Individual commands/Common.md rename to docs/SetText/Individual commands/Common.md diff --git a/SetText/Individual commands/Completequest.md b/docs/SetText/Individual commands/Completequest.md similarity index 100% rename from SetText/Individual commands/Completequest.md rename to docs/SetText/Individual commands/Completequest.md diff --git a/SetText/Individual commands/Copyvar.md b/docs/SetText/Individual commands/Copyvar.md similarity index 100% rename from SetText/Individual commands/Copyvar.md rename to docs/SetText/Individual commands/Copyvar.md diff --git a/SetText/Individual commands/Createitem.md b/docs/SetText/Individual commands/Createitem.md similarity index 100% rename from SetText/Individual commands/Createitem.md rename to docs/SetText/Individual commands/Createitem.md diff --git a/SetText/Individual commands/Currency.md b/docs/SetText/Individual commands/Currency.md similarity index 100% rename from SetText/Individual commands/Currency.md rename to docs/SetText/Individual commands/Currency.md diff --git a/SetText/Individual commands/Deathsmoke.md b/docs/SetText/Individual commands/Deathsmoke.md similarity index 100% rename from SetText/Individual commands/Deathsmoke.md rename to docs/SetText/Individual commands/Deathsmoke.md diff --git a/SetText/Individual commands/Define.md b/docs/SetText/Individual commands/Define.md similarity index 100% rename from SetText/Individual commands/Define.md rename to docs/SetText/Individual commands/Define.md diff --git a/SetText/Individual commands/Destroydescbox.md b/docs/SetText/Individual commands/Destroydescbox.md similarity index 100% rename from SetText/Individual commands/Destroydescbox.md rename to docs/SetText/Individual commands/Destroydescbox.md diff --git a/SetText/Individual commands/Destroyminibubble.md b/docs/SetText/Individual commands/Destroyminibubble.md similarity index 100% rename from SetText/Individual commands/Destroyminibubble.md rename to docs/SetText/Individual commands/Destroyminibubble.md diff --git a/SetText/Individual commands/Discovery.md b/docs/SetText/Individual commands/Discovery.md similarity index 100% rename from SetText/Individual commands/Discovery.md rename to docs/SetText/Individual commands/Discovery.md diff --git a/SetText/Individual commands/Dropshadow.md b/docs/SetText/Individual commands/Dropshadow.md similarity index 100% rename from SetText/Individual commands/Dropshadow.md rename to docs/SetText/Individual commands/Dropshadow.md diff --git a/SetText/Individual commands/DungeonGame.md b/docs/SetText/Individual commands/DungeonGame.md similarity index 100% rename from SetText/Individual commands/DungeonGame.md rename to docs/SetText/Individual commands/DungeonGame.md diff --git a/SetText/Individual commands/Emoticon.md b/docs/SetText/Individual commands/Emoticon.md similarity index 100% rename from SetText/Individual commands/Emoticon.md rename to docs/SetText/Individual commands/Emoticon.md diff --git a/docs/SetText/Individual commands/End.md b/docs/SetText/Individual commands/End.md new file mode 100644 index 0000000..9b1ef3e --- /dev/null +++ b/docs/SetText/Individual commands/End.md @@ -0,0 +1,19 @@ +# End + +Signal to SetText to not wait for a confirmation input at the end after the input string has been fully processed in [Dialogue mode](../Dialogue%20mode.md) mode + +## Syntax + +```` +|end| +```` + +## Parameters + +None + +## Remarks + +In [Dialogue mode](../Dialogue%20mode.md) mode, SetText would normally yield control to the game by setting [waitinput](../Notable%20states.md#waitinput) to true in the [Dialogue Cleanup](../Life%20Cycle.md#dialogue-cleanup) phase. This command allows to bypass this behavior and prevents the yield entirely. Additionally, if the caller was an [Item](../../Enums%20and%20IDs/Items.md), it will call Death on it. While it is generally preferred to place this command on the actual end of the line if the caller is an Item, as far as skipping the wait behavior, it does not matter where this command is placed. All it does is set the flag to skip it for later. + +This commands is only applicable in [Dialogue mode](../Dialogue%20mode.md) mode. It will not do anything in non dialogue mode. diff --git a/SetText/Individual commands/Entityalive.md b/docs/SetText/Individual commands/Entityalive.md similarity index 100% rename from SetText/Individual commands/Entityalive.md rename to docs/SetText/Individual commands/Entityalive.md diff --git a/SetText/Individual commands/Event.md b/docs/SetText/Individual commands/Event.md similarity index 100% rename from SetText/Individual commands/Event.md rename to docs/SetText/Individual commands/Event.md diff --git a/SetText/Individual commands/Exitgame.md b/docs/SetText/Individual commands/Exitgame.md similarity index 100% rename from SetText/Individual commands/Exitgame.md rename to docs/SetText/Individual commands/Exitgame.md diff --git a/SetText/Individual commands/Exp.md b/docs/SetText/Individual commands/Exp.md similarity index 100% rename from SetText/Individual commands/Exp.md rename to docs/SetText/Individual commands/Exp.md diff --git a/SetText/Individual commands/Face.md b/docs/SetText/Individual commands/Face.md similarity index 100% rename from SetText/Individual commands/Face.md rename to docs/SetText/Individual commands/Face.md diff --git a/SetText/Individual commands/FadeIn.md b/docs/SetText/Individual commands/FadeIn.md similarity index 100% rename from SetText/Individual commands/FadeIn.md rename to docs/SetText/Individual commands/FadeIn.md diff --git a/SetText/Individual commands/FadeOut.md b/docs/SetText/Individual commands/FadeOut.md similarity index 100% rename from SetText/Individual commands/FadeOut.md rename to docs/SetText/Individual commands/FadeOut.md diff --git a/SetText/Individual commands/Fadeletter.md b/docs/SetText/Individual commands/Fadeletter.md similarity index 100% rename from SetText/Individual commands/Fadeletter.md rename to docs/SetText/Individual commands/Fadeletter.md diff --git a/SetText/Individual commands/Fademusic.md b/docs/SetText/Individual commands/Fademusic.md similarity index 100% rename from SetText/Individual commands/Fademusic.md rename to docs/SetText/Individual commands/Fademusic.md diff --git a/SetText/Individual commands/Faketail.md b/docs/SetText/Individual commands/Faketail.md similarity index 100% rename from SetText/Individual commands/Faketail.md rename to docs/SetText/Individual commands/Faketail.md diff --git a/SetText/Individual commands/Fixchompy.md b/docs/SetText/Individual commands/Fixchompy.md similarity index 100% rename from SetText/Individual commands/Fixchompy.md rename to docs/SetText/Individual commands/Fixchompy.md diff --git a/SetText/Individual commands/Flag.md b/docs/SetText/Individual commands/Flag.md similarity index 100% rename from SetText/Individual commands/Flag.md rename to docs/SetText/Individual commands/Flag.md diff --git a/SetText/Individual commands/Flagvalue.md b/docs/SetText/Individual commands/Flagvalue.md similarity index 100% rename from SetText/Individual commands/Flagvalue.md rename to docs/SetText/Individual commands/Flagvalue.md diff --git a/SetText/Individual commands/Flip.md b/docs/SetText/Individual commands/Flip.md similarity index 100% rename from SetText/Individual commands/Flip.md rename to docs/SetText/Individual commands/Flip.md diff --git a/SetText/Individual commands/Follow.md b/docs/SetText/Individual commands/Follow.md similarity index 100% rename from SetText/Individual commands/Follow.md rename to docs/SetText/Individual commands/Follow.md diff --git a/docs/SetText/Individual commands/Font.md b/docs/SetText/Individual commands/Font.md new file mode 100644 index 0000000..e01d62a --- /dev/null +++ b/docs/SetText/Individual commands/Font.md @@ -0,0 +1,35 @@ +# Font + +Change the current [fonttype](../Notable%20states.md#fonttype) used by SetText from now on. + +## Syntax + +(1) + +```` +|font,fonttype| +```` + +(2) + +```` +|font,fonttype,lockcontrol| +```` + +## Parameters + +### `fonttype`: int + +The [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) to set the current one to. This must be a valid fonttype or an exception will be thrown. + +### `lockcontrol`: `lock` | var + +Set whether or not to honor [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) overrides rules concerning the current [languageid](../languageid.md) during [Letter processing](../Life%20Cycle.md#letter-processing). A value of `lock` indicates to not respect them while any other value indicates to honor them. This can be toggled back and forth during the SetText call, but the default at the start of the SetText call is to honor these rules. + +The default value is to not change this setting and keep using the current state of it. + +## Remarks + +Normally, during the [Setup](../Life%20Cycle.md#setup) phase, the font gets overridden to `Uzura` in `Japanese` and to `ONEMobilePOP` in `Korean`, but this command allows to override this behavior. It can even disregard it completely by placing this command at the start of the input string. + +However, doing so would still allow [Letter processing](../Life%20Cycle.md#letter-processing) to override the [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) to the same values under the same languages if in [Dialogue mode](../Dialogue%20mode.md) while not processing a [numberprompt](NumberPrompt.md). The `lockcontrol` allows to also override this which effectively mean that this command allows complete control over which [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) to use regardless of the [languageid](../languageid.md). diff --git a/SetText/Individual commands/Forcewait.md b/docs/SetText/Individual commands/Forcewait.md similarity index 100% rename from SetText/Individual commands/Forcewait.md rename to docs/SetText/Individual commands/Forcewait.md diff --git a/SetText/Individual commands/Fwait.md b/docs/SetText/Individual commands/Fwait.md similarity index 100% rename from SetText/Individual commands/Fwait.md rename to docs/SetText/Individual commands/Fwait.md diff --git a/SetText/Individual commands/GetFromMap.md b/docs/SetText/Individual commands/GetFromMap.md similarity index 76% rename from SetText/Individual commands/GetFromMap.md rename to docs/SetText/Individual commands/GetFromMap.md index 5fc9a60..c56bdd1 100644 --- a/SetText/Individual commands/GetFromMap.md +++ b/docs/SetText/Individual commands/GetFromMap.md @@ -1,6 +1,6 @@ # GetFromMap -Replace the text of this command to a dialogue line that belongs to a specific [Map](../Enums%20and%20IDs/Maps.md). +Replace the text of this command to a dialogue line that belongs to a specific [Map](../../Enums%20and%20IDs/Maps.md). ## Syntax @@ -12,7 +12,7 @@ Replace the text of this command to a dialogue line that belongs to a specific [ ### `map`: int -The [Map](../Enums%20and%20IDs/Maps.md) id to get the dialogue line from. This must be a valid [Map](../Enums%20and%20IDs/Maps.md) id or an exception will be thrown. +The [Map](../../Enums%20and%20IDs/Maps.md) id to get the dialogue line from. This must be a valid [Map](../../Enums%20and%20IDs/Maps.md) id or an exception will be thrown. ### `line`: int diff --git a/SetText/Individual commands/Getstorage.md b/docs/SetText/Individual commands/Getstorage.md similarity index 100% rename from SetText/Individual commands/Getstorage.md rename to docs/SetText/Individual commands/Getstorage.md diff --git a/SetText/Individual commands/Gettail.md b/docs/SetText/Individual commands/Gettail.md similarity index 100% rename from SetText/Individual commands/Gettail.md rename to docs/SetText/Individual commands/Gettail.md diff --git a/SetText/Individual commands/Giveitem.md b/docs/SetText/Individual commands/Giveitem.md similarity index 100% rename from SetText/Individual commands/Giveitem.md rename to docs/SetText/Individual commands/Giveitem.md diff --git a/SetText/Individual commands/Glitchy.md b/docs/SetText/Individual commands/Glitchy.md similarity index 100% rename from SetText/Individual commands/Glitchy.md rename to docs/SetText/Individual commands/Glitchy.md diff --git a/SetText/Individual commands/Goto.md b/docs/SetText/Individual commands/Goto.md similarity index 100% rename from SetText/Individual commands/Goto.md rename to docs/SetText/Individual commands/Goto.md diff --git a/SetText/Individual commands/Halfline.md b/docs/SetText/Individual commands/Halfline.md similarity index 100% rename from SetText/Individual commands/Halfline.md rename to docs/SetText/Individual commands/Halfline.md diff --git a/SetText/Individual commands/Halt.md b/docs/SetText/Individual commands/Halt.md similarity index 100% rename from SetText/Individual commands/Halt.md rename to docs/SetText/Individual commands/Halt.md diff --git a/SetText/Individual commands/Heal.md b/docs/SetText/Individual commands/Heal.md similarity index 100% rename from SetText/Individual commands/Heal.md rename to docs/SetText/Individual commands/Heal.md diff --git a/SetText/Individual commands/Hide.md b/docs/SetText/Individual commands/Hide.md similarity index 100% rename from SetText/Individual commands/Hide.md rename to docs/SetText/Individual commands/Hide.md diff --git a/SetText/Individual commands/Hidemoney.md b/docs/SetText/Individual commands/Hidemoney.md similarity index 100% rename from SetText/Individual commands/Hidemoney.md rename to docs/SetText/Individual commands/Hidemoney.md diff --git a/SetText/Individual commands/Hidespeed.md b/docs/SetText/Individual commands/Hidespeed.md similarity index 100% rename from SetText/Individual commands/Hidespeed.md rename to docs/SetText/Individual commands/Hidespeed.md diff --git a/SetText/Individual commands/Icon.md b/docs/SetText/Individual commands/Icon.md similarity index 100% rename from SetText/Individual commands/Icon.md rename to docs/SetText/Individual commands/Icon.md diff --git a/SetText/Individual commands/Igcolmove.md b/docs/SetText/Individual commands/Igcolmove.md similarity index 100% rename from SetText/Individual commands/Igcolmove.md rename to docs/SetText/Individual commands/Igcolmove.md diff --git a/SetText/Individual commands/Ignorenext.md b/docs/SetText/Individual commands/Ignorenext.md similarity index 100% rename from SetText/Individual commands/Ignorenext.md rename to docs/SetText/Individual commands/Ignorenext.md diff --git a/SetText/Individual commands/Innsleep.md b/docs/SetText/Individual commands/Innsleep.md similarity index 100% rename from SetText/Individual commands/Innsleep.md rename to docs/SetText/Individual commands/Innsleep.md diff --git a/SetText/Individual commands/Itemname.md b/docs/SetText/Individual commands/Itemname.md similarity index 100% rename from SetText/Individual commands/Itemname.md rename to docs/SetText/Individual commands/Itemname.md diff --git a/SetText/Individual commands/Itemvalue.md b/docs/SetText/Individual commands/Itemvalue.md similarity index 100% rename from SetText/Individual commands/Itemvalue.md rename to docs/SetText/Individual commands/Itemvalue.md diff --git a/SetText/Individual commands/Jump.md b/docs/SetText/Individual commands/Jump.md similarity index 100% rename from SetText/Individual commands/Jump.md rename to docs/SetText/Individual commands/Jump.md diff --git a/SetText/Individual commands/Kill.md b/docs/SetText/Individual commands/Kill.md similarity index 100% rename from SetText/Individual commands/Kill.md rename to docs/SetText/Individual commands/Kill.md diff --git a/SetText/Individual commands/Kinematicplayer.md b/docs/SetText/Individual commands/Kinematicplayer.md similarity index 100% rename from SetText/Individual commands/Kinematicplayer.md rename to docs/SetText/Individual commands/Kinematicplayer.md diff --git a/SetText/Individual commands/LetterPrompt.md b/docs/SetText/Individual commands/LetterPrompt.md similarity index 99% rename from SetText/Individual commands/LetterPrompt.md rename to docs/SetText/Individual commands/LetterPrompt.md index 94aba63..a567e39 100644 --- a/SetText/Individual commands/LetterPrompt.md +++ b/docs/SetText/Individual commands/LetterPrompt.md @@ -116,7 +116,7 @@ To render each options (the letters, Erase, Space and Confirm), the following is * Have the option text be |[choicewave](Choicewave.md),n,true| where n is `maxoptions`. * Increment `maxoptions`. * Call [SetText](../SetText.md) in non [Dialogue mode](../Dialogue%20mode.md) using the text with |[center](Center.md)\|: - * [fonttype](../Notable%20states.md#fonttype.md) is `BubblegumSans` + * [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) is `BubblegumSans` * no `linebreak` * no `tridimensional` * `position` is (x, y, 0.0) where x and y are the current value of the option's positions. @@ -137,7 +137,7 @@ After all the letters have been rendered, [flagstring](../../Flags%20arrays/flag After, the help text to the next letter prompt with the switch button is rendered by creating a new GameObject parented to the `promptbox` called `button` with a ButtonSprite set to `Scroll Faster / Switch Party` whose label is the corresponding letterPromptHelp at the current id at (-2.25, -1.9) and a size of (0.5, 0.5). After the initial setup, the first refresh of the letter prompt is performed. This will destroy the text in `npromptholder` and rerender using the one in [flagstring](../../Flags%20arrays/flagstring.md) 0 which will get updated periodically as letters are added or removed during the prompt handling. This also sets [flagvar](../../Flags%20arrays/flagvar.md) 4 to 0. As for the rendering of the text itself, it is done via a SetText call in non [Dialogue mode](../Dialogue%20mode.md) with the text padded to the right with `_` to fit into `maxlength` prepended with |[center](Center.md)\|: -- [fonttype](../Notable%20states.md#fonttype.md) is `BubblegumSans` +- [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) is `BubblegumSans` - no linebreak - no tridimensional - position is Vector3.zero. diff --git a/SetText/Individual commands/Level.md b/docs/SetText/Individual commands/Level.md similarity index 100% rename from SetText/Individual commands/Level.md rename to docs/SetText/Individual commands/Level.md diff --git a/SetText/Individual commands/Librarybook.md b/docs/SetText/Individual commands/Librarybook.md similarity index 100% rename from SetText/Individual commands/Librarybook.md rename to docs/SetText/Individual commands/Librarybook.md diff --git a/SetText/Individual commands/Libraryline.md b/docs/SetText/Individual commands/Libraryline.md similarity index 100% rename from SetText/Individual commands/Libraryline.md rename to docs/SetText/Individual commands/Libraryline.md diff --git a/SetText/Individual commands/Librarysize.md b/docs/SetText/Individual commands/Librarysize.md similarity index 100% rename from SetText/Individual commands/Librarysize.md rename to docs/SetText/Individual commands/Librarysize.md diff --git a/SetText/Individual commands/Limit.md b/docs/SetText/Individual commands/Limit.md similarity index 100% rename from SetText/Individual commands/Limit.md rename to docs/SetText/Individual commands/Limit.md diff --git a/SetText/Individual commands/Line.md b/docs/SetText/Individual commands/Line.md similarity index 100% rename from SetText/Individual commands/Line.md rename to docs/SetText/Individual commands/Line.md diff --git a/SetText/Individual commands/Listsize.md b/docs/SetText/Individual commands/Listsize.md similarity index 100% rename from SetText/Individual commands/Listsize.md rename to docs/SetText/Individual commands/Listsize.md diff --git a/SetText/Individual commands/Loadcamera.md b/docs/SetText/Individual commands/Loadcamera.md similarity index 100% rename from SetText/Individual commands/Loadcamera.md rename to docs/SetText/Individual commands/Loadcamera.md diff --git a/SetText/Individual commands/Loadmap.md b/docs/SetText/Individual commands/Loadmap.md similarity index 100% rename from SetText/Individual commands/Loadmap.md rename to docs/SetText/Individual commands/Loadmap.md diff --git a/SetText/Individual commands/Lock.md b/docs/SetText/Individual commands/Lock.md similarity index 100% rename from SetText/Individual commands/Lock.md rename to docs/SetText/Individual commands/Lock.md diff --git a/SetText/Individual commands/Lockbacktrack.md b/docs/SetText/Individual commands/Lockbacktrack.md similarity index 100% rename from SetText/Individual commands/Lockbacktrack.md rename to docs/SetText/Individual commands/Lockbacktrack.md diff --git a/SetText/Individual commands/Lockmovement.md b/docs/SetText/Individual commands/Lockmovement.md similarity index 100% rename from SetText/Individual commands/Lockmovement.md rename to docs/SetText/Individual commands/Lockmovement.md diff --git a/SetText/Individual commands/Lore.md b/docs/SetText/Individual commands/Lore.md similarity index 100% rename from SetText/Individual commands/Lore.md rename to docs/SetText/Individual commands/Lore.md diff --git a/SetText/Individual commands/Mapflag.md b/docs/SetText/Individual commands/Mapflag.md similarity index 100% rename from SetText/Individual commands/Mapflag.md rename to docs/SetText/Individual commands/Mapflag.md diff --git a/SetText/Individual commands/Mapsize.md b/docs/SetText/Individual commands/Mapsize.md similarity index 100% rename from SetText/Individual commands/Mapsize.md rename to docs/SetText/Individual commands/Mapsize.md diff --git a/SetText/Individual commands/Maxmedals.md b/docs/SetText/Individual commands/Maxmedals.md similarity index 100% rename from SetText/Individual commands/Maxmedals.md rename to docs/SetText/Individual commands/Maxmedals.md diff --git a/SetText/Individual commands/Medaltotal.md b/docs/SetText/Individual commands/Medaltotal.md similarity index 100% rename from SetText/Individual commands/Medaltotal.md rename to docs/SetText/Individual commands/Medaltotal.md diff --git a/SetText/Individual commands/Menu.md b/docs/SetText/Individual commands/Menu.md similarity index 100% rename from SetText/Individual commands/Menu.md rename to docs/SetText/Individual commands/Menu.md diff --git a/SetText/Individual commands/Minibubble.md b/docs/SetText/Individual commands/Minibubble.md similarity index 100% rename from SetText/Individual commands/Minibubble.md rename to docs/SetText/Individual commands/Minibubble.md diff --git a/SetText/Individual commands/Money.md b/docs/SetText/Individual commands/Money.md similarity index 100% rename from SetText/Individual commands/Money.md rename to docs/SetText/Individual commands/Money.md diff --git a/SetText/Individual commands/Mothfly.md b/docs/SetText/Individual commands/Mothfly.md similarity index 100% rename from SetText/Individual commands/Mothfly.md rename to docs/SetText/Individual commands/Mothfly.md diff --git a/SetText/Individual commands/Move.md b/docs/SetText/Individual commands/Move.md similarity index 100% rename from SetText/Individual commands/Move.md rename to docs/SetText/Individual commands/Move.md diff --git a/SetText/Individual commands/Moveahead.md b/docs/SetText/Individual commands/Moveahead.md similarity index 100% rename from SetText/Individual commands/Moveahead.md rename to docs/SetText/Individual commands/Moveahead.md diff --git a/SetText/Individual commands/Movewait.md b/docs/SetText/Individual commands/Movewait.md similarity index 100% rename from SetText/Individual commands/Movewait.md rename to docs/SetText/Individual commands/Movewait.md diff --git a/SetText/Individual commands/Music.md b/docs/SetText/Individual commands/Music.md similarity index 100% rename from SetText/Individual commands/Music.md rename to docs/SetText/Individual commands/Music.md diff --git a/SetText/Individual commands/Next.md b/docs/SetText/Individual commands/Next.md similarity index 100% rename from SetText/Individual commands/Next.md rename to docs/SetText/Individual commands/Next.md diff --git a/SetText/Individual commands/Noskip.md b/docs/SetText/Individual commands/Noskip.md similarity index 100% rename from SetText/Individual commands/Noskip.md rename to docs/SetText/Individual commands/Noskip.md diff --git a/SetText/Individual commands/NumberPrompt.md b/docs/SetText/Individual commands/NumberPrompt.md similarity index 98% rename from SetText/Individual commands/NumberPrompt.md rename to docs/SetText/Individual commands/NumberPrompt.md index dc714d4..1974e5f 100644 --- a/SetText/Individual commands/NumberPrompt.md +++ b/docs/SetText/Individual commands/NumberPrompt.md @@ -76,7 +76,7 @@ To render each 12 options (the 10 digits, Confirm and Erase), the following is d * Render the options such that for each options: * Have each text be |[choicewave](Choicewave.md),n,true| where n is the option index from 0 to 11. This is prepanded with menutext 42 (`Confirm`) for option 10 and menutext 74 (`Erase`) for option 11. Option 0-9 are the digits. * Call [SetText](../SetText.md) in [non Dialogue mode](../Dialogue%20mode.md#non-dialoguie-mode) using the text prepanded with |[center](Center.md)\|: - * [fonttype](../fonttype.md) is `BubblegumSans` + * [fonttype](../Notable%20states.md#fonttype) is `BubblegumSans` * no `linebreak` * no `tridimensional` * `position` is (x, y, 0.0) where x and y are the current value of the option's positions. @@ -91,7 +91,7 @@ To render each 12 options (the 10 digits, Confirm and Erase), the following is d * Set x to 1.5 After the initial setup, the first refresh of the number prompt is performed. This will destroy the text in `npromptholder` and rerender using the one in [flagstring](../../Flags%20arrays/flagstring.md) 0 which will get updated periodically as digits are added in removed during the prompt handling. This also sets [flagvar](../../Flags%20arrays/flagvar.md) 4 to 0. As for the rendering of the number text itself, it is done via a SetText call in non [Dialogue mode](../Dialogue%20mode.md) with the text padded to the right with `_` to fit into `maxlength` prepended with |[center](Center.md)\|: -- [fonttype](../Notable%20states.md#fonttype.md) is `BubblegumSans` +- [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) is `BubblegumSans` - no `linebreak` - no `tridimensional` - `position` is Vector3.zero. diff --git a/SetText/Individual commands/Openpause.md b/docs/SetText/Individual commands/Openpause.md similarity index 100% rename from SetText/Individual commands/Openpause.md rename to docs/SetText/Individual commands/Openpause.md diff --git a/SetText/Individual commands/Optiontovar.md b/docs/SetText/Individual commands/Optiontovar.md similarity index 100% rename from SetText/Individual commands/Optiontovar.md rename to docs/SetText/Individual commands/Optiontovar.md diff --git a/SetText/Individual commands/Overfollower.md b/docs/SetText/Individual commands/Overfollower.md similarity index 100% rename from SetText/Individual commands/Overfollower.md rename to docs/SetText/Individual commands/Overfollower.md diff --git a/SetText/Individual commands/Parent.md b/docs/SetText/Individual commands/Parent.md similarity index 100% rename from SetText/Individual commands/Parent.md rename to docs/SetText/Individual commands/Parent.md diff --git a/SetText/Individual commands/Particle.md b/docs/SetText/Individual commands/Particle.md similarity index 100% rename from SetText/Individual commands/Particle.md rename to docs/SetText/Individual commands/Particle.md diff --git a/SetText/Individual commands/PartyGame.md b/docs/SetText/Individual commands/PartyGame.md similarity index 100% rename from SetText/Individual commands/PartyGame.md rename to docs/SetText/Individual commands/PartyGame.md diff --git a/SetText/Individual commands/Pauseline.md b/docs/SetText/Individual commands/Pauseline.md similarity index 100% rename from SetText/Individual commands/Pauseline.md rename to docs/SetText/Individual commands/Pauseline.md diff --git a/SetText/Individual commands/Pausesize.md b/docs/SetText/Individual commands/Pausesize.md similarity index 100% rename from SetText/Individual commands/Pausesize.md rename to docs/SetText/Individual commands/Pausesize.md diff --git a/SetText/Individual commands/Pickitem.md b/docs/SetText/Individual commands/Pickitem.md similarity index 100% rename from SetText/Individual commands/Pickitem.md rename to docs/SetText/Individual commands/Pickitem.md diff --git a/SetText/Individual commands/Position.md b/docs/SetText/Individual commands/Position.md similarity index 100% rename from SetText/Individual commands/Position.md rename to docs/SetText/Individual commands/Position.md diff --git a/SetText/Individual commands/Prompt.md b/docs/SetText/Individual commands/Prompt.md similarity index 99% rename from SetText/Individual commands/Prompt.md rename to docs/SetText/Individual commands/Prompt.md index 1733489..1bbdb93 100644 --- a/SetText/Individual commands/Prompt.md +++ b/docs/SetText/Individual commands/Prompt.md @@ -77,7 +77,7 @@ While this command manages the creation and setup of the prompt, its handling is * `promptbox`: The 9box containing the prompt, created during processing using `xminsizeyoffset` and the texts obtained from `prompttexts` using separate SetText calls for each in [non Dialogue mode](../Dialogue%20mode.md#non-dialogue-mode). These calls are done with the following parameters: * The input string is the text value appended with |[choicewave](Choicewave.md),o| where o is the corresponding option index. - * [fonttype](../Notable%20states.md#fonttype.md) is `BubblegumSans` + * [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) is `BubblegumSans` * No `linebreak` * No `tridimensional` * `position` is (0.0 - `xminsize` - 0.1, `yoffset`, 0.0) diff --git a/SetText/Individual commands/Quarterline.md b/docs/SetText/Individual commands/Quarterline.md similarity index 100% rename from SetText/Individual commands/Quarterline.md rename to docs/SetText/Individual commands/Quarterline.md diff --git a/SetText/Individual commands/Questbreak.md b/docs/SetText/Individual commands/Questbreak.md similarity index 100% rename from SetText/Individual commands/Questbreak.md rename to docs/SetText/Individual commands/Questbreak.md diff --git a/SetText/Individual commands/Questprompt.md b/docs/SetText/Individual commands/Questprompt.md similarity index 100% rename from SetText/Individual commands/Questprompt.md rename to docs/SetText/Individual commands/Questprompt.md diff --git a/SetText/Individual commands/Questsize.md b/docs/SetText/Individual commands/Questsize.md similarity index 100% rename from SetText/Individual commands/Questsize.md rename to docs/SetText/Individual commands/Questsize.md diff --git a/SetText/Individual commands/Rainbow.md b/docs/SetText/Individual commands/Rainbow.md similarity index 100% rename from SetText/Individual commands/Rainbow.md rename to docs/SetText/Individual commands/Rainbow.md diff --git a/SetText/Individual commands/Regionalflag.md b/docs/SetText/Individual commands/Regionalflag.md similarity index 100% rename from SetText/Individual commands/Regionalflag.md rename to docs/SetText/Individual commands/Regionalflag.md diff --git a/SetText/Individual commands/Removebadgeshop.md b/docs/SetText/Individual commands/Removebadgeshop.md similarity index 100% rename from SetText/Individual commands/Removebadgeshop.md rename to docs/SetText/Individual commands/Removebadgeshop.md diff --git a/SetText/Individual commands/Removefollower.md b/docs/SetText/Individual commands/Removefollower.md similarity index 100% rename from SetText/Individual commands/Removefollower.md rename to docs/SetText/Individual commands/Removefollower.md diff --git a/SetText/Individual commands/Removeitem.md b/docs/SetText/Individual commands/Removeitem.md similarity index 100% rename from SetText/Individual commands/Removeitem.md rename to docs/SetText/Individual commands/Removeitem.md diff --git a/SetText/Individual commands/Removeitemat.md b/docs/SetText/Individual commands/Removeitemat.md similarity index 100% rename from SetText/Individual commands/Removeitemat.md rename to docs/SetText/Individual commands/Removeitemat.md diff --git a/SetText/Individual commands/Removemaplimits.md b/docs/SetText/Individual commands/Removemaplimits.md similarity index 100% rename from SetText/Individual commands/Removemaplimits.md rename to docs/SetText/Individual commands/Removemaplimits.md diff --git a/SetText/Individual commands/Removestat.md b/docs/SetText/Individual commands/Removestat.md similarity index 95% rename from SetText/Individual commands/Removestat.md rename to docs/SetText/Individual commands/Removestat.md index 15b293e..866a08d 100644 --- a/SetText/Individual commands/Removestat.md +++ b/docs/SetText/Individual commands/Removestat.md @@ -28,7 +28,7 @@ This parameter indicates to operate in syntax (2) which will also recalculate th ## Remarks -For more information about how stat bonuses work and how they are saved on the [Save File](../../External%20data%20format/Save%20File.md), check [Save File > Line 10 (Array line) Stats bonuses](../../Save%20File.md#line-10-array-line-stats-bonuses). +For more information about how stat bonuses work and how they are saved on the [Save File](../../External%20data%20format/Save%20File.md), check [Save File > Line 10 (Array line) Stats bonuses](../../External%20data%20format/Save%20File.md#line-10-array-line-stats-bonuses). Syntax (2) is recommended over syntax (1) because it allows the removal to take immediate effect while syntax (1) will need to wait the next recalculation to take the removal into effect. diff --git a/SetText/Individual commands/Rerollshops.md b/docs/SetText/Individual commands/Rerollshops.md similarity index 100% rename from SetText/Individual commands/Rerollshops.md rename to docs/SetText/Individual commands/Rerollshops.md diff --git a/SetText/Individual commands/Resetcamera.md b/docs/SetText/Individual commands/Resetcamera.md similarity index 100% rename from SetText/Individual commands/Resetcamera.md rename to docs/SetText/Individual commands/Resetcamera.md diff --git a/SetText/Individual commands/Resetmaplimits.md b/docs/SetText/Individual commands/Resetmaplimits.md similarity index 100% rename from SetText/Individual commands/Resetmaplimits.md rename to docs/SetText/Individual commands/Resetmaplimits.md diff --git a/SetText/Individual commands/Resetregion.md b/docs/SetText/Individual commands/Resetregion.md similarity index 100% rename from SetText/Individual commands/Resetregion.md rename to docs/SetText/Individual commands/Resetregion.md diff --git a/SetText/Individual commands/Save.md b/docs/SetText/Individual commands/Save.md similarity index 100% rename from SetText/Individual commands/Save.md rename to docs/SetText/Individual commands/Save.md diff --git a/SetText/Individual commands/Savecamera.md b/docs/SetText/Individual commands/Savecamera.md similarity index 100% rename from SetText/Individual commands/Savecamera.md rename to docs/SetText/Individual commands/Savecamera.md diff --git a/SetText/Individual commands/Scorecheck.md b/docs/SetText/Individual commands/Scorecheck.md similarity index 92% rename from SetText/Individual commands/Scorecheck.md rename to docs/SetText/Individual commands/Scorecheck.md index b0cc4e2..b0aaf35 100644 --- a/SetText/Individual commands/Scorecheck.md +++ b/docs/SetText/Individual commands/Scorecheck.md @@ -23,7 +23,7 @@ This command will do the following: * Set the render texture of the camera with down sampling of 80%. * Setup a solid color object named `score` whose color is 75% between white and black at 0.01 pixels per unit positioned at (0.0, 70.0, 0.0) with the pivot set at the center (0.5, 0.5). * Call SetText in [non Dialogue mode](../Dialogue%20mode.md#non-dialogue-mode) where the input string is |[center](Center.md)\||[color](Color.md),4||[dropshadow](Dropshadow.md),0.1,-0.1||[textangle](Textangle.md)\| followed by menu text 237 (|[rainbow](Rainbow.md)\|!! HIGH SCORES !!) where the parent is `score`: - * [fonttype](../fonttype.md) is `D3Streetism` + * [fonttype](../Notable%20states.md#fonttype) is `D3Streetism` * Rendered using `tridimensional` at true * `position` is (0.0, 4.8, 0.0) * `camoffset` is Vector3.one @@ -33,7 +33,7 @@ This command will do the following: * Start a fade back to the game and yield for one second * Render each game score like the following: * Call SetText in [non Dialogue mode](../Dialogue%20mode.md#non-dialogue-mode) where the input string is |[center](Center.md)\||[color](Color.md),4||[dropshadow](Dropshadow.md),0.1,-0.1||[textangle](Textangle.md)\| followed by |[center](Center.md)\| followed by menu text 210 for Flower Journey and 211 for Mite Knight (it contains the name of the game) where the parent is `score`: - * [fonttype](../Notable%20states.md#fonttype.md) is `D3Streetism` + * [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) is `D3Streetism` * Rendered using `tridimensional` at true * `position` is (-7.0, `y`, -3.0) where `y` is 2.0 for Flowey Journey and 0.35 for Mite Knight * `camoffset` is Vector3.one @@ -41,7 +41,7 @@ This command will do the following: * No `caller` * Yield for 0.5 seconds. * Call SetText in [non Dialogue mode](../Dialogue%20mode.md#non-dialogue-mode) where the input string is |[center](Center.md)\||[color](Color.md),4||[dropshadow](Dropshadow.md),0.1,-0.1||[textangle](Textangle.md)\| followed by |[center](Center.md)\| followed by the string representation of [flagvar](../../Flags%20arrays/flagvar.md) 28 for Flower Journey or 29 for Mite Knight padded by 5 to the left with `0` (each contains the high score of the game) where the parent is `score`: - * [fonttype](../Notable%20states.md#fonttype.md) is `D3Streetism` + * [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) is `D3Streetism` * Rendered using `tridimensional` at true * `position` is (4.0, `y`, -3.0) where `y` is 2.0 for Flowey Journey and 0.35 for Mite Knight * `camoffset` is Vector3.one @@ -49,7 +49,7 @@ This command will do the following: * No `caller` * Yield for 0.5 seconds. * Call SetText in non [Dialogue mode](../Dialogue%20mode.md) where the input string is |[center](Center.md)\||[color](Color.md),4||[dropshadow](Dropshadow.md),0.1,-0.1||[textangle](Textangle.md)\| followed by menu text 238 (Press |[button](Button.md),4| or |[button](Button.md),5| to exit.) where the parent is the unnamed GameObject created earlier: - * [fonttype](../Notable%20states.md#fonttype.md) is `D3Streetism` + * [fonttype](../Notable%20states.md#Notable%20states.md#fonttype) is `D3Streetism` * Rendered using `tridimensional` at true * `position` is (0.0, 0.0, -3.0) * `camoffset` is Vector3.one diff --git a/SetText/Individual commands/Setbreak.md b/docs/SetText/Individual commands/Setbreak.md similarity index 100% rename from SetText/Individual commands/Setbreak.md rename to docs/SetText/Individual commands/Setbreak.md diff --git a/SetText/Individual commands/Setprize.md b/docs/SetText/Individual commands/Setprize.md similarity index 100% rename from SetText/Individual commands/Setprize.md rename to docs/SetText/Individual commands/Setprize.md diff --git a/SetText/Individual commands/Setvar.md b/docs/SetText/Individual commands/Setvar.md similarity index 100% rename from SetText/Individual commands/Setvar.md rename to docs/SetText/Individual commands/Setvar.md diff --git a/SetText/Individual commands/Shakecamera.md b/docs/SetText/Individual commands/Shakecamera.md similarity index 100% rename from SetText/Individual commands/Shakecamera.md rename to docs/SetText/Individual commands/Shakecamera.md diff --git a/SetText/Individual commands/Shaky.md b/docs/SetText/Individual commands/Shaky.md similarity index 100% rename from SetText/Individual commands/Shaky.md rename to docs/SetText/Individual commands/Shaky.md diff --git a/SetText/Individual commands/Shopline.md b/docs/SetText/Individual commands/Shopline.md similarity index 100% rename from SetText/Individual commands/Shopline.md rename to docs/SetText/Individual commands/Shopline.md diff --git a/SetText/Individual commands/Shoppool.md b/docs/SetText/Individual commands/Shoppool.md similarity index 100% rename from SetText/Individual commands/Shoppool.md rename to docs/SetText/Individual commands/Shoppool.md diff --git a/SetText/Individual commands/Showmoney.md b/docs/SetText/Individual commands/Showmoney.md similarity index 100% rename from SetText/Individual commands/Showmoney.md rename to docs/SetText/Individual commands/Showmoney.md diff --git a/SetText/Individual commands/Showtokens.md b/docs/SetText/Individual commands/Showtokens.md similarity index 96% rename from SetText/Individual commands/Showtokens.md rename to docs/SetText/Individual commands/Showtokens.md index 084d4ea..099afbd 100644 --- a/SetText/Individual commands/Showtokens.md +++ b/docs/SetText/Individual commands/Showtokens.md @@ -30,7 +30,7 @@ The HUD element is creating with a new UI object named `TokenBar` parented to th The counter is rendered using a SetText call where the object created earlier is the parent in [non Dialogue mode](../Dialogue%20mode.md#non-dialogue-mode) with the input string being |[sort](Sort.md),10||[color](Color.md),4||[dropshadow](Dropshadow.md),0.1,-0.1|" appended with the value of [flagvar](../../Flags%20arrays/flagvar.md) 27 padded with to 4 characters with 0s: -* [fonttype](../Notable%20states.md#fonttype.md): UNUSED ??? +* [fonttype](../Notable%20states.md#Notable%20states.md#fonttype): UNUSED ??? * No `linebreak` * No `tridimensional` * `position` of (-0.75, -0.4, 0.0) diff --git a/SetText/Individual commands/Single.md b/docs/SetText/Individual commands/Single.md similarity index 100% rename from SetText/Individual commands/Single.md rename to docs/SetText/Individual commands/Single.md diff --git a/SetText/Individual commands/Singlebreak.md b/docs/SetText/Individual commands/Singlebreak.md similarity index 100% rename from SetText/Individual commands/Singlebreak.md rename to docs/SetText/Individual commands/Singlebreak.md diff --git a/SetText/Individual commands/Sizemulti.md b/docs/SetText/Individual commands/Sizemulti.md similarity index 100% rename from SetText/Individual commands/Sizemulti.md rename to docs/SetText/Individual commands/Sizemulti.md diff --git a/SetText/Individual commands/Sort.md b/docs/SetText/Individual commands/Sort.md similarity index 100% rename from SetText/Individual commands/Sort.md rename to docs/SetText/Individual commands/Sort.md diff --git a/SetText/Individual commands/Sound.md b/docs/SetText/Individual commands/Sound.md similarity index 100% rename from SetText/Individual commands/Sound.md rename to docs/SetText/Individual commands/Sound.md diff --git a/SetText/Individual commands/Spd.md b/docs/SetText/Individual commands/Spd.md similarity index 100% rename from SetText/Individual commands/Spd.md rename to docs/SetText/Individual commands/Spd.md diff --git a/SetText/Individual commands/Speed.md b/docs/SetText/Individual commands/Speed.md similarity index 100% rename from SetText/Individual commands/Speed.md rename to docs/SetText/Individual commands/Speed.md diff --git a/SetText/Individual commands/Sstring.md b/docs/SetText/Individual commands/Sstring.md similarity index 100% rename from SetText/Individual commands/Sstring.md rename to docs/SetText/Individual commands/Sstring.md diff --git a/SetText/Individual commands/Stars.md b/docs/SetText/Individual commands/Stars.md similarity index 100% rename from SetText/Individual commands/Stars.md rename to docs/SetText/Individual commands/Stars.md diff --git a/SetText/Individual commands/Stopskip.md b/docs/SetText/Individual commands/Stopskip.md similarity index 100% rename from SetText/Individual commands/Stopskip.md rename to docs/SetText/Individual commands/Stopskip.md diff --git a/SetText/Individual commands/String.md b/docs/SetText/Individual commands/String.md similarity index 100% rename from SetText/Individual commands/String.md rename to docs/SetText/Individual commands/String.md diff --git a/SetText/Individual commands/Switch.md b/docs/SetText/Individual commands/Switch.md similarity index 100% rename from SetText/Individual commands/Switch.md rename to docs/SetText/Individual commands/Switch.md diff --git a/SetText/Individual commands/Tab.md b/docs/SetText/Individual commands/Tab.md similarity index 100% rename from SetText/Individual commands/Tab.md rename to docs/SetText/Individual commands/Tab.md diff --git a/SetText/Individual commands/Tail.md b/docs/SetText/Individual commands/Tail.md similarity index 100% rename from SetText/Individual commands/Tail.md rename to docs/SetText/Individual commands/Tail.md diff --git a/SetText/Individual commands/Tailextra.md b/docs/SetText/Individual commands/Tailextra.md similarity index 100% rename from SetText/Individual commands/Tailextra.md rename to docs/SetText/Individual commands/Tailextra.md diff --git a/SetText/Individual commands/Takeopenquests.md b/docs/SetText/Individual commands/Takeopenquests.md similarity index 100% rename from SetText/Individual commands/Takeopenquests.md rename to docs/SetText/Individual commands/Takeopenquests.md diff --git a/SetText/Individual commands/Teleportparty.md b/docs/SetText/Individual commands/Teleportparty.md similarity index 100% rename from SetText/Individual commands/Teleportparty.md rename to docs/SetText/Individual commands/Teleportparty.md diff --git a/SetText/Individual commands/Termacadecheck.md b/docs/SetText/Individual commands/Termacadecheck.md similarity index 100% rename from SetText/Individual commands/Termacadecheck.md rename to docs/SetText/Individual commands/Termacadecheck.md diff --git a/SetText/Individual commands/Testdiag.md b/docs/SetText/Individual commands/Testdiag.md similarity index 100% rename from SetText/Individual commands/Testdiag.md rename to docs/SetText/Individual commands/Testdiag.md diff --git a/SetText/Individual commands/Textangle.md b/docs/SetText/Individual commands/Textangle.md similarity index 100% rename from SetText/Individual commands/Textangle.md rename to docs/SetText/Individual commands/Textangle.md diff --git a/SetText/Individual commands/Transfer.md b/docs/SetText/Individual commands/Transfer.md similarity index 100% rename from SetText/Individual commands/Transfer.md rename to docs/SetText/Individual commands/Transfer.md diff --git a/SetText/Individual commands/Transitionsort.md b/docs/SetText/Individual commands/Transitionsort.md similarity index 100% rename from SetText/Individual commands/Transitionsort.md rename to docs/SetText/Individual commands/Transitionsort.md diff --git a/SetText/Individual commands/Triui.md b/docs/SetText/Individual commands/Triui.md similarity index 100% rename from SetText/Individual commands/Triui.md rename to docs/SetText/Individual commands/Triui.md diff --git a/SetText/Individual commands/Unpauseline.md b/docs/SetText/Individual commands/Unpauseline.md similarity index 100% rename from SetText/Individual commands/Unpauseline.md rename to docs/SetText/Individual commands/Unpauseline.md diff --git a/SetText/Individual commands/Unpausesize.md b/docs/SetText/Individual commands/Unpausesize.md similarity index 100% rename from SetText/Individual commands/Unpausesize.md rename to docs/SetText/Individual commands/Unpausesize.md diff --git a/SetText/Individual commands/Updateanim.md b/docs/SetText/Individual commands/Updateanim.md similarity index 100% rename from SetText/Individual commands/Updateanim.md rename to docs/SetText/Individual commands/Updateanim.md diff --git a/SetText/Individual commands/Var.md b/docs/SetText/Individual commands/Var.md similarity index 100% rename from SetText/Individual commands/Var.md rename to docs/SetText/Individual commands/Var.md diff --git a/SetText/Individual commands/Wait.md b/docs/SetText/Individual commands/Wait.md similarity index 100% rename from SetText/Individual commands/Wait.md rename to docs/SetText/Individual commands/Wait.md diff --git a/SetText/Individual commands/Waitcn.md b/docs/SetText/Individual commands/Waitcn.md similarity index 100% rename from SetText/Individual commands/Waitcn.md rename to docs/SetText/Individual commands/Waitcn.md diff --git a/SetText/Individual commands/Waitminibubble.md b/docs/SetText/Individual commands/Waitminibubble.md similarity index 100% rename from SetText/Individual commands/Waitminibubble.md rename to docs/SetText/Individual commands/Waitminibubble.md diff --git a/SetText/Individual commands/Warp.md b/docs/SetText/Individual commands/Warp.md similarity index 100% rename from SetText/Individual commands/Warp.md rename to docs/SetText/Individual commands/Warp.md diff --git a/SetText/Individual commands/Wavy.md b/docs/SetText/Individual commands/Wavy.md similarity index 100% rename from SetText/Individual commands/Wavy.md rename to docs/SetText/Individual commands/Wavy.md diff --git a/SetText/Individual commands/size.md b/docs/SetText/Individual commands/size.md similarity index 100% rename from SetText/Individual commands/size.md rename to docs/SetText/Individual commands/size.md diff --git a/SetText/Letter Rendering Methods/Regular Letter Rendering.md b/docs/SetText/Letter Rendering Methods/Regular Letter Rendering.md similarity index 100% rename from SetText/Letter Rendering Methods/Regular Letter Rendering.md rename to docs/SetText/Letter Rendering Methods/Regular Letter Rendering.md diff --git a/SetText/Letter Rendering Methods/Single Letter Rendering.md b/docs/SetText/Letter Rendering Methods/Single Letter Rendering.md similarity index 85% rename from SetText/Letter Rendering Methods/Single Letter Rendering.md rename to docs/SetText/Letter Rendering Methods/Single Letter Rendering.md index 5763627..6873d78 100644 --- a/SetText/Letter Rendering Methods/Single Letter Rendering.md +++ b/docs/SetText/Letter Rendering Methods/Single Letter Rendering.md @@ -4,9 +4,9 @@ This letter rendering method is disabled by default, but it can be opted in usin It was introduced relatively late in development to counter [Regular Letter Rendering](Regular%20Letter%20Rendering.md)'s main problem: inefficiency. Instead of taking one letter slot per letter, single letter rendering takes one letter slot per line. This significantly reduces the amount of letter slot taken which has shown to increase performances. It also allows to render more letters on screen at once. -This comes at a huge cost: compatibility. Because the entire letter slot is a whole line, not all features like font effects and other rendering [Commands](../Commands/Commands.md) work correctly as they weren't all made to support this rendering method. As a result, some features still aren't using this rendering method mostly because it uses an incompatible feature. +This comes at a huge cost: compatibility. Because the entire letter slot is a whole line, not all features like font effects and other rendering [Commands](../Commands.md) work correctly as they weren't all made to support this rendering method. As a result, some features still aren't using this rendering method mostly because it uses an incompatible feature. -Notably, lacking features are [bleep](../Individual%20commands/Bleep.md) playing, [backtracking](../Related%20Systems/Backtracking.md) accumulation, [triui](../Individual%20commands/Triui.md), `tridimensional`, any [FontEffects](../Related%20Systems/FontEffects.md), yield on letters and others [Commands](../Commands/Commands.md) involving sprite rendering does not work correctly such as [icon](../Individual%20commands/Icon.md), [button](../Individual%20commands/Button.md) and [stars](../Individual%20commands/Stars.md). +Notably, lacking features are [bleep](../Individual%20commands/Bleep.md) playing, [backtracking](../Related%20Systems/Backtracking.md) accumulation, [triui](../Individual%20commands/Triui.md), `tridimensional`, any [FontEffects](../Related%20Systems/FontEffects.md), yield on letters and others [Commands](../Commands.md) involving sprite rendering does not work correctly such as [icon](../Individual%20commands/Icon.md), [button](../Individual%20commands/Button.md) and [stars](../Individual%20commands/Stars.md). The performance gain is however still significant to use it when it is possible such as in UI text which was why it was introduced in the first place. The kerning turns out to be very close to [Regular Letter Rendering](Regular%20Letter%20Rendering.md) which means the text appearance doesn't change much, but spaces aren't physical gaps anymore which means they visually are narrower diff --git a/SetText/Life Cycle.md b/docs/SetText/Life Cycle.md similarity index 89% rename from SetText/Life Cycle.md rename to docs/SetText/Life Cycle.md index 99c5ea8..6328ab5 100644 --- a/SetText/Life Cycle.md +++ b/docs/SetText/Life Cycle.md @@ -2,7 +2,7 @@ This will describe at a high level the full processing steps of [SetText](SetTex ## Setup -This phase happens at the start of every call. It mainly initialises [Commands](Commands/Commands.md) specific temporary values and saves some fields that can change during the course of this call for restore later in the cleanup phase. It also perform universal initialization logic such as setting up defaults values. +This phase happens at the start of every call. It mainly initialises [Commands](Commands.md) specific temporary values and saves some fields that can change during the course of this call for restore later in the cleanup phase. It also perform universal initialization logic such as setting up defaults values. Here are the values saved for restoring them in cleanup: @@ -70,7 +70,7 @@ Before going to the char loop, this will yield until the `switchcooldown` expire ## Char loop -The char loop is the heart of SetText. It's a for loop on each char of the input string. It is not a linear loop however: [Commands](Commands/Commands.md) have the ability to not only reprocess the same index when the command's text is replaced and resume from there, but it is also possible to replace the entire input string and resume processing at the start of it. That action action is known as a redirect. It is up to the command to decide what to signal the char loop which will be taken into account on the next iteration. +The char loop is the heart of SetText. It's a for loop on each char of the input string. It is not a linear loop however: [Commands](Commands.md) have the ability to not only reprocess the same index when the command's text is replaced and resume from there, but it is also possible to replace the entire input string and resume processing at the start of it. That action action is known as a redirect. It is up to the command to decide what to signal the char loop which will be taken into account on the next iteration. ### Dialogue preprocessing @@ -86,9 +86,9 @@ The current offset will be reset to 0.0 (the start of the line) and the current ### Vertical bar processing -This phase of the loop happens if the current char is a `|` which is the delimiter for a [Commands](Commands/Commands.md). The command is first parsed into 2 parts: its enum value (case insensitive) and its syntax string (which includes both `|`, the command's name and all its parameters split by `,`). The command text is then accumulated to the [backtracking](Related%20Systems/Backtracking.md) system if the command supports it. +This phase of the loop happens if the current char is a `|` which is the delimiter for a [Commands](Commands.md). The command is first parsed into 2 parts: its enum value (case insensitive) and its syntax string (which includes both `|`, the command's name and all its parameters split by `,`). The command text is then accumulated to the [backtracking](Related%20Systems/Backtracking.md) system if the command supports it. -Not all commands will be processed. Notably, if [ignorenext](Individual%20commands/Ignorenext.md) is active, the command will be ignored. Same goes for [testdiag](Individual%20commands/Testdiag.md) which restricts commands processing to only work in [Dialogue mode](Dialogue%20mode.md) and to commands that it supports. For the actual command's processing, check the [Commands](Commands/Commands.md) documentation to learn more about each of them. +Not all commands will be processed. Notably, if [ignorenext](Individual%20commands/Ignorenext.md) is active, the command will be ignored. Same goes for [testdiag](Individual%20commands/Testdiag.md) which restricts commands processing to only work in [Dialogue mode](Dialogue%20mode.md) and to commands that it supports. For the actual command's processing, check the [Commands](Commands.md) documentation to learn more about each of them. After the command has been processed (or ignored), this is where the next position of the char loop is managed. Normally, it increments, but if the command changes it or wish to resume at the same position, it will not be incremented. @@ -100,7 +100,7 @@ This phase of the loop happens if the current char is a ` `. The space is accumu This phase of the loop occurs for everything else that isn't a `\n`, `|`, ` ` or `\r` (the last one isn't processed in general). This is where the letter gets rendered as well as some additional logic. -The first thing it does is if we had [speed](Individual%20commands/Speed.md) set to 0 (instant text scrolling) in [Dialogue mode](Dialogue%20mode.md), am `inputcooldown` of 5 frames is applied. This enforces a wait of at least 5 frames before the next [waitinput](Global%20vars%20used/waitinput.md) can be passed even if the scrolling speed is instant. +The first thing it does is if we had [speed](Individual%20commands/Speed.md) set to 0 (instant text scrolling) in [Dialogue mode](Dialogue%20mode.md), am `inputcooldown` of 5 frames is applied. This enforces a wait of at least 5 frames before the next [waitinput](Notable%20states.md#waitinput) can be passed even if the scrolling speed is instant. Next, the [fonttype](Notable%20states.md#fonttype) is overridden again when in [Dialogue mode](Dialogue%20mode.md) and not in a [NumberPrompt](Individual%20commands/NumberPrompt.md) using a similar logic than the setup phase and the [languageid](languageid.md), but this time, this will take into consideration the font locking feature of the [font](Individual%20commands/Font.md) command. If the lock was enabled, this will not do the override: @@ -114,7 +114,7 @@ From there, the rendering of the letter occurs. There are 2 rendering methods an * If we are using single rendering * Render the letter using [Single Letter Rendering](Letter%20Rendering%20Methods/Single%20Letter%20Rendering.md) -After the render is done, if a [backbox](Commands/Individual%20commands/Backbox.md) was processed, the position of the backbox is set to (current offset / 2.0, size.y / 2.0 + 0.1, -5.0) and its scale to (current offset / 5.0 * size.x, size.y * 1.5, 1.0) +After the render is done, if a [backbox](Individual%20commands/Backbox.md) was processed, the position of the backbox is set to (current offset / 2.0, size.y / 2.0 + 0.1, -5.0) and its scale to (current offset / 5.0 * size.x, size.y * 1.5, 1.0) ### Dialogue post-processing @@ -147,7 +147,7 @@ For the ItemList handler, it only runs if `inlist` is true and `listredirect` is ##### Normal sub-handler -This sub-handler happens if `listredirect` isn't -2 or -3 (either gets handled by the other sub handler). It performs a redirect using an [OrganiseLines](Related%20Systems/Automatic%20Line%20Breaks/OrganiseLines.md) version of the dialogue line where the [Dialogue line id](Common%20id%20schemes/Dialogue%20line%20id.md) is `listredirect` prepanded with a |[blank](Individual%20commands/Blank.md)\|. From there, processing resumes at the start of this new input string. +This sub-handler happens if `listredirect` isn't -2 or -3 (either gets handled by the other sub handler). It performs a redirect using an [OrganiseLines](Related%20Systems/Automatic%20Line%20Breaks/OrganiseLines.md) version of the dialogue line where the [Dialogue line id](Common%20commands%20id%20schemes/Dialogue%20line%20id.md) is `listredirect` prepanded with a |[blank](Individual%20commands/Blank.md)\|. From there, processing resumes at the start of this new input string. ##### [additemtoss](Individual%20commands/Additemtoss.md) Special sub-handler @@ -172,7 +172,7 @@ This phase only occurs if we are in [Dialogue mode](Dialogue%20mode.md) mode. It The first thing it will do is If we are using a [transfer](Individual%20commands/Transfer.md) or a [Warp](Individual%20commands/Warp.md) command and the current caller isn't null, set the caller.interactcd to 15.0. After, it will set the [tailtarget](Notable%20states.md#tailtarget) to stop talking if it isn't null and remove the [Text advance](Related%20Systems/Text%20advance.md)'s `skiptext`. -After, it will grab the [waitinput](Global%20vars%20used/waitinput.md) lock and yield until it goes to false. One exception to this is if an [end](Individual%20commands/End.md) was processed since it serve as a bypass to this. In either case, the lock is released after as well as the [message](Notable%20states.md#message) lock. +After, it will grab the [waitinput](Notable%20states.md#waitinput) lock and yield until it goes to false. One exception to this is if an [end](Individual%20commands/End.md) was processed since it serve as a bypass to this. In either case, the lock is released after as well as the [message](Notable%20states.md#message) lock. From there, it's mostly cleaning up: @@ -199,7 +199,7 @@ The last step of this phase is If we are not in an event and battle is null, cal ## Cleanup -This phase happens at the end of every SetText call. This is where some cleanups logic are performed, but also some [Commands](Commands/Commands.md) that needs some processing done at the very end rather than during the char loop: +This phase happens at the end of every SetText call. This is where some cleanups logic are performed, but also some [Commands](Commands.md) that needs some processing done at the very end rather than during the char loop: * If we are in a [minibubble](Individual%20commands/Minibubble.md) command's inner call, the minibubble is destroyed. * A frame is yielded here. diff --git a/SetText/Notable states.md b/docs/SetText/Notable states.md similarity index 100% rename from SetText/Notable states.md rename to docs/SetText/Notable states.md diff --git a/SetText/Related Systems/Automatic Line Breaks/Organisation procedure.md b/docs/SetText/Related Systems/Automatic Line Breaks/Organisation procedure.md similarity index 100% rename from SetText/Related Systems/Automatic Line Breaks/Organisation procedure.md rename to docs/SetText/Related Systems/Automatic Line Breaks/Organisation procedure.md diff --git a/SetText/Related Systems/Automatic Line Breaks/OrganiseLines Known Issues.md b/docs/SetText/Related Systems/Automatic Line Breaks/OrganiseLines Known Issues.md similarity index 100% rename from SetText/Related Systems/Automatic Line Breaks/OrganiseLines Known Issues.md rename to docs/SetText/Related Systems/Automatic Line Breaks/OrganiseLines Known Issues.md diff --git a/SetText/Related Systems/Automatic Line Breaks/OrganiseLines.md b/docs/SetText/Related Systems/Automatic Line Breaks/OrganiseLines.md similarity index 100% rename from SetText/Related Systems/Automatic Line Breaks/OrganiseLines.md rename to docs/SetText/Related Systems/Automatic Line Breaks/OrganiseLines.md diff --git a/SetText/Related Systems/Backtracking.md b/docs/SetText/Related Systems/Backtracking.md similarity index 90% rename from SetText/Related Systems/Backtracking.md rename to docs/SetText/Related Systems/Backtracking.md index e64ba6b..04e48f2 100644 --- a/SetText/Related Systems/Backtracking.md +++ b/docs/SetText/Related Systems/Backtracking.md @@ -29,7 +29,7 @@ The storage of the textbox in `diagstring` only happens upon a [next](../Individ Additionally, `tempdiag` is reset to its starting value which is |[size](../Individual%20commands/size.md),size.x,size.y|. Every time [next](../Individual%20commands/Next.md) is processed, but before adding the textbox to `diagstring`, it will yield control to MainManager's Update by grabbing [waitinput](../Notable%20states.md#waitinput). This is where the game allows a backtracking to be initiated, but only after at least one textbox has passed. It is also possible to backtrack on the last textbox if an [end](../Individual%20commands/End.md) command has not been processed. Additionally, It is possible to disable any backtracking for happening by using the [Lockbacktrack](../Individual%20commands/Lockbacktrack.md) command. -Once a backtrack is initiated, the current line that SetText is waiting on [waitinput](../Global%20vars%20used/waitinput.md) to be released is added to `diagstring`, `currentdialogue` is decremented and `backtacking` is set to true. The reason adding the current line is done is because since it has already been processed by SetText, waitinput can only come back to false once that current line is passed during a backtrack. The only way for this to happen is if the current line is added to backtracking itself in `diagstring`. +Once a backtrack is initiated, the current line that SetText is waiting on [waitinput](../Notable%20states.md#waitinput) to be released is added to `diagstring`, `currentdialogue` is decremented and `backtacking` is set to true. The reason adding the current line is done is because since it has already been processed by SetText, waitinput can only come back to false once that current line is passed during a backtrack. The only way for this to happen is if the current line is added to backtracking itself in `diagstring`. From there, it is possible to freely go back and forth between the lines in `diagstring` which is tracked by `currentdialogue` that gets incremented and decremented accordingly. To render the text, all child of the [textbox](../Notable%20states.md#textbox) gets destroyed which blanks it and a separate SetText call is performed with the appropriate line from `diagstring`. This call is done with the string prepended with |[color](../Individual%20commands/Color.md),7| on the same textbox as the parent. This occurs in [non dialogue mode](../Dialogue%20mode.md#non-dialogue-mode) which prevents conflicts with the fields mentioned above. This all happen every time a change in the textbox is performed. diff --git a/SetText/Related Systems/FontEffects.md b/docs/SetText/Related Systems/FontEffects.md similarity index 94% rename from SetText/Related Systems/FontEffects.md rename to docs/SetText/Related Systems/FontEffects.md index dcce6b4..4aa4a4a 100644 --- a/SetText/Related Systems/FontEffects.md +++ b/docs/SetText/Related Systems/FontEffects.md @@ -4,7 +4,7 @@ Bug Fables contains a component called [FontEffects](FontEffects.md) which is me This state machine simply offers boolean fields that enables or disable the effect on the letter with the ability to receive an integer value as variant. The idea of the variant is to offset the way the effect is applied so multiple letters looks nice together. -Here are what the effects this component supports via [SetText](../SetText.md) [Commands](../Commands/Commands.md) (the field name of the FontEffects is the same than the command name in lowercase): +Here are what the effects this component supports via [SetText](../SetText.md) [Commands](../Commands.md) (the field name of the FontEffects is the same than the command name in lowercase): * [wavy](../Individual%20commands/Wavy.md): Make the mesh move in wave using oscillation functions through time. * [shaky](../Individual%20commands/Shaky.md): Make the mesh displace itself randomly in a range from its starting position every frame. diff --git a/SetText/Related Systems/GlobalCommand.md b/docs/SetText/Related Systems/GlobalCommand.md similarity index 100% rename from SetText/Related Systems/GlobalCommand.md rename to docs/SetText/Related Systems/GlobalCommand.md diff --git a/SetText/Related Systems/Text advance.md b/docs/SetText/Related Systems/Text advance.md similarity index 95% rename from SetText/Related Systems/Text advance.md rename to docs/SetText/Related Systems/Text advance.md index 59357a0..2698ca0 100644 --- a/SetText/Related Systems/Text advance.md +++ b/docs/SetText/Related Systems/Text advance.md @@ -10,10 +10,10 @@ SetText allows to skip the wait time that would normally happen at the end of th There are 2 instance fields of MainManager involved in this feature: -* `skiptext`: Tells if a text skip was requested by either pressing the confirm input or the cancel input without holding it. Initialized to false in [Dialogue setup](../Life%20Cycle.md#dialogue-setup) and overridden to false in multiple [Commands](../Commands/Commands.md) if applicable. +* `skiptext`: Tells if a text skip was requested by either pressing the confirm input or the cancel input without holding it. Initialized to false in [Dialogue setup](../Life%20Cycle.md#dialogue-setup) and overridden to false in multiple [Commands](../Commands.md) if applicable. * `isholdingskip`: Tells if the cancel input is held which implies that `skiptext` is true as this is a super set of the `skiptext`. Initialized to false in [Dialogue setup](../Life%20Cycle.md#dialogue-setup) -When `skiptext` turns to true, SetText will process every letter without yielding until some conditions happens. For example, if a [next](../Individual%20commands/Next.md) command is processed, it will force the text skip to stop before yielding for the next textbox, but there are other [commands](../Commands/Commands.md) that stops it. +When `skiptext` turns to true, SetText will process every letter without yielding until some conditions happens. For example, if a [next](../Individual%20commands/Next.md) command is processed, it will force the text skip to stop before yielding for the next textbox, but there are other [commands](../Commands.md) that stops it. `isholdingskip` on the other hand is more aggressive: it will automatically pass confirmation inputs needed to release a [waitinput](../Notable%20states.md#waitinput) lock. This allows to pass textboxes as soon as the cooldown expires which for either skipping method is set to 16 frames. What this means is in the best case scenario, holding the Cancel input will still leave 16 frames of waiting between textboxes, but it will not require mashing. diff --git a/SetText/SetText.md b/docs/SetText/SetText.md similarity index 84% rename from SetText/SetText.md rename to docs/SetText/SetText.md index b6cf778..60b8f64 100644 --- a/SetText/SetText.md +++ b/docs/SetText/SetText.md @@ -1,13 +1,13 @@ # SetText -SetText is Bug Fables's text management system. It is a combination of a text renderer, a script processor and a dialogue management system. Its name comes from the name given to its main [entry point](SetText%20Entry%20Points.md) which is a static Coroutine defined in MainManager. +SetText is Bug Fables's text management system. It is a combination of a text renderer, a script processor and a dialogue management system. Its name comes from the name given to its main [entry point](Entry%20Points.md) which is a static Coroutine defined in MainManager. Its main features are: -* Serve as the only organised method in the game to render any textual information on screen using the different [fonttype](Notable%20states.md#fonttype.md) available. +* Serve as the only organised method in the game to render any textual information on screen using the different [fonttype](Notable%20states.md#Notable%20states.md#fonttype) available. * Supports 2 distinct modes of operation: [Dialogue mode](Dialogue%20mode.md) or [non dialogue mode](Dialogue%20mode.md#non-dialogue-mode). The later is a stripped version of the former that offers the advantage of not having any limits on the amount of calls running at a given time which is ideal for UI texts. * Supports 217 different [Commands](Commands.md) offering a wide variety of features ranging from [FontEffects](Related%20Systems/FontEffects.md) and rendering to a simplified form of a turing complete scripting system. * Provides the different facilities needed to manage dialogues between entities such as a [Text advance](Related%20Systems/Text%20advance.md) system, a [Backtracking](Related%20Systems/Backtracking.md) system and the management of a [textbox](Notable%20states.md#textbox) that can optionally point to its speaker using the [tailtarget](Notable%20states.md#tailtarget). * Include an automatic line breaker called [OrganiseLines](Related%20Systems/Automatic%20Line%20Breaks/OrganiseLines.md) (with some caveats, see [OrganiseLines Known Issues](Related%20Systems/Automatic%20Line%20Breaks/OrganiseLines%20Known%20Issues.md)). -For a more detailed understanding of the inner workings, see [SetText Life Cycle](SetText%20Life%20Cycle.md) and for using it, see [SetText Entry Points](SetText%20Entry%20Points.md) and [Commands](Commands/Commands.md). +For a more detailed understanding of the inner workings, see [SetText Life Cycle](Life%20Cycle.md) and for using it, see [SetText Entry Points](Entry%20Points.md) and [Commands](Commands.md). diff --git a/SetText/languageid.md b/docs/SetText/languageid.md similarity index 100% rename from SetText/languageid.md rename to docs/SetText/languageid.md diff --git a/TextAsset Data/BoardQuests data.md b/docs/TextAsset Data/BoardQuests data.md similarity index 100% rename from TextAsset Data/BoardQuests data.md rename to docs/TextAsset Data/BoardQuests data.md diff --git a/TextAsset Data/Cave Of Trials data.md b/docs/TextAsset Data/Cave Of Trials data.md similarity index 73% rename from TextAsset Data/Cave Of Trials data.md rename to docs/TextAsset Data/Cave Of Trials data.md index a1df991..85994d2 100644 --- a/TextAsset Data/Cave Of Trials data.md +++ b/docs/TextAsset Data/Cave Of Trials data.md @@ -1,6 +1,6 @@ # Cave Of Trials data -The game contains a TextAsset located at `Ressources/data/Trials` from the root of the assets tree that contains data about Cave of Trials. It is only loaded during the course of [Event](../SetText/Commands/Individual%20commands/Event.md) 156 (Cave of Trials event) to gather the enemies ids used to start the battle for each round using StartBattle directly. +The game contains a TextAsset located at `Ressources/data/Trials` from the root of the assets tree that contains data about Cave of Trials. It is only loaded during the course of [Event](../SetText/Individual%20commands/Event.md) 156 (Cave of Trials event) to gather the enemies ids used to start the battle for each round using StartBattle directly. The asset contains a list of battles of a standard run in order, one for each line. Each lines contains one field: @@ -10,7 +10,7 @@ The asset contains a list of battles of a standard run in order, one for each li ## About the amount of fights -Interestingly, while the handling of this data is meant to function regardless of the number of lines in the asset, it is not meant to go above 50. This is because while the game doesn't specifically limit the number of battles to 50, the rewards [Giveitem](../SetText/Commands/Individual%20commands/Giveitem.md)'s `itemid` array, their corresponding [flags](../Flags%20arrays/flags.md) slot and their corresponding [Giveitem](../SetText/Commands/Individual%20commands/Giveitem.md)'s `type` are hardcoded to each contain 5 elements and are only given every 10 fights (called a fight block in the section below). Going beyond that would cause an exception to be thrown because there are no 6th element in each of the array. +Interestingly, while the handling of this data is meant to function regardless of the number of lines in the asset, it is not meant to go above 50. This is because while the game doesn't specifically limit the number of battles to 50, the rewards [Giveitem](../SetText/Individual%20commands/Giveitem.md)'s `itemid` array, their corresponding [flags](../Flags%20arrays/flags.md) slot and their corresponding [Giveitem](../SetText/Individual%20commands/Giveitem.md)'s `type` are hardcoded to each contain 5 elements and are only given every 10 fights (called a fight block in the section below). Going beyond that would cause an exception to be thrown because there are no 6th element in each of the array. It is worth noting that this is the only reason the amount of battles are limited to 50. Even the dialogue lines in the `CaveOfTrials` [Maps](../Enums%20and%20IDs/Maps.md) contains special strings (`@VAR@` and `@VAR2@`) that are replaced during the event by the appropriate number (current battle, amount of all battles in the run and amount of battles left). diff --git a/TextAsset Data/Dialogue data.md b/docs/TextAsset Data/Dialogue data.md similarity index 63% rename from TextAsset Data/Dialogue data.md rename to docs/TextAsset Data/Dialogue data.md index 6e24160..c369e82 100644 --- a/TextAsset Data/Dialogue data.md +++ b/docs/TextAsset Data/Dialogue data.md @@ -10,12 +10,12 @@ There are 2 files that are notable for containing global language specific data: ### Common dialogue lines -Some [SetText](../SetText/SetText.md) lines are shared across [Maps](../Enums%20and%20IDs/Maps.md) in the game and needs global access via the standard [Dialogue line id](../SetText/Commands/Dialogue%20line%20id.md) system. These lines are located in the `CommonDialogue` TextAsset which is loaded on boot by SetVariables into `commondialogue`. It is also possible to access a line using the [Common](../SetText/Commands/Individual%20commands/Common.md) command. +Some [SetText](../SetText/SetText.md) lines are shared across [Maps](../Enums%20and%20IDs/Maps.md) in the game and needs global access via the standard [Dialogue line id](../SetText/Common%20commands%20id%20schemes/Dialogue%20line%20id.md) system. These lines are located in the `CommonDialogue` TextAsset which is loaded on boot by SetVariables into `commondialogue`. It is also possible to access a line using the [Common](../SetText/Individual%20commands/Common.md) command. ### Menu dialogue lines -`MenuText` behaves similarly to `CommonDialogue`, but the lines cannot be resolved using a standard [Dialogue line id](../SetText/Commands/Dialogue%20line%20id.md) as each [SetText](../SetText/SetText.md) [Commands](../SetText/Commands/Commands.md) have to specifically support them. They are mainly intended for UI rendering. The asset is loaded on boot by SetVariables into `menutext`. The main way to use a line directly via a command is by using [Menu](../SetText/Commands/Individual%20commands/Menu.md). +`MenuText` behaves similarly to `CommonDialogue`, but the lines cannot be resolved using a standard [Dialogue line id](../SetText/Common%20commands%20id%20schemes/Dialogue%20line%20id.md) as each [SetText](../SetText/SetText.md) [Commands](../SetText/Commands.md) have to specifically support them. They are mainly intended for UI rendering. The asset is loaded on boot by SetVariables into `menutext`. The main way to use a line directly via a command is by using [Menu](../SetText/Individual%20commands/Menu.md). ## [Maps](../Enums%20and%20IDs/Maps.md) specific dialogue lines -The `maps` directory in each dialogue directory contains several TextAsset, each named after a [Map](../Enums%20and%20IDs/Maps.md)'s name and it contains dialogue lines specific to that map. This means that under normal operation, [SetText](../SetText/SetText.md) commands can only access the lines via the standard [Dialogue line id](../SetText/Commands/Dialogue%20line%20id.md) system if the current map matches the file the line is in. There is however a way to load a line from another map using the [GetFromMap](../SetText/Commands/Individual%20commands/GetFromMap.md) command. +The `maps` directory in each dialogue directory contains several TextAsset, each named after a [Map](../Enums%20and%20IDs/Maps.md)'s name and it contains dialogue lines specific to that map. This means that under normal operation, [SetText](../SetText/SetText.md) commands can only access the lines via the standard [Dialogue line id](../SetText/Common%20commands%20id%20schemes/Dialogue%20line%20id.md) system if the current map matches the file the line is in. There is however a way to load a line from another map using the [GetFromMap](../SetText/Individual%20commands/GetFromMap.md) command. diff --git a/TextAsset Data/Discoveries data.md b/docs/TextAsset Data/Discoveries data.md similarity index 100% rename from TextAsset Data/Discoveries data.md rename to docs/TextAsset Data/Discoveries data.md diff --git a/TextAsset Data/Enemies data.md b/docs/TextAsset Data/Enemies data.md similarity index 100% rename from TextAsset Data/Enemies data.md rename to docs/TextAsset Data/Enemies data.md diff --git a/TextAsset Data/Entity data.md b/docs/TextAsset Data/Entity data.md similarity index 99% rename from TextAsset Data/Entity data.md rename to docs/TextAsset Data/Entity data.md index bc1184a..eed099b 100644 --- a/TextAsset Data/Entity data.md +++ b/docs/TextAsset Data/Entity data.md @@ -151,7 +151,7 @@ The name of an entity can contain special strings to act as [modifiers](../Entit |191|initialheight|float|| |192|bobrange|float|| |193|bobspeed|float|| -|194|npcdata.activationflag|int|A [Flag](../SetText/Commands/Individual%20commands/Flag.md) slot used when this entity is activated| +|194|npcdata.activationflag|int|A [Flag](../SetText/Individual%20commands/Flag.md) slot used when this entity is activated| |195|npcdata.returntoheight|bool or int|Int if the length in string is 1, bool otherwise| ### NPC Types diff --git a/TextAsset Data/Fortune Teller data.md b/docs/TextAsset Data/Fortune Teller data.md similarity index 100% rename from TextAsset Data/Fortune Teller data.md rename to docs/TextAsset Data/Fortune Teller data.md diff --git a/TextAsset Data/Items data.md b/docs/TextAsset Data/Items data.md similarity index 96% rename from TextAsset Data/Items data.md rename to docs/TextAsset Data/Items data.md index 3f188d2..a6c492b 100644 --- a/TextAsset Data/Items data.md +++ b/docs/TextAsset Data/Items data.md @@ -91,7 +91,7 @@ The asset contains one line per [Item](../Enums%20and%20IDs/Items.md) whose id c |0|Name|[SetText](../SetText/SetText.md) string|The name of the item| |1|Unused description|[SetText](../SetText/SetText.md) string|An unused version of the item's description| |2|Description|[SetText](../SetText/SetText.md) string|The description of the item| -|3|Prepender|[SetText](../SetText/SetText.md) string|The prepender string used with the [Anstring](../SetText/Commands/Individual%20commands/Anstring.md) command for this item| +|3|Prepender|[SetText](../SetText/SetText.md) string|The prepender string used with the [Anstring](../SetText/Individual%20commands/Anstring.md) command for this item| The data will be loaded into `itemdata[0, id, x]` where `id` is the skill id and `x` is the loaded index. diff --git a/TextAsset Data/Lore Books data.md b/docs/TextAsset Data/Lore Books data.md similarity index 75% rename from TextAsset Data/Lore Books data.md rename to docs/TextAsset Data/Lore Books data.md index 527531a..03a2cc2 100644 --- a/TextAsset Data/Lore Books data.md +++ b/docs/TextAsset Data/Lore Books data.md @@ -1,6 +1,6 @@ # Lore Books data -The game contains a TextAsset named `LoreText` in the corresponding dialogue folder of the current [languageid](../SetText/languageid.md) and it contains information about the Lore Books. The data is loaded each time by the [Lore Book List Type](../ItemList/List%20Types%20Group%20Details/Lore%20Book%20List%20Type.md) and the [Lore](../SetText/Commands/Individual%20commands/Lore.md) command's processing. +The game contains a TextAsset named `LoreText` in the corresponding dialogue folder of the current [languageid](../SetText/languageid.md) and it contains information about the Lore Books. The data is loaded each time by the [Lore Book List Type](../ItemList/List%20Types%20Group%20Details/Lore%20Book%20List%20Type.md) and the [Lore](../SetText/Individual%20commands/Lore.md) command's processing. The asset contains the list of Lore Books, one per line, in the order they are unlocked as the player turns in Lore Books to Brooke. Each lines contains fields separated by `@`: @@ -9,4 +9,4 @@ The asset contains the list of Lore Books, one per line, in the order they are u |Title|[SetText](../SetText/SetText.md) string|The title of the book shown in the [Lore Book List Type](../ItemList/List%20Types%20Group%20Details/Lore%20Book%20List%20Type.md)| |Content|[SetText](../SetText/SetText.md) string|The content of the book's text.| -The content of the book is expected to be rendered using a [Lore](../SetText/Commands/Individual%20commands/Lore.md) command which happens through the handling of the [Lore Book List Type](../ItemList/List%20Types%20Group%20Details/Lore%20Book%20List%20Type.md). +The content of the book is expected to be rendered using a [Lore](../SetText/Individual%20commands/Lore.md) command which happens through the handling of the [Lore Book List Type](../ItemList/List%20Types%20Group%20Details/Lore%20Book%20List%20Type.md). diff --git a/TextAsset Data/Medals data.md b/docs/TextAsset Data/Medals data.md similarity index 96% rename from TextAsset Data/Medals data.md rename to docs/TextAsset Data/Medals data.md index 3ef7b80..b60c069 100644 --- a/TextAsset Data/Medals data.md +++ b/docs/TextAsset Data/Medals data.md @@ -81,7 +81,7 @@ The asset contains one line per [Medal](../Enums%20and%20IDs/Medal.md) whose id |------------:|----|----|-----------| |0|Name|[SetText](../SetText/SetText.md) string|The name of the medal| |1|Description|[SetText](../SetText/SetText.md) string|The description of the medal| -|6|Prepender|[SetText](../SetText/SetText.md) string|The prepender string used with the [Anstring](../SetText/Commands/Individual%20commands/Anstring.md) command for this medal| +|6|Prepender|[SetText](../SetText/SetText.md) string|The prepender string used with the [Anstring](../SetText/Individual%20commands/Anstring.md) command for this medal| The data will be loaded into `badgedata[id, x]`, where `id` is the [Medal](../Enums%20and%20IDs/Medal.md) id and `x` is the loaded index. diff --git a/TextAsset Data/Miscellaneous global data.md b/docs/TextAsset Data/Miscellaneous global data.md similarity index 73% rename from TextAsset Data/Miscellaneous global data.md rename to docs/TextAsset Data/Miscellaneous global data.md index 5058d62..9e7276e 100644 --- a/TextAsset Data/Miscellaneous global data.md +++ b/docs/TextAsset Data/Miscellaneous global data.md @@ -8,9 +8,9 @@ This page contains documentations about some minor [languageid](../SetText/langu ## LetterPrompts -There are several TextAssets in `Ressources/data` whose name starts with `LetterPrompt` followed by the corresponding letter prompt id. Each of them corresponds to the text shown in a [LetterPrompt](../SetText/Commands/Individual%20commands/LetterPrompt.md) command depending on the prompt presented. The data gets loaded in the course of the command on `CreateLetterPrompt`, but also on boot by `FontSet`. This is because due to the way TextMesh data gets cached on Unity, the game will reserve the first letter slot permanently on boot by doing a [SetText](../SetText/SetText.md) call in non [Dialogue mode](../SetText/Dialogue%20mode.md) where the text is every letter prompt data in a row, one for each [fonttype](../SetText/fonttype.md) all in [Single Letter Rendering](../SetText/Letter%20Rendering%20Methods/Single%20Letter%20Rendering.md). This very large string forces Unity to put the text meshes data into its cache which improves performance. +There are several TextAssets in `Ressources/data` whose name starts with `LetterPrompt` followed by the corresponding letter prompt id. Each of them corresponds to the text shown in a [LetterPrompt](../SetText/Individual%20commands/LetterPrompt.md) command depending on the prompt presented. The data gets loaded in the course of the command on `CreateLetterPrompt`, but also on boot by `FontSet`. This is because due to the way TextMesh data gets cached on Unity, the game will reserve the first letter slot permanently on boot by doing a [SetText](../SetText/SetText.md) call in non [Dialogue mode](../SetText/Dialogue%20mode.md) where the text is every letter prompt data in a row, one for each [fonttype](../SetText/Notable%20states.md#fonttype) all in [Single Letter Rendering](../SetText/Letter%20Rendering%20Methods/Single%20Letter%20Rendering.md). This very large string forces Unity to put the text meshes data into its cache which improves performance. -For more information on each letter prompt id, consult the details of the [LetterPrompt](../SetText/Commands/Individual%20commands/LetterPrompt.md) commands. The files are named like so: +For more information on each letter prompt id, consult the details of the [LetterPrompt](../SetText/Individual%20commands/LetterPrompt.md) commands. The files are named like so: * `LetterPrompt0` * `LetterPrompt1` @@ -26,7 +26,7 @@ For more information on each letter prompt id, consult the details of the [Lette There are some unused TextAsset in the game located in `Ressources/data` that are never loaded by the game, but the data is still present: -* `boardgame/1data`: This is presumably a remnant of the unused [PartyGame](../SetText/Commands/Individual%20commands/PartyGame.md) which had a SetText commands and other assets left. It is unknown how the layout of the data was layed out, but it seems this represented the data of a board whose id was 1. +* `boardgame/1data`: This is presumably a remnant of the unused [PartyGame](../SetText/Individual%20commands/PartyGame.md) which had a SetText commands and other assets left. It is unknown how the layout of the data was layed out, but it seems this represented the data of a board whose id was 1. * `commands/SnakemouthEmpty`: This is a remnant of the unused [GlobalCommand](../SetText/Related%20Systems/GlobalCommand.md) feature. * `BoardData`: Seems to be similar to `boardgame/1data`, but the placement of the asset suggests it was intended to refer to every board. The layout is unknown. * `CookIcons`: It seems to be an earlier version of [Recipes data](Recipes%20data.md) as the name and the contents suggests it was intended to contain sprite index information as well as a custom description. The final version of the game ended up determining both of them dynamically from the [Item](../Enums%20and%20IDs/Items.md) associated with the recipes. diff --git a/TextAsset Data/Miscellaneous language specific data.md b/docs/TextAsset Data/Miscellaneous language specific data.md similarity index 70% rename from TextAsset Data/Miscellaneous language specific data.md rename to docs/TextAsset Data/Miscellaneous language specific data.md index 614537b..939d2f1 100644 --- a/TextAsset Data/Miscellaneous language specific data.md +++ b/docs/TextAsset Data/Miscellaneous language specific data.md @@ -12,10 +12,10 @@ There are 2 TextAsset that describes each [Areas](../Enums%20and%20IDs/libraryst # Credits -`Credits` contains the text rendered in the credits which has its own rendering scheme. It is loaded on [Event](../SetText/Commands/Individual%20commands/Event.md) 204 (credits) and it gets rendered using a list of TextMesh in rich text mode. It is the only notable textual information not rendered using [SetText](../SetText/SetText.md). +`Credits` contains the text rendered in the credits which has its own rendering scheme. It is loaded on [Event](../SetText/Individual%20commands/Event.md) 204 (credits) and it gets rendered using a list of TextMesh in rich text mode. It is the only notable textual information not rendered using [SetText](../SetText/SetText.md). # Unused -There is one unused TextAsset called `BoardGame` which presumably was a remnant of the unused [PartyGame](../SetText/Commands/Individual%20commands/PartyGame.md) which had its own command. It presumably acted similarly to `CardGame` where it would contain [SetText](../SetText/SetText.md) lines used for the game only. +There is one unused TextAsset called `BoardGame` which presumably was a remnant of the unused [PartyGame](../SetText/Individual%20commands/PartyGame.md) which had its own command. It presumably acted similarly to `CardGame` where it would contain [SetText](../SetText/SetText.md) lines used for the game only. TODO: there's a LibraryMap.asset ??? diff --git a/TextAsset Data/Musics data.md b/docs/TextAsset Data/Musics data.md similarity index 100% rename from TextAsset Data/Musics data.md rename to docs/TextAsset Data/Musics data.md diff --git a/TextAsset Data/Rank data.md b/docs/TextAsset Data/Rank data.md similarity index 90% rename from TextAsset Data/Rank data.md rename to docs/TextAsset Data/Rank data.md index fe82d89..a3b65a8 100644 --- a/TextAsset Data/Rank data.md +++ b/docs/TextAsset Data/Rank data.md @@ -1,6 +1,6 @@ # Rank data -The game contains a TextAsset located at `Ressources/data/LevelData` from the root of the assets tree that contains data about special bonuses gained for specific ranks reached after a rank up. It is loaded each time in LevelUpMessage (which also applies the bonus on top of presenting the message) and [Event](../SetText/Commands/Individual%20commands/Event.md) 208 (Talking to Eetl in RUIGEE) to gather the bonus information if one exist. If no bonus exists for the given new rank, no extra bonus is applied on top of the standard one (chosen in battle or 1 MP under RUIGEE). +The game contains a TextAsset located at `Ressources/data/LevelData` from the root of the assets tree that contains data about special bonuses gained for specific ranks reached after a rank up. It is loaded each time in LevelUpMessage (which also applies the bonus on top of presenting the message) and [Event](../SetText/Individual%20commands/Event.md) 208 (Talking to Eetl in RUIGEE) to gather the bonus information if one exist. If no bonus exists for the given new rank, no extra bonus is applied on top of the standard one (chosen in battle or 1 MP under RUIGEE). The asset contains a list of bonuses to apply given a rank reached, one per line. Each lines contains fields: diff --git a/TextAsset Data/Recipes data.md b/docs/TextAsset Data/Recipes data.md similarity index 100% rename from TextAsset Data/Recipes data.md rename to docs/TextAsset Data/Recipes data.md diff --git a/TextAsset Data/Records data.md b/docs/TextAsset Data/Records data.md similarity index 100% rename from TextAsset Data/Records data.md rename to docs/TextAsset Data/Records data.md diff --git a/TextAsset Data/Skills data.md b/docs/TextAsset Data/Skills data.md similarity index 100% rename from TextAsset Data/Skills data.md rename to docs/TextAsset Data/Skills data.md diff --git a/TextAsset Data/Spy Cards data.md b/docs/TextAsset Data/Spy Cards data.md similarity index 100% rename from TextAsset Data/Spy Cards data.md rename to docs/TextAsset Data/Spy Cards data.md diff --git a/TextAsset Data/Termacade Prizes data.md b/docs/TextAsset Data/Termacade Prizes data.md similarity index 83% rename from TextAsset Data/Termacade Prizes data.md rename to docs/TextAsset Data/Termacade Prizes data.md index 4eff9ba..41234ec 100644 --- a/TextAsset Data/Termacade Prizes data.md +++ b/docs/TextAsset Data/Termacade Prizes data.md @@ -14,4 +14,4 @@ The asset contains a list of prizes in the order they appear in the [Termacade P The data will be loaded into `termacadeprize[i, x]` where `i` is the line index and `x` the loaded index. -This information is both used in the [Termacade Prizes List Type](../ItemList/List%20Types%20Group%20Details/Termacade%20Prizes%20List%20Type.md) to render each item, but also in [Event](../SetText/Commands/Individual%20commands/Event.md) 121 which is expected to be called right after the ItemList of the aforementioned list type is handled. The event essentially acts like a custom ItemList handler which uses the data to check and perform the transaction. +This information is both used in the [Termacade Prizes List Type](../ItemList/List%20Types%20Group%20Details/Termacade%20Prizes%20List%20Type.md) to render each item, but also in [Event](../SetText/Individual%20commands/Event.md) 121 which is expected to be called right after the ItemList of the aforementioned list type is handled. The event essentially acts like a custom ItemList handler which uses the data to check and perform the transaction. diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..41628e2 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,10 @@ +# Welcome to the Bug Fables Internal Docs + +Use the links on your left to naviguate this documentation. The table of contents of the document you are on will be on your right. + +This site defaults to dark mode, but you can toggle it to light mode by clicking the icon on the left of the search bar. + +Every document will have an eye icon to consult its source md file on GitHub and a pencil icon to edit it on your fork if you want to submit a pull request. + +## About deprecated documentation +The OLD directory contains documents that were made in the past, but are scheduled to be rewritten from scratch. Information within are provided for convenience, but should be taken with a grain of salt while they are being rewritten. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..ff84de8 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,43 @@ +site_name: Bug Fables internal docs +site_url: https://aldelaro5.github.io/Bug-Fables-Internal-Docs +site_description: The technical documentation of the internals of Bug Fable +site_author: aldelaro5 + +repo_url: https://github.com/aldelaro5/Bug-Fables-Internal-Docs +edit_uri: edit/reorganize/docs/ + +strict: true +validation: + omitted_files: warn + absolute_links: warn + unrecognized_links: warn + +markdown_extensions: + - toc: + permalink: true + +theme: + name: material + + icon: + repo: fontawesome/brands/github + edit: material/pencil + view: material/eye + + features: + - content.action.view + - content.action.edit + - search.suggest + - navigation.tracking + + palette: + - scheme: slate + primary: green + toggle: + icon: material/brightness-3 + name: Switch to light mode + - scheme: default + primary: green + toggle: + icon: material/brightness-7 + name: Switch to dark mode