Сейчас на форуме: asfa, Rio, _MBK_, Adler (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Как научить видеть игру широкоформатные мониторы?
<< . 1 . 2 . 3 .
Посл.ответ Сообщение


Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 23 декабря 2012 19:07
· Личное сообщение · #1

Здравствуйте. Нашёл CD древней игрушки, но после установки, заметил, что разработчики ограничились только самыми распространёнными разрешениями экрана. Возможно ли сделать каким-либо образом поддержку 1366х768, 1920х1080? Прикладываю файлы кинфигуратора разрешения.

пароль: exelab

4272_23.12.2012_EXELAB.rU.tgz - p3.rar

-----
Ламер - не профессия :))




Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 07 апреля 2013 13:10
· Личное сообщение · #2

Создай картинку с текстурой нужного размера и в ini укажи размеры новые. В блоке для 1024х768 (для которого поменял константы)




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 07 апреля 2013 13:39 · Поправил: aspirin
· Личное сообщение · #3

Veliant пишет:
Создай картинку с текстурой нужного размера

Куда мне эту картинку положить, в папку scripts, или ресторатором в .exe добавить? Кстати, как вы вытащили папку scripts, я открыл в рестораторе .ехе, и не могу просмотреть ни одного даже.bmp? И тем более, не вижу там упоминаний об скриптах.

-----
Ламер - не профессия :))




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 07 апреля 2013 14:15
· Личное сообщение · #4

Прочитал название темы - у меня тоже такая проблема существует.
Сделал DUNE 2009 Patch (http://youtu.be/gyeDYJn6EBk) - посыпались требования пропатчить разрешение.
Вообщем с SetDisplayMode разобрался, вожусь с растягиванием на весь экран. Вопрос за мышку - она бегает только в пределах прямоугольника стандартного VGA разрешения. Патчил CreateWindowEx - все равно не выходит.




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 07 апреля 2013 14:27 · Поправил: aspirin
· Личное сообщение · #5

Вот блок текстур, и ScreenGame:

Code:
  1. ; rechts unten - 1024
  2. [TEX8]
  3. TextureFile=images/HauptscreenE1024.bmp
  4. UseAlpha=false
  5. Count=1
  6. OffsetNSize0=0 0 284 168
  7. TextureFile=images/HauptscreenE1920.bmp
  8. UseAlpha=false
  9. Count=1
  10. OffsetNSize0=0 0 284 52


Пачту под 1920х1080.

Code:
  1. ; rechts unten - 1024
  2. [ANIM43]
  3. Count=1
  4. FrameCount0=1
  5. Frame0=8 0 0 0 0 284 168 0
  6. TimerCount=1
  7. Timers=./scripts/screenGame.ini
  8. TimerIDs=0
  9. Pos=1636 580
  10. Count=1
  11. FrameCount0=1
  12. Frame0=8 0 0 0 0 284 52 0
  13. TimerCount=1
  14. Timers=./scripts/screenGame.ini
  15. TimerIDs=0
  16. Pos=1636 280


Размер текстуры куда надо вписал или нет?
По идее, сама текстура должна быть размерами 284x332, с такими размерами уже сделал ,bmp-24 разрядную текстуру, т.к. 1080-748(Аним43) =332. Я написал в офсет размер 52 + позиция в screengame - 280 = 332. До меня не доходит, как правильно разделить цифры?

ADD: Пока чёрная дырка так и остаётся чёрной.

-----
Ламер - не профессия :))




Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 07 апреля 2013 14:34
· Личное сообщение · #6

Ресурсы не в exe, а в отдельном файле лежат. Да и вообще игра сначала ищет их в собственном каталоге, и только если не находит читает их из ресурсного файла.




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 07 апреля 2013 14:37
· Личное сообщение · #7

Veliant пишет:
Ресурсы не в exe, а в отдельном файле лежат

В отдельном, это каком?
В общий каталог я сбросил картинку под именем HauptscreenE1920, TEX8 и ANIM43 добавил пару строк, и пока не работает, что ещё я не сделал?

-----
Ламер - не профессия :))




Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 07 апреля 2013 14:51
· Личное сообщение · #8

Я смотрю у вас с "подумать" совсем проблема.

Почему TEX8 и ANIM43 стали уже по высоте если как сами говорит нужно наоборот лишнее место убрать?
И почему у ANIM43 изменилось положение по Y? Оно как было так и останется, у него только высота должна увеличиться.




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 07 апреля 2013 16:34 · Поправил: aspirin
· Личное сообщение · #9

Учитываем размер стандартной текстуры ANIM43 в разрешении 1920х1080, получаем 600 + 168 по вертикали и новая 768 + 312, итого 1080.
Как это выглядит в коде:

Code:
  1. ; rechts unten - 1024
  2. [ANIM43]
  3. Count=1
  4. FrameCount0=1
  5. Frame0=8 0 0 0 0 284 168 0
  6. TimerCount=1
  7. Timers=./scripts/screenGame.ini
  8. TimerIDs=0
  9. Pos=1636 600
  10. Count=1
  11. FrameCount0=1
  12. Frame0=8 0 0 0 0 284 312 0
  13. TimerCount=1
  14. Timers=./scripts/screenGame.ini
  15. TimerIDs=0
  16. Pos=1636 768


Code:
  1. ; rechts unten - 1024
  2. [TEX8]
  3. TextureFile=images/HauptscreenE1024.bmp
  4. UseAlpha=false
  5. Count=1
  6. OffsetNSize0=0 0 284 168
  7. TextureFile=images/HauptscreenE1920.bmp
  8. UseAlpha=false
  9. Count=1
  10. OffsetNSize0=0 0 284 312


При таком варианте всё тот же чёрный угол, Veliant, я близок к цели, как на ваш взгляд?

ADD: Пробовал менять путь к своей текстуре TextureFile=./scripts/HauptscreenE1920.bmp, но также - безрезультатно.

-----
Ламер - не профессия :))





Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 09 апреля 2013 20:26
· Личное сообщение · #10

На текстуру мне уже почти всё равно, решил поиграть без неё. Временами всё-таки падаю, и вот тут:

Code:
  1. 006389E2      8BC0          MOV EAX,EAX
  2. 006389E4  /$  813D FC4C6C00 CMP DWORD PTR DS:[6C4CFC],1FE
  3. 006389EE  |.  7C 51         JL SHORT 00638A41
  4. 006389F0  |.  813D F84C6C00 CMP DWORD PTR DS:[6C4CF8],1FE
  5. 006389FA  |.  75 0A         JNE SHORT 00638A06
  6. 006389FC  |.  C705 F84C6C00 MOV DWORD PTR DS:[6C4CF8],0
  7. 00638A06  |>  8B2D E44C6C00 MOV EBP,DWORD PTR DS:[6C4CE4]
  8. 00638A0C  |.  8B1D F84C6C00 MOV EBX,DWORD PTR DS:[6C4CF8]
  9. 00638A12  |.  C1E3 02       SHL EBX,2
  10. 00638A15  |.  8D1C5B        LEA EBX,[EBX*2+EBX]
  11. 00638A18  |.  03DD          ADD EBX,EBP
  12. 00638A1A  |.  8B4B 08       MOV ECX,DWORD PTR DS:[EBX+8]
  13. 00638A1D  |.  83F9 00       CMP ECX,0
  14. 00638A20  |.  75 18         JNE SHORT 00638A3A
  15. 00638A22  |.  8B2B          MOV EBP,DWORD PTR DS:[EBX]
  16. 00638A24  |.  33C0          XOR EAX,EAX
  17. 00638A26  |.  66:8B45 00    MOV AX,WORD PTR SS:[EBP]
  18. 00638A2A  |.  8B2D E04C6C00 MOV EBP,DWORD PTR DS:[6C4CE0]
  19. 00638A30  |.  C74485 00 000 MOV DWORD PTR SS:[EAX*4+EBP],0
  20. 00638A38  |.  EB 07         JMP SHORT 00638A41
  21. 00638A3A  |>  C741 04 00000 MOV DWORD PTR DS:[ECX+4],0
  22. 00638A41  |>  33C0          XOR EAX,EAX
  23. 00638A43  |.  66:8B06       MOV AX,WORD PTR DS:[ESI]                         - ПАДАЕМ ТУТ.
  24. 00638A46  |.  8B2D E44C6C00 MOV EBP,DWORD PTR DS:[6C4CE4]
  25. 00638A4C  |.  8B1D F84C6C00 MOV EBX,DWORD PTR DS:[6C4CF8]
  26. 00638A52  |.  C1E3 02       SHL EBX,2
  27. 00638A55  |.  8D1C5B        LEA EBX,[EBX*2+EBX]
  28. 00638A58  |.  03DD          ADD EBX,EBP
  29. 00638A5A  |.  8B2D E04C6C00 MOV EBP,DWORD PTR DS:[6C4CE0]
  30. 00638A60  |.  8B4C85 00     MOV ECX,DWORD PTR SS:[EAX*4+EBP]
  31. 00638A64  |.  83F9 00       CMP ECX,0
  32. 00638A67  |.  74 03         JE SHORT 00638A6C
  33. 00638A69  |.  8959 08       MOV DWORD PTR DS:[ECX+8],EBX
  34. 00638A6C  |>  895C85 00     MOV DWORD PTR SS:[EAX*4+EBP],EBX
  35. 00638A70  |.  8933          MOV DWORD PTR DS:[EBX],ESI
  36. 00638A72  |.  894B 04       MOV DWORD PTR DS:[EBX+4],ECX
  37. 00638A75  |.  C743 08 00000 MOV DWORD PTR DS:[EBX+8],0
  38. 00638A7C  |.  FF05 F84C6C00 INC DWORD PTR DS:[6C4CF8]


кто может сказать, что делает этот код, и как поправить, чтобы вылета не было?

-----
Ламер - не профессия :))




Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 09 апреля 2013 20:35
· Личное сообщение · #11

я не пойму почему дублируете параметры в ini файлах? Удалите все от 1024 и оставить для 1980 значения




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 09 апреля 2013 21:09 · Поправил: aspirin
· Личное сообщение · #12

Veliant пишет:
я не пойму почему дублируете параметры в ini файлах?

Так 1-ая запись - это параметры для родных текстур, а 2-ая - мною созданная текстура. Попробую в ближайшие дни поиграться с параметрами.
Veliant, к вам, как с опытному специалисту основной вопрос, почему игра падает? И как это исправить? Пропатчены разрешения только по вашим адресам. Всё работает какое-то время, нормально сохраняет, загружается, но в процессе игры идут вылеты, и при том, не сразу после запуска.

1. Прикладываю пропатченный файл: http://rusfolder.com/35909378

-----
Ламер - не профессия :))





Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 11 апреля 2013 19:38 · Поправил: aspirin
· Личное сообщение · #13

Может такое быть, что если забыть в нужном месте пропатчить константу, то игра будет вылетать, как только к искомому участку кода возникнет обращение? Кто по IDA PRO специалист, подскажите, как из общего списка выделить и пропатчить все только нужные константы?

ADD: Только что пропатчил 1 место, и 2 пока под вопросом, к сожалению, без чёткого представления о назначении кода:

Code:
  1. 00545E82  |> /8BDF          /MOV EBX,EDI
  2. 00545E84  |. |235C24 18     |AND EBX,DWORD PTR SS:[ARG.2]
  3. 00545E88  |. |3BDF          |CMP EBX,EDI
  4. 00545E8A  |. |75 07         |JNE SHORT 00545E93
  5. 00545E8C  |. |66:C700 8007  |MOV WORD PTR DS:[EAX],780
  6. 00545E91  |. |EB 19         |JMP SHORT 00545EAC
  7. 00545E93  |> |8BDF          |MOV EBX,EDI
  8. 00545E95  |. |23D9          |AND EBX,ECX
  9. 00545E97  |. |2BDF          |SUB EBX,EDI
  10. 00545E99  |. |F7DB          |NEG EBX
  11. 00545E9B  |. |1BDB          |SBB EBX,EBX
  12. 00545E9D  |. |81E3 00FDFFFF |AND EBX,FFFFFD00
  13. 00545EA3  |. |81C3 38040000 |ADD EBX,438    - было 300. Вероятно,тут ошибка меньшей вертикали и возникала
  14. 00545EA9  |. |66:8918       |MOV WORD PTR DS:[EAX],BX
  15. 00545EAC  |> |03FF          |ADD EDI,EDI
  16. 00545EAE  |. |83C0 10       |ADD EAX,10
  17. 00545EB1  |. |4A            |DEC EDX
  18. 00545EB2  |.^\75 CE         \JNE SHORT 00545E82


И второй фрагмент:

Code:
  1. 00647419  |. /7F 31         JG SHORT 0064744C
  2. 0064741B  |. |74 2A         JE SHORT 00647447
  3. 0064741D  |. |3BCB          CMP ECX,EBX
  4. 0064741F  |. |74 26         JE SHORT 00647447
  5. 00647421  |. |3BCF          CMP ECX,EDI
  6. 00647423  |. |74 19         JE SHORT 0064743E
  7. 00647425  |. |81F9 00020000 CMP ECX,200
  8. 0064742B  |. |74 4D         JE SHORT 0064747A
  9. 0064742D  |. |81F9 00030000 CMP ECX,300  - тут пока не правил, есть сомнение в назначении этой константы
  10. 00647433  |. |75 2B         JNE SHORT 00647460
  11. 00647435  |. |C745 F8 02000 MOV DWORD PTR SS:[LOCAL.2],2
  12. 0064743C  |. |EB 4C         JMP SHORT 0064748A
  13. 0064743E  |> |C745 F8 04000 MOV DWORD PTR SS:[LOCAL.2],4
  14. 00647445  |. |EB 43         JMP SHORT 0064748A
  15. 00647447  |> |8975 F8       MOV DWORD PTR SS:[LOCAL.2],ESI
  16. 0064744A  |. |EB 3E         JMP SHORT 0064748A
  17. 0064744C  |> \81F9 80070000 CMP ECX,780
  18. 00647452  |.  74 2F         JE SHORT 00647483
  19. 00647454  |.  81F9 00060000 CMP ECX,600
  20. 0064745A  |.  74 1E         JE SHORT 0064747A
  21. 0064745C  |.  3BCA          CMP ECX,EDX
  22. 0064745E  |.  74 23         JE SHORT 00647483
  23. 00647460  |>  E8 535DFFFF   CALL 0063D1B8


Ориентировался на ключевую константу рядом 780 (горизонталь). Пока 15 минут тестирования, полёт нормальный, на чёрный угол уже не обращаю внимания.

-----
Ламер - не профессия :))





Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 11 апреля 2013 22:01 · Поправил: aspirin
· Личное сообщение · #14

Veliant пишет:
я не пойму почему дублируете параметры в ini файлах? Удалите все от 1024 и оставить для 1980 значения

Оставляю только новые значения:

Code:
  1. TextureFile=./scripts/HauptscreenE1024.bmp
  2. UseAlpha=false
  3. Count=1
  4. OffsetNSize0=0 0 284 312


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

-----
Ламер - не профессия :))




Ранг: -2.1 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 23 мая 2013 10:24
· Личное сообщение · #15

DenCoder пишет:
Code:
  1. struct IDirectDraw_Functions
  2. {
  3.   /*** IUnknown methods ***/
  4.   DWORD QueryInterface; //(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
  5.   DWORD AddRef; //(THIS) PURE;
  6.   DWORD Release; //(THIS) PURE;
  7.   /*** IDirectDraw methods ***/
  8.   DWORD Compact; //(THIS) PURE;
  9.   DWORD CreateClipper; //(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
  10.   DWORD CreatePalette; //(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
  11.   DWORD CreateSurface; //(THIS_ LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *)
  12.   ....



Как был получен такой вывод? Был ли это скрипт, который парсит DECLARE_INTERFACE_ в .h файлах?


<< . 1 . 2 . 3 .
 eXeL@B —› Вопросы новичков —› Как научить видеть игру широкоформатные мониторы?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати