fix gamma ramp when 16-bit color

This commit is contained in:
kanjitalk755 2020-09-13 23:03:51 +09:00
parent 6de9a5032d
commit d851a65548
3 changed files with 4 additions and 6 deletions

View File

@ -1782,10 +1782,9 @@ void video_set_palette(void)
monitor->set_palette(pal, n_colors);
}
void video_set_gamma(void)
void video_set_gamma(int n_colors)
{
monitor_desc * monitor = VideoMonitors[0];
int n_colors = palette_size(monitor->get_current_mode().viAppleMode);
uint8 gamma[256 * 3];
for (int c = 0; c < n_colors; c++) {
gamma[c*3 + 0] = mac_gamma[c].red;

View File

@ -141,7 +141,7 @@ extern void VideoInstallAccel(void);
extern void VideoQuitFullScreen(void);
extern void video_set_palette(void);
extern void video_set_gamma(void);
extern void video_set_gamma(int n_colors);
extern void video_set_cursor(void);
extern bool video_can_change_cursor(void);
extern int16 video_mode_change(VidLocals *csSave, uint32 ParamPtr);

View File

@ -239,7 +239,7 @@ static int16 set_gamma(VidLocals *csSave, uint32 gamma)
WriteMacInt8(p + i, i);
mac_gamma[i].red = mac_gamma[i].green = mac_gamma[i].blue = i;
}
video_set_gamma(256);
} else { // User-supplied gamma table
// Validate header
@ -296,9 +296,8 @@ static int16 set_gamma(VidLocals *csSave, uint32 gamma)
mac_gamma[i].blue = max_blue;
}
}
video_set_gamma(data_cnt);
}
video_set_gamma();
return noErr;
}