Townshell Versions Save

For Townscaper, an application providing additional keyboard shortcuts, tools to manipulate .scape files, screen recording

v2.2

2 years ago

Major release with a lot of contents and optimizations. Most important one are :

  • Load screen : To load to clipboard templates
  • Flip screen : to flip your town upside down
  • Stats of the current clip on down side of the screen
  • Reset button added to all screen
  • Level screen upgrade, new options
  • Merge screen upgrade, new options
  • Dig screen upgrade, new options

Details :

  • Town_capture : "_grab" modified to be more flexible on "raw" option

  • Town_clipper : corvoxToSparse updated to avoid error when no voxels where in the corvox dictionary

  • Town_cooker :

    • ALLCOLORS contains now the corresponding rgb coordinates (0-1)
    • merge accepts now an operator to perform other operation next to simple merge (+), now substract, intersect and exclusive operations are available similarly to python sequences
    • level accepts now a height filter setting, tuple as colors, smart to choose how ground voxels are leveled, ground_only to level only corner with ground voxels only and another feature to level only voxels of corners containing a specific amount of voxels (not tested the last one)
    • dig has now a max height filter and a corner setting which will delete percent of corners instead of voxels
    • paint accepts now alternate as option to perform something similar to write alternate option
    • "info" has been added it gather statistics about the input dictionary
  • Town_waiter :

    • flip_town has been added to handle new "flip" function from Town_cooker
    • isClip has been modified to check bit, dense and now sparse too before saying the clip is valid
    • loadTempTown has been added to load .json files for "Load" screen and dictSpot
    • getSpots has been added to perform loadTempTown for all .json files and gather them in one dictionary
    • to handle "info" from Town_cooker a function has been added to Utility and attribute have been added

GUI :

  • Reset button and corresponding functions have been added to all screens
  • "Info" for statistics have been added to all screens except Main menu, Capture, Write and Load. It prints on the down part of the screen the corners, voxels and max height with the date and a button "+" allows to see more details and export
  • Level, Dig, Merge and Paint screens have been modified to use the new settings
  • The notification pop up to "Load from Clipboard" animation has been modified
  • It's now possible by clicking to switch between pictures on main screen
  • Load screen added with many templates and scrolling

A new directory was created to have all templates .json and .png gathered for "Load"

v2.1-beta1

2 years ago

Write menu is added with a bunch of options. Not the most useful function but you can explore it to get surprising results

v2.0

3 years ago

See v2.0-beta1

v2.0-beta1

3 years ago

It's a bêta version So many things added ! Bugs correction:

  • Shortcut keys does not work #3 was fixed, it should work fine now
  • Townscaper pid is now searched any time it's asked so restarting Townscaper while Townshell is running should not have any effect anymore

New features and changes

  • It's now possible to use command-line to launch some command using the very early Townshell command-line syntax. Not tested much so do not expect much

  • main.py has been reorganized to have appropriate import at the right position. Utility class has been transfered to Town_waiter

  • Logging is now multiprocessing compatible, initLogging replace logging initializing in Town_table

  • logging to console via stream has been deleted

  • Town_waiter has been splited into Town_logger, Town_tool and Town_waiter. Town_tool contains all basic custom functions frequently used. Town_logger contains all functions related to logging

  • Town_capture has been added as a major add-on to Townshell, featuring a whole new menu (capture.py and capture.kv). It allows the user to take video screenshots from Townscaper while automatically moving the mouse.

  • Multiprocessing was implemented to raise the performance of the screen recording and perform some parallellism. However it's still being optimized. To sum it up, there is a process moving the mouse, another fetching the screen as fast as possible and puting everything to queues and a process packing all that's in the queue in one video file then compressing it. These two last parts are not optimized and therefore the process can be long and requires a lot of RAM usage. That's the major point that needs to be fixed before the definitive release 2.0. To prevent the computer of the user from burning to hell, the RAM usage is monitored and will stop the recording as soon as it reaches a specified value

  • To create the video with encoding H264 cv2 library and openh264-1.8.0-win64.dll are used

  • To compress the video ffmpeg is used, these features might change for full release since they are responsible for the huge size of Townshell exe

  • To perform the screenshot very quickly, https://github.com/BoboTiG/python-mss was used, a modified version of windows.py was created to capture only Townscaper and get some other stuff

  • Showcase is the main function moving the mouse, it's aware of the size of Townscaper screen and move accordingly with a bunch of settings available. It can stop registering at any time if an event is set or a keyboard specified key is taped

  • The new GUI menu has been added

v1.0

3 years ago

I've added a Gui to TownShell to make it more user-friendly and easy to pick for a casual Townscaper player. Almost all previous features are included and more have been added. The included functions are now :

  • Level
  • Paint
  • Replicate
  • Merge
  • Dig

Keyboards shortcuts are also available

townscaper

3 years ago

See README this is the first official release