hippocamus
Posts: 517
|
На Depositfiles и на сервере Wog файл отсутствует. С Рапиды скачать можно.
Гм. Я видно отстал от жизни, как далеко уже продвинулся моддинг!
-= подпись Гиппокамуса =-
|
|
02.11.2009 04:13 |
|
fireman
Posts: 1426
|
|
02.11.2009 12:17 |
|
Bes
Posts: 5422
|
кстати, заметил, что под 1.6 платформой при манипуляциях с экранным режимом игра кидается на CD-привод.. (заметил когда в приводе стоял в покое диск с фильмом).
|
|
03.11.2009 16:38 |
|
DracoLich
Posts: 251
|
я так и не понял, как установить эру потому взял феникс
|
|
03.11.2009 18:28 |
|
Berserker
Posts: 16657
|
|
03.11.2009 19:27 |
|
AKuHAK
Posts: 116
|
Можно вопрос, какие действия следует предпринять, чтобы пропатчивать экзешник от Полного Издания Буки (версии 4.0). Оконный режим я нашёл как - просто в шестнадцатиричном редакторе открываешь экзешник ищёшь DDRAW.DLL и заменяешь первую букву. А вто как уменьшить нагрузку на ЦПУ?
(This post was last modified: 03.11.2009 21:55 by AKuHAK.)
|
|
03.11.2009 21:54 |
|
gamecreator
Posts: 7107
|
|
03.11.2009 22:00 |
|
AKuHAK
Posts: 116
|
Вот залил буковский экзешник. Есть ещё правда экзешник из темы Квертуса, но там он какойто другой.
|
|
03.11.2009 22:20 |
|
gamecreator
Posts: 7107
|
|
03.11.2009 22:51 |
|
AKuHAK
Posts: 116
|
Патчи точно не портабельны я уже проверил. Ну не знаю просто она мне всегда нравилась как-то. Всё-таки версия новее. И к тому же я не прошу многого - мне только надо узнать адреса, в которых надо провести изменения. В 4.0 версии есть привязка к диску, чтобы смотреть оригинальные видеоролики к кампаниям - мне всегда это было интересно. Это не всегда удобно конечно, да и главное меню оставляет желать лучшего, но вот хочется мне.
|
|
03.11.2009 22:56 |
|
gamecreator
Posts: 7107
|
|
03.11.2009 23:11 |
|
AKuHAK
Posts: 116
|
У меня они есть, дело в том что я даже не знаю, ЧТО именно я должен искать - в патче указаны лишь адреса и новые значения, старые значения не указаны. Вот например код для 32бит (действующий):
Code:
; НАЗВАНИЕ: Оконный 32-битный цветовой режим
; ВЕРСИЯ: 1.0
; АВТОР: Bourn
; ОПИСАНИЕ: Позволяет играть в оконном режиме при глубине цвета в 32 бита
; EXE: 4.0
; DATA "DDRAW.dll" => "ZDRAW.dll"
25D06C 5A
; 25C7D8 5A для sod v3.2
; 25C798 5A для экзешника от Квертуса
Для ЦПУ - посложнее, там в скобках указаны операции ассемблера, а как найти их аналог в 16 ричном виде. А хотя ты навёл меня на мысль - можно поискать в старых версиях файла. Хммм.. Пойду пробовать.
Попробовал - ничего не вышло. Нет адреса-то я нашёл, но в командах то переход на другие дреса, которые тоже сдвинулись, а вот найти сдвинутые уже выше моих сил. Вот адреса - может придут великие программисты и помогут мне с моей проблемой.
Code:
; НАЗВАНИЕ: CPU
; ВЕРСИЯ: 1.0
; АВТОР: Berserker
; ОПИСАНИЕ: Уменьшает нагрузку на процессор с 100% до 1-3% путём добавления вызова "Сон" в цикл получения сообщений ОС
; EXE: 4.0
; 4F8625:
; NOP(6) => CALL NEAR [DWORD 63A0F8]
; NOP(3) => SUB ESP,1C
; NOP(2) => JMP SHORT 004F8646
; 0F8625 FF15F8A0630083EC1CEB16 у sod3.2
0F8345 FF15F8A0630083EC1CEB16
; 4F8641:
; MOV EBP,ESP; SUB ESP,1C => JMP 004F88A1
; 0F8641 E95B020000 у sod3.2
0F8361 E95B020000
; 4F88A1:
; NOP(2) => MOV EBP,ESP
; NOP(2) => PUSH 1
; NOP(6) => PUSH [DWORD 69965C]
; NOP(5) => JMP 004F8625
; 0F88A1 8BEC6A01FF355C966900E975FDFFFF у sod3.2
0F85C1 8BEC6A01FF355C966900E975FDFFFF
(This post was last modified: 04.11.2009 00:28 by AKuHAK.)
|
|
03.11.2009 23:21 |
|
Berserker
Posts: 16657
|
|
04.11.2009 00:39 |
|
gamecreator
Posts: 7107
|
AKuHAK, последовательность действий такая:
1) берешь непатченый экзешник 3.2
2) ищешь адрес, по которому заменяются байты
3) выбираешь небольшую область вокруг этого адреса (думаю, 16 байт должно хватить)
4) берешь экзешник 4.0
5) ищешь взятую область в нем (главное чтобы эта область была одна на весь экзешник. если не одна, то можно взять область побольше. если нет такой вообще, поэкспериментируй с положением области (т.е. когда искомый байт посередине области, самый левый. самый правый и т.п.) относительно этого байта (но он обязательно должен в нее входить) или возьми размер поменьше)
6) определяешь байт, который нужно пропатчить (в обоих областях его относительное расположение одинаково)
7) подменяешь его адрес в текстовике
8) переводишь текстовик в бинарник
9) патчишь
When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
|
|
04.11.2009 00:51 |
|
AKuHAK
Posts: 116
|
(04.11.2009 00:51)gamecreator Wrote: 5) ищешь взятую область в нем (главное чтобы эта область была одна на весь экзешник. если не одна, то можно взять область побольше. если нет такой вообще, поэкспериментируй с положением области (т.е. когда искомый байт посередине области, самый левый. самый правый и т.п.) относительно этого байта (но он обязательно должен в нее входить) или возьми размер поменьше)
6) определяешь байт, который нужно пропатчить (в обоих областях его относительное расположение одинаково)
7) подменяешь его адрес в текстовике
8) переводишь текстовик в бинарник
9) патчишь
5) Нашёл - думаешь всё так просто? там эта область не идентична - часть команд немного другая - сдвиг да нашёл - примерно на 2E0 байт назад.
6) Благополучно определил эти адреса
7) Этого не хватит - в инструкциях переход на другие байты а переводить ассемблер в гекс-коды я не умею (точнее мне лень искать как это делать на ночь) даже если предположить, что они тоже смещаются на 2E0 байт назад.
При выполнение последних двух пунктов екзешник вылетает с ошибкой память не может быть read/
|
|
04.11.2009 01:48 |
|