BADQUEST-FancyWeatherAPI icon

FancyWeatherAPI

Allows to register new Fancy Weather monitor ASCII animations for the General Improvements mod.

Last updated 2 days ago
Total downloads 205
Total rating 3 
Categories Mods Libraries BepInEx Client-side Server-side Weather
Dependency string BADQUEST-FancyWeatherAPI-1.0.1
Dependants 2 other packages depend on this package

This mod requires the following mods to function

ShaosilGaming-GeneralImprovements-1.4.15 icon
ShaosilGaming-GeneralImprovements

Fixes many bugs and adds many QoL improvements and optional tweaks. Very configurable.

Preferred version: 1.4.15
mrov-WeatherRegistry-0.8.5 icon
mrov-WeatherRegistry

A mod for controlling the game's weather system: scrap multipliers, weather chances, blacklisting and more!

Preferred version: 0.8.5

README

Fancy Weather API

Fancy_Weather_API is a Lethal Company API to extend to "fancy weathers" monitor display of the General Improvements mod, built for modders and users alike.

This is done by scanning new weathers animations inside txt files and patching General Improvements to inject these animation inside the code.

This API comes with built in compatibility to most Weather mods.


Tutorial

Folder structure

In your mod folder, create a "plugins" folder, and inside it place the .dll and create a "ASCII_Anim" folder : This is where all .txt files should be located.

*your main folder*
    - plugins
        - ASCII_Anim
            - *all animation txt files here*
        - FancyWeatherAPI.dll
    - CHANGELOG.md
    - icon.png
    - manifest.json
    - README.md

Animation files

Animations files can be named whatever you want, but it's important that they are .txt files. You can create as many files as you want, each containing one or many different animations.

The format of the file is the following:

Parameters
Name: Snowfall

Animation

/~~~~~~\
\~~~~~~/
. + * .
 * + * .

/~~~~~~\
\~~~~~~/
 + . + *
. + * .

/~~~~~~\
\~~~~~~/
. + * .
 + . + *

/~~~~~~\
\~~~~~~/
 * + * +
. + * .

/~~~~~~\
\~~~~~~/
* . + .
 * + * +

/~~~~~~\
\~~~~~~/
 * + * .
* . + .

As you can see in the example above, there is 2 main areas in the file.

Parameters

This is the place where specific parameters are specified, such as the Name of the weather.

  • Name: Use this parameter to define the name of the targeted weather to display this animation. This needs to match the weather name in-game perfectly in order to work. (this parameter is required)

  • Color: Use this parameter to define the color of the frames that will be displayed on the monitor using a Hex format like #ff4ff9 (this parameter is optional)

  • IsOverlay: Set this parameter to true to define this animation as an overlay so it can be used by other animations with the OverlayName parameter. (this parameter is optional)

  • OverlayName: Specify the name of the animation that will be used as an overlay for this animation, the overlay needs to have been loaded with the IsOverlay parameter set to true. (this parameter is optional)

Each time a new Parameters area is detected in the file, there will be a new animation scanning. This means you can actually enter 2 or more animations by writing in succession a Parameters area, then an Animation area, then other Parameters and Animation areas.

Animation

This is the place where you can define the ASCII animation frame by frame. Each frame is separated by a blank line.

  • Each frame cannot have more than 4 lines and each line max character limit will depend on the characters you are using
  • When you create any custom ASCII animations, use a program like Open Office or Microsoft Word (or https://write-box.appspot.com/) then copy paste the resulting animation inside the formatted .txt file for this mod
  • This is because the monitor font is proportional, meaning each character does not take the same pixel space when it is displayed, so some characters will take more spaces than others. For example, \ will take twice as more space than .
  • Thus, using a classic text editor like Notepad is not recommended as it will not display the characters at their correct pixel size

Compatibility

This mod uses WeatherRegistry to detect the current weather.

This means, the API is compatible with combined and progressing weather types as well as with copies of original weathers.


Credits

BADQUEST_

Creator, Artist, Publisher

ZigZagAwaka

Co-Creator, Programmer, README Writter, GitHub Repository Owner

r00kieg

Artist, Helper

thecheesexd

Moral Support, Helper

Contact

Having any issues? Do you have any suggestions?
You can find me in my discord thread! Or in Zig's GitHub Repo