Portál AbcLinuxu, 5. května 2025 03:09
Nové verze Wine: 1.6. Když aplikace špatně používá API. Podpora aplikací závislých na ovladači. Tři tečky nebo trojtečka? Podpora aplikací pro Windows RT od jádra 3.11. Změny v databázi aplikací.
Od posledního vydání Zpravodaje o víně vyšly čtyři -rc verze následované finální verzí Wine 1.6. V -rc verzích šlo jen o malé opravy chyb, podíváme se tedy jen na krátké oznámení verze 1.6 (seznam změn je opravdu velmi dlouhý).
Toto vydání představuje 16 měsíců vývoje a okolo 10 000 jednotlivých změn. Mezi hlavní noviny patří nový ovladač Mac, úplná podpora pro průhlednost oken a nový balíček Mono pro podporu aplikací v .NET.
Reimplementovace API z jiných operačních systémů je náročný úděl – o tom není pochyb. Dokumentace ne vždy bývá nejlepší, někdy si může dokoce i protiřečit. Úplně nejhorší ale je, když nějaká aplikace závisí na chování původního API, které nebylo ani záměrem autorů tohoto API. Emulace těchto detailů se přitom může ukázat dosti náročnou. Člověk by rád řekl, že aplikace je prostě rozbitá, ale to není řešení. Michael Casadevall:
Pracuji na tom, aby Sid Meier's Civilization V (Civ5) fungovalo pod Wine relativně bez problémů. Největším problémem je to, že instalace největšího expansion packu pod Wine hru kompletně rozbila, pokud jsem nepoužil ošklivé hacky. Hlavním problémem je konkrétně to, že Civ5 načítá datové souboru v pořadí, jak je vrací Find{First,Next}File() a zblázní se, pokud je toto pořadí narušeno. Svá zjištění jsem popsal v bugu #34122.
Začal jsem hledat možné řešení, ale nejsem si jistý, co vlastně dělat. Na stránce na MSDN je jasně napsáno, že pořadí závisí na použitém systému souborů a googlení napovídá, že zatímco NTFS vrací soubory víceméně v abecedním pořadí, FAT32 je vrací podle data vytvoření a u síťových jednotek je to sázka do loterie. Dokonce se mi podařilo v Civ5 vyvolat podobné chyby tím, že jsem jej spustil ze síťového disku (kde jsem si předtím ověřil, že soubory nevrací seřazené). FindFirstFile v podstatě volá NtQueryDirectoryFile, které pak buď použije systémové volání nebo readdir, aby získalo seznam souborů v adresáři.
Michael dále popisuje, kde by provedl případné seřazení, ale celé mu to přijde špatně obzvláště, když jde o chybu v aplikaci, nikoliv ve Wine jako takovém. Na druhou stranu je pravda, že drtivé většině lidí na Windows hra bude fungovat. Na obhajobu takového „hacku“ dále říká: [...] nedivil bych se, kdyby se takový problém objevil i jinde.
Rico Schüller přišel se spoustou dalších otázek. Týkají se hlavně toho, jak by se chovalo NTFS pod Linuxem a jestli se to opravdu rozbije i na FAT32 (které se na Windows přece jen najde spíš než ext3). Kromě doporučení obrátit se na technickou podporu hry dodává:
Řekl bych, že dělání změn ve funkcích Find* je špatné, protože se zcela jistě najde aplikace, která bude záviset na pořadí podle data vytvoření na oddílech s FAT32...
Damjan Jovanovic by na to šel trochu jinak a pomohl si speciálním systémem souborů na bázi FUSE, který by řadil názvy souborů, jako je to na Windows. To se ovšem Michaelovi vůbec nelíbí – hlavně kvůli tomu, jak vinou takové hlouposti utrpí výkon. Přichází ale s jiným nápadem – zatím se k němu sice nikdo nevyjádřil, pravděpodobnost jeho přijetí je ale jistě vyšší, než kdyby se měla dělat úprava Wine s dopadem na všechny aplikace. Michael:
Ve světě Windows jsou tři věci, co se dají udělat v případě rozbité kompatibility s aplikací: změnit kód systému, napsat shim [obalení] nebo opatchovat aplikaci.
V současné době ve Wine můžeme měnit jen naše DLL; patchování aplikací za běhu je právně problematické a křehké. Proto, když je nějaká aplikace podobně rozbitá, nemáme pořádný způsob, jak to napravit. Proto navrhuji rozšířit Wine.
Během včerejších večerních debat se pracovalo na implementaci apphelp.dll, které obsahuje funkčnost databáze shimů. Dotyčný autor neměl v plánu ve Wine implementovat používání shimů, ale mám za to, že časem se bude objevovat více a více případů, kdy shim bude lepším řešením než zásah do knihoven Wine.
Michael na závěr uvedl, že v nejbližších dnech nebude mít čas se tomu do hloubky věnovat, ale chce navrhnout alespoň kus kódu, který by do budoucna mohl posloužit. Dále se pokusí problém řešit s výrobcem hry.
Wine se za uplynulá léta dostalo do stavu, kdy šance na fungování aplikace jsou nemalé. S aplikacemi závisejících na vlastnostech velmi specifických pro původní cílový systém to ale nebude nikdy procházka růžovým sadem. Pavel Píša problém s jednou takovou řeší; má ale tu výhodu, že má přístup ke zdrojovým kódům:
Spravujeme open source chromatografický software CHROMuLAN. Bohužel je napsaný v Delphi (ve verzi 6) a nemáme prostředky na portování na Linux, ačkoliv je Linux už 18 let naší hlavní vývojovou platformou pro návrh a vývoj embedded hardwaru. Naším dlouhodobým cílem je aplikaci přeportovat na Lazarus/FPC nebo dokonce přepsat do Qt, ale na tom teď dělat nemůžeme.
CHROMuLAN pod poslední verzí Wine naštěstí běží docela dobře. Máme ale problém s přístupem k hardwaru pro získávání dat.
Zařízení jsou k počítači připojena přes speciální protokol (uLAN) na síti RS-485. Máme dokonce ovladače pro Linux (první platforma), Windows (dokonce ozkoušeno na 64 bitech) a další systémy. Máme všechno pro PCI, konvertory RS-232/485 a přídavné karty PCI RS-485. Celé softwarové vybavení dokonce funguje pod ReactOS v QEMU. Wine je ale příjemnějším řešením, pokud někdo používá Linux jako svůj hlavní desktopový systém.
Pavel dále popisuje úsilí, co doposud vynaložil:
Napsal jsem DLL/SYS jako ovladač podporující veškerá IRP_MJ_xxx a ioctl ve stylu ovladače KMD/WMD a implementoval jsem funkce pomocí volání jejich ekvivalentů nad /dev/ulan.
Ale nefunguje to. Do ul_drv.sys se dostávají jen ioctl a i ta selhávají, protože kontext není správně nastaven. Ukazatel irpStack->FileObject je nastaven na 0x66666666.
Zbytek jeho žádosti o radu se zaměřuje na oblasti Wine, kde se pokusil najít obdobnou situaci, kterou by se mohl inspirovat. Na e-mail zareagoval Vincent Povirk:
Moc o tom nevím, ale zní to, že ovladač je správným řešením. Jde ale asi jen o to, že podpora ovladačů ve Wine není na fungování toho, co potřebuješ, dostatečně dobrá. Méně násilným řešením by tedy asi bylo vylepšit podporu ovladačů ve Wine, nejlépe do stavu, kdy stejný ovladač může fungovat na Windows a pod Wine (ale nevím, zda je to možné).
Dále osvětluje možná úskalí a uzavírá to slovy:
Protože si nemůžeš dovolit trávit spousty času nad vylepšováním podpory ovladačů ve Wine, bude pro podporu tvé aplikace nejlepším řešením si asi speciálně pro sebe upravit Wine.
Juan Lang má ale lepší nápad použitelný právě v situacích, kdy je při ruce zdrojový kód aplikace pro Windows:
Dříve se v podobných situacích navrhovalo napsat linuxovou aplikaci, která přímo komunikuje s ovladačem a poskytuje rozhraní přes soket, a následně používat sokety z programu pro Windows pro komunikaci se zařízením. To je obvykle dostatečně přímočaré a člověk se nemusí tak moc vrtat ve vnitřnostech Wine, aby to rozchodil.
Vincenta napadlo ještě elegantnější řešení pomocí winelib:
Winelib DLL poskytující API pro přímý přístup k zařízení (kterou můžete použít přímo z obyčejného programu pro Windows) může být snazší než oddělený proces, pokud je člověk ochoten upravovat aplikaci.
Oba návrhy připadají Pavlovi zajímavé. Ten na závěr doplnil výsledky své analýzy toho, co by bylo nutné udělat pro podporu ovladačů pro Windows a kde je ve zdrojových kódech ReactOS možné hledat inspiraci.
Na mailing listu Wine se objevil dotaz, zda se mají v překladech používat pro vyjádření výpustky tři oddělené tečky (...) nebo znak Unicode pro „trojtečku“ (…). Ukazuje se totiž, že se ve Wine používají tři tečky všude, až na češtinu a tradiční čínštinu, kde se používá Unicode trojtečka.
Dmitry Timoshkov říká, že by se mělo zůstat u používání obyčejných tří teček, a to kvůli kompatibilitě s bitmapovými fonty, fonty bez znaku výpustky a ANSI API (GetMenuItemInfoA/GetWindowTextA). Nakonec se ale ukazuje, že odpověď na tuto otázku už mají, a to v Microsoftu. Ten poskytuje volně ke stažení příručku pro překladatele do různých jazyků. Konkrétně u češtiny se píše:
Výpustka se běžné používá v anglickém i českém uživatelském rozhraní pro označení prvku (jako je tlačítko nebo položka v menu), který spouští dialogové okno, kde člověk zadává další údaje (jako Browse... = (+) Procházet...). Vzhledem k zachování kompatibility by v těchto případech neměl být používán znak výpustky (ALT+0133). Místo toho použijte tři tečky.
Drobností, která už proběhla i zprávičkami na AbcLinuxu, je úplná podpora aplikací pro Windows RT na Linuxu/Wine (ARM). Díky commitu zařazenému do Linuxu 3.11 se registr TPIDRURW považuje za TLS registr. Jeho hodnota je tedy ukládána/obnovována při přepínání kontextu mezi vlákny v systému.
Program | Původní stav/verze | Nový stav/verze | Změna |
Dead Island Riptide 1.4.0 (via Steam) | Gold (1.5.30) | Platinum (1.6) | +1 |
3D Studio MAX 9.x | Bronze (1.4) | Platinum (1.6) | +3 |
Internet Explorer 7.0 (64-bit) | Garbage (1.3.27) | Bronze (1.6-rc5) | +1 |
Max Payne Steam | Platinum (1.5.30) | Silver (1.6-rc5) | -2 |
Halo: Combat Evolved 1.0x | Gold (1.5.18) | Platinum (1.6-rc4) | +1 |
Mirror's Edge Steam | Bronze (1.5.31) | Silver (1.6-rc5) | +1 |
Grand Theft Auto III Steam | Gold (1.4.1) | Silver (1.6-rc5) | -1 |
Anno 1701 1.0x | Garbage (1.5.20) | Silver (1.6-rc2) | +2 |
Assassin's Creed Steam version | Garbage (1.5.25) | Silver (1.6-rc5) | +2 |
FlatOut 2 Steam | Platinum (1.3.37) | Silver (1.6-rc5) | -2 |
Roblox Roblox Studio 2013 (Roblox Studio 2.0) | Bronze (1.6-rc4) | Gold (1.6-rc5) | +2 |
LiveUpdate 3.1 | Gold (1.1.40) | Platinum (1.6-rc5) | +1 |
Unreal Tournament 3 Beta Demo | Bronze (1.1.35) | Garbage (1.6) | -1 |
Tomb Raider: Underworld Steam | Platinum (1.5.25) | Silver (1.6-rc5) | -2 |
Defiance NA Retail | Bronze (1.5.29) | Garbage (1.6) | -1 |
Just Cause steam download | Bronze (1.3.23) | Silver (1.6-rc5) | +1 |
Sniper: Ghost Warrior 1.3 | Gold (1.3.36) | Silver (1.6-rc5) | -1 |
Aliens vs. Predator (2010) Steam | Platinum (1.5.25) | Gold (1.6-rc2) | -1 |
Grand Theft Auto: Vice City 1.x | Platinum (1.4) | Silver (1.6-rc2) | -2 |
EndNote X3 | Silver (1.1.39) | Garbage (1.4.1) | -2 |
LiveUpdate 3.2 | Garbage (1.3.29) | Platinum (1.6-rc5) | +4 |
Max Payne 2: The Fall of Max Payne Steam | Garbage (1.5.9) | Silver (1.6-rc5) | +2 |
Devil May Cry 4 Steam | Bronze (1.2) | Silver (1.6-rc5) | +1 |
Steam Official Release | Gold (1.5.27) | Silver (1.6) | -1 |
Psalmen – Lieder des Lebens 1.0 | Silver (1.3.1) | Platinum (1.4.1) | +2 |
Wonderland Online 6.0.X | Bronze (1.5.31) | Gold (1.6-rc4) | +2 |
Half-Life 2 Lost Coast: Steam (32-bit) | Platinum (1.5.15) | Silver (1.6-rc2) | -2 |
LiveUpdate 3.4 | Garbage (1.3.29) | Silver (1.6-rc5) | +2 |
WinRAR 4.x (64-bit) | Gold (1.3.18) | Platinum (1.6-rc4) | +1 |
Unreal Tournament 3 Steam | Silver (1.5.29) | Platinum (1.6) | +2 |
DC Universe Online Current | Silver (1.4.1) | Bronze (1.6-rc5) | -1 |
Fifa football 2003 1.0 | Silver (0.9.59) | Bronze (1.6-rc2) | -1 |
Adobe Fireworks CS3 | Silver (1.5.19) | Gold (1.6) | +1 |
Crusader Kings II 1.09 | Garbage (1.5.29) | Bronze (1.6-rc4) | +1 |
Blades of Time 1.0 | Gold (1.5.13) | Silver (1.6-rc5) | -1 |
Roblox Latest | Garbage (1.5.26) | Silver (1.6-rc5) | +2 |
Ragnarok Battle Offline 4.000 | Platinum (0.9.59) | Garbage (1.6) | -4 |
LiveUpdate 3.3 | Garbage (1.1.40) | Platinum (1.6-rc5) | +4 |
FlatOut Steam Version | Platinum (1.1.40) | Silver (1.6-rc5) | -2 |
Euro Truck Simulator 1.3 | Platinum (1.4) | Gold (1.5.31) | -1 |
Pro Evolution Soccer 6 1.0.0.1 | Bronze (1.3.21) | Silver (1.6-rc2) | +1 |
Grand Theft Auto: Vice City 1.x Steam | Bronze (1.5.18) | Silver (1.6-rc5) | +1 |
Portal 2 Steam | Platinum (1.5.21) | Gold (1.6) | -1 |
SkyDrift Steam release | Gold (1.4-rc2) | Silver (1.6-rc2) | -1 |
LiveUpdate 3.5 | Garbage (1.3.29) | Silver (1.6-rc5) | +2 |
Age of Empires II The Conquerors Expansion | Platinum (1.4.1) | Silver (1.6-rc2) | -2 |
Alan Wake Steam | Bronze (1.5.22) | Silver (1.6-rc5) | +1 |
Velvet Assassin steam | Gold (1.5.0) | Silver (1.6-rc5) | -1 |
Tomb Raider Anniversary Steam | Gold (1.5.22) | Silver (1.6-rc5) | -1 |
Painkiller 1.64 | Platinum (1.5.19) | Silver (1.6-rc5) | -2 |
Celková změna | +8 |
Program | Původní stav/verze | Nový stav/verze | Změna |
Dark Reign: The Future of War 1.4 | Silver (1.1.13) | Bronze (1.6-rc5) | -1 |
Steins;Gate 1 | Garbage (1.3.37) | Gold (1.5.31) | +3 |
Warhammer 40,000: Dawn of War DoW: 1.x | Platinum (1.5.4) | Garbage (1.6) | -4 |
Transformers: War for Cybertron v1.0 | Gold (1.2-rc7) | Silver (1.5.31) | -1 |
Sid Meier's Civilization III complete edition | Silver (1.4.1) | Gold (1.6) | +1 |
foobar2000 1.x | Silver (1.4.1) | Platinum (1.5.29) | +2 |
Deadpool Steam | Platinum (1.6-rc3) | Gold (1.6-rc4) | -1 |
Age of Empires II Age of empires – Collectors Edit... | Silver (1.5.14) | Platinum (1.6) | +2 |
Origin Latest Release | Silver (1.5.27) | Platinum (1.6-rc2) | +2 |
Bleifuss FUN 1.0 | Platinum (0.9.40) | Silver (1.5.31) | -2 |
.NET Framework 4.0 | Silver (1.5.31) | Gold (1.6-rc4) | +1 |
Tropico 3 1.13 | Gold (1.3.0) | Garbage (1.4.1) | -3 |
YUME MIRU KUSURI 1.0 | Silver (1.5.15) | Gold (1.5.30) | +1 |
School Tycoon 1.x | Garbage (1.1.40) | Silver (1.4.1) | +2 |
Kingdoms of Amalur: Reckoning Demo – Steam | Garbage (1.5.1) | Silver (1.6) | +2 |
QuickTime Player 2.x 32-bit | Garbage (1.3.29) | Gold (1.6-rc4) | +3 |
Oblivion Script Extender All versions | Platinum (1.3.24) | Bronze (1.6) | -3 |
QQDownload 4.3 beta | Bronze (1.6-rc3) | Garbage (1.6-rc5) | -1 |
The Black Mirror 1.2 | Gold (1.5.23) | Platinum (1.6) | +1 |
Crusader Kings II 1.10 | Garbage (1.4) | Gold (1.6-rc4) | +3 |
iTunes 7 | Garbage (1.2-rc7) | Silver (1.6) | +2 |
.NET Framework 3.5 | Silver (1.5.31) | Gold (1.6-rc3) | +1 |
Magicka Steam | Gold (1.5.16) | Garbage (1.6-rc4) | -3 |
Rayman Origins 1.0.32504 | Bronze (1.5.2) | Platinum (1.6-rc5) | +3 |
Oregon Trail 5th Edition | Garbage (1.3.15) | Platinum (1.4.1) | +4 |
The Elder Scrolls V: Skyrim Steam | Silver (1.6-rc2) | Gold (1.6-rc4) | +1 |
Rollercoaster Tycoon 2 1.00 | Platinum (1.4-rc5) | Silver (1.6-rc1) | -2 |
Rayman 3: Hoodlum Havoc 1.0.0 | Platinum (1.2.3) | Bronze (1.6) | -3 |
Pro Evolution Soccer 3 1.0 | Silver (1.3.22) | Bronze (1.6) | -1 |
Rayman Forever 1.00 | Garbage (1.0.1) | Platinum (1.6-rc5) | +4 |
Sonos Desktop Controller 4.1 | Garbage (1.6-rc2) | Gold (1.6-rc4) | +3 |
Quake 4 1.4.2 | Platinum (1.2.3) | Gold (1.6-rc3) | -1 |
F-22 Raptor 1.00.05.10r | Garbage (1.3.17) | Platinum (1.6-rc3) | +4 |
Rage Steam release | Gold (1.5.21) | Platinum (1.6) | +1 |
Sanitarium 1.01 FINAL / Build 851 | Gold (1.5.14) | Platinum (1.6-rc5) | +1 |
Berkeley Madonna 8.3 | Bronze (1.0-rc1) | Silver (1.5.30) | +1 |
The Last Remnant 1.0 | Gold (1.5.18) | Bronze (1.6-rc4) | -2 |
Condor: The Competition Soaring Simulator 1.1.2 an... | Platinum (1.4) | Silver (1.4.1) | -2 |
Call Of Duty: Modern Warfare 3 Steam | Platinum (1.2.3) | Silver (1.4.1) | -2 |
Rosetta Stone 3.4.7 | Bronze (1.5.31) | Gold (1.6-rc4) | +2 |
Elemental: Fallen Enchantress Steam | Garbage (1.5.18) | Bronze (1.6) | +1 |
Panzer Dragoon 1.0 | Garbage (1.2-rc3) | Gold (1.6-rc4) | +3 |
SBK X Full | Silver (1.2) | Garbage (1.6) | -2 |
Quantum Conundrum Steam release | Garbage (1.4.1) | Gold (1.6-rc3) | +3 |
Kung Fu Strike – The Warrior's Rise 1.0.0 | Garbage (1.4.1) | Gold (1.6) | +3 |
Puzzle Agent Steam | Gold (1.3.10) | Platinum (1.6) | +1 |
Monopoly Tycoon 1.4 | Gold (1.3.17) | Silver (1.6-rc2) | -1 |
SimCity 3000 Unlimited | Garbage (1.4.1) | Silver (1.6-rc4) | +2 |
Game Maker 8 Version 8.1 | Silver (1.4-rc5) | Gold (1.6-rc4) | +1 |
Magic: The Gathering – Duels of the Planeswalkers ... | Silver (1.3.31) | Bronze (1.4.1) | -1 |
QuarkXpress 9.x | Bronze (1.5.9) | Silver (1.6-rc4) | +1 |
Dev-C++ 5 | Platinum (1.5.31) | Gold (1.6) | -1 |
Star Wars: Galactic Battlegrounds Clone Campaigns:... | Bronze (1.3.15) | Silver (1.4.1) | +1 |
Doom 3: BFG Edition Steam | Garbage (1.5.30) | Platinum (1.6) | +4 |
Fate/Stay Night Mirrormoon Fan Translation 3.2 | Silver (1.5.17) | Bronze (1.6-rc5) | -1 |
Blockland Retail (v21) | Platinum (1.4.1) | Silver (1.6-rc5) | -2 |
Doom 3 1.0 | Gold (1.6-rc2) | Platinum (1.6-rc4) | +1 |
Devil May Cry 3: Dante's Awakening Special Edition... | Garbage (1.5.1) | Platinum (1.6-rc3) | +4 |
Geometry Wars: Retro Evolved 1.0.0.3 | Bronze (1.3.9) | Gold (1.6-rc3) | +2 |
Trine Steam | Platinum (1.5.5) | Silver (1.6) | -2 |
Orcad 16.x | Bronze (1.2) | Platinum (1.6) | +3 |
Teenage Mutant Ninja Turtles Retail | Silver (1.5.16) | Gold (1.6-rc3) | +1 |
Alan Wake GOG | Garbage (1.5.9) | Silver (1.6-rc4) | +2 |
Silver GOG Digital download | Gold (1.5.11) | Bronze (1.6-rc4) | -2 |
Jade Dynasty Judgement | Gold (1.4.1) | Silver (1.6-rc4) | -1 |
EA SPORTS Cricket 07 1.0 | Bronze (1.3.20) | Platinum (1.4.1) | +3 |
Borderlands 2 1.0 | Bronze (1.6-rc2) | Silver (1.6-rc5) | +1 |
Universe Sandbox Steam Edition | Bronze (1.5.20) | Garbage (1.6) | -1 |
Star Trek: Armada 1.2 | Silver (1.3.17) | Bronze (1.4.1) | -1 |
Insaniquarium Deluxe 1.0 | Platinum (1.3.37) | Gold (1.6) | -1 |
Metro 2033 Steam | Gold (1.5.21) | Silver (1.6) | -1 |
Print Shop Deluxe 6 | Garbage (1.1.41) | Bronze (1.4.1) | +1 |
The Walking Dead 1.0 | Platinum (1.4.1) | Gold (1.6-rc4) | -1 |
Valve Hammer Editor 3.5 beta | Bronze (1.4.1) | Silver (1.6-rc4) | +1 |
Sid Meier's Civilization IV Complete | Gold (1.5.31) | Bronze (1.6-rc5) | -2 |
Dungeons & Dragons NeverWinter 3.x | Gold (1.5.25) | Bronze (1.6-rc4) | -2 |
Age of Empires The Rise of Rome: 1.x | Gold (1.5.27) | Platinum (1.6-rc5) | +1 |
iTunes 11.0.4 | Gold (1.4.1) | Bronze (1.6-rc4) | -2 |
Call of Duty 4: Modern Warfare 1.6 | Silver (1.5.31) | Platinum (1.6-rc4) | +2 |
Tony Hawk's Pro Skater 2 1.0 | Silver (1.1.2) | Gold (1.4.1) | +1 |
Gangsters: Organized Crime all | Bronze (1.4) | Garbage (1.4.1) | -1 |
Visual Studio 2005 (8.0) Express Edition | Gold (1.5.20) | Bronze (1.6-rc5) | -2 |
Visual Studio 2010 (10.0) | Bronze (1.5.26) | Garbage (1.6-rc4) | -1 |
Remember Me 1.x | Platinum (1.5.30) | Gold (1.5.31) | -1 |
MDK 2 HD 5033 | Silver (1.5.11) | Gold (1.6) | +1 |
Unity 4.1.2 | Bronze (1.5.30) | Silver (1.6-rc5) | +1 |
.NET Framework 3.0 | Silver (1.5.31) | Garbage (1.6-rc5) | -2 |
Notepad++ 6.4.x | Platinum (1.6-rc2) | Silver (1.6-rc5) | -2 |
Guild Wars 2 Release Client | Gold (1.5.28) | Bronze (1.6) | -2 |
Gothic II Night of the Raven: 2.6/2.7 | Silver (1.4) | Gold (1.4.1) | +1 |
Traktor DJ Studio 3.x | Bronze (1.0.1) | Gold (1.6) | +2 |
Age of Empires Gold Edition | Gold (1.5.27) | Platinum (1.6) | +1 |
Counter-Strike: Global Offensive 1.0 | Platinum (1.5.23) | Silver (1.6-rc4) | -2 |
ArtRage ArtRage 4 | Garbage (1.5.25) | Bronze (1.6-rc4) | +1 |
Bioshock 1.1 | Bronze (1.3.36) | Gold (1.6-rc4) | +2 |
Cosmic Break Offical | Garbage (1.5.7) | Bronze (1.6-rc2) | +1 |
Dungeons Steam | Garbage (1.6-rc1) | Gold (1.6-rc3) | +3 |
Age of Mythology The Titans: 1.03 | Bronze (1.3.17) | Gold (1.4.1) | +2 |
X-COM: Terror From the Deep standard | Platinum (1.1.23) | Silver (1.6-rc4) | -2 |
Black Mesa 1.0 | Silver (1.5.21) | Platinum (1.6-rc4) | +2 |
Far Cry 1.32 AMD64 version | Platinum (1.5.3) | Garbage (1.6) | -4 |
Anno 1602: Creation of a New World 1.x | Silver (1.5.14) | Gold (1.6-rc4) | +1 |
Project Giana 1.02 | Silver (1.5.23) | Gold (1.6) | +1 |
Stronghold 1.x | Garbage (1.2.3) | Gold (1.4.1) | +3 |
Endless Space Steam | Silver (1.5.29) | Platinum (1.6-rc4) | +2 |
F.E.A.R. 2: Project Origin Steam | Garbage (1.3.11) | Platinum (1.6-rc3) | +4 |
TortoiseSVN 1.7 | Bronze (1.5.16) | Gold (1.5.31) | +2 |
Race Driver : GRID GOG.com | Bronze (1.5.31) | Garbage (1.6-rc5) | -1 |
Gangsters 2 1.0.4 | Garbage (1.3.10) | Bronze (1.6-rc3) | +1 |
StarUML 5.0 | Gold (1.3.6) | Silver (1.6-rc4) | -1 |
Assassin's Creed 1.x | Garbage (1.5.24) | Gold (1.5.31) | +3 |
CDex 1.70 beta4 | Platinum (1.2.3) | Gold (1.6-rc4) | -1 |
Tony Hawk's Pro Skater 2 Korean Edition | Gold (0.9.52) | Silver (1.6-rc5) | -1 |
Cisco Packet Tracer 5.3.3 | Garbage (1.4.1) | Platinum (1.6) | +4 |
World of Warplanes Beta 0.4.2.1 | Bronze (1.5.26) | Silver (1.5.30) | +1 |
Divinity: Dragon Commander Beta | Garbage (1.6-rc3) | Silver (1.6-rc4) | +2 |
The Sims 3 All | Garbage (1.5.30) | Gold (1.6-rc2) | +3 |
Fallout: New Vegas 1.x | Gold (1.6-rc1) | Platinum (1.6-rc3) | +1 |
Dead Island Steam | Platinum (1.5.18) | Gold (1.6-rc5) | -1 |
Mount and Blade: Warband Steam | Gold (1.5.19) | Platinum (1.6-rc2) | +1 |
Age Of Empires II: HD Edition Steam | Silver (1.4.1) | Bronze (1.6-rc4) | -1 |
Perfect World International | Gold (1.4-rc6) | Garbage (1.4.1) | -3 |
Motocross Madness 1.0 (?) | Silver (1.5.27) | Bronze (1.6) | -1 |
Gothic Gothic 1.08k (German) | Gold (1.4-rc2) | Silver (1.6-rc4) | -1 |
Encarta 2000 | Gold (0.9.57) | Garbage (1.5.30) | -3 |
Worms Revolution Steam | Platinum (1.5.30) | Silver (1.6-rc3) | -2 |
Google Earth 6.2.x | Platinum (1.4) | Garbage (1.4.1) | -4 |
Terraria 1.1.* | Garbage (1.4.1) | Silver (1.6) | +2 |
Sid Meier's Civilization II 2.42 | Garbage (0.9.33) | Bronze (1.6) | +1 |
Monkey Island 2 Special Edition: LeChuck's Revenge... | Platinum (1.2) | Gold (1.6-rc5) | -1 |
LEGO Star Wars : The Complete Saga 1.0 (DVD) | Silver (1.2.2) | Gold (1.6-rc4) | +1 |
Alpine Ski Racing 2007 1.0 | Gold (0.9.30) | Silver (1.6-rc5) | -1 |
Format Factory 3.x | Silver (1.5.20) | Gold (1.6-rc4) | +1 |
Valve Hammer Editor 4.1 | Garbage (1.5.22) | Silver (1.6) | +2 |
Kingdoms of Amalur: Reckoning DVD | Silver (1.5.19) | Platinum (1.6-rc3) | +2 |
Serious Sam HD: The First Encounter Steam | Platinum (1.4-rc6) | Gold (1.6) | -1 |
KOMPAS-3D V13 | Silver (1.3.25) | Garbage (1.6) | -2 |
Baldur's Gate : Enhanced Edition Steam version | Silver (1.5.22) | Platinum (1.6-rc5) | +2 |
Deus Ex 1.x | Gold (1.3.35) | Platinum (1.4.1) | +1 |
join.me Basic | Platinum (1.5.28) | Bronze (1.6-rc4) | -3 |
Tom Clancy's Splinter Cell 1.3 | Gold (1.5.15) | Silver (1.6) | -1 |
SimCity 2013 1.7 | Gold (1.4.1) | Bronze (1.6) | -2 |
Theme Park World Retail CD | Garbage (1.5.26) | Gold (1.6-rc5) | +3 |
Hot Wheels: Crash! 1.0 | Garbage (1.1.3) | Silver (1.6-rc4) | +2 |
Risen 2 – Dark Waters Steam | Platinum (1.5.20) | Silver (1.6-rc5) | -2 |
Celková změna | +48 |
Člověk by řekl, proč řeší tu ptákovinu s výpustkem. Problém je v odfláklých písmech od MS, které jsou sice Unicode, ale podporovaných znaků je v nich jak šafránu. V Tahomě, kterou používají jako výchozí pro UI sice výpůstek je, ale např. tam chybí jakákoliv šipka, což mě nedávno dost nakrklo při psaní jedné multiplatformní aplikace.
A když už jsem u těch písem, tak pro pobavení: Jejich Mapa znaků po tolika letech vývoje ani v nejnovějších Windows 8.1 neumí změnit velikost okna a má jakýsi prťavý fixní rozměr.
A když už jsem u těch písem, tak pro pobavení: Jejich Mapa znaků po tolika letech vývoje ani v nejnovějších Windows 8.1 neumí změnit velikost okna a má jakýsi prťavý fixní rozměr.Nejspíš z toho důvodu, že je to stále téměř stejná aplikace, která je nejspíš jen nově přeložená. Takových reliktů je ve Windows mnoho, hlavně v některých méně používaných nastaveních. Na druhou stranu budu raději mít cosi, co vypadá jako z časů Win3.1, pokud to bude fungovat a budu vědět, co kde nastavit, než mít nějaké "moderní" rohranií, co by se s každou verzí kompleně překopalo.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.