mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 14:02:59 +00:00 
			
		
		
		
	ru:: hints
This commit is contained in:
		| @@ -191,6 +191,17 @@ struct npc : public entity { | |||||||
|   void act() override; |   void act() override; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|  | struct hint : public entity { | ||||||
|  |   string hint_text; | ||||||
|  |   int state; | ||||||
|  |   int width, height; | ||||||
|  |   double sx() override { return width; } | ||||||
|  |   double sy() override { return height; } | ||||||
|  |   string glyph() override { return " "; } | ||||||
|  |   color_t color() override { return 0; } | ||||||
|  |   void act() override; | ||||||
|  |   }; | ||||||
|  |  | ||||||
| struct item : public entity { | struct item : public entity { | ||||||
|   int id; |   int id; | ||||||
|   string pickup_message; |   string pickup_message; | ||||||
|   | |||||||
| @@ -194,4 +194,12 @@ void npc::act() { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | void hint::act() { | ||||||
|  |   bool cur = intersect(get_pixel_bbox(), m.get_pixel_bbox()); | ||||||
|  |   if(cur && !state) { | ||||||
|  |     addMessage(hint_text); | ||||||
|  |     } | ||||||
|  |   state = cur; | ||||||
|  |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -127,6 +127,12 @@ void load_room(fhstream& f, cell *c) { | |||||||
|         b->text = scanline_noblank(f); |         b->text = scanline_noblank(f); | ||||||
|         r.entities.emplace_back(std::move(b)); |         r.entities.emplace_back(std::move(b)); | ||||||
|         } |         } | ||||||
|  |       else if(cap == "HINT") { | ||||||
|  |         auto b = std::make_unique<hint>(); | ||||||
|  |         sscanf(param.c_str(), "%lf%lf%d%d", &b->where_x, &b->where_y, &b->width, &b->height); | ||||||
|  |         b->hint_text = scanline_noblank(f); | ||||||
|  |         r.entities.emplace_back(std::move(b)); | ||||||
|  |         } | ||||||
|       else println(hlog, "unknown mapline ", s); |       else println(hlog, "unknown mapline ", s); | ||||||
|       } |       } | ||||||
|     else println(hlog, "unknown mapline ", s); |     else println(hlog, "unknown mapline ", s); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue