Developer Guide - Historical Change Guide
Overview
This section was created in order to document ongoing changes to the Fantasy Grounds API and CoreRPG base ruleset layer development that should be applied to rulesets going forward for the best compatibility with CoreRPG, standard themes, and new features.
We typically try to keep some backward compatibility for functions and features for at least 6 months (longer in some cases), in order to minimize disruption to ruleset and extension developers. However, we want to try to continuously raise the bar for what users can expect when they use Fantasy Grounds, as well as reduce overall code maintenance by retiring old code.
The SmiteWorks team will usually provide notification to rulesets that are included with the standard installation or in the SmiteWorks store; but does not attempt to provide proactive code analysis of extensions or any community/forge projects.
The notes will be provided by the month and year that the developer notes were provided to developers.
If you have any questions, please reach out to the SmiteWorks development team via the Workshop forum on the web site.
April, 2025
NOTE: This ruleset update continues the push to standardize user interface/experience, as well as making theming for ruleset creation and extensions much easier long term.
Overview
Review all subsections below.
All themes should pay special attention these linked guidelines.
Updates To Be Made (Character Sheet Specific)
New window assets to copy for Character Sheet Overview section (i.e. top part with name and pictures)
charsheet_overview_base_v2 - For standard character sheets using underlabels
charsheet_overview_base_alt - For character sheets using top label “plates” (such as 5E)
Review character sheet locking capabilities to avoid player accidental changes
Make sure to consider whether something should only be changed in “unlocked” mode vs. “play” (unlocked) mode. (i.e. ammunition, carried weapon, power usage, etc.)
See D&D rulesets for examples
Updates To Be Made (Misc)
Standardize delete/link buttons on the left of all list items
Migration
button_idelete/button_listitem_idelete -> button_listitem_idelete_left
genericcontrol name="rightanchor" -> anchor_listitem_right_sm/anchor_listitem_right
anchor_listitem_column_right -> anchor_listitem_right_sm
button_listitem_column_delete -> button_listitem_idelete_left
link_listitem_column -> link_listitem_left
string_listitem_column_name -> string_listitem_center_bold
Affected Rulesets
[SotDL],
Standardize tags used for roll types (such as attack/damage/effect tags)
String Resources:
action_ability_tag, action_attack_tag, action_cast_tag, action_check_tag, action_damage_tag, action_effect_tag, action_heal_tag, action_init_tag, action_save_tag, action_savevs_tag, action_skill_tag
Many examples in CoreRPG, 5E and other included rulesets
Standard language fonts moved to CoreRPG (Celestial, Draconic, Dwarven, Elven, Infernal, Primordial)
Remove duplicates from rulesets inheriting from CoreRPG
[SotDL],
Retire ActorManager.getTypeAndNode and ActorManager.getTypeAndNodeName
Instead, use ActorManager.isPC, ActorManager.isRecordType, ActorManager.getCreatureNode and ActorManager.getCTNode
Retire “radial” menu settings
Remove menusettings.radial
Remove tooltip.radial
Remove icons - menubackground/menuhub/menuback
February, 2025
NOTE: This ruleset update is part of a larger push to standardize UI frames, fields and menus for consistency for users, as well as making theming for ruleset creation and extensions much easier long term.
Overview
Review all subsections below.
All themes should pay special attention to the Top Level Windows section in the guidelines linked below.
Updates To Be Made (Character Sheet Specific)
New window assets to copy for Character Sheet Overview section (i.e. top part with name and pictures)
charsheet_overview_base_v2 - For standard character sheets using underlabels
charsheet_overview_base_alt - For character sheets using top label “plates” (such as 5E)
Updates To Be Made (Misc)
Standard language fonts moved to CoreRPG (Celestial, Draconic, Dwarven, Elven, Infernal, Primordial)
Remove duplicates from rulesets inheriting from CoreRPG
[SotDL],
December, 2024
NOTE: This ruleset update is part of a larger push to standardize UI frames, fields and menus for consistency for users, as well as making theming for ruleset creation and extensions much easier long term.
Overview
Review all subsections below.
Note specific ruleset changes identified and called out in following three sections.
All themes should pay special attention to the Top Level Windows section in the guidelines linked below.
Frame Usage Guidance (Continuing)
Updates To Be Made (General)
Frame Migration: charsheet, charsheethelper
Migrate windows to use top-level window usage guidelines for these frames.
If these frames are used for windows not related to character sheets, migrate those windows to the correct top-level frame based on the guidelines.
Search for any windows using those frames; and specify the new top-level templates and rebuild using the new layout templates.
See specific implementation below for Character Sheet (and Mini Character Sheet)
Frame Layout Templates
Use CoreRPG definitions as starting point
Add or update the following templates (only if charsheet frame overriden)
windowmenubar_charsheet, anchor_content_charsheet_top, anchor_content_charsheet_tabbed_top, anchor_content_charsheet_bottom,
Add or update the following templates (only if charsheethelper frame overriden)
windowtitlebar_charsheethelper, windowmenubar_charsheethelper, anchor_content_charsheethelper_top, anchor_content_charsheethelper_bottom,
Remove old templates (see below)
Misc Cleanup
Remove assets no longer used. (see below)
Remove direct “power_action_editor” references; use button_poweractioneditor.
Remove direct color setting for errors/overages:
Ex: setColor("FF0000"), setColor("#FF0000")
Use setColor(ColorManager.getUIColor("field_error")), setColor(nil)
Character Sheet Specific
Redefined “charsheet” window class, using copy=”charsheet_base” and define tabs/scripts.
<windowclass name="charsheet" copy="charsheet_base"> <tab> <name>main</name> <resource>tab_main</resource> <class>charsheet_main</class> </tab> <tab merge="add"> <name>abilities</name> <resource>tab_abilities</resource> <class>charsheet_abilities</class> </tab> <tab merge="add"> <name>inventory</name> <resource>tab_inventory</resource> <class>charsheet_inventory</class> </tab> <tab merge="add"> <name>notes</name> <resource>tab_notes</resource> <class>charsheet_notes</class> </tab> </windowclass> <windowclass name="charsheet_overview" copy="charsheet_overview_base" />
If onInit override in window class script, then add super.onInit; or WindowTabManager.populate(self).
Fix internal sub-sheets (Ex: charsheet_main, charsheet_notes, etc.) to remove extra space required from previous layouts that is now automatically handled.
Mini Character Sheet Specific
Add following script call to a global script, such as CharManager or GameSystem.
WindowMenuManager.initCharMinisheetSupport();
Define “charsheetmini” window class, and use copy=”charsheet_base” and define tabs/scripts
<windowclass name="charsheetmini" copy="charsheet_base"> <sizelimits> <minimum width="450" height="495" /> </sizelimits> <tab> <name>main</name> <resource>tab_main</resource> <class>charsheetmini_main</class> </tab> <tab merge="add"> <name>abilities</name> <resource>tab_abilities</resource> <class>charsheetmini_abilities</class> </tab> <tab merge="add"> <name>inventory</name> <resource>tab_inventory</resource> <class>charsheetmini_inventory</class> </tab> <tab merge="add"> <name>actions</name> <resource>tab_actions</resource> <class>charsheetmini_actions</class> </tab> <minisheet /> <script file="campaign/scripts/char.lua" /> <sheetdata> <sub_content_top name="overview"> <class>charsheetmini_overview</class> </sub_content_top> </sheetdata> </windowclass> <windowclass name="charsheetmini_overview" copy="charsheet_overview_base" />
If onInit override in window class script, then add super.onInit; or WindowTabManager.populate(self).
Fix internal sub-sheets (Ex: charsheet_main, charsheet_notes, etc.) to remove extra space required from previous layouts that is now automatically handled.
Assets Removed
Templates
button_charactivate, sub_charsheet, sub_charsheet_overview,
close_charsheet, close_charsheethelper, anchor_title_charsheethelper,
button_charmini, button_charfull,
Strings
char_label_minisheet, char_label_fullsheet,
August, 2024
NOTE: This ruleset update is part of a larger push to standardize UI frames, fields and menus for consistency for users, as well as making theming for ruleset creation and extensions much easier long term.
Overview
Review all subsections below.
Note specific ruleset changes identified and called out in following three sections.
All themes should pay special attention to the Top Level Windows section in the guidelines linked below.
Frame Usage Guidance (Continuing)
Updates To Be Made (General)
Add support for NPC dice
If Type support desired, then register types and type resolution function.
Register system-level name rules, if any.
Migrate windows to use top-level window usage guidelines for these frames: ctbox
If these frames are used for other window types, migrate those windows to the correct top-level frame based on the guidelines.
Search for any windows using those frames; and specify the new top-level templates and rebuild using the new layout templates.
Review any overrides to the following scripts:
LibraryData, ItemManager
Remove unidentified field in body of record (Moved to header) (Items, NPCs, Vehicles)
See CoreRPG for example (i.e. nonid_name field)
Add pictures tab to records that support pictures (Items, NPCs, Vehicles)
See CoreRPG for example
Migrate master index overrides to use latest templates
See CoreRPG for example
Review usage of “mini_name” frame
Will be primarily used for character names on desktop/tokens now
Any usage for widgets or in other places should consider using “tempmodmini” or “fieldlight” frames instead.
Misc asset cleanup
Remove assets no longer used
Updates To Be Made (Specific) [SotDL]
Combat tracker migration
Migration to new top-level templates: [SotDL]
Remove nonid_name field in record body
Add record pictures tab
[SotDL (Item), ]
Migrate master index overrides to use latest templates
Misc asset cleanup
Frames: calendarmonthentry, calendarselectentry, charselectentry, moduleselectentry, partysheetentry
[SotDL, ]
Assets Updated
Templates
string_clientct_name, string_ct_entry_name, token_ctentry_base,
Assets Removed
Icons
button_menu, button_menu_down, ct_reach, ct_space, power_use, window_resize_filled,
Frames
referencepage,
Templates
frame_record_content, frame_record_content_tabbed
masterindexitem_access, masterindexitem_anchor_right, masterindexitem_category, masterindexitem_idelete, masterindexitem_link, masterindexitem_link_id, masterindexitem_modified, masterindexitem_name, masterindexitem_owner,
anchor_ct_client_label_right, anchor_ct_host_label_right, anchor_ct_label_right, anchor_ctbox_client_header, anchor_ctbox_host_header, anchor_title_ctbox, button_ct_endturn, button_ct_faction_friend, button_ct_faction_foe, button_ct_faction_neutral, button_ct_friendfoe, button_ct_menu, button_ct_nextactor, button_ct_nextround, button_ct_nextround_base, button_ct_nextturn_base, button_ct_setactive, button_ctbox_host_header_visibility, close_ctbox, frame_ct, frame_ctbox_host_header_visibility, help_ctbox, helper_ct, label_ct, label_ct_client_rounds, label_ct_header_init, label_ct_header_name, label_ct_host_rounds, label_ct_right, list_ctbox_client, list_ctbox_host, number_ct_client_rounds, number_ct_host_rounds, spacer_ct_client_header_buttons, spacer_ct_host_header_buttons,
March, 2024
NOTE: This ruleset update is part of a larger push to standardize UI frames, fields and menus for consistency for users, as well as making theming for ruleset creation and extensions much easier long term.
Overview
Review all subsections below.
Note specific ruleset changes identified and called out in following three sections.
All themes should pay special attention to the Top Level Windows section in the guidelines linked below.
Frame Usage Guidance (Continuing)
Updates To Be Made (General)
Migrate windows to use top-level window usage guidelines for these frames: recordsheet, imagebox, storybox,
If frames used for other window types, migrate those windows to the correct top-level frame based on the guidelines.
Search for any windows using those frames; and specify the new top-level templates and rebuild using the new layout templates.
Search for any windows using “record_window*” or “record_header*” copied window classes, and make sure overrides work correctly.
Add icon for window menu link (window_toolbar_link)
Image toolbar has been completely reworked.
See imagewindow_toolbar window class and ImageManager script for new button registrations and templates.
Updates To Be Made (Specific) [SDL]
SDL - Remove
Frames
frame_story_content, referencepage,
Templates
close_recordsheet, close_storybox,
SDL - Review
General
Review all window classes using recordsheet/storybox frame (See CoreRPG implementations)
Review all window classes inheriting from record_window* or record_header* (See CoreRPG implementations)
Add button_toolbar_link icon
Window Classes
ct_entry (link token3Dflat or call base link function), item, npc
Assets Removed
Fonts
npcsheet_header
Frames
campaigncontrolframe, imagebox_header, whitecontrolarea, windowhandle,
Icons
button_collapse, button_collapse_w, button_expand, button_expand_w, button_scrollerpan, button_scrollerpan_down, button_sizedown, button_sizedown_down, button_sizedown_hover, button_sizeup, button_sizeup_down, button_sizeup_hover, button_zoomer, button_zoomer_down, button_zoomin, button_zoomin_down, button_zoomout, button_zoomout_down, tool_down_30, tool_left_30, tool_lock_closed, tool_lock_open, tool_minus_30, tool_plus_30, tool_right_30, tool_up_30,
Script Functions
GameSystem.getCharSelectDetailLocal
Templates
anchor_ctentry_right, area_parcel_content, button_ctentry_activateactive, button_ctentry_activateattributes, button_ctentry_activatedefensive, button_ctentry_activateeffects, button_ctentry_activatespacing, button_ctentry_activatetargeting, button_ctentry_idelete, button_ctentry_isidentified, button_ctentry_tokenvis, button_ctsection_effect_iadd, button_record_isidentified_image, button_record_toolbar, button_window_sizedown, button_window_sizedown_base, button_window_sizeup, button_window_sizeup_base, frame_ctsection_effect, frame_ctsection_spacing, frame_ctsection_targeting, frame_ctsub, frame_parcel, frame_record_lower, frame_refmanualpage_content, handle_record, handle_record_tabbed, helper_imagepanel, icon_clientctsection_effect, icon_ctsection, icon_ctsection_effect, icon_ctsection_spacing, icon_ctsection_targeting, image_toolbar_anchor, image_toolbar_button_deathmarkerclear, image_toolbar_draw, image_toolbar_mode_select, image_toolbar_mode_targetselect, image_toolbar_mode_unmask, image_toolbar_button_zoomtofit, image_toolbar_targeting, image_toolbar_toggle_grid, image_toolbar_toggle_lock, image_toolbar_toggle_preview, image_toolbar_toggle_shortcut, image_toolbar_toggle_tokenlock, imagepanel_record, imagepaneldata_record, label_ctentry_reach, label_ctentry_space, link_ctentry, link_story, list_ctsection_effect, number_ctentry_reach, number_ctentry_space, spacer_clientctsection_effect, story_page_top, story_page_prev, story_page_next, string_ctentry_effects, string_ctname, string_ctname_nonid, string_record_name_ref, sub_ctsection_targeting, sub_note_header, toolbar_button_color_base,
Window Classes
ref_text_header,
Assets Removed (Previously Deprecated with Warnings)
Templates
anchor_ctentry_right, button_ctentry_activateactive, button_ctentry_activatedefensive, button_ctentry_activateeffects, button_ctentry_activatespacing, button_ctentry_activatetargeting, button_ctentry_idelete, button_ctentry_isidentified, button_ctentry_tokenvis, button_ctsection_effect_iadd, frame_ctsection_effect, frame_ctsection_spacing, frame_ctsection_targeting, frame_ctsub, icon_clientctsection_effect, icon_ctsection, icon_ctsection_effect, icon_ctsection_spacing, icon_ctsection_targeting, label_ctentry_reach, label_ctentry_space, link_ctentry, list_ctsection_effect, number_ctentry_reach, number_ctentry_space, spacer_clientctsection_effect, string_ctentry_effects, string_ctname, string_ctname_nonid, sub_ctsection_targeting,
Window Classes
ct_targets,
Assets Deprecated
Templates
button_imagebackpanel_sizedown, button_imagebackpanel_sizeup, button_imagefullpanel_sizedown, button_imagewindow_sizeup, close_imagebox, close_imagepanel, close_recordsheet, close_storybox, frame_record, frame_story_content, help_imagebox, help_imagepanel, icon_record_locked, label_recordtype, link_record_header, spacer_recordtype, string_record_name_id, sub_record_header,
Assets (Review Usage)
Templates
string_record_name, string_record_name_image, string_record_name_story,
Window Classes
power_stats (-> power_main), quest_stats (-> quest_main),
December, 2023
NOTE: This ruleset update is part of a larger push to standardize UI frames, fields and menus for consistency for users, as well as making theming for ruleset creation and extensions much easier long term.
Overview
Review all subsections below.
Note specific ruleset changes identified and called out in following three sections.
All themes should pay special attention to the Top Level Windows section in the guidelines linked below.
Frame Usage Guidance (Continuing)
Updates To Be Made (General)
Migrate windows to use top-level window usage guidelines for these frames: utilitybox, tokenbag, referencelist, charselect, partysheet,
If frames used for other window types, migrate those windows to the correct top-level frame based on the guidelines.
Migrate Previously Migrated Top-Level Windows to use new windowtitlebar and windowmenubar templates
windowtitlebar_utilitybox, windowtitlebar_tokenbag, windowtitlebar_referencelist, windowtitlebar_charselect
windowmenubar_utilitybox, windowmenubar_tokenbag, windowmenubar_referencelist, windowmenubar_charselect
Remove old close and help button templates/controls
Rebuild Top-Level Windows with partysheet frames
partysheet - Use/define new anchoring templates for any windows defined using this frame
Character Sheet Changes
If charsheet_overview window class used, either merge with existing window class OR add leftanchor and migrate portrait_char → picture_charsheet. (See CoreRPG)
If not using charsheet_overview and using portrait_char; consider migrating to using charsheet_overview subwindow and window class if possible; or set up leftanchor/rightanchor layout similar to charsheet_overview window class so that picture_charsheet can be used instead of portrait_char.
Window Menu Bar Support
Define windowmenubar_button/windowmenubar_button_down frames
Ask for PSD template if desired
Add ColorManager.setWindowMenuIconColor
Adjust button_link graphic assets to be centered without drop shadow, instead of offset
Misc Theming Support
Add ColorManager.setButtonContentColor(sColor) to define both button_icon and button_text coloring (if defined, then button-white font does not need to be redefined)
Updates To Be Made (Specific)
Update utilitybox windows to use new templates
Update partysheet windows to use new templates
[SDL, ]
Remove/adjust partysheet_host/partysheet_client overrides
Script changes (See 5E / 3.5E)
ps/scripts/ps_client.lua
Control changes
anchor_title_partysheet -> anchor_content_partysheet_top/anchor_content_partysheet_bottom
sub_ps -> sub_content_hidden
[SotDL, ]
Remove/adjust ps_main overrides
Script changes (See 5E / 3.5E)
ps/scripts/ps_main.lua, ps/scripts/ps_list.lua
Misc
Remove PSMN option as well (built into Core)
Remove/adjust ps_xp overrides
Script changes (See 5E / 3.5E)
ps/scripts/ps_xp_*.lua
Misc
Remove PSMN option as well (built into Core)
Remove/adjust ps_skills overrides
Add control/script adjustments (see 3.5E)
Review/adjust PartyManager2 script
Remove XP management code from PartyManager2 script
Update character sheet to use new combined portrait control
Use sub_charsheet_overview with merge to customize
(which also requires using sub_charsheet for standard theming support)
OR set up left/right anchors and change portrait_char → portrait_charsheet
[SotDL, ]
Remove old utilitybox window usage (only for tool windows)
Assets To Be Added For Theming
Templates
windowmenubar_utilitybox, windowmenubar_tokenbag, windowmenubar_referencelist, windowmenubar_charselect
Assets Migrated to CoreRPG
Strings
dash, xp
ps_label_award, ps_label_encounters, ps_label_name, ps_label_party, ps_label_partyentryxp, ps_label_quests, ps_label_xp, ps_label_xpawarded, ps_label_xpname, ps_menu_awardxp, ps_tooltip_showrollon, ps_tooltip_showrolloff, ps_tooltip_xpawarded
Assets To Be Deprecated (and Replacements)
Fonts
list-empty-ps, sheetlabel_ps
Templates
close_charselect, help_charselect,
close_referencelist, help_referencelist,
close_tokenbag, help_tokenbag,
close_utilitybox, help_utilitybox,
close_partysheet, help_partysheet, helper_ps
anchor_title_partysheet, frame_ps, label_ps, sub_ps
anchor_partysheet_main_header, anchor_partysheet_main_footer, list_psmain, list_psmain_helper
anchor_partysheet_xp_header, list_psxp_party, list_psxp_encounters, list_psxp_quests
anchor_title_charsheet
August, 2023
NOTE: This ruleset update is part of a larger push to standardize UI frames and fields for consistency for users, as well as making theming for ruleset creation and extensions much easier long term.
Overview
Review all subsections below.
Note specific ruleset changes identified and called out in following three sections.
All themes should pay special attention to the Top Level Windows section in the guidelines linked below.
Frame Usage Guidance (Continuing)
Updates To Be Made (General)
Migrate windows to use top-level window usage guidelines for these frames: utilitybox, tokenbag, referencelist, charselect
If frames used for other window types, migrate those windows to the correct top-level frame based on the guidelines.
Rebuild Top-Level Windows with chatbox/charselect/referencelist frames
chatbox - Use/define new anchoring templates for any windows defined using chatbox frame
Remove “basicchat*” template overrides; and use standard top/bottom anchors to adjust placement [SDL, ]
charselect - Use/define new anchoring templates for any windows defined using charselect frame
referencelist - Use/define new anchoring templates for any windows defined using referencelist frame
Review Specific/Auxiliary Asset Definitions (Per Frame) section in the Top Level Windows guidelines to implement all the primary and auxiliary requisite assets to go with any frames redefined in the ruleset or theme.
chatbox, utilitybox, tokenbag, referencelist, charselect, recordsheet, charsheet, imagebox, npcsheet, storybox, charsheethelper, ctbox, partysheet
Update dice tower coding
Migrate dice tower assets to use icons, instead of frames (dicetower_normal, dicetower_drop)
Remove dicetower roll specifications (now dynamically pulls from ActionsManager)
Updates To Be Made (Specific Rulesets)
[SDL]
Implement Top-Level Window Templates Noted in Guidelines for Specific Asset Definitions (Per Frame)
Ex: Font: button-white -> (Copy to ruleset from Classic theme; or from CoreRPG and set color to FFFFFF)
Assets To Be Deprecated (and Replacements)
Fonts
reference-groupsubdesc -> (Remove; Handled by header_content_groupdesc template)
Frames
referencepage -> recordsheet
Templates
sub_ref_header -> sub_record_header
close_referencepage -> close_recordsheet (and use recordsheet frame)
frame_ref_content -> frame_record_content
sub_refmanualpage_content -> subwindow_record (and activate tag)
sub_ref_content -> subwindow_record (and activate tag)
scrollbar_ref_content -> scrollbar_content
anchor_reftitle -> anchor_content_referencelist_top/anchor_content_referencelist_bottom
button_reftable_collapse -> button_content_grouped_collapse
button_reftable_expand -> button_content_grouped_expand
filter_reftable -> filter_content_grouped_bottom
frame_groupdesc -> header_content_groupdesc
ft_reftablefooter -> (Remove usage; handled by ref_listgroup.lua script)
header_reftablegroup -> anchor_list_content_label_left/anchor_list_content_label_right
label_reftable -> label_list_content_number_right/label_list_content_string_noframe_right/label_list_content_noframe
list_ref -> list_content_framed_groupbox_alternating_filtered
list_reftablegroup -> list_content_framed_groupbox/list_content_noscroll_alternating_top
list_reftablegroupitems -> list_content_noscroll_alternating_top
number_ref_weightwithsuffix -> stringc_listitem_left_noframe_static (and custom window onInit)
number_reftable -> number_text_listitem_left_noframe_static
filter_ref -> filter_content_bottom
resize_referencepage -> resize_recordsheet (and use recordsheet frame)
scrollbar_reftablegroup -> scrollbar_content_grouplist
string_groupdesc -> header_content_groupdesc
string_groupsubdesc -> (Remove; Handled by header_content_groupdesc template)
string_reftable -> string_listitem_left_noframe_static/string_listitem_left_noframe_static_linked
button_iadd_campaign -> button_iadd_list_content_controls
button_iedit_campaign -> button_iedit_list_content_controls
Assets Removed
Fonts
button-white-large
Frames
durationadjustment
fielddice
storybox2
Icons
button_collapse_down
button_expand_down
char_defenses
image_loading
image_locked
minimized_charability
minimized_charattacks
minimized_charequipment
minimized_charnotes
minimized_charpowers
Strings
masterindex_button_category_editon
masterindex_button_category_editoff
Templates
anchor_charselect_button
anchor_refgroupedlist_bottom
anchor_refgroupedlist_label
anchor_refgroupedlistgroupitem_left
anchor_reflist_paging
button_backcharwindow
button_importcharfile
button_importcharwindow
filter_charselect
filter_refgroupedlist
filter_reflist
frame_groupedlist_group
ft_refgroupedlist_notes
label_item_reftype
label_reftype
label_source
link_refgroupedlistgroupitem
list_refgroupedlist
link_reflistitem
list_reflist
masterindex_anchor_bottom
masterindex_anchor_paging
masterindex_category_scroll
scrollbar_refgroupedlist_notes
scrollbar_reflist_notes
string_reflistitem
sub_refgroupedlist_notes
sub_reflist_notes
June, 2023
NOTE: This ruleset update is part of a larger push to standardize UI frames and fields for consistency for users, as well as making theming for ruleset creation and extensions much easier long term.
Frame Usage Guidance (Update to UI Standards)
UI Standards - Rulesets and Extensions | UIStandards RulesetsandExtensions Top Level Windows
UI Standards - Rulesets and Extensions | UIStandards RulesetsandExtensions Content UI and Layout
Migrate utilitybox2/utilitybox3 to utilitybox
Remove calendar/utilitybox2/utilitybox3 frame definitions and graphics;
as well as help_*/close_*/resize_* templatesUse new anchoring templates for any windows defined using utilitybox frame
(see link above, and see examples in CoreRPG)Update anchor templates as needed for utilitybox/tokenbag
(if frames or windowtitle position updated by ruleset/extension)
(i.e. anchor_content_utilitybox_top/anchor_content_utilitybox_bottom)
(i.e. anchor_content_tokenbag_top/anchor_content_tokenbag_bottom)Already defined in all official themes
Remove deprecated templates (or copy to ruleset locally)
template: anchor_campaign
template: anchor_campaign2