Exemple #1
0
static void render_mouse_look(struct engine *engine)
{
    if (!is_in_fov(engine->map, engine->mouse.cx, engine->mouse.cy))
        /* if mouse is out of fov, nothing to render */
        return;

    char buf[128] = {'\0'};
    bool first = true;

    struct actor **iterator;
    for (iterator = (struct actor **) TCOD_list_begin(engine->actors);
         iterator != (struct actor **) TCOD_list_end(engine->actors);
         iterator++) {
        struct actor *actor = *iterator;
        /* Find actors under the mouse cursor */
        if (actor->x == engine->mouse.cx
            && actor->y == engine->mouse.cy) {
            if (!first)
                strcat(buf, ", ");
            else
                first = false;

            strcat(buf, actor->name);
        }
    }
    /*  display the list of actors under the mouse cursor */
    TCOD_console_set_default_foreground(engine->gui->con,
                                        TCOD_light_grey);
    TCOD_console_print(engine->gui->con, 1, 0, buf);
}
int TCODConsole::getHeightCenterRect(int x, int y, int w, int h,const char *fmt, ...) {
	va_list ap;
	va_start(ap,fmt);
	int ret = TCOD_console_print(data,x,y,w,h,TCOD_BKGND_NONE,CENTER,TCOD_console_vsprint(fmt,ap),true,true);
	va_end(ap);
	return ret;
}
int TCODConsole::printCenterRect(int x, int y, int w, int h, TCOD_bkgnd_flag_t flag, const char *fmt, ...) {
	va_list ap;
	va_start(ap,fmt);
	int ret = TCOD_console_print(data,x,y,w,h,flag,CENTER,TCOD_console_vsprint(fmt,ap),true,false);
	va_end(ap);
	return ret;
}
Exemple #4
0
void building_draw(building *b)
{
    TCOD_color_t old_color = TCOD_console_get_default_foreground(NULL);
	TCOD_console_set_default_foreground(NULL, b->model->color);
	TCOD_console_print_frame(NULL, b->p.x, b->p.y,
		b->model->width, b->model->height,
		false, TCOD_BKGND_NONE, NULL);
	TCOD_console_print(NULL, b->p.x + 1, b->p.y, b->model->code);
	TCOD_console_set_default_foreground(NULL, old_color);
}
Exemple #5
0
static void render_log(struct engine *engine, int start_x, int start_y)
{
    /* draw the message log */
    double color_coef = 0.4f;
    int y = start_y;

    TCOD_list_t log = engine->gui->log;

    struct message **iter;
    for (iter = (struct message **) TCOD_list_begin(log);
         iter != (struct message **) TCOD_list_end(log);
         iter++) {
        struct message *message = *iter;
        // TCOD_color_t col = TCOD_color_multiply_scalar(message->col, color_coef);
        TCOD_console_set_default_foreground(engine->gui->con, message->col);
        TCOD_console_print(engine->gui->con, start_x, y,
                           message->text);
        y++;
        if (color_coef < 1.0f)
            color_coef += 0.3f;
    }
}
Exemple #6
0
void _drawMenu() {
    int i, fadeValue;
    TCOD_color_t cursorColor;

    if (!MENU_CALLBACK) {
        return;
    }

    fadeValue = abs(getAnimateFrame() - 30) * 2;
    cursorColor = TCOD_color_RGB(120 + fadeValue, 120 + fadeValue, 120 + fadeValue);

    TCOD_console_set_default_background(UI_CONSOLE, TCOD_color_RGB(15, 10, 10));
    TCOD_console_set_default_foreground(UI_CONSOLE, TCOD_color_RGB(200, 200, 200));

    for (i = 0; i < MENU_ITEM_COUNT; i ++) {
        if (MENU_ITEM_INDEX == i) {
            drawChar(UI_CONSOLE, 1, 2 + i, '>', cursorColor, TCOD_color_RGB(1, 1, 1));
        }

        TCOD_console_print(UI_CONSOLE, 3, 2 + i, MENU_ITEMS[i]);
    }

    TCOD_console_set_default_background(UI_CONSOLE, TCOD_color_RGB(0, 0, 0));
}
void TCODConsole::printCenter(int x, int y, TCOD_bkgnd_flag_t flag, const char *fmt, ...) {
	va_list ap;
	va_start(ap,fmt);
	TCOD_console_print(data,x,y,getWidth(),getHeight()-y,flag,CENTER,TCOD_console_vsprint(fmt,ap),false,false);
	va_end(ap);
}
void TCODConsole::printRight(int x, int y, TCOD_bkgnd_flag_t flag, const char *fmt, ...) {
	va_list ap;
	va_start(ap,fmt);
	TCOD_console_print(data,x,y,x+1,getHeight()-y,flag,RIGHT,TCOD_console_vsprint(fmt,ap),false,false);
	va_end(ap);
}