1 #include "../Instrument.h" 5 Instrument(prmX, prmY, prmXScale, prmYScale, prmBus, prmLogger, prmDevice, prmFonts)
19 DrawTextW(L
"INTERMEDIA PROXIMITY MENU UNAVAILABLE", 0, 0, 0, DT_NOCLIP, 0xFFA0A0A0);
43 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
46 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
52 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
55 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
62 sprintf_s(timerem,
sizeof(timerem),
"%5i days left ",
interactive.
tempplot.constructime / 51948L);
64 sprintf_s(timerem,
sizeof(timerem),
"%5i hours left ",
interactive.
tempplot.constructime / 3600L);
66 sprintf_s(timerem,
sizeof(timerem),
"%5i minutes left",
interactive.
tempplot.constructime / 60L);
68 sprintf_s(timerem,
sizeof(timerem),
"One minute left!");
71 L
" CONSTRUCTION IN PROGRESS %S (%i colonists building)", timerem,
interactive.
tempplot.colonistsbuilding);
72 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
77 DrawTextW(L
" Structure Type Built Zoned Adds Capacity Materials Needed Colonists", 0, 35, 0, DT_NOCLIP, 0xFFA0A0A0);
81 DrawTextW(L
" Structure Type Built Zoned Adds Capacity Materials Recycled Colonists", 0, 35, 0, DT_NOCLIP, 0xFFA0A0A0);
84 L
"1] Mining Command %-4i 1 29 colonists %3.0f MT common 19 labor",
interactive.
type1built, ceilf(195.0f * gradeadj));
85 DrawTextW(str, 0, 50, 0, DT_NOCLIP, 0xFFA0A0A0);
87 L
" 116 MT storage %3.0f MT fabricated", ceilf(143.0f * gradeadj));
88 DrawTextW(str, 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
91 L
"2] Extraction %-4i 11 11 MT daily %3.0f MT common 4 labor",
interactive.
type2built, ceilf(14.0f * gradeadj));
92 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
94 L
" %3.0f MT fabricated", ceilf(9.0f * gradeadj));
95 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
98 L
"3] Raw Material Storage %-4i 1 3413 MT storage %3.0f MT common 8 labor",
interactive.
type3built, ceilf(108.0f * gradeadj));
99 DrawTextW(str, 0, 100, 0, DT_NOCLIP, 0xFFA0A0A0);
102 L
"4] Separator %-4i 1 110 MT daily %3.0f MT common 13 labor",
interactive.
type4built, ceilf(392.0f * gradeadj));
103 DrawTextW(str, 0, 125, 0, DT_NOCLIP, 0xFFA0A0A0);
105 L
" %3.0f MT fabricated", ceilf(201.0f * gradeadj));
106 DrawTextW(str, 0, 135, 0, DT_NOCLIP, 0xFFA0A0A0);
109 L
"5] Material Obliteration %-4i 1 240 MT daily %3.0f MT common 16 labor",
interactive.
type5built, ceilf(227.0f * gradeadj));
110 DrawTextW(str, 0, 150, 0, DT_NOCLIP, 0xFFA0A0A0);
112 L
" 1 colonist %3.0f MT fabricated", ceilf(124.0f * gradeadj));
113 DrawTextW(str, 0, 160, 0, DT_NOCLIP, 0xFFA0A0A0);
116 L
"6] Processed Storage %-4i 7 3413 MT storage %3.0f MT common 8 labor",
interactive.
type6built, ceilf(108.0f * gradeadj));
117 DrawTextW(str, 0, 175, 0, DT_NOCLIP, 0xFFA0A0A0);
120 DrawTextW(str, 0, 185, 0, DT_NOCLIP, 0xFFA0A0A0);
123 L
"7] Support Structures %-4i 17 17 colonists %3.0f MT common 12 labor",
interactive.
type7built, ceilf(132.0f * gradeadj));
124 DrawTextW(str, 0, 200, 0, DT_NOCLIP, 0xFFA0A0A0);
126 L
" %3.0f MT fabricated", ceilf(99.0f * gradeadj));
127 DrawTextW(str, 0, 210, 0, DT_NOCLIP, 0xFFA0A0A0);
130 L
"8] Power Production %-4i 1 848 GJ daily %3.0f MT common 4 labor",
interactive.
type8built, ceilf(132.0f * gradeadj));
131 DrawTextW(str, 0, 225, 0, DT_NOCLIP, 0xFFA0A0A0);
133 L
" 1 colonist %3.0f MT fabricated", ceilf(99.0f * gradeadj));
134 DrawTextW(str, 0, 235, 0, DT_NOCLIP, 0xFFA0A0A0);
137 L
"9] Defensive Platforms %-4i 3 1 colonist %3.0f MT common 6 labor",
interactive.
type9built, ceilf(132.0f * gradeadj));
138 DrawTextW(str, 0, 250, 0, DT_NOCLIP, 0xFFA0A0A0);
140 L
" %3.0f MT fabricated", ceilf(99.0f * gradeadj));
141 DrawTextW(str, 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
148 DrawTextW(L
" Manage Storefront (select commodity for advanced options)", 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
151 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
158 swprintf_s(str, 99, L
"1] Fleet Bank ATM");
160 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
162 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFF505050);
165 DrawTextW(L
" Commodity Type Selling Buying", 0, 45, 0, DT_NOCLIP, 0xFFA0A0A0);
167 WCHAR buyat[50], sellat[50];
168 long buypos, sellpos, maxpos;
179 maxpos = min(maxpos, spaceavail);
189 wcscpy_s(buyat, 50, L
"Not trading...");
191 if (sellpos > 30000L)
198 wcscpy_s(sellat, 50, L
"Not trading...");
199 swprintf_s(str, 99, L
"2] Rare/Precious %22s %22s", sellat, buyat);
200 DrawTextW(str, 0, 70, 0, DT_NOCLIP, 0xFFA0A0A0);
207 maxpos = min(maxpos, spaceavail);
217 wcscpy_s(buyat, 50, L
"Not trading...");
219 if (sellpos > 30000L)
226 wcscpy_s(sellat, 50, L
"Not trading...");
227 swprintf_s(str, 99, L
"3] Foodstuffs %22s %22s", sellat, buyat);
228 DrawTextW(str, 0, 95, 0, DT_NOCLIP, 0xFFA0A0A0);
235 maxpos = min(maxpos, spaceavail);
245 wcscpy_s(buyat, 50, L
"Not trading...");
247 if (sellpos > 30000L)
254 wcscpy_s(sellat, 50, L
"Not trading...");
255 swprintf_s(str, 99, L
"4] Common Materials %22s %22s", sellat, buyat);
256 DrawTextW(str, 0, 120, 0, DT_NOCLIP, 0xFFA0A0A0);
263 maxpos = min(maxpos, spaceavail);
273 wcscpy_s(buyat, 50, L
"Not trading...");
275 if (sellpos > 30000L)
282 wcscpy_s(sellat, 50, L
"Not trading...");
283 swprintf_s(str, 99, L
"5] Fuel Ore %22s %22s", sellat, buyat);
284 DrawTextW(str, 0, 145, 0, DT_NOCLIP, 0xFFA0A0A0);
291 maxpos = min(maxpos, spaceavail);
301 wcscpy_s(buyat, 50, L
"Not trading...");
303 if (sellpos > 30000L)
310 wcscpy_s(sellat, 50, L
"Not trading...");
311 swprintf_s(str, 99, L
"6] Consumer Goods %22s %22s", sellat, buyat);
312 DrawTextW(str, 0, 170, 0, DT_NOCLIP, 0xFFA0A0A0);
319 maxpos = min(maxpos, spaceavail);
329 wcscpy_s(buyat, 50, L
"Not trading...");
331 if (sellpos > 30000L)
338 wcscpy_s(sellat, 50, L
"Not trading...");
339 swprintf_s(str, 99, L
"7] Fabricated Material %22s %22s", sellat, buyat);
340 DrawTextW(str, 0, 195, 0, DT_NOCLIP, 0xFFA0A0A0);
347 maxpos = min(maxpos, spaceavail);
357 wcscpy_s(buyat, 50, L
"Not trading...");
359 if (sellpos > 30000L)
366 wcscpy_s(sellat, 50, L
"Not trading...");
367 swprintf_s(str, 99, L
"8] Iagreous Fuel %22s %22s", sellat, buyat);
368 DrawTextW(str, 0, 220, 0, DT_NOCLIP, 0xFFA0A0A0);
373 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
375 DrawTextW(L
" Commodity Type Inventory Units", 0, 30, 0, DT_NOCLIP, 0xFFA0A0A0);
377 swprintf_s(str, 99, L
"1] Rare/Precious %-9.0f MT", floorf(
interactive.
tempplot.procstorA));
378 DrawTextW(str, 0, 70, 0, DT_NOCLIP, 0xFFA0A0A0);
380 swprintf_s(str, 99, L
"2] Foodstuffs %-9.0f MT", floorf(
interactive.
tempplot.procstorfood));
381 DrawTextW(str, 0, 95, 0, DT_NOCLIP, 0xFFA0A0A0);
383 swprintf_s(str, 99, L
"3] Common Materials %-9.0f MT", floorf(
interactive.
tempplot.procstorC));
384 DrawTextW(str, 0, 120, 0, DT_NOCLIP, 0xFFA0A0A0);
386 swprintf_s(str, 99, L
"4] Fuel Ore %-9.0f MT", floorf(
interactive.
tempplot.procstorfuelore));
387 DrawTextW(str, 0, 145, 0, DT_NOCLIP, 0xFFA0A0A0);
389 swprintf_s(str, 99, L
"5] Consumer Goods %-9.0f MT", floorf(
interactive.
tempplot.procstorgoods));
390 DrawTextW(str, 0, 170, 0, DT_NOCLIP, 0xFFA0A0A0);
392 swprintf_s(str, 99, L
"6] Fabricated Materials %-9.0f MT", floorf(
interactive.
tempplot.procstormaterials));
393 DrawTextW(str, 0, 195, 0, DT_NOCLIP, 0xFFA0A0A0);
395 swprintf_s(str, 99, L
"7] Iagreous Fuel %-9.0f MT", floorf(
interactive.
tempplot.procstorfuel));
396 DrawTextW(str, 0, 220, 0, DT_NOCLIP, 0xFFA0A0A0);
409 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
412 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
418 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
421 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
428 sprintf_s(timerem,
sizeof(timerem),
"%5i days left ",
interactive.
tempplot.constructime / 51948L);
430 sprintf_s(timerem,
sizeof(timerem),
"%5i hours left ",
interactive.
tempplot.constructime / 3600L);
432 sprintf_s(timerem,
sizeof(timerem),
"%5i minutes left",
interactive.
tempplot.constructime / 60L);
434 sprintf_s(timerem,
sizeof(timerem),
"One minute left!");
437 L
" CONSTRUCTION IN PROGRESS %S (%i colonists building)", timerem,
interactive.
tempplot.colonistsbuilding);
438 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
443 DrawTextW(L
" Structure Type Built Zoned Adds Capacity Materials Needed Colonists", 0, 35, 0, DT_NOCLIP, 0xFFA0A0A0);
447 DrawTextW(L
" Structure Type Built Zoned Adds Capacity Materials Recycled Colonists", 0, 35, 0, DT_NOCLIP, 0xFFA0A0A0);
450 L
"1] Farmstead %-4i 1 22 colonists %5.0f MT common 2 labor",
interactive.
type1built, ceilf(64.0f * gradeadj));
451 DrawTextW(str, 0, 50, 0, DT_NOCLIP, 0xFFA0A0A0);
453 L
" 34 MT storage %5.0f MT fabricated", ceilf(47.0f * gradeadj));
454 DrawTextW(str, 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
458 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
460 L
" %5.0f MT fabricated", 0.0f);
461 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
464 L
"3] Greenhouses %-4i 3 21 MT yearly %5.0f MT common 3 labor",
interactive.
type3built, ceilf(196.0f * gradeadj));
465 DrawTextW(str, 0, 100, 0, DT_NOCLIP, 0xFFA0A0A0);
467 L
" %5.0f MT fabricated", ceilf(101.0f * gradeadj));
468 DrawTextW(str, 0, 110, 0, DT_NOCLIP, 0xFFA0A0A0);
471 L
"4] Hydroponics %-4i 2 35 MT yearly %5.0f MT common 5 labor",
interactive.
type4built, ceilf(392.0f * gradeadj));
472 DrawTextW(str, 0, 125, 0, DT_NOCLIP, 0xFFA0A0A0);
474 L
" %5.0f MT fabricated", ceilf(201.0f * gradeadj));
475 DrawTextW(str, 0, 135, 0, DT_NOCLIP, 0xFFA0A0A0);
478 L
"5] Storage Silos %-4i 3 3413 MT storage %5.0f MT common 8 labor",
interactive.
type6built, ceilf(108.0f * gradeadj));
479 DrawTextW(str, 0, 150, 0, DT_NOCLIP, 0xFFA0A0A0);
481 L
" 1 colonist %5.0f MT fabricated", ceilf(81.0f * gradeadj));
482 DrawTextW(str, 0, 160, 0, DT_NOCLIP, 0xFFA0A0A0);
485 L
"6] Support Structures %-4i 4 1 colonist %5.0f MT common 12 labor",
interactive.
type7built, ceilf(132.0f * gradeadj));
486 DrawTextW(str, 0, 175, 0, DT_NOCLIP, 0xFFA0A0A0);
488 L
" %5.0f MT fabricated", ceilf(99.0f * gradeadj));
489 DrawTextW(str, 0, 185, 0, DT_NOCLIP, 0xFFA0A0A0);
492 L
"7] Defensive Platforms %-4i 1 4 GJ/burst %5.0f MT common 6 labor",
interactive.
type9built, ceilf(132.0f * gradeadj));
493 DrawTextW(str, 0, 200, 0, DT_NOCLIP, 0xFFA0A0A0);
495 L
" 1 colonist %5.0f MT fabricated", ceilf(99.0f * gradeadj));
496 DrawTextW(str, 0, 210, 0, DT_NOCLIP, 0xFFA0A0A0);
503 swprintf_s(str, 99, L
" Welcome! (population %.0f)", floorf(
interactive.
tempplot.totalPopulation));
514 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
522 else if (opeff < 0.0f)
531 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
534 DrawTextW(L
"1] Survey", 0, 45, 0, DT_NOCLIP, 0xFFA0A0A0);
538 DrawTextW(L
"2] Name Colony", 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
542 DrawTextW(L
"2] Rename Colony", 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
544 DrawTextW(L
"3] Expansion", 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
545 DrawTextW(L
"4] Demolition", 0, 90, 0, DT_NOCLIP, 0xFFA0A0A0);
546 DrawTextW(L
"5] Manage Trade", 0, 105, 0, DT_NOCLIP, 0xFFA0A0A0);
547 DrawTextW(L
"6] Cargo Operations", 0, 120, 0, DT_NOCLIP, 0xFFA0A0A0);
551 wcscpy_s(str, 99, L
"7] No ATM Installed");
552 DrawTextW(str, 0, 135, 0, DT_NOCLIP, 0xFFA0A0A0);
553 DrawTextW(L
"8] Diplomacy", 0, 150, 0, DT_NOCLIP, 0xFFA0A0A0);
572 DrawTextW(str, 0, 170, 0, DT_NOCLIP, 0xFFA0A0A0);
580 L
" Daily Separation: %.3f MT rare", sep * static_cast<float>(
interactive.
tempplot.oreA) / 255.0f * opeff * 0.3f);
581 DrawTextW(str, 0, 180, 0, DT_NOCLIP, 0xFFA0A0A0);
583 L
" %.3f MT common", sep * static_cast<float>(
interactive.
tempplot.oreC) / 255.0f * opeff * 1.3f);
584 DrawTextW(str, 0, 190, 0, DT_NOCLIP, 0xFFA0A0A0);
587 DrawTextW(str, 0, 200, 0, DT_NOCLIP, 0xFFA0A0A0);
589 L
" Daily Obliteration: %.3f MT (%.3F MT tailings)", oblit * opeff,
interactive.
tempplot.waste);
590 DrawTextW(str, 0, 210, 0, DT_NOCLIP, 0xFFA0A0A0);
593 L
" Commodity Daily Consumption");
594 DrawTextW(str, 0, 225, 0, DT_NOCLIP, 0xFFA0A0A0);
596 L
" Rare %.3f MT", 0.0f);
597 DrawTextW(str, 0, 235, 0, DT_NOCLIP, 0xFFA0A0A0);
600 DrawTextW(str, 0, 245, 0, DT_NOCLIP, 0xFFA0A0A0);
602 L
" Common %.3f MT", 0.0f);
603 DrawTextW(str, 0, 255, 0, DT_NOCLIP, 0xFFA0A0A0);
605 L
" Fuel Ore %.3f MT", 0.0f);
606 DrawTextW(str, 0, 265, 0, DT_NOCLIP, 0xFFA0A0A0);
609 DrawTextW(str, 0, 275, 0, DT_NOCLIP, 0xFFA0A0A0);
611 L
" Materials %.3f MT", 0.0f);
612 DrawTextW(str, 0, 285, 0, DT_NOCLIP, 0xFFA0A0A0);
614 L
" Fuel %.3f MT", 0.0f);
615 DrawTextW(str, 0, 295, 0, DT_NOCLIP, 0xFFA0A0A0);
620 short x = 210,
y = 45;
625 DrawTextW(L
"** We desperately need food!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
632 DrawTextW(L
"++ We have less than a week's supply of food!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
639 DrawTextW(L
"++ The colony up-link has failed!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
644 DrawTextW(L
"++ Production halted, out of secure processed storage!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
649 DrawTextW(L
"++ Production halted, out of refined Iagreous fuel!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
654 DrawTextW(L
"++ The colony is overpopulated!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
659 swprintf_s(str, 99, L
".. We have %i people reassigned for construction",
interactive.
tempplot.colonistsbuilding);
660 DrawTextW(str,
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
666 DrawTextW(str,
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
671 DrawTextW(L
".. No new messages!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
679 swprintf_s(str, 99, L
" Welcome! (population %.0f)", floorf(
interactive.
tempplot.totalPopulation));
690 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
698 else if (opeff < 0.0f)
707 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
710 DrawTextW(L
"1] Survey", 0, 45, 0, DT_NOCLIP, 0xFFA0A0A0);
714 DrawTextW(L
"2] Name Colony", 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
718 DrawTextW(L
"2] Rename Colony", 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
720 DrawTextW(L
"3] Expansion", 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
721 DrawTextW(L
"4] Demolition", 0, 90, 0, DT_NOCLIP, 0xFFA0A0A0);
722 DrawTextW(L
"5] Manage Trade", 0, 105, 0, DT_NOCLIP, 0xFFA0A0A0);
723 DrawTextW(L
"6] Cargo Operations", 0, 120, 0, DT_NOCLIP, 0xFFA0A0A0);
727 wcscpy_s(str, 99, L
"7] No ATM Installed");
728 DrawTextW(str, 0, 135, 0, DT_NOCLIP, 0xFFA0A0A0);
729 DrawTextW(L
"8] Diplomacy", 0, 150, 0, DT_NOCLIP, 0xFFA0A0A0);
734 long nextharvestsec = 7884000L - lastharvest;
735 long seasontype = newseason % 4;
738 sprintf_s(seasontext,
sizeof(seasontext),
"Spring");
739 else if (seasontype == 1)
740 sprintf_s(seasontext,
sizeof(seasontext),
"Summer");
741 else if (seasontype == 2)
742 sprintf_s(seasontext,
sizeof(seasontext),
"Fall");
743 else if (seasontype == 3)
744 sprintf_s(seasontext,
sizeof(seasontext),
"Winter");
746 sprintf_s(seasontext,
sizeof(seasontext),
"Error %i", seasontype);
750 float dayspassed = (float)lastharvest / 86400.0f;
754 L
" Current season: %S", seasontext);
755 DrawTextW(str, 0, 165, 0, DT_NOCLIP, 0xFFA0A0A0);
757 L
" Season ends: %.0f day(s)", (93.945f - dayspassed) * 1.663202f);
758 DrawTextW(str, 0, 175, 0, DT_NOCLIP, 0xFFA0A0A0);
762 float seasonavg = 0.0f;
763 if (dayspassed > 0.0f)
766 float fieldcrops = 0.0f;
774 seasonavg += (91.25f - dayspassed) / 93.945f * (greenhouses + hydroponics + fieldcrops);
778 float magnitude = 0.0f;
779 if ((fieldcrops + greenhouses + hydroponics) > 0.0f)
780 magnitude = seasonavg / (fieldcrops + greenhouses + hydroponics);
783 L
" Harvest estimates: %.3f MT food (total)", seasonavg);
784 DrawTextW(str, 0, 185, 0, DT_NOCLIP, 0xFFA0A0A0);
786 L
" %.3f MT food (hydroponics)", hydroponics * magnitude);
787 DrawTextW(str, 0, 195, 0, DT_NOCLIP, 0xFFA0A0A0);
789 L
" %.3f MT food (greenhouses)", greenhouses * magnitude);
790 DrawTextW(str, 0, 205, 0, DT_NOCLIP, 0xFFA0A0A0);
792 L
" %.3f MT food (algae farms)", fieldcrops * magnitude);
793 DrawTextW(str, 0, 215, 0, DT_NOCLIP, 0xFFA0A0A0);
797 L
" Commodity Daily Consumption");
798 DrawTextW(str, 0, 230, 0, DT_NOCLIP, 0xFFA0A0A0);
800 L
" Rare %.3f MT", 0.0f);
801 DrawTextW(str, 0, 240, 0, DT_NOCLIP, 0xFFA0A0A0);
804 DrawTextW(str, 0, 250, 0, DT_NOCLIP, 0xFFA0A0A0);
806 L
" Common %.3f MT", 0.0f);
807 DrawTextW(str, 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
809 L
" Fuel Ore %.3f MT", 0.0f);
810 DrawTextW(str, 0, 270, 0, DT_NOCLIP, 0xFFA0A0A0);
813 DrawTextW(str, 0, 280, 0, DT_NOCLIP, 0xFFA0A0A0);
815 L
" Materials %.3f MT", 0.0f);
816 DrawTextW(str, 0, 290, 0, DT_NOCLIP, 0xFFA0A0A0);
818 L
" Fuel %.3f MT", 0.0f);
819 DrawTextW(str, 0, 300, 0, DT_NOCLIP, 0xFFA0A0A0);
823 short x = 210,
y = 45;
828 DrawTextW(L
"** We desperately need food!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
835 DrawTextW(L
"++ We have less than a week's supply of food!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
842 DrawTextW(L
"++ The colony up-link has failed!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
847 DrawTextW(L
"++ This farm will miss this first harvest!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
852 DrawTextW(L
"++ No space for the upcoming harvest!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
857 DrawTextW(L
"++ Production halted, out of refined Iagreous fuel!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
862 DrawTextW(L
"++ The colony is overpopulated!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
867 swprintf_s(str, 99, L
".. We have %i people reassigned for construction",
interactive.
tempplot.colonistsbuilding);
868 DrawTextW(str,
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
874 DrawTextW(str,
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
882 DrawTextW(L
".. Algae farms are currently out of season",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
888 DrawTextW(L
".. No new messages!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
893 char buy[15], sell[15];
894 DrawTextW(L
" Commodity Type Inventory Units Buying Selling", 0, 30, 0, DT_NOCLIP, 0xFFA0A0A0);
897 sprintf_s(buy,
sizeof(buy),
"No");
901 sprintf_s(sell,
sizeof(sell),
"No");
904 swprintf_s(str, 99, L
"1] Rare/Precious %-9.0f MT %-12S %-12S", floorf(
interactive.
tempdock.procstorA), buy, sell);
905 DrawTextW(str, 0, 70, 0, DT_NOCLIP, 0xFFA0A0A0);
908 sprintf_s(buy,
sizeof(buy),
"No");
912 sprintf_s(sell,
sizeof(sell),
"No");
915 swprintf_s(str, 99, L
"2] Foodstuffs %-9.0f MT %-12S %-12S", floorf(
interactive.
tempdock.procstorfood), buy, sell);
916 DrawTextW(str, 0, 95, 0, DT_NOCLIP, 0xFFA0A0A0);
919 sprintf_s(buy,
sizeof(buy),
"No");
923 sprintf_s(sell,
sizeof(sell),
"No");
926 swprintf_s(str, 99, L
"3] Common Materials %-9.0f MT %-12S %-12S", floorf(
interactive.
tempdock.procstorC), buy, sell);
927 DrawTextW(str, 0, 120, 0, DT_NOCLIP, 0xFFA0A0A0);
930 sprintf_s(buy,
sizeof(buy),
"No");
934 sprintf_s(sell,
sizeof(sell),
"No");
937 swprintf_s(str, 99, L
"4] Fuel Ore %-9.0f MT %-12S %-12S", floorf(
interactive.
tempdock.procstorfuelore), buy, sell);
938 DrawTextW(str, 0, 145, 0, DT_NOCLIP, 0xFFA0A0A0);
941 sprintf_s(buy,
sizeof(buy),
"No");
945 sprintf_s(sell,
sizeof(sell),
"No");
948 swprintf_s(str, 99, L
"5] Consumer Goods %-9.0f MT %-12S %-12S", floorf(
interactive.
tempdock.procstorgoods), buy, sell);
949 DrawTextW(str, 0, 170, 0, DT_NOCLIP, 0xFFA0A0A0);
952 sprintf_s(buy,
sizeof(buy),
"No");
956 sprintf_s(sell,
sizeof(sell),
"No");
959 swprintf_s(str, 99, L
"6] Fabricated Materials %-9.0f MT %-12S %-12S", floorf(
interactive.
tempdock.procstormaterials), buy, sell);
960 DrawTextW(str, 0, 195, 0, DT_NOCLIP, 0xFFA0A0A0);
963 sprintf_s(buy,
sizeof(buy),
"No");
967 sprintf_s(sell,
sizeof(sell),
"No");
970 swprintf_s(str, 99, L
"7] Iagreous Fuel %-9.0f MT %-12S %-12S", floorf(
interactive.
tempdock.procstorfuel), buy, sell);
971 DrawTextW(str, 0, 220, 0, DT_NOCLIP, 0xFFA0A0A0);
984 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
987 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
993 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
996 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
1004 sprintf_s(timerem,
sizeof(timerem),
"%5i days left ",
interactive.
tempplot.constructime / 51948L);
1006 sprintf_s(timerem,
sizeof(timerem),
"%5i hours left ",
interactive.
tempplot.constructime / 3600L);
1008 sprintf_s(timerem,
sizeof(timerem),
"%5i minutes left",
interactive.
tempplot.constructime / 60L);
1010 sprintf_s(timerem,
sizeof(timerem),
"One minute left!");
1013 L
" CONSTRUCTION IN PROGRESS %S (%i colonists building)", timerem,
interactive.
tempplot.colonistsbuilding);
1014 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
1019 DrawTextW(L
" Structure Type Built Zoned Adds Capacity Materials Needed Colonists", 0, 35, 0, DT_NOCLIP, 0xFFA0A0A0);
1023 DrawTextW(L
" Structure Type Built Zoned Adds Capacity Materials Recycled Colonists", 0, 35, 0, DT_NOCLIP, 0xFFA0A0A0);
1026 L
"1] Town Hall %-4i 1 96 colonists %5.0f MT common 13 labor",
interactive.
type1built, ceilf(387.0f * gradeadj));
1027 DrawTextW(str, 0, 50, 0, DT_NOCLIP, 0xFFA0A0A0);
1029 L
" %5.0f MT fabricated", ceilf(284.0f * gradeadj));
1030 DrawTextW(str, 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
1033 L
"2] Residences %-4i 4 932 colonists %5.0f MT common 2 labor",
interactive.
type2built, ceilf(301.0f * gradeadj));
1034 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1036 L
" %5.0f MT fabricated", ceilf(220.0f * gradeadj));
1037 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
1040 L
"3] Industry %-4i 3 Refinement/ %5.0f MT common 16 labor",
interactive.
type3built, ceilf(490.0f * gradeadj));
1041 DrawTextW(str, 0, 100, 0, DT_NOCLIP, 0xFFA0A0A0);
1043 L
" Manufacturing %5.0f MT fabricated", ceilf(359.0f * gradeadj));
1044 DrawTextW(str, 0, 110, 0, DT_NOCLIP, 0xFFA0A0A0);
1047 L
"4] Research Lab %-4i 1 Technologies/ %5.0f MT common 9 labor",
interactive.
type4built, ceilf(410.0f * gradeadj));
1048 DrawTextW(str, 0, 125, 0, DT_NOCLIP, 0xFFA0A0A0);
1050 L
" Products %5.0f MT fabricated", ceilf(301.0f * gradeadj));
1051 DrawTextW(str, 0, 135, 0, DT_NOCLIP, 0xFFA0A0A0);
1054 L
"5] Recreation %-4i 3 Casinos %5.0f MT common 3 labor",
interactive.
type5built, ceilf(240.0f * gradeadj));
1055 DrawTextW(str, 0, 150, 0, DT_NOCLIP, 0xFFA0A0A0);
1057 L
" Parks/Shopping %5.0f MT fabricated", ceilf(176.0f * gradeadj));
1058 DrawTextW(str, 0, 160, 0, DT_NOCLIP, 0xFFA0A0A0);
1061 L
"6] Material Storage %-4i 1 20479 MT storage %5.0f MT common 8 labor",
interactive.
type6built, ceilf(649.0f * gradeadj));
1062 DrawTextW(str, 0, 175, 0, DT_NOCLIP, 0xFFA0A0A0);
1064 L
" %5.0f MT fabricated", 0.0f);
1065 DrawTextW(str, 0, 185, 0, DT_NOCLIP, 0xFFA0A0A0);
1068 L
"7] Support Structures %-4i 5 Government %5.0f MT common 12 labor",
interactive.
type7built, ceilf(132.0f * gradeadj));
1069 DrawTextW(str, 0, 200, 0, DT_NOCLIP, 0xFFA0A0A0);
1071 L
" %5.0f MT fabricated", ceilf(99.0f * gradeadj));
1072 DrawTextW(str, 0, 210, 0, DT_NOCLIP, 0xFFA0A0A0);
1075 L
"8] Power Production %-4i 1 848 GJ daily %5.0f MT common 4 labor",
interactive.
type8built, ceilf(132.0f * gradeadj));
1076 DrawTextW(str, 0, 225, 0, DT_NOCLIP, 0xFFA0A0A0);
1078 L
" 7 MT fuel/day %5.0f MT fabricated", ceilf(99.0f * gradeadj));
1079 DrawTextW(str, 0, 235, 0, DT_NOCLIP, 0xFFA0A0A0);
1082 L
"9] Defensive Platforms %-4i 1 4 GJ/burst %5.0f MT common 6 labor",
interactive.
type9built, ceilf(132.0f * gradeadj));
1083 DrawTextW(str, 0, 250, 0, DT_NOCLIP, 0xFFA0A0A0);
1085 L
" 1 colonist %5.0f MT fabricated", ceilf(99.0f * gradeadj));
1086 DrawTextW(str, 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
1093 swprintf_s(str, 99, L
" Welcome! (population %.0f)", floorf(
interactive.
tempplot.totalPopulation));
1104 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
1112 else if (opeff < 0.0f)
1121 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
1124 DrawTextW(L
"1] Survey", 0, 45, 0, DT_NOCLIP, 0xFFA0A0A0);
1128 DrawTextW(L
"2] Name Colony", 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
1132 DrawTextW(L
"2] Rename Colony", 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
1134 DrawTextW(L
"3] Expansion", 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1135 DrawTextW(L
"4] Demolition", 0, 90, 0, DT_NOCLIP, 0xFFA0A0A0);
1136 DrawTextW(L
"5] Manage Trade", 0, 105, 0, DT_NOCLIP, 0xFFA0A0A0);
1137 DrawTextW(L
"6] Cargo Operations", 0, 120, 0, DT_NOCLIP, 0xFFA0A0A0);
1141 wcscpy_s(str, 99, L
"7] No ATM Installed");
1142 DrawTextW(str, 0, 135, 0, DT_NOCLIP, 0xFFA0A0A0);
1143 DrawTextW(L
"8] Diplomacy", 0, 150, 0, DT_NOCLIP, 0xFFA0A0A0);
1145 float matprod = 0.0f, natused = 0.0f, fuelprod = 0.0f, fueloreused = 0.0f, rarused = 0.0f, goodprod = 0.0f, matused = 0.0f, foodused = 0.0f, fuelused = 0.0f;
1153 matprod = staff / 100.0f * 50.0f * opeff;
1154 natused += staff / 100.0f * 50.0f * opeff / 0.98f;
1155 rarused += staff / 100.0f * 50.0f * opeff / 0.98f * 0.060212377f;
1156 fuelused += matprod * 0.011538462f;
1164 fuelprod = staff / 100.0f * 6.0f * opeff;
1165 fueloreused += fuelprod / 0.4642857143f;
1166 fuelused += fuelprod * 0.0029312f;
1175 goodprod = staff / 100.0f * 2.5f * opeff;
1176 foodused += goodprod * 0.1f * 1.1f;
1177 matused += goodprod * 0.9f * 1.1f;
1178 fuelused += goodprod * 0.25f;
1183 L
" Daily Production: %.3f MT refined fuel", fuelprod);
1184 DrawTextW(str, 0, 170, 0, DT_NOCLIP, 0xFFA0A0A0);
1186 L
" %.3f MT materials", matprod);
1187 DrawTextW(str, 0, 180, 0, DT_NOCLIP, 0xFFA0A0A0);
1189 L
" %.3f MT goods", goodprod);
1190 DrawTextW(str, 0, 190, 0, DT_NOCLIP, 0xFFA0A0A0);
1193 L
" Commodity Daily Consumption");
1194 DrawTextW(str, 0, 205, 0, DT_NOCLIP, 0xFFA0A0A0);
1196 L
" Rare %.3f MT", rarused);
1197 DrawTextW(str, 0, 215, 0, DT_NOCLIP, 0xFFA0A0A0);
1200 DrawTextW(str, 0, 225, 0, DT_NOCLIP, 0xFFA0A0A0);
1202 L
" Common %.3f MT", natused);
1203 DrawTextW(str, 0, 235, 0, DT_NOCLIP, 0xFFA0A0A0);
1205 L
" Fuel Ore %.3f MT", fueloreused);
1206 DrawTextW(str, 0, 245, 0, DT_NOCLIP, 0xFFA0A0A0);
1208 L
" Goods %.3f MT",
interactive.
tempplot.totalPopulation * 0.00094486628821917808219178082191781f);
1209 DrawTextW(str, 0, 255, 0, DT_NOCLIP, 0xFFA0A0A0);
1211 L
" Materials %.3f MT", matused);
1212 DrawTextW(str, 0, 265, 0, DT_NOCLIP, 0xFFA0A0A0);
1215 DrawTextW(str, 0, 275, 0, DT_NOCLIP, 0xFFA0A0A0);
1219 short x = 210,
y = 45;
1224 DrawTextW(L
"** We desperately need food!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1231 DrawTextW(L
"++ We have less than a week's supply of food!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1238 DrawTextW(L
"++ The colony up-link has failed!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1243 DrawTextW(L
"++ Production halted, out of secure processed storage!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1248 DrawTextW(L
"++ Production halted, out of refined Iagreous fuel!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1253 DrawTextW(L
"++ Fabricated production halted,",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1255 DrawTextW(L
"++ into reserves of rare material!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1260 DrawTextW(L
"++ Fabricated production halted,",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1262 DrawTextW(L
"++ into reserves of common material!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1267 DrawTextW(L
"++ Fabricated production halted,",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1269 DrawTextW(L
"++ surplus of fabricated materials!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1274 DrawTextW(L
"++ Fuel refining halted,",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1276 DrawTextW(L
"++ into reserves of unrefined fuel ore!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1281 DrawTextW(L
"++ Fuel refining halted,",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1283 DrawTextW(L
"++ surplus of refined fuel!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1289 DrawTextW(L
"++ Consumer goods production halted,",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1291 DrawTextW(L
"++ into reserves of foodstuffs!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1296 DrawTextW(L
"++ Consumer goods production halted,",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1298 DrawTextW(L
"++ into reserves of fabricated material!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1303 DrawTextW(L
"++ Consumer goods production halted,",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1305 DrawTextW(L
"++ surplus of consumer goods!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1311 DrawTextW(L
"++ The colony is overpopulated!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1316 swprintf_s(str, 99, L
".. We have %i people reassigned for construction",
interactive.
tempplot.colonistsbuilding);
1317 DrawTextW(str,
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1323 DrawTextW(str,
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1328 DrawTextW(L
".. No new messages!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1333 DrawTextW(L
" Commodity Type Options Held We Paid Trading At", 0, 30, 0, DT_NOCLIP, 0xFFA0A0A0);
1336 DrawTextW(str, 0, 70, 0, DT_NOCLIP, 0xFFA0A0A0);
1339 DrawTextW(str, 0, 95, 0, DT_NOCLIP, 0xFFA0A0A0);
1342 DrawTextW(str, 0, 120, 0, DT_NOCLIP, 0xFFA0A0A0);
1345 DrawTextW(str, 0, 145, 0, DT_NOCLIP, 0xFFA0A0A0);
1348 DrawTextW(str, 0, 170, 0, DT_NOCLIP, 0xFFA0A0A0);
1351 DrawTextW(str, 0, 195, 0, DT_NOCLIP, 0xFFA0A0A0);
1354 DrawTextW(str, 0, 220, 0, DT_NOCLIP, 0xFFA0A0A0);
1359 DrawTextW(L
" Trading volume today: Record-breaking!", 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
1363 DrawTextW(L
" Trading volume today: Very heavy", 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
1367 DrawTextW(L
" Trading volume today: Moderately heavy", 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
1371 DrawTextW(L
" Trading volume today: Average", 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
1375 DrawTextW(L
" Trading volume today: Moderately light", 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
1379 DrawTextW(L
" Trading volume today: Very light", 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
1383 DrawTextW(L
" Trading volume today: None", 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
1391 swprintf_s(str, 99, L
" Welcome! (population %.0f)", floorf(
interactive.
tempplot.totalPopulation));
1402 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
1410 else if (opeff < 0.0f)
1419 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
1422 DrawTextW(L
"1] Survey", 0, 45, 0, DT_NOCLIP, 0xFFA0A0A0);
1426 DrawTextW(L
"2] Name Colony", 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
1430 DrawTextW(L
"2] Rename Colony", 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
1432 DrawTextW(L
"3] Expansion", 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1433 DrawTextW(L
"4] Demolition", 0, 90, 0, DT_NOCLIP, 0xFFA0A0A0);
1434 DrawTextW(L
"5] Manage Trade", 0, 105, 0, DT_NOCLIP, 0xFFA0A0A0);
1435 DrawTextW(L
"6] Cargo Operations", 0, 120, 0, DT_NOCLIP, 0xFFA0A0A0);
1439 wcscpy_s(str, 99, L
"7] No ATM Installed");
1440 DrawTextW(str, 0, 135, 0, DT_NOCLIP, 0xFFA0A0A0);
1441 DrawTextW(L
"8] Diplomacy", 0, 150, 0, DT_NOCLIP, 0xFFA0A0A0);
1444 float natused = 0.0f, fuelused = 0.0f, rarused = 0.0f;
1474 L
" Commodity Daily Consumption");
1475 DrawTextW(str, 0, 205, 0, DT_NOCLIP, 0xFFA0A0A0);
1477 L
" Rare %.3f MT", rarused);
1478 DrawTextW(str, 0, 215, 0, DT_NOCLIP, 0xFFA0A0A0);
1481 DrawTextW(str, 0, 225, 0, DT_NOCLIP, 0xFFA0A0A0);
1483 L
" Common %.3f MT", natused);
1484 DrawTextW(str, 0, 235, 0, DT_NOCLIP, 0xFFA0A0A0);
1486 L
" Fuel Ore %.3f MT", fuelused);
1487 DrawTextW(str, 0, 245, 0, DT_NOCLIP, 0xFFA0A0A0);
1489 L
" Goods %.3f MT", 0.0f);
1490 DrawTextW(str, 0, 255, 0, DT_NOCLIP, 0xFFA0A0A0);
1492 L
" Materials %.3f MT", 0.0f);
1493 DrawTextW(str, 0, 265, 0, DT_NOCLIP, 0xFFA0A0A0);
1495 L
" Fuel %.3f MT", 0.0f);
1496 DrawTextW(str, 0, 275, 0, DT_NOCLIP, 0xFFA0A0A0);
1500 short x = 210,
y = 45;
1505 DrawTextW(L
"** We desperately need food!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1512 DrawTextW(L
"++ We have less than a week's supply of food!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1518 DrawTextW(L
"++ We are experiencing power outages, no more refined Iagreous fuel!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1524 DrawTextW(L
"++ The colony up-link has failed!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1529 DrawTextW(L
"++ The colony is overpopulated!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1534 swprintf_s(str, 99, L
".. We have %i people reassigned for construction",
interactive.
tempplot.colonistsbuilding);
1535 DrawTextW(str,
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1541 DrawTextW(str,
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1546 DrawTextW(L
".. No new messages!",
x,
y, 0, DT_NOCLIP, 0xFFA0A0A0);
1551 float gradeadj = 1.0f;
1553 gradeadj *= 0.2625f;
1560 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
1563 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
1569 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
1572 DrawTextW(str, 0, 20, 0, DT_NOCLIP, 0xFFA0A0A0);
1579 sprintf_s(timerem,
sizeof(timerem),
"%5i days left ",
interactive.
tempplot.constructime / 51948L);
1581 sprintf_s(timerem,
sizeof(timerem),
"%5i hours left ",
interactive.
tempplot.constructime / 3600L);
1583 sprintf_s(timerem,
sizeof(timerem),
"%5i minutes left",
interactive.
tempplot.constructime / 60L);
1585 sprintf_s(timerem,
sizeof(timerem),
"One minute left!");
1588 L
" CONSTRUCTION IN PROGRESS %S (%i colonists building)", timerem,
interactive.
tempplot.colonistsbuilding);
1589 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
1594 DrawTextW(L
" Structure Type Built Zoned Adds Capacity Materials Needed Colonists", 0, 35, 0, DT_NOCLIP, 0xFFA0A0A0);
1598 DrawTextW(L
" Structure Type Built Zoned Adds Capacity Materials Recycled Colonists", 0, 35, 0, DT_NOCLIP, 0xFFA0A0A0);
1601 L
"1] Fixed-base Operator %-4i 2 5 colonists %3.0f MT common 1 labor",
interactive.
type1built, ceilf(23.37f * gradeadj));
1602 DrawTextW(str, 0, 50, 0, DT_NOCLIP, 0xFFA0A0A0);
1604 L
" %3.0f MT fabricated", ceilf(17.13f * gradeadj));
1605 DrawTextW(str, 0, 60, 0, DT_NOCLIP, 0xFFA0A0A0);
1607 #pragma region Runway 1614 L
"2] Runway 0 1 Phase 1/3 %3.0f MT common 4 labor", ceilf(0.0f * gradeadj));
1615 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1617 L
" Marston Mat %3.0f MT fabricated", ceilf(999.0f * gradeadj));
1618 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
1623 L
"2] Runway 0 1 Phase 2/3 %3.0f MT common 4 labor", ceilf(0.0f * gradeadj));
1624 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1626 L
" Marston Mat %3.0f MT fabricated", ceilf(999.0f * gradeadj));
1627 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
1632 L
"2] Runway 0 1 Phase 3/3 %3.0f MT common 4 labor", ceilf(0.0f * gradeadj));
1633 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1635 L
" Marston Mat %3.0f MT fabricated", ceilf(125.0f * gradeadj));
1636 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
1641 L
"2] Runway 1 1 %3.0f MT common 4 labor", ceilf(0.0f * gradeadj));
1642 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1644 L
" Marston Mat %3.0f MT fabricated", ceilf(2123.0f * gradeadj));
1645 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
1654 L
"2] Runway 0 1 %3.0f MT common 4 labor", ceilf(0.0f * gradeadj));
1655 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1657 L
" %3.0f MT fabricated", ceilf(2123.0f * gradeadj));
1658 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
1663 L
"2] Runway 0 1 Phase 1/3 %3.0f MT common 4 labor", ceilf(0.0f * gradeadj));
1664 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1666 L
" Marston Mat %3.0f MT fabricated", ceilf(999.0f * gradeadj));
1667 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
1672 L
"2] Runway 0 1 Phase 2/3 %3.0f MT common 4 labor", ceilf(0.0f * gradeadj));
1673 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1675 L
" Marston Mat %3.0f MT fabricated", ceilf(999.0f * gradeadj));
1676 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
1681 L
"2] Runway 1 1 Phase 3/3 %3.0f MT common 4 labor", ceilf(0.0f * gradeadj));
1682 DrawTextW(str, 0, 75, 0, DT_NOCLIP, 0xFFA0A0A0);
1684 L
" Marston Mat %3.0f MT fabricated", ceilf(125.0f * gradeadj));
1685 DrawTextW(str, 0, 85, 0, DT_NOCLIP, 0xFFA0A0A0);
1691 L
"3] Terminal %-4i 1 8 colonists %3.0f MT common 11 labor",
interactive.
type3built, ceilf(267.01f * gradeadj));
1692 DrawTextW(str, 0, 100, 0, DT_NOCLIP, 0xFFA0A0A0);
1694 L
" 20479 MT storage %3.0f MT fabricated", ceilf(195.72f * gradeadj));
1695 DrawTextW(str, 0, 110, 0, DT_NOCLIP, 0xFFA0A0A0);
1698 L
"4] Hangar %-4i 1 6 colonists %3.0f MT common 61 labor",
interactive.
type4built, ceilf(143.04f * gradeadj));
1699 DrawTextW(str, 0, 125, 0, DT_NOCLIP, 0xFFA0A0A0);
1701 L
" %3.0f MT fabricated", ceilf(104.85f * gradeadj));
1702 DrawTextW(str, 0, 135, 0, DT_NOCLIP, 0xFFA0A0A0);
1705 L
"5] Hotel %-4i 2 824 colonists %3.0f MT common 6 labor",
interactive.
type5built, ceilf(151.13f * gradeadj));
1706 DrawTextW(str, 0, 150, 0, DT_NOCLIP, 0xFFA0A0A0);
1708 L
" %3.0f MT fabricated", ceilf(110.78f * gradeadj));
1709 DrawTextW(str, 0, 160, 0, DT_NOCLIP, 0xFFA0A0A0);
1712 L
"6] Fuel Farm %-4i 2 25810 MT storage %3.0f MT common 5 labor",
interactive.
type6built, ceilf(58.57f * gradeadj));
1713 DrawTextW(str, 0, 175, 0, DT_NOCLIP, 0xFFA0A0A0);
1715 L
" %3.0f MT fabricated", ceilf(42.93f * gradeadj));
1716 DrawTextW(str, 0, 185, 0, DT_NOCLIP, 0xFFA0A0A0);
1719 L
"7] Support Structures %-4i 5 %3.0f MT common 2 labor",
interactive.
type7built, ceilf(42.96f * gradeadj));
1720 DrawTextW(str, 0, 200, 0, DT_NOCLIP, 0xFFA0A0A0);
1722 L
" %3.0f MT fabricated", ceilf(31.49f * gradeadj));
1723 DrawTextW(str, 0, 210, 0, DT_NOCLIP, 0xFFA0A0A0);
1726 L
"8] Power Production %-4i 1 212 GJ daily %3.0f MT common 1 labor",
interactive.
type8built, ceilf(31.88f * gradeadj));
1727 DrawTextW(str, 0, 225, 0, DT_NOCLIP, 0xFFA0A0A0);
1729 L
" 1 colonist %3.0f MT fabricated", ceilf(23.37f * gradeadj));
1730 DrawTextW(str, 0, 235, 0, DT_NOCLIP, 0xFFA0A0A0);
1733 L
"9] Control Tower %-4i 1 1 colonist %3.0f MT common 2 labor",
interactive.
type9built, ceilf(36.40f * gradeadj));
1734 DrawTextW(str, 0, 250, 0, DT_NOCLIP, 0xFFA0A0A0);
1736 L
" %3.0f MT fabricated", ceilf(26.68f * gradeadj));
1737 DrawTextW(str, 0, 260, 0, DT_NOCLIP, 0xFFA0A0A0);
1742 int maxonhand, minonhand, buyingprice, sellingprice;
1743 char stafftoproduce;
1746 case 21: swprintf_s(str, 99, L
" Rare/Precious %.0f MT on hand", floorf(
interactive.
tempplot.procstorA));
1753 case 22: swprintf_s(str, 99, L
" Foodstuffs %.0f MT on hand", floorf(
interactive.
tempplot.procstorfood));
1760 case 23: swprintf_s(str, 99, L
" Common Materials %.0f MT on hand", floorf(
interactive.
tempplot.procstorC));
1767 case 24: swprintf_s(str, 99, L
" Fuel Ore %.0f MT on hand", floorf(
interactive.
tempplot.procstorfuelore));
1774 case 25: swprintf_s(str, 99, L
" Consumer Goods %.0f MT on hand", floorf(
interactive.
tempplot.procstorgoods));
1781 case 26: swprintf_s(str, 99, L
" Fabricated Materials %.0f MT on hand", floorf(
interactive.
tempplot.procstormaterials));
1788 case 27: swprintf_s(str, 99, L
" Refined Fuel %.0f MT on hand", floorf(
interactive.
tempplot.procstorfuel));
1796 maxonhand = minonhand = buyingprice = sellingprice = 0;
1801 DrawTextW(str, 0, 10, 0, DT_NOCLIP, 0xFFA0A0A0);
1803 DrawTextW(L
" Option Type Value", 0, 45, 0, DT_NOCLIP, 0xFFA0A0A0);
1805 swprintf_s(str, 99, L
"1] Maximum on hand %i MT", maxonhand);
1806 DrawTextW(str, 0, 65, 0, DT_NOCLIP, 0xFFA0A0A0);
1807 if (buyingprice > 0)
1808 swprintf_s(str, 99, L
"2] Buying price %i CR per MT", buyingprice);
1810 swprintf_s(str, 99, L
"2] Buying price Not trading...");
1811 DrawTextW(str, 0, 90, 0, DT_NOCLIP, 0xFFA0A0A0);
1814 swprintf_s(str, 99, L
"3] Staff to produce %i%% (%.0f colonists)", stafftoproduce, floorf(
interactive.
tempplot.workingPopulation * 0.25f * (
float)stafftoproduce * 0.01f));
1816 swprintf_s(str, 99, L
"3] Staff to produce N/A");
1820 DrawTextW(str, 0, 115, 0, DT_NOCLIP, 0xFFA0A0A0);
1822 DrawTextW(str, 0, 115, 0, DT_NOCLIP, 0xFF505050);
1832 if (sellingprice > 0)
1833 swprintf_s(str, 99, L
"6] Selling price %i CR per MT", sellingprice);
1835 swprintf_s(str, 99, L
"6] Selling price Not trading...");
1836 DrawTextW(str, 0, 190, 0, DT_NOCLIP, 0xFFA0A0A0);
1838 swprintf_s(str, 99, L
"7] Minimum on hand %i MT", minonhand);
1839 DrawTextW(str, 0, 215, 0, DT_NOCLIP, 0xFFA0A0A0);
1848 if (shift)
return false;
float colonistsforbuilding
void AddToCallStack(const char *msg)