-
Data: 2012-10-19 12:37:57
Temat: Re: coś lajtowego - konsola
Od: Baranosiu <r...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia 19.10.2012 kenobi <p...@g...com> napisał/a:
> W dniu piątek, 19 października 2012 11:44:00 UTC+2 użytkownik Baranosiu napisał:
>> Dnia 19.10.2012 kenobi <p...@g...com> napisał/a:
>>
>> > W dniu piątek, 19 października 2012 10:48:01 UTC+2 użytkownik Sławomir Szczyrba
napisał:
>>
>> >> kenobi donosi :
>>
>> >>
>>
>> >> >> > 320x200 512x384 640x480 - ale nie wszystkie
>>
>> >>
>>
>> >> > mozesz powiedziec czy udaje sie odpalic w tych rozdzialkach ?
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> Hm, pod WINE zamroziło mi kartę grafiki (intel) na amen.
>>
>> >>
>>
>> >> Musiałem odpiąć kompa od prądu.
>>
>> >>
>>
>> >> Boję się pytać, JAK ty te tryby graficzne ustawiasz...
>>
>> >>
>>
>> >>
>>
>> > normalnie to jest zwykle wywolanie tak ze
>>
>> > nie ja raczej odpowiadam za tego freeze
>>
>> >
>>
>> > void changeResolution(int width, int height, int bpp, int rate=0)
>>
>> > {
>>
>> > DEVMODE fullscreenSettings;
>>
>> >
>>
>> > EnumDisplaySettings(NULL, 0, &fullscreenSettings);
>>
>> >
>>
>> > fullscreenSettings.dmPelsWidth = width;
>>
>> > fullscreenSettings.dmPelsHeight = height;
>>
>> > fullscreenSettings.dmBitsPerPel = bpp;
>>
>> > fullscreenSettings.dmDisplayFrequency = rate;
>>
>> > fullscreenSettings.dmFields = DM_PELSWIDTH |
>>
>> > DM_PELSHEIGHT |
>>
>> > DM_BITSPERPEL
>>
>> > | DM_DISPLAYFREQUENCY
>>
>> > ;
>>
>> >
>>
>> > bool isChangeSuccessful = ChangeDisplaySettings(&fullscreenSettings,
CDS_FULLSCREEN) == DISP_CHANGE_SUCCESSFUL;
>>
>> >
>>
>> >
>>
>> > }
>>
>> >
>>
>> > i wywolania
>>
>> >
>>
>> > if(Key=='1') changeResolution(320, 200, 32);
>>
>> > if(Key=='2') changeResolution(512, 384, 32);
>>
>> > if(Key=='3') changeResolution(640, 480, 32);
>>
>> > if(Key=='4') changeResolution(800, 600, 32);
>>
>> > if(Key=='5') changeResolution(1024, 768, 32);
>>
>> >
>>
>> > u mnie pod xp bardzo ladnie dziala ale ktos
>>
>> > chyba z win 7 mowil mi ze u niego nie ma reakcji na 1 i 2 dziala tylko 3 (i
pewnie 4 5)
>>
>>
>>
>> A to z tego co pamiętam, to działa mniej więcej tak, że jak wywołasz
>>
>> EnumDisplaySettings(NULL,0,&wskaznik); to tylko inicjujesz utworzenie
>>
>> "tablicy" wszystkich dostępnych trybów, a potem się jedzie pętlą i
>>
>> wywołuje EnumDisplaySettings tylko zamiast 0 jako drugiego argumentu
>>
>> wstawia się kolejno 1,2,3... itd. aż do momentu, kiedy ta funkcja
>>
>> zwróci FALSE (zero), oczywiście po każdym wywołaniu możesz sobie
>>
>> sprawdzić jakie dane funkcja Ci zwróciła w strukturze 'wskaznik' :D
>
> no jeszcze sie tym nie interesowalem za
> duzo
>
> dorzucilem dla testow program console2 do
> tego samego zipa mozna wydawac polecania
> typu
>
> fullscreen 320 200 32
>
> i sprawdzac czy dziala, zakomentowalem tez
> linijeke ustawiajaca rate na zero bo to chyba
> wymuszalo najnizsze refreshrate i bez tego chyba
> lepiej dziala - jakby cos to escape wychodzi
> z progsa i rozdzialaka wraca do normalnej
>
Tu masz jak używać EnumDisplaySettings:
http://msdn.microsoft.com/en-us/library/windows/desk
top/dd162611(v=vs.85).aspx
Szczególną uwagę zwróć na opis pola ipDevMode, PRZED wywołaniem tej
funkcji do pola dmSize trzeba wstawić wielkość struktury DEVMODE i
ustawić dmDriverExtra na dodatkowe dane drivera (lub zero), dopiero po
tym wołasz EnumDisplaySettings(NULL,0,&wskaznik) co spowoduje
"odpytanie" drivera o dostępne tryby. Kolejne tryby przeglądasz
wstawiając jako drugi argument kolejne liczby naturalne (poczynając od
1) i w strukturze 'wskaznik' dostajesz informacje o kolejnych trybach
(i trzeba sprawdzać pole dmFields, czy odpowiednie bity są ustawione
na 1, bo jeśli na 0, to znaczy, że odpowiadające mu pole w strukturze
'wskaznik' nie zostalo ustawione przez driver, a więc zawiera "losowe"
dane). Opis pól dmFields jest tu:
http://msdn.microsoft.com/en-us/library/windows/desk
top/dd183565(v=vs.85).aspx
Jeśli znajdziesz spełniający Twoje wymagania tryb (może pasować
rozdzielczość, ale niektóre karty mają 24-bitowe TrueColor, a inne
32-bitowy), to go ustawiasz przez ChangeDisplaySettings (nie
modyfikujesz nic w strukturze na własną rękę! masz gotowca zwróconego
przez driver a więc coś, co "na pewno" jest obsługiwane!). Opis
ChangeDisplaySettings jest tu:
http://msdn.microsoft.com/en-us/library/windows/desk
top/dd183411(v=vs.85).aspx
Możesz najpierw wywołać ChangeDisplaySettings z CDS_TEST dołożonym do
dwflags aby sprawdzić, czy dana kombinacja przejdzie w trybie
fullscreen :D
Jeśli szukany przez Ciebie tryb nie jest obsługiwany przez kartę
(czyli wywołując EnumDisplaySettings dojdziesz do "FALSE"), to nie ma
sensu "siłowo" wołać ChangeDisplaySettings z na sztywno wpisanymi w
program wartościami :D
Następne wpisy z tego wątku
- 19.10.12 13:27 kenobi
- 19.10.12 13:45 Sławomir Szczyrba
- 19.10.12 13:49 kenobi
- 19.10.12 13:53 kenobi
- 19.10.12 13:54 Baranosiu
- 19.10.12 14:20 kenobi
- 19.10.12 14:33 Baranosiu
- 19.10.12 15:14 Sławomir Szczyrba
- 19.10.12 15:32 kenobi
- 19.10.12 15:44 kenobi
- 19.10.12 16:05 Baranosiu
- 19.10.12 16:27 kenobi
- 19.10.12 16:33 kenobi
- 19.10.12 16:35 Baranosiu
- 19.10.12 16:45 Baranosiu
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-12 Warszawa => PC Hardware Expert / Specjalista PC <=
- 2025-07-12 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2025-07-12 Warszawa => Administrator IT <=
- 2025-07-12 Warszawa => IT Administrator <=
- 2025-07-12 Warszawa => Asystent/tka ds. Administracji <=
- 2025-07-12 Warszawa => Specjalista/stka ds. Organizacji <=
- 2025-07-12 Warszawa => MENA New Business Manager <=
- 2025-07-12 Gdynia => Controlling systems Consultant <=
- 2025-07-12 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-07-12 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-07-12 Warszawa => Dyrektor IT <=
- 2025-07-12 Warszawa => IT Director <=
- 2025-07-12 Czy wypowiedź Kaczyńskiego o Braunie jest skarżalna? ["działa z OBCEJ inspiracji"]
- 2025-07-11 Rejestrator temperatur - termopara, siec
- 2025-07-11 DPD, przeniesienie numerów z a2mobile i z Orange