void MenuAppear(Window *window) { int i; bool setSelected = false; MenuWindow *menuWindow = window_get_user_data(window); if(menuWindow) { SetCurrentMenu(menuWindow->menu); } WindowAppear(window); if(!currentMenuDef) { HideAllMenuLayers(); SetMenuDescription(NULL); return; } currentMenuDef->currentSelection = -1; for(i = 0; i < MAX_MENU_ENTRIES; ++i) { MenuEntry *entry = ¤tMenuDef->menuEntries[i]; if(MenuEntryIsActive(entry)) { ShowMenuLayer(i, entry->text); if(setSelected) { SetMenuHighlight(i, false); } else { SetMenuHighlight(i, true); setSelected = true; currentMenuDef->currentSelection = i; SetMenuDescription(entry->description); } } else { HideMenuLayer(i); } } if(menuWindow && menuWindow->menu && menuWindow->menu->mainImageId != -1) { LoadMainBmpImage(window, menuWindow->menu->mainImageId, menuWindow->menu->useFloorImage ? menuWindow->menu->floorImageId : -1); } }
void LoadRandomDungeonImage(void) { #if ALLOW_RANDOM_DUNGEON_GRAPHICS int result; #endif #if ALLOW_RANDOM_DUNGEON_GRAPHICS result = Random(12); if(result < 6) adventureMenuDef.mainImageId = RESOURCE_ID_IMAGE_DUNGEONSTRAIGHT; else if(result < 9) adventureMenuDef.mainImageId = RESOURCE_ID_IMAGE_DUNGEONLEFT; else if(result < 12) adventureMenuDef.mainImageId = RESOURCE_ID_IMAGE_DUNGEONRIGHT; else adventureMenuDef.mainImageId = RESOURCE_ID_IMAGE_DUNGEONDEADEND; #endif if(adventureWindow) LoadMainBmpImage(adventureWindow, adventureMenuDef.mainImageId, -1); }
void LoadRandomDungeonImage(void) { #if ALLOW_RANDOM_DUNGEON_GRAPHICS uint8_t result = Random(12) + 1; if(result == lastImage) { result = (result + 3) % 12; } if(result < 6) adventureMenuDef.mainImageId = RESOURCE_ID_IMAGE_DUNGEONSTRAIGHT; else if(result < 9) adventureMenuDef.mainImageId = RESOURCE_ID_IMAGE_DUNGEONLEFT; else if(result < 12) adventureMenuDef.mainImageId = RESOURCE_ID_IMAGE_DUNGEONRIGHT; else adventureMenuDef.mainImageId = RESOURCE_ID_IMAGE_DUNGEONDEADEND; lastImage = result; #endif if(adventureWindow) LoadMainBmpImage(adventureWindow, adventureMenuDef.mainImageId); }