@@ -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+
3344class TasTool {
3445protected:
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
4153public:
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
6679public:
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>();
0 commit comments