Перейти к контенту

Курилка программистов


Рекомендуемые сообщения

Господа присяжные заседатели ! А не пора ли у нас уже как-то упорядочить темы, касающиеся движка ?

То есть, вот все эти правки "по интересам" расширить, углУбить © и вообще...

 

"Редактирование", "мелкие правки", ТЧ/ЗП, какие-то тематические правки - вот это вот все - во что-то большее ?

Какие есть мысли ?

 

Чтобы кто не знает "с чего начать ?" - нашел ответ на свои вопросы, у кого процесс достиг какой-то определенной стадии - на свои ?

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

Я здесь сейчас буду заниматься нытьем.

 

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

То есть, для того, чтоб 100500 скриптов каждый раз за всем этим не лазили в 100500 других скриптов, и меняя в одной из секций, к примеру, одну черточку, не надо было ВЕЗДЕ руками ее менять. А только в ОДНОЙ этой таблице.

 

А главное, чтобы те 100500 скриптов не лазили в другие 100500 скриптов, и не дергали alife(), game.* и level.* когда их еще и не пахнет. Это если допустить, что у нас не получится опять той дурной рекурсии, когда для компиляции одного модуля надо значения другого модуля, который при компиляции их берет их этого модуля.

 

И что бы вы думали ? Правильно. Теперь, в момент, когда начинается загрузка, то есть, ни каких alife() и иже с ними еще нет - вот оттуда - начинается перебор 100500 скриптов, вытаскивание из них глобальных переменных, и в цикле оттуда заполняются те самые таблицы теми значениями, которые до этого выносили ОТОВСЮДУ в ОДНО место.

При этом, понятно, что половина значений на данном этапе бессмысленны, поскольку пространства не инициализированы, а нужны они будут даже не когда актор в онлайн войдет, а если рак на горе свистнет.

 

 

Вот это от большого ума, или чисто пакость сделать ?

  • Нравится 3

Поделиться этим сообщением


Ссылка на сообщение

Это для понимающих. Жалобы на жизнь тяжкую.

Суть в том, что нет такой идеи по облегчению жизни, чтобы нельзя было взять уже готовое, и легким движением руки сделать так, чтоб стало ЕЩЕ ХУЖЕ, чем было до того.

Поделиться этим сообщением


Ссылка на сообщение

К вопросу о том, какое отношение имеет Тора к Самураям - ну, вот такие нынче самураи.

Для тех, кто совсем не в курсе: Тора может быть ТОЛЬКО на древнееврейском, поэтому каждый пункт каждый Самурай толкует в меру своего незнания этого языка.

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

А по-моему, это - про ООП: http://texconten.livejournal.com/227458.html

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

9000 одних только курьеров неписей - вот в олспавне им самое место, да. (+хотя-бы один ствол, +пачка патронов, +фонарик) == 36000 объектов. Я не знаю, прочитается ли этот олспавн чем-нибудь вообще как файл, но вот запустится ЭТО - вряд-ли.

Поделиться этим сообщением


Ссылка на сообщение

В ЗП под id объекта отведено 32 бита ?

Ну а в ТЧ - 16.

 

Кроме неписей наверняка есть живность и всякие костры/лампочки...

Поделиться этим сообщением


Ссылка на сообщение

Причем, заметим, ни один из jmp/br из процессоров ни куда не делся. А отсутствие как goto, так и continue одновременно можно наблюдать в том же LUA, с результатом слегка предсказуемым.

 

А, да, самое смешное, что результат работы компилятора с любым if/for/while и т.д., не говоря о case, в итоге все равно в 146% случаев состоит из j[flag] offset, jmp offset/addres, или даже вообще j* label, jmp ... label: jmp ...

Поделиться этим сообщением


Ссылка на сообщение
В 24.11.2017 в 03:15, Malandrinus сказал:

if (<условие>) return true; else return false;

 

#define TRUE FALSE  же !

Поделиться этим сообщением


Ссылка на сообщение

xr_3da\xrGame\ai\monsters\controller\controller_psy_aura.cpp:

#define    FAKE_AURA_DURATION    3000
#define    FAKE_AURA_DELAY        8000
#define FAKE_MAX_ADD_DIST    90.f
#define FAKE_MIN_ADD_DIST    20.f


void CControllerAura::update_schedule()
{
    if (!m_object->g_Alive()) return;

    float dist_to_actor        = Actor()->Position().distance_to(m_object->Position());

    if ((dist_to_actor > aura_radius + FAKE_MIN_ADD_DIST) && (dist_to_actor < aura_radius + FAKE_MAX_ADD_DIST))
    {

Чудны дела твои...

 

Или это я чего-то не понимаю ?

  • Сочувствую 1

Поделиться этим сообщением


Ссылка на сообщение

Ага, а aura_radius, стало быть, надо ставить отрицательным... Какая прелесть...

И вообще, на кой выносить в конфиг то, что все равно будет игнорироваться ?

 

 

Кстати, я вот тут сегодня подумал, и возникла у меня странная мысль... Вот есть движок. Скажем, 1.0004. Ставим новую версию, и то, что работало, уже вдруг не работает. Надо переписывать. Ладно, хорошо, переписали, поменяли number на string.  Опять новая версия. ЧН. Опять ничего не работает, и переписывать уже не реально. Дальше - больше. ЗП - и опять точно та же картина.

Нет, я понимаю, требовать от Крайзиса или Ведьмака, чтобы на нем работало то, что к ним вообще ни какого отношения не имеет - это странно. Но здесь - даже в рамках minor version - и то совместимости нет даже минимальной. Это вообще нормально ?
 

Поделиться этим сообщением


Ссылка на сообщение

Ну, это явно кто-то извращался. Именно с целью добиться максимальной нечитаемости. Но на масме видали извращения и хуже. Например, самомодификацию кода по ходу выполнения.

 

А вот оптимизация -  чтобы ее сделать для современного процессора, нам просто ни кто не скажет, как.

Через сколько команд можно повторно обращаться к тому же регистру на i3 ? А на ip5 ?

Каково максимальное смещение для j* и одинаково ли оно для всех ?

После какой команды это j* можно делать, а после какой - лучше вставить лишний nop ?

 

P.S. И что, синтаксис обычного, не приплющенного c студия уже не позволяет ? Если так, пора уже, однако, делать нормальный мейкфайл для gcc, и переползать под него.

Поделиться этим сообщением


Ссылка на сообщение

Да как бы я и текстовые редакторы на micro-11 писал, было дело, с поддержкой мультиязычности и G-кода...

Не считая всякого дискового и сетевого.

(micro-11 - это упрощенная версия MACRO-11, для LSI/PDP и наших к1801).

 

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

Поделиться этим сообщением


Ссылка на сообщение

Вот для отправить в ./dev/stdout "Hello World !" или  типа того - асм не лишен смысла.

Хотя сейчас есть awk, да и тот же LUA. В человеческих системах. Для инопланетян там же есть perl.

  • Смешно 1

Поделиться этим сообщением


Ссылка на сообщение

@Malandrinus, РЕДАКТОР с поддержкой формул был написан. А также поддержкой сетевой работы, станков с ЧПУ, и со сжатием. В одном флаконе. Правда, в три руки, и за пару лет. С другой стороны, писалось студиозусами, в свободное от зарабатывания на кусок хлеба с икрой время. ;)

1801вм1, 4 кило памяти, 512x256 8 цветов видео. Отдельно существовала читалка для готовых текстов. Полтора кило размером, функция сборки текста из нескольких кусков.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...