Welcome to the last 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)
A fruitful week in the stable version. As usual, I'm not sure do it is good or bad. The good: fewer bugs in the stable version. The bad: they shouldn't be there. :) Here are the newest catches:
- The dialog with information about the player's ship's module is now much wider. The old one was definitely too small, especially for guns.
- Fixed showing information about ammunition used by the player's ship's guns.
- Fixed keyboard shortcut used to undock from a base.
- Fixed selecting a random faction during starting a new game.
- And fixed starting equipment for the player's ship's crew members for Drones faction. They should have a much fewer things on themselves. :)
- There is one more thing to fix, I will do it tomorrow. Thus, in around 24 hours since this post, the new stable version will be available for download.
In the development version, everything goes in the standard, slow pace. This week, don't bring any new things to UI, instead many fixes for bugs (and probably "a couple" new). After all, there is no better time to fix bugs than the week after a release. :D
- The same issues, which were fixed in the stable version, are removed from the development version too.
- Fixed crash when trying to show information about the player's boarding party in the combat screen.
- Fixed reading the player's crew members equipment from saved games.
- And some code were moved to Nim. Currently, almost all code related to combat is in its new home. That reduced the overall size of the game a bit.
The non-POSIX command shell written in Nim
Another week, with adding some features to the shell. I'm start thinking about moving some of them to plugins. But it seems, like for now they don't have any impact on the shell's performance. Especially that I don't start code optimization yet. And now to the details:
- Added date information to the debug log messages.
- Changed FreeBSD GitHub action to use the different one. The old is still not upgraded to FreeBSD 14.0, plus has some constant problems with running. For now, it seems like the new works good.
- New big thing: added types of values to the shell's environment variables. Same as in programming languages with static types, now it is required to set a type for each environment variable. By default, it is text type, which is the same as the previous behavior, but there are two more types available: command for setting the variable's value as a command and number for setting the value as integer number. This change triggered some changes in the shell's database too.
- Moved information about the error code returned by the last executed user's command before the shell's prompt, instead of after it.
- Fixed refreshing environment variables after adding a new one or editing an existing one.
- A lot of updates to the project's documentation. Started with information about the new environment variables' type system but also information about the Tab completion for commands are extended with info about adding or editing own completions.
- Now I started work on the new shell's command
exec
. It will allow executing the selected command without using the system's default shell. Nish is now mature enough to be able to do it. It "just" don't have support for globing. :) For now, the work is focused on redesign the code which executes commands.
The Nim binging to Nuklear GUI library
As expected, I finished for now adding the higher level binding for Nuklear library. And decided again to put the project on rest for now. This time I think it will be longer than one week. :) So, the next week report may be a bit shorter than this or will contain a new entry, we will see. :)