summaryrefslogtreecommitdiff
path: root/src/factories/BaseFactory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/factories/BaseFactory.h')
-rw-r--r--src/factories/BaseFactory.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/factories/BaseFactory.h b/src/factories/BaseFactory.h
index 3335827..2486517 100644
--- a/src/factories/BaseFactory.h
+++ b/src/factories/BaseFactory.h
@@ -31,7 +31,8 @@ struct ParseResultData;
#define SEGMENT_NUMBER(x) (((uint32_t)(x) >> 24) & 0xFF)
// I would love to use 0x01000000, but the stupid compiler takes it as 0x01
#define IS_SEGMENTED(x) ((SEGMENT_NUMBER(x) > 0) && (SEGMENT_NUMBER(x) < 0x20))
-#define ASSET_PTR(x) (IS_SEGMENTED(x) ? SEGMENT_OFFSET(x) : (x))
+#define IS_VIRTUAL_SEGMENT(x) (SEGMENT_NUMBER(x) >= 0x80)
+#define ASSET_PTR(x) ((IS_SEGMENTED(x) || IS_VIRTUAL_SEGMENT(x)) ? SEGMENT_OFFSET(x) : (x))
#define tab_t "\t"
#define fourSpaceTab " "