Pretty Garage

From Stunts Wiki
Pretty Garage v1.1

Pretty Garage is a GUI-base garage tool for Stunts developed by Cas aimed at providing a comfortable experience and ease of use. The project was started on 19 January 2024 and quickly reached version 1. By early March in the same year, it was already capable of accessing online repositories, a feature still unavailable to its CLI-oriented counterpart Simple Garage, whilst the latter allows for a more powerful set of commands and filtering options.

Pretty Garage can render car images on-the-fly, which makes it easier to identify cars and has been made with the idea of eventual compatibility with the Car Archive project, led by dreadnaut.

Garage handling

Like Simple Garage, Pretty Garage supports the definition of one or more garage directories, besides Stunts' main path, which is also used in a similar way. Cars can be exchanged between these garages rather freely. Stunts' path only differs in that it cannot hold more than 32 cars and one car can be defined as default (normally, the Countach) and cannot be moved out of the directory. However, these rules can be overridden, as most actions in the program have the option of becoming forceful if the shift key is being held down.

Junkyard

The user can define one garage to be the junkyard. If a junkyard is defined, attempting to delete one or more cars will immediately send them to that directory without confirmation, unless they are being deleted from the junkyard itself. This is similar to the behaviour of trash cans in desktop OSs. In Pretty Garage, the first garage with a name that begins with "junk" (case insensitive) is set to be the junkyard, if it exists. Without a junkyard, the user will always be prompted for confirmation when deletion is attempted and if approved, it will be permanent.

Groups

Groups in Pretty Garage work in the same way as in Simple Garage. They are lists of car IDs. Offline (normal) groups can be modified freely and while browsing a group, you're able to see where the cars in the list are located, as long as they are found locally in Stunts or any of the defined garages.

Online repositories

The program supports two forms of online lists: repository indices and online groups. A repository index is a file located somewhere online that contains a list of car names, IDs and where to find them. They don't have to necessarily be hosted at the same location as the index, so the actual "repository" isn't the index itself. In fact, the same index could link to several sources.

An online group is also a file found online, but it only contains a list of car IDs. Pretty Garage will treat it as a read-only group. These are useful, for example, if a tournament wants to publish the list of allowed cars for the season or somebody would like to issue the list cars they're maintaining, but without issuing sources. Pretty Garage will only be able to retrieve these cars if they are found locally.

To download lists and cars, Pretty Garage relies on curl, as it does not include third-party libraries for HTTPS communication. If curl is not installed on your system, the program will still work, but you won't be able to download any files.

Filters

New to Pretty Garage in version 1.2 is the capability of applying filters to lists. You can filter cars by name, ID or author. Filters require the use of commands and the command line can be activated by pressing Enter. The select command allows for simple or combined filters. For example:

select Porsche*,Ferrari*

will highlight all cars in the list that have their names beginning with "Porsche" or "Ferrari", while:

select dtm

will select all cars containing the string "dtm". This is the same as a select *dtm* command, as wildcards on both sides are assumed. When filtering by author or ID, you need to specify this:

select id pmin,jagu,coun

select author Duplode,Alan

The select command will start from scratch with each filter, but you can use the and and or filter operators for cumulative filtering:

or covertte

will add to the current selection those cars that contain the word "corvette" in their name, while:

and author Overdrijf

will deselect all cars whose author is not Overdrijf. All filters are case-insensitive. The not command is also available and it inverts the current selection.

Differences from Simple Garage

Besides the fundamental fact that Pretty Garage is a GUI program and Simple Garage is CLI-based, there are a number of internal details that have a different design in these two tools and may not be apparent at first sight.

  • By default, the Countach cannot be removed from Stunts' directory in both programs, but the underlying reason is very different. In Simple Garage, there's a list of locked cars which acts like a group. Cars in the locked list cannot be moved from their current location and you can have none to many locked cars. In Pretty Garage, only one car ID can be defined as default and the default car cannot be removed from Stunts' directory. Yet, it can be moved between other garage directories. If you set the default car ID to something not found in Stunts, all cars present can be moved. Only one car can be default.
  • In Pretty Garage, garage directories are a lot more like one another than in Simple Garage. Many commands in Simple Garage assume a main garage, so moving cars to other garages can make them less accessible. In Pretty Garage, all garages can be handled the same way. The only special garage is the junkyard, but in every aspect that does not involve car deletion, it acts the same way too.
  • As of version 1.1 of Pretty Garage, online features are exclusive to it and Simple Garage has no online access.
  • Starting version 1.2, Pretty Garage offers filtering commands, but they are not the same as those in Simple Garage. You can combine filters by applying them in succession with an or or and operator.

Links and getting Pretty Garage

You can find Pretty Garage at: