Skip to content

Commit 4f5b316

Browse files
committed
feat: extend stop tas tool functionality
1 parent d55b473 commit 4f5b316

18 files changed

+64
-24
lines changed

src/Features/Tas/TasTool.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ std::vector<std::string> TasTool::priorityList = {
3535
"decel",
3636
};
3737

38-
TasTool::TasTool(const char *name, TasToolProcessingType processingType, int slot)
38+
TasTool::TasTool(const char *name, TasToolProcessingType processingType, TasToolBulkType bulkType, int slot)
3939
: name(name)
4040
, processingType(processingType)
41+
, bulkType(bulkType)
4142
, slot(slot) {
4243
this->GetList(slot).push_back(this);
4344

src/Features/Tas/TasTool.hpp

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,34 @@ enum TasToolProcessingType {
3030
POST_PROCESSING,
3131
};
3232

33+
enum TasToolBulkType {
34+
NONE = 0,
35+
MOVEMENT = 1 << 1,
36+
VIEWANGLES = 1 << 2,
37+
BUTTONS = 1 << 3,
38+
COMMANDS = 1 << 4,
39+
META = 1 << 5,
40+
41+
ALL_TYPES_MASK = MOVEMENT | VIEWANGLES | BUTTONS | COMMANDS | META,
42+
};
43+
3344
class TasTool {
3445
protected:
3546
const char *name;
3647
TasToolProcessingType processingType;
48+
TasToolBulkType bulkType;
3749
std::shared_ptr<TasToolParams> paramsPtr = nullptr;
3850
bool updated = false;
3951
int slot;
4052

4153
public:
42-
TasTool(const char *name, TasToolProcessingType processingType, int slot);
54+
TasTool(const char *name, TasToolProcessingType processingType, TasToolBulkType bulkType, int slot);
4355
~TasTool();
4456

4557
const char *GetName() const { return name; }
4658
inline int GetSlot() const { return slot; }
4759
bool CanProcess(TasToolProcessingType type) const { return this->processingType == type; }
60+
TasToolBulkType GetBulkType() const { return this->bulkType; }
4861

4962
virtual std::shared_ptr<TasToolParams> ParseParams(std::vector<std::string>) = 0;
5063
virtual void Apply(TasFramebulk &fb, const TasPlayerInfo &pInfo) = 0;
@@ -64,8 +77,8 @@ class TasToolWithParams : public TasTool {
6477
Params params;
6578

6679
public:
67-
TasToolWithParams(const char *name, TasToolProcessingType processingType, int slot)
68-
: TasTool(name, processingType, slot) {};
80+
TasToolWithParams(const char *name, TasToolProcessingType processingType, TasToolBulkType bulkType, int slot)
81+
: TasTool(name, processingType, bulkType, slot) {};
6982

7083
virtual void Reset() {
7184
this->paramsPtr = std::make_shared<Params>();

src/Features/Tas/TasTools/AbsoluteMoveTool.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class AbsoluteMoveTool : public TasToolWithParams<AbsoluteMoveToolParams> {
2020
private:
2121
AbsoluteMoveToolParams amParams;
2222
public:
23-
AbsoluteMoveTool(int slot) : TasToolWithParams("absmov", POST_PROCESSING, slot) {};
23+
AbsoluteMoveTool(int slot) : TasToolWithParams("absmov", POST_PROCESSING, MOVEMENT, slot) {};
2424
virtual std::shared_ptr<TasToolParams> ParseParams(std::vector<std::string>);
2525
virtual void Apply(TasFramebulk &fb, const TasPlayerInfo &pInfo);
2626
};

src/Features/Tas/TasTools/AutoAimTool.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class AutoAimTool : public TasToolWithParams<AutoAimParams> {
3434
int elapsedTicks;
3535
public:
3636
AutoAimTool(int slot)
37-
: TasToolWithParams("autoaim", POST_PROCESSING, slot)
37+
: TasToolWithParams("autoaim", POST_PROCESSING, VIEWANGLES, slot)
3838
, elapsedTicks(0) {}
3939

4040
virtual std::shared_ptr<TasToolParams> ParseParams(std::vector<std::string>);

src/Features/Tas/TasTools/CheckTool.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ struct CheckToolParams : public TasToolParams {
3131
class CheckTool : public TasToolWithParams<CheckToolParams> {
3232
public:
3333
CheckTool(int slot)
34-
: TasToolWithParams("check", POST_PROCESSING, slot)
34+
: TasToolWithParams("check", POST_PROCESSING, META, slot)
3535
{}
3636

3737
virtual std::shared_ptr<TasToolParams> ParseParams(std::vector<std::string>);

src/Features/Tas/TasTools/CommandTool.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ struct CommandToolParams : public TasToolParams {
1616
class CommandTool : public TasToolWithParams<CommandToolParams> {
1717
public:
1818
CommandTool(int slot)
19-
: TasToolWithParams("cmd", PRE_PROCESSING, slot) {
19+
: TasToolWithParams("cmd", PRE_PROCESSING, COMMANDS, slot) {
2020
}
2121

2222
virtual std::shared_ptr<TasToolParams> ParseParams(std::vector<std::string>);

src/Features/Tas/TasTools/DecelTool.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ struct DecelParams : public TasToolParams {
1717
class DecelTool : public TasToolWithParams<DecelParams> {
1818
public:
1919
DecelTool(int slot)
20-
: TasToolWithParams("decel", POST_PROCESSING, slot) {}
20+
: TasToolWithParams("decel", POST_PROCESSING, MOVEMENT, slot) {}
2121
virtual std::shared_ptr<TasToolParams> ParseParams(std::vector<std::string>);
2222
virtual void Apply(TasFramebulk &fb, const TasPlayerInfo &pInfo);
2323
};

src/Features/Tas/TasTools/DuckTool.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ struct DuckToolParams : public TasToolParams {
1616
class DuckTool : public TasToolWithParams<DuckToolParams> {
1717
public:
1818
DuckTool(int slot)
19-
: TasToolWithParams("duck", PRE_PROCESSING, slot) {
19+
: TasToolWithParams("duck", PRE_PROCESSING, BUTTONS, slot) {
2020
}
2121

2222
virtual std::shared_ptr<TasToolParams> ParseParams(std::vector<std::string>);

src/Features/Tas/TasTools/JumpTool.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ struct JumpToolsParams : public TasToolParams {
1616
class JumpTool : public TasToolWithParams<JumpToolsParams> {
1717
public:
1818
JumpTool(int slot, bool automatic)
19-
: TasToolWithParams(automatic ? "autojump" : "jump", POST_PROCESSING, slot)
19+
: TasToolWithParams(automatic ? "autojump" : "jump", POST_PROCESSING, BUTTONS, slot)
2020
, automatic(automatic) {
2121
}
2222

src/Features/Tas/TasTools/LookTool.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class LookTool : public TasToolWithParams<LookToolParams> {
2323
int remainingTime;
2424
public:
2525
LookTool(int slot)
26-
: TasToolWithParams("look", PRE_PROCESSING, slot) {};
26+
: TasToolWithParams("look", PRE_PROCESSING, VIEWANGLES, slot) {};
2727
virtual std::shared_ptr<TasToolParams> ParseParams(std::vector<std::string>);
2828
virtual void Apply(TasFramebulk &fb, const TasPlayerInfo &pInfo);
2929
};

0 commit comments

Comments
 (0)