diff --git a/sc2/content/ipanims/ip_sun.ani b/sc2/content/ipanims/ip_sun.ani index 273c8fb62..039930853 100755 --- a/sc2/content/ipanims/ip_sun.ani +++ b/sc2/content/ipanims/ip_sun.ani @@ -1,5 +1,5 @@ -ip_sun.0.png 0 111 2 2 -ip_sun.1.png 0 111 4 3 -ip_sun.2.png 0 111 8 7 -ip_sun.3.png 0 111 16 15 -ip_sun.4.png 0 111 26 24 +ip_sun.0.png 0 56 2 2 +ip_sun.1.png 0 56 4 3 +ip_sun.2.png 0 56 8 7 +ip_sun.3.png 0 56 16 15 +ip_sun.4.png 0 56 26 24 diff --git a/sc2/content/ipanims/ip_sun.ct b/sc2/content/ipanims/ip_sun.ct new file mode 100755 index 000000000..0e746101c Binary files /dev/null and b/sc2/content/ipanims/ip_sun.ct differ diff --git a/sc2/content/ipanims/orbplan.ct b/sc2/content/ipanims/orbplan.ct index c42595aa6..ee3e19ed5 100755 Binary files a/sc2/content/ipanims/orbplan.ct and b/sc2/content/ipanims/orbplan.ct differ diff --git a/sc2/src/sc2code/planets/solarsys.c b/sc2/src/sc2code/planets/solarsys.c index 1e2256e00..1e1d7ba58 100644 --- a/sc2/src/sc2code/planets/solarsys.c +++ b/sc2/src/sc2code/planets/solarsys.c @@ -47,6 +47,7 @@ void RenderTopography (BOOLEAN Reconstruct); PSOLARSYS_STATE pSolarSysState; FRAME SISIPFrame, SunFrame, OrbitalFrame, SpaceJunkFrame; COLORMAP OrbitalCMap; +COLORMAP SunCMap; MUSIC_REF SpaceMusic; #define DRAW_STARS (1 << 0) @@ -177,6 +178,8 @@ FreeIPData (void) SISIPFrame = 0; DestroyDrawable (ReleaseDrawable (SunFrame)); SunFrame = 0; + DestroyColorMap (ReleaseColorMap (SunCMap)); + SunCMap = 0; DestroyColorMap (ReleaseColorMap (OrbitalCMap)); OrbitalCMap = 0; DestroyDrawable (ReleaseDrawable (OrbitalFrame)); @@ -199,6 +202,7 @@ LoadIPData (void) OrbitalCMap = CaptureColorMap (LoadColorMap (ORBPLAN_COLOR_MAP)); OrbitalFrame = CaptureDrawable ( LoadGraphic (ORBPLAN_MASK_PMAP_ANIM)); + SunCMap = CaptureColorMap (LoadColorMap (IPSUN_COLOR_MAP)); SunFrame = CaptureDrawable (LoadGraphic (SUN_MASK_PMAP_ANIM)); SpaceMusic = LoadMusicInstance (IP_MUSIC); @@ -1709,18 +1713,21 @@ DrawSystem (SIZE radius, BOOLEAN IsInnerSystem) { for (;;) { - COUNT color_index; - pCurDesc = &pSolarSysState->PlanetDesc[index]; - /* Star color fix - draw the star using OrbitalCMap */ + /* Star color fix - draw the star using own cmap */ if (pCurDesc == &pSolarSysState->SunDesc[0]) - color_index = STAR_COLOR (CurStarDescPtr->Type); + { + SetColorMap (GetColorMapAddress (SetAbsColorMapIndex ( + SunCMap, STAR_COLOR (CurStarDescPtr->Type) + ))); + } else - color_index = PLANCOLOR (PlanData[ - pCurDesc->data_index & ~PLANET_SHIELDED ].Type); - - SetColorMap (GetColorMapAddress ( - SetAbsColorMapIndex (OrbitalCMap, color_index))); + { + SetColorMap (GetColorMapAddress (SetAbsColorMapIndex ( + OrbitalCMap, PLANCOLOR (PlanData[ + pCurDesc->data_index & ~PLANET_SHIELDED].Type) + ))); + } DrawStamp (&pCurDesc->image); if (index == pSolarSysState->LastPlanetIndex)