From ab18254b6306145dc1b4383774f98195eeca01bb Mon Sep 17 00:00:00 2001 From: avolkov Date: Tue, 6 Dec 2005 22:11:41 +0000 Subject: [PATCH] Removing hotspot abuse from lander reports as it causes desync with new hotspot handling; primitive batches have no advantages now anyway git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@2034 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/sc2code/planets/report.c | 47 ++++++++++++++++---------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/sc2/src/sc2code/planets/report.c b/sc2/src/sc2code/planets/report.c index 5b57eae98..7c4f51dc0 100644 --- a/sc2/src/sc2code/planets/report.c +++ b/sc2/src/sc2code/planets/report.c @@ -40,46 +40,45 @@ extern FRAME SpaceJunkFrame; static void ClearReportArea (void) { - COUNT i; + COUNT x, y; RECT r; STAMP s; - PRIMITIVE prim_row[MAX_CELL_COLS]; + COORD startx; if (optWhichFonts == OPT_PC) s.frame = SetAbsFrameIndex (SpaceJunkFrame, 21); else s.frame = SetAbsFrameIndex (SpaceJunkFrame, 18); GetFrameRect (s.frame, &r); - s.origin.x = 1 + (r.extent.width >> 1) - 1; - s.origin.y = 1; - for (i = 0; i < NUM_CELL_COLS; ++i) - { - prim_row[i].Object.Stamp = s; - s.origin.x += r.extent.width + 1; - SetPrimNextLink (&prim_row[i], i + 1); - if (optWhichFonts == OPT_PC) - SetPrimType (&prim_row[i], STAMP_PRIM); - else - { - SetPrimType (&prim_row[i], STAMPFILL_PRIM); - SetPrimColor (&prim_row[i], BUILD_COLOR (MAKE_RGB15 (0x00, 0x07, 0x00), 0x57)); - } - } - SetPrimNextLink (&prim_row[i - 1], END_OF_LIST); + BatchGraphics (); SetContextBackGroundColor (BLACK_COLOR); ClearDrawable (); SetContextClipping (FALSE); - for (i = 0; i < NUM_CELL_ROWS; ++i) + SetContextForeGroundColor (BUILD_COLOR ( + MAKE_RGB15 (0x00, 0x07, 0x00), 0x57)); + + startx = 1 + (r.extent.width >> 1) - 1; + s.origin.y = 1; + for (y = 0; y < NUM_CELL_ROWS; ++y) { - DrawBatch (prim_row, 0, 0); - r.corner.y -= r.extent.height + 1; - SetFrameHot (s.frame, MAKE_HOT_SPOT (r.corner.x, r.corner.y)); + s.origin.x = startx; + for (x = 0; x < NUM_CELL_COLS; ++x) + { + if (optWhichFonts == OPT_PC) + DrawStamp (&s); + else + DrawFilledStamp (&s); + + s.origin.x += r.extent.width + 1; + } + s.origin.y += r.extent.height + 1; } + SetContextClipping (TRUE); - r.corner.y = 0; - SetFrameHot (s.frame, MAKE_HOT_SPOT (r.corner.x, r.corner.y)); + + UnbatchGraphics (); } static void