MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / prepareDraw

Function prepareDraw

src/OpenLoco/src/Ui/Windows/TimePanel.cpp:91–140  ·  view source on GitHub ↗

0x004396A4

Source from the content-addressed store, hash-verified

89
90 // 0x004396A4
91 static void prepareDraw([[maybe_unused]] Window& window)
92 {
93 window.widgets[Widx::inner_frame].hidden = true;
94 window.widgets[Widx::pause_btn].image = Gfx::recolour(ImageIds::speed_pause);
95 window.widgets[Widx::normal_speed_btn].image = Gfx::recolour(ImageIds::speed_normal);
96 window.widgets[Widx::fast_forward_btn].image = Gfx::recolour(ImageIds::speed_fast_forward);
97 window.widgets[Widx::extra_fast_forward_btn].image = Gfx::recolour(ImageIds::speed_extra_fast_forward);
98
99 if (SceneManager::isPaused())
100 {
101 window.widgets[Widx::pause_btn].image = Gfx::recolour(ImageIds::speed_pause_active);
102 }
103 else if (SceneManager::getGameSpeed() == GameSpeed::Normal)
104 {
105 window.widgets[Widx::normal_speed_btn].image = Gfx::recolour(ImageIds::speed_normal_active);
106 }
107 else if (SceneManager::getGameSpeed() == GameSpeed::FastForward)
108 {
109 window.widgets[Widx::fast_forward_btn].image = Gfx::recolour(ImageIds::speed_fast_forward_active);
110 }
111 else if (SceneManager::getGameSpeed() == GameSpeed::ExtraFastForward)
112 {
113 window.widgets[Widx::extra_fast_forward_btn].image = Gfx::recolour(ImageIds::speed_extra_fast_forward_active);
114 }
115
116 if (SceneManager::isNetworked())
117 {
118 window.widgets[Widx::fast_forward_btn].hidden = true;
119 window.widgets[Widx::extra_fast_forward_btn].hidden = true;
120
121 window.widgets[Widx::pause_btn].left = 38;
122 window.widgets[Widx::pause_btn].right = 57;
123 window.widgets[Widx::normal_speed_btn].left = 58;
124 window.widgets[Widx::normal_speed_btn].right = 77;
125 }
126 else
127 {
128 window.widgets[Widx::fast_forward_btn].hidden = false;
129 window.widgets[Widx::extra_fast_forward_btn].hidden = false;
130
131 window.widgets[Widx::pause_btn].left = 18;
132 window.widgets[Widx::pause_btn].right = 37;
133 window.widgets[Widx::normal_speed_btn].left = 38;
134 window.widgets[Widx::normal_speed_btn].right = 57;
135 window.widgets[Widx::fast_forward_btn].left = 58;
136 window.widgets[Widx::fast_forward_btn].right = 77;
137 window.widgets[Widx::extra_fast_forward_btn].left = 78;
138 window.widgets[Widx::extra_fast_forward_btn].right = 97;
139 }
140 }
141
142 // TODO: use same list as top toolbar
143 static constexpr uint32_t map_sprites_by_rotation[] = {

Callers

nothing calls this directly

Calls 4

recolourFunction · 0.85
getGameSpeedFunction · 0.85
isNetworkedFunction · 0.85
isPausedFunction · 0.50

Tested by

no test coverage detected