1. Куча / Говнокод #11532

    +131

    1. 1
    2. 2
    > Как удалить smoke1 из массива fx 
    delete fx+2;

    http://www.gamedev.ru/code/forum/?id=165389

    Запостил: USB, 04 Августа 2012

    Комментарии (52) RSS

    • Не удержался и свалился под стол с этого ответа.
      Ответить
    • Ну неправильный код же! Надо так:
      delete[] fx+2;
      Ответить
      • Видимо сарказм., тк в fx[2] не массив, поэтому нужно было применять обычный delete.

        Ну и очевидно код говно, тк в fx[2] остается указатель на мертвый объект.
        Я бы взял boost::vector_ptr или std::vector<std::shared_ptr> или std::vector<my::shared_ref>

        my::shared_ref реализовать как std::reference_wrapper скрещенный с std::shared_ptr
        Ответить
        • > Видимо сарказм.
          Он самый.

          > тк в fx[2] не массив
          А тут никто fx[2] и не удалял. Тут удаляли fx+2.

          Интересно, кстати, как менеджер кучи отреагирует на delete
          x+2 или delete[] fx+2. Его же заставляют удалять блок памяти с середины... valgring, видимо, скажет автору все, что он о нем думает...

          P.S. Все прозаично. До валгринда дело даже не дошло:
          *** glibc detected *** ./a.out: free(): invalid pointer: 0x0813b00d ***
          Ответить
    • Продолжаем репортаж с геймдева:

      Если закатать солнце в ручную проще, чем использовать автоматику - лучше закатывать солнце в ручную.

      Но по опыту скажу - первый десяток попыток просто установить буст, у меня провалились.

      стандарт языка с++
      Ликвидировал трудности кодогенерации результирующего кода.
      с++ не изменил своей идеологиии языка строгой статической типизации, но предоставил оглушающие возможности, имитировать динамику, с сохранением защиты типов, времени компиляции, либо рантайма.


      Все что нужно для работы - есть в стд.
      А если чего там и нету, то это можно породить с помощью стд, поскольку посденнее есть машина Тьюрина


      я создал технологию интеллектуального указателя на функцию/методы
      Ради бога, извините за хвастовство, но аналоги из буста отсасали по мнению моего руководства.
      Ответить
      • Я все там не читал, но спасибо. Вы меня снова уронили со стула. :)
        Ответить
      • да, там эпичный персонаж
        гуру
        Ответить
        • Гуро с++, создавший технологию интеллектуального указателя на функцию™, но так и не сумевший поставить буст...
          Ответить
          • так буст ведь все равно отсасал, ненужно
            жаль пациента скоропостижно забанили
            Ответить
            • > скоропостижно забанили
              По наводке злых конкурентов, участвовавших в разработке буста, и укравших идею пациента.
              Ответить
              • примерно как разработка дешевого альтернативного углеводородному топлива
                как только появляются хоть малейшие намёки на существование на порядок более быстрого "умного указателя", за который еще и дают премии (вообще золотое дно) - сразу убирают гениев с дороги
                не удивлюсь, если кроме бана к нему уже давно выехало два джипа и теперь он в лесу копает себе яму
                Ответить
        • Этож гейдев. Это все объясняет. (с)
          Ответить
          • Кстати, а там есть законченные проекты, которые дожили до релиза? Или же только троллинг и нубовопросы?
            Ответить
            • Я видел игру про манула, кажется, оттуда.
              Ответить
              • ещё тут пробегала medved_boshka_ushi_raspidorasilo
                Ответить
              • О, нашел тему про манула: http://www.gamedev.ru/projects/forum/?id=127900.

                Надо поставить, судя по отзывам игрушка прикольная.
                Ответить
                • Да, оно и есть.
                  Ответить
                  • Манул отменяется, он не пошел под виртуалбоксом ;(
                    Жрет 99% CPU и висит, собака.
                    Ответить
                    • > собака
                      Кошка.

                      > виртуалбоксом
                      Я вам не скажу за всю Одессу, но стоит попробовать другое что-нибудь. Конечно, не ради манула.
                      Ответить
                      • > стоит попробовать другое что-нибудь
                        Ну разве что вайном попробовать... Или есть какие-то еще варианты?

                        P.S. Минусовал не я, хотя единичный минус всегда кажется минусом, который поставил первый ответивший ;(
                        Ответить
                        • Другой виртуализатор, благо их как собак нерезаных. Рекламировать не буду.

                          > Минусовал не я
                          Охотно верю. Наверное, манулоненавистники подтянулись. :)
                          Ответить
                          • > Другой виртуализатор
                            А так ли много виртуализаторов под линь, которые умеют 3D? ЕМНИП только vmware да virtualbox...
                            Ответить
                            • VMWare, да. Но там 3д _очень_ лютое (не знаю, как в линуксе, но в винде - адово). Скажем так, после плясок у меня получилось запустить без артефактов одну игрушку, которую стрёмно запускать на основной системе, но на минимальной чувствительности мыши играть нереально: нажал, камера смотрит в пол или потолок. Грусть-тоска.
                              Ответить
                              • > нажал, камера смотрит в пол или потолок
                                На virtualbox'е была похожая ерунда. Решилось отключением интеграции мышки. Видимо без захвата мыши координаты гесту передаются как-то не так.

                                Недавно кстати прошел первую мафию под vbox'ом (хост ubuntu 12.04, гест XP SP3), все работало стабильно и без багов. А вот более свежие игрушки уже не тянет.
                                Ответить
                                • Я тоже думаю, что всё дело в аппаратном ускорении/эмуляции или ещё какой фигне и как-то это даже лечится.
                                  Сейчас мне кажется, что особого смысла в виртуализации игр нет. Область довольно узкая, что-то вроде запуска старых игр, недоверенных приложений, мультиводства в онлайн-играх. Но тенденция к ускорению виртуализации 3д есть, и это радует.
                                  Ответить
                                • Станно, что так плохо в виртуализации, хотя, может и не странно...
                                  ЗЫ. Играюсь в Guild Wars, и даже бету пробовал - глюки есть, но если крон подключить, чтобы логи от Х-сервера удалял раз в минуту :) то играть можно.
                                  В ВоВ играл, на нормальном, не пиратском сервере - ничего так, тоже, жить можно. Все в Вайне, конечно...
                                  Да, еще играл в Доту и Диабло с аддонами типа Медиана, единственное, что не получилось - ВПН с друзьями поиграть :) А так - замечательно все было.
                                  Ответить
                                • WINE сейчас уже годно может запускать игрухи. Нужно только некоторые моменты использовать.
                                  Ответить
                    • Я дурак. Манул отлично работает под virtualbox. Просто надо не забывать клацнуть галочку "3d ускорение" в настройках машины...
                      Ответить
                      • ЛИНУКСОПРОБЛЕМЫ ИТТ
                        Давно уже пора понять и принять, что луникс не может в игры.
                        Кстати это уже второй (?) тред на этой неделе где он соснул у винды.
                        Ответить
                        • >луникс не может в игры
                          На линукс переносят стим.
                          Ответить
                          • И толку? Ведь с дровами-то всегда траблы.
                            Всегда можно поставить винду и платить за новую видуху вдвое меньше (при той же производительности).
                            Ответить
                            • Маньяки из Valve вроде раскочегарили некоторые дрова так, что они обогнали аналогичные из винды (заодно и виндовые доработали).
                              Ответить
                              • Наверняка они оптимизировали только под Source.

                                Лол. Но проблема в том что продукты Valve не создают проблем нынешним видеокартам (полагаю у них там прямые руки, ибо hl:source охуенен). Людям fps нужны там где реально тупит - крузисы всякие.

                                Плюс поддержка нового железа всегда хромает. У нвидии и ати целые армии кодеров затачивают дрова под игры (в т.ч. под всякие SLI. без поддержки на уровне дров оно ж не работает).
                                За ними не угонишся.
                                Ответить
                      • Ну и как? За спором о драйверах забыли самое важное.
                        Ответить
                        • + Эпичное главное меню (музыка отлично сочетается с суровым взглядом идущего манула).
                          + Красивый эффект, когда манул приземляется в снег.
                          - Манул очень медленно ходит, лапы наверное в снегу вязнут...
                          Ответить
            • Есть :7
              http://www.gamedev.ru/projects/forum/?id=160897
              Ответить
              • > Дата релиза: Не определено
                > Эхх..я сейчас своим майнкрафтом занят)) Полная версия если и будет, то очень не скоро.
                Не пойдет ;)
                Ответить
                • Зато мне тамошний код понравился.
                  Ответить
            • А как же проекты Тараса? Про колесо игрушка, например, очень даже ничего.
              Ответить
              • Надо посмотреть кстати. Я просто на ГД хожу очень редко, разве что по ссылкам с ГК...
                Ответить
            • >пустое разлагольствование, срачи и нубовопросы
              Это между прочим суть г. дева. Потому наверное Тарас его так и любит.
              На говнокоде такого добра тоже кстати навалом, но это же изначально стёбный ресурс.
              Ответить
      • >в ручную
        >Но по опыту скажу - первый десяток попыток просто установить буст, у меня провалились.
        >но предоставил оглушающие возможности, имитировать динамику, с сохранением
        Grammar Nazi уже заряжают MP40

        >Все что нужно для работы - есть в стд.
        лол, доступ к БД, ORM, ФС, сокеты, гуи; треды и регулярки запилили только сейчас

        >стд, поскольку посденнее есть машина Тьюрина
        я, дурак, думал, что МТ - это абстрактный исполнитель
        Ответить
    • Кстати, раз такое дело... а в чем проблема поставить Буст? У меня он как-то попал в зависимости к какому-то *-dev пакету и сам поставился, ничего не спрашивал вообще... Почему это должно быть сложно?
      Ответить
      • Видимо у него windows.
        Ответить
        • А в виндовсе с вижуал студией оно как-то сложно ставится? В cmake достаточно добавить пару строчек.
          Ответить
          • Да он нигде сложно не ставится ;) Большинство проблем же как всегда - от непрочтения инструкций...

            P.S. О как, даже такое есть: http://www.boostpro.com/download
            Ответить
            • в сравнении с qt, буст в complete собирается раза в 4 быстрее (полчаса-час)
              учитывая, что эта операция требуется раз в квартал, качать библиотеки с троянами как то не шибко хочется
              ну и запуск ко-ко-компиляции производится в 1-2 действия (если хочется bjam из комплекта собрать или если не хочется)
              Ответить
              • О да... вспоминается Qt 4.3 и 4+ часа сборки на моем стареньком дюроне 1200... Веселые были времена...
                Ответить
            • >we offer an installer that will place source, documentation, and compiled 32-bit library binaries on your system.
              >32-bit library
              и еще небось берут за это деньги?
              Ответить
              • We hope, by publishing free software that enhances the Boost experience, that we’re “giving back” something of value to the Boost community.

                Денег не берут, максимум троянов поставят ;)
                А вот отсутствие 64-битных либ не радует.
                Ответить
          • Есть готовые сборки буста под разные конпеляторы. Какчай не хочу.
            Ответить

    Добавить комментарий