about summary refs log tree commit diff stats
Commit message (Expand)AuthorAgeFilesLines
* Merge branch 'color-hallways'Star Rauchenberger2024-06-101-24/+14
|\
| * Merge branch 'main' into color-hallwaysStar Rauchenberger2024-05-2914-116/+502
| |\
| * | Replace early color hallways paintingStar Rauchenberger2024-04-101-24/+14
* | | Released v3.1.0Star Rauchenberger2024-06-061-0/+10
* | | Bump version v3.1.0Star Rauchenberger2024-06-061-1/+1
* | | Merge branch 'subway'Star Rauchenberger2024-06-062-59/+85
|\ \ \
| * | | Send checked paintings to serverStar Rauchenberger2024-05-152-59/+85
* | | | Released v3.0.3Star Rauchenberger2024-06-021-0/+8
* | | | Bump version v3.0.3Star Rauchenberger2024-06-021-1/+1
* | | | Fix double mouse sensitivity issueStar Rauchenberger2024-06-021-2/+0
* | | | Released v3.0.2Star Rauchenberger2024-05-301-0/+11
* | | | Bump version v3.0.2Star Rauchenberger2024-05-301-1/+1
| |_|/ |/| |
* | | Gracefully handle corrupted data filesStar Rauchenberger2024-05-291-0/+8
* | | Compatibility with not-unique IDsStar Rauchenberger2024-05-291-11/+19
* | | Remove Fearless arrows on confusifyStar Rauchenberger2024-05-291-0/+3
|/ /
* | Released v3.0.1Star Rauchenberger2024-04-221-3/+12
* | Bump version v3.0.1Star Rauchenberger2024-04-221-1/+1
* | Make progression items resistant to renamesStar Rauchenberger2024-04-222-58/+37
* | Released v3.0.0Star Rauchenberger2024-04-221-0/+21
* | Prevent pilgrimage_terminator reformatting issue v3.0.0Star Rauchenberger2024-04-181-1/+2
* | Rewrote pilgrimage section of readmeStar Rauchenberger2024-04-181-30/+32
* | Bump version and AP versionStar Rauchenberger2024-04-181-2/+2
* | Fix duplication from mergeStar Rauchenberger2024-04-181-5/+0
* | Merge branch 'sunwarps' into futureStar Rauchenberger2024-04-1811-20/+223
|\ \
| * | Backwards compatibility with 0.4.5Star Rauchenberger2024-04-182-1/+13
| * | Merge branch 'main' into sunwarpsStar Rauchenberger2024-04-188-26/+267
| |\ \
| * | | Fix atbash never clearingStar Rauchenberger2024-03-171-0/+4
| * | | Fixed pilgrimage terminator load for compileStar Rauchenberger2024-03-171-3/+1
| * | | Set beta versionStar Rauchenberger2024-03-171-1/+1
| * | | Merge branch 'future' into sunwarpsStar Rauchenberger2024-03-177-66/+202
| |\ \ \
| * \ \ \ Merge branch 'future' (early part) into sunwarpsStar Rauchenberger2024-03-170-0/+0
| |\ \ \ \
| * | | | | Added sunwarp shufflingStar Rauchenberger2024-03-023-1/+86
| * | | | | Add pilgrimage allows roof access / paintingsStar Rauchenberger2024-02-2810-17/+92
| * | | | | Fix sunwarp accessStar Rauchenberger2024-02-283-14/+22
| * | | | | Added pilgrimage goalStar Rauchenberger2024-02-262-1/+9
| * | | | | Sun Painting should be vanilla when pilgrimage is onStar Rauchenberger2024-02-262-2/+10
* | | | | | Reapply "Added support for warp items (including sunwarps)"Star Rauchenberger2024-04-184-0/+75
| |_|_|/ / |/| | | |
* | | | | Released v2.2.0Star Rauchenberger2024-04-171-0/+13
* | | | | Bump version v2.2.0Star Rauchenberger2024-04-171-1/+1
* | | | | Prevent colorful cdp if genned before 0.4.5Star Rauchenberger2024-04-172-11/+28
* | | | | Add connection historyStar Rauchenberger2024-04-173-9/+53
* | | | | Released v2.1.1Star Rauchenberger2024-04-111-0/+8
* | | | | Bump version v2.1.1Star Rauchenberger2024-04-111-1/+1
| |_|_|/ |/| | |
* | | | Log Steam build ID for debuggingStar Rauchenberger2024-04-091-0/+6
* | | | Released v2.1.0Star Rauchenberger2024-04-031-0/+9
* | | | Bump version v2.1.0Star Rauchenberger2024-04-031-1/+1
* | | | Added player position trackingStar Rauchenberger2024-04-035-1/+57
* | | | Released v2.0.0Star Rauchenberger2024-04-011-0/+15
* | | | AFD 2024: Remove inverted camera thingStar Rauchenberger2024-04-011-15/+0
* | | | Bump version v2.0.0Star Rauchenberger2024-03-311-1/+1
e>
6746da6 ^
e1fa4a0 ^
6746da6 ^
e1fa4a0 ^
75e947f ^
e1fa4a0 ^
6746da6 ^



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74





                        
               
                            
                 


                       
 
                
 

                 
 
                    
 
              
 
                                          
 
                 
 
                           
 
                             
 
                  
 



                       
 
                                                   
       
                          
       
 
                                           
 
                                                  
 



                                               
 
            
 
                         
 
                    
 
                                         
                               
 
               
 
                                       
 
      
 
                 
 
                                                                             
 



                                                   
#ifndef GROUP_H_EDAFB5DC
#define GROUP_H_EDAFB5DC

#include <map>
#include <set>
#include <string>
#include <list>
#include <hkutil/database.h>
#include "role.h"

namespace verbly {
  namespace generator {

    class frame;

    class group {
    public:

      // Constructor

      group();

      explicit group(const group& parent);

      // Mutators

      void addRole(role r);

      void addFrame(frame f);

      // Accessors

      int getId() const
      {
        return id_;
      }

      const std::set<std::string>& getRoles() const
      {
        return roleNames_;
      }

      bool hasRole(std::string name) const;

      const role& getRole(std::string name) const;

      const std::list<frame>& getFrames() const
      {
        return frames_;
      }

    private:

      static int nextId_;

      const int id_;

      std::map<std::string, role> roles_;
      std::list<frame> frames_;

      // Caches

      std::set<std::string> roleNames_;

    };

    // Serializer

    hatkirby::database& operator<<(hatkirby::database& db, const group& arg);

  };
};

#endif /* end of include guard: GROUP_H_EDAFB5DC */