aboutsummaryrefslogtreecommitdiff
path: root/utils/gen_adldata
diff options
context:
space:
mode:
Diffstat (limited to 'utils/gen_adldata')
-rw-r--r--utils/gen_adldata/file_formats/load_op2.h20
-rw-r--r--utils/gen_adldata/ini/ini_processing.cpp9
-rw-r--r--utils/gen_adldata/ini/ini_processing_variant.h2
3 files changed, 27 insertions, 4 deletions
diff --git a/utils/gen_adldata/file_formats/load_op2.h b/utils/gen_adldata/file_formats/load_op2.h
index 30a118f..58d6988 100644
--- a/utils/gen_adldata/file_formats/load_op2.h
+++ b/utils/gen_adldata/file_formats/load_op2.h
@@ -3,7 +3,16 @@
#include "../progs_cache.h"
-#pragma pack(push, 1)
+#ifndef _MSC_VER
+#define PACKED_STRUCT __attribute__((packed))
+#else
+#define PACKED_STRUCT
+#endif
+
+#ifdef _MSC_VER
+#pragma pack(push,1)
+#endif
+
struct Doom_OPL2instrument
{
unsigned char trem_vibr_1; /* OP 1: tremolo/vibrato/sustain/KSR/multi */
@@ -21,8 +30,7 @@ struct Doom_OPL2instrument
unsigned char level_2; /* OP 2: output level */
unsigned char unused;
short basenote; /* base note offset */
-} __attribute__((packed));
-#pragma pack(pop)
+} PACKED_STRUCT;
struct Doom_opl_instr
{
@@ -34,7 +42,11 @@ struct Doom_opl_instr
unsigned char finetune;
unsigned char note;
struct Doom_OPL2instrument patchdata[2];
-} __attribute__((packed));
+} PACKED_STRUCT;
+
+#ifdef _MSC_VER
+#pragma pack(pop)
+#endif
static bool LoadDoom(const char *fn, unsigned bank, const char *prefix)
diff --git a/utils/gen_adldata/ini/ini_processing.cpp b/utils/gen_adldata/ini/ini_processing.cpp
index 2f15821..4ef43fc 100644
--- a/utils/gen_adldata/ini/ini_processing.cpp
+++ b/utils/gen_adldata/ini/ini_processing.cpp
@@ -30,6 +30,7 @@ DEALINGS IN THE SOFTWARE.
#include "ini_processing.h"
#include <cstdio>
+#include <cctype>
#include <cstring>
#include <cstdlib>
#include <clocale>
@@ -37,6 +38,14 @@ DEALINGS IN THE SOFTWARE.
#include <algorithm>
#include <assert.h>
#ifdef _WIN32
+ #ifdef _MSC_VER
+ #ifdef _WIN64
+ typedef __int64 ssize_t;
+ #else
+ typedef __int32 ssize_t;
+ #endif
+ #define NOMINMAX //Don't override std::min and std::max
+ #endif
#include <windows.h>
#endif
diff --git a/utils/gen_adldata/ini/ini_processing_variant.h b/utils/gen_adldata/ini/ini_processing_variant.h
index 34f999a..3395e4e 100644
--- a/utils/gen_adldata/ini/ini_processing_variant.h
+++ b/utils/gen_adldata/ini/ini_processing_variant.h
@@ -32,6 +32,8 @@ INI Processor and target value (to be compatible with QSettings)
#include <string>
#include <cstring>
+#include <algorithm>
+#include <cctype>
#include <cstdlib>
#ifdef INI_PROCESSING_ALLOW_QT_TYPES
#include <QString>