Developer Preview Release Soon

Started by jflat06

jflat06 Staff Lv 1

Hey everyone,

We're going to be re-posting the last devprev update with some additional fixes and changes.

Again, this includes the new 64-bit mac installer, so mac users will need to use that installer to test. You can download the 64 bit installer here: http://fold.it/dist/external/Foldit-macos_x64.dmg
You'll need to switch to the devprev update group, unlike last time.

Here's a list of the rest of the fixes/changes:

Features:

  • Added some additional instrumenting to report crashes and errors to the server.
  • The initial code for always-positive conditions (now bonuses) is being rolled out. For now, scoring will remain the same.
  • A hotkey file has been added, allowing you to customize hotkeys.
  • Loading screen tips have been added as an editable resource file. Suggestions for additions/changes welcome!

  • Additional script hooks have been added:
    table filter.GetNames() - Get all filter names
    table filter.GetEnabledNames() - Get active filter names
    table filter.GetDisabledNames() - Get disabled filter names
    bool filter.AreAllEnabled() - True if all filters are active
    void filter.Enable(string) - Enables the named filter
    void filter.Disable(string) - Disables the named filter
    void filter.EnableAll() - Enables all filters
    void filter.DisableAll() - Disables all filters
    number filter.GetBonusTotal() - Total bonus score of the filters
    number filter.GetBonus(string) - Bonus score of the named filter
    bool filter.ConditionSatisfied(string) - Is the condition satisfied or the filter active
    bool filter.IsEnabled(string) - Is the filter Enabled
    string puzzle.GetStructureName() - Get the structure name of (multistart) puzzle
    bool save.LoadSolutionByName(string) - Load the highest scoring solution by name
    void save.SaveSolution(string) - Save a solution

Additionally, the following function has changed:
structure.SetSecondaryStructure (and selected variant) - now can specify 'a' to auto-assign structure by DSSP

Bug Fixes:

  • Fixed several crashes in geometry rendering code.
  • Symmetry puzzles which once crashed when asymmetries were detected now instead cancel the running tool and report an error.

bertro Lv 1

  • A hotkey file has been added, allowing you to customize hotkeys.

For those looking for the file. No need to look for it.

Goto into the "General Options", there you will find a button that opens a new list for customization of key bindings.

LociOiling Lv 1

Due to a scoring problem with conditions/filters, the latest devprev is "blacklisted". You should see a message saying that your scores won't count soon after you open a puzzle.

The problem is similar to the one seen last time with this release, which was recalled and restored to an earlier version.

See https://fold.it/portal/node/2005441#comment-37032 for details of the current problems.

jflat06 Staff Lv 1

The devprev client has been reverted for the time being. Anyone still using that client will not be able to post scores with it. Please update to get the (old) client.

Additionally, 64-bit mac users will need to switch back to the 32-bit client (both main and devprev will not work on the 64-bit client).

Bletchley Park Lv 1

It confuses me that when I try to start a client in devprev now, it tries to download a new client.

Can you plwase list version numbers for clients somewhere so I can see where my current version ranks in the 'upgrade' path ? Please do so for all platforms and indicate which versions have been withrawn. Thank you !

Bruno Kestemont Lv 1

table filter.GetNames() - Get all filter names

1) Is the result like
Filters = {}
Filters= filter.GetNames()

2) void filter.Enable(string) - Enables the named filter

Do you have a list of strings for filters name yet? (otherwise, we'll take them from command above, no problem)

3) Comment: number filter.GetBonus(string) - Bonus score of the named filter
Great ! I think this will save the scripts a lot of time.
(but we'll need some times to rewrite them - thus please keep the oldest "filter enabled" commands)

4) bool save.LoadSolutionByName(string) - Load the highest scoring solution by name
void save.SaveSolution(string) - Save a solution

Are these 2 commands linked? Do I understand well that we name our quicksaves ourselves and we recall them with the first command? Is the number of saves still limited to 100 ?

jflat06 Staff Lv 1

Hi - as of 7/18/2018, the only platform that still has the (bad) updates is 64-bit Mac. Please use the 32-bit client on Mac for now.

For the other platforms, devprev and main are identical. As long as you're up to date, you should be good.

For version numbers, your binary should match the following hash for your platform:

MAIN binary-linux_x64 main binary linux_x64 042c521fe7dfbffd111f7a7d7a349e32
MAIN binary-osx_x86 main binary osx_x86 a7e54c9b5bf34ee98fc54b207077d34c
MAIN binary-win_x86 main binary win_x86 47b3e462d77cde5897b37de9ae27765f

jflat06 Staff Lv 1

I'll let Timo answer questions 1-3, but for 4:

These aren't actually quicksaves. They are proper saves, like you would make in the Load/Save dialog. As such, there should be no limit of 100.

They are linked, in addition to two other commands:

save.SaveSolution(string) - save a solution with the argument as the name.
save.GetSolutions() - return a list of all solutions in the puzzle. The object that is returned is a list of solutions. Each element of this list is a table with the following fields available: name, score, filename.
save.LoadSolution(solution) - takes an element from the GetSolutions function above and loads it into the game.
save.LoadSolutionByName(string) - A convenience function that lets you load the top-scoring solution with a particular name. Note that if you have multiple solutions with the same name, this wont let you access them. You will have to use GetSolutions() to find those.

Bletchley Park Lv 1

Thank you for the update on my question, however, if devprev and main are identical, why do I get this devprev version today:
20180525-f7af35c587-win_x86-devprev

2018-05-25 ?
How would I get such a hash number ?

LociOiling Lv 1

There are now wiki pages for the new functions. The pages for the changed functions haven't been updated yet.

See filter.GetNames for an example of filter names. So far, we have "Interaction Energy", "SS Design", and "Residue Count".

See save.SaveSolution and save.LoadSolutionByName for loading and saving.

For save.SaveSolution, you give the solution a name, as you would when saving manually. You can't specify a comment, but the comment field is filled in with a timestamp. The saved solutions appear in the Open/Share Solutions dialog.

Use the same name for save.LoadSolutionByName, which can also load manually saved solutions if their names are known.

There's also save.GetSolutions and save.LoadSolution. With save.GetSolutions, you get a table of solutions. You pass one of the table entries to save.LoadSolution. The format of the table hasn't been documented on the wiki yet, but see jflat's response.