mirror of
				https://github.com/AxioDL/metaforce.git
				synced 2025-10-27 15:30:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			902 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			902 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef __URDE_CGSCOMBOFIRE_HPP__
 | |
| #define __URDE_CGSCOMBOFIRE_HPP__
 | |
| 
 | |
| #include "RetroTypes.hpp"
 | |
| 
 | |
| namespace urde
 | |
| {
 | |
| 
 | |
| class CAnimData;
 | |
| class CStateManager;
 | |
| class CGSComboFire
 | |
| {
 | |
|     float x0_delay = 0.f;
 | |
|     s32 x4_loopState = -1; // In, loop, out
 | |
|     s32 x8_cueAnimId = -1;
 | |
|     s32 xc_gunId = -1;
 | |
| 
 | |
|     union
 | |
|     {
 | |
|         struct
 | |
|         {
 | |
|             bool x10_24_over : 1;
 | |
|             bool x10_25_idle : 1;
 | |
|         };
 | |
|         u8 _dummy = 0;
 | |
|     };
 | |
| public:
 | |
|     bool IsComboOver() const { return x10_24_over; }
 | |
|     s32 GetLoopState() const { return x4_loopState; }
 | |
|     void SetLoopState(s32 l) { x4_loopState = l; }
 | |
|     void SetIdle(bool i) { x10_25_idle = i; }
 | |
|     s32 GetGunId() const { return xc_gunId; }
 | |
|     bool Update(CAnimData& data, float dt, CStateManager& mgr);
 | |
|     s32 SetAnim(CAnimData& data, s32 gunId, s32 loopState, CStateManager& mgr, float delay);
 | |
| };
 | |
| 
 | |
| }
 | |
| 
 | |
| #endif // __URDE_CGSCOMBOFIRE_HPP__
 |