diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index fe77439f..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,24 +0,0 @@ -# CHANGELOG - -## 2.1.0 -- Add modularity to internal APIs to better failsafe and also support unloading hooks -- Bug fixes / updates for current patch - -## 2.0.9 -- Bug fixes for lockboxes and medium chests only giving Tier 3 items - -## 2.0.2 -- Bug fix for ItemDropAPI hook -- Update Assembly-CSharp and mod info for latest version of RoR2 - -## 2.0.1 -- Updated MMHOOK_Assembly-CSharp.dll -- Added more usages of ItemDropAPI - -## 2.0.0 -- Fixed SurvivorAPI, you can now have more than one custom survivor - - Note to DEVS: You must set SurvivorIndex to a value > 8 (SurvivorIndex.Count) in order for your Survivor to be added, otherwise it will replace the survivor at that index. -- Added Custom EntityStates support -- Added Fast Cached Reflection API, see: [Reflection.cs](https://github.com/risk-of-thunder/R2API/blob/master/R2API/Utils/Reflection.cs) -- Added In-Game Rule UI API, see: [LobbyConfigAPI.cs](https://github.com/risk-of-thunder/R2API/blob/master/R2API/LobbyConfigAPI.cs) -- Added ItemDropAPI, a complete replacement for managing item drops, see: [ItemDropAPI.cs](https://github.com/risk-of-thunder/R2API/blob/master/R2API/ItemDropAPI.cs) diff --git a/README.md b/README.md index 0cc95967..fc83c883 100644 --- a/README.md +++ b/README.md @@ -2,28 +2,83 @@ # R2API – a modding API for Risk of Rain 2 [![Build Status](https://raegous.visualstudio.com/Risk%20of%20Rain%202%20Modding/_apis/build/status/Risk%20of%20Rain%202%20Modding-.NET%20Desktop-CI?branchName=master)](https://raegous.visualstudio.com/Risk%20of%20Rain%202%20Modding/_build/latest?definitionId=1&branchName=master) -## Note to Mod Developers -Breaking Change for next RoR2 Content Update: R2API Submodules (ResourceAPI, SurvivorAPI, etc) will be only enabled by using the `R2APISubmoduleDependency` attribute somewhere in your mod. As of the next update (for new BepInEx) all submodules will be enabled by default. +## About -Example usage: +R2API is a modding framework for other mods to work in, providing centralized and simplified APIs for Risk of Rain 2. This helps keeping mods compatible with each other. - [R2APISubmoduleDependency("SurvivorAPI", "DifficultyAPI")] +At it's core, R2API should not change how the game behaves without any other mod installed. The only change is to keep mods out of quickplay and prismatic trials by request of the **Hopoo Games** team. -## About +## Installation -R2API is designed to provide an abstraction layer in order to expose and simplify APIs to allow developers to modify -Risk of Rain 2 more easily, while still keeping mod interoperability in mind. +The contents of `R2API` should be extracted into the `BepInEx` folder, such that the files inside the `monomod` folder in the zip sit in the `monomod` folder in BepInEx and the files and folder in `plugins` in the archive is inside your `plugins` folder. -At it's heart, R2API is meant to be base work, which is why it doesnt include any additional in game functionality, -be it for developing or for users in general. **This is by choice.** A game with just R2API should feel and behave the -same as an unmodded game, the `isModded` flag excluded. +A succesful installation should look like this: +![installation](https://cdn.discordapp.com/attachments/575082050097381412/667394037229027328/unknown.png) +*[(click to enlarge)](https://cdn.discordapp.com/attachments/575082050097381412/667394037229027328/unknown.png)* -## Installation +## Developing + +A lot of documentation is in the included *xmldocs*, and further information may be on the dedicated [R2API wiki](https://github.com/risk-of-thunder/R2API/wiki). Do not hestiate to ask in [the modding discord](https://discord.gg/5MbXZvd) too! + + +## Bleeding Edge + +**Unless you are a mod developer, you won't need this.** + +Want to get the latest versions of R2API? The latest bleeding edge builds of `master` are hosted on [Azure](https://raegous.visualstudio.com/Risk%20of%20Rain%202%20Modding/_build/latest?definitionId=1&branchName=master), and may be downloaded using the `Artifacts` drop down menu. + +Note that such builds may be **unstable**. + +## Changelog + +The most recent changelog can always be found on the [Github](https://github.com/risk-of-thunder/R2API/commits/master). In this readme, only the most recent *minor* version will have a changelog. + +**2.3.XX** + +* [Rewrote the readme](https://github.com/risk-of-thunder/R2API/pull/113) +* [Updated AssetPlus to allow mass language changes without reloading the current language](https://github.com/risk-of-thunder/R2API/pull/112) + +**2.3.22** + +* [Disabled ModListAPI as it was causing issues in multiplayer games](https://github.com/risk-of-thunder/R2API/pull/111) +* [Prevent issues with itemDropAPI regarding overgrown printers](https://github.com/risk-of-thunder/R2API/commit/d1079631430d44e0e8d9ced7469f04c7dfdc0485) + +**2.3.20** + +* [Fix a lot of things in ModListAPI](https://github.com/risk-of-thunder/R2API/pull/108) +* Added safeties to certain APIs: [A](https://github.com/risk-of-thunder/R2API/pull/107) [B](https://github.com/risk-of-thunder/R2API/pull/103) +* [Added `IsLoaded(string)` to check if a submodule is loaded correctly](https://github.com/risk-of-thunder/R2API/pull/107) +* [Change ItemAPI to return more useful values](https://github.com/risk-of-thunder/R2API/pull/106) +* [Fix R2API not checking for submodule dependencies in certain folders](https://github.com/risk-of-thunder/R2API/pull/106) + +**2.3.17** + +* [Added warning when monomod patch is missing](https://github.com/risk-of-thunder/R2API/pull/100) +* [Add ModListAPI](https://github.com/risk-of-thunder/R2API/pull/99) *([And this one](https://github.com/risk-of-thunder/R2API/pull/102))* +* [Merged EntiyAPI, SkillAPI, SkinAPI, and LoadoutAPI](https://github.com/risk-of-thunder/R2API/pull/99) +* [Protect userprofiles from out of range indexes](https://github.com/risk-of-thunder/R2API/pull/99) +* [Fix R2API not loading when not in own subfolder](https://github.com/risk-of-thunder/R2API/pull/96) +* [Add `[mod]` prefix to dedicated servers](https://github.com/risk-of-thunder/R2API/pull/94) +* [Added utils for direct messages to clients](https://github.com/risk-of-thunder/R2API/pull/93) + +**2.3.7** +* [Fix issue with Twisted Scavengers loot](https://github.com/risk-of-thunder/R2API/pull/91) + +**2.3.5** + +* Update for 4478858 +* [APISubmodule now only loads requested submodules](https://github.com/risk-of-thunder/R2API/pull/89) +* [Added 5 new APIs: DirectorAPI, PrefabAPI, OrbAPI, SkinAPI, SkillAPI, EffectAPI](https://github.com/risk-of-thunder/R2API/pull/86) -The latest stable version is *NO LONGER* included in the [BepInEx Pack](https://thunderstore.io/package/bbepis/BepInExPack/) on Thunderstore. +**2.3.0** -> #### Bleeding Edge -> Latest bleeding edge builds of `master` are hosted on [Azure](https://raegous.visualstudio.com/Risk%20of%20Rain%202%20Modding/_build/latest?definitionId=1&branchName=master), -> and may be downloaded using the `Artifacts` drop down menu. -> The contents of `R2API` should be extracted into the `BepInEx` folder. +* Added Submodule Dependencies. +* [Add more AssetPlus language features](https://github.com/risk-of-thunder/R2API/pull/78) +* [Add UnityEngine.Color overload for colored messages](https://github.com/risk-of-thunder/R2API/pull/75) +* [Added DifficultyAPI](https://github.com/risk-of-thunder/R2API/pull/74) +* [Disable vanilla sorting of modded entries](https://github.com/risk-of-thunder/R2API/pull/73) +* [Ease the use of CommandHelper](https://github.com/risk-of-thunder/R2API/pull/71) and [added ability to add convars](https://github.com/risk-of-thunder/R2API/pull/68) +* [Added ResourcesAPI](https://github.com/risk-of-thunder/R2API/pull/70) +* [Added ItemAPI](https://github.com/risk-of-thunder/R2API/pull/70) +* [Fix issues in vanilla mod helpers](https://github.com/risk-of-thunder/R2API/pull/70)