From ac6da51dbb7e5d39347b26f40ba6be671adfc613 Mon Sep 17 00:00:00 2001 From: Ted John Date: Tue, 11 Jul 2017 20:54:21 +0100 Subject: [PATCH] Use IPlatformEnvironment for loading g1.dat --- src/openrct2/Context.cpp | 2 +- src/openrct2/drawing/drawing.h | 2 +- src/openrct2/drawing/sprite.cpp | 10 +++++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/openrct2/Context.cpp b/src/openrct2/Context.cpp index 2223f71929..76146c3e7d 100644 --- a/src/openrct2/Context.cpp +++ b/src/openrct2/Context.cpp @@ -264,7 +264,7 @@ namespace OpenRCT2 private: bool LoadBaseGraphics() { - if (!gfx_load_g1()) + if (!gfx_load_g1(_env)) { return false; } diff --git a/src/openrct2/drawing/drawing.h b/src/openrct2/drawing/drawing.h index b45660347b..65214ab857 100644 --- a/src/openrct2/drawing/drawing.h +++ b/src/openrct2/drawing/drawing.h @@ -311,7 +311,7 @@ void gfx_fill_rect_inset(rct_drawpixelinfo* dpi, sint16 left, sint16 top, sint16 void gfx_filter_rect(rct_drawpixelinfo *dpi, sint32 left, sint32 top, sint32 right, sint32 bottom, FILTER_PALETTE_ID palette); // sprite -bool gfx_load_g1(); +bool gfx_load_g1(void * platformEnvironment); bool gfx_load_g2(); bool gfx_load_csg(); void gfx_unload_g1(); diff --git a/src/openrct2/drawing/sprite.cpp b/src/openrct2/drawing/sprite.cpp index 25df2e39f6..fd2e44fedc 100644 --- a/src/openrct2/drawing/sprite.cpp +++ b/src/openrct2/drawing/sprite.cpp @@ -24,6 +24,7 @@ #include "../core/Path.hpp" #include "../core/Util.hpp" #include "../OpenRCT2.h" +#include "../PlatformEnvironment.h" #include "../sprites.h" #include "../ui/UiContext.h" @@ -88,12 +89,15 @@ extern "C" * * rct2: 0x00678998 */ - bool gfx_load_g1() + bool gfx_load_g1(void * platformEnvironment) { - log_verbose("gfx_load_g1()"); + auto env = (IPlatformEnvironment *)platformEnvironment; + + log_verbose("gfx_load_g1(...)"); try { - auto fs = FileStream(get_file_path(PATH_ID_G1), FILE_MODE_OPEN); + auto path = Path::Combine(env->GetDirectoryPath(DIRBASE::RCT2, DIRID::DATA), "g1.dat"); + auto fs = FileStream(path, FILE_MODE_OPEN); rct_g1_header header = fs.ReadValue(); /* number of elements is stored in g1.dat, but because the entry