Compare commits

...

9 commits

Author SHA1 Message Date
Theo Champion
87c0a8a991 fix: fixed texture leakage 2025-09-10 15:19:30 +02:00
Theo Champion
ecb99e4840 norme: fixed a line that was too long 2025-09-10 15:03:55 +02:00
Theo Champion
5591ebd937 feat(barricades): added multiple textures for the barricades 2025-09-10 15:02:54 +02:00
Theo Champion
40e71b4616 norme: fixed norme issues 2025-09-09 14:17:08 +02:00
Theo Champion
7852962d56 feat: finished barricades 2025-09-09 14:09:20 +02:00
Theo Champion
9274a11c70 feat: "Added" zombie spawning from barricades 2025-09-09 13:20:50 +02:00
Theo Champion
35b83e4ff7 feat: Added new wall type (barricades) 2025-09-09 10:17:28 +02:00
Theo Champion
d295c77360 chore: Added barricade texture (temporary) 2025-09-09 10:17:04 +02:00
Theo Champion
88157d091e chore: New map added to test barricades 2025-09-09 10:16:28 +02:00
23 changed files with 3294 additions and 15 deletions

View file

@ -29,6 +29,7 @@ SOURCEFILES = \
src/player/player.c \
src/player/move.c \
src/player/move_step.c \
src/raycast/barricades.c \
src/raycast/ray.c \
src/raycast/walls.c \
src/renderer/render.c \

2181
ressources/barricades.xpm Normal file

File diff suppressed because it is too large Load diff

162
ressources/barricades_2.xpm Normal file
View file

@ -0,0 +1,162 @@
/* XPM */
static char * barricades_2_xpm[] = {
"64 64 95 2",
" c #000001",
". c #2D1602",
"+ c #593008",
"@ c #5A3108",
"# c #462405",
"$ c #572F07",
"% c #452405",
"& c #100500",
"* c #2B1402",
"= c #583008",
"- c #4E2906",
"; c #1E0C01",
"> c #321902",
", c #291302",
"' c #130601",
") c #502B06",
"! c #542D07",
"~ c #271202",
"{ c #361B03",
"] c #552E07",
"^ c #231001",
"/ c #381C03",
"( c #593108",
"_ c #0E0400",
": c #3C1F04",
"< c #532C07",
"[ c #190A01",
"} c #1A0A01",
"| c #4E2A06",
"1 c #462505",
"2 c #4D2906",
"3 c #110600",
"4 c #3F2104",
"5 c #301702",
"6 c #2E1602",
"7 c #512B06",
"8 c #4A2705",
"9 c #190901",
"0 c #080200",
"a c #583007",
"b c #532D07",
"c c #4B2805",
"d c #442404",
"e c #3B1E03",
"f c #3A1E03",
"g c #391D03",
"h c #371C03",
"i c #341A03",
"j c #301802",
"k c #472605",
"l c #2E1702",
"m c #1C0B01",
"n c #4F2A06",
"o c #402104",
"p c #3D2003",
"q c #311802",
"r c #3E2004",
"s c #472505",
"t c #492705",
"u c #512C06",
"v c #582F07",
"w c #562E07",
"x c #020100",
"y c #180901",
"z c #1D0C01",
"A c #241001",
"B c #3D2004",
"C c #3C1F03",
"D c #4C2905",
"E c #522C07",
"F c #2D1502",
"G c #422204",
"H c #522C06",
"I c #281201",
"J c #412204",
"K c #3D1F03",
"L c #562F07",
"M c #542E07",
"N c #432304",
"O c #331903",
"P c #261102",
"Q c #150701",
"R c #281302",
"S c #351A03",
"T c #2B1502",
"U c #1B0B01",
"V c #3F2004",
"W c #381D03",
"X c #331A03",
"Y c #291402",
"Z c #1F0D01",
"` c #482605",
" . c #422304",
".. c #4C2906",
"+. c #3A1D03",
" . + @ @ @ @ @ @ @ @ @ @ @ @ + # $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & ",
" * @ @ @ @ @ @ @ @ @ @ @ @ @ = * % = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ; ",
" > @ @ @ @ @ @ @ @ @ @ @ @ @ $ , ' ) @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ! ~ ",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ ] ^ / ( @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ = { _ ",
" : @ @ @ @ @ @ @ @ @ @ @ @ @ < [ } | @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & ",
" 1 @ @ @ @ @ @ @ @ @ @ @ @ @ 2 3 4 + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ) ; ",
"* 5 6 . * 6 6 6 7 @ @ @ @ @ @ @ @ @ @ @ @ @ 8 9 0 ; ! @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 7 ; ",
"+ + + + + + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ a b c d e f g h i j 6 6 k @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ! l m [ } [ } [ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( + + = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( < ) ) n ) ) ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"+ + + + + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"* 5 6 . * 6 o @ @ @ @ @ @ @ @ @ @ @ @ @ = p q e r s t 2 u ] $ v = + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ w ^ x & y m z A * 6 * . * > q g { g g B r r r r r C r e 4 D @ @ @ @ @ @ @ @ @ @ @ ",
" f @ @ @ @ @ @ @ @ @ @ @ @ @ E [ 0 ; F G H = @ @ @ @ @ @ @ @ @ @ @ ",
"m m [ } [ } 1 @ @ @ @ @ @ @ @ @ @ @ @ @ 2 3 & I J ) $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"7 ) ) ) n ) $ @ @ @ @ @ @ @ @ @ @ @ @ @ ) p r r C r r J C r e r C r r C r r J C 4 K 1 | $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + $ L M u c t N r h O 6 6 ",
"g g e d b @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ = | o h > * . ~ P [ z Q & ",
"i k L @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + 7 o R 0 ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $ c i y 0 ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + b 1 C { S * . * T A U _ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + = $ w b - s V f g { W X S * Y Z } [ Q _ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( = w b | c ` % ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"] c r .d ( @ @ @ @ @ @ @ @ @ @ @ @ @ H 7 < ] $ v = + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
" . + @ @ @ @ @ @ @ @ @ @ @ @ + X m m z A * 6 * . * 6 q g f e r N k ..< ] $ = + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
" * + @ @ @ @ @ @ @ @ @ @ @ @ + * 0 & [ ^ Y * . * 6 q +.J s 8 ..n ) ! w = ( @ @ @ @ @ @ @ ",
" 6 + @ @ @ @ @ @ @ @ @ @ @ @ + 6 x & y m [ } Z Y * S X W { e J s ",
" 6 + @ @ @ @ @ @ @ @ @ @ @ @ + 6 x ",
" . + @ @ @ @ @ @ @ @ @ @ @ @ + . ",
" . @ @ @ @ @ @ @ @ @ @ @ @ @ = . ",
" > @ @ @ @ @ @ @ @ @ @ @ @ @ $ , ",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ L ^ "};

160
ressources/barricades_3.xpm Normal file
View file

@ -0,0 +1,160 @@
/* XPM */
static char * barricades_3_xpm[] = {
"64 64 93 2",
" c #000001",
". c #2D1602",
"+ c #593008",
"@ c #5A3108",
"# c #462405",
"$ c #572F07",
"% c #452405",
"& c #100500",
"* c #2B1402",
"= c #583008",
"- c #4E2906",
"; c #1E0C01",
"> c #321902",
", c #291302",
"' c #130601",
") c #502B06",
"! c #542D07",
"~ c #271202",
"{ c #361B03",
"] c #552E07",
"^ c #231001",
"/ c #381C03",
"( c #593108",
"_ c #0E0400",
": c #3C1F04",
"< c #532C07",
"[ c #190A01",
"} c #1A0A01",
"| c #4E2A06",
"1 c #462505",
"2 c #4D2906",
"3 c #110600",
"4 c #3F2104",
"5 c #301702",
"6 c #2E1602",
"7 c #512B06",
"8 c #4A2705",
"9 c #190901",
"0 c #080200",
"a c #583007",
"b c #532D07",
"c c #4B2805",
"d c #442404",
"e c #3B1E03",
"f c #3A1E03",
"g c #391D03",
"h c #371C03",
"i c #341A03",
"j c #301802",
"k c #472605",
"l c #2E1702",
"m c #1C0B01",
"n c #4F2A06",
"o c #402104",
"p c #3D2003",
"q c #311802",
"r c #3E2004",
"s c #472505",
"t c #492705",
"u c #512C06",
"v c #582F07",
"w c #562E07",
"x c #020100",
"y c #180901",
"z c #1D0C01",
"A c #241001",
"B c #3D2004",
"C c #3C1F03",
"D c #522C07",
"E c #3B1E04",
"F c #412204",
"G c #442304",
"H c #482605",
"I c #562F07",
"J c #542E07",
"K c #432304",
"L c #331903",
"M c #381D03",
"N c #4C2906",
"O c #522C06",
"P c #261102",
"Q c #150701",
"R c #4B2806",
"S c #2B1502",
"T c #210F01",
"U c #422204",
"V c #351A03",
"W c #1B0B01",
"X c #3F2004",
"Y c #331A03",
"Z c #291402",
"` c #1F0D01",
" . c #3A1D03",
" . + @ @ @ @ @ @ @ @ @ @ @ @ + # $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & ",
" * @ @ @ @ @ @ @ @ @ @ @ @ @ = * % = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ; ",
" > @ @ @ @ @ @ @ @ @ @ @ @ @ $ , ' ) @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ! ~ ",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ ] ^ / ( @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ = { _ ",
" : @ @ @ @ @ @ @ @ @ @ @ @ @ < [ } | @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & ",
" 1 @ @ @ @ @ @ @ @ @ @ @ @ @ 2 3 4 + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ) ; ",
"* 5 6 . * 6 6 6 7 @ @ @ @ @ @ @ @ @ @ @ @ @ 8 9 0 ; ! @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 7 ; ",
"+ + + + + + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ a b c d e f g h i j 6 6 k @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ! l m [ } [ } [ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( + + = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( < ) ) n ) ) ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"+ + + + + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"* 5 6 . * 6 o @ @ @ @ @ @ @ @ @ @ @ @ @ = p q e r s t 2 u ] $ v = + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ w ^ x & y m z A * 6 * . * > q g { g g B r r r r r C r e r t @ @ @ @ @ @ @ @ @ @ @ ",
" f @ @ @ @ @ @ @ @ @ @ @ @ @ D [ ; w @ @ @ @ @ @ @ @ @ ",
"m m [ } [ } 1 @ @ @ @ @ @ @ @ @ @ @ @ @ 2 3 0 3 [ ^ , * . 6 h E ) @ @ @ @ @ @ @ @ ",
"7 ) ) ) n ) $ @ @ @ @ @ @ @ @ @ @ @ @ @ ) p r r C r r F C r e r C r r C r r F C r e r r G H 2 < ] $ = ( @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + $ I J u c t K r h L 6 6 ",
"g g { M { N @ @ @ @ @ @ @ @ @ @ @ @ @ O o C r r C r r F C r e r C r r C r r F C r e r C r B e g { > * . ~ P [ z Q & ",
"[ 3 0 0 % @ @ @ @ @ @ @ @ @ @ @ @ @ % 0 ",
"2 c 1 % o b @ @ @ @ @ @ @ @ @ @ @ @ @ R g g h i j 6 * . * S A T y & ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( + + = v $ ] ) c % U B g g { V * . * S A W _ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + = $ w b - s X f g { M Y V * Z ` } [ Q _ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( = w b | c H % ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"{ e .F d ( @ @ @ @ @ @ @ @ @ @ @ @ @ O 7 < ] $ v = + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
" . + @ @ @ @ @ @ @ @ @ @ @ @ + Y m m z A * 6 * . * 6 q g f e r K k N < ] $ = + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
" * + @ @ @ @ @ @ @ @ @ @ @ @ + * 0 & [ ^ Z * . * 6 q .F s 8 N n ) ! w = ( @ @ @ @ @ @ @ ",
" 6 + @ @ @ @ @ @ @ @ @ @ @ @ + 6 x & y m [ } ` Z * V Y M { e F s ",
" 6 + @ @ @ @ @ @ @ @ @ @ @ @ + 6 x ",
" . + @ @ @ @ @ @ @ @ @ @ @ @ + . ",
" . @ @ @ @ @ @ @ @ @ @ @ @ @ = . ",
" > @ @ @ @ @ @ @ @ @ @ @ @ @ $ , ",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ I ^ "};

152
ressources/barricades_4.xpm Normal file
View file

@ -0,0 +1,152 @@
/* XPM */
static char * barricades_4_xpm[] = {
"64 64 85 1",
" c #000001",
". c #3D1F04",
"+ c #572F07",
"@ c #5A3108",
"# c #452405",
"$ c #100500",
"% c #583008",
"& c #4E2906",
"* c #1E0C01",
"= c #130601",
"- c #502B06",
"; c #542D07",
"> c #271202",
", c #381C03",
"' c #593108",
") c #361B03",
"! c #0E0400",
"~ c #1A0A01",
"{ c #4E2A06",
"] c #3F2104",
"^ c #593008",
"/ c #2B1402",
"( c #301702",
"_ c #2E1602",
": c #2D1602",
"< c #241001",
"[ c #150701",
"} c #080200",
"| c #512B06",
"1 c #582F07",
"2 c #562E07",
"3 c #532D07",
"4 c #4B2805",
"5 c #442404",
"6 c #3B1E03",
"7 c #3A1E03",
"8 c #391D03",
"9 c #371C03",
"0 c #341A03",
"a c #301802",
"b c #472605",
"c c #2E1702",
"d c #1C0B01",
"e c #190A01",
"f c #532C07",
"g c #4F2A06",
"h c #321902",
"i c #311802",
"j c #3E2004",
"k c #472505",
"l c #492705",
"m c #4D2906",
"n c #512C06",
"o c #552E07",
"p c #020100",
"q c #180901",
"r c #1D0C01",
"s c #3D2004",
"t c #3C1F03",
"u c #110600",
"v c #231001",
"w c #291302",
"x c #3B1E04",
"y c #4C2906",
"z c #4A2705",
"A c #422204",
"B c #3F2004",
"C c #412204",
"D c #442304",
"E c #482605",
"F c #562F07",
"G c #542E07",
"H c #432304",
"I c #331903",
"J c #381D03",
"K c #261102",
"L c #462505",
"M c #2B1502",
"N c #210F01",
"O c #351A03",
"P c #1B0B01",
"Q c #331A03",
"R c #291402",
"S c #1F0D01",
"T c #3A1D03",
" .+@@@@@@@@@@@@@@@@@@@@@@@#$ ",
" #%@@@@@@@@@@@@@@@@@@@@@@&* ",
" =-@@@@@@@@@@@@@@@@@@@@@@;> ",
" ,'@@@@@@@@@@@@@@@@@@@@@%)! ",
" ~{@@@@@@@@@@@@@@@@@@@@@@#$ ",
" ]^@@@@@@@@@@@@@@@@@@@@@-* ",
"/(_:/__/:/(/(/:/__/:_:<[} *;@@@@@@@@@@@@@@@@@@@@@|* ",
"^^^^^^^^^^^^^^^^^^^^%1234567890a__b@@@@@@@@@@@@@@@@@@@@@;cde~e~e",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'^^%@@@@@@@@@@@@@@@@@@@@@'f--g--",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"^^^^^^^^^^^^^^^^^^^^'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"/(_:/__/:/(/(/:/__/:_hi6jklmno+1%^^^@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
" p$qdr</_/:/hi8)88sjjjjjtj6jl@@@@@@@@@@@",
" *2@@@@@@@@@",
"dde~e~edq$p }uevw/:_9x-@@@@@@@@",
"|---g--gyzkABtj6CtC6jtjjtjjCtj6jtjjtjjCtj6jjDEmfo+%'@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^+FGn4lHj9I__",
"88)J)J)876jjjtj6CtC6jtjjtjjCtj6jtjjtjjCtj6jtjs68)h/:>Ker[$ ",
"eu} ",
"m4L#jC6jtjjtj.s)J)J)8890a_/:/M<Nq$ ",
"@@@@@@@@@@@@@@@@@@@@@@@@@'^^%1+o-4#As88)O/:/M<P! ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^%+23&kB78)JQO/RS~e[! ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'%23{4E#",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
")6TCtC6jtjj]#Eymgg--|fo+1%^^^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
" ![e~e~eddr</_/:/_i876jHbyfo+%^^@@@@@@@@@@@@@@@@@@@@",
" }$evR/:/_iTCkzyg-;2%'@@@@@@@",
" p$qde~SR/OQJ)6Ck",
" p",
" ",
" ",
" ",
" "};

150
ressources/barricades_5.xpm Normal file
View file

@ -0,0 +1,150 @@
/* XPM */
static char * barricades_5_xpm[] = {
"64 64 83 1",
" c #000001",
". c #2B1402",
"+ c #301702",
"@ c #2E1602",
"# c #2D1602",
"$ c #241001",
"% c #150701",
"& c #080200",
"* c #593008",
"= c #583008",
"- c #582F07",
"; c #562E07",
"> c #532D07",
", c #4B2805",
"' c #442404",
") c #3B1E03",
"! c #3A1E03",
"~ c #391D03",
"{ c #371C03",
"] c #341A03",
"^ c #301802",
"/ c #210F01",
"( c #190A01",
"_ c #100500",
": c #020100",
"< c #180901",
"[ c #1C0B01",
"} c #1A0A01",
"| c #5A3108",
"1 c #593108",
"2 c #583007",
"3 c #572F07",
"4 c #522C06",
"5 c #4E2A06",
"6 c #492705",
"7 c #472605",
"8 c #432304",
"9 c #3F2104",
"0 c #3E2004",
"a c #3C1F03",
"b c #3F2004",
"c c #422204",
"d c #472505",
"e c #4A2705",
"f c #4C2906",
"g c #4F2A06",
"h c #502B06",
"i c #321902",
"j c #311802",
"k c #4D2906",
"l c #512C06",
"m c #552E07",
"n c #1D0C01",
"o c #361B03",
"p c #3D2004",
"q c #381D03",
"r c #210E01",
"s c #261102",
"t c #2B1502",
"u c #110600",
"v c #231001",
"w c #291302",
"x c #452405",
"y c #512B06",
"z c #412204",
"A c #442304",
"B c #482605",
"C c #532C07",
"D c #562F07",
"E c #542E07",
"F c #331903",
"G c #271202",
"H c #462505",
"I c #3D1F04",
"J c #351A03",
"K c #1B0B01",
"L c #0E0400",
"M c #4E2906",
"N c #331A03",
"O c #291402",
"P c #1F0D01",
"Q c #3A1D03",
"R c #542D07",
" ",
" ",
" ",
" ",
" ",
" ",
".+@#.@@.#.+.+.#.@@.#@#$%& ",
"********************=-;>,')!~{]^@.#.#$/((_& :_<[(}(}(",
"||||||||||||||||||||||||||||||||1**=23;456789000a0)0abcdefghhghh",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"********************1|||||||||||||||||||||||||||||||||||||||||||",
".+@#.@@.#.+.+.#.@@.#@ij)0d6klm3-=***||||||||||||||||||||||||||||",
" :_<[n$.@.#.ij~o~~p00000a0)0a000)!~oqoqo",
" :_<rst@",
"[[(}(}([<_: &u(vw.#@{o)ax,ym3=*",
"yhhhghhgfedcba0)zaz)0a00a00za0)0a00a00za0)00ABkCm3=1||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*",
"|||||||||||||||||||||||||||||||||||||||||||||||||||*3DEl,680{F@@",
"~~oqoqo~!)000a0)zaz)0a00a00za0)0a00a00za0)0a0p)~oi.#Gs(n%_ ",
"(u& ",
"k,Hx0z)0a00a0Ipoqoqo~~{]^@.#.t$/<_ ",
"|||||||||||||||||||||||||1**=-3mh,xcp~~oJ.#.t$KL ",
"||||||||||||||||||||||||||||||||||||||||||*=3;>Mdb!~oqNJ.OP}(%L ",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||1=;>5,Bx",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"o)Qzaz)0a009xBfkgghhyCm3-=***|||||||||||||||||||||||||||||||||||",
" L%(}(}([[n$.@.#.@j~!)087fCm3=**||||||||||||||||||||",
" &_(vO.#.@jQzdefghR;=1|||||||",
" :_<[(}PO.JNqo)zd",
" :",
" ",
" ",
" ",
" "};

139
ressources/barricades_6.xpm Normal file
View file

@ -0,0 +1,139 @@
/* XPM */
static char * barricades_6_xpm[] = {
"64 64 72 1",
" c #000001",
". c #2B1402",
"+ c #301702",
"@ c #2E1602",
"# c #2D1602",
"$ c #241001",
"% c #150701",
"& c #080200",
"* c #593008",
"= c #583008",
"- c #582F07",
"; c #562E07",
"> c #532D07",
", c #4B2805",
"' c #442404",
") c #3B1E03",
"! c #3A1E03",
"~ c #391D03",
"{ c #371C03",
"] c #341A03",
"^ c #301802",
"/ c #210F01",
"( c #190A01",
"_ c #100500",
": c #020100",
"< c #180901",
"[ c #1C0B01",
"} c #1A0A01",
"| c #5A3108",
"1 c #593108",
"2 c #583007",
"3 c #572F07",
"4 c #522C06",
"5 c #4E2A06",
"6 c #492705",
"7 c #472605",
"8 c #432304",
"9 c #3F2104",
"0 c #3E2004",
"a c #3C1F03",
"b c #3F2004",
"c c #422204",
"d c #472505",
"e c #4A2705",
"f c #4C2906",
"g c #4F2A06",
"h c #502B06",
"i c #321902",
"j c #311802",
"k c #4D2906",
"l c #512C06",
"m c #552E07",
"n c #1D0C01",
"o c #361B03",
"p c #3D2004",
"q c #381D03",
"r c #210E01",
"s c #261102",
"t c #2B1502",
"u c #110600",
"v c #231001",
"w c #291302",
"x c #452405",
"y c #512B06",
"z c #412204",
"A c #442304",
"B c #482605",
"C c #532C07",
"D c #562F07",
"E c #542E07",
"F c #331903",
"G c #271202",
" ",
" ",
" ",
" ",
" ",
" ",
".+@#.@@.#.+.+.#.@@.#@#$%& ",
"********************=-;>,')!~{]^@.#.#$/((_& :_<[(}(}(",
"||||||||||||||||||||||||||||||||1**=23;456789000a0)0abcdefghhghh",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"********************1|||||||||||||||||||||||||||||||||||||||||||",
".+@#.@@.#.+.+.#.@@.#@ij)0d6klm3-=***||||||||||||||||||||||||||||",
" :_<[n$.@.#.ij~o~~p00000a0)0a000)!~oqoqo",
" :_<rst@",
"[[(}(}([<_: &u(vw.#@{o)ax,ym3=*",
"yhhhghhgfedcba0)zaz)0a00a00za0)0a00a00za0)00ABkCm3=1||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*",
"|||||||||||||||||||||||||||||||||||||||||||||||||||*3DEl,680{F@@",
"~~oqoqo~!)000a0)zaz)0a00a00za0)0a00a00za0)0a0p)~oi.#Gs(n%_ ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

123
ressources/barricades_7.xpm Normal file
View file

@ -0,0 +1,123 @@
/* XPM */
static char * barricades_7_xpm[] = {
"64 64 56 1",
" c #000001",
". c #2B1402",
"+ c #301702",
"@ c #2E1602",
"# c #2D1602",
"$ c #241001",
"% c #150701",
"& c #080200",
"* c #593008",
"= c #583008",
"- c #582F07",
"; c #562E07",
"> c #532D07",
", c #4B2805",
"' c #442404",
") c #3B1E03",
"! c #3A1E03",
"~ c #391D03",
"{ c #371C03",
"] c #341A03",
"^ c #301802",
"/ c #210F01",
"( c #190A01",
"_ c #100500",
": c #020100",
"< c #180901",
"[ c #1C0B01",
"} c #1A0A01",
"| c #5A3108",
"1 c #593108",
"2 c #583007",
"3 c #572F07",
"4 c #522C06",
"5 c #4E2A06",
"6 c #492705",
"7 c #472605",
"8 c #432304",
"9 c #3F2104",
"0 c #3E2004",
"a c #3C1F03",
"b c #3F2004",
"c c #422204",
"d c #472505",
"e c #4A2705",
"f c #4C2906",
"g c #4F2A06",
"h c #502B06",
"i c #321902",
"j c #311802",
"k c #4D2906",
"l c #512C06",
"m c #552E07",
"n c #1D0C01",
"o c #361B03",
"p c #3D2004",
"q c #381D03",
" ",
" ",
" ",
" ",
" ",
" ",
".+@#.@@.#.+.+.#.@@.#@#$%& ",
"********************=-;>,')!~{]^@.#.#$/((_& :_<[(}(}(",
"||||||||||||||||||||||||||||||||1**=23;456789000a0)0abcdefghhghh",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
"********************1|||||||||||||||||||||||||||||||||||||||||||",
".+@#.@@.#.+.+.#.@@.#@ij)0d6klm3-=***||||||||||||||||||||||||||||",
" :_<[n$.@.#.ij~o~~p00000a0)0a000)!~oqoqo",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

View file

@ -0,0 +1,68 @@
/* XPM */
static char * barricades_8_xpm[] = {
"64 64 1 1",
" c #000001",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

View file

@ -0,0 +1,22 @@
NO ressources/north.xpm
SO ressources/south.xpm
WE ressources/west.xpm
EA ressources/east.xpm
F 220,100,0
C 225,30,0
1111111111111111111111111
1000000000110000000000001
1011000001110000000000001
10D1000000000000000000001
111111111011000001110M00000000001
100000000011000001110111110111111
11110111111111011100000010001
11110111111111011101010010001
11000000110101011100000010002
100000000000000011J0000010001
10000000000000001101010010001
11Q00001110101011111011110N0111
11110111 1110101 101111010001
11111111 1111111 111111111111

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/17 14:59:37 by kcolin #+# #+# */
/* Updated: 2025/09/05 20:26:30 by tchampio ### ########.fr */
/* Updated: 2025/09/10 14:56:37 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -29,6 +29,7 @@ typedef struct s_cub3d_data
t_img_data *so_texture;
t_img_data *we_texture;
t_img_data *ea_texture;
t_img_data *barricades_texture[7];
t_img_data *img_data;
t_img_data *point_figures[10];
t_img_data *perk_logos[3];

View file

@ -6,7 +6,7 @@
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/03 17:02:08 by tchampio #+# #+# */
/* Updated: 2025/09/08 17:25:53 by tchampio ### ########.fr */
/* Updated: 2025/09/10 14:56:33 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -97,6 +97,20 @@ void load_textures(t_cub3d_data *data)
data->so_texture = load_single_texture(data, data->map->so_texture);
data->we_texture = load_single_texture(data, data->map->we_texture);
data->ea_texture = load_single_texture(data, data->map->ea_texture);
data->barricades_texture[0] = load_single_texture(data,
"ressources/barricades_2.xpm");
data->barricades_texture[1] = load_single_texture(data,
"ressources/barricades_3.xpm");
data->barricades_texture[2] = load_single_texture(data,
"ressources/barricades_4.xpm");
data->barricades_texture[3] = load_single_texture(data,
"ressources/barricades_5.xpm");
data->barricades_texture[4] = load_single_texture(data,
"ressources/barricades_6.xpm");
data->barricades_texture[5] = load_single_texture(data,
"ressources/barricades_7.xpm");
data->barricades_texture[6] = load_single_texture(data,
"ressources/barricades_8.xpm");
load_points_textures(data);
load_perk_logos(data);
load_round_indicators(data);

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/06 11:25:05 by kcolin #+# #+# */
/* Updated: 2025/08/20 12:47:52 by tchampio ### ########.fr */
/* Updated: 2025/09/09 10:15:46 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -25,14 +25,14 @@ static bool out_of_bounds(t_mapdata *data, int x, int y)
bool blocks_movement(t_mapdata *data, int x, int y)
{
if (out_of_bounds(data, x, y) || data->map[y][x] == '1')
if (out_of_bounds(data, x, y) || ft_strchr("12345678", data->map[y][x]))
return (true);
return (false);
}
bool blocks_view(t_mapdata *data, int x, int y)
{
if (out_of_bounds(data, x, y) || data->map[y][x] == '1')
if (out_of_bounds(data, x, y) || ft_strchr("12345678", data->map[y][x]))
return (true);
return (false);
}

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/17 14:18:13 by kcolin #+# #+# */
/* Updated: 2025/08/18 13:46:15 by kcolin ### ########.fr */
/* Updated: 2025/09/08 17:51:38 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -20,10 +20,12 @@
* Q - Quick Revive perk
* J - Juggernog perk
* D - Double tap perk
* 2345678 - barricade and it's levels starting from 2 (every planks) to 8
* beware of zombies
*/
bool has_forbidden_characters(char *line)
{
static const char *allowedchars = " 10NSEWMQJDz\n";
static const char *allowedchars = " 102345678NSEWMQJDz\n";
size_t strsize;
int i;

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/06/06 17:54:42 by tchampio #+# #+# */
/* Updated: 2025/08/12 13:43:42 by tchampio ### ########.fr */
/* Updated: 2025/09/09 10:01:57 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -44,7 +44,7 @@ void print_mapdata(const t_mapdata *data)
void flood_fill(t_mapdata *map, int x, int y)
{
if (map->mapflood[y][x] == '1')
if (ft_strchr("12345678", map->mapflood[y][x]))
return ;
if (map->mapflood[y][x] == 'z')
return ;

42
src/raycast/barricades.c Normal file
View file

@ -0,0 +1,42 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* barricades.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/09 14:00:36 by tchampio #+# #+# */
/* Updated: 2025/09/09 14:04:01 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#include "ray.h"
#include "../cub3d_data.h"
#include "../sprites/create_sprite.h"
void check_barricades(t_ray *ray, t_cub3d_data *data)
{
static int last_barricade_y;
static int last_barricade_x;
static int remaining_ticks = BARRICADE_TICK;
if (data->map->map[ray->map_y][ray->map_x] >= '2'
&& data->map->map[ray->map_y][ray->map_x] <= '8')
{
if (last_barricade_x != ray->map_x || last_barricade_y != ray->map_y)
{
last_barricade_x = ray->map_x;
last_barricade_y = ray->map_y;
remaining_ticks = BARRICADE_TICK;
}
remaining_ticks--;
if (remaining_ticks <= 0)
{
remaining_ticks = BARRICADE_TICK;
if (data->map->map[last_barricade_y][last_barricade_x] < '8')
data->map->map[last_barricade_y][last_barricade_x]++;
if (data->map->map[last_barricade_y][last_barricade_x] == '8')
create_zombie(data, last_barricade_x, last_barricade_y);
}
}
}

21
src/raycast/barricades.h Normal file
View file

@ -0,0 +1,21 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* barricades.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/09 14:01:49 by tchampio #+# #+# */
/* Updated: 2025/09/09 14:02:33 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef BARRICADES_H
# define BARRICADES_H
# include "../cub3d_data.h"
# include "ray.h"
void check_barricades(t_ray *ray, t_cub3d_data *data);
#endif // BARRICADES_H

View file

@ -6,11 +6,12 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/31 11:55:41 by kcolin #+# #+# */
/* Updated: 2025/08/20 12:48:06 by tchampio ### ########.fr */
/* Updated: 2025/09/09 14:07:24 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#include "ray.h"
#include "barricades.h"
#include "raycaster.h"
#include "../player/player.h"
#include "../consts.h"
@ -108,6 +109,7 @@ void raycaster(t_cub3d_data *data, t_ray *ray)
ray_calculate_step(ray, &data->player);
calculate_wall_dist(ray, data->map);
calculate_wall_height(ray, &data->player);
check_barricades(ray, data);
render_walls(data, ray, x);
data->zbuffer[x] = ray->wall_dist;
x++;

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/05 12:49:49 by kcolin #+# #+# */
/* Updated: 2025/08/05 12:49:49 by kcolin ### ########.fr */
/* Updated: 2025/09/09 14:01:28 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -14,6 +14,7 @@
# define RAY_H
# include "../map/mapdata.h"
# define BARRICADE_TICK 55000
/*
* plane - plan de camera (vectoriel)

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/31 13:17:39 by kcolin #+# #+# */
/* Updated: 2025/08/06 14:15:08 by tchampio ### ########.fr */
/* Updated: 2025/09/10 15:03:17 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -15,6 +15,7 @@
#include "ray.h"
#include "../renderer/render.h"
#include "../draw/drawutils.h"
#include "../../libft/includes/libft.h"
t_cardinal_dir get_cardinal(t_ray *ray)
{
@ -34,6 +35,25 @@ t_cardinal_dir get_cardinal(t_ray *ray)
}
}
t_img_data *get_right_barricade(t_cub3d_data *data, char c)
{
if (c == '2')
return (data->barricades_texture[0]);
if (c == '3')
return (data->barricades_texture[1]);
if (c == '4')
return (data->barricades_texture[2]);
if (c == '5')
return (data->barricades_texture[3]);
if (c == '6')
return (data->barricades_texture[4]);
if (c == '7')
return (data->barricades_texture[5]);
if (c == '8')
return (data->barricades_texture[6]);
return (data->so_texture);
}
static int get_color(t_cub3d_data *data, t_ray *ray, int tex_y)
{
t_cardinal_dir dir;
@ -45,6 +65,9 @@ static int get_color(t_cub3d_data *data, t_ray *ray, int tex_y)
|| (ray->side == SOUTH && ray->dir_y > 0))
tex_x = TEXTURE_SIZE - tex_x - 1;
dir = get_cardinal(ray);
if (ft_strchr("2345678", data->map->map[ray->map_y][ray->map_x]))
return (my_mlx_pixel_get(get_right_barricade(data,
data->map->map[ray->map_y][ray->map_x]), tex_x, tex_y));
if (dir == NORTH)
texture = data->no_texture;
else if (dir == SOUTH)

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/18 13:52:23 by kcolin #+# #+# */
/* Updated: 2025/08/18 19:19:53 by tchampio ### ########.fr */
/* Updated: 2025/09/09 14:08:10 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -30,6 +30,16 @@ t_sprite *create_sprite(t_cub3d_data *data, char *texture,
return (sprite);
}
void create_zombie(t_cub3d_data *data, double x, double y)
{
if (data->sprite_counter > MAX_SPRITES - 1)
return ;
data->sprite_list[data->sprite_counter] = create_sprite(data,
"ressources/zombie.xpm", x, y);
data->sprite_list[data->sprite_counter]->sprite_type = ZOMBIE;
data->sprite_counter++;
}
t_sprite *place_right_sprite(t_cub3d_data *data, char c, double x, double y)
{
t_sprite *sprite;

View file

@ -6,7 +6,7 @@
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/12 15:49:25 by tchampio #+# #+# */
/* Updated: 2025/08/12 16:13:02 by tchampio ### ########.fr */
/* Updated: 2025/09/09 13:30:02 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -19,5 +19,6 @@ t_sprite *create_sprite(t_cub3d_data *data,
char *filename, double x, double y);
t_sprite *place_right_sprite(t_cub3d_data *data, char c, double x,
double y);
void create_zombie(t_cub3d_data *data, double x, double y);
#endif // CREATE_SPRITE_H

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/18 13:05:31 by kcolin #+# #+# */
/* Updated: 2025/09/08 17:02:43 by tchampio ### ########.fr */
/* Updated: 2025/09/10 15:18:58 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
@ -25,6 +25,7 @@ void destroy_texture(t_cub3d_data *data, t_img_data *data_img)
void destroy_textures(t_cub3d_data *data)
{
int i;
if (data->no_texture)
mlx_destroy_image(data->mlx, data->no_texture->img);
free(data->no_texture);
@ -37,6 +38,9 @@ void destroy_textures(t_cub3d_data *data)
if (data->we_texture)
mlx_destroy_image(data->mlx, data->we_texture->img);
free(data->we_texture);
i = 0;
while (i < 7)
destroy_texture(data, data->barricades_texture[i++]);
}
void destroy_sprites(t_cub3d_data *data)