0x0042A8B9
| 145 | |
| 146 | // 0x0042A8B9 |
| 147 | static void scrollMouseDown(Ui::Window& self, [[maybe_unused]] int16_t x, int16_t y, [[maybe_unused]] uint8_t scrollIndex) |
| 148 | { |
| 149 | auto messageIndex = y / messageHeight; |
| 150 | |
| 151 | if (messageIndex >= MessageManager::getNumMessages()) |
| 152 | { |
| 153 | return; |
| 154 | } |
| 155 | |
| 156 | if (MessageManager::getActiveIndex() != MessageId::null) |
| 157 | { |
| 158 | auto message = MessageManager::get(MessageManager::getActiveIndex()); |
| 159 | if (message->isActive()) |
| 160 | { |
| 161 | // If the current active message was user selected then remove from queue of active messages |
| 162 | if (message->isUserSelected()) |
| 163 | { |
| 164 | message->setActive(false); |
| 165 | } |
| 166 | } |
| 167 | } |
| 168 | |
| 169 | MessageManager::setActiveIndex(MessageId::null); |
| 170 | WindowManager::close(WindowType::news, 0); |
| 171 | |
| 172 | auto message = MessageManager::get(MessageId(messageIndex)); |
| 173 | message->setUserSelected(); |
| 174 | message->timeActive++; |
| 175 | |
| 176 | NewsWindow::open(MessageId(messageIndex)); |
| 177 | |
| 178 | int32_t pan = self.width / 2 + self.x; |
| 179 | Audio::playSound(Audio::SoundId::clickDown, Audio::ChannelId::ui, pan); |
| 180 | } |
| 181 | |
| 182 | // 0x0042A87C |
| 183 | static void scrollMouseOver(Ui::Window& self, [[maybe_unused]] int16_t x, int16_t y, [[maybe_unused]] uint8_t scrollIndex) |
nothing calls this directly
no test coverage detected