Portál AbcLinuxu, 1. května 2025 14:09
No, Skeldal prodle mě není zas tak vymáklý oproti třeba Eye of the Behloder I/II a Dungeon Masterovi, ale šaptný taky není.
Hmm, nebo když mi odpustíte že opustím čtverečky, tak Ambermoon a pochopitleně Albion, to jsou vrcholy žánru, i se sociální interakcí, dungeon 2.0 :)
Dungeon 2.0 sa u mňa volá RPG a presne tam ten Albion radím Len škoda, že v tej hre je niekoľko bugov a keď má človek smolu a narazí na ne, tak sa to nedá už dohrať.
ALELUUUUJA! Já myslel že ten projekt chcípl! Byl sem i registrovanej na sourceforge net u tohohle projektu, ale nechodily mi žádný nový zprávy o tom co se děje. Taky sem tam psal pár návrhů.
~/tovarna/svn/next_ghost$ make
g++ -I. -g -c -o cztable.o cztable.cpp
cc -I. -g -c -o game/automap.o game/automap.c
cc -I. -g -c -o game/builder.o game/builder.c
cc -I. -g -c -o game/clk_map.o game/clk_map.c
cc -I. -g -c -o game/dialogs.o game/dialogs.c
cc -I. -g -c -o game/dump.o game/dump.c
cc -I. -g -c -o game/enemy.o game/enemy.c
cc -I. -g -c -o game/engine1.o game/engine1.c
cc -I. -g -c -o game/engine2.o game/engine2.c
cc -I. -g -c -o game/gamesave.o game/gamesave.c
cc -I. -g -c -o game/globmap.o game/globmap.c
cc -I. -g -c -o game/chargen.o game/chargen.c
game/chargen.c: In function ‘enter_generator’:
game/chargen.c:893: warning: passing argument 2 of ‘potvrzeno’ from incompatible pointer type
cc -I. -g -c -o game/interfac.o game/interfac.c
game/interfac.c: In function ‘skeldal_soupak_init’:
game/interfac.c:1238: warning: cast to pointer from integer of different size
game/interfac.c: In function ‘skeldal_soupak_draw’:
game/interfac.c:1254: warning: cast from pointer to integer of different size
game/interfac.c: In function ‘skeldal_soupak’:
game/interfac.c:1317: warning: assignment from incompatible pointer type
game/interfac.c: In function ‘smlouvat’:
game/interfac.c:1709: warning: passing argument 1 of ‘on_event’ from incompatible pointer type
cc -I. -g -c -o game/inv.o game/inv.c
cc -I. -g -c -o game/book.o game/book.c
cc -I. -g -c -o game/magic.o game/magic.c
cc -I. -g -c -o game/macros.o game/macros.c
cc -I. -g -c -o game/menu.o game/menu.c
cc -I. -g -c -o game/realgame.o game/realgame.c
cc -I. -g -c -o game/setup.o game/setup.c
cc -I. -g -c -o game/skeldal.o game/skeldal.c
game/skeldal.c: In function ‘reload_map_handler’:
game/skeldal.c:1171: error: invalid initializer
make: *** [game/skeldal.o] Error 1
Debian Lenny 64bit
Tohle je zatím jen testovací verze. 99% starého kódu zůstalo beze změn, takže to funguje jen na x86 (psal jsem to i v článku). Buď budeš potřebovat 32-bit chroot, nebo budeš muset počkat na přepis starého kódu.
A chystá se to někdo přepsat?
Samozřejmě, že se chystám. Přečti si README. Tohle je pracovní verze, aby se při dalším přepisování dalo snadno zjistit, jestli se něco nerozbilo.
tak co s tím?
Jo, pak mě to taky napadlo. Jak jinak že? Kdo má 64bit, ten si z 90procent nic nezkopiluje protože je všechno pro 32bit.
Jardík 2?
stdarg.h je includovaný hned několikrát, minimálně jednou z game/globals.h a ještě jednou z libs/system.h. Spíš na 64bit systému nejde inicializovat va_list z void*.
Mimochodem, i kdyby se to povedlo zkompilovat, tak hra nebude fungovat. Na 64bit systému budou jinak velké datové struktury, takže se z datových souborů načtou nesmysly.
2) Change the engine from task based to frame based (0% done) Eh, neumím moc anglicky, taže co si pod tím mám představit?
Že původní kód není postavený nad smyčkou zpráv, kde se napřed čte vstup, pak se počítá stav a nakonec zvučí a kreslí výsledek, ale že je to všechno smíchané do jedné nepřehledné hromady. Tenhle bod ale asi přesunu na později a místo toho začnu řešit build systém a přenositelnost.
...dyt je to death game , od death company...
s/death/dead
Tohle sleduju už tak pět let . A furt čekám.
make[1]: Entering directory `/home/ondrej/Projekty/skeldal/branches/next_ghost'
make[1]: *** No rule to make target `game/automap.c', needed by `game/automap.o'. Stop.
make[1]: Leaving directory `/home/ondrej/Projekty/skeldal/branches/next_ghost'
make: *** [all] Error 2
Pár revizí zpátky jsem všechny zdrojáky předělal na C++ a projekt už obsahuje build systém postavený na autoconfu. Jestli ti po updatu zbyl v pracovním adresáři bordel, udělej čistý checkout a pak configure.
game/interfac.cpp: In function ‘void skeldal_soupak_draw(int, int, int, int, OBJREC*)’:
game/interfac.cpp:1278: error: cast from ‘void*’ to ‘int’ loses precision
Budu hádat, x86_64? Buď se můžeš do vývoje zapojit, nebo budeš muset počkat na dokončení základního přepisu. Zatím relativně funguje jen x86 a další platformy nemám kde vyzkoušet.
Ano, x86_64. Som uz clenom projektu www.freeorion.org/index.php/Main_Page, ale po zaradeni next_ghost do trunk sa mozno pridam aj do projektu skeldal. Inak nie je rozumnejsie pouzivat boost? Boost je standard a je multiplatformovy.
Zařazení do trunk rozhodně v nejbližší době nečekej. Jednak ještě některé herní funkce v next_ghost chybí (například hraní na flétnu) a jednak se před zařazením do trunk musí kód přeportovat zpátky na Windows.
Boost? Ani náhodou. Skeldalu teď bohatě stačí 30MB RAM. Nehodlám paměťové nároky bezdůvodně zvyšovat. Kromě toho Boost neumí nic, co bych právě nutně potřeboval.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.