Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 30 Января 2015 Это популярное сообщение. Поделиться Опубликовано 30 Января 2015 (изменено) Судя по регулярно происходящему в других темах - таки нужна.Вот здесь как раз можете спросить про "зачем создали эту тему ?" А также про ООП, про как заниматься моддингом и его устарелости неустарелости, кто как его себе представляет и т.д. В общем, для много слов "обо всем". Что в более специализированные темы не лезет, но поговорить давно хотелось и хочется. Но таки да, пп 2.0, 2.1 и даже 2.5 правил здесь вполне таки действуют. Изменено 30 Января 2015 пользователем Dennis_Chikin 5 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Desertir 202 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 экспортрованные вещи написаны и так и так уже есть нормально экспортированные функцииДа, это так. Т.е. вопрос только в том, кто это будет делать? ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 Добавить в LUA #define. А заодно - #include. Да, и научить его инлайну. А вот строки копировать - наоборот, отучить. P.S. И что-то сделать с векторами: либо изменяется то, что на входе, либо результат возвращается, не затрагивая аргумент. А не где попало как попало. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Desertir 202 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 Добавить в LUA #define. А заодно - #include.#define зло в динамическом языке, и так мегапрогеры называют переменные, что с бутылкой не поймешь, для чего они, так еще всякие хитрозадые замены препроцессингом разбирать? А #include зачем? Есть require на худой конец. Модули и так спокойно подгружаются при первом обращении, или как там. Да, и научить его инлайну. А вот строки копировать - наоборот, отучить.Это ты про передачу строк в функции как значения, а не как ссылку? И что-то сделать с векторамиЧто ты имеешь ввиду? ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 А вот как раз переименовать что нам надо так, как хотим. Ну и простыни разные урезать. #include - в общем, для того же. Зло, на самом деле, от make, когда начинают писать на нем, вместо того, чтобы писать на вменяемом языке. Инлайн - это когда функция разворачивается в код. Строки - да, как ссылку. Ибо их копирование - занятие бессмысленное чуть более, чем полностью. Про вектора - это вот, например про когда надо писать вот такого монстра: c = vector():set( v_lin ):normalize():dotproduct( vector():set( lv_lin ):normalize() ) Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Desertir 202 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 (изменено) переименовать что нам надо так, как хотимВот именно поэтому и зло, ты даже здесь костыль хочешь запихать. Тот же N++ имеет замену по файлам, в чем проблема использовать правильно? Но сложные конструкции надо постараться заменить, например можно придумать вот такого вида коммент --BEGIN_DEBUG --а тут пишем код, который будет только в версии для дебага --всякие принты логи и т.п. --END_DEBUGДаже это не составит труда заменить плюсплюс блокнотом на пустоту. Можно даже небольшой скриптик написать для PowerShell, тогда процесс релиза будет еще проще.от make, когда начинают писать на немНе пользовался.Инлайн - это когда функция разворачивается в код.Я просто всю строчку скопировал c = vector():set( v_lin ):normalize():dotproduct( vector():set( lv_lin ):normalize() )И как ты предлагаешь сделать? По мне так ничего криминального, сразу видно, что происходит.Ну и простыни разные урезать. #include - в общем, для того же.Примеры в студию, пожалуйста, что это за такие копипасты у тебя есть? Хоть убей не понимаю, зачем тебе include. Изменено 1 Июня 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 (изменено) local ct_npc = 0 local ct_item = 1 local ct_corpse = 2 local ct_out = 4 local ct_med = 5 Ну и зачем, когда во всех вменяемых языках это делается как раз через переопределение ? Во-вторых, таки да, если кто-то где-то зачем-то определил it_is_my_kee\/\/11_Name0ff\/aЯ1b1ee_BecauseIAmKee\/\/1XackeP, и прибил это гвоздями, то написать один дефайн, и все... Если я хочу сделать v_lin = v_lin:normalize() - я хочу, чтобы это именно так и выглядело. Изменено 1 Июня 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
abramcumner 1 145 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 Да, это так. Т.е. вопрос только в том, кто это будет делать? Тот, кто начинает свой глобальный проект с правками движка и скриптов. В том же xp-dev - править смысла нет, отвалятся у всех скрипты. А переписывать скрипты только потому, что кому-то так кажется красивей... 2 Ссылка на комментарий
Desertir 202 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 #define Отлично? WTF? #define Супер. Маразм. -------------------------------------------- Ну и зачем, когда во всех вменяемых языках это делается как раз через переопределение ?Через переопределение? Переопределение чего? то написать один дефайн, и всеИ вся эта муть останется в скрипте. Открываешь этот скрипт для дебага, а там такая переменная, непонятно, что она обозначает, и ты идешь в свои эти дефайны, пытаешься найти ее, и спустя пол часа понимаешь, что эта переменная тут ни при чем. Отлично? Супер. Вместо того, чтобы сразу понять, для чего переменная, надо куда то ходить. А ты их всех хочешь запомнить? Вопросов нет. Если я хочу сделать v_lin = v_lin:normalize() - я хочу, чтобы это именно так и выглядело.Методы действуют на объекты у которых вызываются. Тут все вполне логично. Вот если бы было написано get_normalize или на крайняк tonormalize, тогда этот метод уже что то возвращает. Тебе дали удочку, а тебе цвет не нравится? Смирись/ищи другую/сделай сам/забей на всё. @abramcumner, вопрос был по большей части риторический, я уже давно забил на ХРей. Движки то уж давно ушли вперед по развитию. Да еще и стали бесплатными ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
svarog2741 83 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 C++ Выполнял перенос с DX8 на DX9. Но не знаю , как вот от этих ошибок избавиться. http://vk.com/photo-95284085_368142703 НС - шлак, солянки - шлак. Ссылка на комментарий
abramcumner 1 145 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 (изменено) @svarog2741, ты серьезно? У тебя куда-то потерялось тело функции. Найди его и посмотри: может файл с ним не добавлен в проект или оно под каким-нибудь дефайном или еще что. Ну и переключи язык на английский. В менюшках как-нибудь разберешься, зато сможешь нормально гуглить ошибки. Методы действуют на объекты у которых вызываются. Тут все вполне логично. Вот если бы было написано get_normalize или на крайняк tonormalize, тогда этот метод уже что то возвращает. Тебе дали удочку, а тебе цвет не нравится? Смирись/ищи другую/сделай сам/забей на всё. Точно так же, как и ты Ты высказал предложения, Денис высказал свои. У вектора часть методов возвращают новый объект, не меняя исходный, а часть методов меняет исходный. Он всего лишь предложил упорядочить это. Изменено 1 Июня 2015 пользователем abramcumner Ссылка на комментарий
svarog2741 83 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 (изменено) У тебя куда-то потерялось тело функцииЕсли бы потерялось, то на DX8 не компилилось.К сожалению у этой ошибки большой перечень возможностей её возникновения. Возможно, на 8 студии построение прошло бы успешно. Изменено 1 Июня 2015 пользователем svarog2741 НС - шлак, солянки - шлак. Ссылка на комментарий
abramcumner 1 145 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 (изменено) Если бы потерялось, то на DX8 не компилилось.ДХ8 - это отдельный солюшен? Не увидел у тебя в студии на тулбаре панели с конфигурацией. К сожалению у этой ошибки большой перечень возможностей её возникновения. Возможно, на 8 студии построение прошло бы успешно.Все они сводятся к тому, что тело функции не найдено. Номер студии абсолютно не важен. Итак: ты нашел файл, в котором определена функция UpdatePowerStatus? Изменено 1 Июня 2015 пользователем abramcumner Ссылка на комментарий
svarog2741 83 Опубликовано 1 Июня 2015 Поделиться Опубликовано 1 Июня 2015 UpdatePowerStatus а тела-то и не было, тупо название функции. Спасибо!Блин, он теперь компилит, но конченой dll'ки не создаётся. НС - шлак, солянки - шлак. Ссылка на комментарий
svarog2741 83 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 // Set up Full Screen presentation parameters nModes = pD3D->GetAdapterModeCount(D3DADAPTER_DEFAULT, D3DFMT_D16); for (i = 0; i<nModes; i++) { pD3D->EnumAdapterModes(D3DADAPTER_DEFAULT, D3DFMT_D16, NULL, 0); if (Mode.Width != (UINT)nScreenWidth || Mode.Height != (UINT)nScreenHeight) continue; if (nScreenBPP == 16 && (_format_id(Mode.Format) > _format_id(D3DFMT_A1R5G5B5))) continue; if (_format_id(Mode.Format) > _format_id(Format)) Format = Mode.Format; } if (Format == D3DFMT_UNKNOWN) { _PostError("Can't find appropriate full screen video mode"); if (!bWindowed) return false; } D3DPRESENT_PARAMETERS d3dppFS; memset(&d3dppFS, 0, sizeof(d3dppFS)); d3dppFS.BackBufferWidth = 1024; d3dppFS.BackBufferHeight = 768; // d3dppFS.BackBufferFormat = Format; d3dppFS.BackBufferFormat = D3DFMT_X8R8G8B8; d3dppFS.BackBufferCount = 1; d3dppFS.MultiSampleType = D3DMULTISAMPLE_NONE; d3dppFS.hDeviceWindow = hwnd; d3dppFS.Windowed = FALSE; d3dppFS.SwapEffect = D3DSWAPEFFECT_FLIP; d3dppFS.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT; if (nHGEFPS == HGEFPS_VSYNC) d3dppFS.PresentationInterval = D3DPRESENT_INTERVAL_ONE; else d3dppFS.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; if (bZBuffer) { d3dppFS.EnableAutoDepthStencil = TRUE; d3dppFS.AutoDepthStencilFormat = D3DFMT_D16; } d3dpp = bWindowed ? &d3dppW : &d3dppFS; if (_format_id(d3dpp->BackBufferFormat) < 4) nScreenBPP = 16; else nScreenBPP = 32; Несколько часов пытаюсь что-то сделать с этим кодом, чтоб работало на DX9. Код основан на DX8. НС - шлак, солянки - шлак. Ссылка на комментарий
abramcumner 1 145 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 @svarog2741, забей на него. Переходи на хрей - единственный нормальный движок, поддерживающий дх9 и дх8 Ну ты хотя бы скажи, что тебе не нравится в приведенном коде Или компилятору что не нравится. Код перебирает режимы моника и заполняет структурку. Что там: режимы не преребираются или структурка плохо заполняется? 1 Ссылка на комментарий
svarog2741 83 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 Что там: режимы не преребираются или структурка плохо заполняется? Лог движка: Can't find appropriate full screen video mode Mode: 800 x 600 x UNKNOWN Переходи на хрей - единственный нормальный движок я как дня три от него ушёл, пока возвращаться не хочется. НС - шлак, солянки - шлак. Ссылка на комментарий
abramcumner 1 145 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 Can't find appropriate full screen video mode Mode: 800 x 600 x UNKNOWNВыведи в лог все доступные режимы и посмотри почему ни один не подходит. Есть подозрения, что в EnumAdapterModes надо передавать номер режима(типа переменную i). Ссылка на комментарий
svarog2741 83 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 (изменено) @abramcumner,ох... Как же старые движки апдейтить не легко. Изменено 2 Июня 2015 пользователем svarog2741 НС - шлак, солянки - шлак. Ссылка на комментарий
Outfater 288 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 @svarog2741, под иконкой написано: Разрабатываю игровой движок. А есть результаты? И если да, то какие? Я не просто так спрашиваю, просто есть некоторые проблемы с тем, что я хочу видеть в ТЧ, но не вижу. Ссылка на комментарий
Elz 343 Опубликовано 2 Июня 2015 Поделиться Опубликовано 2 Июня 2015 @abramcumner, кстати вопрос: как реализована поддержка HLSL на дх8? Вроде как он появился только в дх9... Читал где-то, что на самом деле там не дх8, а обрезок дх9 (хотя и непонятно, как такое возможно). Плюс микро-вбросик: CE3 Первый опыт в С++ (WinAPI) - небольшой текстовый редактор.Сборник книг по C++ | DX | WinAPI | Other на ЯДе Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти