MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / TCGoalsRenderCallback

Function TCGoalsRenderCallback

Descent3/TelComGoals.cpp:301–664  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

299#define COLOR_FAILED GR_RGB(255, 255, 40)
300
301void TCGoalsRenderCallback(void) {
302 static bool active_alpha_in = false;
303 static float active_alpha = ACTIVE_ALPHA_MAX;
304
305 // recalculate alpha
306 float alpha_change = last_frametime * ACTIVE_ALPHA_PER_SEC;
307 float alpha_amount;
308 while (alpha_change > 0) {
309 if (active_alpha_in) {
310 alpha_amount = std::min(ACTIVE_ALPHA_MAX - active_alpha, alpha_change);
311 active_alpha += alpha_amount;
312
313 if (active_alpha > (ACTIVE_ALPHA_MAX - 1.0f))
314 active_alpha_in = false;
315 } else {
316 alpha_amount = std::min(alpha_change, active_alpha - ACTIVE_ALPHA_MIN);
317 active_alpha -= alpha_amount;
318
319 if (active_alpha < (ACTIVE_ALPHA_MIN + 1.0f))
320 active_alpha_in = true;
321 }
322 alpha_change -= alpha_amount;
323 }
324
325 int old_font = grtext_GetFont();
326
327 grtext_SetAlpha(255);
328 rend_SetOverlayType(OT_NONE);
329 rend_SetLighting(LS_NONE);
330 rend_SetColorModel(CM_MONO);
331 rend_SetZBufferState(0);
332 rend_SetAlphaType(AT_CONSTANT + AT_TEXTURE);
333 rend_SetAlphaValue(255);
334 rend_SetZBufferState(0);
335
336 int y = TGminy;
337
338 int obj_x, obj_max_width, goal_x, goal_max_width, status_x, status_max_width;
339 obj_x = TGminx + 25;
340 obj_max_width = 315;
341 status_x = obj_x + obj_max_width;
342 status_max_width = TGmaxx - status_x;
343 goal_x = obj_x + 20;
344 goal_max_width = status_x - goal_x;
345 /*
346 int goal_name_x,goal_status_x,goal_name_max_width,goal_status_max_width;
347 goal_name_x = TGminx + 20;
348 goal_name_max_width = 320;
349 goal_status_x = goal_name_x + goal_name_max_width;
350 goal_status_max_width = TGmaxx-goal_status_x;
351 */
352
353 int period_length;
354 period_length = grfont_GetCharWidth(SM_FONT, '.') + Grtext_spacing;
355
356 //@@@ASSERT(goal_status_max_width>0);
357 ASSERT(status_max_width > 0);
358

Callers

nothing calls this directly

Calls 15

grtext_GetFontFunction · 0.85
grtext_SetAlphaFunction · 0.85
grfont_GetCharWidthFunction · 0.85
grfont_GetHeightFunction · 0.85
grtext_SetColorFunction · 0.85
grtext_SetFontFunction · 0.85
grtext_GetTextLineWidthFunction · 0.85
grtext_PrintfFunction · 0.85
textaux_WordWrapFunction · 0.85
textaux_CopyTextLineFunction · 0.85
grtext_CenteredPrintfFunction · 0.85
grtext_FlushFunction · 0.85

Tested by

no test coverage detected