diff --git a/msvc2003/devilution/comparer-config.toml b/msvc2003/devilution/comparer-config.toml index 2209efd7..e7f532c5 100644 --- a/msvc2003/devilution/comparer-config.toml +++ b/msvc2003/devilution/comparer-config.toml @@ -2,10 +2,78 @@ # = (0x401000 - PE header offset) (0x400 for VC5 linker) address_offset = 0x400000 +[[func]] +name = "ClearArmsData" +addr = 0x401000 + +[[func]] +name = "ClearItemData" +addr = 0x401030 + [[func]] name = "AddArmsData" addr = 0x401050 +[[func]] +name = "SubArmsData" +addr = 0x401160 + +[[func]] +name = "TradeArms" +addr = 0x401220 + +[[func]] +name = "AddItemData" +addr = 0x4012D0 + +[[func]] +name = "SubItemData" +addr = 0x401330 + +[[func]] +name = "MoveCampCursor" +addr = 0x4013C0 + +[[func]] +name = "PutCampObject" +addr = 0x4016F0 + +[[func]] +name = "CampLoop" +addr = 0x401D10 + +[[func]] +name = "CheckItem" +addr = 0x401F20 + +[[func]] +name = "CheckArms" +addr = 0x401F60 + +[[func]] +name = "UseArmsEnergy" +addr = 0x401FA0 + +[[func]] +name = "ChargeArmsEnergy" +addr = 0x402020 + +[[func]] +name = "FullArmsEnergy" +addr = 0x402090 + +[[func]] +name = "RotationArms" +addr = 0x4020E0 + +[[func]] +name = "RotationArmsRev" +addr = 0x402190 + +[[func]] +name = "ChangeToFirstArms" +addr = 0x402240 + [[func]] name = "InitBack" addr = 0x402270 diff --git a/src/ArmsItem.cpp b/src/ArmsItem.cpp index 61e57f67..e947a133 100644 --- a/src/ArmsItem.cpp +++ b/src/ArmsItem.cpp @@ -270,6 +270,10 @@ void MoveCampCursor() void PutCampObject() { + int i; + RECT rcArms; + RECT rcItem; + // Get rects RECT rcPer = {72, 48, 80, 56}; RECT rcNone = {80, 48, 96, 56}; @@ -284,11 +288,10 @@ void PutCampObject() RECT rcBoxBottom = {0, 16, 244, 24}; // Draw box - int y; PutBitmap3(&rcView, (WINDOW_WIDTH - 244) / 2, (WINDOW_HEIGHT - 224) / 2, &rcBoxTop, SURFACE_ID_TEXT_BOX); - for (y = 1; y < 18; y++) - PutBitmap3(&rcView, (WINDOW_WIDTH - 244) / 2, ((WINDOW_HEIGHT - 240) / 2) + (8 * (y + 1)), &rcBoxBody, SURFACE_ID_TEXT_BOX); - PutBitmap3(&rcView, (WINDOW_WIDTH - 244) / 2, ((WINDOW_HEIGHT - 240) / 2) + (8 * (y + 1)), &rcBoxBottom, SURFACE_ID_TEXT_BOX); + for (i = 1; i < 18; ++i) + PutBitmap3(&rcView, (WINDOW_WIDTH - 244) / 2, ((WINDOW_HEIGHT - 240) / 2) + (8 * (i + 1)), &rcBoxBody, SURFACE_ID_TEXT_BOX); + PutBitmap3(&rcView, (WINDOW_WIDTH - 244) / 2, ((WINDOW_HEIGHT - 240) / 2) + (8 * (i + 1)), &rcBoxBottom, SURFACE_ID_TEXT_BOX); // Move titles if (gCampTitleY > (WINDOW_HEIGHT - 208) / 2) @@ -308,12 +311,11 @@ void PutCampObject() PutBitmap3(&rcView, 40 * gSelectedArms + (WINDOW_WIDTH - 224) / 2, (WINDOW_HEIGHT / 2) - 96, &rcCur1[1], SURFACE_ID_TEXT_BOX); // Draw arms - for (int i = 0; i < ARMS_MAX; i++) + for (i = 0; i < ARMS_MAX; i++) { if (gArmsData[i].code == 0) break; - RECT rcArms; rcArms.left = 16 * (gArmsData[i].code % 16); rcArms.right = rcArms.left + 16; rcArms.top = 16 * (gArmsData[i].code / 16); @@ -343,12 +345,11 @@ void PutCampObject() else PutBitmap3(&rcView, 32 * (gSelectedItem % 6) + (WINDOW_WIDTH - 224) / 2, 16 * (gSelectedItem / 6) + (WINDOW_HEIGHT - 88) / 2, &rcCur2[1], SURFACE_ID_TEXT_BOX); - for (int i = 0; i < ITEM_MAX; i++) + for (i = 0; i < ITEM_MAX; i++) { if (gItemData[i].code == 0) break; - RECT rcItem; rcItem.left = 32 * (gItemData[i].code % 8); rcItem.right = rcItem.left + 32; rcItem.top = 16 * (gItemData[i].code / 8); @@ -360,10 +361,12 @@ void PutCampObject() int CampLoop() { + int arms_num; + char old_script_path[PATH_LENGTH]; + RECT rcView = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT}; // Load the inventory script - char old_script_path[PATH_LENGTH]; GetTextScriptPath(old_script_path); LoadTextScript2("ArmsItem.tsc"); @@ -373,7 +376,7 @@ int CampLoop() gSelectedItem = 0; // Run script - int arms_num = 0; + arms_num = 0; for (; gArmsData[arms_num].code != 0;) ++arms_num;