New tweak: kitchen-prefs-empty
Fixes a layout issue on the kitchen prefs viewscreen with empty tabs http://www.bay12games.com/dwarves/mantisbt/view.php?id=9000 See #526develop
							parent
							
								
									790f967120
								
							
						
					
					
						commit
						8d21dd0a23
					
				| @ -0,0 +1,34 @@ | ||||
| using namespace DFHack; | ||||
| using df::global::gps; | ||||
| 
 | ||||
| struct kitchen_prefs_empty_hook : df::viewscreen_kitchenprefst { | ||||
|     typedef df::viewscreen_kitchenprefst interpose_base; | ||||
| 
 | ||||
|     DEFINE_VMETHOD_INTERPOSE(void, render, ()) | ||||
|     { | ||||
|         static const char *state_names[] = { | ||||
|             "Vegetables/fruit/leaves", | ||||
|             "Seeds", | ||||
|             "Drinks", | ||||
|             "Meat/fish/other" | ||||
|         }; | ||||
|         static int tab_x[] = {2, 30, 45, 60}; | ||||
|         static Screen::Pen pen(' ', COLOR_WHITE, COLOR_BLACK); | ||||
| 
 | ||||
|         INTERPOSE_NEXT(render)(); | ||||
|         for (int x = 1; x < gps->dimx - 2; x++) | ||||
|             Screen::paintTile(pen, x, 2); | ||||
|         for (int i = 0; i < 4; i++) | ||||
|         { | ||||
|             pen.bold = (page == i); | ||||
|             Screen::paintString(pen, tab_x[i], 2, state_names[i]); | ||||
|         } | ||||
|         if (!item_type[page].size()) | ||||
|         { | ||||
|             pen.bold = true; | ||||
|             Screen::paintString(pen, 2, 4, "You have no appropriate ingredients."); | ||||
|         } | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| IMPLEMENT_VMETHOD_INTERPOSE(kitchen_prefs_empty_hook, render); | ||||
		Loading…
	
		Reference in New Issue