Advertisement
Pr0nogo

Untitled

Jul 5th, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. // 004ADF20 = gluCustm_raceDropdown -- https://pastebin.com/raw/pExGxMH5
  2. pub unsafe fn glucustm_race_dropdown_hook(
  3. bin: *mut bw::Control, // EAX
  4. orig: &dyn Fn(*mut bw::Control)) {
  5. let mut binVar = bin;
  6. *bin.flags |= 0x80000000; // Frozen? Intercepts mouse move?
  7. let mut raceSlc = bw::singleplayer_race_select;
  8. let mut string = *raceSlc.0x1 - 1;
  9. let mut pszRaceStr: u8 = 0;
  10. let mut listboxAdd: u8 = 0;
  11. let mut value: u32 = 0;
  12. while raceSlc < bw::singleplayer_race_select {
  13. if string != null_mut() {
  14. if string < bw::network_tbl {
  15. pszRaceStr = bw::network_tbl as u8 + bw::network_tbl[string + 1];
  16. }
  17. else {
  18. pszRaceStr = "";
  19. }
  20. }
  21. else {
  22. pszRaceStr = 0;
  23. }
  24. listboxAdd = bw::listbox_add(pszRaceStr, binVar, 0);
  25. if listboxAdd == -1 {
  26. break;
  27. }
  28. value = raceSlc.0
  29. raceSlc += 1;
  30. ((*binVar.0x42) + 4 * listboxAdd) = value;
  31. }
  32. let mut flags = *binVar.flags;
  33. if flags < 0 {
  34. *binVar.flags = flags & 0x7FFFFFFF;
  35. bw::list_update(binVar);
  36. }
  37. if *binVar.next + 0x46 > 3 {
  38. let mut eleven: u32 = 11;
  39. (*binVar.next + 0x2A)(binVar, eleven as *mut Control);
  40. bw::set_selected_dialog(3, binVar);
  41. }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement