programs: new section

main
Síle Ekaterin Liszka 2023-11-26 15:04:14 -08:00
parent c5f30c6915
commit 9d6e81bf0b
4 changed files with 168 additions and 0 deletions

View File

@ -0,0 +1,4 @@
---
title: Programs
---
Various programs I've written over the years.

View File

@ -0,0 +1,98 @@
---
title: Chessa
---
This page documents Chessa's commands. Her source can be found on [the Adélie Linux GitLab](https://git.adelielinux.org/Sheila/Chessa).
## Dicebot
All dicebot commands support four special features not available to other commands:
* `.help` gives usage information and a description of the command.
* `.<command>-as <nick>` processes the command as though `nick` had used it.
* `.<command>-to <nick>` sends the output of the command to you and `nick` as a private message.
* `.<command> ; <comment>` appends the comment to the end of the command's output.
The following commands are associated:
* `.attrib` generates D&D dice-rolled attributes.
* `.silcore` rolls dice for Silhouette Core.
* `.exalted` rolls dice for Exalted 2e; `.exalted <dice> 6` may be used for old World of Darkness.
* `.hellcats` rolls dice for Hellcats & Hockeysticks.
* `.fudge` rolls dice for Fudge and Fate, and supports the Fate ladder.
* `.lonewolf` rolls a die for the Lone Wolf gamebooks and tabletop game.
* `.dryh` rolls dice for Don't Rest Your Head.
* `.dw` rolls dice for Dungeon World and variants.
* `.swrpg` (and aliases `.eote`, `.aor`, and `.fad`) rolls dice for the Star Wars RPG tabletop game.
* `.pfbuy` reports the point cost of the given Pathfinder array.
* `.explode` rolls exploding dice.
* `.cortex` rolls the requested dice per Cortex Prime rules.
* `.imperialassault` (and `.ia` alias) rolls coloured dice per the Imperial Assault board game.
* `.blade` rolls the requested number of d6's per Forged in the Dark rules.
* `.roll` and `.math` are more generic; the former allows for multiple formulas to be calculated at once, whereas the latter allows spaces to be used to make formulas more legible.
The `.roll` and `.math` commands support the following:
* PEMDAS (exponents use `**` rather than `^`)
* Bitwise operators (`&|^~`)
* d operator (as in `1d6`), rolls a number of X-sided dice, up to 100d100
* functions
* `int` (truncates, converts hexadecimal, octal, and binary integers to decimal integers)
* `hex` (converts decimal, octal, and binary integers to hexadecimal)
* `oct` (converts decimal, hexadecimal, and binary integers to octal)
* `bin` (converts hexadecimal, decimal, and octal integers to binary)
* `atan2` (two-argument arc-tangents)
* `cos` (cosine)
* `exp` (e to the nth power)
* `log` (logarithm of n)
* `logn` (logarithm of n (base x))
* `log10` (logarithm of n (base 10))
* `sin` (sine)
* `asin` (arcsine)
* `sqrt` (Square root)
* `c2f` (convert Celsius to Fahrenheit)
* `f2c` (convert Fahrenheit to Celsius)
* `floor` (round float downward)
* `ceil` (round float upward)
* `min` (smallest of given arguments)
* `max` (largest of given arguments)
* variables
* pi
* e
* pie (pi * e)
## Weather
The weather command set consists of `.weather`, `.f`/`.f1`/`.f3`, `.alerts`, and `.location`. All commands take a query string and, optionally, a semicolon (`;`) followed by a country designator. This designator will constrain the query to the given country, in cases where an ambiguous query may return an unexpected result (e.g. `.weather hell` might return the weather for Hellin, Spain, whereas `.weather hell;no` will return the weather for Hell, Norway).
`.f` returns today's forecast, `.f1` returns tomorrow's forecast, and `.f3` returns (via PM) the forecast for the three days following today. Note that the forecast will change over at 00:00 local time.
`.location` stores the provided location for the user, so as to allow future inquiries to omit a query string.
## Issue tracker
Chessa integrates with Adélie's GitLab and with Github. Supported syntax: `source:project/repo?n`, where
* `source:` is either `adelie:`, or `github:` or `gh:`,
* `project` is the organization or user where the repo can be found,
* `repo` is the repository in question,
* `?` is one of the sigils in `$#@!`,
* and `n` is a number (for `$#!`) or commit (for `@`).
Sigils have their GitLab meaning:
* `$` is a snippet
* `@` is a commit
* `#` is an issue
* `!` is a merge request
Portions of the syntax may be dropped, e.g. at the moment she is configured to default to `adelie/packages`.
**Note**: This module is a work in progress.
## Other Commands
* `.choose` returns a randomly-chosen entry from a list, delimited by a comma followed by a space.
* `.unicode` returns information on the given Unicode sequence. Supports combining characters.
* `.uniname` returns information on the given Unicode named sequence.

View File

@ -0,0 +1,47 @@
---
title: Exdeath
---
Exdeath is a program for patching Final Fantasy V Advance. Its source may be found [on the Treehouse Gitea](https://gitea.treehouse.systems/VulpineAmethyst/Exdeath). You will need a ROM image of the US version of the game, which you can find through your favourite search engine.
## Main
The real meat of the program: the patches.
* **Base**:
* None -- the base game.
* Waddle rebalance -- A remixed version of the game which aims to pump up underwhelming Jobs without altering overall balance too much.
* [Balance](https://www.dropbox.com/s/rvf9l3pwbkelu42/ffvamod-doc.txt?dl=0) -- A remixed version by wormsofcan which adds the Hero Job and changes a bunch of other things.
* [Custom Classes](http://jeffludwig.com/ff5a/download.php) -- A heavily remixed version by ludmeister.
* **Unlocked Jobs**: Unlocks all jobs directly out of the gate. Half of [wormsofcan's Fiesta patch](https://www.dropbox.com/s/ldlmpoepxk5nxgl/fiesta.ups?dl=0).
* **FFT-style Portraits**: As the name implies, this option replaces the portraits with edited Final Fantasy Tactics portraits. (missing attribution, sorry.)
* **Sound Restoration**: The [Sound Restoration](http://www.romhacking.net/hacks/563/) hack modifies the soundfont and corrects some slow-down issues. It can cause artifacting, however. Older versions of VisualBoyAdvance will require the GBA BIOS file in order to run normally with this option.
* **Save Config**: Saves your current configuration, including the ROM location. This configuration will be automatically loaded on next run.
## Randomization
Randomizable components.
* **Seed**: A number used to set the random number generator to a known state. The range accepted is 0 through 2**31-1, inclusive. Default value is the current time in seconds since 1 January 1970 00:00 UTC, divided by 3600.
* **Neo ExDeath**: Pick graphics for the final boss.
* **Abilities**: Shuffles abilities such that all Jobs learn five abilities and have a randomized command.
## Innate abilities
Each checkbox applies the listed innate ability to all Jobs.
## Multipliers
Multiply experience, ability point, or gil awards from battle. Experience and gil are hard-capped at 65,535 and ability points are hard-capped at 255, regardless of multiplier.
## Notes
The 'Unlocked Jobs' mode includes a patch that allows **!Combine** ammo to drop prior to unlocking the sealed weapons. This alters the drop tables for the following enemies:
* **Buckshot**:
* Black Flame
* Birostris
* Elm Gigas
* **Blastshot**:
* Blood Slime
* Executor
* **Blitzshot**:
* Mummy

View File

@ -0,0 +1,19 @@
---
title: Smeargle
---
Smeargle is a program for rendering text as graphics using a bitmap font. It presently comes in two flavors:
* [Python](https://github.com/VulpineAmethyst/smeargle.py) -- the original implementation, built on top of PyQt5
* [C#](https://github.com/VulpineAmethyst/Smeargle)
Both flavours provide similar functionality; however, the Python version uses JSON for configuration and the C# version uses TOML for configuration.
## Features
- deduplication (optional)
- configurable tilemap output (compatible with Thingy32 and Atlas/Cartographer)
- support for monospace/fixed-width and variable-width bitmap fonts
- PNG inputs and outputs
- output limits (minimum width, maximum width)
- Unicode-based glyph mapping
- palette specification (Python-specific, required by PyQt if you want a fixed palette order)