Implement GameInteractor & move CrowdControl and console commands to it (#2358)

* Begin GameInteractor

* Basic skeleton of PoC

* WIP

* First 2 CC effects transitioned to GameInteractor

* Prepare GameInteractor classes for CrowdControl

* More effects & replace chaosEffects with GameInteractor

* CC connection fixes & all CC effects (enemy spawns still borked)

* First couple of build error fixes

* Fix build

* Proper enemy spawning

* Clean up old CC code

* Extract link size/invisibility into GameInteractor

* Small fix/cleanup

* Suggestions for PR

* Address PR comment

* Addressed more comments & small adjustments

* Fix crash when spawning enemies

* Remove Remove()

* Move checks into Apply() and move CC and some console commands to it

* Use inheritance to abstract check on application

* Rename prefix Actions with RawAction

* Make Remove return a Result

* Fix issue with compilation

* debugconsole -> GameInteractionEffects progress

* Add State in GI

* Unify some Effects

* Port more debug console items

* Remove state modifyiers from raw actions

* Port over last raw action / state in console

* Adjust some types

* Consolidate link size modifier effect

* Adjust more types

* Define category strings in CC

* Clean up remaining non defined strings

* Fix bug in timed effects

* Rename old pack

* CC fixes

* Translate GI enum function

* Console cleanup/fixes/consistency

Co-authored-by: David Chavez <david@dcvz.io>
This commit is contained in:
aMannus
2023-01-26 00:13:33 +01:00
committed by GitHub
parent ec4cee787c
commit 170a9103f9
17 changed files with 1686 additions and 598 deletions

View File

@@ -1,7 +1,7 @@
#include "global.h"
#include "vt.h"
#include "soh/Enhancements/debugconsole.h"
#include "soh/Enhancements/game-interactor/GameInteractor.h"
//#include <string.h>
@@ -229,11 +229,11 @@ void PadMgr_ProcessInputs(PadMgr* padMgr) {
case 0:
input->cur = *padnow1;
if (chaosEffectNoZ) {
if (GameInteractor_DisableZTargetingActive()) {
input->cur.button &= ~(BTN_Z);
}
if (chaosEffectReverseControls) {
if (GameInteractor_ReverseControlsActive()) {
if (input->cur.stick_x == -128) {
input->cur.stick_x = 127;
} else {