mirror of
https://github.com/isledecomp/isle.git
synced 2025-02-17 04:18:03 +00:00
Refactor utility/decomp headers (#318)
This commit is contained in:
parent
3b30607337
commit
a7194266b3
1
.github/workflows/format.yml
vendored
1
.github/workflows/format.yml
vendored
@ -17,6 +17,7 @@ jobs:
|
||||
--style=file \
|
||||
ISLE/*.cpp ISLE/*.h \
|
||||
LEGO1/*.cpp LEGO1/*.h \
|
||||
LEGO1/mxstl/*.h \
|
||||
LEGO1/realtime/*.cpp LEGO1/realtime/*.h \
|
||||
LEGO1/tgl/*.h \
|
||||
LEGO1/tgl/d3drm/*.cpp LEGO1/tgl/d3drm/*.h \
|
||||
|
@ -230,6 +230,8 @@ if (MINGW)
|
||||
endif()
|
||||
|
||||
# Additional include directories
|
||||
|
||||
target_include_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/util")
|
||||
target_include_directories(lego1 PUBLIC "${CMAKE_SOURCE_DIR}/3rdparty/vec")
|
||||
target_include_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/3rdparty/flic")
|
||||
target_include_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/3rdparty/smk")
|
||||
@ -264,6 +266,8 @@ if (ISLE_BUILD_APP)
|
||||
ISLE/define.cpp
|
||||
)
|
||||
|
||||
target_include_directories(isle PRIVATE "${CMAKE_SOURCE_DIR}/util")
|
||||
|
||||
# Include LEGO1 headers in ISLE
|
||||
target_include_directories(isle PRIVATE "${CMAKE_SOURCE_DIR}/LEGO1")
|
||||
|
||||
|
@ -27,6 +27,7 @@ This repository currently has only one goal: accuracy to the original executable
|
||||
* [`ISLE`](/ISLE): Decompilation of `ISLE.EXE`. It depends on some code in `LEGO1`.
|
||||
* [`LEGO1`](/LEGO1): Decompilation of `LEGO1.DLL`. This folder contains code from Mindscape's custom in-house engine called **Omni** (file pattern: `mx*`), the LEGO Island-specific extensions for Omni and the game's code (file pattern: `lego*`) as well as several utility libraries developed by Mindscape.
|
||||
* [`tools`](/tools): A set of tools aiding in the decompilation effort.
|
||||
* [`util`](/util): Utility headers aiding in the decompilation effort.
|
||||
|
||||
## Tooling
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef MXATOMIDCOUNTER_H
|
||||
#define MXATOMIDCOUNTER_H
|
||||
|
||||
#include "compat.h" // STL
|
||||
#include "mxstl/stlcompat.h"
|
||||
#include "mxstring.h"
|
||||
|
||||
// Counts the number of existing MxAtomId objects based
|
||||
|
@ -1,8 +1,8 @@
|
||||
#ifndef MXCOMPOSITEPRESENTER_H
|
||||
#define MXCOMPOSITEPRESENTER_H
|
||||
|
||||
#include "compat.h" // STL
|
||||
#include "mxpresenter.h"
|
||||
#include "mxstl/stlcompat.h"
|
||||
|
||||
class MxCompositePresenterList : public list<MxPresenter*> {};
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#ifndef MXDISKSTREAMCONTROLLER_H
|
||||
#define MXDISKSTREAMCONTROLLER_H
|
||||
|
||||
#include "compat.h" // STL
|
||||
#include "decomp.h"
|
||||
#include "mxdsbuffer.h"
|
||||
#include "mxstl/stlcompat.h"
|
||||
#include "mxstreamcontroller.h"
|
||||
#include "mxtypes.h"
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
#ifndef MXNOTIFICATIONMANAGER_H
|
||||
#define MXNOTIFICATIONMANAGER_H
|
||||
|
||||
#include "compat.h"
|
||||
#include "mxcore.h"
|
||||
#include "mxcriticalsection.h"
|
||||
#include "mxnotificationparam.h"
|
||||
#include "mxstl/stlcompat.h"
|
||||
#include "mxtypes.h"
|
||||
|
||||
class MxNotification {
|
||||
|
18
LEGO1/mxstl/stlcompat.h
Normal file
18
LEGO1/mxstl/stlcompat.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef STLCOMPAT_H
|
||||
#define STLCOMPAT_H
|
||||
|
||||
#include "compat.h"
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER <= MSVC420_VERSION
|
||||
// Disable "nonstandard extension used : 'bool'" warning spam
|
||||
#pragma warning(disable : 4237)
|
||||
#include "mxstl.h"
|
||||
#else
|
||||
#include <algorithm>
|
||||
#include <list>
|
||||
#include <set>
|
||||
using std::list;
|
||||
using std::set;
|
||||
#endif
|
||||
|
||||
#endif // STLCOMPAT_H
|
@ -1,13 +1,13 @@
|
||||
#ifndef MXSTREAMCONTROLLER_H
|
||||
#define MXSTREAMCONTROLLER_H
|
||||
|
||||
#include "compat.h" // STL
|
||||
#include "decomp.h"
|
||||
#include "mxatomid.h"
|
||||
#include "mxcore.h"
|
||||
#include "mxcriticalsection.h"
|
||||
#include "mxdsaction.h"
|
||||
#include "mxdsobject.h"
|
||||
#include "mxstl/stlcompat.h"
|
||||
#include "mxstreamlist.h"
|
||||
#include "mxstreamprovider.h"
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
#ifndef MXSTREAMLIST_H
|
||||
#define MXSTREAMLIST_H
|
||||
|
||||
#include "compat.h" // STL
|
||||
#include "mxdsaction.h"
|
||||
#include "mxdssubscriber.h"
|
||||
#include "mxnextactiondatastart.h"
|
||||
#include "mxstl/stlcompat.h"
|
||||
|
||||
template <class T>
|
||||
class MxStreamList : public list<T> {};
|
||||
|
@ -1,8 +1,8 @@
|
||||
#ifndef MXTICKLEMANAGER_H
|
||||
#define MXTICKLEMANAGER_H
|
||||
|
||||
#include "compat.h"
|
||||
#include "mxcore.h"
|
||||
#include "mxstl/stlcompat.h"
|
||||
#include "mxtypes.h"
|
||||
|
||||
class MxTickleClient {
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
#include "matrix.h"
|
||||
|
||||
#include "../decomp.h"
|
||||
#include "decomp.h"
|
||||
#include "math.h"
|
||||
|
||||
#include <memory.h>
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "orientableroi.h"
|
||||
|
||||
#include "../decomp.h"
|
||||
#include "decomp.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(OrientableROI, 0xdc)
|
||||
|
||||
|
@ -3,9 +3,9 @@
|
||||
|
||||
// ROI stands for Real-time Object Instance.
|
||||
|
||||
#include "../compat.h"
|
||||
#include "../mxstl.h"
|
||||
#include "../mxstl/stlcompat.h"
|
||||
#include "../realtime/realtime.h"
|
||||
#include "compat.h"
|
||||
#include "lodlist.h"
|
||||
#include "vector.h"
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
#include "vector.h"
|
||||
|
||||
#include "../decomp.h"
|
||||
#include "decomp.h"
|
||||
|
||||
#include <math.h>
|
||||
#include <memory.h>
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
#include "../../decomp.h"
|
||||
#include "../tgl.h"
|
||||
#include "decomp.h"
|
||||
|
||||
#include <d3drm.h>
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#ifndef VIEWLODLIST_H
|
||||
#define VIEWLODLIST_H
|
||||
|
||||
#include "../compat.h"
|
||||
#include "../realtime/lodlist.h"
|
||||
#include "assert.h"
|
||||
#include "compat.h"
|
||||
|
||||
#pragma warning(disable : 4786)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "viewroi.h"
|
||||
|
||||
#include "../decomp.h"
|
||||
#include "decomp.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(ViewROI, 0xe0)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#ifndef ISLECOMPAT_H
|
||||
#define ISLECOMPAT_H
|
||||
#ifndef COMPAT_H
|
||||
#define COMPAT_H
|
||||
|
||||
// Various macros to enable compiling with other/newer compilers.
|
||||
|
||||
@ -11,9 +11,6 @@
|
||||
#define COMPAT_CONST
|
||||
#endif
|
||||
|
||||
// DIsable "nonstandard extension used : 'bool'" warning spam
|
||||
#pragma warning(disable : 4237)
|
||||
|
||||
// Disable "identifier was truncated to '255' characters" warning.
|
||||
// Impossible to avoid this if using STL map or set.
|
||||
// This removes most (but not all) occurrences of the warning.
|
||||
@ -21,17 +18,6 @@
|
||||
|
||||
#define MSVC420_VERSION 1020
|
||||
|
||||
// STL compatibility.
|
||||
#if defined(_MSC_VER) && _MSC_VER <= MSVC420_VERSION
|
||||
#include "mxstl.h"
|
||||
#else
|
||||
#include <algorithm>
|
||||
#include <list>
|
||||
#include <set>
|
||||
using std::list;
|
||||
using std::set;
|
||||
#endif
|
||||
|
||||
// We use `override` so newer compilers can tell us our vtables are valid,
|
||||
// however this keyword was added in C++11, so we define it as empty for
|
||||
// compatibility with older compilers.
|
||||
@ -39,4 +25,4 @@ using std::set;
|
||||
#define override
|
||||
#endif
|
||||
|
||||
#endif // ISLECOMPAT_H
|
||||
#endif // COMPAT_H
|
Loading…
x
Reference in New Issue
Block a user