Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Курилка программистов
GAMEINATOR forums > Soft, Hard и периферия > Hard & Soft
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
1001v
Цитата(saas @ 19.01.2018, 22:32) *
RedPxthon, исправь лучше то, что комментарий перекрывает вторую секцию.

За этим надо к вендору обращаться, на этом мои полномочия все
ForserX
Есть идеи как получить валидный StackWalk64 с включенной оптимизацией? Ну или аналог старого blackbox?
Tron
Цитата(ForserX @ 28.01.2018, 01:41) *
Есть идеи как получить валидный StackWalk64 с включенной оптимизацией? Ну или аналог старого blackbox?

https://github.com/wc-duck/dbgtools/blob/ma...c/callstack.cpp
autistic
Цитата(ForserX @ 28.01.2018, 03:41) *
Есть идеи как получить валидный StackWalk64 с включенной оптимизацией?

Никак. Оптимизатор может переместить, изменить или заинлайнить некоторые участки кода. В каком контексте задан вопрос? Если есть возможность, собирай без оптимизации, с ключом /Od.
ForserX
Цитата(Орхетектор @ 28.01.2018, 13:56) *
В каком контексте задан вопрос

Под х32 всё работает, в х64 отображается только первый вызов.
autistic
Цитата(ForserX @ 29.01.2018, 10:43) *
Под х32 всё работает, в х64 отображается только первый вызов.

Понятно, что не отображается и даже понятно почему, непонятно для чего нужен стек вызовов с релизного билда?
В случае если есть какой-то трудновоспроизводимый баг который воспроизводится только на релизном билде и его необходимо локализовать, можно попробовать собрать билд с ключом Zo, затем снять дамп при воспроизведении и попытаться продебажить. Еще можно вручную залогировать участки кода, которые вызывают опасения, на предемет выполнится/не выполнится.
Во всех остальных случаях советую не сходить с ума и либо выключить оптимизацию, либо забить на раскрутку стека в логах.
abramcumner
Цитата(ForserX @ 29.01.2018, 08:43) *
Под х32 всё работает, в х64 отображается только первый вызов.

А в релизе х64 создаются pdb?
ForserX
abramcumner, да.
Орхетектор, это для общего развития просто. У нас система дампов подключена для нормальной отладки у тестеров.
NanoBot-AMK
Использую МАСМ. Но я считаю что он не полноценен. Там есть встроенные макрооператоры .if, .while, .until и другие.
Но мне этого мало, там нельзя использовать xmm регистры и не правильно работают макрофункции. В общем есть идея, разработать внешний транслятор операторов высокого уровня. Короче, что больше МАСМ на С/С++ больше был похож. Так же добавить выражения. Что то вроде такого.
Код
if(eax<10){
xmm0=xmm2*(float)eax/param
eax=xmm0/xmm9
}

Транслятор на выходе генерирует asm-код который нормально компилируется уже самим ml.exe. Вот как то так, можно конечно сделать и макросами(кое какой код есть существует(не мой)). Но в МАСМе есть некоторые ошибки которое это затрудняют, и которые никто не будет исправлять.
autistic
Цитата(NanoBot-AMK @ 28.03.2018, 03:37) *
В общем есть идея, разработать внешний транслятор операторов высокого уровня. Короче, что больше МАСМ на С/С++ больше был похож.

А зачем? Почему бы просто на С/С++ не писать? Компилятор генерирует более оптимальный асм нежели человек, доказано неоднократно.
NanoBot-AMK
Кто то сказал на С, что это такой «универсальный ассемблер». Но это не так. В ассемблере нет таких ограничений, как в С/С++ и др. и нет неявного кода, именно этот неявный код меня бесит. Вот я и пытаюсь идею МАСМ развить, добавили условные операторы .if, .while, .until хорошо, добавили макропроцессор хорошо. Но это всё работает не очень хорошо, много реальных багов, которые никто не собирается фиксить. Если получится, то получу язык уровня С-- Сфинкс, но одновременно проще, и более пригодный к тому же проекту XRayExtensions. Называется ассемблер высокого уровня. MASM++ *.asmpp
Diesel
Вопрос: На Виндовс 10 в визуалке 2013 для XP игру собрать - уже не актуально?
Я первый раз vs2013 использую. Напоролся на MFC.
Что говорят примерно по теме:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include\afxv_w32.h(40): fatal error C1189: #error: MFC does not support WINVER less than 0x0501. Please change the definition of WINVER in your project properties or precompiled header. Майкрософт больше не поддерживает Windows XP, поэтому, даже если ее можно указывать в качестве целевого объекта в Visual Studio 2013, ее поддержку нужно будет поэтапно сокращать в своих приложениях, а своим пользователям рекомендовать переходить на новые версии Windows.

Для устранения ошибки определите WINVER путем обновления свойств проекта — укажите здесь самую раннюю версию Windows, на которую вы хотите в настоящее время ориентироваться. Таблицу значений для различных версий Windows см. здесь.

Файл stdafx.h содержал некоторые из этих определений макросов.

#define WINVER 0x0500 // these defines are set so that we get the
#define _WIN32_WINNT 0x0500 // maximum set of message/flag definitions,
#define _WIN32_IE 0x0400 // from both winuser.h and commctrl.h.

Для WINVER мы установим Windows 7. Чтение кода в дальнейшем окажется проще, если использовать макрос для Windows 7 (_WIN32_WINNT_WIN7), а не само значение (0x0601).

#define WINVER _WINNT_WIN32_WIN7 // Minimum targeted Windows version is Windows 7


https://msdn.microsoft.com/library/windows/...p/aa383745.aspx

Под 2010. 2008 собирается проект SDK в студии 2013. А мне надо собрать либу и делку для тулкита под 2013 в студии 2013.
А что если либу и делку переименовать и заменить у них пути у основного проекта?
Чем отличается компиляция под 2013 от 2010 (2008)?

Грёбаный прогресс. Чем дальше, тем стремнее инструменты и движки. Там даже поиск в документах найти не могу. bad.gif
Neo][
andreyholkin, а в чём вопрос то собственно? Как то размыто описано. Установи platform toolset соответствующий и определи правильно WINVER, т.е. не ниже 0x0501(о чём и сказано в сообщении об ошибке) и собирай.





Не помню правда, надо ли было в 2013 студии отдельной опцией доставлять соответствующий toolset
autistic
Цитата(NanoBot-AMK @ 28.03.2018, 03:57) *
В ассемблере нет таких ограничений, как в С/С++ и др.

А что за ограничения?
Ассемблер накладывает достаточно ограничений, кстати, код не переносим на другие платформы и плохо читаем, иначе для чего тебе понадобилось затаскивать туда ифы с вайлами?
Каждый инструмент хорош в своей области применения, но так уж получилось, что возрастающая с каждым днем сложность разработки не оставила места для ассемблера, совсем.
Хотя знание ассемблера иногда пригождается, мне вот совсем недавно довелось устанавливать хуки на CreateFile / DeleteFile путем "объезда" кода настоящей и вызова кода нужной мне ф-ии.

Цитата(NanoBot-AMK @ 28.03.2018, 03:57) *
нет неявного кода, именно этот неявный код меня бесит.

Проблема неявного кода - это проблема разработчика, а не языка программирования. Чтобы неявного кода не было его достаточно не писать. Если в исходном коде все прозрачно и ты понимаешь что он делает, то тебя не должно колыхать то как компилятор соптимизирует его, это уже проблема разработчиков компиляторов.
Cossack-HD
C# DataTable
Чё то не могу найти документацию о навигации по таблице. Я не собираюсь строить БД, просто хочу что-то более удобное, чем двумерный массив.
Буду на основе содержаний ячеек и названий столбцов строить JSON код.

Общая суть в псевдокоде
В ячейке "Page" есть данные? Ну тогда
generatedJSON.Append("
"ref": "@getCurrentCellContent()",
"title": "@getNextCellContent()"

")


Интересуют:
-Навигация по строкам - переходить от одной к другой, типа foreach (row in table) либо for (i=0; i<table.Rowcount, i++)
-Чтение данных из конкретных ячеек (я нахожусь в строке 3 и хочу прочитать из столбца с именем "Name", т.е. ячейка, которая соответствует [row == 3, column == "Name"]
-Получение имени столбца ячейки поблизости (я нахожусь в строке 3 и в столбце с именем "Name", мне нужно проверить наличие данных в следующем столбце и получить имя следующего столбца).

Мне кажется, проще будет сделать двумерный массив с заголовками в "первой строке", но для DataTable уже есть тулза для импорта EXCEL таблиц:
https://www.codeproject.com/Articles/11698/...rser-for-Flat-F
abramcumner
Цитата(Cossack-HD @ 05.04.2018, 17:54) *
-Навигация по строкам - переходить от одной к другой, типа foreach (row in table) либо for (i=0; i<table.Rowcount, i++)
-Чтение данных из конкретных ячеек (я нахожусь в строке 3 и хочу прочитать из столбца с именем "Name", т.е. ячейка, которая соответствует [row == 3, column == "Name"]

Код
  foreach(DataRow row in table.Rows)
    Console.WriteLine(row["Name"]);

  for(int i = 0; i < table.Rows.Count; i++)
    Console.WriteLine(table.Rows[i]["Name"]);


Цитата
-Получение имени столбца ячейки поблизости (я нахожусь в строке 3 и в столбце с именем "Name", мне нужно проверить наличие данных в следующем столбце и получить имя следующего столбца).

Код
    Console.WriteLine(table.Columns[currentColumn.Ordinal + 1].Caption);
Cossack-HD
abramcumner, щикарно!
Значит, DataTable это как 2D array, только вместо второго индекса можно юзать имя колонки. 10/10
abramcumner
Цитата(Cossack-HD @ 05.04.2018, 18:52) *
Значит, DataTable это как 2D array, только вместо второго индекса можно юзать имя колонки. 10/10

По документации так smile.gif Что не почитал? Ну и вместо имени индекс тоже можно.
SkyLoader
Цитата(Tron @ 28.01.2018, 02:05) *
Цитата(ForserX @ 28.01.2018, 01:41) *
Есть идеи как получить валидный StackWalk64 с включенной оптимизацией? Ну или аналог старого blackbox?

https://github.com/wc-duck/dbgtools/blob/ma...c/callstack.cpp

Что-то у меня после использования оного багтрэп перестал выводить стек в своё окно. Пока не углядел причины. Сама же штука работает, выводит почти всё, что надо.
autistic
Кстати, для получения информации по стеку вызовов советую использовать CaptureStackBackTrace вместо StackWalk64.
Код
void Hook_PrintStack()
{
    unsigned int i;
    void* stack[100];
    unsigned short frames;
    SYMBOL_INFO* symbol;
    HANDLE process;

    LPCSTR searchPath = "C:\\Program Files\\Acronis\\BackupAndRecovery;C:\\Program Files\\Common Files\\Acronis\\BackupAndRecovery\\Common";
    process = GetCurrentProcess();
    SymInitialize(process, searchPath, TRUE);

    frames = CaptureStackBackTrace(0, 100, stack, NULL);
    symbol = (SYMBOL_INFO *)calloc(sizeof(SYMBOL_INFO) + 256 * sizeof(char), 1);
    symbol->MaxNameLen = 255;
    symbol->SizeOfStruct = sizeof(SYMBOL_INFO);

    printf("------------------------------ Stack trace ------------------------------\n");

    for (i = 0; i < frames; i++)
    {
        SymFromAddr(process, (DWORD64)(stack[i]), 0, symbol);
        printf("%i: %s - 0x%0llX\n", frames - i - 1, symbol->Name, symbol->Address);
    }

    printf("---------------------------------- End ----------------------------------\n");

    free(symbol);
}

SkyLoader
Орхетектор, вариант, который Tron кидал, тоже это содержит, только информация о стеке там подробная.
autistic
Есть некий класс, в задачу которого входит ограничение повторяющихся сообщений в лог, под повторяющимися сообщениями понимаются:
1. Идущие подряд сообщения, от n до бесконечности
2. Два или более повторяющихся сообщения, чередующиеся между собой
3. Повторяющиеся сообщения чередующиеся с неповторяющимися

Такие ситуации нередки, когда речь идет о приложениях реального времени, где основная логика выполняется в главном цикле.

Реализация:
Код
class RepeatedLogMessagePreventer
{
public:
    RepeatedLogMessagePreventer()
        : timer(), count()
    {
    }

    template <typename ...Args>
    void operator ()(unsigned channels, ErrorLevel errorLevel, Args ...args)
    {
        const double delay = 100.0;
        const double now = GetPlatform()->TimerGetTime();
        const int maxCount = GetLog()->GetMaxRepeatedMessages();

        if (instance == this || now - timer < delay) {
            if (count < maxCount)
                ++count;
        }
        else if (instance != this && now - timer >= delay) {
            count = 0;
        }

        instance = this;
        timer = now;
        if (count < maxCount)
            GetLog()->PrintMessage(channels, errorLevel, args...);
    }

private:
    static RepeatedLogMessagePreventer *instance;
    double timer;
    int count;
};


Пример использования:
Код
#define LogWarning(channels, ...) \
do { \
    static __TLS Engine::RepeatedLogMessagePreventer debugOutput; \
    debugOutput(channels, Engine::ERROR_LEVEL_WARNING, __VA_ARGS__); \
} \
while (0) \


Ну-ка покидайтесь в меня помидорами, расскажите что вам не понравилось в этом коде и по возможности предложите варианты решения.
ForserX
Кто-то подключал Appveyor для организаций? Именно Githib, на Bitbucket все организации в нём прекрасно отображаются.
Молния в вакууме
Там это, майкрософт выложили исходники файломенеджера winfile. Глдяишь так когда-нибудь Windows 3.1 откроют полностью.
Neo][
СамСебеСекретарша, так ты и сейчас можешь полистать сырцы win2k & nt4, в том числе юзермод. И winxp ядро.
autistic
Цитата(Neo][ @ 11.04.2018, 08:43) *

так ты и сейчас можешь полистать сырцы win2k & nt4, в том числе юзермод. И winxp ядро

Это те которые утекли в сеть когда-то давно? Ну тогда это будет не законно. А тут MIT license и возможность переиспользования.
Молния в вакууме
Орхетектор, ядро XP официально выложили по программе Windows Research Kernel. Только не знаю, какая там лицензия.
Neo][
Цитата(СамСебеСекретарша @ 11.04.2018, 15:16) *
Только не знаю, какая там лицензия.

СамСебеСекретарша, если кратко: используй и модифицируй, сохраняя копирайты и лицензию, но не распространяй вне академических кругов + запрет на любую коммерцию. Но ты можешь использовать приобретённые в результате исследования знания в любых целях, не забывая о патентном законодательстве.
NanoBot-AMK
Слышали новость!
Мелкософт купил GitHub! Вопрос, чем нам это грозит?
Сам я этих фашистов ненавижу, но всё таки приходится их терпеть. С удовольствием бы заменил виндоус на какую нибудь ОС типа ReactOS, а так же заменил среды разработки мелкософта. Масмом больше не пользуюсь, заменил на UASM.
Молния в вакууме
Цитата(NanoBot-AMK @ 06.06.2018, 17:23) *
Вопрос, чем нам это грозит?

С моей точки зрения ничем не грозит, там и так всё плохо. Даже больше 1000 файлов в папке показывать не умеет.
Правда я на гитхаб захожу только что-то скачать либо что-то где-то посмотреть. tongue.gif
Neo][
Цитата(NanoBot-AMK @ 06.06.2018, 19:23) *
Сам я этих фашистов ненавижу

NanoBot-AMK, надеюсь фашисты здесь, лишь для красного словца, чего плохого они тебе сделали(я про ms, не про фашистов)? smile.gif
jamakasi
Цитата(Neo][ @ 07.06.2018, 06:56) *

чего плохого они тебе сделали(я про ms, не про фашистов)? smile.gif

У МС из покон веков политика была и остается "Embrace, extend and extinguish" с помощью которой она уничтожает или поглащает конкурентов в т.ч. и СПО. Примеров кучи. Они полностью уничтожают конкурента или банкротят его и затем поглощают. Сейчас они добавили пошли по несколько более хитрому пути какбы становясь типа сторонниками СПО но в тоже время нагло его извращая в своем стиле.
Из ярких примеров что вспомнилось:
java - сначало активно его поддерживали и развивали а затем внезапно и втихую всунули свои "фирменно проприетарные" фишки доступные только под окнами. Слава яйцам sun\oracle смогли им надовать по рукам и засудить. Затем планы МС сломались но они еще барахтались и пытались вкатить F#
javascript - поддерживают и вдруг вакатывают typescript. Вроде бы как СПО даже но темвременем по тихоньку ломают совместимость. Хорошо что народ извилинами чешет и не особо то и принял его, возможно не дойдет до этапа когда они внезапно сломают кросплатформенность языка и он благополучно сгинет
aol -поддерживали, внезапно расширили и потеряли совместимость убив месенджер и забрав всех пользователей в свою реализацию. Далее свой мессенджер они тихо придушили для его смены
скайп - тут даже говорить нечего что они с ним натворили. Намекну что они закрутили гайки там что раньше было скайп для бизнеса и уничтожили своеже детище lync вкорячив на его место дико изменив то что было скайп для бизнеса и взвентив цены
Kerberos и ldap - они его нескончаемым потоком ломают и "проприетируют"
hotmail - просто раздавили как прыщ
nokia - заключили договор на поставку winmobile, обанкротили нокию, выкупили банкрота, обосрались и не смогли ничего сделать, продали китайцам
еще невероятное количество сервисов и софта которые они либо уничтожили либо поглотили и извратили

Касательно гитхаба вангую следующее:
-сначала реклама
-чуть позже потихоньку начнут менять дизайн
-начнут привносить "плюшки" в виде интеграции со своими или своих сервисов. Ну к примеру влепят поддержку азуры чтоб твой код компилился после пуша и деплоился сразу. Влепят авторизацию по своим учеткам и т.д.
-поменяют расценки и тарифы разбив функционал по категориям
-поменяют условия сервиса внеся неудобные пунктики
Neo][
jamakasi, борьба с конкурентами, захват новых рынков, попытка заработать на всём - так можно сказать про любую коммерческую структуру. Тебя, как конечного пользователя(ок и разработчика) как это затронуло?

С java не знаком.
typescript - не юзай, пусть юзают другие и обгоняют тебя по скорости разработки, либо же юзай что-то другое, coffeescript или что там у гугла или у кого-нибудь ещё. А другие продукты так же совместимы с чистым javascript-ом? Я просто не до конца понял о какой совместимости идёт речь. Они же вроде все транспилируются в чистый js, не?
aol - в нашей части света про него вообще в курсе?
skype - у меня скайп как работал, так и работает. А, только теперь я могу с любого компа прямо из браузера его юзать. Что там в бизнес скайпе - не знаю, но, если продукт хороший и стоимость оправдана, т.е. он конкурентен на этом рынке - я заплачу, если возникнет необходимость.
kerberos/ldap - это же вроде не их разработки, как они могут их проприетировать? Если они в своих продуктах расширяют/усовершенствуют данные технологии, так это уже другой вопрос.
hotmail не знаком.
nokia - мне кажется твоя трактовка сильно притянута за уши. А, если бы нокиа начала на андроидах клепать мобилки и так же обосралась - это можно было бы android inc(или уже google, apple, samsung) обвинить в том, что они обанкротили нокию?
Молния в вакууме
jamakasi, ты забыл самое главное - IBM с их OS/2.
jamakasi
Neo][, затронуло очень сильно. Как разработчика, причем домашнего и для себя, затронуло и трогает постоянно. Чего стоит лишь то что они чуть ли не с каждой версией выворачивают наизнанку переменные окружения к примеру. Как пользователя тоже затронуло, когда майки решили заключить негласный союз с реалтек и уничтожили всю звуковую подсистему в винде изза чего использование хороших звуковых карт потеряло смысл. Сейчас когда вроде стали оклемываться сторонние разрабы звуковух и нашли тропинки как вернуть хороший звук майки снова им подосрали в вин10 изменив очередной раз подсистему звука и вкорячив туда свои костыльные неработающие реализации улучшалок на програмном уровне. Схожая ситуация случилась с картами тюнеров тв\радио, они повыпиливали возможности их аппаратной работы и запилили свою програмную прослойку после чего ввели сертификацию и стали продвигать mce которое благополучно сдохло.Таких примеров много.

с java у них было очень весело и в итоге майки открестились от судов и разбирательств ооочень большой суммой денег. Глядя на это событие очень многие конторы прямым текстом ЗАПРЕТИЛИ микрософту создавать собственный реализации, живой пример адобы со своим pdf. Если интересно почитай, эта ситуация очень злую шутку сыграло с майками и судов было много и от многих.
aol еще как ,вкурсе всеми любимая icq в то время тоже от aol и по сути был aim для европы. Если помнишь еще очень сильно все ругали аську за то что они протокол меняли, так вот это было связанно какраз с боданиями против майков и украдеенного aim под именем msn.
скайпом перестал пользоваться впринципе просто потому что они его покромсали. Реклама, зверопарк версий, убитая поддержка линукс версии скайпа. А высер скайпа в вебе годится только для чата но собственно нафига он тогда нужен.
kerberos/ldap это стандарт на который много много документации ради стандарта на каждый чих чтобы все было совместимо на разных осях и софтинах, майки сначала поддержали все это а потом вытерли этими стандартами задницу и сказали у нас kerberos/ldap но совместимый отчасти и срать мы хотели что наши проприетарные фичи были описаны и реализованы фиг знает когда, мы не хотим чтобы наша реализация была совместима поэтоу у нас kerberos/ldap но не kerberos/ldap.
nokia - у майков был конкретный план который они и реализовали только они не ожидали что рынок за это время захватят ios\android. Нокия правила рынком, дела винды на мобилах были очень плохи, подумали и сделали то что сделали. Гуглу\эплу это было не особо нужно но могли сделать также только скорее всего было бы это очень хорошо и не вылилось в банкротство нокии.

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

СамСебеСекретарша, ну да, они и там нагло сперли все разрушив ос\2. Скажу больше если копнуть глубже то и популярность билли и его програмных творений возникла очень интересно о чем не любят вспоминать и писать. Просто почитай кто у билли родители и где они работали, потом кто их первые клиенты, а потом как эти клиенты связанны с волосатой рукой родителей. Тоже крайне интересная история получится =)
NanoBot-AMK
Уря виртуальную Win95 установил! Только что-то глючит. Может другой образ установить? А ща тырнет кончится.....
ForserX
Цитата(NanoBot-AMK @ 19.06.2018, 00:01) *
Уря виртуальную Win95 установил!

Ты как обычно. Чем старее, тем тебе интереснее.
Modera
Цитата(NanoBot-AMK @ 19.06.2018, 00:01) *
Уря виртуальную Win95 установил!

Ха, тоже мне. Я вот MeeGo на реальное железо установил(почти). biggrin.gif
Это такая система для нетбуков. Почему я решил это сделать? На ютупе попался ролик про эту систему, и я вспомнил что когда-то давно, когда у меня ещё был модем МТС-Коннект кто-то из моей родни про эту штуку прознал и предложил поставить, дескать XP у нас не лицушная/тормозит/глючит/вирусы там или какая-то ещё причина. Я уже не помню. Слава богу о этой плохой идее быстро забыли.
Но Модера не забывает.
Так как проэкт MeeGo скоропостижно скончался в 2012 скачать эту систему с сайта произовдителя не получится. Как хорошо что есть торренты, и там до сих пор эту хрень качают. И даже раздают.
Дальше дело техники: качаем образ, запиливаем его на флешку, втыкаем в ту самую машину, на которую хотели ставить, грузимся. И вот мы в меню, МееГо можно установить, можно не установить, можно запустить. Пробуем запустить и ... зрада. Придётся устанавливать. Дальше опять дело техники, грузим убунту с сидюка, отрезаем раздел, опять грузимся с флешки, далеее, далее, далее, да-да, нет-нет, имя пользователя, пароль, всё. Установка завершена. Вытаскиваем флешку, грузимся с жесткого диска и ... чёрный екран малевича мы можем лицезреть. Если бы в свёо время МееГу решили всё-таки установить этимм бы всё закончилось, а потом с криками "ааа !!! все мои файлы !!! все мои фотки !!!" был бы вызван человек, который был вернул обратно винду, и конечно не за бесплатно. Но сейчас не своё время, и мы продолжаем. После одних суток с МееГой в виртуалке(там всё тоже самое, что и на живом железе, нифига не работает) удалось выяснить, что оболочка запускается только под рутом.(Я не линуксоид, поэтому так долго) Тобиш надо в консоли вводить uxlaunch -u root. Или конфиг /etc/sysconfig/uxlaunch отредактировать.
Это можно сделать из под убунты, которая на сидюке.
И вот, наконец МееГа загрузилась. Немного повозив мышкой, не трудно заметить что работает всё невероятно медленно. *я думаю* Это потому, что интерфейс предназначен для нетбуков, и чтобы разгрузить вялый нетбучный процессор, использует возможности вялой нетбучной видеокарты, а так как вялой нетбучной ведиокарты нет, а есть только вялая обычная, для которой нет драйверов, используется программный растерайзер, который даже весьма мощный процессор поставит на колени. Если драйверы и были когда-то, достать их сейчас не получится, репозитории для этой системы уже давно ушли в небытие. Собрать тоже не получится, инструментов в установочный образ не положили. Осталось только попробовать что-то совсем неадекватное: найти репозитории от каких-то других дистрибутивов, который переварит здешний пакетный менеджер zypper, и попробовать установить дрова оттуда. Я подключил репозиторий opensuse 11.4, и знаете что? Драйвер оттуда установился! Только вот не запускается, пишет [drm] failed to load kernel module "nouveau".
На этом моменте меня наконец отпустило и я вышел сюда об этом написать.

ВотЪ. А можно взять сорцы МееГовской оболочки с гитхаба и собрать под более юзабельный дистр. Но так не интересно. И вообще винда рулит, и заниматься этим всем не стоит, просто под виндой бывает скучно.
Medvedkoo
Я создал! Пхпшники, в отаку!

https://www.gameru.net/forum/index.php?showtopic=71170
Молния в вакууме
Какое же говно этот Direct 9. Оказывается для того чтобы загрузить текстуру в видеопамять для её использования нужно создать ещё одну текстуру в системной памяти, которую нельзя использовать, загрузить в неё картинку и наконец вызвать UpdateTexture death.gif
Мракософт этот АПИ специально для индусских прогеров проектировали? Это ведь не идёт ни в какое сравнение с одним вызовом glTexImage2D, или DX7, где можно было лочить текстуры из видеопамяти.
Diesel
Хотелось бы заценить Visual Studio 2005 Professional.
XP есть, есть исходники CS, а этой студии нет. Экспресс не предлагать. Можно в ЛС.
Молния в вакууме
А зачем тебе эта дрянь? Скачай лучше борланд.
Diesel
Цитата(Молния в вакууме @ 15.09.2018, 01:07) *
А зачем тебе эта дрянь? Скачай лучше борланд.

Уже пробовал, жуткая картина в масле.

Собрал компилятор геометрии для ЧН и ЗП в визуалке 2008. Работает быстрее, чем родной из СДК 07.
Вырезал баг инвалид-фейсов, и еще вырезал вылет по битой статике.


https://yadi.sk/d/kJy8r3hyg0poIQ

Зацените, и отпишитесь, что не так , если что.
Diesel
Цитата(Expropriator @ 15.09.2018, 01:22) *
Зацените, и отпишитесь, что не так , если что.

Лайтмапы? Ни одного - как будто специально вырезал. Нужно еще потестить. Впринципе можно родную делку xrLC_Light.dll на лайтмапы вернуть.
Diesel
Лайтмапы компилит как надо, просто я забыл шейдеры нормальные водрузить.

Вот еще вариант компилятора (собрал из СS 1.5.06 или 1.5.07 - непонятно пока, там обманка в номере):

https://yadi.sk/d/5bEFkoGVgBpVqA

Кстати, компилятор геометрии компилит почти на 40% быстрее, а это почти в два раза ( если бы 50%).
StUnDeR
Ребят, в тригонометрии совсем слаб, гуглю, но что-то не нахожу ничего подходящего, либо формулы отражения вектора от поверхности, либо чего-то еще, но ничего не подходит, многое даже по смыслу.
Итак, представим, что у нас 3d пространство, имеется комната из 4х стенок. В ней двигается человечек. Все векторы - 3д, а не 2д, но мы, условно, это опустим, тк Z координата нам не важна, она меняться не будет. В комнате есть препятствия, на схеме они изображены залитыми прямоугольниками. Человечек начинает двигаться с случайным углом поворота, при встрече со стенкой он должен поворачивать ровно, к примеру, на 50 градусов и двигаться дальше до следующего столкновения. Схематично путь изображен красной линией (углы уж не соблюдал, простите). У каждой поверхности, с которой мы столкнулись, мы знаем нормаль этой поверхности, нормаль столкновения, точку столкновения, и так далее и тому подобное. Вопрос, как поворачивать его относительно поверхности на заданный угол? Либо я запрос составляю неправильно, либо просто не догоняю, но никак не могу сообразить, как это сделать.



Т.е., зная вектор V, вектор-нормаль N, и угол a - надо найти вектор L

Cossack-HD
StUnDeR, 180 - угол атаки - угол отклонения = угол отражения?
Смотри учебники физики про отражение и преломление света, там наглядно.
jamakasi
StUnDeR, пробовал это почитать?
У меня конечно мозг уже давно атрофировался по геометрии и такому матану но кажется ты ищещь примерно следующее:
L.x = V.x * cos(a) - V.y * sin(a)
L.y= V.y * cos(a) + V.x * sin(a)
Хотя опять же извиняюсь если ошибаюсь.
RedMagic
StUnDeR, просто повернуть на стабильный угол после коллизии? Так проще простого, вот псевдокод:

Код
onCollisionEnter(Object obstacle){
    // метод вызывается один раз при каждом столкновении
    player.rotation += Vector3.up * 50;
}


Если же нужно поворачивать относительно стен независимо от угла столкновения, то начинать отсчет надо строго перпендекулярного относительно стены. Тут уже псевдокод не напишу. Нужно определить точку коллизии чтобы узнать угол вхождения в препятствие чтобы повернуть человечка строго перпендекулярно относительно стены (выровнять поворот, для удобства) и приплюсовать 50 градусов поворота (зеркально от точки коллизии).

Можно еще поиграться с векторами движения банально отзеркаливая их, но тогда он будет отскакивать как мячик, а нам же нужен стабильный угол поворота?

Цитата(StUnDeR @ 29.01.2019, 18:49) *
Т.е., зная вектор V, вектор-нормаль N, и угол a - надо найти вектор L

Ты имел ввиду поиска угла a? Потому что вектора - это направление и скорость движения, а нам нужно их просто повернуть.

PS: в тригонометрии тоже не шарю, просто в Unity с подобным сталкивался.
NanoBot-AMK
Вот тут все(в интернетах) утверждают что питон(python) самый лёгкий ЯП, и типа самый лучший, но по мне это просто ужас, синтаксис просто ужасный, какой дурак придумал, что блоки ограничиваются отступами, нету привычных скобок. Если бы XRay использовал питон, в качестве расширения, то я бы модингом никогда не занялся. Питон, он же питухон, мне мозг выворачивает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.