Repository navigation
Releases: Chewt/goterm
Release list
v1.7.0
Release Notes
- New
mousecommand which enables mouse support. Click on a point once to highlight it, then click it again to place a stone. You can also double click to immediately place the stone. Turn on mouse mode withmouse onand turn it off withmouse off
Bugfixes
- fix bug where handicap was not being respected by engines
- fix bug where boardsize was not being respected by engines
- fix bug where you could play a stone past the right edge of the board
Full Changelog: v1.6.0...v1.7.0
v1.6.0
Release Notes
-
Disable marks for next moves
-
Reduce memory used by loaded sgfs.
large SGFs like Kogo's Joseki Dictionary were using almost 500MiB which
is absurd. I have reduced the number of possible branches per node to
mitigate this. It is unlikely someone will have more branches per node
than 50, which is the current limit. -
Add support for showing labels
-
Mark opponents turn if starting game with handicap
Bugfixes
-
Completely rewrote sgf parsing. It was pretty broken for anything even slightly
complicated before. -
Fix calloc call
The arguments in my calls to calloc had their arguments in the wrong
places. This might not have caused any problems at the moment, but it
was wrong nonetheless.
Full Changelog: v1.5.0...v1.6.0
v1.5.0
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 thesaycommand 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
v1.4.0
Release Notes
-
Improve sgf reading
I was using an incomplete way of parsing SGF files before that lead to
some issues with SGFs with comments and other node markup properties
being read as moves occasionally. I have written up a more robust way to
parse these moves. -
Add partial command support
You can now use only the first few characters of a command, as long as
you supply enough characters to be unique from other commands.
Thenamecommand was renamed torenameso that thenextcommand could be
used as justn. -
Add goto command
The goto command allows the user to specify a move to view -
Add 'here' option to Undo
You can now use the command: undo hereto reset the game to the current move
that you are viewing. -
Add name metadata to sgf output
Bugfixes
-
Fix white player not active when set handicap
When playing with a handicap specified on the command line, the player
needs to be set to White to go first. This is important when playing
against engines so that they know to play immediately. -
Fix bug where board view changed unintentionally
If the user was looking at a previous move and made an invalid command,
the board view was changed to be the latest move in the move history.
Now it will stay where the user was previously. -
Fix bug with stone capturing
This was a tough bug to find, and then fix. Basically stones that were
set to be removed were added to a stack, and also a list. The list was
to make sure any future stones couldn't be added to the stack for
removal. However I only added the points to the list after popping them
from the list, which meant that if a point was pushed to the stack, then
another one of those points was pushed to the stack before popping the
original point, it would be added twice to the list which was used for
counting how many stones were removed at the end. This resulted in an
incorrect stone count in very rare circumstances. -
Fix bug with IsNetworkedCommand()
IsNetworkedCommand was using the wrong buffer to check for name matches. -
Fix bug where player color is not preserved
In a networked game, the player color was not preserved after undo.
Full Changelog: v1.3.1...v1.4.0
v1.3.1
Bug Fixes:
- Result field wasn't big enough to hold certain results such as "B+Resign"
- The name command wouldn't accept single word names
- Invoking the handicap command without an argument was reporting komi instead of the current handicap
- replace instances of strlcpy with strncpy in the source code since strlcpy is BSD specific
Full Changelog: v1.3.0...v1.3.1
v1.3.0
New Features:
- You can now specify handicap stones at the start of the game
- You can load SGF files
- You can can view past moves in the game with the 'b' command. Conversely you can use 'n' to go forward in the game history.
- You can change the name of the Black player or White player
Full Changelog: v1.2.0...v1.3.0
v1.2.0
v1.1.0
New in this release!
- I've made a transition into using ncurses for handling all of the terminal output
- new "say" command added while playing a networked game to send messages to the other player
- The board position on the screen will now try to be centered, and a warning will appear when you try to resize the board to something that won't fit on your terminal window.
- minor bugfixes