Portál AbcLinuxu, 6. května 2025 01:11
Tak už jsem tu párkrát prohodil řeč o tom, jak si jen tak z nudy programuju kravinky okolo DragonAge Origins.
Tak už mi ty kravinky čtou ERF soubory (což jsou takové jednoduché archivy), podporuje to i ERF v2.2 (šifrované blowfishem). O své zkušenosti jsem se podělil s komunitou (ode mě je pouze sekce "File Format (version 2.2)") - schválně, za jak dlouho to promažou
Narychlo tedy patlám takový jednoduchý editor ERF souborů, který zatím není moc použitelný - pouze otevírá soubory hardcodované ve zdrojáku, před drag & drop umí přidat soubory do seznamu. Teď jdu spát, ale zítra dodělám ukládání včetně možnosti šifrování (zachování, odebrání, změna klíče). Je tam připraven takový jednoduchý lámač hesel, co za půl minuty najde heslo k ERF archivu, ale nevím, jestli to tam nechat. Asi tam dám varování, že používat jen na své soubory (jako na tý wiki).
No, pak nastudovat/prozkoumat dalších kýbl formátů, co DragonAge používá (ten skriptovací jazyk kompilovanej do bytekódu bude oříšek), možná pár dalších jednoduchých toolů (prostě nějaký malý subset toho, co zvládne oficiální DragonAge Toolset (ale samozřejmě 64bit ) Jinak samozřejmě optimalizuju pro x86-64, úmyslně předpokládám velikost void* 8B, velikost long 8B, používám spoustu x86-64 assembleru, apod... (vtip).
Momentálně tam mám věci na MD5 ukradený z glib a optimalizovaný pro hashování 8B klíče (), aby bruteforce byl co nejrychlejší, musím pak ale napsat vlastní, abych to mohl vydat pod nějakou slušnou licencí. Asi změním název (jak to licence požaduje) a přidám dodatek o zákazu používání na 32-bit systémech. (Teda né že by to někdo někdy chtěl použít, jak se znám, tak to nikdy nedodělám
)
No a co pak. Pak bych si představoval (až nastuduju ty formáty a upatlám nějaký základy), že by se ozval nějakej machr, co by měl zájem doprogramovat zbytech enginu, abych si konečně zahrál DragonAge (BTW spáchal jsem hřích, do linuxu jsem nainstaloval 32-bit wine, abych nainstaloval DragonAge, po instalaci jsem to pak zase smazal, celej jsem se z toho osypal )
Tiskni
Sdílej:
O_NONBLOCK: When possible, the file is opened in nonblocking mode. Neither the open() nor any subsequent operations ... will cause the calling process to waitJó, no. Bohužel tohle je mi k ničemu. Každopádně bez toho bych se obešel, kdyby to opět bylo přerušitelné signálem. Zase ale otázka, jestli CD mechanika patří mezi pomalé zařízení. Podle mě ano, manuálová stránka zmiňuje za pomalé např. FIFO a open() na zařízení mechaniky může trvat např. minutu a pokud to je nepřerušitelné signálem, je to blbé.
Brasero je parodie na vypalovací program, skoro nic tam nejde nastavit. Pořád mi vypaluje maximální rychlostí, i když nastavím nižší. Neustále po konci vypalování hází errora "médium nelze vysunout", přitom čudlíkem vysunout jde a zrovna tak i ikonkou ve filemanageru (pcmanfm2-git) - to je právě kvůli tomu debilnímu hádání se o přístup k mechanice a nemožnosti mít exkluzivní přístup (jinak by si ji brasero otevřelo, vypálilo, vysunulo a až poté zavřelo a nemusela by mu to během znovuzasunutí pro kontrolu disku ukradnout jiná aplikace (udisks).). Dále brasero nabízí zvláštní hodnoty rychlosti pálení, typu 3,6x, 4,2x (hodnoty si přesně nepamatuju, ale prostě takovýhle kraviny) - ty ale stejně nefungujou a pálí na maximum.Dobrý. Sorry, že jsem obtěžoval. Já budu asi nějaký vadný nebo co.
EWOULDBLOCK The O_NONBLOCK flag was specified, and an incompatible lease was held on the file (see fcntl(2)).takze bezne chovani je, ze jako blokuji se bere jen open z hlediska zamykani. Samozrejme ruzne FS a device to muzou implementovat po svem. Muzete si zkusit pridat podporu pro prijem signalu do jadra, vetsinou to nebyva moc problem (vizte knizku linux device drivers, volne dostupna).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.