Pull to refresh

Comments 6

Всегда было интересно - эти вот квадратные колеса/фары/очки/телефонные трубки и тд и тп, все, что должно быть круглым, оно по какой причине квадратное? Я не верю, что потому что арт-директор такой "о, отличные модели, берем в работу!"

На ум приходят, как бывшему проф 3дшнику 3 сценария:

1) Моделили в режиме сглаживания геометрии а редакторе, но не знали, что экспортируется она как есть, а переделывать было поздно, потому что с ассетами продолбались по срокам. Либо моделили NURBS-ами, но не знали, что как полигоны 1-в-1 выгонять нельзя без подготовки, так как они просто по опорным точкам простроятся, которых кот наплакал.

2) Моделили в режиме сглаживания с расчетом на то, что в движке будет какая-то тесселяция простенькая, которая все исправит. Это вот квадратное колесо, пробивающее квадратное крыло прям намекает, что при моделировании там было все круглое и подходящее по размерам. Не нельзя ж настолько быть слепыми и криворукими. Но, по какой-то причине тесселяции нет.

3) Все моделили правильно и вся геометрия правильная, да еще и в нескольких вариантах, с LOD-ами, но, по какой-то причине движок эти лоды пихает в крупные планы.

Все три, в общем-то, это косяки на производстве лютые, но какой из них реальный, или, может, есть четвертый - хто меня мучает со школы. Особенно на контрасте с остальным исполнением игры, которая ну... клевая. Хореография одна чего стоит в боевке.

Загадка дыры.

Отвечу сам себе - сподобился найти причину. Номер три. У игры была хреновая оптимизация на ПК и в ней принудительно врублены лоды на максимум независимо от потребности. И это даже можно вырубить. Эвона как.

Подумав "Я реверс-инженер или кто?", я закинул трейнер в Иду

Эх, ностальгия! Вспомнил свои проекты по полной перекомпиляции бинарного кода, на языке ассемблера: https://erfaren.narod.ru/ . И вроде даже что-то работало :) . А «ИдаПро» ведь может не только создавать ассемблерный листинг из «мышинных» кодов, но на языке Си…

Yo dawg, я задисассемблил трейнер, чтобы не дисассемблить игру. А ещё пришлось интернет перерыть в поисках NoCD, потому что ридми утеряно или, как оно было, "ну вы понели какой версии", потому что других не было.

Автор, то что вы дисассемблер дисассемблеров я понял :) Но всё же, насколько уступает условный CheatEngine в режиме постоянного обновления значения; или может помочь в поиске нужного участка кода? Представляю себе так:

  1. Ищем >, <, = значение (если въедливые разрабы не спрятали)

  2. Смотрим, откуда пишется

  3. Патч

зы: +репа за сводную таблицу. Вот уж не пойму, откуда была такая культура секретности. Всё же идеи Столлмана победили лишь спустя 40 лет?

Я конечно же искал через CE полоску здоровья. Но найти ничего кроме патронов не смог, так как: float, 100% не соответствует макс значению шкалы, а заморачиваться как раньше часами над поиском одного значения мне сильно влом теперь:)

Все NoCD для старых игр есть на gamecopyworld.

Насчёт сравнения CE и патча -для этой игры, увы, просто менять в памяти не выйдет. Структура со значениями для каждого уровня каждый раз по новым адресам, и нужно искать именно сам код, который меняет значение. В CE есть такое, да, но, опять же, поиск значений затруднён.

gamecopyworld

Благослови Господь админа.

Спасибо, понятно.

Sign up to leave a comment.

Articles