Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e3d95da

Browse files
committed
Don't use globals
1 parent ef451a2 commit e3d95da

4 files changed

Lines changed: 15 additions & 7 deletions

File tree

library/xml

plugins/remotefortressreader/item_reader.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
#include "item_reader.h"
2+
#include "Core.h"
3+
#include "VersionInfo.h"
24

35
#include "df/art_image.h"
46
#include "df/art_image_chunk.h"
@@ -104,9 +106,9 @@ void CopyImage(const df::art_image * image, ArtImage * netImage)
104106

105107
void CopyImage(df::art_image_ref imageRef, ArtImage * netImage)
106108
{
107-
if (df::global::getArtImage)
109+
GET_IMAGE getImage = reinterpret_cast<GET_IMAGE>(Core::getInstance().vinfo->getAddress("rfr_get_art_image"));
110+
if (getImage)
108111
{
109-
df::art_image * (__thiscall *getImage)(df::world*, df::art_image_ref *, int *) = (df::art_image * (__thiscall*)(df::world*, df::art_image_ref *, int *))df::global::getArtImage;
110112
int subid = -1;
111113
CopyImage(getImage(world, &imageRef, &subid), netImage);
112114
}

plugins/remotefortressreader/item_reader.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ namespace df
1111
{
1212
struct item;
1313
struct map_block;
14+
struct art_image;
15+
struct art_image_ref;
16+
struct world;
1417
}
1518

1619
namespace MapExtras
@@ -22,4 +25,6 @@ DFHack::command_result GetItemList(DFHack::color_ostream &stream, const DFHack::
2225
void CopyItem(RemoteFortressReader::Item * NetItem, df::item * DfItem);
2326
void ConvertDFColorDescriptor(int16_t index, RemoteFortressReader::ColorDefinition * out);
2427

28+
typedef df::art_image * (__thiscall *GET_IMAGE)(df::world*, df::art_image_ref *, int *);
29+
2530
#endif // !ITEM_READER_H

plugins/remotefortressreader/remotefortressreader.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "SDL_events.h"
1818
#include "SDL_keyboard.h"
1919
#include "TileTypes.h"
20+
#include "VersionInfo.h"
2021
#if DF_VERSION_INT > 34011
2122
#include "DFHackVersion.h"
2223
#endif
@@ -191,10 +192,10 @@ command_result generate_image(color_ostream &out, vector <string> & parameters)
191192
imageRef.site_id = -1;
192193
imageRef.subid = -1;
193194

194-
if (df::global::getArtImage)
195-
{
196-
df::art_image * (__thiscall *getImage)(df::world*,df::art_image_ref *, int *) = (df::art_image * (__thiscall*)(df::world*, df::art_image_ref *, int *))df::global::getArtImage;
197-
int subid = -1;
195+
GET_IMAGE getImage = reinterpret_cast<GET_IMAGE>(Core::getInstance().vinfo->getAddress("rfr_get_art_image"));
196+
if (getImage)
197+
{
198+
int subid = -1;
198199
auto image = getImage(world,&imageRef, &subid);
199200
out.print("Id: %d, subid: %d\n", image->id, image->subid);
200201
}

0 commit comments

Comments
 (0)