mirror of
				https://github.com/isledecomp/isle.git
				synced 2025-10-25 09:24:17 +00:00 
			
		
		
		
	 9e686e2a87
			
		
	
	9e686e2a87
	
	
	
		
			
			* cmake+ci: run clang-tidy
* Remove DESCRIPTION from LEGO1/LegoOmni.mingw.def
* Add initial .clang-tidy and fixes
* fix file perms
* Comment out DESCRIPTION
* Remove LegoEntity::~LegoEntity and MxPresenter::~MxPresenter from mingw's LEGO1.def
* Looks like clang is allergic to the libs in the directx5 SDK
* Update .clang-tidy
* Fix typo in .clang-tidy
* Attempt to generate an action error
* Revert "Attempt to generate an action error"
This reverts commit 96c4c65fed.
* cmake: test with -Wparentheses + optionally with -Werror
* ci: -k0 is a Ninja argument
* Use -Werror only for msys2 builds
* cmake: only emit warnings for specific warnings
* cmake: and don't do -Werror/-WX anymore
* Fix warnings
* Fix mingw warnings
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef MXOBJECTFACTORY_H
 | |
| #define MXOBJECTFACTORY_H
 | |
| 
 | |
| #include "mxatomid.h"
 | |
| #include "mxcore.h"
 | |
| 
 | |
| #define FOR_MXOBJECTFACTORY_OBJECTS(X)                                                                                 \
 | |
| 	X(MxPresenter)                                                                                                     \
 | |
| 	X(MxCompositePresenter)                                                                                            \
 | |
| 	X(MxVideoPresenter)                                                                                                \
 | |
| 	X(MxFlcPresenter)                                                                                                  \
 | |
| 	X(MxSmkPresenter)                                                                                                  \
 | |
| 	X(MxStillPresenter)                                                                                                \
 | |
| 	X(MxWavePresenter)                                                                                                 \
 | |
| 	X(MxMIDIPresenter)                                                                                                 \
 | |
| 	X(MxEventPresenter)                                                                                                \
 | |
| 	X(MxLoopingFlcPresenter)                                                                                           \
 | |
| 	X(MxLoopingSmkPresenter)                                                                                           \
 | |
| 	X(MxLoopingMIDIPresenter)
 | |
| 
 | |
| // VTABLE: LEGO1 0x100dc220
 | |
| class MxObjectFactory : public MxCore {
 | |
| public:
 | |
| 	MxObjectFactory();
 | |
| 
 | |
| 	// FUNCTION: LEGO1 0x10008f70
 | |
| 	inline const char* ClassName() const override // vtable+0x0c
 | |
| 	{
 | |
| 		// STRING: LEGO1 0x100f0730
 | |
| 		return "MxObjectFactory";
 | |
| 	}
 | |
| 
 | |
| 	// FUNCTION: LEGO1 0x10008f80
 | |
| 	inline MxBool IsA(const char* p_name) const override // vtable+0x10
 | |
| 	{
 | |
| 		return !strcmp(p_name, MxObjectFactory::ClassName()) || MxCore::IsA(p_name);
 | |
| 	}
 | |
| 
 | |
| 	virtual MxCore* Create(const char* p_name); // vtable 0x14
 | |
| 	virtual void Destroy(MxCore* p_object);     // vtable 0x18
 | |
| 
 | |
| 	// SYNTHETIC: LEGO1 0x100b1160
 | |
| 	// MxObjectFactory::`scalar deleting destructor'
 | |
| 
 | |
| private:
 | |
| #define X(V) MxAtomId m_id##V;
 | |
| 	FOR_MXOBJECTFACTORY_OBJECTS(X)
 | |
| #undef X
 | |
| };
 | |
| 
 | |
| #endif // MXOBJECTFACTORY_H
 |