Ошибки в us0.37.5

Bugs (reports, fixes, etc.)

Postby ketmar » 07 Apr 2011, 19:33

ага. но чо -- остались только DX-либы, остальное собралось и слинковалось.
User avatar
ketmar
 
Posts: 36
Joined: 06 Apr 2011, 06:08
Group: Registered users

Postby deathsoft » 07 Apr 2011, 19:34

ketmar wrote:алсо: у тебя есть альтернатива вайну? нет, «купи и поставь винду» — это не альтернатива.

Альтернатива проста, ставишь под буханкой qemu/virtualbox/vmware/parallels (на выбор), ставишь туда винду и радуешься унриалу, либо берешь всякие fuse и прочие эмуляторы под буханку. Унриал это эмулятор под виндовс нт, если в вайне чтото криво эмулируется, то это проблемы исключительно вайна, пусть фиксят.

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

П.С. И создайте отдельную тему - "унриал и буханка" и там буханочные вопросы обсуждайте, т.к. они к багам в унриале отношения не имеют.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby ketmar » 07 Apr 2011, 19:42

ну, пусть админ перенесёт кусок в новую тему же.

так ты патчи для MinGW примешь, нет? я старался минимально ломать, ограничивался по воможности ifdef'овыми хаками.

а вот был бы доступ к cvs — я бы делал патчи к актуальной версии, чтобы мержить было проще.
User avatar
ketmar
 
Posts: 36
Joined: 06 Apr 2011, 06:08
Group: Registered users

Postby deathsoft » 07 Apr 2011, 19:57

ketmar wrote:так ты патчи для MinGW примешь, нет?

Приложи сюда полные сорцы пропатченого унриала, я патчи сам сделаю и посмотрю что там поменяно (может по другому чтото сделаю). Я могу замержить отличия хоть от сорцов самой древней версии (вон недавно делал обработку кворума от версии 0.18)
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby ketmar » 07 Apr 2011, 20:02

ок, как оно заработает — выложу. там риальне в основном вещи типа #ifdef __GNUC__ … #endif и отключение фич, которые мне собирать лень — тоже в стиле #ifndef NO_FEATURE_XXX … #endif.

оно да — собралось, запустилось и даже экран показало, но на клавиатуру не реагирует совершенно — судя по всему, оно намалевало экран и эмуляция тупо висит.
User avatar
ketmar
 
Posts: 36
Joined: 06 Apr 2011, 06:08
Group: Registered users

Postby deathsoft » 07 Apr 2011, 20:10

ketmar wrote:оно да — собралось, запустилось и даже экран показало, но на клавиатуру не реагирует совершенно — судя по всему, оно намалевало экран и эмуляция тупо висит.

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

Но самое главное - это даже не скомпилить, а как это отлаживать, убогий гцц генерирует дебуг инфу в непотребном форамте котоырй кроме его убогого гдб никто не понимает, пдб он генерировать не умеет, поэтому отладка там - это реальная ебля (можно мудится с отладчиком инсайт, единственное что отдаленно похоже на отладчик, но он мега глюкавый и постоянно слетает).
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby ketmar » 07 Apr 2011, 20:23

так я виндовым MinGW и собираю — это ж GCC под винду, только цыгвин тащить не надо; я не под пингвинус портирую пока, я хочу тупо собрать виндовую версию для начала. естественно, с теми хидерами, что дают вместе с MinGW.

я ж тебя не агитирую на GCC переходить. мне бы лишь бы оно у меня GCC собиралось, и чтобы не накладывать всё скопом каждый раз сверху, а тупо править только твои новые добавки, если не собирается очередная версия. поэтому я стараюсь не ломать сборку с другими компиляторами, а нежно всё специфическое в ifdef'ы прятать. ну, кое-где придётся заменить unsigned __int64 на макрос __uint64 и в stddef.h его определить один раз, это да. и параметр sizeof кое-где в скобки обернуть — други компиляторам пофиг, а GCC приятно (иначе он не собирает). в остальном, вроде бы, ничего я не сломал.

алсо, не надо: «криворукий» — это m$vc сотоварищи, gcc как раз стандарты держит. но сие тупой холивар, на самом деле, ну его нафиг.

а, и ещё я хочу впилять назад GetKeyboardState(), потому что в версиях с ним клава под вайном нормально работает. пока что ifdef'ом тоже, лень с опциями заморачиваться.


зыж А-А-А! yes! it works! косячит с клавой (GetKeyboardState() недопилил), но да — вертолётик в airwolf2 летит и даже выстрелить получилось. делаю GetKeyboardState() опцией и выкладываю сырцы.
User avatar
ketmar
 
Posts: 36
Joined: 06 Apr 2011, 06:08
Group: Registered users

Postby ketmar » 07 Apr 2011, 21:36

вот это — собралось MinGW'шкой и заработало.

что вырезано (через ifdef'ы):
модем.
винт.
ay kb leds.
png sshots.
все ассемблерные оптимизации.

есть намётки на возврат GetKeyboardState(), но не работает. DInput работает.

дефайны (обязательные):
NO_PNG_SSHOTS
NO_IDIOTIC_HELP
NO_HDDIO
NO_MODEMS

без них не соберётся.

основные изменения — в stddefs.h

unsigned __int64 везде заменено на __uint64
некоторые аргументы sizeof взяты в скобки, иначе алес.

кажется, я понял причину неработоспособности в нормальном режиме клавы при DInput, и это, похоже, баг в WINE (сорри, deathsoft, я был неправ, виноват не ты).

система сборки моя, но, думаю, вернуть назад в Makefile проблемы не будет. главное — не забыть дефайны.

люблю вас, няшечки.

good luck and happy hacking, Ketmar // Vampire Avalon
Attachments
unreal_gcc.7z
(467.1 KB) Downloaded 612 times
User avatar
ketmar
 
Posts: 36
Joined: 06 Apr 2011, 06:08
Group: Registered users

Postby moroz1999 » 08 Apr 2011, 00:55

deathsoft wrote:Обычно все проблемы связаны с кривыми самописными лоадерами, которые грузят через порты ВГшки, бывает заточка на определенный порядок секторов на диске и на определенное время загрузки каждого сектора. Конекретно в этих программах надо смотреть что в загрузчике делается.

Опытным путём выяснилось, что Chordout работает в 0.37.0 с Fast=1. В 0.37.0 с Fast=0 так же сбрасывается.
В 0.37.5 не запустить ни с fast=0, ни с fast=1.
User avatar
moroz1999
 
Posts: 368
Joined: 02 Aug 2009, 12:26
Group: Registered users

Postby deathsoft » 13 Apr 2011, 00:25

ketmar wrote:вот это — собралось MinGW'шкой и заработало.

Вобщем скомпилировал унриал (патчи выше не юзал) уебищным гцц. Не выкидывал практически ничего (выкинуто только пара мест где используется микрософт асм, потом надо переписать на интринсики). В сраном гцц куча ебли с криворукими win32 инклюдами которые идут в комплекте с мингв (стандартные инклюды эти дятлы юзать не научились (на половине стандартных инклюдов гцц просто сосет)). Пришлось недостающие структуры и дефайны напиздить из микрософтовских инклюдов и запихать все это (временно в sysdefs.h).
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

PreviousNext

Return to Ошибки

Who is online

Users browsing this forum: No registered users and 4 guests

cron