diff --git a/sc2/src/sc2code/cleanup.c b/sc2/src/sc2code/cleanup.c index 18354d144..fa459d3f0 100644 --- a/sc2/src/sc2code/cleanup.c +++ b/sc2/src/sc2code/cleanup.c @@ -76,14 +76,12 @@ UninitContexts (void) static void UninitKernel (BOOLEAN ships) { - extern FRAME status; - UninitSpace (); DestroySound (ReleaseSound (MenuSounds)); DestroyFont (ReleaseFont (MicroFont)); DestroyStringTable (ReleaseStringTable (GameStrings)); - DestroyDrawable (ReleaseDrawable (status)); + DestroyDrawable (ReleaseDrawable (StatusFrame)); DestroyDrawable (ReleaseDrawable (ActivityFrame)); DestroyFont (ReleaseFont (TinyFont)); DestroyFont (ReleaseFont (StarConFont)); diff --git a/sc2/src/sc2code/gameopt.c b/sc2/src/sc2code/gameopt.c index 43d428ea5..99ee01246 100644 --- a/sc2/src/sc2code/gameopt.c +++ b/sc2/src/sc2code/gameopt.c @@ -633,7 +633,6 @@ DrawCargo (COUNT redraw_state) { BYTE i; RECT r; - extern FRAME misc_data; SetContext (SpaceContext); if (redraw_state) @@ -683,7 +682,7 @@ DrawCargo (COUNT redraw_state) } s.frame = SetAbsFrameIndex ( - misc_data, + MiscDataFrame, (NUM_SCANDOT_TRANSITIONS << 1) + 3 ); if (redraw_state == 2 @@ -841,10 +840,8 @@ ShowSummary (SUMMARY_DESC *pSD) } else { - extern FRAME misc_data; - s.frame = SetAbsFrameIndex ( - misc_data, 77 + pSD->DeviceList[(i << 2) + j] + MiscDataFrame, 77 + pSD->DeviceList[(i << 2) + j] ); DrawStamp (&s); } diff --git a/sc2/src/sc2code/globdata.c b/sc2/src/sc2code/globdata.c index 26be99bf0..1acdeca37 100644 --- a/sc2/src/sc2code/globdata.c +++ b/sc2/src/sc2code/globdata.c @@ -40,7 +40,6 @@ FRAME PlayFrame; GLOBDATA GlobData; -extern FRAME flagship_status, misc_data; BOOLEAN initedSIS = 0; @@ -102,20 +101,20 @@ CreateRadar (void) BOOLEAN LoadSC2Data (void) { - if (flagship_status == 0) + if (FlagStatFrame == 0) { MEM_HANDLE hOldIndex; hOldIndex = SetResourceIndex (hResIndex); - flagship_status = CaptureDrawable ( + FlagStatFrame = CaptureDrawable ( LoadGraphic (FLAGSTAT_MASK_PMAP_ANIM)); - if (flagship_status == NULL) + if (FlagStatFrame == NULL) return FALSE; - misc_data = CaptureDrawable ( + MiscDataFrame = CaptureDrawable ( LoadGraphic (MISCDATA_MASK_PMAP_ANIM)); - if (misc_data == NULL) + if (MiscDataFrame == NULL) return FALSE; SetResourceIndex (hOldIndex); @@ -312,10 +311,10 @@ FreeSC2Data (void) { DestroyContext (ReleaseContext (RadarContext)); RadarContext = 0; - DestroyDrawable (ReleaseDrawable (misc_data)); - misc_data = 0; - DestroyDrawable (ReleaseDrawable (flagship_status)); - flagship_status = 0; + DestroyDrawable (ReleaseDrawable (MiscDataFrame)); + MiscDataFrame = 0; + DestroyDrawable (ReleaseDrawable (FlagStatFrame)); + FlagStatFrame = 0; } void diff --git a/sc2/src/sc2code/pickmele.c b/sc2/src/sc2code/pickmele.c index ace716aad..4509fcaba 100644 --- a/sc2/src/sc2code/pickmele.c +++ b/sc2/src/sc2code/pickmele.c @@ -237,8 +237,6 @@ GetMeleeStarShip (STARSHIPPTR LastStarShipPtr, COUNT which_player) StarShipPtr = LockStarShip (&race_q[which_player], hBattleShip); if (StarShipPtr == LastStarShipPtr) { - extern FRAME status; - LastStarShipPtr->RaceResIndex = 0; gmstate.col = LastStarShipPtr->ShipFacing; @@ -246,7 +244,7 @@ GetMeleeStarShip (STARSHIPPTR LastStarShipPtr, COUNT which_player) + ((ICON_WIDTH + 2) * (gmstate.col % NUM_MELEE_COLS_ORIG)); s.origin.y = 9 + ((ICON_HEIGHT + 2) * (gmstate.col / NUM_MELEE_COLS_ORIG)); - s.frame = SetAbsFrameIndex (status, 3); + s.frame = SetAbsFrameIndex (StatusFrame, 3); DrawStamp (&s); s.frame = SetAbsFrameIndex (PickMeleeFrame, which_player); } diff --git a/sc2/src/sc2code/pickship.c b/sc2/src/sc2code/pickship.c index 6bc2ad518..a2d45fce6 100644 --- a/sc2/src/sc2code/pickship.c +++ b/sc2/src/sc2code/pickship.c @@ -507,11 +507,9 @@ SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x12, 0x12, 0x12), 0x17)); DrawStamp (&s); if (StarShipPtr->RaceResIndex == 0) { - extern FRAME status; - /* Dead ship - mark with an X. */ s.origin.x -= 1; - s.frame = SetAbsFrameIndex (status, 3); + s.frame = SetAbsFrameIndex (StatusFrame, 3); DrawStamp (&s); } } diff --git a/sc2/src/sc2code/planets/cargo.c b/sc2/src/sc2code/planets/cargo.c index 5b1a7cca4..ac37c04df 100644 --- a/sc2/src/sc2code/planets/cargo.c +++ b/sc2/src/sc2code/planets/cargo.c @@ -84,7 +84,6 @@ DrawCargoStrings (BYTE OldElement, BYTE NewElement) if (OldElement > NUM_ELEMENT_CATEGORIES) { STAMP s; - extern FRAME misc_data; r.corner.x = 2; r.extent.width = FIELD_WIDTH + 1; @@ -118,7 +117,7 @@ DrawCargoStrings (BYTE OldElement, BYTE NewElement) s.origin.x = r.corner.x + (r.extent.width >> 1); s.frame = SetAbsFrameIndex ( - misc_data, + MiscDataFrame, (NUM_SCANDOT_TRANSITIONS << 1) + 3 ); cy = y; diff --git a/sc2/src/sc2code/planets/devices.c b/sc2/src/sc2code/planets/devices.c index 8982a0874..778d3bc43 100644 --- a/sc2/src/sc2code/planets/devices.c +++ b/sc2/src/sc2code/planets/devices.c @@ -70,7 +70,6 @@ DrawDevices (PMENU_STATE pMS, BYTE OldDevice, BYTE NewDevice) || NewDevice >= (BYTE)(pMS->first_item.y + MAX_VIS_DEVICES)))) { STAMP s; - extern FRAME misc_data; r.corner.x = 2; r.extent.width = FIELD_WIDTH + 1; @@ -124,7 +123,7 @@ DrawDevices (PMENU_STATE pMS, BYTE OldDevice, BYTE NewDevice) ++OldDevice) { s.frame = SetAbsFrameIndex ( - misc_data, 77 + pDeviceMap[OldDevice] + MiscDataFrame, 77 + pDeviceMap[OldDevice] ); DrawStamp (&s); diff --git a/sc2/src/sc2code/planets/lander.c b/sc2/src/sc2code/planets/lander.c index 567b83c31..9562cf93a 100644 --- a/sc2/src/sc2code/planets/lander.c +++ b/sc2/src/sc2code/planets/lander.c @@ -1196,10 +1196,9 @@ RepairScan (void) { #define FLASH_INDEX 105 STAMP s; - extern FRAME misc_data; s.origin = pMenuState->flash_rect0.corner; - s.frame = SetAbsFrameIndex (misc_data, FLASH_INDEX); + s.frame = SetAbsFrameIndex (MiscDataFrame, FLASH_INDEX); DrawStamp (&s); } UnbatchGraphics (); diff --git a/sc2/src/sc2code/planets/pstarmap.c b/sc2/src/sc2code/planets/pstarmap.c index a7b746e87..58254866e 100644 --- a/sc2/src/sc2code/planets/pstarmap.c +++ b/sc2/src/sc2code/planets/pstarmap.c @@ -1107,14 +1107,13 @@ DoStarMap (void) //FRAME OldFrame; RECT clip_r; CONTEXT OldContext; - extern FRAME misc_data; pMenuState = &MenuState; memset (pMenuState, 0, sizeof (*pMenuState)); MenuState.flash_rect1.corner.x = MAX_X_UNIVERSE >> 1; MenuState.flash_rect1.corner.y = MAX_Y_UNIVERSE >> 1; - MenuState.CurFrame = SetAbsFrameIndex (misc_data, 48); + MenuState.CurFrame = SetAbsFrameIndex (MiscDataFrame, 48); MenuState.delta_item = 0; if (LOBYTE (GLOBAL (CurrentActivity)) != IN_HYPERSPACE) diff --git a/sc2/src/sc2code/planets/scan.c b/sc2/src/sc2code/planets/scan.c index 9f6b19625..6d348f8de 100644 --- a/sc2/src/sc2code/planets/scan.c +++ b/sc2/src/sc2code/planets/scan.c @@ -49,7 +49,6 @@ void WaitForNoInput (SIZE Duration); #define FLASH_INDEX 105 #define FLASH_WIDTH 9 #define FLASH_HEIGHT 9 -extern FRAME misc_data; extern void DrawScannedObjects (BOOLEAN Reversed); @@ -627,7 +626,7 @@ flash_planet_loc_func(void *data) SetPrimNextLink (&p, END_OF_LIST); p.Object.Stamp.origin.x = p.Object.Stamp.origin.y = -1; - p.Object.Stamp.frame = SetAbsFrameIndex (misc_data, FLASH_INDEX); + p.Object.Stamp.frame = SetAbsFrameIndex (MiscDataFrame, FLASH_INDEX); c = 0x00; val = -0x02; TimeIn = 0; @@ -761,7 +760,7 @@ PickPlanetSide (PMENU_STATE pMS) DeltaSISGauges (0, -(SIZE)fuel_required, 0); SetContext (ScanContext); s.origin = pMenuState->flash_rect0.corner; - s.frame = SetAbsFrameIndex (misc_data, FLASH_INDEX); + s.frame = SetAbsFrameIndex (MiscDataFrame, FLASH_INDEX); DrawStamp (&s); UnlockMutex (GraphicsLock); @@ -1283,7 +1282,7 @@ GeneratePlanetSide (void) COUNT num_nodes; FRAME f; - f = SetAbsFrameIndex (misc_data, + f = SetAbsFrameIndex (MiscDataFrame, NUM_SCANDOT_TRANSITIONS * (scan - ENERGY_SCAN)); pSolarSysState->CurNode = (COUNT)~0; @@ -1325,7 +1324,7 @@ GeneratePlanetSide (void) NodeElementPtr->mass_points = HIBYTE ( pSolarSysState->SysInfo.PlanetInfo.CurDensity); NodeElementPtr->current.image.frame = SetAbsFrameIndex ( - misc_data, (NUM_SCANDOT_TRANSITIONS << 1) + MiscDataFrame, (NUM_SCANDOT_TRANSITIONS << 1) + ElementCategory (EType) * 5); NodeElementPtr->next.image.frame = SetRelFrameIndex ( NodeElementPtr->current.image.frame, LOBYTE ( diff --git a/sc2/src/sc2code/setup.c b/sc2/src/sc2code/setup.c index 837141f8e..651acc45a 100644 --- a/sc2/src/sc2code/setup.c +++ b/sc2/src/sc2code/setup.c @@ -59,7 +59,10 @@ FONT StarConFont; FONT MicroFont; FONT TinyFont; QUEUE race_q[NUM_PLAYERS]; -FRAME ActivityFrame, status, flagship_status, misc_data; +FRAME ActivityFrame; +FRAME StatusFrame; +FRAME FlagStatFrame; +FRAME MiscDataFrame; Mutex GraphicsLock; STRING GameStrings; @@ -175,8 +178,8 @@ InitKernel (void) if (ActivityFrame == NULL) return FALSE; - status = CaptureDrawable (LoadGraphic (STATUS_MASK_PMAP_ANIM)); - if (status == NULL) + StatusFrame = CaptureDrawable (LoadGraphic (STATUS_MASK_PMAP_ANIM)); + if (StatusFrame == NULL) return FALSE; GameStrings = CaptureStringTable (LoadStringTableInstance ( diff --git a/sc2/src/sc2code/setup.h b/sc2/src/sc2code/setup.h index b1493eb9d..180671ee7 100644 --- a/sc2/src/sc2code/setup.h +++ b/sc2/src/sc2code/setup.h @@ -28,6 +28,9 @@ extern MEM_HANDLE hResIndex; extern FRAME Screen; extern FRAME ActivityFrame; +extern FRAME StatusFrame; +extern FRAME FlagStatFrame; +extern FRAME MiscDataFrame; extern CONTEXT OffScreenContext; extern CONTEXT ScreenContext; diff --git a/sc2/src/sc2code/shipstat.c b/sc2/src/sc2code/shipstat.c index 09c84378b..0b543b970 100644 --- a/sc2/src/sc2code/shipstat.c +++ b/sc2/src/sc2code/shipstat.c @@ -28,24 +28,23 @@ void DrawCrewFuelString (COORD y, SIZE state) { STAMP Stamp; - extern FRAME status; Stamp.origin.y = y + GAUGE_YOFFS + STARCON_TEXT_HEIGHT; if (state == 0) { Stamp.origin.x = CREW_XOFFS + (STAT_WIDTH >> 1) + 6; if (optWhichMenu == OPT_PC) - Stamp.frame = SetAbsFrameIndex (status, 4); + Stamp.frame = SetAbsFrameIndex (StatusFrame, 4); else - Stamp.frame = SetAbsFrameIndex (status, 0); + Stamp.frame = SetAbsFrameIndex (StatusFrame, 0); DrawStamp (&Stamp); } Stamp.origin.x = ENERGY_XOFFS + (STAT_WIDTH >> 1) - 5; if (optWhichMenu == OPT_PC) - Stamp.frame = SetAbsFrameIndex (status, 5); + Stamp.frame = SetAbsFrameIndex (StatusFrame, 5); else - Stamp.frame = SetAbsFrameIndex (status, 1); + Stamp.frame = SetAbsFrameIndex (StatusFrame, 1); if (state >= 0) DrawStamp (&Stamp); else diff --git a/sc2/src/sc2code/sis.c b/sc2/src/sc2code/sis.c index f2ca61db7..598d81be1 100644 --- a/sc2/src/sc2code/sis.c +++ b/sc2/src/sc2code/sis.c @@ -583,11 +583,10 @@ DrawLanders (void) RECT r; STAMP s; CONTEXT OldContext; - extern FRAME flagship_status; OldContext = SetContext (StatusContext); - s.frame = IncFrameIndex (flagship_status); + s.frame = IncFrameIndex (FlagStatFrame); GetFrameRect (s.frame, &r); i = GLOBAL_SIS (NumLanders); @@ -757,10 +756,9 @@ DeltaSISGauges (SIZE crew_delta, SIZE fuel_delta, int resunit_delta) if (crew_delta == UNDEFINED_DELTA) { COUNT i; - extern FRAME flagship_status; s.origin.x = s.origin.y = 0; - s.frame = flagship_status; + s.frame = FlagStatFrame; DrawStamp (&s); if (optWhichFonts == OPT_PC) DrawPC_SIS(); @@ -775,7 +773,7 @@ DeltaSISGauges (SIZE crew_delta, SIZE fuel_delta, int resunit_delta) GLOBAL_SIS (DriveSlots[i])) < EMPTY_SLOT) { s.frame = SetAbsFrameIndex ( - flagship_status, which_piece + 1 + 0 + FlagStatFrame, which_piece + 1 + 0 ); DrawStamp (&s); s.frame = IncFrameIndex (s.frame); @@ -793,7 +791,7 @@ DeltaSISGauges (SIZE crew_delta, SIZE fuel_delta, int resunit_delta) GLOBAL_SIS (JetSlots[i])) < EMPTY_SLOT) { s.frame = SetAbsFrameIndex ( - flagship_status, which_piece + 1 + 1 + FlagStatFrame, which_piece + 1 + 1 ); DrawStamp (&s); s.frame = IncFrameIndex (s.frame); @@ -812,7 +810,7 @@ DeltaSISGauges (SIZE crew_delta, SIZE fuel_delta, int resunit_delta) GLOBAL_SIS (ModuleSlots[i])) < EMPTY_SLOT) { s.frame = SetAbsFrameIndex ( - flagship_status, which_piece + 1 + 2 + FlagStatFrame, which_piece + 1 + 2 ); DrawStamp (&s); }