GTA Builder Форум
GTA Vice City => Общие вопросы => Тема начата: Jak łaska za praca от Июня 29, 2014, 07:55:37 pm
-
Собственно видео показывающий конфликт.
(http://www.youtube.com/watch?v=BYo2yXWuEEU#)
-
Не похоже на баг, а похоже на то, что процесс скорее всего подсел, ведь целых по сути две игры, вот и загрузка дольше островов. Может я ошибаюсь, но кто лучше знает, пусть скажет. Обычно если багало бы, то процессы передрались бы между собой и был бы вылет.
-
А Фича в том что загрузка зависит от соседней игры.
Пока вторая не погрузиться первая приморожена в середине и так со многими загрузочными процессами в игре.
-
Хотелось бы проверить это, но как оно вообще пошло в двух окнах, у меня еще на этапе загрузки вторая вылетает в ошибку.
Непонятно, чем они друг другу мешают, хотя вот тут (http://gtaforums.com/topic/477801-maxos-vehicle-loader/page-29?hl=%20mvl) похоже с этим проблем уже нет.
(http://maxorator.com/v/vc-win-mini.jpg)
-
Во всех окнах персонаж находиться близко от отеля. (Но будет кто-то ехать к отелю с геморроем ради снимков. Save?)
Да четыре окна я тоже открывал и игра тоже не выдавала ошибок.
-
Через что запускаешь игру в оконном режиме?
И для чего несколько окон с игрой, ради спортивного интереса, или есть какая-то задумка по этому поводу?
-
1. gta-vc.exe (ddraw.dll proxy)
2.Задумка
-
В оконном режиме с MVL конфликта как на видео обнаружить не удалось, все вроде нормально.
В оконном режиме с d3d8.dll от Spookie вторая загрузка игры подвисает.
В оконном режиме с твоей прокси-dll, как ты говоришь, конфликт получается.
Возможно дело в реализации dll, какие там функции перехватываются, которые связаны с отрисовкой графики.
-
C хабра /post/133956/.
Мне сами окна не нужны(Мне нужна коллизия, машинки, лодки и.т.д ). Без ddraw.dll зависает на середине загрузки как в окне.
MVL создание окна на тод-же exe или Maxo's Vehicle Loader Required?
-
Заметил такую штуку, игра держит img архивы открытыми и при параллельной второй загрузке вылетает ошибка при обращении к ним. Как это интересно исправлено в твоем варианте, чтобы несколько игр грузилось.
-
Да я тоже заметил что он ждёт на GTA3.DIR. Но у меня вторая игра работает из папки cluster2(на всякий случай), вроде если не много подождать вроде застывает на том же месте(не уверен).
Похоже на то что первая игра просто не хочет загружать мир (могу ошибаться) по каким то причинам, радио щёлкая видно обращения а на мир нет.
vice bug continue (http://www.youtube.com/watch?v=DpQOhkqAfME#)
Up: Видео бессмысленно.
-
Попробую открыть дополнительный поток для первой игры и пусть другие копии обобраться к нему с помощью.
typedef NTSTATUS(NTAPI* WinApi_RtlRemoteCall)(
IN HANDLE Thead,
IN PVOID CallSite,
IN ULONG ArgumentCount,
IN PULONG Argument,
IN BOOLEAN PassContext,
IN BOOLEAN AlreadySuspended
);
Это может помочь?
-
Попробовал повторить твой конфликт, все в точности, причем не зависит от плагина, создающего оконный режим. Запускал игру из разных папок на разных дисках, которые обращаются к разным gta_vc.set из разных папок, то есть полностью исключено обращение к одним и тем же файлам, кроме системных. Чудеса начались с загрузки, одна игра подвисает на середине загрузки (там где начинается обращение к img-архивам, у меня начиная с col-файлов), ждет подвисания загрузки второй на том же месте, потом они дружно продолжают грузиться и наконец запускаются как на видео. Потом мне удалось с такими же подвисаниями и переключениями между окнами все-таки разлететься в разные края карты, местность постепенно прорисовывается, хотя не сразу. В итоге обе игры рано или поздно зависают окончательно. Непонятно конечно, вроде разные адресные пространства используются, где они могут пересекаться и конфликтовать.
P.S. Пробовал на стандартной и на очищенной игре без разделения на зоны и острова, одинаково.
-
Я скажу вам ребята больше этого, не только Vice City не позволяет грузить две копии, но и также например комбинации двух разных игр, таких как Vice City и San Andreas. Дело в DirectX, а именно DirectPlay.
-
Vice City и San Andreas. Дело в DirectX, а именно DirectPlay.
А вот тут странность, на сколько я помню GTA SA - обращается к DX9, а вайс к DX8.
-
Дело в DirectX, а именно DirectPlay.
Но ведь какое-то время он успевает нормально отработать, как видно из видео. Можно даже успеть 30 секунд в режиме мультиплеера поиграть. В принципе, если ограничить зону, то может даже и нормально пойдет.
-
У меня возникала идея что Vice city читает файлы из другого потока. Так и есть заблокировав все потоки кроме основного, я вызвал проблему с одной копией игры.
Так-же если остановить одну игру на время все нормально, надо попробовать приостановить другие игры на время считывания или их поток который за это отвечает.
-
Почему я грешу на DirectPlay, дело в том что у меня Windows 8.1 (главное здесь 8 ). У нее некоторые компоненты отключены по умолчанию, скажем, Net Framework 3.5. И вот оказывается, что для запуска Gta всей третьей серии требуется установка DirectPlay, что меня несколько удивило. Как это происходит: запускаешь приложение и вылазит окошко, нужен DirectPlay, ставим, и после этого можно играть (естественно устанавливаешь один раз). Вот такие пироги...Не факт, что это имеет какое-то значение, но для новых Windows GTA (III...до IV) уже считается устаревшей по-ходу.
-
Проблема решаема таким способом в 00686744 нужно выставить индивидуальное значение для каждой игры.
Это значение передаётся в CreateSemaphoreA
-
Да, действительно работает теперь. Хорошо, что разобрался.