PDA

View Full Version : Test version available (2.4.0)



Goblin-King
March 23rd, 2009, 11:35
Version 2.4.0

Implemented a new launcher. You may notice it now relies less on Windows specific components, presents a more uniform user experience across the launcher and the actual game mode, allows increased flexibility such as returning to the launcher if the client connection is lost, as well as allowing us to develop the functionality of the launcher more flexibly in the future.
Added the function genericcontrol.hasIcon, which can be used to check if an icon that was set was actually loaded into the control.
Added script support for scrolling lists, formatted text controls and image controls. The functions windowcontrol.getScrollState and windowcontrol.setScrollPosition can be used to perform the operations, and the windowcontrol.onScroll handler is available for detecting changes.
Parameter coordinates to windowcontrol.onDrag were useless if the position of the receiving control was adjusted during a drag. The parameters are now based on the position of the control at the time the drag was started.
Added the bitmapwidget.setSize function to the scripting interface. This allows the implementation of widgets whose dimensions are not dependent on the size of the bitmap image contained inside. The widget frame will be adjusted to this size, and the contained bitmap will be scaled down to fit if it is too large to fit the given bounds.
Added a "center" panel & control anchor point. This allows both horizontal and vertical anchors to be set at the center of a window or parent control.
Support for local mode extensions was added. When local mode is started with a locally installed ruleset, any compatible extensions also locally installed can be enabled. When browsing campaigns previously played, the extensions enabled by the host on the last session will be automatically loaded.This version also features an updated version of the updater, that should remedy issues with some DNS servers, causing the update process to get interrupted prematurely.

Leonal
March 23rd, 2009, 12:00
Hi,

Thanks for adding a test version!

I just tried the update by loading different campaigns in either Foundation, 4E or d20_JPG rulesets. Works excellent, with the exception that when using d20_JPG v2, and while having the combat tracker open when clicking "return to launcher" (a great function I've been hoping you would add) the program crashes to desktop.
This does not happen with either Foundation nor D&D 4E rulesets though.

System specs:
Vista 64bit Business
4Gb ddr2
Intel Q6600
Nvidia 9600gt

error log:

- <Event xmlns="https://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2009-03-23T10:55:06.000Z" />
<EventRecordID>8793</EventRecordID>
<Channel>Application</Channel>
<Computer>xxxxx-PC</Computer>
<Security />
</System>
- <EventData>
<Data>FantasyGrounds.exe</Data>
<Data>0.0.0.0</Data>
<Data>49c75ec5</Data>
<Data>FantasyGrounds.exe</Data>
<Data>0.0.0.0</Data>
<Data>49c75ec5</Data>
<Data>c0000005</Data>
<Data>000668f5</Data>
<Data>11a4</Data>
<Data>01c9aba4ccd49580</Data>
</EventData>
</Event>

Spyke
March 23rd, 2009, 13:10
Thanks, some nice new features there. I also like the new button in the launcher for testing that your port is open. That will be a big help for people hosting for the first time.

Spyke

Tenian
March 23rd, 2009, 13:44
Does this include the onDrop fixes mentioned by your post in this thread (https://www.fantasygrounds.com/forums/showthread.php?t=9528)?

I don't see anything mentioned in the notes.

Goblin-King
March 23rd, 2009, 13:47
Does this include the onDrop fixes mentioned by your post in this thread (https://www.fantasygrounds.com/forums/showthread.php?t=9528)?

I don't see anything mentioned in the notes.

Yes. Thanks for pointing that out.

Tenian
March 23rd, 2009, 21:18
That token onDrop support for clients works great :)

Love the new launcher interface too.

I did have trouble getting it to work the first time...my wi-fi dropped out in the middle of the download and rendered my FGII unusable. I had to run the Updater manually to fix the issue.

Oberoten
March 23rd, 2009, 21:45
Looks great... and seems to run a bit faster actually? Have you been tidying up the code?

- Obe

Moon Wizard
March 23rd, 2009, 23:33
Yeah, it seems a bit snappier to me as well. Might just be the new graphics. :)

I did have one crash already. I was running 2 versions to test client-host features, and when I clicked on the client to exit and return to launcher, it crashed. I had a map and the combat tracker open on both client and host using the 4E_JPG ruleset.

EDIT: It did not crash when I selected exit instead of return to launcher.

Cheers,
JPG

Moon Wizard
March 23rd, 2009, 23:50
One thing I noticed related to the client onDrop capability.

The onDrop feature is working great when the combat tracker is first opened, and it links to the tokens on the map using the populateFromImageNode function.

When tokens are dragged onto the map from the GM combat tracker while the client trackers are open, I'm trying to figure out how to get the token instance linked to the tracker entry.

On the host, the onDragEnd function for the tokenfield object pulls the tokeninstance from the dragdata object.

On the client, the only way I've found to determine that a token has been dragged onto the map is through the imagecontrol onTokenAdded callback function. When this function is called, I tell the client combat tracker window to rebuild all token references using the populateFromImageNode function.

However, it seems that the tokenfield.populateFromImageNode function still returns nil when onTokenAdded is called on the client.

Is this expected behavior? Or any ideas?

Thanks,
JPG

Goblin-King
March 24th, 2009, 07:58
On the client, the only way I've found to determine that a token has been dragged onto the map is through the imagecontrol onTokenAdded callback function. When this function is called, I tell the client combat tracker window to rebuild all token references using the populateFromImageNode function.

However, it seems that the tokenfield.populateFromImageNode function still returns nil when onTokenAdded is called on the client.

Is this expected behavior? Or any ideas?

I tested this and could not get populateFromImageNode to fail. I did run into an issue with imagecontrol.getDatabaseNode. I'll fix it, in the mean time make sure you use tokeninstance.getContainerNode.

If you can come up with an example I could test this with, I'd be happy to have a look at it. A simple extension based on the foundation ruleset might be a nice test case.

Goblin-King
March 24th, 2009, 08:25
There's a new build available.

Fixed a crash that occurred when shared windows were open while selecting the return to launcher option. I'm assuming this is the issue reported, if there's anything more like it, let us know.
Fixed the issue with imagecontrol.getDatabaseNode.
Fixed an issue with the launcher occasionally losing the selected extensions for the campaign that was last active.

unerwünscht
March 24th, 2009, 08:40
Just a quick observation, cause I was a little confused at first. Should this not be versioned as "Fantasy Grounds v2.4rc1" and now rc2? This would signify that the product is still in the testing faze and not necessarily stable... although as far as I can tell you guys have done a great job, I have had no crashes as of yet.

And a side note, I like the new launcher.

Oberoten
March 24th, 2009, 09:36
Hmmm... I am seeing crashes when loading multiple extensions.

A skin and a 2 or 3 more extensions seems to do it. Especially if the skin contains large images for the desktop.

- Obe

Moon Wizard
March 24th, 2009, 18:36
Thanks for the quick response, Goblin-King.

The challenge with creating an extension is that there is no shared window in the foundation+3.5E ruleset to piggyback off of, so it requires a fair amount of time to recreate all the bits in a new ruleset.

The issue is that tokenfield.populateImageNode returns nil when called in addToken for the tokeninstance just dropped. The code iterates through the window list of a client window that shares tokenfields with the host combat tracker. All other tokens on the map that were previously dropped return a non-nil value. (i.e. last token dropped is not linked, but all others are)

My hypothesis is that the image database is not updated yet, when onTokenAdded is called. I thought this might be related to the fact that tokens sometimes take a few seconds to load after being added.

I'll take a look at building an extension to test, but it's going to take me a little while to figure out the foundation ruleset and how I can build a test case.

Thanks,
JPG

PneumaPilot
March 24th, 2009, 23:40
Here's a problem I noticed: when you maximize the game window and then return to the launcher, there is no clear way to just close the program.

Also, I don't think the little test/release tool worked for me. It seems that I'm stuck in 2.4 now.

Tenian
March 25th, 2009, 00:06
I still get periodic return to launcher crashes....or if it works sometimes it crashes when I connect to the same server (localhost) again.

Moon Wizard
March 25th, 2009, 01:32
OK, I spent all afternoon building an extension to re-create the situation, and I think I understand what is going on better. (attached)

* Either onTokenAdded handler is triggering on the client before onDragEnd handler triggers on the host
* Or the database fields set in the onDragEnd handler are not propagated to the client before the onTokenAdded handler is called.

Since I can recreate with only the host using this extension, I assume it is the first option. I found a workaround for my situation, so I'm providing the extension for completeness. (Workaround = trigger token re-linking on refid field change, triggered by onDragEnd code)

I will say that using an extension to modify any part of an existing window in a ruleset is very painful, and not something I want to repeat. I think this is especially true for the foundation ruleset, since the windows and scripts are so complex to handle all the possible use cases. Unfortunately, since a client view of the combat tracker isn't one of the use cases, it makes it much more complex to create an extension.

Here are a few things I thought were nice about the version so far:
* Tooltips are a nice way to learn more about the options available. (Would be great to customize by ruleset, especially since mine disable right click reset)
* The fact that the host name is remembered separate from the client name makes ruleset testing one step easier.
* It seems like the reload command is a bit more stable as well. Before, I would get crashes after 6-8 reloads. I had at least 10 this time with no crashes.
* The images passed to the clients seem to load much quicker.

Cheers,
JPG

Goblin-King
March 25th, 2009, 07:57
OK, I spent all afternoon building an extension to re-create the situation, and I think I understand what is going on better. (attached)

* Either onTokenAdded handler is triggering on the client before onDragEnd handler triggers on the host
* Or the database fields set in the onDragEnd handler are not propagated to the client before the onTokenAdded handler is called.

The order of events in this case should be:
The onDrop script event is fired. The script has an option of returning true so no further processing is done and the token drop is effectively aborted.
The token is created on the host and the onTokenAdded function is fired.
The token is delivered to the clients.
The onDragEnd function is fired.Operations performed by the host are almost always done in the same sequence on the clients as well. In this case the data base field modifications would be done before or after the token addition, depending on whether they are done in onDrop or in onDragEnd.

Everything on the client will happen after the host has completed all of this.


Since I can recreate with only the host using this extension, I assume it is the first option. I found a workaround for my situation, so I'm providing the extension for completeness. (Workaround = trigger token re-linking on refid field change, triggered by onDragEnd code)
I would formulate it as a combination of your two observations:

The onTokenAdded handler is triggering on the client before the changes done by triggering onDragEnd on the host are applied on the client.

I would think that it would work by either:
Changing database values in onDrop, and checking them in onTokenAdded
Setting the refid value in onDragEnd and monitoring the node on the client (this seems to be your workaround)To me, the situation seems to be working as intended (please correct me if it seems wrong). The problem is that you're pushing the envelope with this a bit so it comes down to small details... :)


I will say that using an extension to modify any part of an existing window in a ruleset is very painful, and not something I want to repeat. I think this is especially true for the foundation ruleset, since the windows and scripts are so complex to handle all the possible use cases. Unfortunately, since a client view of the combat tracker isn't one of the use cases, it makes it much more complex to create an extension.
Your effort is appreciated. I think the problem here is that you're working on a case that is so complex that building a controlled replication environment is a lot of work however you do it.

I'll mention this to anyone reading who might come to a similar situation: Whenever a complex situation like this arises, it's relatively complicated for us to come up with a similar situation on our own, and even if we do it's not guaranteed to be the same as the user's. I wasn't suggesting that we demand everything to be based on the foundation ruleset, or that we couldn't just have a look at a work in progress ruleset if it's mailed to our support address and it displays the case clearly. Coming up with a small extension file is helpful in the sense that it makes the environment it's ran in more controlled, and is easier for other community members who might be interested in the issue or willing to help. In many cases simpler than this one, a completely new windowclass with just a couple of controls to demonstrate is enough.

Virginal raccoon
March 25th, 2009, 08:12
Has anyone tried to run the test version through Wine in Linux?

Leonal
March 25th, 2009, 08:39
Here's a problem I noticed: when you maximize the game window and then return to the launcher, there is no clear way to just close the program.

Also, I don't think the little test/release tool worked for me. It seems that I'm stuck in 2.4 now.

Note that you will have to "update" down to 2.3.6 again, after you click on the test tool, if that is the issue.
If you did that and it didn't work then I don't know...

PneumaPilot
March 25th, 2009, 16:36
Huh, strange about the 'update-down' thing. Thanks for the heads-up. Still think you need some way to exit out of a full-screen launcher, though.

Oberoten
March 25th, 2009, 20:25
The new update broke Extensions to some extent. If you load more than a handful FG locks upon loading.

- Obe

Moon Wizard
March 25th, 2009, 21:06
Thanks for the explanation, Goblin-King. You're right in that the details become very important, and I appreciate the breakout.

Another thing I noticed is that the auto-save appears to not be working. I do not receive any 'Campaign saved.' messages while idling; and the db.xml file isn't updating, so it doesn't seem to be doing it in the background.

Cheers,
JPG

Moon Wizard
March 26th, 2009, 00:59
Would be nice to have an onValueChanged for all standard fields (i.e. diefield).

Right now, I can't find a way to get diefield change events. I tried tying to the onUpdate function for a diefield node, and when I use getDice() in the handler, I get the value of the node before the dropped dice are added.

function onInit()
getDatabaseNode().onUpdate = onValueChanged();
end

function onValueChanged()
local dice = getDice();
for k,v in pairs(dice) do
local msg = {font = "systemfont"};
msg.text = "Dice #" .. k .. " = " .. v;
ChatManager.addMessage(msg);
end
end

Thanks,
JPG

Moon Wizard
March 29th, 2009, 23:25
Another kudos for the message of the day. I learned today that you can:

* Temporarily enable shortcuts by holding the CTRL key
* Quickly creature pointers and areas by clicking and holding both mouse buttons on a map. (default = line, SHFT = square, CTRL = circle, ALT = cone)

Sweet,
JPG

Griogre
March 30th, 2009, 08:52
Ahh, I thought everyone knew those ones. ;)

Goblin-King
March 30th, 2009, 10:29
We're still investigating the multiple extension lockup bug reported, and will be pushing the release date back until it is done. Hopefully, not too many days.

EugeneZ
March 30th, 2009, 13:55
Thanks for the update.

Looks like the whole "test vs. release" idea is turning out beautifully.

*applies non-existant FG2 sticker to nearest locker*

Goblin-King
April 1st, 2009, 10:07
The new update broke Extensions to some extent. If you load more than a handful FG locks upon loading.

Investigating this issue, I found one possible dependency extension checking error, but I am doubtful it is to blame here. Other than that, we haven't been able to replicate this. Can you list the extensions you are using when this happens or narrow it down to some specific extensions?

Has anyone else ran into this problem with the test version?

Oberoten
April 1st, 2009, 12:04
As far as I can tell it is when an extension tries to replace a piece of graphic allready replaced by another extension.

The extension affected seems to be a skin for StarWars which replaces the basic character-sheet graphics with a more modern set. (Datapad)

It loads fine when loaded alone, but as soon as I start popping in others FG locks when I press the start button. The problem seems to come up early on since it doesn't get to consume more than 57 Mb of ram (as compared to the normal 200+ mb. )

This worked fine in previous version of the ruleset but locks in the curent wether the extensions are loaded into the foundation or my own ArsMagica set. (Yes we run StarWars with ArsMagica. ;) )

- Obe

unerwünscht
April 1st, 2009, 12:12
Just to try and help a little here, when I load FG with all of my MASSIVE maps, and hundreds of tokens it takes up 76 Mb of memory, there may or may not be other issues at work here.

Oberoten
April 1st, 2009, 16:47
Fully up and with extensions loaded I am at 140 mb ram taken with the new version.

- Obe

Tenian
April 2nd, 2009, 01:06
What about the automatic saves has that been fixed? I find the lack of "Campaign Saved" messages a little disconcerting.

Moon Wizard
April 16th, 2009, 00:33
Any news on the new version?

Also, a hopefully minor request. If a client calls createChild and the client is not the owner of the node, can the createChild call instead act like a getChild call, instead of creating a phantom node on the client?

I think that this will clear up any possible phantom windowlist record issues now and in the future.

Thanks,
JPG

DarkWiz58
April 16th, 2009, 05:44
I think moon_wizard's idea about createChild translating into getChild for clients who don't own the node is an EXCELLENT idea. It probably will fix more than a couple of oddities that I see.

I hope that you FGII devs don't find any problems with this idea.


---Thanks, DarkWiz58

Foen
April 16th, 2009, 06:34
Why not wrap the createChild call in a node.isOwner test?


if node.isOwner() then
newnode = node.createChild(...)
else
newnode = node.getChild(...)
end

Not as elegant as a built-in fall-back behaviour, but should provide the functionality you need.

Foen

DarkWiz58
April 16th, 2009, 15:05
Yes, thought of it, but my philosophy is that the base code could handle this as a nice service to insulate the sleep-deprived Lua writer from a subtle mistake that gives no immediate error.

However, if this will eliminate some client functionality that I don't yet understand, then I'll wrap it out in my script as you suggest.

-darkwiz

Moon Wizard
April 17th, 2009, 20:04
Yes, it prevents the odd behavior where the client can create phantom nodes, which seems like it should be prevented by the platform anyway.

Also, it would most likely also address similar issues with DB.createNode and windowlist.createWindow calls.

Cheers,
JPG

Bidmaron
April 21st, 2009, 05:17
Any chance of fixing the setValue/getValue problem with formattedtext fields?

unerwünscht
April 21st, 2009, 06:34
Its been a month since this thread was started. Did you guys decide to start working on 3.0 instead? LOL

Goblin-King
April 28th, 2009, 08:14
There's a new update available (designated as RC3, visible in the patch notes).

This update addresses the extension crash issue and the databasenode.createChild anomalies.

Barring any further problems, we're planning to release this version after the weekend.

Oberoten
April 28th, 2009, 10:39
What exactly WAS the problem with the extensions?

- Obe

Goblin-King
April 28th, 2009, 11:42
A bug caused the rewritten extension loading mechanism to fail, when loading an extension with an exclusion group and another that didn't have one, in a certain sequence.

Tenian
April 28th, 2009, 12:09
Are the automatic saves back in as well? Or the message repaired if that was all that was broken?

XpressO
April 28th, 2009, 17:32
I just have to say I just found this new piece of the forums and though I don't understand a bit of it it's a heart-warming sight to see Goblin-King and moon_wizard working together to provide us the best FG2 (and 4E !) experience ever!

A loud thank you from here to both SmiteWorks and moon_wizard's 4E team. You make my games possible!

-XpressO

Goblin-King
April 28th, 2009, 19:35
Are the automatic saves back in as well? Or the message repaired if that was all that was broken?

Yes they should be. Missed that one in the notes.

ElementEvil
April 28th, 2009, 23:43
Script Error: [string "scripts/identityselection_list.lua"]:40: attempt to index local 'labelnode' (a nil value)

message comes up when i go to pick out a server character, which never load.

I also got (a nil value) errors in 2.3.6 when i clicked the powers tab in the mini char sheet- Connection?

I'm running Windows 7 if it makes a difference. However I don't think that should be an issue. FG2 is updated as of april 28 3:43PST


EDIT:
Can't save new characters or make changes to existing characters.

Bidmaron
April 29th, 2009, 11:29
Can you please fix the bug/feature that won't let you copy an image link into an image control? I have tried everything that can be to do so, and FG2 just won't copy the <bitmap> tag. I almost have the images in items working except for dragging the image from the image folder onto my image control, but it won't work. If you'd like to see the code I'm attempting, I could post it. I've asked Foen to look at it just to make sure I'm not being stupid, but as I've said, I've tried everything possible (NodeManager.copyNode, getValue and setValue, etc) but nothing works (nor does it generate an error, it just doesn't copy).

Tenian
April 29th, 2009, 13:25
Yes they should be. Missed that one in the notes.

Confirmed, it's working. Thanks! :)

Moon Wizard
May 1st, 2009, 20:12
I knew that the createChild change might have some impacts, but there are more issues than expected.

It appears that whenever the createWindow() function is called in a windowlist, the window is getting created without a database node. Since this is on the host, this seems like it's a big problem. I'm getting errors all over my rulesets.

I could create similar errors when loading a new foundation + 3.5E campaign:
* Client clicks New button to create a note
* Client requests module, and host opens
* Viewing character skills tab (plus base skills not created)
* Dropping spell from module onto character spell tab

A couple other things:
* DB.createNode should function like DB.findNode when the target node is not owned.
* DB.findNode is failing on the client, even if the client has been added using addHolder.

Additionally, I once got the following error whenever I tried starting a game with any ruleset. I reloaded FG, and it no longer happened.


Script Error: [string "scripts/LauncherProperties.lua"]:172: bad argument #4 to 'startHost' (table expected)


It seems like the creation functions may need a little more behavioral tweaking.

Thanks,
JPG

Goblin-King
May 4th, 2009, 09:59
I made a RC4 available to address these issues.


It appears that whenever the createWindow() function is called in a windowlist, the window is getting created without a database node. Since this is on the host, this seems like it's a big problem. I'm getting errors all over my rulesets.
This one should be fixed now.


A couple other things:
* DB.createNode should function like DB.findNode when the target node is not owned.
* DB.findNode is failing on the client, even if the client has been added using addHolder.
RC3 and later should work as you describe, i.e. DB.createNode acting as DB.findNode. DB.findNode itself is a very simple function, and if it fails, the reason is somewhere else. Can you be more specific about the situation? Have you checked using some other method that the node distributed with addHolder is actually sent ok?

Bidmaron
May 4th, 2009, 11:58
Can we get the getValue() and setValue() bug/feature for formattedtext and image node types fixed? If not on this release, can we get it fixed soon? Or is there a reason you don't want to fix these issues?

Tenian
May 4th, 2009, 12:47
It's been on the wishlist for quite some time. Apparently it's not a simple change as hinted at in this thread:

https://www.fantasygrounds.com/forums/showthread.php?t=8969&highlight=setValue

Moon Wizard
May 10th, 2009, 00:13
BTW, I posted an extension in the House of Healing that highlights an issue with shared windowlists. I think this is related to the infinite looping I've seen. I found the issue in RC4 with my ruleset, and reproduced at least partially with the extension.

Thanks,
JPG

Oberoten
May 12th, 2009, 21:48
A rather major bug...

Working well under RELEASE version : Loading characters for GM-client connected to localhost.

Under the TEST version this gives an error on character_selectionentry.lua line 50 labelnode.

- Obe

Tenian
May 13th, 2009, 02:42
Are you sure you're not running RC3? (is the update available button shown?) I had that problem in RC3 but the RC4 fixes cleared it up.

Oberoten
May 13th, 2009, 07:48
Yeah, I had RC-4 back to the Release though for me.

- Obe

Oberoten
May 14th, 2009, 10:40
Yeah, I had RC-4 back to the Release though for me.

- Obe
Problem still remains.

To duplicate :

1. Start Host session.
1b. /console
2. Connect a client to localhost.


- Obe

*** Note ****
Error occurs under foundation ruleset as well as homebrews.

Tenian
May 14th, 2009, 11:27
Do you have local characters? That was the problem I encountered. Once I removed the local characters I was able to connect.

Alternative you can add a nil check to the character_selectionentry

Oberoten
May 14th, 2009, 11:33
Do you have local characters? That was the problem I encountered. Once I removed the local characters I was able to connect.

Alternative you can add a nil check to the character_selectionentry

I will do this. Thanks.

As a side-note? It works perfectly with the CoC ruleset.

- Obe

Oberoten
May 14th, 2009, 11:48
Do you have local characters? That was the problem I encountered. Once I removed the local characters I was able to connect.

Alternative you can add a nil check to the character_selectionentry

That worked a charm. 'fanks.

- Obe

diehard
May 14th, 2009, 13:05
good work :)

for this new version, I suggest you try this version for the sax parser as an alternative to the dom parser. this because the sax parser consumes less RAM and if I remember correctly and faster for large xml files. :)

could improve by a lot

EugeneZ
May 15th, 2009, 04:36
good work :)

for this new version, I suggest you try this version for the sax parser as an alternative to the dom parser. this because the sax parser consumes less RAM and if I remember correctly and faster for large xml files. :)

could improve by a lot
That's not true for all applications. DOM is more maintainable (though I guess that's a matter of opinion) and hardly worse memory-wise if you are using large tree structures that you are consuming, which FG does. If you're only consuming small pieces in an event-driven nature, which while sometimes true in FG, this definitely becomes less and less true as your application grows. Not to mentioned that if they're using DOM now, it would most likely require refactoring the entire application to switch to SAX.

Witness the rise and fall of SAX-based XSLT as proof, while most applications are using DOM just fine.

Uhhhh... back to your regularly scheduled Fantasy Grounds conversation.

Tenian
May 21st, 2009, 23:39
All done with the Foundation and no extensions loaded:

1) For some reason the "Start" button on the launcher does not always work. I often can only start a game by double clicking on the name.

2) Starting a new campaign under the foundation throws:
stripts/LauncherProperties.lua 172 bad argument #4 to 'startHost' (table expected)
The campaign is created, but doesn't launch, you have to navigate back to the initial screen and you have to Load a Campaign to start it.

3) Clients can not create notes. When they try it throws:
string "notelist<unanmed>" 1: attempt to index a nil value.
In addition they can't see notes from 2.3.6. It all works for the host, it seems like clients are not pointed at the "notes" database node. If you alter the script for the "New" button on clients to point to the "notes" database node they can create notes but not see them (they appear on the host).

Zoso
May 28th, 2009, 13:40
I'm having troubles with script errors when opening certain parts of the Adventurers Vault library module. Specifically opening the vehicles or NPC-Mounts sections. It works perfectly on the host, but the clients can't see the names on the vehicle list when they open the vehicles link. When you click on a specific vehicle entry, the console starts spamming errors such as:

Script Error:[string "npc_combat:type"]: attempt to index a nil value. Each stat block will get one of these.

Then it starts repeating endlessly:

Ruleset Error: No vertical anchor defined for (every stat block).

Like I mentioned, these entries are shown correctly on the host, but even connecting through localhost shows this strange client behaviour. Any ideas?

This was using the 4e 1.5 ruleset. I can confirm that the error was reproducible after reinitializing the module several times as well as exiting the client. The errors are also present when opening any entries in the Mounts list, although the list itself shows all the data unlike the blank list for vehicles.

I tried the module with FG 2.3.6 and now the module is functioning correctly, so it looks like it has something to do with FG 2.4.

Moon Wizard
May 28th, 2009, 17:07
For some reason, the windowreferencefield control is not behaving the same in v2.4.RC4 vs. 2.3.6 for this module.

For any windowreferencefield whose class is "npc" in the module, getTargetDatabaseNode() is returning nil, and activate() is opening an NPC entry with no data.

This is what Zoso is seeing.

Maybe the apostrophe in "Adventurer's Vault" is causing an issue? Not sure why all the other links are fine though (feats, items).

Thanks,
JPG

Zoso
May 28th, 2009, 17:15
For the module name, I did not include the apostrophe. It is just Adventurers Vault.mod. All other links appear to function correctly.

Also, there is a black smear at the top of the NPC window. I believe this is the data, all overlapped instead of in their correct fields.

Moon Wizard
May 28th, 2009, 19:29
Good to know on the apostrophe, just a wild guess anyway.

The black smear is most likely all the fields crammed on top of each other, since the reference controls are failing. Also, I'm working with a development version of the ruleset, so I've added in some better error handling. As mentioned in the previous post, I was able to track down the root problem from a ruleset perspective.

Cheers,
JPG

Bidmaron
May 31st, 2009, 14:29
Any chance on an update of where the devs are on releasing this?

Goblin-King
June 22nd, 2009, 12:50
I finally found and fixed a couple of stealthy bugs with this, and released 2.4.0.

Testing status for all users has been reset to the live version. If you have any issues, please reply in the update thread in the House of Healing.

A big thank you to all who helped with the first public test version, I think this experiment was a success.

DarkWiz58
June 22nd, 2009, 14:59
I'm personally VERY grateful you waited to release 2.4 until it was ready.

The test-version switch was indeed a great success. Our community of dedicated beta testers really brought out some nasty lurking bugs.

Thanks for all the very hard work, Tero!

-DarkWiz58 / Alex