PDA

View Full Version : Issues - Beta Release - 2021-02 Ruleset Updates



SilentRuin
February 5th, 2021, 18:59
Tricky. The thread https://www.fantasygrounds.com/forums/showthread.php?65776-Beta-Release-2021-02-Ruleset-Updates says any issues to post into that thread. Which is closed. Hence, I'm making my own.

I switched to my test channel and updated - but did not notice it wiped out my license key. Took me a while to actually register the big message saying Network could not be used with free version at bottom of app startup page.

Page 1 in above thread, I found in addition to copying my campaign and extension folder content I also had to copy my token folder content or you can end up with red question marks on your map if you use any global ones.

I tried all 7 of my extensions without changing anything to see how well the deprecated code (https://www.fantasygrounds.com/forums/showthread.php?65561-2020-02-Ruleset-Updates&p=574220&viewfull=1#post574220) worked without replacing it. Everything seemed to work fine unless I encountered a call to ActorManager2 in which case it complained about it being nil and dropped dead. I saw in my last referenced post where it was mentioned...

** ActorManager2.getPercentWounded -> ActorManager2.getWoundPercent / ActorManager2.getHealthStatus
** ActorManager2.getWoundColor -> ActorManager2.getHealthColor
** ActorManager2.getWoundBarColor -> ActorManager2.getHealthBarColor

So I'm not sure what is going on with those. But whatever it is something in the REQUIRED section needs to be updated about it. Not sure what yet.

That's all I've got for now. Except for the ActorManager2 being nil everywhere it seems the deprecated code still has everything else working for me.

SilentRuin
February 5th, 2021, 19:12
Super tricksy.

base.xml in 5E


<script name="ActorManager2" file="scripts/manager_actor2.lua" />


was outright removed and changed to



<script name="ActorManager5E" file="scripts/manager_actor_5E.lua" />


With no deprecated version - outright BOOM. Think that should be in required section of your other post.

Moon Wizard
February 5th, 2021, 19:15
Technically, it's only required for extensions, and that post was targeted at ruleset developers originally.

For extensions targeting specific rulesets that use ActorManager, that substitution (ActorManager2 -> ActorManager<System>) should probably fix almost all extension issues. If extensions do not use ActorManager, they are probably unaffected by that change.

Regards,
JPG

SilentRuin
February 5th, 2021, 19:20
Technically, it's only required for extensions, and that post was targeted at ruleset developers originally.

For extensions targeting specific rulesets that use ActorManager, that substitution (ActorManager2 -> ActorManager<System>) should probably fix almost all extension issues. If extensions do not use ActorManager, they are probably unaffected by that change.

Regards,
JPG

Yeah that's well hidden in your post. Especially with the specific ActorManager2 -> ActorManager2 references in there.

SilentRuin
February 5th, 2021, 21:35
Technically, it's only required for extensions, and that post was targeted at ruleset developers originally.

For extensions targeting specific rulesets that use ActorManager, that substitution (ActorManager2 -> ActorManager<System>) should probably fix almost all extension issues. If extensions do not use ActorManager, they are probably unaffected by that change.

Regards,
JPG

Ok, I've replaced all ActorManager2 with calls to ActorManager5E (my extensions that used this were all 5E) and replaced .getPercentWounded2 with getWoundPercent, trimming the first arg off when there were two. Everything seems to be fully functional now in my extensions on TEST. Some point later I'll start replacing all my .isHost and .isLocal calls while looking into replacing the actor logic with the new stuff.

Question: what is the benefit of replacing User.isHost/.isLocal with Session? And will the documents be updated with any API changes?

Moon Wizard
February 6th, 2021, 00:04
It's faster. A simple variable lookup on an existing package variable (i.e. Session.IsHost) is faster than an API function call that has to transition between script/app boundaries (i.e. User.isHost()).

For that specific change, I just do a full file search and replace, since it's a drop-in replacement.
User.isHost() -> Session.IsHost
User.isLocal() -> Session.IsLocal

Regards,
JPG

SilentRuin
February 6th, 2021, 00:19
It's faster. A simple variable lookup on an existing package variable (i.e. Session.IsHost) is faster than an API function call that has to transition between script/app boundaries (i.e. User.isHost()).

For that specific change, I just do a full file search and replace, since it's a drop-in replacement.
User.isHost() -> Session.IsHost
User.isLocal() -> Session.IsLocal

Regards,
JPG

Done - thanks.

SilentRuin
February 7th, 2021, 06:01
I had copied the combobox.lua stuff (because it was an evil template so could not use super calls) and now it appears to work except I can't see any entries. They are there and clickable but are not something I can see on the screen even though room has been made for them in the drop down box. I did a diff to see what changes had been made and the entire comparison showed every single line had changed because _ had been added into most things making a comparison useless. I'd like to know what actually changed before I try to reimplement the changes I required for properly managing subwindows. Worst case I'll have to copy and figure out how to rewrite my changes but I'm hoping I can get an explanation on what changed and why so I can have an understanding of the new code without going line by line (see comparison now fails due to _ additions to all names).

Also I see all the subwindows I've added in for things are no longer there. Need a tutorial on what happened there so I can get them back to working. This would be resizing subwindows to fit things in character sheets and then resizing those subwindows again to remove them.

Ugh and the new combobox by itself will no longer bold the current selected item.

Moon Wizard
February 7th, 2021, 06:07
The combobox was mostly rewritten to clean it up; as well as provide a version with delete buttons to support the speaker combo box.

Regards,
JPG

Moon Wizard
February 7th, 2021, 06:09
If you don't want to use the existing template, you can rename yours to something else to be used for your specific combo box scenarios. I wouldn't override the default; since that is used for languages and speakers in the chat window.

Regards,
JPG

SilentRuin
February 7th, 2021, 06:21
If you don't want to use the existing template, you can rename yours to something else to be used for your specific combo box scenarios. I wouldn't override the default; since that is used for languages and speakers in the chat window.

Regards,
JPG

I know that - that is what I did - unfortunately now the current combobox (which I used before in something else) no longer bolds the text in the drop down that is currently highlighted. And my overloaded version no longer "makes room" by expanding and contracting subwindows (done in mycombbox.lua). I don't know why or what changed. One is your new one (no bold now) and one is my old one (logic added in to make room for a new subwindow then remove that room when no longer needed). I don't know what has changed because too many renaming of things happened.

SilentRuin
February 7th, 2021, 06:22
If you don't want to use the existing template, you can rename yours to something else to be used for your specific combo box scenarios. I wouldn't override the default; since that is used for languages and speakers in the chat window.

Regards,
JPG

Oh and in mine the drop down text is invisible.

SilentRuin
February 7th, 2021, 06:33
I'm going to guess that since I only replaced <template name="combobox"> in my version with the .lua file also that something else in the template has changed - which I can see has with some anchor points added in - which may destroy my anchor logic resizing the subwindow. I'm not sure how or why that would make all my lists go invisible but it's a place to start I suppose. Maybe tomorrow as its late.

lule
February 7th, 2021, 09:12
There are some issues with the characterlist.

I am using FGC, dev-Channel, updated CoreRPG today.

1. While using the radial menu to reset position, the button is not working. Error Message: "Script Error: [string "desktop/scripts/characterlist.lua"]:44: attempt to call global 'resetPosition' (a nil value)"

2. The offset in anchoring of left und top is not working properly when launching die campain first time. A reset via radial menu is working. But first draw in a new campaign is allway offset="0".

May be there is something wrong with getting data from windowstate.xml when there is no entry for characterlist using default 0 for offset instead of using the offset specified in the template.

Here the code I tested:



<panel name="characterlist">
anchored height="85" width="40">
<left offset="100" />
<top offset="50" />
</anchored>
<class>characterlist</class>
<dynamic />
<locked />
</panel>

SilentRuin
February 7th, 2021, 16:25
My changes are not that big a deal so I basically moved them into your new combobox (still has bug where drop down no longer bolds the current selection). Whatever your doing though seems to have changed the behavior in subwindows - or something in general has changed. I do not want my subwindows scrolling because the combobox does not fit in them - I want them to overlay the subwindow below it - which I have changed size of to compensate for it while it's being clicked. Only now - none of that logic works anymore. If I stick with my original version it works fine in the drop down not forcing the scroll - but the drop down text is invisible for some reason in TEST version. Not in LIVE version. And when I insert these subwindows at the top of the tabs in all my PC/NPC sheets they are simply missing. Not there in the TEST version.

So I guess I'll try to look into the key problems I have right now:

1) Why is my old mycombobox (copy of old combobox with my minor additions) not showing any text but working in all other respects - has some kind of font/color changed internally?
2) Why the new combobox forces scrolling in subwindows even with my logic added in.
3) Why the new combobox does not bold the current selected text.
4) Why my window logic in tabs is no longer working (ex. window.parentcontrol.window.skills.setAnchor("top", "name", "bottom", "relative", 128)).

Those are the main issues I've found so far. Any help to shortcut the amount of debug prints I'm going to have to add in would be appreciated.

SilentRuin
February 7th, 2021, 17:24
My changes are not that big a deal so I basically moved them into your new combobox (still has bug where drop down no longer bolds the current selection). Whatever your doing though seems to have changed the behavior in subwindows - or something in general has changed. I do not want my subwindows scrolling because the combobox does not fit in them - I want them to overlay the subwindow below it - which I have changed size of to compensate for it while it's being clicked. Only now - none of that logic works anymore. If I stick with my original version it works fine in the drop down not forcing the scroll - but the drop down text is invisible for some reason in TEST version. Not in LIVE version. And when I insert these subwindows at the top of the tabs in all my PC/NPC sheets they are simply missing. Not there in the TEST version.

So I guess I'll try to look into the key problems I have right now:

1) Why is my old mycombobox (copy of old combobox with my minor additions) not showing any text but working in all other respects - has some kind of font/color changed internally?
2) Why the new combobox forces scrolling in subwindows even with my logic added in.
3) Why the new combobox does not bold the current selected text.
4) Why my window logic in tabs is no longer working (ex. window.parentcontrol.window.skills.setAnchor("top", "name", "bottom", "relative", 128)).

Those are the main issues I've found so far. Any help to shortcut the amount of debug prints I'm going to have to add in would be appreciated.

4) Solved

It appears I still have <actor>.sType == "pc" and <actor>.sType == "npc" and <actor>.sType == "ct" type of checks in the code - which now no longer work (can be "charsheet" for "pc" where it was not before). I will have to bite the bullet and replace all the ActorManager.getType* type of logic or at least validate it (sigh)

SilentRuin
February 7th, 2021, 20:35
4) Solved

It appears I still have <actor>.sType == "pc" and <actor>.sType == "npc" and <actor>.sType == "ct" type of checks in the code - which now no longer work (can be "charsheet" for "pc" where it was not before). I will have to bite the bullet and replace all the ActorManager.getType* type of logic or at least validate it (sigh)

1) Solved

Was due to choking on missing actor upgrades/rewrites no longer working the same way.

2) Solved

Was due to choking on missing actor upgrades/rewrites no longer working the same way.

3) Still bugged

The combobox does not initialize the selected active list entry when it first comes up. It used to do this. This causes the drop down not to bold the currently selected value until you actually select it again. First time it is up it will not show as bolded.
Also when I put my old changes into the new combobox for mycombobox everything seemed to work except when I select from the dropdown box. Then I get the following error:

[ERROR] Script execution error: [string "common/scripts/mycombobox.lua"]:214: attempt to index field '?' (a nil value)

The line (same as in new combobox) is



function refreshValueDisplay()
if _nSelection > 0 then
setValue(_tItems[_tOrderedItems[_nSelection]].text);
setTooltipText(_tItems[_tOrderedItems[_nSelection]].text) <============ Line 214
else
setValue("");
setTooltipText("");
end

if _ctrlList then
_ctrlList.setSelection(_nSelection);
end
end


Took a long time to rewrite all those actor things so now I'll see what this new tooltip is and why its complaining. I'm assuming there is some new "thing" that a mere replacement of the "combobox" template and it's .lua code is missing. I assume the fix to get the initial selection fixed is self explanatory (as I'm not going to look up where that is unless I have to).

Still not done testing as all those changes are just begging for a typo/cut paste error by the sheer number of them alone.

SilentRuin
February 7th, 2021, 20:56
1) Solved

Was due to choking on missing actor upgrades/rewrites no longer working the same way.

2) Solved

Was due to choking on missing actor upgrades/rewrites no longer working the same way.

3) Still bugged

The combobox does not initialize the selected active list entry when it first comes up. It used to do this. This causes the drop down not to bold the currently selected value until you actually select it again. First time it is up it will not show as bolded.
Also when I put my old changes into the new combobox for mycombobox everything seemed to work except when I select from the dropdown box. Then I get the following error:

[ERROR] Script execution error: [string "common/scripts/mycombobox.lua"]:214: attempt to index field '?' (a nil value)

The line (same as in new combobox) is



function refreshValueDisplay()
if _nSelection > 0 then
setValue(_tItems[_tOrderedItems[_nSelection]].text);
setTooltipText(_tItems[_tOrderedItems[_nSelection]].text) <============ Line 214
else
setValue("");
setTooltipText("");
end

if _ctrlList then
_ctrlList.setSelection(_nSelection);
end
end


Took a long time to rewrite all those actor things so now I'll see what this new tooltip is and why its complaining. I'm assuming there is some new "thing" that a mere replacement of the "combobox" template and it's .lua code is missing. I assume the fix to get the initial selection fixed is self explanatory (as I'm not going to look up where that is unless I have to).

Still not done testing as all those changes are just begging for a typo/cut paste error by the sheer number of them alone.

3) Partially solved for mycombbox - combbox still not bolding (and neither is my copy) on initialization. I looked at that for a bit but it was to confusing on where the set select at init should be done. I'd rather wait till combobox is fixed then fix my copy.

Fixed mycombobox by commenting out the tooltips. People do add tooltips to the combobox they create with the template - when they do - like me - this code blows them out of the water. Not sure if that was the reason or what was causing it. Maybe even guarding it against a nil value would have worked - but I printed out the whole argument and it was the same valid selected text as in setValue. Mystery. Not sure why but this fixed it for me.



function refreshValueDisplay()
if _nSelection > 0 then
setValue(_tItems[_tOrderedItems[_nSelection]].text);
-- setTooltipText(_tItems[_tOrderedItems[_nSelection]].text)
else
setValue("");
-- setTooltipText("");
end

if _ctrlList then
_ctrlList.setSelection(_nSelection);
end
end

SilentRuin
February 7th, 2021, 21:34
Spent time trying to figure out why death saving throws were not working in my extension - only to bring up another 5E no extension campaign in TEST and find that the regular death saving throws don't work either.

Roll the dice in Main PC tab for death saving throws at bottom and depending on the result the check box should be checked. It never is. Which results in infinite death saving throws. I was testing Death Indicators by having two 0HP players cycling turns till I could see their tombstones appear... it took a long while before I realized something was wrong and checked their main page character sheets to see how many death saving throw check marks on success or failure were marked - zilch.

Moon Wizard
February 8th, 2021, 00:22
@lule,
Thanks for finding that issue with the resetPosition. There was an internal hookup missing in FGC; I'll push a hot fix on Tuesday.
If you move the window from the default position, then it will be in that position on the next load. You can reset via the right click menu for now, until the reset button is fixed. It will reset to whatever is defined for the ruleset/extensions you are currently using.

@SilentRuin,
There was quite a lot of text above; so not sure where you ended up. I'll look into the death saving throw, since I can recreate that. For the combobox, I don't think that the default template ever bolded the selection, so maybe that was something you did with your custom templates.

Regards,
JPG

Moon Wizard
February 8th, 2021, 00:41
Just pushed update for 5E to fix the death saving throw roll result function. Let me know if you still see an issue after update.

Regards,
JPG

SilentRuin
February 8th, 2021, 00:48
Just pushed update for 5E to fix the death saving throw roll result function. Let me know if you still see an issue after update.

Regards,
JPG

Thanks I’ll check that later tonight.

The combo box bold highlights current selection in the drop down box - If your saying it did not do it without first rechoosing it after startup I’ll have to check again later. But pretty sure it did and I could see the select logic had changed.

SilentRuin
February 8th, 2021, 05:30
Thanks I’ll check that later tonight.

The combo box bold highlights current selection in the drop down box - If your saying it did not do it without first rechoosing it after startup I’ll have to check again later. But pretty sure it did and I could see the select logic had changed.

@Moon Wizard,
I don't know what just got updated with death indicators but now death rolls get checked - but the extension now goes into instant death (tombstone) any time they reach 0 hit points (it did not do that till this most recent update). Can you tell me what you just changed for that? Something is now broken in extension which keeps track of when your at 0 hp but still have saving throws.

As far as the combobox I was correct - something got broken in the change. The thing is the underlying engine code for the lists or something will bold any active entry when you pull down the drop box. It still does that AFTER you choose one. But the one that is already there in the DB list is no longer showing bolded when you come up like it used to (when you first come up). As I said - I saw where you changed how all that select is handled and did not feel like trying to figure out the new stuff and what was missing as you know what its doing. If I had to guess, you removed the initial set of the select index on startup of the list. But I really don't know.

Here is proof in two screen shots - one where I use the raw combobox (straight out of CoreRPG common) on LIVE - then on TEST. It's doing what I said - and not working any more in TEST unless you choose one.

SilentRuin
February 8th, 2021, 14:50
Just pushed update for 5E to fix the death saving throw roll result function. Let me know if you still see an issue after update.

Regards,
JPG

Never mind I'm an idiot confused to which campaign I was in. The death save stuff works fine now.

All that is left that I know of is the initialization of combobox not setting the active select index so it is bolded first time drop down comes up. I can see the logic changed, and that normal clicked processing sets that select index - so once selected it works correctly. But really want that original behavior back where it shows selected (bolded) when it first comes up.

SilentRuin
February 8th, 2021, 15:42
[ERROR] Script execution error: [string "scripts/manager_actor.lua"]:71: attempt to call field 'getPath' (a nil value)

Trying to figure out how I got this. It appears its one of the many resolveActor calls I had to replace getActor with. Looking at the code, the old getActor used to call getnodename and this new resolveActor calls getpath - not sure why it would fail here or how. I'll try and add a bunch of prints to see if I can figure out if it was some bug on my side that just used to get away with it - but any hints on what is going on would be useful.

[Note: error occurred on client(player) side of the code only - worked from host]

SilentRuin
February 8th, 2021, 16:21
[ERROR] Script execution error: [string "scripts/manager_actor.lua"]:71: attempt to call field 'getPath' (a nil value)

Trying to figure out how I got this. It appears its one of the many resolveActor calls I had to replace getActor with. Looking at the code, the old getActor used to call getnodename and this new resolveActor calls getpath - not sure why it would fail here or how. I'll try and add a bunch of prints to see if I can figure out if it was some bug on my side that just used to get away with it - but any hints on what is going on would be useful.

[Note: error occurred on client(player) side of the code only - worked from host]

This happens with no extensions. And since I can't seem to figure out how to package up my own version of CoreRPG.pak ruleset with prints in the resolveActor code right before line 71 (the call for nodeActor.getPath()) I can't really tell why/what is going on. All I can say its easy for me to duplicate. I have one PC with 1 HP left before 0 - then I target and do damage on him with a client(player). BOOM. This error. Every time. I'm guessing that the player side does not have access to something and the new resolveActor code is not taking that into account somehow.

Moon Wizard
February 8th, 2021, 21:47
I'm not seeing this. I just tried applying damage to a PC with 1 hp in a 5E campaign; and I did not get any errors.

Can you give me the exact steps?

Thanks,
JPG

Kelrugem
February 8th, 2021, 21:49
I'm not seeing this. I just tried applying damage to a PC with 1 hp in a 5E campaign; and I did not get any errors.

Can you give me the exact steps?

Thanks,
JPG

I was able to reproduce:

1. Create a 5e campaign
2. Create two PCs
3. Drag them to the CT and give one of them 1 HP
4. Join yourself and take control over the other PC (not the 1 HP one)
5. Roll a damage die as client against the 1 HP PC (I dragged the damage die to the CT entry of the 1 HP PC, in case that matters)

:)

Moon Wizard
February 8th, 2021, 22:04
I'm not seeing that locally. I just pushed new builds of CoreRPG and 5E rulesets; just in case something was out of synch. Can you guys try again?

Thanks,
JPG

Moon Wizard
February 8th, 2021, 22:05
@SilentRuin
I think I also found the combo box bolding you were talking about, and hooked it up again. It should be in the new builds too.

Regards,
JPG

Kelrugem
February 8th, 2021, 22:20
I'm not seeing that locally. I just pushed new builds of CoreRPG and 5E rulesets; just in case something was out of synch. Can you guys try again?

Thanks,
JPG

Hm, I am still able to reproduce it

Moon Wizard
February 8th, 2021, 22:24
Ok, got it. The 1 hp PC has to be unowned by that player. Let me take a look further.

Regards,
JPG

SilentRuin
February 8th, 2021, 22:27
I'm not seeing that locally. I just pushed new builds of CoreRPG and 5E rulesets; just in case something was out of synch. Can you guys try again?

Thanks,
JPG

Well if you look in discord mod_creation you'll see where MeAndUnique teamed up and while his WAS working - new FGU 5E TEST campaign - with the exported characters I was using (I'll include them here) - after we had him attach as player to my machine he saw the error. And after he then had me attach to his machine I saw the error. And then he never did not see the error again. Nightmare scenario for debugging. I think its got something to do with the getnodename vs getPath logic but am not sure.

SilentRuin
February 8th, 2021, 22:33
Ok, got it. The 1 hp PC has to be unowned by that player. Let me take a look further.

Regards,
JPG

FYI the update did not fix anything. If you need I can send you the campaign as its virtually empty except for the imported characters.

Moon Wizard
February 8th, 2021, 22:34
I just pushed another update that should fix that error, since I was able to replicate. Can you update, and give it another try?

Regards,
JPG

Kelrugem
February 8th, 2021, 22:37
Ok, got it. The 1 hp PC has to be unowned by that player. Let me take a look further.

Regards,
JPG

Ah, hehe, I should have emphasized that part in my steps a bit more :D

SilentRuin
February 8th, 2021, 22:37
I just pushed another update that should fix that error, since I was able to replicate. Can you update, and give it another try?

Regards,
JPG

WORKS!!! Did you say you fixed the drop down also - going to check that out now.

SilentRuin
February 8th, 2021, 22:42
@SilentRuin
I think I also found the combo box bolding you were talking about, and hooked it up again. It should be in the new builds too.

Regards,
JPG

Still did not show the initial selected bold on the first pulldown in this latest build. Shows after selected - but not when you first come up.

Moon Wizard
February 8th, 2021, 22:59
It's working for me on the GM identity. Are you not seeing the GM Identity in bold when you click on the button to open the speaker list?

Regards,
JPG

SilentRuin
February 8th, 2021, 23:09
It's working for me on the GM identity. Are you not seeing the GM Identity in bold when you click on the button to open the speaker list?

Regards,
JPG

I don't even know what a "speak list is". I use the template for combobox (raw CoreRPG) for some of my drop downs. I also have a special copy of mycombobox to do above and beyond the normal combobox things. If you look at the pictures I sent you - that is my use of the RAW CoreRPG template combobox.

Here is literally how that picture uses the combobox template....



<combobox name="combatgroup">
<anchored width="200" height="30">
<left parent="button_combatgroup_visibility" anchor="right" offset="7" />
<bottom parent="button_combatgroup_visibility" anchor="bottom" offset="2" />
</anchored>
<empty textres="empty_combatgroup_select" />
<listdirection>down</listdirection>
<tooltip textres="combatgroup_tooltip" />
<script>
function onInit()
CombatGroupsManager.InitCombatGroups(window, true);
end
function onValueChanged()
CombatGroupsManager.CombatGroupFilterChanged(windo w);
end
</script>
</combobox>


In LIVE the first time I come up its got the bolded selection that is active. In TEST it does not - until I actually select it - then it will for that session - till the next one.

Moon Wizard
February 8th, 2021, 23:14
I'm asking whether you are seeing that it works in the default implementation of the speaker list and the language list on the chat window.

I also noticed that you are not calling super.onInit() in your template; so any built-in logic in the setup may be getting lost.

Regards,
JPG

SilentRuin
February 8th, 2021, 23:20
I'm asking whether you are seeing that it works in the default implementation of the speaker list and the language list on the chat window.

I also noticed that you are not calling super.onInit() in your template; so any built-in logic in the setup may be getting lost.

Regards,
JPG

So you mean where GM is the only entry in the drop down? Yes I see that highlighted. If you are talking about the XML then yes I never had to call it in the old version of combobox (examples I coded from likely) and it worked fine. I'll try that.

SilentRuin
February 8th, 2021, 23:36
Yeah that did not work. Not sure what is going on with that as you obviously have the chat window showing it bolding GM as soon as it comes up.

SilentRuin
February 8th, 2021, 23:49
I'm asking whether you are seeing that it works in the default implementation of the speaker list and the language list on the chat window.

I also noticed that you are not calling super.onInit() in your template; so any built-in logic in the setup may be getting lost.

Regards,
JPG

Yeah I just took the time to look up in TEST code where that <combobox template is used in your stuff. As far as chat box only the languages uses it and it NEVER even stores an initial value for startup. I don't know what the GM field is using but its not combobox. I did see some others used in charwizard but I have no idea what that is doing. I feel pretty confident that this problem - is still a problem everywhere combbox is actually used. And I still feel its because the new initialization of combobox no longer cycles through windows to assign the current active index on startup.

SilentRuin
February 9th, 2021, 00:13
What should be happening in combobox is when it starts up it loads the DB entry into the active field then looks through the list and sets the active index. ANYTIME that list changes it has to do this again to make sure the active index is reset. It used to do that. I'm not sure it is anymore - and that is the problem.

Dakadin
February 9th, 2021, 01:26
I had the same issue with the combobox in the RMC ruleset so I moved the old code from CoreRPG to the ruleset and got it working. For the bolding, it appears to be in 2 places. The first is in the combobox windowclass:

<listfonts>
<normal mergerule="replace">chatfont</normal>
<selected mergerule="replace">narratorfont</selected>
</listfonts>
<listframes>
<normal mergerule="replace"></normal>
<selected mergerule="replace">rowshade</selected>
</listframes>


It is also in the combobox.lua file. Just search for _sListSelectedFont and _sListSelectedFrame in that file. Hopefully that helps you track it down.

SilentRuin
February 9th, 2021, 03:20
I had the same issue with the combobox in the RMC ruleset so I moved the old code from CoreRPG to the ruleset and got it working. For the bolding, it appears to be in 2 places. The first is in the combobox windowclass:

It is also in the combobox.lua file. Just search for _sListSelectedFont and _sListSelectedFrame in that file. Hopefully that helps you track it down.

Well its a week or so before this goes live so I'll give Moon a chance to find the issue before I resort to fixing my copy of if and changing the ones that use the default combobox to then switch to mycombobox where I already had to make special additions to handle subwindows.

Dakadin
February 9th, 2021, 04:01
Just realize that the combo box templates were refactored and it creates some of those templates as the controls. With things working differently, I would guess that your code is using old variable and/or function names and that is part of the issue. Also they now include the ability to delete items from the list like they are in the GM one which you might not want.

SilentRuin
February 9th, 2021, 04:15
Just realize that the combo box templates were refactored and it creates some of those templates as the controls. With things working differently, I would guess that your code is using old variable and/or function names and that is part of the issue. Also they now include the ability to delete items from the list like they are in the GM one which you might not want.

I just ported mycombobox to the new one and except for the not bolding of the initial active field value loaded from DB at startup - it works fine - exactly the same as new combobox. You have to actually implement the new delete functionality I think to have it happen - and yeah - that would be crazy to have a combobox allow users to delete entries non programmatically by default. As most of those entries are data related which a non detailed callback function would not know how to process.

In my copy it actually ERRORed out when I left the settooltip logic in as it did not handle it correctly in all cases I was using it - as the old combobox did. I had to comment that out for the mycombobox logic I had going on. Still don't really understand what was killing it in TEST but not in LIVE.

Kelrugem
February 9th, 2021, 11:49
I think it helps to have some steps of reproducing that:

1. Start any campaign, in my case 5e
2. Select Elvish as language at the chat (any language should do of course)
3. Go to the settings and add a new language, I added "Atest"
4. Click on the language selection again
5. Observe that Elvish is suddenly not selected anymore as if one never has selected anything. The list does therefore also not show the active one :)

I think that is it, or I misunderstand what you were saying :)

SilentRuin
February 9th, 2021, 15:31
I think it helps to have some steps of reproducing that:

1. Start any campaign, in my case 5e
2. Select Elvish as language at the chat (any language should do of course)
3. Go to the settings and add a new language, I added "Atest"
4. Click on the language selection again
5. Observe that Elvish is suddenly not selected anymore as if one never has selected anything. The list does therefore also not show the active one :)

I think that is it, or I misunderstand what you were saying :)

Probably? Not tried that actually. I figure I may just bite the bullet and fix combobox myself. It should be fairly straight forward to make sure any update to the list (including the initial adding in to the list) has a select index matching the active value if any. That's what the old version did and we should not lose functionality in the update.

SilentRuin
February 9th, 2021, 22:18
Actually, I can see combobox in TEST is not working at all like it used to. I select and item - come back out session - come into session - item entry is there. Then I pull down menu and it immediately wipes out the entry (which is why its blank). That's a bug - no quibbles about it.

lule
February 10th, 2021, 14:26
@lule,
Thanks for finding that issue with the resetPosition. There was an internal hookup missing in FGC; I'll push a hot fix on Tuesday.
If you move the window from the default position, then it will be in that position on the next load. You can reset via the right click menu for now, until the reset button is fixed. It will reset to whatever is defined for the ruleset/extensions you are currently using.


The function resetPosition is now working properly (via button & radial menu). Thank you. The Problem, that it does not use the defined anchor on the first start of a campaign is still there.

lule
February 10th, 2021, 17:40
Feature request:

Could you please insert a function setDochitemSizeAndSpacing(diw, dih, sw, sh)?

New dockitem are good, especially that the can easily be translated. But they are very small in hight: 30px. Higher dock items could display larger fonts. Therefore, these would be easier to read, we are all getting on in years and our eyes are getting worse.

With such a function one can modify the desktop_dockitem template and can get also two lines of text and much more.

Minty23185Fresh
February 11th, 2021, 22:30
Is this the proper position for the tools in the image toolbar?
43651

[EDIT] Seemed to fill in okay when I dropped a token from the Combat Tracker on to the map. But having it anchored on the right seems kinda wonky!
43652

Trenloe
February 11th, 2021, 22:44
Is this the proper position for the tools in the image toolbar?
7th bullet point down: https://www.fantasygrounds.com/forums/showthread.php?65776-Beta-Release-2021-02-Ruleset-Updates&p=576329&viewfull=1#post576329

Minty23185Fresh
February 11th, 2021, 23:05
7th bullet point down: https://www.fantasygrounds.com/forums/showthread.php?65776-Beta-Release-2021-02-Ruleset-Updates&p=576329&viewfull=1#post576329
Aargh!! Sorry. I will try to read and understand the release notes more thoroughly.

Moon Wizard
February 12th, 2021, 01:39
@SilentRuin,
The problem I'm having is that I'm not really following what is not working right for you, and you haven't given me an exact reproduceable case with the default rulesets or a simple extension. I can reproduce the scenario that Kelrugem pointed; so I'll work on that.

@lule,
Increasing the space means that the buttons will start to overlap each other, since they are deliberately limited to a single column now. Especially for rulesets that have a lot of buttons (like Starfinder). Plus, I don't want to use the same function; since the buttons are very different and themes need to be adjusted. I might add a different helper function for that.

Regards,
JPG

Moon Wizard
February 12th, 2021, 01:58
I checked in a change to fix the issue Kelrugem reported. When the language list is edited, the language selection will be cleared.

Also, I add a helper function for DesktopManager.setDockButtonSizeAndPadding(iw, ih, sh)

@SilentRuin, if you want me to look at combobox further, I need a simple reproduceable test case in CoreRPG (either within the current speaker/language fields; or via a simple extension). Please be as brief as possible. I'm running in a bunch of different directions helping people; so it needs to be succinct or I won't have time to parse what you're trying to say.

Regards,
JPG

SilentRuin
February 12th, 2021, 03:59
I checked in a change to fix the issue Kelrugem reported. When the language list is edited, the language selection will be cleared.

Also, I add a helper function for DesktopManager.setDockButtonSizeAndPadding(iw, ih, sh)

@SilentRuin, if you want me to look at combobox further, I need a simple reproduceable test case in CoreRPG (either within the current speaker/language fields; or via a simple extension). Please be as brief as possible. I'm running in a bunch of different directions helping people; so it needs to be succinct or I won't have time to parse what you're trying to say.

Regards,
JPG

I guess I can do that easy enough. One combobox field with no logic and a few hardcoded entries in a manager's oninit will do it. Just come up - click on field choose one. Exit session. Come back in session. Entry should still be in field - click on it - no bolded text until you choose it again. Will get it tonight or tomorrow morning.

Moon Wizard
February 12th, 2021, 04:25
That may have been enough. I think you are talking about a combo box with an underlying data field initializing.

Try the version I just updated to Test channel.

Regards,
JPG

SilentRuin
February 12th, 2021, 04:30
@Moon Wizard
As simple as I can possibly make this.

Drop MyTest.ext in your LIVE and TEST extensions directory.

Bring up LIVE 5E project and select "5e My Test" extension.

Bring up session.
Choose combat tracker.
In top left is combobox with 4 hardcoded entries. Empty text will say Select BOLD.
click on field. No entry is bolded.
Select the BOLD text entry (does not really matter which you pick).
It will appear in combobox field.
Exit session.
Come back in session.
See BOLD text in combobox.
click on field. BOLD entry is bolded.


That is working.

Now come up in TEST.
Bring up session.
Choose combat tracker.
In top left is combobox with 4 hardcoded entries. Empty text will say Select BOLD.
click on field. No entry is bolded.
Select the BOLD text entry (does not really matter which you pick).
It will appear in combobox field.
Exit session.
Come back in session.
See BOLD text in combobox.
click on field. BOLD entry NOT BOLDED.


That is not working.

Need that working the way it was.

SilentRuin
February 12th, 2021, 04:34
That may have been enough. I think you are talking about a combo box with an underlying data field initializing.

Try the version I just updated to Test channel.

Regards,
JPG

And thank goodness my work was not wasted! No that did not fix it.

SilentRuin
February 12th, 2021, 15:33
That may have been enough. I think you are talking about a combo box with an underlying data field initializing.

Try the version I just updated to Test channel.

Regards,
JPG

I note the .ext you asked me to create has not been downloaded yet. I'm assuming that is because your busy and not that you missed it as it was posted around the same time as one of your posts above?

FzeroBat
February 13th, 2021, 18:37
Not sure if this bug is already known (seen today with CoreRPG from 2021-02-01 in TEST):

When a host shares an image with clients their icon will be displayed in bottom left. As soon as they close the image their icon should also vanish from the bottom left corner. As seen in the attached pictrure, at the moment 3 of the client icons stay persistent and showw only one of the clients icons although all did close the picture.

43696

Moon Wizard
February 15th, 2021, 01:32
@SilentRuin,
Can you try the latest build of CoreRPG to see if the combo box works for what you need again? I verified it against your extension.

@Fzerobat,
I believe this is probably an existing issue with the Live version; since I didn't change that part of ruleset code. I'll add it to our list to look at.

Regards,
JPG

SilentRuin
February 15th, 2021, 03:26
@SilentRuin,
Can you try the latest build of CoreRPG to see if the combo box works for what you need again? I verified it against your extension.

@Fzerobat,
I believe this is probably an existing issue with the Live version; since I didn't change that part of ruleset code. I'll add it to our list to look at.

Regards,
JPG

Worked perfectly. Updated my copy of it and it worked perfectly too. Thanks - that was last problem I'm aware of so as far as I'm concerned I'm ready to upgrade the minute I know TEST has gone to LIVE.

SilentRuin
February 16th, 2021, 13:44
Is TEST still moving to LIVE today?

lule
February 16th, 2021, 14:27
@lule,
Increasing the space means that the buttons will start to overlap each other, since they are deliberately limited to a single column now. Especially for rulesets that have a lot of buttons (like Starfinder). Plus, I don't want to use the same function; since the buttons are very different and themes need to be adjusted. I might add a different helper function for that.


I see. Maybe it is too late for this release, but why not make the sidebar for dockitems (except tokens/asset and library) scrollable?



Also, I add a helper function for DesktopManager.setDockButtonSizeAndPadding(iw, ih, sh)


Thank you very much.

Minty23185Fresh
February 18th, 2021, 03:02
Post recanted by author.

lule
February 28th, 2021, 18:50
@lule,
Thanks for finding that issue with the resetPosition. There was an internal hookup missing in FGC; I'll push a hot fix on Tuesday.
If you move the window from the default position, then it will be in that position on the next load. You can reset via the right click menu for now, until the reset button is fixed. It will reset to whatever is defined for the ruleset/extensions you are currently using.


The function resetPosition is now working properly (via button & radial menu). Thank you. The Problem, that it does not use the defined anchor on the first start of a campaign is still there.

The Problem is still there. Every new campaign or new client has not the postion of the characterlist, that is defined by the anchoring of the characterlist. This bug is in FGC and FGU.

Moon Wizard
March 2nd, 2021, 21:45
I don't understand the issue; so you may need to spell it out with an example.

The character list will always be in the default position when creating a new campaign. It will only remember a change in position, if you unlock and move during a session and then exit.

Regards,
JPG

lule
March 3rd, 2021, 13:08
I don't understand the issue; so you may need to spell it out with an example.

The character list will always be in the default position when creating a new campaign. It will only remember a change in position, if you unlock and move during a session and then exit.

Regards,
JPG

Code example:


<panel name="characterlist">
<anchored height="85" width="40">
<left offset="85"/>
<top />
</anchored>
<class>characterlist</class>
<dynamic />
<locked />
</panel>

The defined default position is 85px left of the left corner of the window. But it isn't. It is always in the left corner. After a reset of the position using the icon or rpositionu, the postition is as defined: 85 px offset of left.

Moon Wizard
March 3rd, 2021, 16:24
I think I see what you mean. It's because the global character list script is setting the size before the initial layout is happening which locks the position to 0,0. I'll reorder some of the script calls so that the default layout is observed as defined in the panel. It should be in the next CoreRPG update.

Regards,
JPG

lule
March 4th, 2021, 21:35
Thank you very much! And thank you for that hint with the scripts. Here is a workaround for all rulesets layering CoreRPG and need a other anchoring then 0,0.


<windowclass name="characterlist" merge="join">
<script>
function onInit()
end

function onFirstLayout()
if super then
if super.onInit then
super.onInit();
end
if super.onFirstLayout then
super.onFirstLayout();
end
end
end
</script>
</windowclass>

lule
March 10th, 2021, 12:17
Thanks for the patch in CoreRPG v2021-03-09. He is working fine. This workaround is not needed any more. Good job!