First, Happy New Year, everyone. Late but still counts. :) Welcome to the first this year, weekly development report or what was done in my Open Source projects in the last week.
Roguelike in a sky with steampunk theme (written in Ada)
The next year started, next bugs found in the stable version. Thanks to a player who pointed me in the right direction, two bugs are fixed now:
- Crash during the combat between ships
- Crash when trying to show the game statistics. This fix may solve other issues too. Not all of them, but a couple for sure. :)
And because both of them are serious problems, time for the next, again, more stable version of the game. Yes, we back to almost every week releases. :) In around 24 hours since this post, it will be available for download.
Meanwhile, the development version going forward as usual. Another week full of fixes of bugs, but now started work on a new feature:
- Fixed default keyboard shortcuts for moving the map
- Fixed scrolling of the player's ship's modules list with a mouse wheel.
- The crash in the combat between ships is fixed here too.
- As mentioned above, started work on ability to set the time interval for button Wait. Currently, it is set to 1 minute, the idea is to allow players to change this value in the game's options. The work is almost finished, the last thing to do is setting the button in in-game options. It should be done in the next week.
- And the work on rewriting the game in Nim continues. This week, another milestone passed - now, according to GitHub, around 30% of the code is in its new home.
The non-POSIX command shell written in Nim
Again, week full of changes in the project. I hope that they don't introduce too much "unexpected changes". :) I finished work on previously started task and moved to making the existing commands more user-friendly:
- The command
exec
is now finished. It can run the selected command with or without using the system's default shell. Its behavior depends on the new shell's option, mentioned below. This is progress from the plans which were in the previous week. :)
- As mentioned above, the new option arrived in the shell: execWithShell. It allows setting if Nish should execute any command by using the default system's shell or without. The command
exec
always works opposite to this setting. So, if the option is set to execute commands with the default shell, command exec
will execute a command without using the default shell.
- Fixed saving an output of the shell's alias to a file. Previously it was overwriting the content of the file. Now it properly appends the content at the end of the file.
- Fixed sending an output of the shell's alias to the standard error.
- Updated the description of the shell's option completionCheckCase.
- Updated the project's description with information about executing commands.
- As mentioned above, started work on making existing commands more user-friendly. Currently, work is on commands related to the shell's aliases, like showing, editing or deleting. When commands related to these actions are executed without entering the ID of the alias, the commands will ask the user for an alias to edit. For example, now command
alias show
is valid, same as alias show 1
. In the first case, the user will have choice the alias from the list. The feature require some changes in the code, mostly related to showing the list of available names.