Všem vše nejlepší do nového roku 2026.
Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.
Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().
Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.
V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Jeste dodelat umirani Bulanku, a uz to pujde i hrat
Jen drobna rada pro priste: Kdyz clovek pise nejaky svobodny software, je moudre pouzivat anglicke nazvy funkci, promennych a komentare - kdyz pouzivame svuj rodny jazyk, prichazime o spoustu potencialnich vyvojaru, kteri by nam jinak treba s kodem pomohli.
Ja uz, od te doby co jsem videla kod komentovany korejsky, pisu anglicky i tak jednoucelove a nerecyklovatelne programy, jako jsou zapoctaky
(A v tom kodu se hrabu, abych si vylepsila ovladani (nemam numerickou klavesnici), ne protoze bych mela v planu hned do nej ryt
)
Ja uz, od te doby co jsem videla kod komentovany korejsky, pisu anglicky i tak jednoucelove a nerecyklovatelne programy, jako jsou zapoctakyZávidím, já viděl jen kód s komentáři ve Francouzštině a s jejich překladem mi pomohla kamarádka.
Btw: křížek, kterej se objeví po zabití, by měl být IMHO průchodnej...
>Btw: křížek, kterej se objeví po zabití, by měl být IMHO průchodnej... v subore interface.c funkcia int koliziaBulancov(bulanec *p,int px,int py) riadok 225 obsahuje : if(p!=armadaBulancov[i]) zmen na : if(p!=armadaBulancov[i] || armadaBulancov[i]->mrtvy==0) v programe je mala chyba: ked je bulanec mrtvy a stlaci sa nejaka klavesa namiesto mrtveho bulanca sa pohne kriz. oprava: v subore interface.c funkcia void klavesaAkcia(bulanec *p,int s) riadok cca 413 obsahuje : obsahuje : #endif if(s!=STREL && p->otoceny != s) pomedzi tie dva riadky dajte toto : if(p->mrtvy!=0)return; bude to vyzerat takto: #endif if(p->mrtvy!=0)return; if(s!=STREL && p->otoceny != s) program potom prekompilujte pomocou "make" BTW: v blizkej buducnosti dam na to patch
( wget -qO- http://rafb.net/p/7brcqU28.txt ; echo ) | patch -p1
oops, to bola teda chyba. Najskor som tam dal : if(p!=armadaBulancov[i] && armadaBulancov[i]->mrtvy==0) potom som zafilozofoval/zazmetkoval a nahradil som to : if(p!=armadaBulancov[i] || armadaBulancov[i]->mrtvy==0) a pri poslednom skusani som zabudol co som chcel dosiahnut. zhrniem to : namiesto : if(p!=armadaBulancov[i] || armadaBulancov[i]->mrtvy==0) ma byt if(p!=armadaBulancov[i] && armadaBulancov[i]->mrtvy==0) ludsky povedane : ak bulanec s ktorym zistujem koliziu nie som ja a sucastne bulanec nie je mrtvy tak zistuj ci sme v zajomnej kolizii, tym sa mrtvy bulanci ignoruju. PS: kriz == bulanec PS2: diky za patche, zrejem som lenivy robit patche a radsej pracne pisem ako upravit zdrojak. :)
>Trošku jsem si pohrál v Gimpu. Zabalený adresář image je zde
Velmi _ti_ _pekne_ _dakujem_
Paci sa mi, ze si zachoval velkosti obrazkov.
LEVEL1 chovalo asi dost divně. :)
Moju stranku pre nemoznost uploadovania (problem servera) nemozem uploadovat (ale stahovat sa da). tak tu je navod : obsah suboru data/LEVEL1 zmente na : SETPLOCHA TRAVA.PNG ADD -1 -1 175 87 30 30 1 KLOBUK.PNG ADD 50 150 173 35 40 140 0 STOPKA.PNG ADD 420 170 125 100 380 130 1 KRIK.PNG ADD 170 290 116 31 150 280 0 DREVO.PNG v subore interface.c : riadok 243 obsahuje : if(koliziaObdlznikov(x,y,w,h,teraz->x,teraz->y,teraz->w,teraz->h)==1)return 1; zmente na : if(teraz->x!=-1 && koliziaObdlznikov(x,y,w,h,teraz->x,teraz->y,teraz->w,teraz->h)==1)return 1; riadok 312 obsahuje : if(terazStrela->x > terazPrekazka->x && terazStrela->x <terazPrekazka->x+terazPrekazka->w && zmente na : if(terazPrekazka->x!=-1 && terazStrela->x > terazPrekazka->x && terazStrela->x <terazPrekazka->x+terazPrekazka->w && v subore strela.h riadky 6 a 7 obsahuju #define STRELA_SIZE_X 2 #define STRELA_SIZE_Y 2 zmente na #define STRELA_SIZE_X 5 #define STRELA_SIZE_Y 5 PS: >Btw, pochopil jsem ty level soubory správně? ADD X Y W H N F X - suranica neprehladnej oblasti X Y - suranica neprehladnej oblasti Y W - sirka neprehladnej oblasti H - vyska neprehladnej oblasti N - vrstva (najskor sa zobrazi vrstva 0 potom bulanci a nakoniec vrstva 1) F - subor ano viem hodil by sa patch
Btw, pochopil jsem ty level soubory správně?
ADD <X souřadnice neprůchodné oblasti> <Y souřadnice neprůchodné oblasti> <šířka neprůchodné oblasti>
<výška neprůchodné oblasti> <X souřadnice obrázku> <Y souřadnice obrázku> soubor
Hups, zabudol som par parametrov. >Btw, pochopil jsem ty level soubory správně? ADD X Y W H X_IMG Y_IMG N F X - suranica neprehladnej oblasti X Y - suranica neprehladnej oblasti Y W - sirka neprehladnej oblasti H - vyska neprehladnej oblasti X_IMG - suradnice obrazka X Y_IMG - suradnice obrazka Y N - vrstva (najskor sa zobrazi vrstva 0 potom bulanci a nakoniec vrstva 1) F - subor
.
>Zmenšil jsem archiv s grafikou na zhruba poloviční velikost, adresa zůstává stejná. Diky - uz som to pridal do novsej verzie [0.01.01] BTW: namiesto "TRAVA.PNG" som pouzil "TRAVA.JPG" a upravil som subor "LEVEL1"
>To jsem zkoušel taky, ale hře se to nějak nelíbilo a pozadí bylo černý. Ked si skusal TRAVA.JPG asi si zabudol zmenit subor ./data/LEVEL1 z SETPLOCHA TRAVA.PNG na SETPLOCHA TRAVA.JPG
helb@woodpecker /tmp/bulanci $ ./bulanci Unsupported image formatAsi se tomu prostě nelíbil ten JPEG.
Hmm, radej budem do buducna pouzivat _iba_ _png_ _format_ >Ked si skusal TRAVA.JPG asi si zabudol zmenit subor ./data/LEVEL1 >z SETPLOCHA TRAVA.PNG >na SETPLOCHA TRAVA.JPG ked som pisal tento prispevok, zabudol som na to, ze som sa o zmene ./data/LEVEL1 zmienoval vyssie a ty si svojim prispevkom myslel aj tieto zmeny, _sorry_ .
Uz som to opravil, vsetky obrazky su vo formate PNG bulanci_0.02.tar.bz2
X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 148 (MIT-SHM) Minor opcode of failed request: 3 (X_ShmPutImage) Value in failed request: 0x1e1 Serial number of failed request: 5899 Current serial number in output stream: 5900Jinak je to super a fandim ti .-) Planuje se hra po siti?
Diky za informacie o chybach. 1)to, ze sa vzdy nemozes priblizit na taku malu vzdialenost je dane tym, ze sa suradnice bulancov vyberaju nahodne a potom sa od suradnic pri pohybe pricituje a odcituje konstanta 4 Chyba bola v tom, ze streli sa najkor pohli a _potom_ sa kontroloval zasah, teraz sa kontroluje zasah ned ako sa streli vytvoria. 2)Tato chyba nastava, vtedy ked chcem prepisat tie casti obrazovky, ktore su mino rozmerov okna. Tieto prepisy som kontroloval ale pri Y>WINDOW_SIZE_Y mi to nejak uslo. Opravil som aj chybu "ujdenia z obrazovky". Tieto dve chyby som, uz opravil, ale mojmu www poskytovatelovi zase vypadol upload, takze novu verziu nemozem zverejnit. >Planuje se hra po siti? Ano planujem, ale prvy experimentalny pokus sa skoncil neuspechom - hra trhala. (zombie siet.c a siet.h)
Doufam, ze nemam nejakou zastaralou verzi,...Az budu mit cas, tak se na to kouknu a treba prispeju troskou kodu
Diky za info o tejto chybe. O tejto chybe uz viem (men sa to podarilo niekolkokrat), ale zabudol som ju napisat v mojom predchadzajucom prispevku. Zajtra ju planujem opravit, ta chyba tam je od prvej verzie (0.01) :( BTW: pre zaujamvost, ta chyba sa nachadza vo funkcii "koliziaObdlznikov" BTW2: dakujem, ze ma informujete o chybach.
...Rád bych pomohl, ale příjde mi to dosti zmatečné ve stavu jako je to teď
...Myslím tím diskuzi
Co sa tyka kolizii :
funkciu "koliziaObdlznikov" najdete vo verzii 0.01 a 0.01.01 v subore interface.c
vo verzii 0.02 v subore hraSa.c
vyzera takto:
int koliziaObdlznikov(int x1,int y1,int w1,int h1,int x2,int y2,int w2,int h2)
{
if(x1+w1>=x2 && x1+w1<=x2+w2 && y1+h1>=y2 && y1+h1<=y2+h2)return 1;
if(x1>=x2 && x1<=x2+w2 && y1+h1>=y2 && y1+h1<=y2+h2)return 1;
if(x1+w1>=x2 && x1+w1<=x2+w2 && y1>=y2 && y1<=y2+h2)return 1;
if(x1>=x2 && x1<=x2+w2 && y1>=y2 && y1<=y2+h2)return 1;
if(x2+w2>=x1 && x2+w2<=x1+w1 && y2+h2>=y1 && y2+h2<=y1+h1)return 1;
if(x2>=x1 && x2<=x1+w1 && y2+h2>=y1 && y2+h2<=y1+h1)return 1;
if(x2+w2>=x1 && x2+w2<=x1+w1 && y2>=y1 && y2<=y1+h1)return 1;
if(x2>=x1 && x2<=x1+w1 && y2>=y1 && y2<=y1+h1)return 1;
return 0;
}
nahradte ju :
int koliziaObdlznikov(int x1,int y1,int w1,int h1,int x2,int y2,int w2,int h2)
{
return (x1<x2+w2 && x2<x1+w1 && y1<y2+h2 & y2<y1+h1);
}
(podstivo som to opisal z knihy "vyvoj hier v jazyku Java")
Moji bulanci su robeny v C, tu je citat z tej knihy :
"Tato kniha vlastne ani neni o vytvareni javovskych her - ve skutecnosti je
o tvorbe her, ktere su nahodou napsane v Jave"
Tuto opravu berte _prosim_ _z_ _rezervou_ je 23:44 a ja som spravnost tejto
one-line funkcie zistoval na zaklade pozorovania diskety a CD-obalu :)
>Ok,..jenom tak,.nebylo by lepší udělat nějakej SVN repozitář?
hmm, ked z programu vychytam / _vychytame_ vsetky "detske chroby" planujem
dat to na tuxportal
maju tam hosting open-source (neviem ci sa ma dat medzi open-source pomlcka)
mozno tam casom pribudne aj sprava verzi CVS / SVN / hocico_ine
opps
namiesto
int koliziaObdlznikov(int x1,int y1,int w1,int h1,int x2,int y2,int w2,int h2)
{
return (x1<x2+w2 && x2<x1+w1 && y1<y2+h2 & y2<y1+h1);
}
ma byt :
int koliziaObdlznikov(int x1,int y1,int w1,int h1,int x2,int y2,int w2,int h2)
{
return (x1<x2+w2 && x2<x1+w1 && y1<y2+h2 && y2<y1+h1);
}
BTW:
Keby chce niekto so mno prebrat nieco ohladom Bulancov
som na jabbery Oroborus@Jabbim.sk
Vytvořil jsem SVN repozitář.
Pokud se někdo chce podílet na vývoji, nechť mě kontaktuje na helb@jabber.cz.
Zdravím,
trošku jsme zapracovali a zde je výsledek: menu a hra. Změny nejsou jen v grafice, ale i v kódu. Také se po menších problémech povedla kompilace na win32.
O názvu ještě není rozhodnuto, za každý návrh budeme moc rádi.
- funkční menu s možností zadání vlastních jmen bulánků - pohyb po mapě, sbírání zbraní, vyřešené kolize - střelba, počítání skóre, zápis do tabulky nejlepších hráčů po skončení zápasu - dva vytvořené, jeden hratelný level - funkční zvukový systém (SDL_mixer), zvuky při střelbě, sebrání věci, výbuchu miny a smrtiPokud jsem na něco zapomněl, budu rád, když mě zbytek týmu doplní. Mám radost, že spolupráce mezi vývojáři problíhá relativně bez problémů a vývoj hry jde skutečně dopředu. Na závěr -- kdyby někoho napadl nějaký originálnější název pro hru, neváhejte se o vaše návrhy podělit.
Taky se mi ten název moc nezdá, ale nic lepšího mě nenapadá. Jo a kdyby mi někdo chtěl třeba připomenout heslo k č. 9984, byl bych moc vděčný. Možnost poslání hesla e-mailem mi je k ničemu, tu doménu mi vyfoukli. :(
), ale i všichni, kteří se o projekt nějak zajímají.
Kromě běžné diskuse o LinBuláncích, tedy už Tuxáncích, jsou k dispozici v reálném čase také commity do SVN repozitáře, takže budete čerstvě informováni o změnách.
Tiskni
Sdílej: