GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (77 стр.)

Сообщения на форуме пользователя Andrey (77 стр.)

Затестите пожалуйста.17 мая 20092:32#42
Novartis Games
ах да забыл сказать 8600GT.
Затестите пожалуйста.16 мая 200918:11#25
Novartis Games
Ну что классно сделано. Только Alt-Tab не работает. Потерю устройства не обработал наверное.
Как я понял Сцена записана в Blitz3D формате. Что за организация сцены BSP, или что-то еще? Чем коллизии делал,
библиотека или руками? Анимация тоже в b3d хранится? Как вообще геометрию уровня рисуешь?
Получить список IP адресов DNS Серверов(Решено)15 мая 200919:22#3
pentagra
>ну так правильно это поле AddrCount, ибо возвращается тебе структура IP4_ARRAY.
отлично спасибо. Исправил код на более правильный.
Получить список IP адресов DNS Серверов(Решено)15 мая 200918:01#1
Так вроде решил проблему, правильно вызывать вот так
DWORD len = 0;        
        QString str = pAdapter->AdapterName;
        QVector<wchar_t> Name(str.length() + 1);
        str.toWCharArray(&Name[0]);
        // Getting len of Buffer
        DNS_STATUS res = DnsQueryConfig(DnsConfigDnsServerList, 0, 
          &Name[0], 
          NULL, NULL, &len);
        OutWin32Error(res);
        QVector<uchar> buffer(len);
        if (NO_ERROR == res) {
          res = DnsQueryConfig(DnsConfigDnsServerList, 0, 
          &Name[0], 
          NULL, &buffer[0], &len);
          OutWin32Error(res);
        }
        const uchar* adressList = &buffer[0];
        for(DWORD i = 0; i < len; i += 4) {
          const uchar* Address = &adressList[i];
// convert to string
          char* addr = inet_ntoa(*reinterpret_cast<const in_addr *>(Address));
.... 
              
        }
в первых 4 байтах по ходу дела записано число серверов т.к. странный Ip 2.0.0.0, остальные 2 пары по 4 байта показывают реальные Ip адреса DNS совпадающие с результаттом ipconfig.
Тема закрыта.

Правка: 24 июня 2009 10:30

Получить список IP адресов DNS Серверов(Решено)15 мая 200916:39#0
Привет! собственно сабж.
пробую использовать DNS API функцию DnsQueryConfig
но она возвращает какой-то буфер что с ним делать я без понятия.
использую так:
void* buffer = NULL;
DWORD len = 0;
        
QString str = pAdapter->AdapterName; // результат функции GetAdaptersInfo
QVector<wchar_t> Name(str.length() + 1);
str.toWCharArray(&Name[0]); 
DNS_STATUS res = DnsQueryConfig(DnsConfigDnsServerList_A, DNS_CONFIG_FLAG_ALLOC, 
        &Name[0], NULL, &buffer, &len);
res  == 0, len == 12, в buffer что-то есть.
пробовал заранее выделить память на 12 байт и вызвать функцию уже с выделенным значением ну и len = 12 поставил.
В результате тоже самое.
Если вместо DnsConfigDnsServerList использовать другие переметры, то функция выдает ошибку 14 "Not enough storage is available to complete this operation."
может внутри буфера в двоичном предствалении содержиться IP адресс? но он не смовпадает с тем что показывает утилита ipconfig, кстати внутри себя она вызывает
DnsQueryConfig.
Что я неправильно делаю при использовании DnsQueryConfig ?
Есть ли другой способ получить IP адреса DNS серверов?

Правка: 24 июня 2009 10:30

А кто пишет OpenGL?13 мая 200912:36#3
caduceus
под Windows по умолчанию если нету драйверов от вендоров, OpenGL рисует через DirectDraw, естественно реализация от Microsoft.
Создание блоков в тетрисе10 мая 200923:59#1
Пыхнул
>что я делаю не так?
Direct3D9: (ERROR) :Stream 0 is not set and FVF vertex declaration is used
Мой новый движок <update 6.07>8 мая 200922:05#45
Sergio666
516 fps, Vista, Athlon 3200+, 8600gt. ATI X1300 перетыкать влом.
DirectShow нужно получить значение Sample Aspect Ratio(Решено)6 мая 200917:09#2
drv47
ага спасибо. Уже разобрался. Тема закрыта.
DirectShow нужно получить значение Sample Aspect Ratio(Решено)6 мая 200915:02#0
собственно как это сделать через DirectShow API,  для текущего видео файла?

Правка: 6 мая 2009 17:10

CreateThread () и операторы new и delete5 мая 200915:03#19
Ghost2
т.е. если я правильно понял std::vector Reentrant потому что если в разных потоках если организовать цикл по вектору + push_back и erase то будут падения?
т.е. тут нужен свой аналогичных контейнер с защитой к примеру критической секцией в методах  push_back/erase
CreateThread () и операторы new и delete5 мая 200912:47#10
в одном из больших проектов я подменил _beginthread() на CreateThread, не упало, в любом случае Ghost2 прав лучше вызывать _beginthread() она инициализирует неким образом CRT что-бы были безопасные вызовы. Ну атоматическое закрытие handle потока т.е. некое удобство еще. В большинстве случае CreateThread не вызывает и неправильной работы программы но гарантии нет.
итераторы против простых индексов5 мая 20098:49#13
MATov
>А зачем удалять из середины вектора вообще? Если это нужно, то зачем использовать вектор?
ну во первых не будет удаления памяти как в случае std::list.
во вторых, если не нужна у порядочность данных в векторе, то удаление из середины будет быстрым, к примеру
cutIt - указывает на середину, тогда перепишем последний элемент на место текущего у уменьшим размер вектора.
*curIt = array.back();
array.pop_back();
ну если сохранить нужно удаленное значение то
std::swap(*curIt, array.back());
array.pop_back();
ARB_fragment_program на NV30 - как управлять точностью?4 мая 200910:33#13
innuendo
>А ты читай внимательно доки, и не только под ARB, но под NV_*
не разводи флейм ладно?, я сам знаю что читать, тебе мало одного раза когда тебя ткнули самого читать ?

Следующие темы >>

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