Skip to content

v1.5.0

Choose a tag to compare

@Chewt Chewt released this 13 Mar 03:17
· 29 commits to main since this release

Release Notes

  • Add repeatable commands
    Repeatable commands will repeat themselves when the user provides an
    empty command. Basically press enter to repeat the last command.

  • Adjust sgf file size estimation
    When creating the sgf file, it will now allocate memory based on the
    number of nodes, rather than a fixed size of 4KiB.

  • View beginning of game after load SGF
    The boardview is now set to the beginning of the game after loading an
    SGF file, which is more in line with other SGF viewing programs. It also
    fixes a bug where the tree view was messed up due to not tracking
    view_index during gametree creation while loading the sgf.

  • Add load sgf with branches
    All sgfs should now load correctly, even with branches

  • Add branches to written sgf files
    sgf files now write out branches as well. Turns out I didn't even need a
    queue lol.

  • Add jump command
    The jump command can be used to jump from branch to branch by specifying
    up or down.

  • Add back/next options to jump command
    The jump command can now take the options next or back to jump to the
    next branching node, or the previous branching node.

  • Add letters to show move variations in edit mode

  • Add read and write comments to sgf
    Say command adds to comments

  • Add color of player making command
    Messages sent using the say command now indicate the player that said the message.

Bugfixes
  • Fix extra space in name when no rank
    When a player had no rank, the name had an extra space at the end. I
    also moved the move number away from the last move display.

  • Fix segfault on reading invalid sgf file

  • Fix UndoHistory potentially using wrong node count
    Undoing based on number of nodes is not a great idea due to nodes being
    influenced by branches. Additionally GetHistorySize() will now walk the
    mainline and return the number of nodes it found.

  • Fix invalid read/write and branch printing
    The sgf file was being loaded into memory without a terminating null
    character, so strtok_r was trying to read past the file's memory
    contents. Also the tree visualization will now only pint branches at a
    higher height if the branch will run into another branch.

  • Fix crash when jumping with no branches
    Attempting to jump branches when none existed caused a crash due to the
    root node not having a previous node. I was attempting to access
    non-existant memory oops.

  • Fix BoardFitsScreen function incorrect width
    The BoardFitsScreen used to account for the info on the side, but I
    changed this logic a while ago.

  • Fix decrement view_index after undo

  • Fix undo from branch clears entire history
    Undoing from the first node in a branch would accidentally free the next
    mainline node instead of the branch node.

  • Fix end history marker

  • Fix default value of can_edit back to 1
    While testing I set it to 0, oops.

  • Fix wrong color being places in non-edit mode
    When can_edit is set to 0 and the user is viewing a past move, the move
    that is placed on the board was sometimes incorrect.

  • Fix edge case where mainline next was variation
    I forgot to add a check if the next mainline move was the move trying to
    be played so it was being added as a variation.

  • Fix not being able to visit branches after max
    The problem where you could not go back to branches after the branch
    limit has been met was fixed.

  • Fix memory error while branching
    Branches don't cause an off-by-one error anymore, however there is a
    known bug where you can't go back to any of the branches after the
    branch cap has been met.

  • Fix unintentional token parsing
    I neglected to notice that comments could have characters such as ';' or
    ')', both of which I use for tokenizing. This has been taken into
    account and now comments will appear correctly.

  • Fix sgf parsing and invalid read
    SGF parsing is now working as intended. Branched moves will be skipped
    for now until I have the infrastructure in place to handle them.

  • Fix sgf parsing
    There were some issues with grabbing the correct content from sgf files,
    but now it is fixed! This not only fixed comments showing up in the
    wrong places, but also other SGF parsing issue I was having.

Full Changelog: v1.4.0...v1.5.0