23.06.2011, 16:29
23.06.2011, 16:59
Это в хайрез надо для опции работы без диска.
25.06.2011, 18:34
Does anyone know that in what part of exe are coordinates of secondary skill pictures in hero screen. I want to change it
Or, please, tell me at least in what part of exe is file version(UN:V)

Or, please, tell me at least in what part of exe is file version(UN:V)

25.06.2011, 18:41
Al_Mualim, download OllyDebugger, open exe file, right click -> search for all referenced text strings -> right click - find string - "enter def name" and you'll find the code address. Try to experiment.
25.06.2011, 18:49
26.06.2011, 01:58
(25.06.2011 18:41)Berserker Wrote: [ -> ]Try to experiment.Thanks a very very lot

26.06.2011, 03:26
А как насчет поддержки 32-битных вариантов?
26.06.2011, 03:54
Так код указывается 32-битный и автоматически переводится в 16-битный.
И да, та тема закрыта. цитируй сюда.
И да, та тема закрыта. цитируй сюда.
26.06.2011, 12:48
Нет, я про случай когда игра работает в 32битном режиме.

(26.06.2011 03:54)Berserker Wrote: [ -> ]И да, та тема закрыта.Ой

26.06.2011, 14:09
Так для текста хватит 32768 цветов. Тем более, что 32-битные режимы идут модами.

Quote:ОйЗастукал второй раз

27.06.2011, 14:31
27.06.2011, 15:00
(23.06.2011 15:06)Berserker Wrote: [ -> ] Устали ждать 6 секунд до появления окна Героев? Попробуйте тогда Мгновенную загрузку!Расковырял патч.
В моём whiplash2.bin вся эта огромная функция просто не вызывается. У Бараторча тоже. Она не нужна, и я спокойно всю её сначала занопил, а потом и свой код туда написал.
Нужно просто в 0x6995CC занести определённое значение. В зависимости от этого игра будет говорить об отсутствии диска SoD/диска RoE или AB/идти без диска.
27.06.2011, 15:01
Quote:Патч для памяти, позволяющий выбирать кампанейских героев стартовыми на случайной картеА тхт есть? Большой какой-то. В чём было ограничение?
Quote:Расковырял патч.Спасибо за наводку. Интересно, 3 секунды интервал чтения с СД - эвристикой подобранное значение?
В моём whiplash2.bin вся эта огромная функция просто не вызывается. У Бараторча тоже. Она не нужна, и я спокойно всю её сначала занопил, а потом и свой код туда написал.
Нужно просто в 0x6995CC занести определённое значение. В зависимости от этого игра будет говорить об отсутствии диска SoD/диска RoE или AB/идти без диска.
27.06.2011, 15:03
Трудность состоит в том, что список героев создаётся прямо в стеке и всё оттуда берётся вместе с прочим. Помещалось там только 16 (два класса на город) двордов. Я уплотнил структуру списка до байтов, так что теперь можно приписать к одному городу до 64 героев, и все они в списке будут.
Объёмный из-за того, что я сокращал содовский код, чтобы втиснуть правки. Писать длл было неохота.
Исходник без комментариев:
Объёмный из-за того, что я сокращал содовский код, чтобы втиснуть правки. Писать длл было неохота.
Исходник без комментариев:
Spoiler (Click to View)
;*******************************************************************
; Разрешить выбор кампанейского героя стартовым на случайной карте:
583D98 8854082C; MOV BYTE PTR DS:[EAX+ECX+2C],DL
58D448 7509; JNZ SHORT mop.0058D453
58D44A 09C0; OR EAX,EAX
58D44C EB64; JMP SHORT mop.0058D4B2
58D453 0FB654102C; MOVZX EDX,BYTE PTR DS:[EAX+EDX+2C]
58D5D5 EB08; JMP SHORT mop.0058D5DF
58D608 EBD5; JMP SHORT mop.0058D5DF
58D5DA 0FB644082C; MOVZX EAX,BYTE PTR DS:[EAX+ECX+2C]
58D5DF 83F8FF; CMP EAX,-1
58D5E2 894508; MOV DWORD PTR SS:[EBP+8],EAX
58D5E5 7523; JNZ SHORT mop.0058D60A
58D5E7 8B15C45D6A00; MOV EDX,DWORD PTR DS:[6A5DC4]
58D5ED 8B4220; MOV EAX,DWORD PTR DS:[EDX+20]
58D5F0 8B8030080000; MOV EAX,DWORD PTR DS:[EAX+830]
58D5F6 5F; POP EDI
58D5F7 5E; POP ESI
58D5F8 E980000000; JMP mop.0058D67D
583DA5 83F940; CMP ECX,40
58283D EB15; JMP SHORT mop.00582854
58284F 0FB67C082C; MOVZX EDI,BYTE PTR DS:[EAX+ECX+2C]
582854 83FFFF; CMP EDI,-1
582857 0F84F5040000; JE mop.00582D52
58285D 8BC7; MOV EAX,EDI
58285F C1E006; SHL EAX,6
582862 03C7; ADD EAX,EDI
582864 8D04C0; LEA EAX,DWORD PTR DS:[EAX+EAX*8]
582867 8D9C4220160200; LEA EBX,DWORD PTR DS:[EDX+EAX*2+21620]
58286E 807E6500; CMP BYTE PTR DS:[ESI+65],0
58B337 8A44102C; MOV AL,BYTE PTR DS:[EAX+EDX+2C]
58B33E 3A44112C; CMP AL,BYTE PTR DS:[ECX+EDX+2C]
58B293 8A44102C; MOV AL,BYTE PTR DS:[EAX+EDX+2C]
58B29A 3A44112C; CMP AL,BYTE PTR DS:[ECX+EDX+2C]
58C96C 7414; JE SHORT mop.0058C982
58C974 740C; JE SHORT mop.0058C982
58C976 0FB64C08BC; MOVZX ECX,BYTE PTR DS:[EAX+ECX-44]
58C97B 890CB580FB6900; MOV DWORD PTR DS:[ESI*4+69FB80],ECX
58C982 83C07C; ADD EAX,7C
58C985 4F; DEC EDI
58C986 75DF; JNZ SHORT mop.0058C967
58C988 8D8AD4F70100; LEA ECX,DWORD PTR DS:[EDX+1F7D4]
58C98E FF75F0; PUSH DWORD PTR SS:[EBP-10]
58BF0A 8A44082C; MOV AL,BYTE PTR DS:[EAX+ECX+2C]
58BF0E 3A443B2C; CMP AL,BYTE PTR DS:[EBX+EDI+2C]
58BF12 90; NOP
58BF13 90; NOP
58D0F1 8A44082C; MOV AL,BYTE PTR DS:[EAX+ECX+2C]
58D0F5 3A443B2C; CMP AL,BYTE PTR DS:[EBX+EDI+2C]
58D0F9 90; NOP
58D0FA 90; NOP
;*******************************************************************
; Разрешить выбор кампанейского героя стартовым на случайной карте:
583D98 8854082C; MOV BYTE PTR DS:[EAX+ECX+2C],DL
58D448 7509; JNZ SHORT mop.0058D453
58D44A 09C0; OR EAX,EAX
58D44C EB64; JMP SHORT mop.0058D4B2
58D453 0FB654102C; MOVZX EDX,BYTE PTR DS:[EAX+EDX+2C]
58D5D5 EB08; JMP SHORT mop.0058D5DF
58D608 EBD5; JMP SHORT mop.0058D5DF
58D5DA 0FB644082C; MOVZX EAX,BYTE PTR DS:[EAX+ECX+2C]
58D5DF 83F8FF; CMP EAX,-1
58D5E2 894508; MOV DWORD PTR SS:[EBP+8],EAX
58D5E5 7523; JNZ SHORT mop.0058D60A
58D5E7 8B15C45D6A00; MOV EDX,DWORD PTR DS:[6A5DC4]
58D5ED 8B4220; MOV EAX,DWORD PTR DS:[EDX+20]
58D5F0 8B8030080000; MOV EAX,DWORD PTR DS:[EAX+830]
58D5F6 5F; POP EDI
58D5F7 5E; POP ESI
58D5F8 E980000000; JMP mop.0058D67D
583DA5 83F940; CMP ECX,40
58283D EB15; JMP SHORT mop.00582854
58284F 0FB67C082C; MOVZX EDI,BYTE PTR DS:[EAX+ECX+2C]
582854 83FFFF; CMP EDI,-1
582857 0F84F5040000; JE mop.00582D52
58285D 8BC7; MOV EAX,EDI
58285F C1E006; SHL EAX,6
582862 03C7; ADD EAX,EDI
582864 8D04C0; LEA EAX,DWORD PTR DS:[EAX+EAX*8]
582867 8D9C4220160200; LEA EBX,DWORD PTR DS:[EDX+EAX*2+21620]
58286E 807E6500; CMP BYTE PTR DS:[ESI+65],0
58B337 8A44102C; MOV AL,BYTE PTR DS:[EAX+EDX+2C]
58B33E 3A44112C; CMP AL,BYTE PTR DS:[ECX+EDX+2C]
58B293 8A44102C; MOV AL,BYTE PTR DS:[EAX+EDX+2C]
58B29A 3A44112C; CMP AL,BYTE PTR DS:[ECX+EDX+2C]
58C96C 7414; JE SHORT mop.0058C982
58C974 740C; JE SHORT mop.0058C982
58C976 0FB64C08BC; MOVZX ECX,BYTE PTR DS:[EAX+ECX-44]
58C97B 890CB580FB6900; MOV DWORD PTR DS:[ESI*4+69FB80],ECX
58C982 83C07C; ADD EAX,7C
58C985 4F; DEC EDI
58C986 75DF; JNZ SHORT mop.0058C967
58C988 8D8AD4F70100; LEA ECX,DWORD PTR DS:[EDX+1F7D4]
58C98E FF75F0; PUSH DWORD PTR SS:[EBP-10]
58BF0A 8A44082C; MOV AL,BYTE PTR DS:[EAX+ECX+2C]
58BF0E 3A443B2C; CMP AL,BYTE PTR DS:[EBX+EDI+2C]
58BF12 90; NOP
58BF13 90; NOP
58D0F1 8A44082C; MOV AL,BYTE PTR DS:[EAX+ECX+2C]
58D0F5 3A443B2C; CMP AL,BYTE PTR DS:[EBX+EDI+2C]
58D0F9 90; NOP
58D0FA 90; NOP
;*******************************************************************
27.06.2011, 16:50
Нужно будет оптимизатор bin-файлов написать, а то не эффективно копирование с оли + ещё сделать обратный перевод bin - тхт.