Сложные блоки или наследие RedPowe2

Есть некоторые задумки для мода, но делать через модель не вариант, так как изменение текстур.

Во времена существования RedPowe2 лазил по файлам текстур.. Там всякие трансформаторы блур энергии (из низкого в высокое), жидкостный насос и прочие сложные блоки казавшиеся модельками, их текстуры располагались в обычной текстурной сетке мода. Что от части дает наводку что это блоки.

Кто знает как сделать подобные аля блоки, но не уходя в модели и задавая им текстуру блока?

Отчасти кажется что использовался специальный тип рендрера для таких блоков, но непонятно как создавалось анимация(показание работы насоса).
 
Чувак. Чувак. Версии, где надо было так клеить, мертвы. Let it go, dammit.

А Эло переписывала ванильный рендер нахрен. Такие дела.
 
Ну на 164 все делается.. Главное знать что можно..

Хотя я не знаю где так "накурится" можно в нормально плане, что бы переписать рендер игры.
 
А он кривой же. А Эло перфекционист. Как я, блин. Уже три блока готовы, а мод не зарелизен.
 
laz2727 написал(а):
А он кривой же. А Эло перфекционист.
164 кривой?  не очень разбираюсь в терминах..

У меня тоже был мод на 12 блоков. Но стадии готовности он не дошел  из за темы с гуи, и особенно из за темы превращении одного блока в другой со временем.
 
raspad realt написал(а):
Есть некоторые задумки для мода, но делать через модель не вариант, так как изменение текстур.

Во времена существования RedPowe2 лазил по файлам текстур.. Там всякие трансформаторы блур энергии (из низкого в высокое), жидкостный насос и прочие сложные блоки казавшиеся модельками, их текстуры располагались в обычной текстурной сетке мода. Что от части дает наводку что это блоки.

Кто знает как сделать подобные аля блоки, но не уходя в модели и задавая им текстуру блока?

Отчасти кажется что использовался специальный тип рендрера для таких блоков, но непонятно как создавалось анимация(показание работы насоса).
Насос, движок, мельница и подобное используют модели. OBJ-модели. Делается по аналогии с Techne-моделями, в форже даже где-то класс-загрузчик для них был.

laz2727 написал(а):
Чувак. Чувак. Версии, где надо было так клеить, мертвы. Let it go, dammit.

А Эло переписывала ванильный рендер нахрен. Такие дела.
laz2727 написал(а):
А он кривой же. А Эло перфекционист.
Ничего не переписывала, просто обычный кастомный блокрендерер сделала ультранаркоманским способом. В последствии, этот ультранаркоманский способ был сильно переработан и использован в форже.
И судя по коду RP2, она совершенно не перфекционист.

raspad realt написал(а):
164 кривой?  не очень разбираюсь в терминах..
Все версии форжа ниже текущей на данный момент - кривое нерабочее дерьмо. Всегда.
 
Насос, движок, мельница и подобное используют модели. OBJ-модели. Делается по аналогии с Techne-моделями, в форже даже где-то класс-загрузчик для них был.
В том то и дело что если бы это тот же водный насос из RP2 был моделью, его текстура лежала в разделе моделей(как текстура у брони), а не как набор текстур блоков в текстурной сетке.

Просто не хочется делать костыли. Когда блок аля провод из индустриала и те нужна версия его но с всякими выпуклостями и делать в честь это моделька выглядит не очень адекватно.
 
raspad realt написал(а):
Насос, движок, мельница и подобное используют модели. OBJ-модели. Делается по аналогии с Techne-моделями, в форже даже где-то класс-загрузчик для них был.
В том то и дело что если бы это тот же водный насос из RP2 был моделью, его текстура лежала в разделе моделей(как текстура у брони), а не как набор текстур блоков в текстурной сетке.

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

Не советую делать ничего как сделано в RP2. (Кроме листвы деревьев генерирующейся при помощи фракталов, это круто) Он наравне с Rei's Minimap представляет из себя идеальный пример говнокода. (Но у этого есть простейшее объяснение, с профессионализмом писавших никак не соотносящееся)

Провода в IC2 сделаны при помощи кастомного BlockRenderer, насколько я помню. И это простейший способ делать такие провода, в отличии от моделей. А для OBJ моделей вполне нормально использовать по текстуре на сторону, а не на куб, как с моделями из Techne. Просто по той причине что эти два вида моделей предназначены для разных вещей и устроены совершенно по разному.
 
А в чем именно плох код Элораам?
Я делал (и понемногу доделываю) аналог RedPower2 Control. При этом некоторые решения заимствовал из RedPower.
Например, мне нужно было отправлять на клиент содержимое экрана. Экран 75х100 символов, предедавать целиком каждый тик слишком затратно. Тогда отправлять только изменения? Или использовать сжатие? Глянул код RedPower, а там простейшее сжатие, ну и сделал тогда аналогично.
Потом нужно было сделать периферию. Как сделать систему кабелей? Хранить где-то список всех сетей, с входящими в них блоками? А может при каждом обращении к периферии искать требуемый блок, или это слишком затратно? Опять глянул код RedPower, а там второй вариант. Сделал примерно так же как в RedPower, оказалось более-менее нормально.

Эти решения - быдлокод?

Зато прошивка RedPower компов - MineOS, действительно плохо написана. Особенно плохо там сделано сравнение строк.

И я не программист, если что.
 
Asd73 написал(а):
А в чем именно плох код Элораам?
Я делал (и понемногу доделываю) аналог RedPower2 Control. При этом некоторые решения заимствовал из RedPower.
Например, мне нужно было отправлять на клиент содержимое экрана. Экран 75х100 символов, предедавать целиком каждый тик слишком затратно. Тогда отправлять только изменения? Или использовать сжатие? Глянул код RedPower, а там простейшее сжатие, ну и сделал тогда аналогично.
Потом нужно было сделать периферию. Как сделать систему кабелей? Хранить где-то список всех сетей, с входящими в них блоками? А может при каждом обращении к периферии искать требуемый блок, или это слишком затратно? Опять глянул код RedPower, а там второй вариант. Сделал примерно так же как в RedPower, оказалось более-менее нормально.

Эти решения - быдлокод?

Зато прошивка RedPower компов - MineOS, действительно плохо написана. Особенно плохо там сделано сравнение строк.

И я не программист, если что.
Если бы ты ковырялся в РП2 столько же сколько я, то ты бы меня понимал. Я пытался RP2 под 1.6.4 переписать.
Она в своем моде делала просто невероятно охренительные вещи, но настолько кривым и наркоманским способом, что оставалось только удивляться как это вообще умудрялось работать.
Но на самом деле, таким способом она это делала только потому что других способов не было. Forge API на тот момент только набирало обороты и такого широкого функционала как сейчас не имело.
 
И все же, можешь привести пример плохого кода из РП2?

В форте новые слова (токены, определения), как правило, составляются из вызовов ранее написанных слов. Слова в форте - это подпрограмма и соответствующее ей имя. Словарь - связный список из слов. Интерпретатор в форте выделяет из входной строки слова и либо компилирует их либо выполняет. Понятно, что скорость работы интерпретатора определяется скоростью поиска по словарю.
Результат декомпиляции MineOS: http://sillybits.wikispaces.com/MineOS+1.1+Dump
Для поиска по словарю используется слово FIND. Это слово составлено из вызовов других слов, также в нем используется слово STRCMP (сравнение строк).

Слово STRCMP также составлено из вызова других слов. Сначала определяются длины строк, а потом вызывается MEMCMP (сравнение областей памяти).
Если переписать STRCMP на ассемблере (всего-то пару десятков команд), то интерпретатор станет работать в несколько раз быстрее.

Вот это действительно плохой код. Есть что-то хуже этого в РП2?
 
Лол, я действительно не могу назвать что-либо похуже. Убедил.
 
Назад
Сверху