Add more inventory UI constants
This commit is contained in:
parent
ebba548206
commit
16f0be1a45
276
src/inventory.cc
276
src/inventory.cc
|
@ -72,14 +72,20 @@
|
||||||
#define INVENTORY_ARMOR_SLOT_MAX_X (INVENTORY_ARMOR_SLOT_X + INVENTORY_LARGE_SLOT_WIDTH)
|
#define INVENTORY_ARMOR_SLOT_MAX_X (INVENTORY_ARMOR_SLOT_X + INVENTORY_LARGE_SLOT_WIDTH)
|
||||||
#define INVENTORY_ARMOR_SLOT_MAX_Y (INVENTORY_ARMOR_SLOT_Y + INVENTORY_LARGE_SLOT_HEIGHT)
|
#define INVENTORY_ARMOR_SLOT_MAX_Y (INVENTORY_ARMOR_SLOT_Y + INVENTORY_LARGE_SLOT_HEIGHT)
|
||||||
|
|
||||||
|
#define INVENTORY_TRADE_SCROLLER_Y 35
|
||||||
|
#define INVENTORY_TRADE_INNER_SCROLLER_Y 20
|
||||||
|
|
||||||
#define INVENTORY_TRADE_LEFT_SCROLLER_X 29
|
#define INVENTORY_TRADE_LEFT_SCROLLER_X 29
|
||||||
|
#define INVENTORY_TRADE_LEFT_SCROLLER_Y INVENTORY_TRADE_SCROLLER_Y
|
||||||
|
|
||||||
#define INVENTORY_TRADE_RIGHT_SCROLLER_X 395
|
#define INVENTORY_TRADE_RIGHT_SCROLLER_X 395
|
||||||
|
#define INVENTORY_TRADE_RIGHT_SCROLLER_Y INVENTORY_TRADE_SCROLLER_Y
|
||||||
|
|
||||||
#define INVENTORY_TRADE_INNER_LEFT_SCROLLER_X 165
|
#define INVENTORY_TRADE_INNER_LEFT_SCROLLER_X 165
|
||||||
#define INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X 250
|
#define INVENTORY_TRADE_INNER_LEFT_SCROLLER_Y INVENTORY_TRADE_INNER_SCROLLER_Y
|
||||||
|
|
||||||
#define INVENTORY_TRADE_OUTER_SCROLLER_Y 35
|
#define INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X 250
|
||||||
#define INVENTORY_TRADE_INNER_SCROLLER_Y 20
|
#define INVENTORY_TRADE_INNER_RIGHT_SCROLLER_Y INVENTORY_TRADE_INNER_SCROLLER_Y
|
||||||
|
|
||||||
#define INVENTORY_TRADE_LEFT_SCROLLER_TRACKING_X 0
|
#define INVENTORY_TRADE_LEFT_SCROLLER_TRACKING_X 0
|
||||||
#define INVENTORY_TRADE_LEFT_SCROLLER_TRACKING_Y 10
|
#define INVENTORY_TRADE_LEFT_SCROLLER_TRACKING_Y 10
|
||||||
|
@ -123,6 +129,48 @@
|
||||||
#define INVENTORY_LOOT_LEFT_BODY_VIEW_X 44
|
#define INVENTORY_LOOT_LEFT_BODY_VIEW_X 44
|
||||||
#define INVENTORY_LOOT_LEFT_BODY_VIEW_Y 35
|
#define INVENTORY_LOOT_LEFT_BODY_VIEW_Y 35
|
||||||
|
|
||||||
|
#define INVENTORY_SUMMARY_X 297
|
||||||
|
#define INVENTORY_SUMMARY_Y 44
|
||||||
|
#define INVENTORY_SUMMARY_MAX_X 440
|
||||||
|
|
||||||
|
#define INVENTORY_WINDOW_WIDTH 499
|
||||||
|
#define INVENTORY_USE_ON_WINDOW_WIDTH 292
|
||||||
|
#define INVENTORY_LOOT_WINDOW_WIDTH 537
|
||||||
|
#define INVENTORY_TRADE_WINDOW_WIDTH 480
|
||||||
|
#define INVENTORY_TIMER_WINDOW_WIDTH 259
|
||||||
|
|
||||||
|
#define INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH 640
|
||||||
|
#define INVENTORY_TRADE_BACKGROUND_WINDOW_HEIGHT 480
|
||||||
|
#define INVENTORY_TRADE_WINDOW_OFFSET ((INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH - INVENTORY_TRADE_WINDOW_WIDTH) / 2)
|
||||||
|
|
||||||
|
#define INVENTORY_SLOT_PADDING 4
|
||||||
|
|
||||||
|
#define INVENTORY_SCROLLER_X_PAD (INVENTORY_SCROLLER_X + INVENTORY_SLOT_PADDING)
|
||||||
|
#define INVENTORY_SCROLLER_Y_PAD (INVENTORY_SCROLLER_Y + INVENTORY_SLOT_PADDING)
|
||||||
|
|
||||||
|
#define INVENTORY_LOOT_LEFT_SCROLLER_X_PAD (INVENTORY_LOOT_LEFT_SCROLLER_X + INVENTORY_SLOT_PADDING)
|
||||||
|
#define INVENTORY_LOOT_LEFT_SCROLLER_Y_PAD (INVENTORY_LOOT_LEFT_SCROLLER_Y + INVENTORY_SLOT_PADDING)
|
||||||
|
|
||||||
|
#define INVENTORY_LOOT_RIGHT_SCROLLER_X_PAD (INVENTORY_LOOT_RIGHT_SCROLLER_X + INVENTORY_SLOT_PADDING)
|
||||||
|
#define INVENTORY_LOOT_RIGHT_SCROLLER_Y_PAD (INVENTORY_LOOT_RIGHT_SCROLLER_Y + INVENTORY_SLOT_PADDING)
|
||||||
|
|
||||||
|
#define INVENTORY_TRADE_LEFT_SCROLLER_X_PAD 26
|
||||||
|
#define INVENTORY_TRADE_LEFT_SCROLLER_Y_PAD (INVENTORY_TRADE_LEFT_SCROLLER_Y + INVENTORY_SLOT_PADDING)
|
||||||
|
|
||||||
|
#define INVENTORY_TRADE_LEFT_SCROLLER_X_AUX 20
|
||||||
|
|
||||||
|
#define INVENTORY_TRADE_RIGHT_SCROLLER_X_PAD (INVENTORY_TRADE_RIGHT_SCROLLER_X + 2)
|
||||||
|
#define INVENTORY_TRADE_RIGHT_SCROLLER_Y_PAD (INVENTORY_TRADE_RIGHT_SCROLLER_Y + INVENTORY_SLOT_PADDING)
|
||||||
|
|
||||||
|
#define INVENTORY_TRADE_INNER_LEFT_SCROLLER_X_PAD (INVENTORY_TRADE_INNER_LEFT_SCROLLER_X + INVENTORY_SLOT_PADDING)
|
||||||
|
#define INVENTORY_TRADE_INNER_LEFT_SCROLLER_Y_PAD (INVENTORY_TRADE_INNER_LEFT_SCROLLER_Y + INVENTORY_SLOT_PADDING)
|
||||||
|
|
||||||
|
#define INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X_PAD (INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X + INVENTORY_SLOT_PADDING)
|
||||||
|
#define INVENTORY_TRADE_INNER_RIGHT_SCROLLER_Y_PAD (INVENTORY_TRADE_INNER_RIGHT_SCROLLER_Y + INVENTORY_SLOT_PADDING)
|
||||||
|
|
||||||
|
#define INVENTORY_SLOT_WIDTH_PAD (INVENTORY_SLOT_WIDTH - INVENTORY_SLOT_PADDING * 2)
|
||||||
|
#define INVENTORY_SLOT_HEIGHT_PAD (INVENTORY_SLOT_HEIGHT - INVENTORY_SLOT_PADDING * 2)
|
||||||
|
|
||||||
#define INVENTORY_NORMAL_WINDOW_PC_ROTATION_DELAY (1000U / ROTATION_COUNT)
|
#define INVENTORY_NORMAL_WINDOW_PC_ROTATION_DELAY (1000U / ROTATION_COUNT)
|
||||||
#define OFF_59E7BC_COUNT 12
|
#define OFF_59E7BC_COUNT 12
|
||||||
|
|
||||||
|
@ -275,12 +323,12 @@ static int _inven_display_msg_line = 1;
|
||||||
|
|
||||||
// 0x519068
|
// 0x519068
|
||||||
static const InventoryWindowDescription gInventoryWindowDescriptions[INVENTORY_WINDOW_TYPE_COUNT] = {
|
static const InventoryWindowDescription gInventoryWindowDescriptions[INVENTORY_WINDOW_TYPE_COUNT] = {
|
||||||
{ 48, 499, 377, 80, 0 },
|
{ 48, INVENTORY_WINDOW_WIDTH, 377, 80, 0 },
|
||||||
{ 113, 292, 376, 80, 0 },
|
{ 113, INVENTORY_USE_ON_WINDOW_WIDTH, 376, 80, 0 },
|
||||||
{ 114, 537, 376, 80, 0 },
|
{ 114, INVENTORY_LOOT_WINDOW_WIDTH, 376, 80, 0 },
|
||||||
{ 111, 480, 180, 80, 290 },
|
{ 111, INVENTORY_TRADE_WINDOW_WIDTH, 180, 80, 290 },
|
||||||
{ 305, 259, 162, 140, 80 },
|
{ 305, INVENTORY_TIMER_WINDOW_WIDTH, 162, 140, 80 },
|
||||||
{ 305, 259, 162, 140, 80 },
|
{ 305, INVENTORY_TIMER_WINDOW_WIDTH, 162, 140, 80 },
|
||||||
};
|
};
|
||||||
|
|
||||||
// 0x5190E0
|
// 0x5190E0
|
||||||
|
@ -711,15 +759,15 @@ static bool _setup_inventory(int inventoryWindowType)
|
||||||
gInventorySlotsCount = 3;
|
gInventorySlotsCount = 3;
|
||||||
|
|
||||||
// Trade inventory window is a part of game dialog, which is 640x480.
|
// Trade inventory window is a part of game dialog, which is 640x480.
|
||||||
int tradeWindowX = (screenGetWidth() - 640) / 2 + INVENTORY_TRADE_WINDOW_X;
|
int tradeWindowX = (screenGetWidth() - INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH) / 2 + INVENTORY_TRADE_WINDOW_X;
|
||||||
int tradeWindowY = (screenGetHeight() - 480) / 2 + INVENTORY_TRADE_WINDOW_Y;
|
int tradeWindowY = (screenGetHeight() - INVENTORY_TRADE_BACKGROUND_WINDOW_HEIGHT) / 2 + INVENTORY_TRADE_WINDOW_Y;
|
||||||
gInventoryWindow = windowCreate(tradeWindowX, tradeWindowY, INVENTORY_TRADE_WINDOW_WIDTH, INVENTORY_TRADE_WINDOW_HEIGHT, 257, 0);
|
gInventoryWindow = windowCreate(tradeWindowX, tradeWindowY, INVENTORY_TRADE_WINDOW_WIDTH, INVENTORY_TRADE_WINDOW_HEIGHT, 257, 0);
|
||||||
gInventoryWindowMaxX = tradeWindowX + INVENTORY_TRADE_WINDOW_WIDTH;
|
gInventoryWindowMaxX = tradeWindowX + INVENTORY_TRADE_WINDOW_WIDTH;
|
||||||
gInventoryWindowMaxY = tradeWindowY + INVENTORY_TRADE_WINDOW_HEIGHT;
|
gInventoryWindowMaxY = tradeWindowY + INVENTORY_TRADE_WINDOW_HEIGHT;
|
||||||
|
|
||||||
unsigned char* dest = windowGetBuffer(gInventoryWindow);
|
unsigned char* dest = windowGetBuffer(gInventoryWindow);
|
||||||
unsigned char* src = windowGetBuffer(_barter_back_win);
|
unsigned char* src = windowGetBuffer(_barter_back_win);
|
||||||
blitBufferToBuffer(src + INVENTORY_TRADE_WINDOW_X, INVENTORY_TRADE_WINDOW_WIDTH, INVENTORY_TRADE_WINDOW_HEIGHT, 640, dest, INVENTORY_TRADE_WINDOW_WIDTH);
|
blitBufferToBuffer(src + INVENTORY_TRADE_WINDOW_X, INVENTORY_TRADE_WINDOW_WIDTH, INVENTORY_TRADE_WINDOW_HEIGHT, INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH, dest, INVENTORY_TRADE_WINDOW_WIDTH);
|
||||||
|
|
||||||
gInventoryPrintItemDescriptionHandler = gameDialogRenderSupplementaryMessage;
|
gInventoryPrintItemDescriptionHandler = gameDialogRenderSupplementaryMessage;
|
||||||
}
|
}
|
||||||
|
@ -754,7 +802,7 @@ static bool _setup_inventory(int inventoryWindowType)
|
||||||
y -= INVENTORY_SLOT_HEIGHT;
|
y -= INVENTORY_SLOT_HEIGHT;
|
||||||
}
|
}
|
||||||
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
||||||
int y1 = INVENTORY_TRADE_OUTER_SCROLLER_Y;
|
int y1 = INVENTORY_TRADE_SCROLLER_Y;
|
||||||
int y2 = INVENTORY_TRADE_INNER_SCROLLER_Y;
|
int y2 = INVENTORY_TRADE_INNER_SCROLLER_Y;
|
||||||
|
|
||||||
for (int index = 0; index < gInventorySlotsCount; index++) {
|
for (int index = 0; index < gInventorySlotsCount; index++) {
|
||||||
|
@ -1194,7 +1242,7 @@ static void _display_inventory(int a1, int a2, int inventoryWindowType)
|
||||||
|
|
||||||
int v49 = 0;
|
int v49 = 0;
|
||||||
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_NORMAL) {
|
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_NORMAL) {
|
||||||
pitch = 499;
|
pitch = INVENTORY_WINDOW_WIDTH;
|
||||||
|
|
||||||
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 48, 0, 0, 0);
|
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 48, 0, 0, 0);
|
||||||
|
|
||||||
|
@ -1202,7 +1250,7 @@ static void _display_inventory(int a1, int a2, int inventoryWindowType)
|
||||||
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
||||||
if (backgroundFrmData != NULL) {
|
if (backgroundFrmData != NULL) {
|
||||||
// Clear scroll view background.
|
// Clear scroll view background.
|
||||||
blitBufferToBuffer(backgroundFrmData + pitch * 35 + 44, INVENTORY_SLOT_WIDTH, gInventorySlotsCount * INVENTORY_SLOT_HEIGHT, pitch, windowBuffer + pitch * 35 + 44, pitch);
|
blitBufferToBuffer(backgroundFrmData + pitch * INVENTORY_SCROLLER_Y + INVENTORY_SCROLLER_X, INVENTORY_SLOT_WIDTH, gInventorySlotsCount * INVENTORY_SLOT_HEIGHT, pitch, windowBuffer + pitch * INVENTORY_SCROLLER_Y + INVENTORY_SCROLLER_X, pitch);
|
||||||
|
|
||||||
// Clear armor button background.
|
// Clear armor button background.
|
||||||
blitBufferToBuffer(backgroundFrmData + pitch * INVENTORY_ARMOR_SLOT_Y + INVENTORY_ARMOR_SLOT_X, INVENTORY_LARGE_SLOT_WIDTH, INVENTORY_LARGE_SLOT_HEIGHT, pitch, windowBuffer + pitch * INVENTORY_ARMOR_SLOT_Y + INVENTORY_ARMOR_SLOT_X, pitch);
|
blitBufferToBuffer(backgroundFrmData + pitch * INVENTORY_ARMOR_SLOT_Y + INVENTORY_ARMOR_SLOT_X, INVENTORY_LARGE_SLOT_WIDTH, INVENTORY_LARGE_SLOT_HEIGHT, pitch, windowBuffer + pitch * INVENTORY_ARMOR_SLOT_Y + INVENTORY_ARMOR_SLOT_X, pitch);
|
||||||
|
@ -1228,7 +1276,7 @@ static void _display_inventory(int a1, int a2, int inventoryWindowType)
|
||||||
artUnlock(backgroundFrmHandle);
|
artUnlock(backgroundFrmHandle);
|
||||||
}
|
}
|
||||||
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_USE_ITEM_ON) {
|
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_USE_ITEM_ON) {
|
||||||
pitch = 292;
|
pitch = INVENTORY_USE_ON_WINDOW_WIDTH;
|
||||||
|
|
||||||
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 113, 0, 0, 0);
|
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 113, 0, 0, 0);
|
||||||
|
|
||||||
|
@ -1236,11 +1284,11 @@ static void _display_inventory(int a1, int a2, int inventoryWindowType)
|
||||||
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
||||||
if (backgroundFrmData != NULL) {
|
if (backgroundFrmData != NULL) {
|
||||||
// Clear scroll view background.
|
// Clear scroll view background.
|
||||||
blitBufferToBuffer(backgroundFrmData + pitch * 35 + 44, INVENTORY_SLOT_WIDTH, gInventorySlotsCount * INVENTORY_SLOT_HEIGHT, pitch, windowBuffer + pitch * 35 + 44, pitch);
|
blitBufferToBuffer(backgroundFrmData + pitch * INVENTORY_SCROLLER_Y + INVENTORY_SCROLLER_X, INVENTORY_SLOT_WIDTH, gInventorySlotsCount * INVENTORY_SLOT_HEIGHT, pitch, windowBuffer + pitch * INVENTORY_SCROLLER_Y + INVENTORY_SCROLLER_X, pitch);
|
||||||
artUnlock(backgroundFrmHandle);
|
artUnlock(backgroundFrmHandle);
|
||||||
}
|
}
|
||||||
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
||||||
pitch = 537;
|
pitch = INVENTORY_LOOT_WINDOW_WIDTH;
|
||||||
|
|
||||||
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 114, 0, 0, 0);
|
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 114, 0, 0, 0);
|
||||||
|
|
||||||
|
@ -1248,16 +1296,16 @@ static void _display_inventory(int a1, int a2, int inventoryWindowType)
|
||||||
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
||||||
if (backgroundFrmData != NULL) {
|
if (backgroundFrmData != NULL) {
|
||||||
// Clear scroll view background.
|
// Clear scroll view background.
|
||||||
blitBufferToBuffer(backgroundFrmData + pitch * 37 + 176, INVENTORY_SLOT_WIDTH, gInventorySlotsCount * INVENTORY_SLOT_HEIGHT, pitch, windowBuffer + pitch * 37 + 176, pitch);
|
blitBufferToBuffer(backgroundFrmData + pitch * INVENTORY_LOOT_LEFT_SCROLLER_Y + INVENTORY_LOOT_LEFT_SCROLLER_X, INVENTORY_SLOT_WIDTH, gInventorySlotsCount * INVENTORY_SLOT_HEIGHT, pitch, windowBuffer + pitch * INVENTORY_LOOT_LEFT_SCROLLER_Y + INVENTORY_LOOT_LEFT_SCROLLER_X, pitch);
|
||||||
artUnlock(backgroundFrmHandle);
|
artUnlock(backgroundFrmHandle);
|
||||||
}
|
}
|
||||||
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
||||||
pitch = 480;
|
pitch = INVENTORY_TRADE_WINDOW_WIDTH;
|
||||||
|
|
||||||
windowBuffer = windowGetBuffer(gInventoryWindow);
|
windowBuffer = windowGetBuffer(gInventoryWindow);
|
||||||
|
|
||||||
blitBufferToBuffer(windowGetBuffer(_barter_back_win) + 35 * 640 + 100, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT * gInventorySlotsCount, 640, windowBuffer + pitch * 35 + 20, pitch);
|
blitBufferToBuffer(windowGetBuffer(_barter_back_win) + INVENTORY_TRADE_LEFT_SCROLLER_Y * INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH + INVENTORY_TRADE_LEFT_SCROLLER_X_AUX + INVENTORY_TRADE_WINDOW_OFFSET, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT * gInventorySlotsCount, INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH, windowBuffer + pitch * INVENTORY_TRADE_LEFT_SCROLLER_Y + INVENTORY_TRADE_LEFT_SCROLLER_X_AUX, pitch);
|
||||||
v49 = -20;
|
v49 = -INVENTORY_TRADE_LEFT_SCROLLER_X_AUX;
|
||||||
} else {
|
} else {
|
||||||
assert(false && "Should be unreachable");
|
assert(false && "Should be unreachable");
|
||||||
}
|
}
|
||||||
|
@ -1289,26 +1337,26 @@ static void _display_inventory(int a1, int a2, int inventoryWindowType)
|
||||||
int width;
|
int width;
|
||||||
int offset;
|
int offset;
|
||||||
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
||||||
offset = pitch * (y + 39) + 26;
|
offset = pitch * (y + INVENTORY_TRADE_LEFT_SCROLLER_Y_PAD) + INVENTORY_TRADE_LEFT_SCROLLER_X_PAD;
|
||||||
width = 59;
|
width = 59;
|
||||||
} else {
|
} else {
|
||||||
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
||||||
offset = pitch * (y + 41) + 180;
|
offset = pitch * (y + INVENTORY_LOOT_LEFT_SCROLLER_Y_PAD) + INVENTORY_LOOT_LEFT_SCROLLER_X_PAD;
|
||||||
} else {
|
} else {
|
||||||
offset = pitch * (y + 39) + 48;
|
offset = pitch * (y + INVENTORY_SCROLLER_Y_PAD) + INVENTORY_SCROLLER_X_PAD;
|
||||||
}
|
}
|
||||||
width = 56;
|
width = INVENTORY_SLOT_WIDTH_PAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
InventoryItem* inventoryItem = &(_pud->items[_pud->length - v21]);
|
InventoryItem* inventoryItem = &(_pud->items[_pud->length - v21]);
|
||||||
|
|
||||||
int inventoryFid = itemGetInventoryFid(inventoryItem->item);
|
int inventoryFid = itemGetInventoryFid(inventoryItem->item);
|
||||||
artRender(inventoryFid, windowBuffer + offset, width, 40, pitch);
|
artRender(inventoryFid, windowBuffer + offset, width, INVENTORY_SLOT_HEIGHT_PAD, pitch);
|
||||||
|
|
||||||
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
||||||
offset = pitch * (y + 41) + 180 + v49;
|
offset = pitch * (y + INVENTORY_LOOT_LEFT_SCROLLER_Y_PAD) + INVENTORY_LOOT_LEFT_SCROLLER_X_PAD + v49;
|
||||||
} else {
|
} else {
|
||||||
offset = pitch * (y + 39) + 48 + v49;
|
offset = pitch * (y + INVENTORY_SCROLLER_Y_PAD) + INVENTORY_SCROLLER_X_PAD + v49;
|
||||||
}
|
}
|
||||||
|
|
||||||
_display_inventory_info(inventoryItem->item, inventoryItem->quantity, windowBuffer + offset, pitch, v19 == a2);
|
_display_inventory_info(inventoryItem->item, inventoryItem->quantity, windowBuffer + offset, pitch, v19 == a2);
|
||||||
|
@ -1320,17 +1368,17 @@ static void _display_inventory(int a1, int a2, int inventoryWindowType)
|
||||||
if (gInventoryRightHandItem != NULL) {
|
if (gInventoryRightHandItem != NULL) {
|
||||||
int width = gInventoryRightHandItem == gInventoryLeftHandItem ? INVENTORY_LARGE_SLOT_WIDTH * 2 : INVENTORY_LARGE_SLOT_WIDTH;
|
int width = gInventoryRightHandItem == gInventoryLeftHandItem ? INVENTORY_LARGE_SLOT_WIDTH * 2 : INVENTORY_LARGE_SLOT_WIDTH;
|
||||||
int inventoryFid = itemGetInventoryFid(gInventoryRightHandItem);
|
int inventoryFid = itemGetInventoryFid(gInventoryRightHandItem);
|
||||||
artRender(inventoryFid, windowBuffer + 499 * INVENTORY_RIGHT_HAND_SLOT_Y + INVENTORY_RIGHT_HAND_SLOT_X, width, INVENTORY_LARGE_SLOT_HEIGHT, 499);
|
artRender(inventoryFid, windowBuffer + INVENTORY_WINDOW_WIDTH * INVENTORY_RIGHT_HAND_SLOT_Y + INVENTORY_RIGHT_HAND_SLOT_X, width, INVENTORY_LARGE_SLOT_HEIGHT, INVENTORY_WINDOW_WIDTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gInventoryLeftHandItem != NULL && gInventoryLeftHandItem != gInventoryRightHandItem) {
|
if (gInventoryLeftHandItem != NULL && gInventoryLeftHandItem != gInventoryRightHandItem) {
|
||||||
int inventoryFid = itemGetInventoryFid(gInventoryLeftHandItem);
|
int inventoryFid = itemGetInventoryFid(gInventoryLeftHandItem);
|
||||||
artRender(inventoryFid, windowBuffer + 499 * INVENTORY_LEFT_HAND_SLOT_Y + INVENTORY_LEFT_HAND_SLOT_X, INVENTORY_LARGE_SLOT_WIDTH, INVENTORY_LARGE_SLOT_HEIGHT, 499);
|
artRender(inventoryFid, windowBuffer + INVENTORY_WINDOW_WIDTH * INVENTORY_LEFT_HAND_SLOT_Y + INVENTORY_LEFT_HAND_SLOT_X, INVENTORY_LARGE_SLOT_WIDTH, INVENTORY_LARGE_SLOT_HEIGHT, INVENTORY_WINDOW_WIDTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gInventoryArmor != NULL) {
|
if (gInventoryArmor != NULL) {
|
||||||
int inventoryFid = itemGetInventoryFid(gInventoryArmor);
|
int inventoryFid = itemGetInventoryFid(gInventoryArmor);
|
||||||
artRender(inventoryFid, windowBuffer + 499 * INVENTORY_ARMOR_SLOT_Y + INVENTORY_ARMOR_SLOT_X, INVENTORY_LARGE_SLOT_WIDTH, INVENTORY_LARGE_SLOT_HEIGHT, 499);
|
artRender(inventoryFid, windowBuffer + INVENTORY_WINDOW_WIDTH * INVENTORY_ARMOR_SLOT_Y + INVENTORY_ARMOR_SLOT_X, INVENTORY_LARGE_SLOT_WIDTH, INVENTORY_LARGE_SLOT_HEIGHT, INVENTORY_WINDOW_WIDTH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1349,21 +1397,21 @@ static void _display_target_inventory(int a1, int a2, Inventory* inventory, int
|
||||||
|
|
||||||
int pitch;
|
int pitch;
|
||||||
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
||||||
pitch = 537;
|
pitch = INVENTORY_LOOT_WINDOW_WIDTH;
|
||||||
|
|
||||||
int fid = buildFid(OBJ_TYPE_INTERFACE, 114, 0, 0, 0);
|
int fid = buildFid(OBJ_TYPE_INTERFACE, 114, 0, 0, 0);
|
||||||
|
|
||||||
CacheEntry* handle;
|
CacheEntry* handle;
|
||||||
unsigned char* data = artLockFrameData(fid, 0, 0, &handle);
|
unsigned char* data = artLockFrameData(fid, 0, 0, &handle);
|
||||||
if (data != NULL) {
|
if (data != NULL) {
|
||||||
blitBufferToBuffer(data + 537 * 37 + 297, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT * gInventorySlotsCount, 537, windowBuffer + 537 * 37 + 297, 537);
|
blitBufferToBuffer(data + pitch * INVENTORY_LOOT_RIGHT_SCROLLER_Y + INVENTORY_LOOT_RIGHT_SCROLLER_X, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT * gInventorySlotsCount, pitch, windowBuffer + pitch * INVENTORY_LOOT_RIGHT_SCROLLER_Y + INVENTORY_LOOT_RIGHT_SCROLLER_X, pitch);
|
||||||
artUnlock(handle);
|
artUnlock(handle);
|
||||||
}
|
}
|
||||||
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
||||||
pitch = 480;
|
pitch = INVENTORY_TRADE_WINDOW_WIDTH;
|
||||||
|
|
||||||
unsigned char* src = windowGetBuffer(_barter_back_win);
|
unsigned char* src = windowGetBuffer(_barter_back_win);
|
||||||
blitBufferToBuffer(src + 640 * 35 + 475, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT * gInventorySlotsCount, 640, windowBuffer + 480 * 35 + 395, 480);
|
blitBufferToBuffer(src + INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH * INVENTORY_TRADE_RIGHT_SCROLLER_Y + INVENTORY_TRADE_RIGHT_SCROLLER_X + INVENTORY_TRADE_WINDOW_OFFSET, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT * gInventorySlotsCount, INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH, windowBuffer + INVENTORY_TRADE_WINDOW_WIDTH * INVENTORY_TRADE_RIGHT_SCROLLER_Y + INVENTORY_TRADE_RIGHT_SCROLLER_X, INVENTORY_TRADE_WINDOW_WIDTH);
|
||||||
} else {
|
} else {
|
||||||
assert(false && "Should be unreachable");
|
assert(false && "Should be unreachable");
|
||||||
}
|
}
|
||||||
|
@ -1377,16 +1425,16 @@ static void _display_target_inventory(int a1, int a2, Inventory* inventory, int
|
||||||
|
|
||||||
int offset;
|
int offset;
|
||||||
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_LOOT) {
|
||||||
offset = pitch * (y + 41) + 301;
|
offset = pitch * (y + INVENTORY_LOOT_RIGHT_SCROLLER_Y_PAD) + INVENTORY_LOOT_RIGHT_SCROLLER_X_PAD;
|
||||||
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
} else if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
||||||
offset = pitch * (y + 39) + 397;
|
offset = pitch * (y + INVENTORY_TRADE_RIGHT_SCROLLER_Y_PAD) + INVENTORY_TRADE_RIGHT_SCROLLER_X_PAD;
|
||||||
} else {
|
} else {
|
||||||
assert(false && "Should be unreachable");
|
assert(false && "Should be unreachable");
|
||||||
}
|
}
|
||||||
|
|
||||||
InventoryItem* inventoryItem = &(inventory->items[inventory->length - (v27 + 1)]);
|
InventoryItem* inventoryItem = &(inventory->items[inventory->length - (v27 + 1)]);
|
||||||
int inventoryFid = itemGetInventoryFid(inventoryItem->item);
|
int inventoryFid = itemGetInventoryFid(inventoryItem->item);
|
||||||
artRender(inventoryFid, windowBuffer + offset, 56, 40, pitch);
|
artRender(inventoryFid, windowBuffer + offset, INVENTORY_SLOT_WIDTH_PAD, INVENTORY_SLOT_HEIGHT_PAD, pitch);
|
||||||
_display_inventory_info(inventoryItem->item, inventoryItem->quantity, windowBuffer + offset, pitch, index == a2);
|
_display_inventory_info(inventoryItem->item, inventoryItem->quantity, windowBuffer + offset, pitch, index == a2);
|
||||||
|
|
||||||
y += INVENTORY_SLOT_HEIGHT;
|
y += INVENTORY_SLOT_HEIGHT;
|
||||||
|
@ -1584,10 +1632,10 @@ static void _display_body(int fid, int inventoryWindowType)
|
||||||
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 114, 0, 0, 0);
|
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 114, 0, 0, 0);
|
||||||
unsigned char* src = artLockFrameData(backgroundFid, 0, 0, &backrgroundFrmHandle);
|
unsigned char* src = artLockFrameData(backgroundFid, 0, 0, &backrgroundFrmHandle);
|
||||||
if (src != NULL) {
|
if (src != NULL) {
|
||||||
blitBufferToBuffer(src + 537 * rect.top + rect.left,
|
blitBufferToBuffer(src + INVENTORY_LOOT_WINDOW_WIDTH * rect.top + rect.left,
|
||||||
INVENTORY_BODY_VIEW_WIDTH,
|
INVENTORY_BODY_VIEW_WIDTH,
|
||||||
INVENTORY_BODY_VIEW_HEIGHT,
|
INVENTORY_BODY_VIEW_HEIGHT,
|
||||||
537,
|
INVENTORY_LOOT_WINDOW_WIDTH,
|
||||||
windowBuffer + windowPitch * rect.top + rect.left,
|
windowBuffer + windowPitch * rect.top + rect.left,
|
||||||
windowPitch);
|
windowPitch);
|
||||||
}
|
}
|
||||||
|
@ -1791,8 +1839,8 @@ static void _inven_pickup(int keyCode, int a2)
|
||||||
// NOTE: Original code a little bit different, this code path
|
// NOTE: Original code a little bit different, this code path
|
||||||
// is only for key codes below 1006.
|
// is only for key codes below 1006.
|
||||||
v3 = keyCode - 1000;
|
v3 = keyCode - 1000;
|
||||||
rect.left = 44;
|
rect.left = INVENTORY_SCROLLER_X;
|
||||||
rect.top = INVENTORY_SLOT_HEIGHT * v3 + 35;
|
rect.top = INVENTORY_SLOT_HEIGHT * v3 + INVENTORY_SCROLLER_Y;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1813,7 +1861,7 @@ static void _inven_pickup(int keyCode, int a2)
|
||||||
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 48, 0, 0, 0);
|
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 48, 0, 0, 0);
|
||||||
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
||||||
if (backgroundFrmData != NULL) {
|
if (backgroundFrmData != NULL) {
|
||||||
blitBufferToBuffer(backgroundFrmData + 499 * rect.top + rect.left, width, height, 499, windowBuffer + 499 * rect.top + rect.left, 499);
|
blitBufferToBuffer(backgroundFrmData + INVENTORY_WINDOW_WIDTH * rect.top + rect.left, width, height, INVENTORY_WINDOW_WIDTH, windowBuffer + INVENTORY_WINDOW_WIDTH * rect.top + rect.left, INVENTORY_WINDOW_WIDTH);
|
||||||
artUnlock(backgroundFrmHandle);
|
artUnlock(backgroundFrmHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1824,7 +1872,7 @@ static void _inven_pickup(int keyCode, int a2)
|
||||||
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 48, 0, 0, 0);
|
int backgroundFid = buildFid(OBJ_TYPE_INTERFACE, 48, 0, 0, 0);
|
||||||
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
unsigned char* backgroundFrmData = artLockFrameData(backgroundFid, 0, 0, &backgroundFrmHandle);
|
||||||
if (backgroundFrmData != NULL) {
|
if (backgroundFrmData != NULL) {
|
||||||
blitBufferToBuffer(backgroundFrmData + 499 * 286 + 154, 180, 61, 499, windowBuffer + 499 * 286 + 154, 499);
|
blitBufferToBuffer(backgroundFrmData + INVENTORY_WINDOW_WIDTH * 286 + 154, 180, 61, INVENTORY_WINDOW_WIDTH, windowBuffer + INVENTORY_WINDOW_WIDTH * 286 + 154, INVENTORY_WINDOW_WIDTH);
|
||||||
artUnlock(backgroundFrmHandle);
|
artUnlock(backgroundFrmHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2365,44 +2413,44 @@ static void inventoryRenderSummary()
|
||||||
CacheEntry* backgroundHandle;
|
CacheEntry* backgroundHandle;
|
||||||
unsigned char* backgroundData = artLockFrameData(fid, 0, 0, &backgroundHandle);
|
unsigned char* backgroundData = artLockFrameData(fid, 0, 0, &backgroundHandle);
|
||||||
if (backgroundData != NULL) {
|
if (backgroundData != NULL) {
|
||||||
blitBufferToBuffer(backgroundData + 499 * 44 + 297, 152, 188, 499, windowBuffer + 499 * 44 + 297, 499);
|
blitBufferToBuffer(backgroundData + INVENTORY_WINDOW_WIDTH * INVENTORY_SUMMARY_Y + INVENTORY_SUMMARY_X, 152, 188, INVENTORY_WINDOW_WIDTH, windowBuffer + INVENTORY_WINDOW_WIDTH * INVENTORY_SUMMARY_Y + INVENTORY_SUMMARY_X, INVENTORY_WINDOW_WIDTH);
|
||||||
}
|
}
|
||||||
artUnlock(backgroundHandle);
|
artUnlock(backgroundHandle);
|
||||||
|
|
||||||
// Render character name.
|
// Render character name.
|
||||||
const char* critterName = critterGetName(_stack[0]);
|
const char* critterName = critterGetName(_stack[0]);
|
||||||
fontDrawText(windowBuffer + 499 * 44 + 297, critterName, 80, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + INVENTORY_WINDOW_WIDTH * INVENTORY_SUMMARY_Y + INVENTORY_SUMMARY_X, critterName, 80, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
|
|
||||||
bufferDrawLine(windowBuffer,
|
bufferDrawLine(windowBuffer,
|
||||||
499,
|
INVENTORY_WINDOW_WIDTH,
|
||||||
297,
|
INVENTORY_SUMMARY_X,
|
||||||
3 * fontGetLineHeight() / 2 + 44,
|
3 * fontGetLineHeight() / 2 + INVENTORY_SUMMARY_Y,
|
||||||
440,
|
INVENTORY_SUMMARY_MAX_X,
|
||||||
3 * fontGetLineHeight() / 2 + 44,
|
3 * fontGetLineHeight() / 2 + INVENTORY_SUMMARY_Y,
|
||||||
_colorTable[992]);
|
_colorTable[992]);
|
||||||
|
|
||||||
MessageListItem messageListItem;
|
MessageListItem messageListItem;
|
||||||
|
|
||||||
int offset = 499 * 2 * fontGetLineHeight() + 499 * 44 + 297;
|
int offset = INVENTORY_WINDOW_WIDTH * 2 * fontGetLineHeight() + INVENTORY_WINDOW_WIDTH * INVENTORY_SUMMARY_Y + INVENTORY_SUMMARY_X;
|
||||||
for (int stat = 0; stat < 7; stat++) {
|
for (int stat = 0; stat < 7; stat++) {
|
||||||
messageListItem.num = stat;
|
messageListItem.num = stat;
|
||||||
if (messageListGetItem(&gInventoryMessageList, &messageListItem)) {
|
if (messageListGetItem(&gInventoryMessageList, &messageListItem)) {
|
||||||
fontDrawText(windowBuffer + offset, messageListItem.text, 80, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset, messageListItem.text, 80, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
}
|
}
|
||||||
|
|
||||||
int value = critterGetStat(_stack[0], stat);
|
int value = critterGetStat(_stack[0], stat);
|
||||||
sprintf(formattedText, "%d", value);
|
sprintf(formattedText, "%d", value);
|
||||||
fontDrawText(windowBuffer + offset + 24, formattedText, 80, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset + 24, formattedText, 80, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
|
|
||||||
offset += 499 * fontGetLineHeight();
|
offset += INVENTORY_WINDOW_WIDTH * fontGetLineHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
offset -= 499 * 7 * fontGetLineHeight();
|
offset -= INVENTORY_WINDOW_WIDTH * 7 * fontGetLineHeight();
|
||||||
|
|
||||||
for (int index = 0; index < 7; index += 1) {
|
for (int index = 0; index < 7; index += 1) {
|
||||||
messageListItem.num = 7 + index;
|
messageListItem.num = 7 + index;
|
||||||
if (messageListGetItem(&gInventoryMessageList, &messageListItem)) {
|
if (messageListGetItem(&gInventoryMessageList, &messageListItem)) {
|
||||||
fontDrawText(windowBuffer + offset + 40, messageListItem.text, 80, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset + 40, messageListItem.text, 80, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (v57[index] == -1) {
|
if (v57[index] == -1) {
|
||||||
|
@ -2415,13 +2463,13 @@ static void inventoryRenderSummary()
|
||||||
sprintf(formattedText, format, value1, value2);
|
sprintf(formattedText, format, value1, value2);
|
||||||
}
|
}
|
||||||
|
|
||||||
fontDrawText(windowBuffer + offset + 104, formattedText, 80, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset + 104, formattedText, 80, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
|
|
||||||
offset += 499 * fontGetLineHeight();
|
offset += INVENTORY_WINDOW_WIDTH * fontGetLineHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
bufferDrawLine(windowBuffer, 499, 297, 18 * fontGetLineHeight() / 2 + 48, 440, 18 * fontGetLineHeight() / 2 + 48, _colorTable[992]);
|
bufferDrawLine(windowBuffer, INVENTORY_WINDOW_WIDTH, INVENTORY_SUMMARY_X, 18 * fontGetLineHeight() / 2 + 48, INVENTORY_SUMMARY_MAX_X, 18 * fontGetLineHeight() / 2 + 48, _colorTable[992]);
|
||||||
bufferDrawLine(windowBuffer, 499, 297, 26 * fontGetLineHeight() / 2 + 48, 440, 26 * fontGetLineHeight() / 2 + 48, _colorTable[992]);
|
bufferDrawLine(windowBuffer, INVENTORY_WINDOW_WIDTH, INVENTORY_SUMMARY_X, 26 * fontGetLineHeight() / 2 + 48, INVENTORY_SUMMARY_MAX_X, 26 * fontGetLineHeight() / 2 + 48, _colorTable[992]);
|
||||||
|
|
||||||
Object* itemsInHands[2] = {
|
Object* itemsInHands[2] = {
|
||||||
gInventoryLeftHandItem,
|
gInventoryLeftHandItem,
|
||||||
|
@ -2443,7 +2491,7 @@ static void inventoryRenderSummary()
|
||||||
HIT_MODE_KICK,
|
HIT_MODE_KICK,
|
||||||
};
|
};
|
||||||
|
|
||||||
offset += 499 * fontGetLineHeight();
|
offset += INVENTORY_WINDOW_WIDTH * fontGetLineHeight();
|
||||||
|
|
||||||
for (int index = 0; index < 2; index += 1) {
|
for (int index = 0; index < 2; index += 1) {
|
||||||
Object* item = itemsInHands[index];
|
Object* item = itemsInHands[index];
|
||||||
|
@ -2453,10 +2501,10 @@ static void inventoryRenderSummary()
|
||||||
// No item
|
// No item
|
||||||
messageListItem.num = 14;
|
messageListItem.num = 14;
|
||||||
if (messageListGetItem(&gInventoryMessageList, &messageListItem)) {
|
if (messageListGetItem(&gInventoryMessageList, &messageListItem)) {
|
||||||
fontDrawText(windowBuffer + offset, messageListItem.text, 120, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset, messageListItem.text, 120, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
}
|
}
|
||||||
|
|
||||||
offset += 499 * fontGetLineHeight();
|
offset += INVENTORY_WINDOW_WIDTH * fontGetLineHeight();
|
||||||
|
|
||||||
// Unarmed dmg:
|
// Unarmed dmg:
|
||||||
messageListItem.num = 24;
|
messageListItem.num = 24;
|
||||||
|
@ -2490,16 +2538,16 @@ static void inventoryRenderSummary()
|
||||||
bonusDamage + meleeDamage + maxDamage);
|
bonusDamage + meleeDamage + maxDamage);
|
||||||
}
|
}
|
||||||
|
|
||||||
fontDrawText(windowBuffer + offset, formattedText, 120, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset, formattedText, 120, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
|
|
||||||
offset += 3 * 499 * fontGetLineHeight();
|
offset += 3 * INVENTORY_WINDOW_WIDTH * fontGetLineHeight();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* itemName = itemGetName(item);
|
const char* itemName = itemGetName(item);
|
||||||
fontDrawText(windowBuffer + offset, itemName, 140, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset, itemName, 140, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
|
|
||||||
offset += 499 * fontGetLineHeight();
|
offset += INVENTORY_WINDOW_WIDTH * fontGetLineHeight();
|
||||||
|
|
||||||
int itemType = itemGetType(item);
|
int itemType = itemGetType(item);
|
||||||
if (itemType != ITEM_TYPE_WEAPON) {
|
if (itemType != ITEM_TYPE_WEAPON) {
|
||||||
|
@ -2507,11 +2555,11 @@ static void inventoryRenderSummary()
|
||||||
// (Not worn)
|
// (Not worn)
|
||||||
messageListItem.num = 18;
|
messageListItem.num = 18;
|
||||||
if (messageListGetItem(&gInventoryMessageList, &messageListItem)) {
|
if (messageListGetItem(&gInventoryMessageList, &messageListItem)) {
|
||||||
fontDrawText(windowBuffer + offset, messageListItem.text, 120, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset, messageListItem.text, 120, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
offset += 3 * 499 * fontGetLineHeight();
|
offset += 3 * INVENTORY_WINDOW_WIDTH * fontGetLineHeight();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2587,10 +2635,10 @@ static void inventoryRenderSummary()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fontDrawText(windowBuffer + offset, formattedText, 140, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset, formattedText, 140, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
}
|
}
|
||||||
|
|
||||||
offset += 499 * fontGetLineHeight();
|
offset += INVENTORY_WINDOW_WIDTH * fontGetLineHeight();
|
||||||
|
|
||||||
if (ammoGetCapacity(item) > 0) {
|
if (ammoGetCapacity(item) > 0) {
|
||||||
int ammoTypePid = weaponGetAmmoTypePid(item);
|
int ammoTypePid = weaponGetAmmoTypePid(item);
|
||||||
|
@ -2617,10 +2665,10 @@ static void inventoryRenderSummary()
|
||||||
sprintf(formattedText, "%s %d/%d", messageListItem.text, quantity, capacity);
|
sprintf(formattedText, "%s %d/%d", messageListItem.text, quantity, capacity);
|
||||||
}
|
}
|
||||||
|
|
||||||
fontDrawText(windowBuffer + offset, formattedText, 140, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset, formattedText, 140, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
}
|
}
|
||||||
|
|
||||||
offset += 2 * 499 * fontGetLineHeight();
|
offset += 2 * INVENTORY_WINDOW_WIDTH * fontGetLineHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Total wt:
|
// Total wt:
|
||||||
|
@ -2636,12 +2684,12 @@ static void inventoryRenderSummary()
|
||||||
color = _colorTable[31744];
|
color = _colorTable[31744];
|
||||||
}
|
}
|
||||||
|
|
||||||
fontDrawText(windowBuffer + offset + 15, formattedText, 120, 499, color);
|
fontDrawText(windowBuffer + offset + 15, formattedText, 120, INVENTORY_WINDOW_WIDTH, color);
|
||||||
} else {
|
} else {
|
||||||
int inventoryWeight = objectGetInventoryWeight(_stack[0]);
|
int inventoryWeight = objectGetInventoryWeight(_stack[0]);
|
||||||
sprintf(formattedText, "%s %d", messageListItem.text, inventoryWeight);
|
sprintf(formattedText, "%s %d", messageListItem.text, inventoryWeight);
|
||||||
|
|
||||||
fontDrawText(windowBuffer + offset + 30, formattedText, 80, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + offset + 30, formattedText, 80, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3025,7 +3073,7 @@ static void inventoryRenderItemDescription(char* string)
|
||||||
fontSetCurrent(101);
|
fontSetCurrent(101);
|
||||||
|
|
||||||
unsigned char* windowBuffer = windowGetBuffer(gInventoryWindow);
|
unsigned char* windowBuffer = windowGetBuffer(gInventoryWindow);
|
||||||
windowBuffer += 499 * 44 + 297;
|
windowBuffer += INVENTORY_WINDOW_WIDTH * INVENTORY_SUMMARY_Y + INVENTORY_SUMMARY_X;
|
||||||
|
|
||||||
char* c = string;
|
char* c = string;
|
||||||
while (c != NULL && *c != '\0') {
|
while (c != NULL && *c != '\0') {
|
||||||
|
@ -3047,7 +3095,7 @@ static void inventoryRenderItemDescription(char* string)
|
||||||
// This was the last line containing very long word. Text
|
// This was the last line containing very long word. Text
|
||||||
// drawing routine will silently truncate it after reaching
|
// drawing routine will silently truncate it after reaching
|
||||||
// desired length.
|
// desired length.
|
||||||
fontDrawText(windowBuffer + 499 * _inven_display_msg_line * fontGetLineHeight(), c, 152, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + INVENTORY_WINDOW_WIDTH * _inven_display_msg_line * fontGetLineHeight(), c, 152, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3088,7 +3136,7 @@ static void inventoryRenderItemDescription(char* string)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
fontDrawText(windowBuffer + 499 * _inven_display_msg_line * fontGetLineHeight(), c, 152, 499, _colorTable[992]);
|
fontDrawText(windowBuffer + INVENTORY_WINDOW_WIDTH * _inven_display_msg_line * fontGetLineHeight(), c, 152, INVENTORY_WINDOW_WIDTH, _colorTable[992]);
|
||||||
|
|
||||||
if (space != NULL) {
|
if (space != NULL) {
|
||||||
c = space + 1;
|
c = space + 1;
|
||||||
|
@ -3119,7 +3167,7 @@ static void inventoryExamineItem(Object* critter, Object* item)
|
||||||
CacheEntry* handle;
|
CacheEntry* handle;
|
||||||
unsigned char* backgroundData = artLockFrameData(backgroundFid, 0, 0, &handle);
|
unsigned char* backgroundData = artLockFrameData(backgroundFid, 0, 0, &handle);
|
||||||
if (backgroundData != NULL) {
|
if (backgroundData != NULL) {
|
||||||
blitBufferToBuffer(backgroundData + 499 * 44 + 297, 152, 188, 499, windowBuffer + 499 * 44 + 297, 499);
|
blitBufferToBuffer(backgroundData + INVENTORY_WINDOW_WIDTH * INVENTORY_SUMMARY_Y + INVENTORY_SUMMARY_X, 152, 188, INVENTORY_WINDOW_WIDTH, windowBuffer + INVENTORY_WINDOW_WIDTH * INVENTORY_SUMMARY_Y + INVENTORY_SUMMARY_X, INVENTORY_WINDOW_WIDTH);
|
||||||
}
|
}
|
||||||
artUnlock(handle);
|
artUnlock(handle);
|
||||||
|
|
||||||
|
@ -3137,10 +3185,10 @@ static void inventoryExamineItem(Object* critter, Object* item)
|
||||||
|
|
||||||
// Draw separator.
|
// Draw separator.
|
||||||
bufferDrawLine(windowBuffer,
|
bufferDrawLine(windowBuffer,
|
||||||
499,
|
INVENTORY_WINDOW_WIDTH,
|
||||||
297,
|
INVENTORY_SUMMARY_X,
|
||||||
3 * lineHeight / 2 + 49,
|
3 * lineHeight / 2 + 49,
|
||||||
440,
|
INVENTORY_SUMMARY_MAX_X,
|
||||||
3 * lineHeight / 2 + 49,
|
3 * lineHeight / 2 + 49,
|
||||||
_colorTable[992]);
|
_colorTable[992]);
|
||||||
|
|
||||||
|
@ -3329,8 +3377,8 @@ static void inventoryWindowOpenContextMenu(int keyCode, int inventoryWindowType)
|
||||||
|
|
||||||
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
if (inventoryWindowType == INVENTORY_WINDOW_TYPE_TRADE) {
|
||||||
unsigned char* src = windowGetBuffer(_barter_back_win);
|
unsigned char* src = windowGetBuffer(_barter_back_win);
|
||||||
int pitch = 640;
|
int pitch = INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH;
|
||||||
blitBufferToBuffer(src + pitch * rect.top + rect.left + 80,
|
blitBufferToBuffer(src + pitch * rect.top + rect.left + INVENTORY_TRADE_WINDOW_OFFSET,
|
||||||
cursorData->width,
|
cursorData->width,
|
||||||
menuButtonHeight,
|
menuButtonHeight,
|
||||||
pitch,
|
pitch,
|
||||||
|
@ -3998,7 +4046,7 @@ static int _move_inventory(Object* a1, int a2, Object* a3, bool a4)
|
||||||
int fid = buildFid(OBJ_TYPE_INTERFACE, 114, 0, 0, 0);
|
int fid = buildFid(OBJ_TYPE_INTERFACE, 114, 0, 0, 0);
|
||||||
unsigned char* data = artLockFrameData(fid, 0, 0, &handle);
|
unsigned char* data = artLockFrameData(fid, 0, 0, &handle);
|
||||||
if (data != NULL) {
|
if (data != NULL) {
|
||||||
blitBufferToBuffer(data + 537 * rect.top + rect.left, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT, 537, windowBuffer + 537 * rect.top + rect.left, 537);
|
blitBufferToBuffer(data + INVENTORY_LOOT_WINDOW_WIDTH * rect.top + rect.left, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT, INVENTORY_LOOT_WINDOW_WIDTH, windowBuffer + INVENTORY_LOOT_WINDOW_WIDTH * rect.top + rect.left, INVENTORY_LOOT_WINDOW_WIDTH);
|
||||||
artUnlock(handle);
|
artUnlock(handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4215,8 +4263,8 @@ static void _barter_move_inventory(Object* a1, int quantity, int a3, int a4, Obj
|
||||||
unsigned char* dest = windowGetBuffer(gInventoryWindow);
|
unsigned char* dest = windowGetBuffer(gInventoryWindow);
|
||||||
unsigned char* src = windowGetBuffer(_barter_back_win);
|
unsigned char* src = windowGetBuffer(_barter_back_win);
|
||||||
|
|
||||||
int pitch = 640;
|
int pitch = INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH;
|
||||||
blitBufferToBuffer(src + pitch * rect.top + rect.left + 80, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT, pitch, dest + 480 * rect.top + rect.left, 480);
|
blitBufferToBuffer(src + pitch * rect.top + rect.left + INVENTORY_TRADE_WINDOW_OFFSET, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT, pitch, dest + INVENTORY_TRADE_WINDOW_WIDTH * rect.top + rect.left, INVENTORY_TRADE_WINDOW_WIDTH);
|
||||||
|
|
||||||
rect.right = rect.left + INVENTORY_SLOT_WIDTH - 1;
|
rect.right = rect.left + INVENTORY_SLOT_WIDTH - 1;
|
||||||
rect.bottom = rect.top + INVENTORY_SLOT_HEIGHT - 1;
|
rect.bottom = rect.top + INVENTORY_SLOT_HEIGHT - 1;
|
||||||
|
@ -4281,11 +4329,11 @@ static void _barter_move_from_table_inventory(Object* a1, int quantity, int a3,
|
||||||
{
|
{
|
||||||
Rect rect;
|
Rect rect;
|
||||||
if (a6) {
|
if (a6) {
|
||||||
rect.left = 169;
|
rect.left = INVENTORY_TRADE_INNER_LEFT_SCROLLER_X_PAD;
|
||||||
rect.top = INVENTORY_SLOT_HEIGHT * a3 + 24;
|
rect.top = INVENTORY_SLOT_HEIGHT * a3 + INVENTORY_TRADE_INNER_LEFT_SCROLLER_Y_PAD;
|
||||||
} else {
|
} else {
|
||||||
rect.left = 254;
|
rect.left = INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X_PAD;
|
||||||
rect.top = INVENTORY_SLOT_HEIGHT * a3 + 24;
|
rect.top = INVENTORY_SLOT_HEIGHT * a3 + INVENTORY_TRADE_INNER_RIGHT_SCROLLER_Y_PAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (quantity > 1) {
|
if (quantity > 1) {
|
||||||
|
@ -4298,8 +4346,8 @@ static void _barter_move_from_table_inventory(Object* a1, int quantity, int a3,
|
||||||
unsigned char* dest = windowGetBuffer(gInventoryWindow);
|
unsigned char* dest = windowGetBuffer(gInventoryWindow);
|
||||||
unsigned char* src = windowGetBuffer(_barter_back_win);
|
unsigned char* src = windowGetBuffer(_barter_back_win);
|
||||||
|
|
||||||
int pitch = 640;
|
int pitch = INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH;
|
||||||
blitBufferToBuffer(src + pitch * rect.top + rect.left + 80, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT, pitch, dest + 480 * rect.top + rect.left, 480);
|
blitBufferToBuffer(src + pitch * rect.top + rect.left + INVENTORY_TRADE_WINDOW_OFFSET, INVENTORY_SLOT_WIDTH, INVENTORY_SLOT_HEIGHT, pitch, dest + INVENTORY_TRADE_WINDOW_WIDTH * rect.top + rect.left, INVENTORY_TRADE_WINDOW_WIDTH);
|
||||||
|
|
||||||
rect.right = rect.left + INVENTORY_SLOT_WIDTH - 1;
|
rect.right = rect.left + INVENTORY_SLOT_WIDTH - 1;
|
||||||
rect.bottom = rect.top + INVENTORY_SLOT_HEIGHT - 1;
|
rect.bottom = rect.top + INVENTORY_SLOT_HEIGHT - 1;
|
||||||
|
@ -4372,17 +4420,17 @@ static void inventoryWindowRenderInnerInventories(int win, Object* a2, Object* a
|
||||||
|
|
||||||
if (a2 != NULL) {
|
if (a2 != NULL) {
|
||||||
unsigned char* src = windowGetBuffer(win);
|
unsigned char* src = windowGetBuffer(win);
|
||||||
blitBufferToBuffer(src + 640 * 20 + 249, INVENTORY_SLOT_WIDTH, v45 + 1, 640, windowBuffer + 480 * 20 + 169, 480);
|
blitBufferToBuffer(src + INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH * INVENTORY_TRADE_INNER_LEFT_SCROLLER_Y + INVENTORY_TRADE_INNER_LEFT_SCROLLER_X_PAD + INVENTORY_TRADE_WINDOW_OFFSET, INVENTORY_SLOT_WIDTH, v45 + 1, INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH, windowBuffer + INVENTORY_TRADE_WINDOW_WIDTH * INVENTORY_TRADE_INNER_LEFT_SCROLLER_Y + INVENTORY_TRADE_INNER_LEFT_SCROLLER_X_PAD, INVENTORY_TRADE_WINDOW_WIDTH);
|
||||||
|
|
||||||
unsigned char* dest = windowBuffer + 480 * 24 + 169;
|
unsigned char* dest = windowBuffer + INVENTORY_TRADE_WINDOW_WIDTH * INVENTORY_TRADE_INNER_LEFT_SCROLLER_Y_PAD + INVENTORY_TRADE_INNER_LEFT_SCROLLER_X_PAD;
|
||||||
Inventory* inventory = &(a2->data.inventory);
|
Inventory* inventory = &(a2->data.inventory);
|
||||||
for (int index = 0; index < gInventorySlotsCount && index + _ptable_offset < inventory->length; index++) {
|
for (int index = 0; index < gInventorySlotsCount && index + _ptable_offset < inventory->length; index++) {
|
||||||
InventoryItem* inventoryItem = &(inventory->items[inventory->length - (index + _ptable_offset + 1)]);
|
InventoryItem* inventoryItem = &(inventory->items[inventory->length - (index + _ptable_offset + 1)]);
|
||||||
int inventoryFid = itemGetInventoryFid(inventoryItem->item);
|
int inventoryFid = itemGetInventoryFid(inventoryItem->item);
|
||||||
artRender(inventoryFid, dest, 56, 40, 480);
|
artRender(inventoryFid, dest, INVENTORY_SLOT_WIDTH_PAD, INVENTORY_SLOT_HEIGHT_PAD, INVENTORY_TRADE_WINDOW_WIDTH);
|
||||||
_display_inventory_info(inventoryItem->item, inventoryItem->quantity, dest, 480, index == a4);
|
_display_inventory_info(inventoryItem->item, inventoryItem->quantity, dest, INVENTORY_TRADE_WINDOW_WIDTH, index == a4);
|
||||||
|
|
||||||
dest += 480 * INVENTORY_SLOT_HEIGHT;
|
dest += INVENTORY_TRADE_WINDOW_WIDTH * INVENTORY_SLOT_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gGameDialogSpeakerIsPartyMember) {
|
if (gGameDialogSpeakerIsPartyMember) {
|
||||||
|
@ -4398,29 +4446,30 @@ static void inventoryWindowRenderInnerInventories(int win, Object* a2, Object* a
|
||||||
sprintf(formattedText, "$%d", cost);
|
sprintf(formattedText, "$%d", cost);
|
||||||
}
|
}
|
||||||
|
|
||||||
fontDrawText(windowBuffer + 480 * (INVENTORY_SLOT_HEIGHT * gInventorySlotsCount + 24) + 169, formattedText, 80, 480, _colorTable[32767]);
|
fontDrawText(windowBuffer + INVENTORY_TRADE_WINDOW_WIDTH * (INVENTORY_SLOT_HEIGHT * gInventorySlotsCount + INVENTORY_TRADE_INNER_LEFT_SCROLLER_Y_PAD) + INVENTORY_TRADE_INNER_LEFT_SCROLLER_X_PAD, formattedText, 80, INVENTORY_TRADE_WINDOW_WIDTH, _colorTable[32767]);
|
||||||
|
|
||||||
Rect rect;
|
Rect rect;
|
||||||
rect.left = 169;
|
rect.left = INVENTORY_TRADE_INNER_LEFT_SCROLLER_X_PAD;
|
||||||
rect.top = 24;
|
rect.top = INVENTORY_TRADE_INNER_LEFT_SCROLLER_Y_PAD;
|
||||||
rect.right = 223;
|
// NOTE: Odd math, the only way to get 223 is to subtract 2.
|
||||||
|
rect.right = INVENTORY_TRADE_INNER_LEFT_SCROLLER_X_PAD + INVENTORY_SLOT_WIDTH_PAD - 2;
|
||||||
rect.bottom = rect.top + v45;
|
rect.bottom = rect.top + v45;
|
||||||
windowRefreshRect(gInventoryWindow, &rect);
|
windowRefreshRect(gInventoryWindow, &rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (a3 != NULL) {
|
if (a3 != NULL) {
|
||||||
unsigned char* src = windowGetBuffer(win);
|
unsigned char* src = windowGetBuffer(win);
|
||||||
blitBufferToBuffer(src + 640 * 20 + 334, INVENTORY_SLOT_WIDTH, v45 + 1, 640, windowBuffer + 480 * 20 + 254, 480);
|
blitBufferToBuffer(src + INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH * INVENTORY_TRADE_INNER_RIGHT_SCROLLER_Y + INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X_PAD + INVENTORY_TRADE_WINDOW_OFFSET, INVENTORY_SLOT_WIDTH, v45 + 1, INVENTORY_TRADE_BACKGROUND_WINDOW_WIDTH, windowBuffer + INVENTORY_TRADE_WINDOW_WIDTH * INVENTORY_TRADE_INNER_RIGHT_SCROLLER_Y + INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X_PAD, INVENTORY_TRADE_WINDOW_WIDTH);
|
||||||
|
|
||||||
unsigned char* dest = windowBuffer + 480 * 24 + 254;
|
unsigned char* dest = windowBuffer + INVENTORY_TRADE_WINDOW_WIDTH * INVENTORY_TRADE_INNER_RIGHT_SCROLLER_Y_PAD + INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X_PAD;
|
||||||
Inventory* inventory = &(a3->data.inventory);
|
Inventory* inventory = &(a3->data.inventory);
|
||||||
for (int index = 0; index < gInventorySlotsCount && index + _btable_offset < inventory->length; index++) {
|
for (int index = 0; index < gInventorySlotsCount && index + _btable_offset < inventory->length; index++) {
|
||||||
InventoryItem* inventoryItem = &(inventory->items[inventory->length - (index + _btable_offset + 1)]);
|
InventoryItem* inventoryItem = &(inventory->items[inventory->length - (index + _btable_offset + 1)]);
|
||||||
int inventoryFid = itemGetInventoryFid(inventoryItem->item);
|
int inventoryFid = itemGetInventoryFid(inventoryItem->item);
|
||||||
artRender(inventoryFid, dest, 56, 40, 480);
|
artRender(inventoryFid, dest, INVENTORY_SLOT_WIDTH_PAD, INVENTORY_SLOT_HEIGHT_PAD, INVENTORY_TRADE_WINDOW_WIDTH);
|
||||||
_display_inventory_info(inventoryItem->item, inventoryItem->quantity, dest, 480, index == a4);
|
_display_inventory_info(inventoryItem->item, inventoryItem->quantity, dest, INVENTORY_TRADE_WINDOW_WIDTH, index == a4);
|
||||||
|
|
||||||
dest += 480 * INVENTORY_SLOT_HEIGHT;
|
dest += INVENTORY_TRADE_WINDOW_WIDTH * INVENTORY_SLOT_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gGameDialogSpeakerIsPartyMember) {
|
if (gGameDialogSpeakerIsPartyMember) {
|
||||||
|
@ -4436,12 +4485,13 @@ static void inventoryWindowRenderInnerInventories(int win, Object* a2, Object* a
|
||||||
sprintf(formattedText, "$%d", cost);
|
sprintf(formattedText, "$%d", cost);
|
||||||
}
|
}
|
||||||
|
|
||||||
fontDrawText(windowBuffer + 480 * (INVENTORY_SLOT_HEIGHT * gInventorySlotsCount + 24) + 254, formattedText, 80, 480, _colorTable[32767]);
|
fontDrawText(windowBuffer + INVENTORY_TRADE_WINDOW_WIDTH * (INVENTORY_SLOT_HEIGHT * gInventorySlotsCount + INVENTORY_TRADE_INNER_RIGHT_SCROLLER_Y_PAD) + INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X_PAD, formattedText, 80, INVENTORY_TRADE_WINDOW_WIDTH, _colorTable[32767]);
|
||||||
|
|
||||||
Rect rect;
|
Rect rect;
|
||||||
rect.left = 254;
|
rect.left = INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X_PAD;
|
||||||
rect.top = 24;
|
rect.top = INVENTORY_TRADE_INNER_RIGHT_SCROLLER_Y_PAD;
|
||||||
rect.right = 318;
|
// NOTE: Odd math, likely should be `INVENTORY_SLOT_WIDTH_PAD`.
|
||||||
|
rect.right = INVENTORY_TRADE_INNER_RIGHT_SCROLLER_X_PAD + INVENTORY_SLOT_WIDTH;
|
||||||
rect.bottom = rect.top + v45;
|
rect.bottom = rect.top + v45;
|
||||||
windowRefreshRect(gInventoryWindow, &rect);
|
windowRefreshRect(gInventoryWindow, &rect);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue