Флейм
GameDev.ru / Флейм / Форум / Летопись багов (2 стр)

Летопись багов (2 стр)

Страницы: 1 2 3 49 Следующая »
crankyУдалёнwww7 ноя. 201523:32#15
#include <stdio.h>

int main(void) {
  int i = 0;
  // does it work at all??/
  i++;
  printf("%d", i);
  return 0;
}
http://ideone.com/TpKm2O
FordPerfectПостоялецwww8 ноя. 20155:43#16
cranky
Триграфы, классика. Напомнило http://dobrokot.ru/WinnieColorizer/ .

Это у тебя в реальном коде сыграло?

crankyУдалёнwww8 ноя. 201514:21#17
FordPerfect
> Это у тебя в реальном коде сыграло?
и да и нет. триграф образовался не при наборе кода, а в результате формирования ansi-строки из двоичных данных и записи ее в текстовый файл. но, думаю, вполне возможно такое и ручками сделать, если неаккуратно удалить следующую строку с комментарием так чтобы остался символ '/' в конце предыдущей
krianПостоялецwww15 ноя. 201517:48#18
Только что. Проявлялось забавно, в игре есть клетки, которые запитываются электричеством, и вот, если электричества не хватало, то одна такая запитанная клетка на краю запитанной части сети "отрывалась" и улетала бродить по сети до тупика.

А сам баг ни о чём, недоисправленный копипаст.

+ Показать

FordPerfectПостоялецwww16 ноя. 20152:24#19
Тоже тупой баг.

Пишу рандомных ботов:

+ Показать

А боты как-то не блещут интересным поведением.

Фикс:

+ Показать

Здесь примечание: fire не реализован, а special в режимах "always on" и "always off" выглядит одинаково.

FordPerfectПостоялецwww16 ноя. 20152:44#20
Ну и тогда уж вдогонку ещё 1:
        mat<3,3,float> rot33=rotation_matrix_from_unit_quat(entity.rot);
        mat<3,3,float> rot44;
Фикс:
        mat<4,4,float> rot44;
FordPerfectПостоялецwww20 ноя. 20151:58#21
Вывожу целое число, должно быть тысяча. Выводит 3e8.
Откуда 300 тысяч?! При чём здесь скорость света?

Решение:

printf("%x\n",1000);
(я упрощаю).
FordPerfectПостоялецwww23 ноя. 201521:14#22
Выглядел баг так: игрок как-то странно дёргается и иногда улетает нафиг.
Даже после того, как выяснил, что "нафиг" означает NaN, всё-равно прошло больше часа, прежде, чем Зоркий Глаз увидел неинициализированную переменную.
+ Показать
FordPerfectПостоялецwww27 ноя. 201514:41#23
О, забавно получилось.

Пишу ботов, боты тупят.
Смотрю, они всегда выбирают action=idle.

+ Показать
FordPerfectПостоялецwww30 апр. 201622:12#24
Праздник багов вообще офигенный какой-то.

Во-первых, наткнулся на MinGW + -mno-sse + WndProc (которое у меня походу вылезло в picea, где я забил на -mno-sse без подробных разбирательств):
http://www.peterstock.co.uk/games/mingw_sse/
https://github.com/nothings/stb/issues/81
Это прекрасно само по себе.

И рядом 2 (столько нашёл, может больше) тупейших бага с моей стороны:
1. Было:

os::get_message(msg)
// Код, обрабатывающий msg.
Стало:
while(os::get_message(msg))
{
    // Код, обрабатывающий msg.
}

2. Было:

// Assignment-arithmetic
    Type & operator+=(const Type &src)
    {
        *this=src+(*this);
        return *this;
    }

    Type & operator-=(const Type &src)
    {
        *this=src-(*this);
        return *this;
    }
Стало:
// Assignment-arithmetic
    Type & operator+=(const Type &src)
    {
        *this=(*this)+src;
        return *this;
    }

    Type & operator-=(const Type &src)
    {
        *this=(*this)-src;
        return *this;
    }
(это из темы о fixed-point, кстати).

Ищу дальше.

krianПостоялецwww1 мая 20164:57#25
FordPerfect
> Type & operator+=(const Type &src) { *this=src+(*this); return *this; }

А в чём профит делать += через +, а не наоборот?

FordPerfectПостоялецwww1 мая 20166:20#26
krian
"+" - constexpr, а "+=" - нет.
Соответственно, для constexpr всё-равно "+" делать; значит - можно выразить "+=" через него.
FordPerfectПостоялецwww9 мая 20160:30#27
Проявляется таким видом: игрок становится на бонус, эффект бонуса срабатывает (мана восстанавливается), но бонус не исчезает, и эффект срабатывает каждый фрейм.

Решение: было return вместо break в switch'е (по типу бонуса; return - вроде бы в результате копипаста), и функция тупо не доходила до конца.

FordPerfectПостоялецwww9 мая 201618:18#28
Тупо, но забавно.

Было:

static char messages_text[n_messages][1024];

// ...

strncpy(messages_text[0],text,sizeof(messages_text[0]-1));
Стало:
static char messages_text[n_messages][1024];

// ...

strncpy(messages_text[0],text,sizeof(messages_text[0])-1);

crankyУдалёнwww9 мая 201618:34#29
FordPerfect
> Тупо, но забавно.
заметил, что такие синтаксические баги часто рождаются, когда т.з. многократно изменяется с большей скоростью, чем успевают вносить изменения в код :/
Страницы: 1 2 3 49 Следующая »

/ Форум / Флейм / Программирование

2001—2018 © GameDev.ru — Разработка игр