diff options
Diffstat (limited to 'Source/Core/DiscIO')
| -rw-r--r-- | Source/Core/DiscIO/Src/Blob.cpp | 9 | ||||
| -rw-r--r-- | Source/Core/DiscIO/Src/SConscript | 7 | ||||
| -rw-r--r-- | Source/Core/DiscIO/Src/VolumeCreator.cpp | 11 |
3 files changed, 16 insertions, 11 deletions
diff --git a/Source/Core/DiscIO/Src/Blob.cpp b/Source/Core/DiscIO/Src/Blob.cpp index 200a3bcf2f..456f85f307 100644 --- a/Source/Core/DiscIO/Src/Blob.cpp +++ b/Source/Core/DiscIO/Src/Blob.cpp @@ -1,10 +1,11 @@ #ifdef WIN32
#include <io.h>
#include <windows.h>
+#else
+#include <unistd.h>
#endif
#include "stdafx.h"
-
#include "../../../../Externals/zlib/zlib.h"
#include "Blob.h"
@@ -103,7 +104,11 @@ class PlainFileReader PlainFileReader(const char* filename)
{
file_ = fopen(filename, "rb");
- fseek64(file_, 0, SEEK_END);
+ #if 0
+ fseek64(file_, 0, SEEK_END);
+ #else
+ fseek(file_, 0, SEEK_END); // I don't have fseek64 with gcc 4.3
+ #endif
size = ftell(file_);
fseek(file_, 0, SEEK_SET);
}
diff --git a/Source/Core/DiscIO/Src/SConscript b/Source/Core/DiscIO/Src/SConscript index 597d757cf1..d225070366 100644 --- a/Source/Core/DiscIO/Src/SConscript +++ b/Source/Core/DiscIO/Src/SConscript @@ -5,19 +5,12 @@ files = ["BannerLoader.cpp", "BannerLoaderWii.cpp", "Blob.cpp", "FileHandlerARC.cpp", - "FileHandlerLZ77.cpp", "Filesystem.cpp", "FileSystemGCWii.cpp", "VolumeCreator.cpp", "VolumeGC.cpp", "VolumeWiiCrypted.cpp", "AES/aes_cbc.c", - "AES/aes_cfb.c", "AES/aes_core.c", - "AES/aes_ctr.c", - "AES/aes_ecb.c", - "AES/aes_ige.c", - "AES/aes_misc.c", - "AES/aes_ofb.c", ] env.StaticLibrary("discio", files, LIBS = ["common"]) diff --git a/Source/Core/DiscIO/Src/VolumeCreator.cpp b/Source/Core/DiscIO/Src/VolumeCreator.cpp index e7f6251cd3..8a22a215fe 100644 --- a/Source/Core/DiscIO/Src/VolumeCreator.cpp +++ b/Source/Core/DiscIO/Src/VolumeCreator.cpp @@ -37,7 +37,13 @@ enum EDiscType DISC_TYPE_WII_CONTAINER,
DISC_TYPE_GC
};
-
+#ifndef WIN32
+ struct SPartition
+ {
+ u64 Offset;
+ u32 Type;
+ }; //gcc 4.3 cries if it's local
+#endif
class CBlobBigEndianReader
{
public:
@@ -150,12 +156,13 @@ IVolume* CreateVolumeFromCryptedWiiImage(IBlobReader& _rReader, int _VolumeType) u32 numPartitions = Reader.Read32(0x40000);
u64 PartitionsOffset = (u64)Reader.Read32(0x40004) << 2;
-
+ #ifdef WIN32
struct SPartition
{
u64 Offset;
u32 Type;
};
+ #endif
std::vector<SPartition>PartitionsVec;
// read all partitions
|
