summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt8
-rw-r--r--src/Makefile.am4
-rw-r--r--src/debug.h7
-rw-r--r--src/gui/fonts/font.cpp2
-rw-r--r--src/integrity_unittest.cc10
-rw-r--r--src/maingui.cpp4
-rw-r--r--src/resources/atlas/atlasmanager.cpp4
-rw-r--r--src/resources/loaders/imageloader.cpp4
-rw-r--r--src/resources/loaders/musicloader.cpp4
-rw-r--r--src/resources/loaders/soundloader.cpp4
-rw-r--r--src/resources/resourcemanager/resourcemanager.cpp2
-rw-r--r--src/test/testlauncher.cpp6
-rw-r--r--src/utils/physfscheckutils.cpp4
-rw-r--r--src/utils/physfsrwops.h86
-rw-r--r--src/utils/virtfsrwops.cpp (renamed from src/utils/physfsrwops.cpp)29
-rw-r--r--src/utils/virtfsrwops.h45
16 files changed, 89 insertions, 134 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1e14b48de..1baa24081 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -889,8 +889,8 @@ SET(SRCS
utils/physfscheckutils.cpp
utils/physfscheckutils.h
utils/physfsmemoryobject.h
- utils/physfsrwops.cpp
- utils/physfsrwops.h
+ utils/virtfsrwops.cpp
+ utils/virtfsrwops.h
utils/virtfs.cpp
utils/virtfs.h
utils/process.cpp
@@ -1767,8 +1767,8 @@ SET(DYE_CMD_SRCS
utils/paths.h
utils/perfomance.cpp
utils/perfomance.h
- utils/physfsrwops.cpp
- utils/physfsrwops.h
+ utils/virtfsrwops.cpp
+ utils/virtfsrwops.h
utils/virtfs.cpp
utils/virtfs.h
utils/sdl2helper.cpp
diff --git a/src/Makefile.am b/src/Makefile.am
index 35f331b12..2eea657a5 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -549,8 +549,8 @@ BASE_SRC += events/actionevent.h \
utils/physfscheckutils.cpp \
utils/physfscheckutils.h \
utils/physfsmemoryobject.h \
- utils/physfsrwops.cpp \
- utils/physfsrwops.h \
+ utils/virtfsrwops.cpp \
+ utils/virtfsrwops.h \
utils/virtfs.cpp \
utils/virtfs.h \
utils/process.cpp \
diff --git a/src/debug.h b/src/debug.h
index 9ab7a8874..3faf63cde 100644
--- a/src/debug.h
+++ b/src/debug.h
@@ -65,12 +65,7 @@
#ifdef DEBUG_PHYSFS
-
-#define MPHYSFSRWOPS_openRead(name) \
- FakePHYSFSRWOPS_openRead(name, __FILE__, __LINE__)
-
+// +++ need move this into VirtFs itself
#else // DEBUG_PHYSFS
-#define MPHYSFSRWOPS_openRead(name) PHYSFSRWOPS_openRead(name)
-
#endif // DEBUG_PHYSFS
diff --git a/src/gui/fonts/font.cpp b/src/gui/fonts/font.cpp
index cca641d03..73b91ad4c 100644
--- a/src/gui/fonts/font.cpp
+++ b/src/gui/fonts/font.cpp
@@ -157,7 +157,7 @@ TTF_Font *Font::openFont(const char *const name, const int size)
{
// disabled for now because some systems like gentoo can't use it
// #ifdef USE_SDL2
-// SDL_RWops *const rw = MPHYSFSRWOPS_openRead(name);
+// SDL_RWops *const rw = VirtFs::RWopsOpenRead(name);
// if (!rw)
// return nullptr;
// return TTF_OpenFontIndexRW(rw, 1, size, 0);
diff --git a/src/integrity_unittest.cc b/src/integrity_unittest.cc
index 86317dc40..a907ca5fb 100644
--- a/src/integrity_unittest.cc
+++ b/src/integrity_unittest.cc
@@ -39,7 +39,7 @@
#include "resources/resourcemanager/resourcemanager.h"
#include "utils/env.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include <SDL_image.h>
@@ -240,7 +240,7 @@ TEST_CASE("integrity tests", "integrity")
resourceManager->addToSearchPath("data/test/test.zip", Append_false);
resourceManager->addToSearchPath("../data/test/test.zip", Append_false);
- SDL_RWops *const rw = PHYSFSRWOPS_openRead(name1);
+ SDL_RWops *const rw = VirtFs::RWopsOpenRead(name1);
if (!rw)
logger->log("Physfs error: %s", VirtFs::getLastError());
resourceManager->removeFromSearchPath("data/test/test.zip");
@@ -403,7 +403,7 @@ TEST_CASE("integrity tests", "integrity")
resourceManager->addToSearchPath("data/test/test.zip", Append_false);
resourceManager->addToSearchPath("../data/test/test.zip", Append_false);
- SDL_RWops *const rw = PHYSFSRWOPS_openRead(name1);
+ SDL_RWops *const rw = VirtFs::RWopsOpenRead(name1);
if (!rw)
logger->log("Physfs error: %s", VirtFs::getLastError());
REQUIRE(rw != nullptr);
@@ -438,7 +438,7 @@ TEST_CASE("integrity tests", "integrity")
resourceManager->addToSearchPath("data/test/test.zip", Append_false);
resourceManager->addToSearchPath("../data/test/test.zip", Append_false);
- SDL_RWops *const rw = PHYSFSRWOPS_openRead(name1);
+ SDL_RWops *const rw = VirtFs::RWopsOpenRead(name1);
if (!rw)
logger->log("Physfs error: %s", VirtFs::getLastError());
REQUIRE(rw != nullptr);
@@ -460,7 +460,7 @@ TEST_CASE("integrity tests", "integrity")
resourceManager->addToSearchPath("data/test/test.zip", Append_false);
resourceManager->addToSearchPath("../data/test/test.zip", Append_false);
- SDL_RWops *const rw = PHYSFSRWOPS_openRead(name1);
+ SDL_RWops *const rw = VirtFs::RWopsOpenRead(name1);
if (!rw)
logger->log("Physfs error: %s", VirtFs::getLastError());
REQUIRE(rw != nullptr);
diff --git a/src/maingui.cpp b/src/maingui.cpp
index 6f8de4083..b2a25b48e 100644
--- a/src/maingui.cpp
+++ b/src/maingui.cpp
@@ -32,7 +32,7 @@
#include "utils/paths.h"
#endif // ANDROID
#include "utils/physfscheckutils.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include "utils/process.h"
#include "utils/xml.h"
@@ -132,7 +132,7 @@ int mainGui(int argc, char *argv[])
#endif // SDL_IMAGE_VERSION_ATLEAST(1, 2, 11)
#ifdef DUMP_LEAKED_RESOURCES
- reportRWops();
+ VirtFs::reportRWops();
#endif // DUMP_LEAKED_RESOURCES
#ifdef DEBUG_PHYSFS
reportPhysfsLeaks();
diff --git a/src/resources/atlas/atlasmanager.cpp b/src/resources/atlas/atlasmanager.cpp
index 7299e76d3..e3c6e685b 100644
--- a/src/resources/atlas/atlasmanager.cpp
+++ b/src/resources/atlas/atlasmanager.cpp
@@ -30,7 +30,7 @@
#include "utils/mathutils.h"
#include "utils/physfscheckutils.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include "utils/sdlcheckutils.h"
#include "resources/openglimagehelper.h"
@@ -149,7 +149,7 @@ void AtlasManager::loadImages(const StringVect &files,
path = path.substr(0, p);
}
- SDL_RWops *const rw = MPHYSFSRWOPS_openRead(path.c_str());
+ SDL_RWops *const rw = VirtFs::RWopsOpenRead(path.c_str());
if (rw)
{
Image *const image = d ? surfaceImageHelper->load(rw, *d)
diff --git a/src/resources/loaders/imageloader.cpp b/src/resources/loaders/imageloader.cpp
index 4fada1f44..54f987bab 100644
--- a/src/resources/loaders/imageloader.cpp
+++ b/src/resources/loaders/imageloader.cpp
@@ -31,7 +31,7 @@
#include "resources/dye/dye.h"
#include "utils/checkutils.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include "debug.h"
@@ -62,7 +62,7 @@ namespace
d = new Dye(path1.substr(p + 1));
path1 = path1.substr(0, p);
}
- SDL_RWops *const rw = MPHYSFSRWOPS_openRead(path1.c_str());
+ SDL_RWops *const rw = VirtFs::RWopsOpenRead(path1.c_str());
if (!rw)
{
delete d;
diff --git a/src/resources/loaders/musicloader.cpp b/src/resources/loaders/musicloader.cpp
index 7b0cda647..c22843d39 100644
--- a/src/resources/loaders/musicloader.cpp
+++ b/src/resources/loaders/musicloader.cpp
@@ -27,7 +27,7 @@
#include "resources/resourcemanager/resourcemanager.h"
#include "utils/checkutils.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include "debug.h"
@@ -45,7 +45,7 @@ namespace
return nullptr;
const ResourceLoader *const
rl = static_cast<const ResourceLoader *const>(v);
- SDL_RWops *const rw = MPHYSFSRWOPS_openRead(rl->path.c_str());
+ SDL_RWops *const rw = VirtFs::RWopsOpenRead(rl->path.c_str());
if (!rw)
{
reportAlways("Physfs error: %s", VirtFs::getLastError());
diff --git a/src/resources/loaders/soundloader.cpp b/src/resources/loaders/soundloader.cpp
index 569d2dfbe..71ceca8bd 100644
--- a/src/resources/loaders/soundloader.cpp
+++ b/src/resources/loaders/soundloader.cpp
@@ -27,7 +27,7 @@
#include "resources/resourcemanager/resourcemanager.h"
#include "utils/checkutils.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include "debug.h"
@@ -45,7 +45,7 @@ namespace
return nullptr;
const ResourceLoader *const
rl = static_cast<const ResourceLoader *const>(v);
- SDL_RWops *const rw = MPHYSFSRWOPS_openRead(rl->path.c_str());
+ SDL_RWops *const rw = VirtFs::RWopsOpenRead(rl->path.c_str());
if (!rw)
{
reportAlways("Physfs error: %s", VirtFs::getLastError());
diff --git a/src/resources/resourcemanager/resourcemanager.cpp b/src/resources/resourcemanager/resourcemanager.cpp
index 8b51b1ec2..2a2fa42e2 100644
--- a/src/resources/resourcemanager/resourcemanager.cpp
+++ b/src/resources/resourcemanager/resourcemanager.cpp
@@ -36,7 +36,7 @@
#include "utils/checkutils.h"
#include "utils/delete2.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#ifndef USE_OPENGL
#include <SDL_image.h>
diff --git a/src/test/testlauncher.cpp b/src/test/testlauncher.cpp
index 767082bbd..acd51413f 100644
--- a/src/test/testlauncher.cpp
+++ b/src/test/testlauncher.cpp
@@ -32,7 +32,7 @@
#include "gui/fonts/font.h"
#include "utils/physfscheckutils.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include "render/graphics.h"
@@ -433,7 +433,7 @@ PRAGMA45(GCC diagnostic pop)
int TestLauncher::testDye()
{
- SDL_RWops *rw = MPHYSFSRWOPS_openRead(
+ SDL_RWops *rw = VirtFs::RWopsOpenRead(
"graphics/sprites/arrow_up.png");
Dye *d = nullptr;
@@ -456,7 +456,7 @@ int TestLauncher::testDye()
settings.tempDir + "/testimage2.png");
}
- rw = MPHYSFSRWOPS_openRead(
+ rw = VirtFs::RWopsOpenRead(
"graphics/sprites/arrow_up.png");
d = new Dye("S:#0000ff,00ff00,5c5cff,ff0000");
image = surfaceImageHelper->load(rw, *d);
diff --git a/src/utils/physfscheckutils.cpp b/src/utils/physfscheckutils.cpp
index 0dc3033eb..3c0382f0c 100644
--- a/src/utils/physfscheckutils.cpp
+++ b/src/utils/physfscheckutils.cpp
@@ -27,7 +27,7 @@
#include "utils/stringutils.h"
#include "utils/physfsmemoryobject.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include <map>
@@ -75,7 +75,7 @@ SDL_RWops *FakePHYSFSRWOPS_openRead(const char *restrict const name,
const char *restrict const file,
const unsigned line)
{
- return addRWops(PHYSFSRWOPS_openRead(name), name, file, line);
+ return addRWops(VirtFs::RWopsOpenRead(name), name, file, line);
}
void FakePhysFSClose(SDL_RWops *const rwops)
diff --git a/src/utils/physfsrwops.h b/src/utils/physfsrwops.h
deleted file mode 100644
index 98608458c..000000000
--- a/src/utils/physfsrwops.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * This code provides a glue layer between PhysicsFS and Simple Directmedia
- * Layer's (SDL) RWops i/o abstraction.
- *
- * License: this code is public domain. I make no warranty that it is useful,
- * correct, harmless, or environmentally safe.
- *
- * This particular file may be used however you like, including copying it
- * verbatim into a closed-source project, exploiting it commercially, and
- * removing any trace of my name from the source (although I hope you won't
- * do that). I welcome enhancements and corrections to this file, but I do
- * not require you to send me patches if you make changes. This code has
- * NO WARRANTY.
- *
- * Unless otherwise stated, the rest of PhysicsFS falls under the zlib license.
- * Please see LICENSE.txt in the root of the source tree.
- *
- * SDL falls under the LGPL license. You can get SDL at http://www.libsdl.org/
- *
- * This file was written by Ryan C. Gordon. (icculus@icculus.org).
- *
- * Copyright (C) 2012-2017 The ManaPlus Developers
- */
-
-#ifndef UTILS_PHYSFSRWOPS_H
-#define UTILS_PHYSFSRWOPS_H
-
-#include "localconsts.h"
-
-#include <SDL_rwops.h>
-
-#include "utils/virtfs.h"
-
-/**
- * Open a platform-independent filename for reading, and make it accessible
- * via an SDL_RWops structure. The file will be closed in PhysicsFS when the
- * RWops is closed. PhysicsFS should be configured to your liking before
- * opening files through this method.
- *
- * @param fname File to open in platform-independent notation.
- * @return A valid SDL_RWops structure on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- */
-SDL_RWops *PHYSFSRWOPS_openRead(const char *const fname) A_WARN_UNUSED;
-
-/**
- * Open a platform-independent filename for writing, and make it accessible
- * via an SDL_RWops structure. The file will be closed in PhysicsFS when the
- * RWops is closed. PhysicsFS should be configured to your liking before
- * opening files through this method.
- *
- * @param fname File to open in platform-independent notation.
- * @return A valid SDL_RWops structure on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- */
-SDL_RWops *PHYSFSRWOPS_openWrite(const char *const fname) A_WARN_UNUSED;
-
-/**
- * Open a platform-independent filename for appending, and make it accessible
- * via an SDL_RWops structure. The file will be closed in PhysicsFS when the
- * RWops is closed. PhysicsFS should be configured to your liking before
- * opening files through this method.
- *
- * @param fname File to open in platform-independent notation.
- * @return A valid SDL_RWops structure on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- */
-SDL_RWops *PHYSFSRWOPS_openAppend(const char *const fname) A_WARN_UNUSED;
-
-/**
- * Make a SDL_RWops from an existing PhysicsFS file handle. You should
- * dispose of any references to the handle after successful creation of
- * the RWops. The actual PhysicsFS handle will be destroyed when the
- * RWops is closed.
- *
- * @param handle a valid PhysicsFS file handle.
- * @return A valid SDL_RWops structure on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- */
-SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *const handle) A_WARN_UNUSED;
-
-#ifdef DUMP_LEAKED_RESOURCES
-void reportRWops();
-#endif // DUMP_LEAKED_RESOURCES
-
-#endif // UTILS_PHYSFSRWOPS_H
diff --git a/src/utils/physfsrwops.cpp b/src/utils/virtfsrwops.cpp
index e642f71aa..adcfa2784 100644
--- a/src/utils/physfsrwops.cpp
+++ b/src/utils/virtfsrwops.cpp
@@ -22,7 +22,7 @@
* Copyright (C) 2012-2017 The ManaPlus Developers
*/
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include "logger.h"
@@ -43,7 +43,8 @@
static int openedRWops = 0;
#endif // DUMP_LEAKED_RESOURCES
-static PHYSFSINT physfsrwops_seek(SDL_RWops *const rw, const PHYSFSINT offset,
+static PHYSFSINT physfsrwops_seek(SDL_RWops *const rw,
+ const PHYSFSINT offset,
const int whence)
{
if (!rw)
@@ -234,13 +235,13 @@ static SDL_RWops *create_rwops(PHYSFS_file *const handle)
return retval;
} /* create_rwops */
-SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *const handle)
+SDL_RWops *VirtFs::MakeRWops(PHYSFS_file *const handle)
{
SDL_RWops *retval = nullptr;
if (!handle)
{
logger->assertLog("physfsrwops_seek: NULL pointer passed to "
- "PHYSFSRWOPS_makeRWops().");
+ "RWopsmakeRWops().");
}
else
{
@@ -248,7 +249,7 @@ SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *const handle)
}
return retval;
-} /* PHYSFSRWOPS_makeRWops */
+} /* RWopsmakeRWops */
#ifdef __APPLE__
static bool checkFilePath(const char *const fname)
@@ -261,9 +262,9 @@ static bool checkFilePath(const char *const fname)
}
#endif // __APPLE__
-SDL_RWops *PHYSFSRWOPS_openRead(const char *const fname)
+SDL_RWops *VirtFs::RWopsOpenRead(const char *const fname)
{
- BLOCK_START("PHYSFSRWOPS_openRead")
+ BLOCK_START("RWopsopenRead")
#ifdef __APPLE__
if (!checkFilePath(fname))
return nullptr;
@@ -274,15 +275,15 @@ SDL_RWops *PHYSFSRWOPS_openRead(const char *const fname)
#endif // USE_FUZZER
#ifdef USE_PROFILER
SDL_RWops *const ret = create_rwops(VirtFs::openRead(fname));
- BLOCK_END("PHYSFSRWOPS_openRead")
+ BLOCK_END("RWopsopenRead")
return ret;
#else // USE_PROFILER
return create_rwops(VirtFs::openRead(fname));
#endif // USE_PROFILER
-} /* PHYSFSRWOPS_openRead */
+} /* RWopsopenRead */
-SDL_RWops *PHYSFSRWOPS_openWrite(const char *const fname)
+SDL_RWops *VirtFs::RWopsOpenWrite(const char *const fname)
{
#ifdef __APPLE__
if (!checkFilePath(fname))
@@ -290,9 +291,9 @@ SDL_RWops *PHYSFSRWOPS_openWrite(const char *const fname)
#endif // __APPLE__
return create_rwops(VirtFs::openWrite(fname));
-} /* PHYSFSRWOPS_openWrite */
+} /* RWopsopenWrite */
-SDL_RWops *PHYSFSRWOPS_openAppend(const char *const fname)
+SDL_RWops *VirtFs::RWopsOpenAppend(const char *const fname)
{
#ifdef __APPLE__
if (!checkFilePath(fname))
@@ -300,10 +301,10 @@ SDL_RWops *PHYSFSRWOPS_openAppend(const char *const fname)
#endif // __APPLE__
return create_rwops(VirtFs::openAppend(fname));
-} /* PHYSFSRWOPS_openAppend */
+} /* RWopsopenAppend */
#ifdef DUMP_LEAKED_RESOURCES
-void reportRWops()
+void VirtFs::reportRWops()
{
if (openedRWops)
{
diff --git a/src/utils/virtfsrwops.h b/src/utils/virtfsrwops.h
new file mode 100644
index 000000000..83aa79996
--- /dev/null
+++ b/src/utils/virtfsrwops.h
@@ -0,0 +1,45 @@
+/*
+ * This code provides a glue layer between PhysicsFS and Simple Directmedia
+ * Layer's (SDL) RWops i/o abstraction.
+ *
+ * License: this code is public domain. I make no warranty that it is useful,
+ * correct, harmless, or environmentally safe.
+ *
+ * This particular file may be used however you like, including copying it
+ * verbatim into a closed-source project, exploiting it commercially, and
+ * removing any trace of my name from the source (although I hope you won't
+ * do that). I welcome enhancements and corrections to this file, but I do
+ * not require you to send me patches if you make changes. This code has
+ * NO WARRANTY.
+ *
+ * Unless otherwise stated, the rest of PhysicsFS falls under the zlib license.
+ * Please see LICENSE.txt in the root of the source tree.
+ *
+ * SDL falls under the LGPL license. You can get SDL at http://www.libsdl.org/
+ *
+ * This file was written by Ryan C. Gordon. (icculus@icculus.org).
+ *
+ * Copyright (C) 2012-2017 The ManaPlus Developers
+ */
+
+#ifndef UTILS_PHYSFSRWOPS_H
+#define UTILS_PHYSFSRWOPS_H
+
+#include "localconsts.h"
+
+#include <SDL_rwops.h>
+
+#include "utils/virtfs.h"
+
+namespace VirtFs
+{
+ SDL_RWops *RWopsOpenRead(const char *const fname) A_WARN_UNUSED;
+ SDL_RWops *RWopsOpenWrite(const char *const fname) A_WARN_UNUSED;
+ SDL_RWops *RWopsOpenAppend(const char *const fname) A_WARN_UNUSED;
+ SDL_RWops *MakeRWops(PHYSFS_file *const handle) A_WARN_UNUSED;
+#ifdef DUMP_LEAKED_RESOURCES
+ void reportRWops();
+#endif // DUMP_LEAKED_RESOURCES
+} // namespace VirtFs
+
+#endif // UTILS_PHYSFSRWOPS_H