Compare commits

...

23 commits

Author SHA1 Message Date
Theo Champion
94f018d23b chore: Changed quick revive texture 2025-09-22 17:46:10 +02:00
Theo Champion
d34d4404e0 fix: Decreased the number of barricades 2025-09-22 17:22:02 +02:00
Theo Champion
c146fc1731 chore: Changed various things about textures
- removed png files
- changed barricades textures
2025-09-22 17:20:10 +02:00
Theo Champion
49e36b7343 fix: Fixed makefile missing a file 2025-09-18 14:25:20 +02:00
Theo Champion
43f1ab6090 norme: Fixed norme issues 2025-09-18 12:52:18 +02:00
Theo Champion
82664c5d13 fix: replaced magic values for their variables counterparts 2025-09-18 12:30:41 +02:00
Theo Champion
66c3bda4df dev: Added a registry for weapons
The registry is for storing weapons structs as they are closer to actual
objects than simple data.
2025-09-18 12:25:10 +02:00
Theo Champion
4048f5d1e3 dev: allocated weapon on the heap 2025-09-17 16:59:32 +02:00
Theo Champion
0b00f5608c feat: Added a cheat for ammos 2025-09-17 16:46:47 +02:00
Theo Champion
c339bb7334 fix: Fixed a bug preventing auto shoot 2025-09-17 16:05:41 +02:00
Theo Champion
784962c79d feat: Added a cooldown for auto weapons 2025-09-17 12:52:30 +02:00
Theo Champion
6cee6643e4 fix: Fixed memory leak for shooting texture 2025-09-16 16:09:20 +02:00
Theo Champion
ee56e2fdbd feat: added clips for the weapon 2025-09-16 16:07:41 +02:00
Theo Champion
c3cb34c3bb enhancement: Added a nuzzle flash for the gun 2025-09-16 15:59:07 +02:00
Theo Champion
b94e722ab9 feat: Added an aiming point in the hud 2025-09-16 14:19:28 +02:00
Theo Champion
37bb56733e feat: Made zombies killable
Code is almost normed I will make a function to handle sprites
interractions
2025-09-15 15:46:06 +02:00
Theo Champion
46b40540dc fix: Added a currently aimed zombie pointer to the player struct and improved zombie checker function 2025-09-15 14:14:50 +02:00
Theo Champion
50164e94bb dev: Added zombie_checker.c in the makefile 2025-09-15 14:14:02 +02:00
Theo Champion
27af850525 norme: Fixed norme errors 2025-09-15 13:11:59 +02:00
Theo Champion
5da3583077 dev: added new makefile rule for compiling with sanitizers 2025-09-14 17:43:46 +02:00
Theo Champion
c7c71690e2 dev: Added raycasting rule for zombies 2025-09-14 17:43:20 +02:00
Theo Champion
d7781f44d2 feat: Added shooting event 2025-09-14 17:42:48 +02:00
Theo Champion
b0ac26a7f6 wip: Adding weapon class and usage 2025-09-11 23:41:00 +02:00
41 changed files with 8176 additions and 1211 deletions

View file

@ -11,11 +11,11 @@ IFLAGS = -I./mlx -I./libft
SOURCEFILES = \ SOURCEFILES = \
src/hud/load_texture.c \ src/hud/load_texture.c \
src/hud/hud.c \ src/hud/hud.c \
src/utils/inits.c \
src/utils/time.c \ src/utils/time.c \
src/utils/destroy_utils.c \ src/utils/destroy_utils.c \
src/draw/draw_map.c \ src/draw/draw_map.c \
src/draw/drawutils.c \ src/draw/drawutils.c \
src/utils/inits.c \
src/main.c \ src/main.c \
src/map/checkers.c \ src/map/checkers.c \
src/map/collision.c \ src/map/collision.c \
@ -29,9 +29,12 @@ SOURCEFILES = \
src/player/player.c \ src/player/player.c \
src/player/move.c \ src/player/move.c \
src/player/move_step.c \ src/player/move_step.c \
src/player/register_weapons.c \
src/player/weapons.c \
src/raycast/barricades.c \ src/raycast/barricades.c \
src/raycast/ray.c \ src/raycast/ray.c \
src/raycast/walls.c \ src/raycast/walls.c \
src/raycast/zombie_checker.c \
src/renderer/render.c \ src/renderer/render.c \
src/sprites/create_sprite.c \ src/sprites/create_sprite.c \
src/sprites/move_sprites.c \ src/sprites/move_sprites.c \
@ -69,6 +72,9 @@ fclean: clean
bonus: CFLAGS += -D BONUS=1 bonus: CFLAGS += -D BONUS=1
bonus: all bonus: all
bonus-sane: CFLAGS += -D BONUS=1 $(SANITIZERS)
bonus-sane: all
sane: CFLAGS += $(SANITIZERS) sane: CFLAGS += $(SANITIZERS)
sane: all sane: all

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View file

@ -1,162 +1,147 @@
/* XPM */ /* XPM */
static char * barricades_2_xpm[] = { static char *barricades_2[] = {
"64 64 95 2", /* columns rows colors chars-per-pixel */
" c #000001", "64 64 77 1 ",
". c #2D1602", " c black",
"+ c #593008", ". c #000001",
"@ c #5A3108", "X c #000101",
"# c #462405", "o c #010101",
"$ c #572F07", "O c #010102",
"% c #452405", "+ c #010202",
"& c #100500", "@ c #010203",
"* c #2B1402", "# c #020203",
"= c #583008", "$ c #020204",
"- c #4E2906", "% c #020304",
"; c #1E0C01", "& c #020305",
"> c #321902", "* c #030305",
", c #291302", "= c #030405",
"' c #130601", "- c #030406",
") c #502B06", "; c #030407",
"! c #542D07", ": c #030507",
"~ c #271202", "> c #040507",
"{ c #361B03", ", c #040508",
"] c #552E07", "< c #040608",
"^ c #231001", "1 c #040609",
"/ c #381C03", "2 c #050609",
"( c #593108", "3 c #05060A",
"_ c #0E0400", "4 c #05070A",
": c #3C1F04", "5 c #05070B",
"< c #532C07", "6 c #06070B",
"[ c #190A01", "7 c #06080B",
"} c #1A0A01", "8 c #06080C",
"| c #4E2A06", "9 c #06080D",
"1 c #462505", "0 c #07080D",
"2 c #4D2906", "q c #07090D",
"3 c #110600", "w c #07090E",
"4 c #3F2104", "e c #070A0E",
"5 c #301702", "r c #080A0E",
"6 c #2E1602", "t c #080A0F",
"7 c #512B06", "y c #080B0F",
"8 c #4A2705", "u c #080B10",
"9 c #190901", "i c #090B10",
"0 c #080200", "p c #090C10",
"a c #583007", "a c #090C11",
"b c #532D07", "s c #0A0C11",
"c c #4B2805", "d c #0A0C12",
"d c #442404", "f c #0A0D12",
"e c #3B1E03", "g c #0B0D13",
"f c #3A1E03", "h c #0B0E13",
"g c #391D03", "j c #0B0E14",
"h c #371C03", "k c #0C0E14",
"i c #341A03", "l c #0C0F14",
"j c #301802", "z c #0C0F15",
"k c #472605", "x c #0D1015",
"l c #2E1702", "c c #0D1016",
"m c #1C0B01", "v c #0D1116",
"n c #4F2A06", "b c #0D1117",
"o c #402104", "n c #0E1117",
"p c #3D2003", "m c #0E1118",
"q c #311802", "M c #0E1218",
"r c #3E2004", "N c #0F1218",
"s c #472505", "B c #0F1219",
"t c #492705", "V c #0F1319",
"u c #512C06", "C c #101319",
"v c #582F07", "Z c #10131A",
"w c #562E07", "A c #10141A",
"x c #020100", "S c #11141B",
"y c #180901", "D c #11151B",
"z c #1D0C01", "F c #11151C",
"A c #241001", "G c #12151C",
"B c #3D2004", "H c #12161D",
"C c #3C1F03", "J c #13161D",
"D c #4C2905", "K c #13171E",
"E c #522C07", "L c #14171F",
"F c #2D1502", "P c #14181F",
"G c #422204", "I c #141820",
"H c #522C06", "U c #151820",
"I c #281201", "Y c #151920",
"J c #412204", "T c #151921",
"K c #3D1F03", "R c #9F7505",
"L c #562F07", "E c #AE7F00",
"M c #542E07", "W c #BA8800",
"N c #432304", /* pixels */
"O c #331903", "DMJ,ooo%tTD-qqqqqqqoEEWEEWWEo-%%DqoERWWEERWEEoqqqbq,%obbbbbbbb-T",
"P c #261102", "DMJooooo-%o-qqqqqqqoEWWEERWEooooDqoERWWRERWEEoqqqqq,oqbbbbbbbb-%",
"Q c #150701", "DMJooooo%%o-qqqqqqqoEWWEERWEooooDqoERWWRERWEEooqqqq,o>bbbbbbbb>%",
"R c #281302", "DMJooooo%%o-qqqqqq,oEWWEERWEooooDqooRWWEEWREEooqqqq%%obbbbbbbs-%",
"S c #351A03", "DMJooo%o>,o-qqqqqqooEWWERRWEoo,,Z%ooRWWEEWREEWo-q-%o%obbbbsss-%%",
"T c #2B1502", "DM,ooooo,,oq%----%ooEWWERWWEo%-uMD%oEWWEEWREEWo-----,ouuuuqq7qq-",
"U c #1B0B01", "DZ-oo-oooooooooo%%oEEWWERRWoo-ooooooEWWEEWREEWooooooooqoo%sbbbbq",
"V c #3F2004", "DZ,,%o,oo,bbbosoMboEERWERRWooooqqq%ooWWREWREEWoobbbbbbb-oqbbbutt",
"W c #381D03", "DMs,,q,oo,bMbbboDboEERWERRWo%%%%%%o%oWWREWWREWWobbbbbbbttbbbb,%%",
"X c #331A03", "DMJ,,q,oo,bMbb-oDboERWWERWWo%%%%%o,qooWEEWWEEWWoobbbbbbttbb,,-%%",
"Y c #291402", "DMJ,,q,ooou,ooooDooERRWERRWo%%%%%%o,ooWEEWWEEWWooqqbbq-qqsq%oooo",
"Z c #1F0D01", "oMMDDTJtqq%%>oooJooERWWEEWooooooooooboWERWWEERWEo%-,,%oooooooEEE",
"` c #482605", "ooooqq,%oo,PTss,MooERWWEEWoo-->utq%--oWERWWRERWEoooooooooWWWRWWW",
" . c #422304", "WWWoo,%o,,,q-o%,ooWERWWEEWooooqqbbzzqoWERWWRERWEooRRRRWWWWWWWRRR",
".. c #4C2906", "RRREoooooqq,TTToooWERWWEEWo%%%oobooooooEEWWRERWEEoEEEERRRRREEEEE",
"+. c #3A1D03", "EERREEEooo-b%oooooWERWWEEWo%oooooooERRoEEWWRERREEooEEEEEEEEEEEEE",
" . + @ @ @ @ @ @ @ @ @ @ @ @ + # $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & ", "WWWWWWRWWooo%oooooWEEEWEEWoooWWWWWWWRRooERWEERREEWoWWWWWWWWWWWWW",
" * @ @ @ @ @ @ @ @ @ @ @ @ @ = * % = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ; ", "RRRWWWRRWWWoooooooWEEEWEEWoRRRRRWWWWWWooERWEEWRREWooWRWWWWWWWRRR",
" > @ @ @ @ @ @ @ @ @ @ @ @ @ $ , ' ) @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ! ~ ", "EEEEEEooooooRREEooWEEWWEEooEEERREERREEEoEWREEWWREWooRRRRRREEEEEE",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ ] ^ / ( @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ = { _ ", "oooooooEEEEEEERRooWEEWWREooEERRRRREEEEEooWREEWWEEWWoEEEEEEEEEooo",
" : @ @ @ @ @ @ @ @ @ @ @ @ @ < [ } | @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & ", "WWWWWWWWWWWWWWWWoWWEEWWREooRRRWWWWWWWWWooWWERWWEEWWoWWooooooooqo",
" 1 @ @ @ @ @ @ @ @ @ @ @ @ @ 2 3 4 + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ) ; ", "RRRRRRRRRRRWWWWWoWWEEWWREooWWWWWWWWWRRRRoWWERWWEEWWooooo,bbbbbqo",
"* 5 6 . * 6 6 6 7 @ @ @ @ @ @ @ @ @ @ @ @ @ 8 9 0 ; ! @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 7 ; ", "EEEEEEEEEEEEEEEEoWREEWWEEoREEEEEEERREEEEooWEEWWERWWEoooo,t,,,,oo",
"+ + + + + + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ a b c d e f g h i j 6 6 k @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ! l m [ } [ } [ ", "EEEEEEEERREEEEERoWREEWWEEoEEEEEEEEooooooooWEEWWERWWEo%%-%%oooooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( + + = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( < ) ) n ) ) ", "WRRRRRRRWWWWWWWooWREEWWEEooooooooooTqD-osooEEWWERWWEoosJoo,qqq,,",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WWWWWWWWWWWWWWRooWREEWWEoooWWWoooooooooooooEEWWERWWEooooooooooqs",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "ERRRRREEEEEEEooooWREEWWEooEEEEEoooobbbbbbooEERWEEWWEoosbs,q,%%o,",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "REEEEoooooooooooEWREEWWEoEEEEEEEEEoooobbbtoEERWEEWWEEobqqzzs,%oo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "ooooooo-qqq,%-,oEWWEEWREoRRWWWWWWWWWWooooqoEEWREEWREEobzzbbq-oos",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", ",,,q,,,%qqq,%qqoEWWEERWEoWWRRRRRWWWWWWWWooooEWREEWWEEobbbbqoooob",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "M%ooooooooooq,,oEWWERWWEoEEEERRRREERREEEEoooEWWREWWEEoobbMqoooo%",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DMZZDMMMDDDMZDooEWWEEWWEoEEEEEEEEEEEERREEEEooWWREWWEEWo>Z-oo%,o,",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DZ,%oD,%ttt%-tooEWWEEWWoooWWWWRRWWWWWWWWWWWooWWREWWREWoosobboooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DD,,qJ,-,,ttqqoEEWWEEWWoooooWWRWRRRRWWWWRRRooWWEEWWREWoosozsoooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DZ,,qJ,,q%,,qqoEEWWERWWo,o,oooooEEEEEEEEEEEEooWEEWWREWWos,,ooooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DMLqqJ,q%,ooqqoERWWERWWo%o,%oooooEEEEEEEEEEEooWEEWWREWWooobbooo%",
"+ + + + + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DMMJsTzJ,-oo%%oRRWWERWWooo,,--%LoooWWWWWWWWWWoWEERWERWWEoo%%o--o",
"* 5 6 . * 6 o @ @ @ @ @ @ @ @ @ @ @ @ @ = p q e r s t 2 u ] $ v = + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "qjjjjjzzTMMt,,oREWWERWWoooo%,qq7Z,oooWWWRRRWWoWEERWERWWEoooooooJ",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ w ^ x & y m z A * 6 * . * > q g { g g B r r r r r C r e 4 D @ @ @ @ @ @ @ @ @ @ @ ", ";,,,555%ooq-qooREWWERWoooooooooootoqoooEEEEEEooEERWERWWEooEEoo,o",
" f @ @ @ @ @ @ @ @ @ @ @ @ @ E [ 0 ; F G H = @ @ @ @ @ @ @ @ @ @ @ ", "oo,,555o%%o-qooREWWERWo-oooooooootqqqqooooEEEEoEEWWEEWWEEoEEEooo",
"m m [ } [ } 1 @ @ @ @ @ @ @ @ @ @ @ @ @ 2 3 & I J ) $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "Wooooooo%%o-qooRRWWERWo,o%ooooo,otqqqqqqqoooWWooEWWEEWWEEoRRWWoo",
"7 ) ) ) n ) $ @ @ @ @ @ @ @ @ @ @ @ @ @ ) p r r C r r J C r e r C r r C r r J C 4 K 1 | $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "RRRRRRooooooooWREWWRRWo,oooooo-o%,qqqqqqqq,oooooEWWEEWWEEoWWRWWW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "EEEEERRRREEERoWREWWRRWoooooo-,,qMT-->---o%qoooooEWREEWWEEooEEREE",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "RRRWWWWWWWWWWoWREWWRRWoWWWoooooooooooPJJbMJPPJJoEWRREWWREEoEEEEE",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WWWRRRRWWWWRooWREWWEEWoRRWWWWWWWWWooooooooooozMoEWWREWWREWooWWWW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "EEEEEEEEEEEEooWREWWEEWoERRRRREEEEEEEEEEEEooooooooWWREWWREWooRRWW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "EEEEEEEEEEEEoWWREWWEEooEEEEEEEEERRRRREEEEEEEEEEEoWWREWWEEWWoEERE",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WRRRWWWRWWWWoWWEEWWEEoWWWWWWWWWWWWWWWWWWWRRRRRRWooWRRWWEEWWooooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WWWWWWWWWWWWoWWEEWWREoRRRRRWWWWWWWWWWWWWWWWWWWRRRoWERWWEEWWooWWW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "ooooooooooEEoWWEEWWREoRREERREEEERREEEREEEEEEEEEEEoWERWWEERWooEEE",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "ZZq,,,-ooooooRWEEWWREoEEEEEEEEEEEEEERRRREEEERRREEoWERWWEERWEoRRE",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "ZMJ,,,,%,,qooRWEEWWRooooooooWWWWWWWWWWWWWWWWWWWWWoWEEWWEERWEooWW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "ZMs,--ooooqooRWERWWRoobbqoooooooooooWWWWWWWWWRRRRoWEEWWEERWEEoWW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + ", "DZ,,%oooqqqooRWRRWWRotsqoo-q,o-obooooooooooERREEEooEEWWEEWWEEoEE",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + $ L M u c t N r h O 6 6 ", "ZD,,,%%oq%uoERWRRWWRo--oooooo-,ooo%%-,,,,oooooooooooEWREEWWEEoRR",
"g g e d b @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ = | o h > * . ~ P [ z Q & ", "ZZssssst,sMoERWERWWRo,osJ,,ssss,M,sssoooooobMMMMMDooEWRREWWEEooW",
"i k L @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + 7 o R 0 ", "Duuq,Pu,,>-oERWERWWRo;,>-qMoooooooo-,%sq,,-%%---Jo-oEWWREWWEEWoo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $ c i y 0 ", "Zjq,oJ,>oqqoRWWRRWWooqqqq-Jo,%%%q,%o%,usqqqqqqqoDo%oEWWEEWWEEWoo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + b 1 C { S * . * T A U _ ", "DDqqoJ,,,-ooEWWRRWWoojq%o%bo%%%%%%ooo,qqqqqqqqq%MqooEWWEEWWEEWoo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + = $ w b - s V f g { W X S * Y Z } [ Q _ ", "DDq,oJs,,%ooEWWRRWWoquq,%,bo%%%s-%ooo,qqqqqqq-,,ZooooWWEEWWREWoo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( = w b | c ` % ", "DDq%oMDu,,oERWWERWWoqto>,,bo%%-,%oooM,qqqqq%>,,oDooooWWEEWWERWEo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DDq,oMMq,,oERWWERWWo,,,,,,b%oo,o%ooo-qo>%%-,qDJJM,oooWREEWWRRWEo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DDqqqMb,,,oERWWERWWo,,,,qqb-os-ooooo%b,q,5,,o,q5Z,,,oWWREWWEEWEo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "qMMMDDDZMMoREWWEEWWo,M>qqq-MMZbo-qoZMMMbbMbbbbbbbMbboWWEEWWEEWEo"
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", };
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"] 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 ^ "};

View file

@ -1,160 +1,148 @@
/* XPM */ /* XPM */
static char * barricades_3_xpm[] = { static char *barricades_3[] = {
"64 64 93 2", /* columns rows colors chars-per-pixel */
" c #000001", "64 64 78 1 ",
". c #2D1602", " c black",
"+ c #593008", ". c #000001",
"@ c #5A3108", "X c #000101",
"# c #462405", "o c #010101",
"$ c #572F07", "O c #010102",
"% c #452405", "+ c #010202",
"& c #100500", "@ c #010203",
"* c #2B1402", "# c #020203",
"= c #583008", "$ c #020204",
"- c #4E2906", "% c #020304",
"; c #1E0C01", "& c #020305",
"> c #321902", "* c #030305",
", c #291302", "= c #030405",
"' c #130601", "- c #030406",
") c #502B06", "; c #030407",
"! c #542D07", ": c #030507",
"~ c #271202", "> c #040507",
"{ c #361B03", ", c #040508",
"] c #552E07", "< c #040608",
"^ c #231001", "1 c #040609",
"/ c #381C03", "2 c #050609",
"( c #593108", "3 c #05060A",
"_ c #0E0400", "4 c #05070A",
": c #3C1F04", "5 c #05070B",
"< c #532C07", "6 c #06070B",
"[ c #190A01", "7 c #06080B",
"} c #1A0A01", "8 c #06080C",
"| c #4E2A06", "9 c #06080D",
"1 c #462505", "0 c #07080D",
"2 c #4D2906", "q c #07090D",
"3 c #110600", "w c #07090E",
"4 c #3F2104", "e c #070A0E",
"5 c #301702", "r c #080A0E",
"6 c #2E1602", "t c #080A0F",
"7 c #512B06", "y c #080B0F",
"8 c #4A2705", "u c #080B10",
"9 c #190901", "i c #090B10",
"0 c #080200", "p c #090C10",
"a c #583007", "a c #090C11",
"b c #532D07", "s c #0A0C11",
"c c #4B2805", "d c #0A0C12",
"d c #442404", "f c #0A0D12",
"e c #3B1E03", "g c #0B0D13",
"f c #3A1E03", "h c #0B0E13",
"g c #391D03", "j c #0B0E14",
"h c #371C03", "k c #0C0E14",
"i c #341A03", "l c #0C0F14",
"j c #301802", "z c #0C0F15",
"k c #472605", "x c #0D1015",
"l c #2E1702", "c c #0D1016",
"m c #1C0B01", "v c #0D1116",
"n c #4F2A06", "b c #0D1117",
"o c #402104", "n c #0E1117",
"p c #3D2003", "m c #0E1118",
"q c #311802", "M c #0E1218",
"r c #3E2004", "N c #0F1218",
"s c #472505", "B c #0F1219",
"t c #492705", "V c #0F1319",
"u c #512C06", "C c #101319",
"v c #582F07", "Z c #10131A",
"w c #562E07", "A c #10141A",
"x c #020100", "S c #11141B",
"y c #180901", "D c #11151B",
"z c #1D0C01", "F c #11151C",
"A c #241001", "G c #12151C",
"B c #3D2004", "H c #12161D",
"C c #3C1F03", "J c #13161D",
"D c #522C07", "K c #13171E",
"E c #3B1E04", "L c #14171F",
"F c #412204", "P c #14181F",
"G c #442304", "I c #141820",
"H c #482605", "U c #151820",
"I c #562F07", "Y c #151920",
"J c #542E07", "T c #151921",
"K c #432304", "R c #161A21",
"L c #331903", "E c #9F7505",
"M c #381D03", "W c #AE7F00",
"N c #4C2906", "Q c #BA8800",
"O c #522C06", /* pixels */
"P c #261102", "DMJ,ooo%tTD-qqqqqqqoWWQWWQQWo-%%Dq-qqqqqqq,o--qqqbq,%obbbbbbbb-T",
"Q c #150701", "DMJooooo-%o-qqqqqqqoWQQWWEQWooooDqqqqqqqqq,-qqqqqqq,oqbbbbbbbb-%",
"R c #4B2806", "DMJooooo%%o-qqqqqqqoWQQWWEQWooooDqq,qqqqqq,otqqqqqq,o>bbbbbbbb>%",
"S c #2B1502", "DMJooooo%%o-qqqqqq,oWQQWWEQWooooDq,%tqqqqq,%uqqqqqq%%obbbbbbbs-%",
"T c #210F01", "DMJooo%o>,o-qqqqqqooWQQWEEQWoo,,Z%qqqq,o%%q-,---q-%o%obbbbsss-%%",
"U c #422204", "DM,ooooo,,oq%----%ooWQQWEQQWo%-uMD%%%,o,-,j,o%------,ouuuuqq7qq-",
"V c #351A03", "DZ-oo-oooooooooo%%oWWQQWEEQoo-ooooou%%ooooo,ooMMooooooqoo%sbbbbq",
"W c #1B0B01", "DZ,,%o,oo,bbbosoMboWWEQWEEQooooqqq%qqooo,,,oo,qobbbbbbb-oqbbbutt",
"X c #3F2004", "DMs,,q,oo,bMbbboDboWWEQWEEQo%%%%%%o%soooooooooMzbbbbbbbttbbbb,%%",
"Y c #331A03", "DMJ,,q,oo,bMbb-oDboWEQQWEQQo%%%%%o,quooooooooouzbbbbbbbttbb,,-%%",
"Z c #291402", "DMJ,,q,ooou,ooooDooWEEQWEEQo%%%%%%o,uoooo%ooooszbqqbbq-qqsq%oooo",
"` c #1F0D01", "oMMDDTJtqq%%>oooJooWEQQWWQoooooooooob----q,q,>T>,%-,,%oooooooWWW",
" . c #3A1D03", "ooooqq,%oo,PTss,MooWEQQWWQoo-->utq%--qqqqqoDTPDooooooooooQQQEQQQ",
" . + @ @ @ @ @ @ @ @ @ @ @ @ + # $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & ", "QQQoo,%o,,,q-o%,ooQWEQQWWQooooqqbbzzq,,,,oooooooQQEEEEQQQQQQQEEE",
" * @ @ @ @ @ @ @ @ @ @ @ @ @ = * % = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ; ", "EEEWoooooqq,TTToooQWEQQWWQo%%%ooboooooooooWWWWWWWWWWWWEEEEEWWWWW",
" > @ @ @ @ @ @ @ @ @ @ @ @ @ $ , ' ) @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ! ~ ", "WWEEWWWooo-b%oooooQWEQQWWQo%oooooooWEEEEWEEEEEEWWWWWWWWWWWWWWWWW",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ ] ^ / ( @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ = { _ ", "QQQQQQEQQooo%oooooQWWWQWWQoooQQQQQQQEEEEEEQQQQQEEQQQQQQQQQQQQQQQ",
" : @ @ @ @ @ @ @ @ @ @ @ @ @ < [ } | @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & ", "EEEQQQEEQQQoooooooQWWWQWWQoEEEEEQQQQQQQQQQQQQQQEEQQQQEQQQQQQQEEE",
" 1 @ @ @ @ @ @ @ @ @ @ @ @ @ 2 3 4 + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ) ; ", "WWWWWWooooooEEWWooQWWQQWWooWWWEEWWEEWWWWWWWEEWWWWWEEEEEEEEWWWWWW",
"* 5 6 . * 6 6 6 7 @ @ @ @ @ @ @ @ @ @ @ @ @ 8 9 0 ; ! @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 7 ; ", "oooooooWWWWWWWEEooQWWQQEWooWWEEEEEWWWWWWWWWWWWWWWEEWWWWWWWWWWooo",
"+ + + + + + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ a b c d e f g h i j 6 6 k @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ! l m [ } [ } [ ", "QQQQQQQQQQQQQQQQoQQWWQQEWooEEEQQQQQQQQQQEEEEQQQQQQQQQQooooooooqo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( + + = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( < ) ) n ) ) ", "EEEEEEEEEEEQQQQQoQQWWQQEWooQQQQQQQQQEEEEQQQQQQQQoooooooo,bbbbbqo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WWWWWWWWWWWWWWWWoQEWWQQWWoEWWWWWWWEEWWWWWWoooooooToooooo,t,,,,oo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WWWWWWWWEEWWWWWEoQEWWQQWWoWWWWWWWWooooooooo-qooobP%%%%%-%%oooooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "QEEEEEEEQQQQQQQooQEWWQQWWooooooooooTqD-os%o>o,qqoMsssssJoo,qqq,,",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "QQQQQQQQQQQQQQEooQEWWQQWoooQQQoooooooooooo,,-------s>oooooooooqs",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WEEEEEWWWWWWWooooQEWWQQWooWWWWWoooobbbbbbso%oooooooqozsbs,q,%%o,",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "EWWWWoooooooooooWQEWWQQWoWWWWWWWWWoooobbbto-oooooooqobbqqzzs,%oo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "ooooooo-qqq,%-,oWQQWWQEWoEEQQQQQQQQQQooooqo-oooooo,qMobzzbbq-oos",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", ",,,q,,,%qqq,%qqoWQQWWEQWoQQEEEEEQQQQQQQQoo,qooo-,,,quobbbbqoooob",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "M%ooooooooooq,,oWQQWEQQWoWWWWEEEEWWEEWWWWoooo>,,,t,%MobbbMqoooo%",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DMZZDMMMDDDMZDooWQQWWQQWoWWWWWWWWWWWWEEWWWWooo,DDtqqqqq>Z-oo%,o,",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DZ,%oD,%ttt%-tooWQQWWQQoooQQQQEEQQQQQQQQQQQQQooo,tqqqqq%sobboooo",
"+ + + + + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DD,,qJ,-,,ttqqoWWQQWWQQoooooQQEQEEEEQQQQEEEEQQQoooqqqqq%sozsoooo",
"* 5 6 . * 6 o @ @ @ @ @ @ @ @ @ @ @ @ @ = p q e r s t 2 u ] $ v = + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DZ,,qJ,,q%,,qqoWWQQWEQQo,o,oooooWWWWWWWWWWWWWWWWWooo-o-%s,,ooooo",
" { @ @ @ @ @ @ @ @ @ @ @ @ @ w ^ x & y m z A * 6 * . * > q g { g g B r r r r r C r e r t @ @ @ @ @ @ @ @ @ @ @ ", "DMLqqJ,q%,ooqqoWEQQWEQQo%o,%oooooWWWWWWWWWWWWWWWEWWooooosobbooo%",
" f @ @ @ @ @ @ @ @ @ @ @ @ @ D [ ; w @ @ @ @ @ @ @ @ @ ", "DMMJsTzJ,-oo%%oEEQQWEQQooo,,--%LoooQQQQQQQQQQQQQEEQQQQQooo%%o--o",
"m m [ } [ } 1 @ @ @ @ @ @ @ @ @ @ @ @ @ 2 3 0 3 [ ^ , * . 6 h E ) @ @ @ @ @ @ @ @ ", "qjjjjjzzTMMt,,oEWQQWEQQoooo%,qq7Z,oooQQQEEEQQEQQQEEEQQQQQooooooJ",
"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 < ] $ = ( @ @ @ @ @ @ @ @ @ @ @ @ ", ";,,,555%ooq-qooEWQQWEQoooooooooootoqoooWWWWWWWWWWWWWWWWWWWWWoo,o",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "oo,,555o%%o-qooEWQQWEQo-oooooooootqqqqooooWWWWWWWWWWWWWWEEWWWooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "Qooooooo%%o-qooEEQQWEQo,o%ooooo,otqqqqqqqoooQQQQQQQQQQQQQQEEQQoo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "EEEEEEooooooooQEWQQEEQo,oooooo-o%,qqqqqqqq,oooQQEEEEEEQQQQQQEQQQ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WWWWWEEEEWWWEoQEWQQEEQoooooo-,,qMT-->---o%qoooooWWWWEEWWWWWWWEWW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "EEEQQQQQQQQQQoQEWQQEEQoQQQoooooooooooPJJbMJPPJJoooWWWEWWWWWWWWWW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "QQQEEEEQQQQEooQEWQQWWQoEEQQQQQQQQQooooooooooozMoooooQQEEEQQQQQQQ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WWWWWWWWWWWWooQEWQQWWQoWEEEEEWWWWWWWWWWWWooooooooo%oooQQEQQQEEQQ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "WWWWWWWWWWWWoQQEWQQWWooWWWWWWWWWEEEEEWWWWWWWWWWWWooooooooWWWWWEW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "QEEEQQQEQQQQoQQWWQQWWoQQQQQQQQQQQQQQQQQQQEEEEEEQQQQQQQQQoooooooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "QQQQQQQQQQQQoQQWWQQEWoEEEEEQQQQQQQQQQQQQQQQQQQEEEQQQEEEQQQQQQQQQ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "ooooooooooWWoQQWWQQEWoEEWWEEWWWWEEWWWEWWWWWWWWWWWWWWWWEEWWWWWWWW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + ", "ZZq,,,-ooooooEQWWQQEWoWWWWWWWWWWWWWWEEEEWWWWEEEWWWWWWWWWEWWEEEEW",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + $ I J u c t K r h L 6 6 ", "ZMJ,,,,%,,qooEQWWQQEooooooooQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ",
"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 & ", "ZMs,--ooooqooEQWEQQEoobbqoooooooooooQQQQQQQQQEEEEEQQQQQQQEEQQQQQ",
"[ 3 0 0 % @ @ @ @ @ @ @ @ @ @ @ @ @ % 0 ", "DZ,,%oooqqqooEQEEQQEotsqoo-q,o-obooooooooooWEEWWWWWWWWWEEWWWWWWW",
"2 c 1 % o b @ @ @ @ @ @ @ @ @ @ @ @ @ R g g h i j 6 * . * S A T y & ", "ZD,,,%%oq%uoWEQEEQQEo--oooooo-,ooo%%-,,,,oooooooooooooWWWWWWWEEE",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( + + = v $ ] ) c % U B g g { V * . * S A W _ ", "ZZssssst,sMoWEQWEQQEo,osJ,,ssss,M,sssoooooobMMMMMDssooooooooooQQ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + = $ w b - s X f g { M Y V * Z ` } [ Q _ ", "Duuq,Pu,,>-oWEQWEQQEo;,>-qMoooooooo-,%sq,,-%%---Jo---ooMMooooooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ( = w b | c H % ", "Zjq,oJ,>oqqoEQQEEQQooqqqq-Jo,%%%q,%o%,usqqqqqqqoDo%%ooououbbbs-o",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DDqqoJ,,,-ooWQQEEQQoojq%o%bo%%%%%%ooo,qqqqqqqqq%Mqoooo%uoMbbbb-o",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DDq,oJs,,%ooWQQEEQQoquq,%,bo%%%s-%ooo,qqqqqqq-,,Zooooo%uobbbbouo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DDq%oMDu,,oWEQQWEQQoqto>,,bo%%-,%oooM,qqqqq%>,,oDooooo%uo,%s%ooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DDq,oMMq,,oWEQQWEQQo,,,,,,b%oo,o%ooo-qo>%%-,qDJJM,oooo%u%ooooooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "DDqqqMb,,,oWEQQWEQQo,,,,qqb-os-ooooo%b,q,5,,o,q5Z,,,,,,t,ooooooo",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", "qMMMDDDZMMoEWQQWWQQo,M>qqq-MMZbo-qoZMMMbbMbbbbbbbMbbMMMMo----o%s"
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", };
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
"{ 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 ^ "};

View file

@ -1,152 +1,149 @@
/* XPM */ /* XPM */
static char * barricades_4_xpm[] = { static char *barricades_4[] = {
"64 64 85 1", /* columns rows colors chars-per-pixel */
" c #000001", "64 64 79 1 ",
". c #3D1F04", " c black",
"+ c #572F07", ". c #000001",
"@ c #5A3108", "X c #000101",
"# c #452405", "o c #010101",
"$ c #100500", "O c #010102",
"% c #583008", "+ c #010202",
"& c #4E2906", "@ c #010203",
"* c #1E0C01", "# c #020203",
"= c #130601", "$ c #020204",
"- c #502B06", "% c #020304",
"; c #542D07", "& c #020305",
"> c #271202", "* c #030305",
", c #381C03", "= c #030405",
"' c #593108", "- c #030406",
") c #361B03", "; c #030407",
"! c #0E0400", ": c #030507",
"~ c #1A0A01", "> c #040507",
"{ c #4E2A06", ", c #040508",
"] c #3F2104", "< c #040608",
"^ c #593008", "1 c #040609",
"/ c #2B1402", "2 c #050609",
"( c #301702", "3 c #05060A",
"_ c #2E1602", "4 c #05070A",
": c #2D1602", "5 c #05070B",
"< c #241001", "6 c #06070B",
"[ c #150701", "7 c #06080B",
"} c #080200", "8 c #06080C",
"| c #512B06", "9 c #06080D",
"1 c #582F07", "0 c #07080D",
"2 c #562E07", "q c #07090D",
"3 c #532D07", "w c #07090E",
"4 c #4B2805", "e c #070A0E",
"5 c #442404", "r c #080A0E",
"6 c #3B1E03", "t c #080A0F",
"7 c #3A1E03", "y c #080B0F",
"8 c #391D03", "u c #080B10",
"9 c #371C03", "i c #090B10",
"0 c #341A03", "p c #090C10",
"a c #301802", "a c #090C11",
"b c #472605", "s c #0A0C11",
"c c #2E1702", "d c #0A0C12",
"d c #1C0B01", "f c #0A0D12",
"e c #190A01", "g c #0B0D13",
"f c #532C07", "h c #0B0E13",
"g c #4F2A06", "j c #0B0E14",
"h c #321902", "k c #0C0E14",
"i c #311802", "l c #0C0F14",
"j c #3E2004", "z c #0C0F15",
"k c #472505", "x c #0D1015",
"l c #492705", "c c #0D1016",
"m c #4D2906", "v c #0D1116",
"n c #512C06", "b c #0D1117",
"o c #552E07", "n c #0E1117",
"p c #020100", "m c #0E1118",
"q c #180901", "M c #0E1218",
"r c #1D0C01", "N c #0F1218",
"s c #3D2004", "B c #0F1219",
"t c #3C1F03", "V c #0F1319",
"u c #110600", "C c #101319",
"v c #231001", "Z c #10131A",
"w c #291302", "A c #10141A",
"x c #3B1E04", "S c #10141B",
"y c #4C2906", "D c #11141B",
"z c #4A2705", "F c #11151B",
"A c #422204", "G c #11151C",
"B c #3F2004", "H c #12151C",
"C c #412204", "J c #12161D",
"D c #442304", "K c #13161D",
"E c #482605", "L c #13171E",
"F c #562F07", "P c #14171F",
"G c #542E07", "I c #14181F",
"H c #432304", "U c #141820",
"I c #331903", "Y c #151820",
"J c #381D03", "T c #151920",
"K c #261102", "R c #151921",
"L c #462505", "E c #161A21",
"M c #2B1502", "W c #9F7505",
"N c #210F01", "Q c #AE7F00",
"O c #351A03", "! c #BA8800",
"P c #1B0B01", /* pixels */
"Q c #331A03", "FMK,ooo%tRF-qqqqqqq,oo-,qqqqq-%%Fq-qqqqqqq,o--qqqbq,%obbbbbbbb-R",
"R c #291402", "FMKooooo-%o-qqqqqqq,o%o,ooooooooFqqqqqqqqq,-qqqqqqq,oqbbbbbbbb-%",
"S c #1F0D01", "FMKooooo%%o-qqqqqqq-oo%,ooooooooFqq,qqqqqq,otqqqqqq,o>bbbbbbbb>%",
"T c #3A1D03", "FMKooooo%%o-qqqqqq,ooo,,ooooooooFq,%tqqqqq,%uqqqqqq%%obbbbbbbs-%",
" .+@@@@@@@@@@@@@@@@@@@@@@@#$ ", "FMKooo%o>,o-qqqqqq%o%oq-oooooo,,Z%qqqq,o%%q-,---q-%o%obbbbsss-%%",
" #%@@@@@@@@@@@@@@@@@@@@@@&* ", "FM,ooooo,,oq%----%%%,,oo>-ooo%-uMF%%%,o,-,j,o%------,ouuuuqq7qq-",
" =-@@@@@@@@@@@@@@@@@@@@@@;> ", "FZ-oo-oooooooooo%%ooooo%ooo%o-ooooou%%ooooo,ooMMooooooqoo%sbbbbq",
" ,'@@@@@@@@@@@@@@@@@@@@@%)! ", "FZ,,%o,oo,bbbosoMbbbbbbb%ossoooqqq%qqooo,,,oo,qobbbbbbb-oqbbbutt",
" ~{@@@@@@@@@@@@@@@@@@@@@@#$ ", "FMs,,q,oo,bMbbboFbz,bbssq-%%%%%%%%o%soooooooooMzbbbbbbbttbbbb,%%",
" ]^@@@@@@@@@@@@@@@@@@@@@-* ", "FMK,,q,oo,bMbb-oFbz,qq,,,ooo%%%%%o,quooooooooouzbbbbbbbttbb,,-%%",
"/(_:/__/:/(/(/:/__/:_:<[} *;@@@@@@@@@@@@@@@@@@@@@|* ", "FMK,,q,ooou,ooooFbsoooooo-oo%%%%%%o,uoooo%ooooszbqqbbq-qqsq%oooo",
"^^^^^^^^^^^^^^^^^^^^%1234567890a__b@@@@@@@@@@@@@@@@@@@@@;cde~e~e", "oMMFFRKtqq%%>oooKozttqqoozoooooooooob----q,q,>R>,%-,,%oooooooQQQ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'^^%@@@@@@@@@@@@@@@@@@@@@'f--g--", "ooooqq,%oo,IRss,MK%%%%%-%o%,-->utq%--qqqqqoFRIFoooooooooo!!!W!!!",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "!!!oo,%o,,,q-o%,oooo%%%qtt-oooqqbbzzq,,,,ooooooo!!WWWW!!!!!!!WWW",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "WWWQoooooqq,RRRooooooobbbbq%%%ooboooooooooQQQQQQQQQQQQWWWWWQQQQQ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "QQWWQQQooo-b%ooooooo,obbbq%%oooooooQWWWWQWWWWWWQQQQQQQQQQQQQQQQQ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "!!!!!!W!!ooo%oooooooooooooooo!!!!!!!WWWWWW!!!!!WW!!!!!!!!!!!!!!!",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "WWW!!!WW!!!oooooooo!!!!!WWWWWWWW!!!!!!!!!!!!!!!WW!!!!W!!!!!!!WWW",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "QQQQQQooooooWWQQQQQQQQQQQQQQQQWWQQWWQQQQQQQWWQQQQQWWWWWWWWQQQQQQ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "oooooooQQQQQQQWWWWWWWQQQQQQQQWWWWWQQQQQQQQQQQQQQQWWQQQQQQQQQQooo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "!!!!!!!!!!!!!!!!!!!!!!!!!WWWWW!!!!!!!!!!WWWW!!!!!!!!!!ooooooooqo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "WWWWWWWWWWW!!!!!!!!!!!!!!!!!!!!!!!!!WWWW!!!!!!!!oooooooo,bbbbbqo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "QQQQQQQQQQQQQQQQQQQQQQQWWWWQQQQQQQWWQQQQQQoooooooRoooooo,t,,,,oo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "QQQQQQQQWWQQQQQWWWWWWWWQQQQQQQQQQQooooooooo-qooobI%%%%%-%%oooooo",
"^^^^^^^^^^^^^^^^^^^^'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "!WWWWWWW!!!!!!!!WWWW!!!!!!oooooooooRqF-os%o>o,qqoMsssssKoo,qqq,,",
"/(_:/__/:/(/(/:/__/:_hi6jklmno+1%^^^@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "!!!!!!!!!!!!!!WW!!!!!oooooo!!!oooooooooooo,,-------s>oooooooooqs",
" p$qdr</_/:/hi8)88sjjjjjtj6jl@@@@@@@@@@@", "QWWWWWQQQQQQQoooooooooQQQQQQQQQoooobbbbbbso%oooooooqozsbs,q,%%o,",
" *2@@@@@@@@@", "WQQQQoooooooooooQQQWWWQQQQQQQQQQQQoooobbbto-oooooooqobbqqzzs,%oo",
"dde~e~edq$p }uevw/:_9x-@@@@@@@@", "ooooooo-qqq,%-,ooo!!!!!!WWW!!!!!!!!!!ooooqo-oooooo,qMobzzbbq-oos",
"|---g--gyzkABtj6CtC6jtjjtjjCtj6jtjjtjjCtj6jjDEmfo+%'@@@@@@@@@@@@", ",,,q,,,%qqq,%qqttoooo!!!!!!WWWWW!!!!!!!!oo,qooo-,,,quobbbbqoooob",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "M%ooooooooooq,,-,,ooooQQQQQQQWWWWQQWWQQQQoooo>,,,t,%MobbbMqoooo%",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "FMZZFMMMFFFMZFFFFIPKKoooQQQQQQQQQQQQQWWQQQQooo,FFtqqqqq>Z-oo%,o,",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "FZ,%oF,%ttt%-tqqqMMMMMsooo!!!!WW!!!!!!!!!!!!!ooo,tqqqqq%sobboooo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "FF,,qK,-,,ttqqqq-bbbbbb,oooo!!W!WWWW!!!!WWWW!!!oooqqqqq%sozsoooo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "FZ,,qK,,q%,,qqqtKbbbbbbb,o,oooooQQQQQQQQQQQQQQQQQooo-o-%s,,ooooo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "FMPqqK,q%,ooqqqqqbbbbzzs%o,%oooooQQQQQQQQQQQQQQQWQQooooosobbooo%",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "FMMKsRzK,-%o%%%%ub%%->o%oo,,--%Pooo!!!!!!!!!!!!!WW!!!!!ooo%%o--o",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "qjjjjjzzRMMt,,,,,u,,,oooooo%,qq7Z,ooo!!!WWW!!W!!!WWW!!!!!ooooooK",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", ";,,,555%ooq-qtttqtt,oooooooooooootoqoooQQQQQQQQQQQQQQQQQQQQQoo,o",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "oo,,555o%%o-qqqqqqq,ooo-oooooooootqqqqooooQQQQQQQQQQQQQQWWQQQooo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "!ooooooo%%o-qqqqqq,oooo,o%ooooo,otqqqqqqqooo!!!!!!!!!!!!!!WW!!oo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^", "WWWWWWoooooooooooo,%o-o,oooooo-o%,qqqqqqqq,ooo!!WWWWWW!!!!!!W!!!",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^+FGn4lHj9I__", "QQQQQWWWWQQQWQQQoooooooooooo-,,qMR-->---o%qoooooQQQQWWQQQQQQQWQQ",
"88)J)J)876jjjtj6CtC6jtjjtjjCtj6jtjjtjjCtj6jtjs68)h/:>Ker[$ ", "WWW!!!!!!!!!!WW!!!!!!!!!!!oooooooooooIKKbMKIIKKoooQQQWQQQQQQQQQQ",
"eu} ", "!!!WWWW!!!!WWWWWWW!!WWWWW!!!!!!!!!ooooooooooozMooooo!!WWW!!!!!!!",
"m4L#jC6jtjjtj.s)J)J)8890a_/:/M<Nq$ ", "QQQQQQQQQQQQQQQQQQQQQQQQWWWWWQQQQQQQQQQQQooooooooo%ooo!!W!!!WW!!",
"@@@@@@@@@@@@@@@@@@@@@@@@@'^^%1+o-4#As88)O/:/M<P! ", "QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQWWWWWQQQQQQQQQQQQooooooooQQQQQWQ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^%+23&kB78)JQO/RS~e[! ", "!WWW!!!W!!!!WWWW!!!!!!!!!!!!!!!!!!!!!!!!!WWWWWW!!!!!!!!!oooooooo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'%23{4E#", "!!!!!!!!!!!!!!!!!!!!!WWWWWW!!!!!!!!!!!!!!!!!!!WWW!!!WWW!!!!!!!!!",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "ooooooooooQQWQQQQQQQQQWWQQWWQQQQWWQQQWQQQQQQQQQQQQQQQQWWQQQQQQQQ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "ZZq,,,-ooooooooooooooQQQQQQQQQQQQQQQWWWWQQQQWWWQQQQQQQQQWQQWWWWQ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "ZMK,,,,%,,qo%%%%%%%%oooooooo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "ZMs,--ooooqo-%%%%%%%oobbqooooooooooo!!!!!!!!!WWWWW!!!!!!!WW!!!!!",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "FZ,,%oooqqqo,%%%%%%ootsqoo-q,o-obooooooooooQWWQQQQQQQQQWWQQQQQQQ",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "ZF,,,%%oq%u%ooooooooo--oooooo-,ooo%%-,,,,oooooooooooooQQQQQQQWWW",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "ZZssssst,sMM%bo,,sssb,osK,,ssss,M,sssoooooobMMMMMFssoooooooooo!!",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "Fuuq,Iu,,>-%%%%RM>->,;,>-qMoooooooo-,%sq,,-%%---Ko---ooMMooooooo",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "Zjq,oK,>oqqqqqqM-tqqqqqqq-Ko,%%%q,%o%,usqqqqqqqoFo%%ooououbbbs-o",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "FFqqoK,,,;-,-q,K>tqqujq%o%bo%%%%%%ooo,qqqqqqqqq%Mqoooo%uoMbbbb-o",
")6TCtC6jtjj]#Eymgg--|fo+1%^^^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", "FFq,oKs,,%oqsuRb%qqqquq,%,bo%%%s-%ooo,qqqqqqq-,,Zooooo%uobbbbouo",
" ![e~e~eddr</_/:/_i876jHbyfo+%^^@@@@@@@@@@@@@@@@@@@@", "FFq%oMFu,,q,-%-F>,-qqto>,,bo%%-,%oooM,qqqqq%>,,oFooooo%uo,%s%ooo",
" }$evR/:/_iTCkzyg-;2%'@@@@@@@", "FFq,oMMq,,q,,,,IK,,,,,,,,,b%oo,o%ooo-qo>%%-,qFKKM,oooo%u%ooooooo",
" p$qde~SR/OQJ)6Ck", "FFqqqMb,,,5qqqqKo,,,,5,,qqb-os-ooooo%b,q,5,,o,q5Z,,,,,,t,ooooooo",
" p", "qMMMFFFZMM%oo,q,FKFs,M>qqq-MMZbo-qoZMMMbbMbbbbbbbMbbMMMMo----o%s"
" ", };
" ",
" ",
" "};

View file

@ -1,150 +1,150 @@
/* XPM */ /* XPM */
static char * barricades_5_xpm[] = { static char *barricades_5[] = {
"64 64 83 1", /* columns rows colors chars-per-pixel */
" c #000001", "64 64 80 1 ",
". c #2B1402", " c black",
"+ c #301702", ". c #000001",
"@ c #2E1602", "X c #000101",
"# c #2D1602", "o c #010101",
"$ c #241001", "O c #010102",
"% c #150701", "+ c #010202",
"& c #080200", "@ c #010203",
"* c #593008", "# c #020203",
"= c #583008", "$ c #020204",
"- c #582F07", "% c #020304",
"; c #562E07", "& c #020305",
"> c #532D07", "* c #030305",
", c #4B2805", "= c #030405",
"' c #442404", "- c #030406",
") c #3B1E03", "; c #030407",
"! c #3A1E03", ": c #030507",
"~ c #391D03", "> c #040507",
"{ c #371C03", ", c #040508",
"] c #341A03", "< c #040608",
"^ c #301802", "1 c #040609",
"/ c #210F01", "2 c #050609",
"( c #190A01", "3 c #05060A",
"_ c #100500", "4 c #05070A",
": c #020100", "5 c #05070B",
"< c #180901", "6 c #06070B",
"[ c #1C0B01", "7 c #06080B",
"} c #1A0A01", "8 c #06080C",
"| c #5A3108", "9 c #06080D",
"1 c #593108", "0 c #07080D",
"2 c #583007", "q c #07090D",
"3 c #572F07", "w c #07090E",
"4 c #522C06", "e c #070A0E",
"5 c #4E2A06", "r c #080A0E",
"6 c #492705", "t c #080A0F",
"7 c #472605", "y c #080B0F",
"8 c #432304", "u c #080B10",
"9 c #3F2104", "i c #090B10",
"0 c #3E2004", "p c #090C10",
"a c #3C1F03", "a c #090C11",
"b c #3F2004", "s c #0A0C11",
"c c #422204", "d c #0A0C12",
"d c #472505", "f c #0A0D12",
"e c #4A2705", "g c #0A0D13",
"f c #4C2906", "h c #0B0D13",
"g c #4F2A06", "j c #0B0E13",
"h c #502B06", "k c #0B0E14",
"i c #321902", "l c #0C0E14",
"j c #311802", "z c #0C0F14",
"k c #4D2906", "x c #0C0F15",
"l c #512C06", "c c #0D1015",
"m c #552E07", "v c #0D1016",
"n c #1D0C01", "b c #0D1116",
"o c #361B03", "n c #0D1117",
"p c #3D2004", "m c #0E1117",
"q c #381D03", "M c #0E1118",
"r c #210E01", "N c #0E1218",
"s c #261102", "B c #0F1218",
"t c #2B1502", "V c #0F1219",
"u c #110600", "C c #0F1319",
"v c #231001", "Z c #101319",
"w c #291302", "A c #10131A",
"x c #452405", "S c #10141A",
"y c #512B06", "D c #10141B",
"z c #412204", "F c #11141B",
"A c #442304", "G c #11151B",
"B c #482605", "H c #11151C",
"C c #532C07", "J c #12151C",
"D c #562F07", "K c #12161D",
"E c #542E07", "L c #13161D",
"F c #331903", "P c #13171E",
"G c #271202", "I c #14171F",
"H c #462505", "U c #14181F",
"I c #3D1F04", "Y c #141820",
"J c #351A03", "T c #151820",
"K c #1B0B01", "R c #151920",
"L c #0E0400", "E c #151921",
"M c #4E2906", "W c #161A21",
"N c #331A03", "Q c #9F7505",
"O c #291402", "! c #AE7F00",
"P c #1F0D01", "~ c #BA8800",
"Q c #3A1D03", /* pixels */
"R c #542D07", "GNL,ooo%tEG-qqqqqqq,oo-,qqqqq-%%Gq-qqqqqqq,o--qqqnq,%onnnnnnnn-E",
" ", "GNLooooo-%o-qqqqqqq,o%o,ooooooooGqqqqqqqqq,-qqqqqqq,oqnnnnnnnn-%",
" ", "GNLooooo%%o-qqqqqqq-oo%,ooooooooGqq,qqqqqq,otqqqqqq,o>nnnnnnnn>%",
" ", "GNLooooo%%o-qqqqqq,ooo,,ooooooooGq,%tqqqqq,%uqqqqqq%%onnnnnnns-%",
" ", "GNLooo%o>,o-qqqqqq%o%oq-oooooo,,A%qqqq,o%%q-,---q-%o%onnnnsss-%%",
" ", "GN,ooooo,,oq%----%%%,,oo>-ooo%-uNG%%%,o,-,k,o%------,ouuuuqq7qq-",
" ", "GA-oo-oooooooooo%%ooooo%ooo%o-ooooou%%ooooo,ooNNooooooqoo%snnnnq",
".+@#.@@.#.+.+.#.@@.#@#$%& ", "GA,,%o,oo,nnnosoNnnnnnnn%ossoooqqq%qqooo,,,oo,qonnnnnnn-oqnnnutt",
"********************=-;>,')!~{]^@.#.#$/((_& :_<[(}(}(", "GNs,,q,oo,nNnnnoGnx,nnssq-%%%%%%%%o%soooooooooNxnnnnnnnttnnnn,%%",
"||||||||||||||||||||||||||||||||1**=23;456789000a0)0abcdefghhghh", "GNL,,q,oo,nNnn-oGnx,qq,,,ooo%%%%%o,quooooooooouxnnnnnnnttnn,,-%%",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNL,,q,ooou,ooooGnsoooooo-oo%%%%%%o,uoooo%oooosxnqqnnq-qqsq%oooo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "oNNGGELtqq%%>oooLoxttqqooxoooooooooon----q,q,>E>,%-,,%ooooooo!!!",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "ooooqq,%oo,UEss,NL%%%%%-%o%,-->utq%--qqqqqoGEUGoooooooooo~~~Q~~~",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "~~~oo,%o,,,q-o%,oooo%%%qtt-oooqqnnxxq,,,,ooooooo~~QQQQ~~~~~~~QQQ",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "QQQ!oooooqq,EEEooooooonnnnq%%%oonooooooooo!!!!!!!!!!!!QQQQQ!!!!!",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "!!QQ!!!ooo-n%ooooooo,onnnq%%ooooooo!QQQQ!QQQQQQ!!!!!!!!!!!!!!!!!",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "~~~~~~Q~~ooo%oooooooooooooooo~~~~~~~QQQQQQ~~~~~QQ~~~~~~~~~~~~~~~",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "QQQ~~~QQ~~~oooooooo~~~~~QQQQQQQQ~~~~~~~~~~~~~~~QQ~~~~Q~~~~~~~QQQ",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "!!!!!!ooooooQQ!!!!!!!!!!!!!!!!QQ!!QQ!!!!!!!QQ!!!!!QQQQQQQQ!!!!!!",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "ooooooo!!!!!!!QQQQQQQ!!!!!!!!QQQQQ!!!!!!!!!!!!!!!QQ!!!!!!!!!!ooo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "~~~~~~~~~~~~~~~~~~~~~~~~~QQQQQ~~~~~~~~~~QQQQ~~~~~~~~~~ooooooooqo",
"********************1|||||||||||||||||||||||||||||||||||||||||||", "QQQQQQQQQQQ~~~~~~~~~~~~~~~~~~~~~~~~~QQQQ~~~~~~~~oooooooo,nnnnnqo",
".+@#.@@.#.+.+.#.@@.#@ij)0d6klm3-=***||||||||||||||||||||||||||||", "!!!!!!!!!!!!!!!!!!!!!!!QQQQ!!!!!!!QQ!!!!!!oooooooEoooooo,t,,,,oo",
" :_<[n$.@.#.ij~o~~p00000a0)0a000)!~oqoqo", "!!!!!!!!QQ!!!!!QQQQQQQQ!!!!!!!!!!!ooooooooo-qooonU%%%%%-%%oooooo",
" :_<rst@", "~QQQQQQQ~~~~~~~~QQQQ~~~~~~oooooooooEqG-os%o>o,qqoNsssssLoo,qqq,,",
"[[(}(}([<_: &u(vw.#@{o)ax,ym3=*", "~~~~~~~~~~~~~~QQ~~~~~oooooo~~~oooooooooooo,,-------s>oooooooooqs",
"yhhhghhgfedcba0)zaz)0a00a00za0)0a00a00za0)00ABkCm3=1||||||||||||", "!QQQQQ!!!!!!!ooooooooo!!!!!!!!!oooonnnnnnso%oooooooqoxsns,q,%%o,",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "Q!!!!ooooooooooo!!!QQQ!!!!!!!!!!!!oooonnnto-oooooooqonnqqxxs,%oo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "ooooooo-qqq,%-,ooo~~~~~~QQQ~~~~~~~~~~ooooqo-oooooo,qNonxxnnq-oos",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", ",,,q,,,%qqq,%qqttoooo~~~~~~QQQQQ~~~~~~~~oo,qooo-,,,quonnnnqoooon",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "N%ooooooooooq,,-,,oooo!!!!!!!QQQQ!!QQ!!!!oooo>,,,t,%NonnnNqoooo%",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNAAGNNNGGGNAGGGGUILLooo!!!!!!!!!!!!!QQ!!!!ooo,GGtqqqqq>A-oo%,o,",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GA,%oG,%ttt%-tqqqNNNNNsooo~~~~QQ~~~~~~~~~~~~~ooo,tqqqqq%sonnoooo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GG,,qL,-,,ttqqqq-nnnnnn,oooo~~Q~QQQQ~~~~QQQQ~~~oooqqqqq%soxsoooo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GA,,qL,,q%,,qqqtLnnnnnnn,o,ooooo!!!!!!!!!!!!!!!!!ooo-o-%s,,ooooo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNIqqL,q%,ooqqqqqnnnnxxs%o,%ooooo!!!!!!!!!!!!!!!Q!!ooooosonnooo%",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNNLsExL,-%o%%%%un%%->o%oo,,--%Iooo~~~~~~~~~~~~~QQ~~~~~ooo%%o--o",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "qkkkkkxxENNt,,,,,u,,,oooooo%,qq7A,ooo~~~QQQ~~Q~~~QQQ~~~~~ooooooL",
"|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*", ";,,,555%ooq-qtttqtt,oooooooooooootoqooo!!!!!!!!!!!!!!!!!!!!!oo,o",
"|||||||||||||||||||||||||||||||||||||||||||||||||||*3DEl,680{F@@", ",,,,5q5o%%o-qqqqqqq,ooo-oooooooootqqqqoooo!!!!!!!!!!!!!!QQ!!!ooo",
"~~oqoqo~!)000a0)zaz)0a00a00za0)0a00a00za0)0a0p)~oi.#Gs(n%_ ", ",7qq,,,o%%o-qqqqqq,oooo,o%ooooo,otqqqqqqqooo~~~~~~~~~~~~~~QQ~~oo",
"(u& ", ",7q5,,,o%o,-qqqqqq,%o-o,oooooo-o%,qqqqqqqq,ooo~~QQQQQQ~~~~~~Q~~~",
"k,Hx0z)0a00a0Ipoqoqo~~{]^@.#.t$/<_ ", ",,,5,,5-ooo>q-oooo-,,q%oo----,,qNE-->---o%qooooo!!!!QQ!!!!!!!Q!!",
"|||||||||||||||||||||||||1**=-3mh,xcp~~oJ.#.t$KL ", "sUEEULLLL,ustnssusLULLUUnLLLLLLLNNLxtULLnNLUULLooo!!!Q!!!!!!!!!!",
"||||||||||||||||||||||||||||||||||||||||||*=3;>Mdb!~oqNJ.OP}(%L ", "GqqqooGqoo,-o-qqANk--ooo,sGoo-oooo,ooqso%oo,oxNooooo~~QQQ~~~~~~~",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||1=;>5,Bx", "NEqEt-n,%5%,-,,,N,oooooo%,noo-%%%-,-o,uAo%%-o,L%%%%ooo~~Q~~~QQ~~",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "AG,,,qNs7,,,,,-snsoooo%sssNo%%%%%%%-o,uo%%%oo,E,%%,s%ooo!!!!!!Q!",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "ANL,,qn55q,,,,q,Nsoo,,q,,,nLo-%o-%o%,,uso%ooo>E%%%,s%%ooooo!!!!!",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "ANL,,tk,,,,,o>,>Ns,%-,q,--sooooooo%qqqsq--,5,,E%%%%%oooo,qooo~~~",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "ANEEEE,oooo,-%ooqso%oo%osso,,,UEN-ssnUE%oooqqqUoAooooooo%,,,oo!!",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "AAq,,,-oo-qqo%%-%%%o,onnnnq-%o,q%u-oo,,,,,sULLLLLLkN%tNNNnnnnooo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "ANL,,,,%,,qo%%%%%%%%oonnnt-%%ooqnoooo,,,,,,,55,,,,%Nonnnnnnnnn%o",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "ANs,--ooooqo-%%%%%%%oonnqoo,-%oonoooo,55,%,,,,,,,,qNonnnnnnnnnoo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "AA,,%oooqqqo,%%%%%%ootsqoo-q,o-onoooo,q555qq,,,,,,qNotussuuuxno,",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "AG,,,%%%q%u%ooooooooo--oooooo-,ooo%%-5qqq5xnuuuuutqs>oo%ooooo%-o",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "AAssskst,sNN%no,,sssn,osL,,ssss,N,sssoooooonNNNNNGssss,-ssssssso",
"o)Qzaz)0a009xBfkgghhyCm3-=***|||||||||||||||||||||||||||||||||||", "Gtuq,Uu,,>-%%%%EN>->,;,>-qNoooooooo-,%sq,,-%%---Lo---ooNNooooooL",
" L%(}(}([[n$.@.#.@j~!)087fCm3=**||||||||||||||||||||", "Asq,oL,>oqqqqqqN-tqqqqqqq-Lo,%%%q,%o%,usqqqqqqqoGo%%ooouounnns-o",
" &_(vO.#.@jQzdefghR;=1|||||||", "GGqqoL,,,;-,-q,L>tqqukq%o%no%%%%%%ooo,qqqqqqqqq%Nqoooo%uoNnnnn-o",
" :_<[(}PO.JNqo)zd", "GGq,oLs,,%oqsuEn%qqqquq,%,no%%%s-%ooo,qqqqqqq-,,Aooooo%uonnnnouo",
" :", "GGq%oNGu,,q,-%-G>,-qqto>,,no%%-,%oooN,qqqqq%>,,oGooooo%uo,%s%ooo",
" ", "GGq,oNNq,,q,,,,UL,,,,,,,,,n%oo,o%ooo-qo>%%-,qGLLN,oooo%u%ooooooo",
" ", "GGqqqNn,,,5qqqqLo,,,,5,,qqn-os-ooooo%n,q,5,,o,q5A,,,,,,t,ooooooo",
" ", "qNNNGGGANN%oo,q,GLGs,N>qqq-NNAno-qoANNNnnNnnnnnnnNnnNNNNo----o%s"
" "}; };

View file

@ -1,139 +1,151 @@
/* XPM */ /* XPM */
static char * barricades_6_xpm[] = { static char *barricades_6[] = {
"64 64 72 1", /* columns rows colors chars-per-pixel */
" c #000001", "64 64 81 1 ",
". c #2B1402", " c black",
"+ c #301702", ". c #000001",
"@ c #2E1602", "X c #000101",
"# c #2D1602", "o c #010101",
"$ c #241001", "O c #010102",
"% c #150701", "+ c #010202",
"& c #080200", "@ c #010203",
"* c #593008", "# c #020203",
"= c #583008", "$ c #020204",
"- c #582F07", "% c #020304",
"; c #562E07", "& c #020305",
"> c #532D07", "* c #030305",
", c #4B2805", "= c #030405",
"' c #442404", "- c #030406",
") c #3B1E03", "; c #030407",
"! c #3A1E03", ": c #030507",
"~ c #391D03", "> c #040507",
"{ c #371C03", ", c #040508",
"] c #341A03", "< c #040608",
"^ c #301802", "1 c #040609",
"/ c #210F01", "2 c #050609",
"( c #190A01", "3 c #05060A",
"_ c #100500", "4 c #05070A",
": c #020100", "5 c #05070B",
"< c #180901", "6 c #06070B",
"[ c #1C0B01", "7 c #06080B",
"} c #1A0A01", "8 c #06080C",
"| c #5A3108", "9 c #06080D",
"1 c #593108", "0 c #07080D",
"2 c #583007", "q c #07090D",
"3 c #572F07", "w c #07090E",
"4 c #522C06", "e c #070A0E",
"5 c #4E2A06", "r c #080A0E",
"6 c #492705", "t c #080A0F",
"7 c #472605", "y c #080B0F",
"8 c #432304", "u c #080B10",
"9 c #3F2104", "i c #090B10",
"0 c #3E2004", "p c #090C10",
"a c #3C1F03", "a c #090C11",
"b c #3F2004", "s c #0A0C11",
"c c #422204", "d c #0A0C12",
"d c #472505", "f c #0A0D12",
"e c #4A2705", "g c #0A0D13",
"f c #4C2906", "h c #0B0D13",
"g c #4F2A06", "j c #0B0E13",
"h c #502B06", "k c #0B0E14",
"i c #321902", "l c #0C0E14",
"j c #311802", "z c #0C0F14",
"k c #4D2906", "x c #0C0F15",
"l c #512C06", "c c #0D1015",
"m c #552E07", "v c #0D1016",
"n c #1D0C01", "b c #0D1116",
"o c #361B03", "n c #0D1117",
"p c #3D2004", "m c #0E1117",
"q c #381D03", "M c #0E1118",
"r c #210E01", "N c #0E1218",
"s c #261102", "B c #0F1218",
"t c #2B1502", "V c #0F1219",
"u c #110600", "C c #0F1319",
"v c #231001", "Z c #101319",
"w c #291302", "A c #10131A",
"x c #452405", "S c #10141A",
"y c #512B06", "D c #10141B",
"z c #412204", "F c #11141B",
"A c #442304", "G c #11151B",
"B c #482605", "H c #11151C",
"C c #532C07", "J c #12151C",
"D c #562F07", "K c #12161D",
"E c #542E07", "L c #13161D",
"F c #331903", "P c #13171E",
"G c #271202", "I c #14171F",
" ", "U c #14181F",
" ", "Y c #141820",
" ", "T c #151820",
" ", "R c #151920",
" ", "E c #151921",
" ", "W c #161A21",
".+@#.@@.#.+.+.#.@@.#@#$%& ", "Q c #161A22",
"********************=-;>,')!~{]^@.#.#$/((_& :_<[(}(}(", "! c #9F7505",
"||||||||||||||||||||||||||||||||1**=23;456789000a0)0abcdefghhghh", "~ c #AE7F00",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "^ c #BA8800",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", /* pixels */
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNL,ooo%tEG-qqqqqqq,oo-,qqqqq-%%Gq-qqqqqqq,o--qqqnq,%onnnnnnnn-E",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNLooooo-%o-qqqqqqq,o%o,ooooooooGqqqqqqqqq,-qqqqqqq,oqnnnnnnnn-%",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNLooooo%%o-qqqqqqq-oo%,ooooooooGqq,qqqqqq,otqqqqqq,o>nnnnnnnn>%",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNLooooo%%o-qqqqqq,ooo,,ooooooooGq,%tqqqqq,%uqqqqqq%%onnnnnnns-%",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNLooo%o>,o-qqqqqq%o%oq-oooooo,,A%qqqq,o%%q-,---q-%o%onnnnsss-%%",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GN,ooooo,,oq%----%%%,,oo>-ooo%-uNG%%%,o,-,k,o%------,ouuuuqq7qq-",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GA-oo-oooooooooo%%ooooo%ooo%o-ooooou%%ooooo,ooNNooooooqoo%snnnnq",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GA,,%o,oo,nnnosoNnnnnnnn%ossoooqqq%qqooo,,,oo,qonnnnnnn-oqnnnutt",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNs,,q,oo,nNnnnoGnx,nnssq-%%%%%%%%o%soooooooooNxnnnnnnnttnnnn,%%",
"********************1|||||||||||||||||||||||||||||||||||||||||||", "GNL,,q,oo,nNnn-oGnx,qq,,,ooo%%%%%o,quooooooooouxnnnnnnnttnn,,-%%",
".+@#.@@.#.+.+.#.@@.#@ij)0d6klm3-=***||||||||||||||||||||||||||||", "GNL,,q,ooou,ooooGnsoooooo-oo%%%%%%o,uoooo%oooosxnqqnnq-qqsq%%%%%",
" :_<[n$.@.#.ij~o~~p00000a0)0a000)!~oqoqo", "oNNGGELtqq%%>oooLoxttqqooxoooooooooon----q,q,>E>,%-,,%o--,--%%%%",
" :_<rst@", "ooooqq,%oo,UEss,NL%%%%%-%o%,-->utq%--qqqqqoGEUG,,,,,ossssssssss%",
"[[(}(}([<_: &u(vw.#@{o)ax,ym3=*", "^^^oo,%o,,,q-o%,oooo%%%qtt-oooqqnnxxq,,,,o>>%%%ooo%qoNnnnnnnnn,s",
"yhhhghhgfedcba0)zaz)0a00a00za0)0a00a00za0)00ABkCm3=1||||||||||||", "!!!~oooooqq,EEEooooooonnnnq%%%oonNNNs-%%%oq%ooooooo,oNnnnnnnnnon",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "~~!!~~~ooo-n%ooooooo,onnnq%%%oooEooouoooooq%ooooooo,oNnnnnnnnNox",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "^^^^^^!^^ooo%ooooooo,qonq%%%oooo-oo,toooooqooooooooqou%%%%%%uxox",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "!!!^^^!!^^^oooooqoooooontoooooot-qo,oooooot-,,%q,qqtoooo-qqqq7qq",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "~~~~~~~~!!~~~~~oooxxqnnnnnootqoqqqqqq%%%%%%%%%s,oLsssssn,%%%%%,G",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "~~~!~~~~~~!!~~~!~ooo>uqqqq,outqqqqqq,qnnnnnnnNoonL%oooo%osxnnn,>",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "oo^!!^^^^^^^^^^!^^^oooooqq,%stqqqqqq%onnnnnnnnoonL-ooooo%tsnnnqo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "Gooo^^^!!!^^^^^^!!!^^^^ooo,%suqqqq%%,onnnnnnnqo-oUoooooo,nnnnnqo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNLoo~~~~~~~~~~~~~~!!~~~~ooo,qqqqo,,,onnnnsxnoo,oEoooooo,t,,,,oo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNE-ooo~~~~~!!!!!!~~~~~~~~~ooo%o%%-q-o,7%,,-qooonU%%%%%-%%oooooo",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "GNGsNLooo^^^^^^^!^^^^^^!^^^^^oo,ssqEqG-os%o>o,qqoNsssssLoo,qqq,,",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "qssssssqooo^^^^^!!^^^^^^!!^^^^oooooooooooo,,-------s>oooooooooqs",
"|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*", ",,,,,,5-qqoooo~~~~~~~~~~~~~~~~~oooonnnnnnso%oooooooqoxsns,q,%%o,",
"|||||||||||||||||||||||||||||||||||||||||||||||||||*3DEl,680{F@@", ",,,,,,,-qqq,%ooo~~~!!!~~~~~~~~~~~~oooonnnto-oooooooqonnqqxxs,%oo",
"~~oqoqo~!)000a0)zaz)0a00a00za0)0a00a00za0)0a0p)~oi.#Gs(n%_ ", ",,qN,,,-qqq,%-,ooo^^^^^^!!!^^^^^^^^^^ooooqo-oooooo,qNonxxnnq-oos",
" ", ",,,q,,5%qqq,%qqttoooo^^^^^^!!!!!^^^^^^^^oo,qooo-,,,quonnnnqoooon",
" ", "N%%%%%%oooooq,,-,,oooo~~~~~~~!!!!~~!!~~~~oooo>,,,t,%NonnnNqoooo%",
" ", "GNAALNNCGGGNAGGGGUILLooo~~~~~~~~~~~~~!!~~~~ooo,GGtqqqqq>A-oo%,o,",
" ", "GA,%oG,%ttt%-tqqqNNNNNsooo^^^^!!^^^^^^^^^^^^^ooo,tqqqqq%sonnoooo",
" ", "GG,,qL,-,,ttqqqq-nnnnnn,oooo^^!^!!!!^^^^!!!!^^^oooqqqqq%soxsoooo",
" ", "GA,,qL,,q%,,qqqtLnnnnnnn,o,ooooo~~~~~~~~~~~~~~~~~ooo-o-%s,,ooooo",
" ", "GNIqqL,q%,ooqqqqqnnnnxxs%o,%ooooo~~~~~~~~~~~~~~~!~~ooooosonnooo%",
" ", "GNNLsExL,-%o%%%%un%%->o%oo,,--%Iooo^^^^^^^^^^^^^!!^^^^^ooo%%o--o",
" ", "qkkkkkxxENNt,,,,,u,,,oooooo%,qq7A,ooo^^^!!!^^!^^^!!!^^^^^ooooooL",
" ", ";,,,555%ooq-qtttqtt,oooooooooooootoqooo~~~~~~~~~~~~~~~~~~~~~oo,o",
" ", ",,,,5q5o%%o-qqqqqqq,ooo-oooooooootqqqqoooo~~~~~~~~~~~~~~!!~~~ooo",
" ", ",7qq,,,o%%o-qqqqqq,oooo,o%ooooo,otqqqqqqqooo^^^^^^^^^^^^^^!!^^oo",
" ", ",7q5,,,o%o,-qqqqqq,%o-o,oooooo-o%,qqqqqqqq,ooo^^!!!!!!^^^^^^!^^^",
" ", ",,,5,,5-ooo>q-oooo-,,q%oo----,,qNE-->---o%qooooo~~~~!!~~~~~~~!~~",
" ", "sUEEULLLL,ustnssusLULLUUnLLLLLLLNNLxtULLnNLUULLooo~~~!~~~~~~~~~~",
" ", "GqqqooGqoo,-o-qqANk--ooo,sGoo-oooo,ooqso%oo,oxNooooo^^!!!^^^^^^^",
" ", "NEqEt-n,%5%,-,,,N,oooooo%,noo-%%%-,-o,uAo%%-o,L%%%%ooo^^!^^^!!^^",
" ", "AG,,,qNs7,,,,,-snsoooo%sssNo%%%%%%%-o,uo%%%oo,E,%%,s%ooo~~~~~~!~",
" ", "ANL,,qn55q,,,,q,Nsoo,,q,,,nLo-%o-%o%,,uso%ooo>E%%%,s%%ooooo~~~~~",
" ", "ANL,,tk,,,,,o>,>Ns,%-,q,--sooooooo%qqqsq--,5,,E%%%%%oooo,qooo^^^",
" ", "ANEEEE,oooo,-%ooqso%oo%osso,,,UEN-ssnUE%oooqqqUoAooooooo%,,,oo~~",
" ", "AAq,,,-oo-qqo%%-%%%o,onnnnq-%o,q%u-oo,,,,,sULLLLLLkN%tNNNnnnnooo",
" ", "ANL,,,,%,,qo%%%%%%%%oonnnt-%%ooqnoooo,,,,,,,55,,,,%Nonnnnnnnnn%o",
" "}; "ANs,--ooooqo-%%%%%%%oonnqoo,-%oonoooo,55,%,,,,,,,,qNonnnnnnnnnoo",
"AA,,%oooqqqo,%%%%%%ootsqoo-q,o-onoooo,q555qq,,,,,,qNotussuuuxno,",
"AG,,,%%%q%u%ooooooooo--oooooo-,ooo%%-5qqq5xnuuuuutqs>oo%ooooo%-o",
"AAssskst,sNN%no,,sssn,osL,,ssss,N,sssoooooonNNNNNGssss,-ssssssso",
"Gtuq,Uu,,>-%%%%EN>->,;,>-qNoooooooo-,%sq,,-%%---Lo---ooNNooooooL",
"Asq,oL,>oqqqqqqN-tqqqqqqq-Lo,%%%q,%o%,usqqqqqqqoGo%%ooouounnns-o",
"GGqqoL,,,;-,-q,L>tqqukq%o%no%%%%%%ooo,qqqqqqqqq%Nqoooo%uoNnnnn-o",
"GGq,oLs,,%oqsuEn%qqqquq,%,no%%%s-%ooo,qqqqqqq-,,Aooooo%uonnnnouo",
"GGq%oNGu,,q,-%-G>,-qqto>,,no%%-,%oooN,qqqqq%>,,oGooooo%uo,%s%ooo",
"GGq,oNNq,,q,,,,UL,,,,,,,,,n%oo,o%ooo-qo>%%-,qGLLN,oooo%u%ooooooo",
"GGqqqNn,,,5qqqqLo,,,,5,,qqn-os-ooooo%n,q,5,,o,q5A,,,,,,t,ooooooo",
"qNNNGGGANN%oo,q,GLGs,N>qqq-NNAno-qoANNNnnNnnnnnnnNnnNNNNo----o%s"
};

View file

@ -1,123 +1,148 @@
/* XPM */ /* XPM */
static char * barricades_7_xpm[] = { static char *barricades_8[] = {
"64 64 56 1", /* columns rows colors chars-per-pixel */
" c #000001", "64 64 78 1 ",
". c #2B1402", " c black",
"+ c #301702", ". c #000001",
"@ c #2E1602", "X c #000101",
"# c #2D1602", "o c #010101",
"$ c #241001", "O c #010102",
"% c #150701", "+ c #010202",
"& c #080200", "@ c #010203",
"* c #593008", "# c #020203",
"= c #583008", "$ c #020204",
"- c #582F07", "% c #020304",
"; c #562E07", "& c #020305",
"> c #532D07", "* c #030305",
", c #4B2805", "= c #030405",
"' c #442404", "- c #030406",
") c #3B1E03", "; c #030407",
"! c #3A1E03", ": c #030507",
"~ c #391D03", "> c #040507",
"{ c #371C03", ", c #040508",
"] c #341A03", "< c #040608",
"^ c #301802", "1 c #040609",
"/ c #210F01", "2 c #050609",
"( c #190A01", "3 c #05060A",
"_ c #100500", "4 c #05070A",
": c #020100", "5 c #05070B",
"< c #180901", "6 c #06070B",
"[ c #1C0B01", "7 c #06080B",
"} c #1A0A01", "8 c #06080C",
"| c #5A3108", "9 c #06080D",
"1 c #593108", "0 c #07080D",
"2 c #583007", "q c #07090D",
"3 c #572F07", "w c #07090E",
"4 c #522C06", "e c #070A0E",
"5 c #4E2A06", "r c #080A0E",
"6 c #492705", "t c #080A0F",
"7 c #472605", "y c #080B0F",
"8 c #432304", "u c #080B10",
"9 c #3F2104", "i c #090B10",
"0 c #3E2004", "p c #090C10",
"a c #3C1F03", "a c #090C11",
"b c #3F2004", "s c #0A0C11",
"c c #422204", "d c #0A0C12",
"d c #472505", "f c #0A0D12",
"e c #4A2705", "g c #0A0D13",
"f c #4C2906", "h c #0B0D13",
"g c #4F2A06", "j c #0B0E13",
"h c #502B06", "k c #0B0E14",
"i c #321902", "l c #0C0E14",
"j c #311802", "z c #0C0F14",
"k c #4D2906", "x c #0C0F15",
"l c #512C06", "c c #0D1015",
"m c #552E07", "v c #0D1016",
"n c #1D0C01", "b c #0D1116",
"o c #361B03", "n c #0D1117",
"p c #3D2004", "m c #0E1117",
"q c #381D03", "M c #0E1118",
" ", "N c #0E1218",
" ", "B c #0F1218",
" ", "V c #0F1219",
" ", "C c #0F1319",
" ", "Z c #101319",
" ", "A c #10131A",
".+@#.@@.#.+.+.#.@@.#@#$%& ", "S c #10141A",
"********************=-;>,')!~{]^@.#.#$/((_& :_<[(}(}(", "D c #10141B",
"||||||||||||||||||||||||||||||||1**=23;456789000a0)0abcdefghhghh", "F c #11141B",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "G c #11151B",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "H c #11151C",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "J c #12151C",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "K c #12161D",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "L c #13161D",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "P c #13171E",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "I c #14171F",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "U c #14181F",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "Y c #141820",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "T c #151820",
"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", "R c #151920",
"********************1|||||||||||||||||||||||||||||||||||||||||||", "E c #151921",
".+@#.@@.#.+.+.#.@@.#@ij)0d6klm3-=***||||||||||||||||||||||||||||", "W c #161A21",
" :_<[n$.@.#.ij~o~~p00000a0)0a000)!~oqoqo", "Q c #161A22",
" ", /* pixels */
" ", "GNL,ooo%yEG-qqqqqqq,oo-,qqqqq-%%Gq-qqqqqqq,o--qqqnq,%onnnnnnnn-E",
" ", "GNLooooo-%o-qqqqqqq,o%o,ooooooooGqqqqqqqqq,-qqqqqqq,oqnnnnnnnn-%",
" ", "GNLooooo%%o-qqqqqqq-oo%,ooooooooGqq,qqqqqq,oyqqqqqq,o>nnnnnnnn>%",
" ", "GNLooooo%%o-qqqqqq,ooo,,ooooooooGq,%yqqqqq,%uqqqqqq%%onnnnnnns-%",
" ", "GNLooo%o>,o-qqqqqq%o%oq-oooooo,,A%qqqq,o%%q-,---q-%o%onnnnsss-%%",
" ", "GN,ooooo,,oq%----%%%,,oo>-ooo%-uNG%%%,o,-,k,o%------,ouuuuqq7qq-",
" ", "GA-oo-oooooooooo%%ooooo%ooo%o-ooooou%%ooooo,ooNNooooooqoo%snnnnq",
" ", "GA,,%o,oo,nnnosoNnnnnnnn%ossoooqqq%qqooo,,,oo,qonnnnnnn-oqnnnuyy",
" ", "GNs,,q,oo,NNnnnoGnz,nnssq-%%%%%%%%o%soooooooooNznnnnnnnyynnnn,%%",
" ", "GNL,,q,oo,nNnn-oGnz,qq,,,ooo%%%%%o,quooooooooouznnnnnnnyynn,,-%%",
" ", "GNL,,q,ooou,ooooGnsoooooo-oo%%%%%%o,uoooo%oooosznqqnnq-qqsq%%%%%",
" ", "GNNGGELyqq%%>oooLozyyqqoozoooooooooon----q,q,>E>,%-,,%o--,--%%%%",
" ", "GAqqqq,%oo,UEss,NL%%%%%-%o%,-->uyq%--qqqqqoGEUG,,,,,ossssssssss%",
" ", "GNL,,,%o,,,q-o%,oooo%%%qyy-oooqqnnzzq,,,,o>>%%%ooo%qoNnnnnnnnn,s",
" ", "GNLq,>ooqqq,EEEooooooonnnnq%%%oonNNNs-%%%oq%ooooooo,oNnnnnnnnnon",
" ", "G,qzoy,oqq-n%ooooooo,onnnq%%%oooEooouoooooq%ooooooo,oNnnnnnnnNoz",
" ", "GGq,ooooqqq,%ooooooo,qonq%%%oooo-oo,yoooooqooooooooqou%%%%%%uzoz",
" ", "GA7qqq%oouu-%oo,qoooo%onyooooooy-qo,ooooooy-,,%q,qqyoooo-qqqq7qq",
" ", "GEEEENooosso-ss>-zzzqnnnnnooyqoqqqqqq%%%%%%%%%s,oLsssssn,%%%%%,G",
" ", "Gqq,q%%oooooooo,zq,->uqqqq,ouyqqqqqq,qnnnnnnnNoonL%oooo%osznnn,>",
" ", "GNL,>L,%ooooooo,nqqqysqqqq,%syqqqqqq%onnnnnnnnoonL-ooooo%ysnnnqo",
" ", "GNGq%G,5%oooooo,nqqqqqqq%-,%suqqqq%%,onnnnnnnqo-oUoooooo,nnnnnqo",
" ", "GNLqqG,,>%ooooo,o,q,,ooo,>,-,qqqqo,,,onnnnsznoo,oEoooooo,y,,,,oo",
" ", "GNE-qG,,,,,%%%%qsooo-,,,,qUn,-%o%%-q-o,7%,,-qooonU%%%%%-%%oooooo",
" ", "GNGsNLssssEGssqLsssssssssENNNns,ssqEqG-os%o>o,qqoNsssssLoo,qqq,,",
" ", "qssssssq>>>s,--------,oooooooo%-Nooooooooo,,-------s>oooooooooqs",
" ", ",,,,,,5-qqq,%qqqqqq,%%oz,%%%%%ooonnnnnnnnso%oooooooqozsns,q,%%o,",
" ", ",,,,,,,-qqq,%q-qqqq,-%onq%%%%%oo,onnnnnnnyo-oooooooqonnqqzzs,%oo",
" ", ",,qN,,5-qqq,%-,qqqqq,%onq%%%%%oyqunnnnnnnqo-oooooo,qNonzznnq-oos",
" ", ",,,q,,5%qqq,%qqyyqq,o%onq%%%%-oonNnsqnnn,o,qooo-,,,quonnnnqoooon",
" ", "N%%o%%%oooooq,,-,,o,,oos-ooooooosoo,oooo%,%-o>,,,y,%NonnnNqoooo%",
" ", "GNAALNNCGGGNAGGGGUILLLLLLAGANAGANGGAA,qq>-oooo,GGyqqqqq>A-oo%,o,",
" ", "GA,%oG,%yyy%-yqqqNNNNNsq-o,%qoooooooq,qqyyyyyy-s,yqqqqq%sonnoooo",
" ", "GG,,qL,-,,yyqqqq-nnnnnn,oo,-oooooooooqq,,qqqq,>qqqqqqqq%sozsoooo",
" ", "GA,,qL,,q%,,qqqyLnnnnnnn,o,%oooooooouoo%>o>>>,,qqqqq-o-%s,,ooooo",
" ", "GNIqqL,q%,ooqqqqqnnnnzzs%o,%ooooooooqs,,%-,,,,,q%%,q%,,,sonnooo%",
" ", "GNNLsEzL,-%o%%%%un%%->o%oo,,--%I--E>yy,,yyyyy,,-yq--yyyyAo%%o--o",
" ", "qkkkkkzzENNy,,,,,u,,,oooooo%,qq7A,,,,,,,,,ooooooooo%-ooooooooooL",
" ", ";,,,555%ooq-qyyyqyy,oooooooooooooyoqqq,>yqknnnNNn--oonnnnnnnnN,o",
" "}; ",,,,5q5o%%o-qqqqqqq,ooo-oooooooooyqqqqqyy-oqnnnnn%%%,nnnnnnnnn>o",
",7q5,,,o%%o-qqqqqq,oooo,o%ooooo,oyqqqqqqq,,oqznnn%%%o%nnnnnnnn>o",
",7q5,,,o%o,-qqqqqq,%o-o,oooooo-o%,qqqqqqqq,oyznnn%%%oonnnnNnnq-%",
",,,5,,5-ooo>q-oooo-,,q%oo----,,qNE-->---o%qoooooo%ooo-nn,ooo,-%%",
"sUEEULLLL,usynssusLULLUUnLLLLLLLNNLzyULLnNLUULLEEGsu,,%o>ENs,>>>",
"GqqqooGqoo,-o-qqANk--ooo,sGoo-oooo,ooqso%oo,ozNoooo,oooooqqqqqoo",
"NEqEy-n,%5%,-,,,N,oooooo%,noo-%%%-,-o,uAo%%-o,L%%%%o%%%ooNNNNq-%",
"AG,,,qNs7,,,,,-snsoooo%sssNo%%%%%%%-o,uo%%%oo,E,%%,s%%%oonNNN,-%",
"ANL,,qn55q,,,,q,Nsoo,,q,,,nLo-%o-%o%,,uso%ooo>E%%%,s%%oo,qs,%-o%",
"ANL,,yk,,,,,o>,>Ns,%-,q,--sooooooo%qqqsq--,5,,E%%%%%oooo,q-%%o%%",
"ANEEEE,oooo,-%ooqso%oo%osso,,,UEN-ssnUE%oooqqqUoAooooooo%,,,,o%o",
"AAq,,,-oo-qqo%%-%%%o,onnnnq-%o,q%u-oo,,,,,sULLLLLLkN%yNNNnnnnnzq",
"ANL,,,,%,,qo%%%%%%%%oonnny-%%ooqnoooo,,,,,,,55,,,,%Nonnnnnnnnn%o",
"ANs,--ooooqo-%%%%%%%oonnqoo,-%oonoooo,55,%,,,,,,,,qNonnnnnnnnnoo",
"AA,,%oooqqqo,%%%%%%ooysqoo-q,o-onoooo,q555qq,,,,,,qNoyussuuuzno,",
"AG,,,%%%q%u%ooooooooo--oooooo-,ooo%%-5qqq5znuuuuuyqs>oo%ooooo%-o",
"AAsssksy,sNN%no,,sssn,osL,,ssss,N,sssoooooonNNNNNGssss,-ssssssso",
"Gyuq,Uu,,>-%%%%EN>->,;,>-qNoooooooo-,%sq,,-%%---Lo---ooNNooooooL",
"Asq,oL,>oqqqqqqN-yqqqqqqq-Lo,%%%q,%o%,usqqqqqqqoGo%%ooouounnns-o",
"GGqqoL,,,;-,-q,L>yqqukq%o%no%%%%%%ooo,qqqqqqqqq%Nqoooo%uoNnnnn-o",
"GGq,oLs,,%oqsuEn%qqqquq,%,no%%%s-%ooo,qqqqqqq-,,Aooooo%uonnnnouo",
"GGq%oNGu,,q,-%-G>,-qqyo>,,no%%-,%oooN,qqqqq%>,,oGooooo%uo,%s%ooo",
"GGq,oNNq,,q,,,,UL,,,,,,,,,n%oo,o%ooo-qo>%%-,qGLLN,oooo%u%ooooooo",
"GGqqqNn,,,5qqqqLo,,,,5,,qqn-os-ooooo%n,q,5,,o,q5A,,,,,,y,ooooooo",
"qNNNGGGANN%oo,q,GLGs,N>qqq-NNAno-qoANNNnnNnnnnnnnNnnNNNNo----o%s"
};

View file

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

View file

@ -1,118 +1,82 @@
/* XPM */ /* XPM */
static char *box[] = { static char *box[] = {
/* columns rows colors chars-per-pixel */ /* columns rows colors chars-per-pixel */
"64 64 48 1 ", "64 64 12 1 ",
" c #000001", " c #000001",
". c gray48", ". c #603D23",
"X c #A2661E", "X c #6C5033",
"o c #A56A1E", "o c #785939",
"O c #A86D1D", "O c #555555",
"+ c #AB701D", "+ c gray39",
"@ c #AC711D", "@ c #83623D",
"# c #B0751D", "# c #84623F",
"$ c #B1771D", "$ c #916B43",
"% c #B2781D", "% c #A3794C",
"& c #B3791D", "& c #DFB534",
"* c #B47A1D", "* c #FF00DC",
"= c #B77D1C",
"- c #B87F1C",
"; c #BA811C",
": c #BB821C",
"> c #BF871C",
", c #C0871C",
"< c #C58E1B",
"1 c #C0881C",
"2 c #C1881C",
"3 c #CB931B",
"4 c #CB941B",
"5 c #D19A1A",
"6 c #D19B1A",
"7 c #D29C1A",
"8 c #D69F1A",
"9 c #D7A11A",
"0 c #D8A21A",
"q c #D9A31A",
"w c #DDA819",
"e c #DEA919",
"r c #DFAA19",
"t c #E0AC19",
"y c #E2AD19",
"u c #E3AF19",
"i c #E4AF19",
"p c #E5B019",
"a c #E6B219",
"s c #E8B418",
"d c #EDBA18",
"f c #EFBC18",
"g c #F0BD18",
"h c #F2BF18",
"j c #DB8D30",
"k c #F4C217",
"l c #F9C717",
"z c #FF00DC",
/* pixels */ /* pixels */
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "****************************************************************",
"****************************************************************",
"****************************************************************",
"****************************************************************",
"****************************************************************",
" ", " ",
" XXXXXXXXXX...XXX-wpttttw9:#XXXXXXXXXXXXXX6kXXXXXX...XXXXXXXXXX ", " %%%%%%%%%%+.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%++%%%%%%%%%% ",
" XXXXXXXXXX...X+dlllgglllllfqXXXX..XXXXXXXllwXXXXX...XXXXXXXXXX ", " @@@@@@@@@$+.$$@$$&&&&&$$$$$$$$$$@@@@@$$$$&&$$$$$$$..$$$@@@@@$$ ",
" XXXXXXXXXX...Xllll>@XlllllllXXXX..XXXXXXX&##OXXXX...XXXXXXXXXX ", " $$$$$$$$$$++$@@$&&$$$&&$@@@@@@$$$$$$$$$$$$$$$@@@$$+.$$$$$$$$$$ ",
" XXXXXXXXXXX.XXX=,1o*llllgw&XXXX....XXXXoplll4XXXXX.XXXXXXXXXXX ", " %%%%%%%%%%.+%%%%&%%%%&&%%%%%%%%%%%%%%%%%%&&%%%%%%%++%%%%%%%%%% ",
" XXXXXXXXXXXXXXXXXXXwqqq7OXXXXXX....XXXsllll:X3ll1XXXXXXXXXXXXX ", " $$$$$$$$$$@@@$$$$$$&&&$$$@$$$$++$$@@@$$$&&&$$$$@@@$$$$$$$$@@@$ ",
" XXXXXXXXXXXXXXXXXXXX9996XXXXXXX....XXXilllllllllXXXXXXXXXXXXXX ", " $$@@@@@@@@$$$$$$$$$&&$$@@@@@@$++$@@$$$$&&$$$$&$$$$$@@@@@@@$$$$ ",
" XXXXXXXXXXXXXXXXXXXXwll8XXXXXXX....XXXXllllllll<XXXXXXXXXXXXXX ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%+++.%%%%%%&&%%%&&%%%%%%%%%%%%%%%% ",
" $@@@@@@@@@@@@@@$$$$&&$$$$$@@$+.++$@@@@$$&&&&&$$@@@@$$$$$$$$$$@ ",
" $$$$$$$$$@@@@@@@$$$$$@@@@@@@$..++$$$@@$$@@@@@@@@@$$$$$$@@@@@$$ ",
" ", " ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj......jjjjjjjjjjjjjjjjjjjjjjjjjj ", " ##############################OO############################## ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.j..j.jjjjjjjjjjjjjjjjjjjjjjjjjj ", " XXXXXXooooooooooXXooooooooXXooO.ooXXXXXXXXXoooooooooooooooXXoo ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.jjjj.jjjjjjjjjjjjjjjjjjjjjjjjjj ", " ooooooooXXXoooooooXXXXXXoooooo..oooooooooooooXXXXXoooooXoooooo ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj......jjjjjjjjjjjjjjjjjjjjjjjjjj ", " ##############################.O############################## ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.j..j.jjjjjjjjjjjjjjjjjjjjjjjjjj ", " ooooooXXooooooooooXXooXooooooOooOoooooXXoooooooooooooXXXoooooo ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.j..j.jjjjjjjjjjjjjjjjjjjjjjjjjj ", " ooXXXXXXXXoooooXXXXooooooXXoOoooo.ooooooXXXXXXXXXXXXoooooXXXXo ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.j..j.jjjjjjjjjjjjjjjjjjjjjjjjjj ", " #############################.OOO############################# ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.j..j.jjjjjjjjjjjjjjjjjjjjjjjjjj ", " XXoXoooooooooooooXXXooXoooooooooooXXXXXXXXXXXooooooooooooooooo ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.jjjj.jjjjjjjjjjjjjjjjjjjjjjjjjj ", " XXXXXXXXXXXXoooXXoooooXXXXXXooooooooooooooooooooooooXXXXoooooo ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.jjjj.jjjjjjjjjjjjjjjjjjjjjjjjjj ", " ############################################################## ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj......jjjjjjjjjjjjjjjjjjjjjjjjjj ", " ooooXXXXXXXXXXXXXXoooooXXooooooooXXXoooooXXXXXXoooooooXXXXoooo ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj ", " ooXXXoooooooooooooooXXXoooXXoooooooooooooooooooooXXooooooXXXXo ",
" jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj ", " "
" ",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz",
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
}; };

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

View file

@ -1,78 +1,89 @@
/* XPM */ /* XPM */
static char * revive_xpm[] = { static char *revive[] = {
"64 64 11 1", /* columns rows colors chars-per-pixel */
" c #FF00DC", "64 64 19 1 ",
". c #BFC7D5", " c #000001",
"+ c #FFFFFF", ". c #000001",
"@ c #7A73BB", "X c #020203",
"# c #5E579C", "o c #24495B",
"$ c #403995", "O c #2A5E78",
"% c #F9F7FF", "+ c #606060",
"& c #DDDAFB", "@ c #982C2C",
"* c #A9A6C9", "# c #317597",
"= c #8D88BA", "$ c #32789B",
"- c #5B54A0", "% c #FF00DC",
" ", "& c #FF00DC",
" ..++++++++++++++++++++++++++++++++++++++++++.. ", "* c #FF00DC",
" .++++++++++++++++++++++++++++++++++++++++++++. ", "= c #00F3FF",
" ++@@###@@@@@###@@@@@###@@@@@###@@@@@####@@@@++ ", "- c gray59",
" ++@#####@@@#####@@@#####@@@#####@@@@####@@@@++ ", "; c #C4C1C1",
" ++##++++#@#######@#######@#######@##########++ ", ": c LightGray",
" ++####+##@#######@#######@#######@##########++ ", "> c #D3D9DA",
" ++@@##+@@@@@@##@@@@@@##@@@@@@##@@@@@@##@@@@@++ ", ", c #D8D8D8",
" ++@+##+@@#@@###@@#@@###@@#@@###@@#@@####@@@@++ ", "< c white",
" ++#@++@@###@@@@@###@@@@@###@@@@@####@@@@####++ ", /* pixels */
" ++##@@@#####@@@#####@@@#####@@@#####@@@@####++ ", "&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
" ++##+@+######@#######@#$@@@$#@##############++ ", "&&&&&&&&&&&&&&&&&&&&&&&&&&& <<<< &&&&&&&&&&&&&&&&&&&&&&&&&&&",
" ++#+#@++#####@#######@$@@@@@$@##############++ ", "&&&&&&&&&&&&&&&&&&&&&&&&&& <<<<<<<< &&&&&&&&&&&&&&&&&&&&&&&&&&",
" ++@+@@++##@@@@@@@##@@@@@@@@$$@@@@##@@@@@@##@++ ", "&&&&&&&&&&&&&&&&&&&&&&&&& ========== &&&&&&&&&&&&&&&&&&&&&&&&&",
" ++#+@#++###@@#@@###@$@@@@@$$$$@@####@@@@####++ ", "&&&&&&&&&&&&&&&&&&&&&&&& ==<========= &&&&&&&&&&&&&&&&&&&&&&&&",
" ++@@++#@@@@@###@@@@$@@@@@@$$$$#@@@@@####@@@@++ ", "&&&&&&&&&&&&&&&&&&&&&&&& <=<<<===<<===< &&&&&&&&&&&&&&&&&&&&&&&&",
" ++@#####@@@#####@@@$@@@@@@$$$###@@@@####@@@@++ ", "&&&&&&&&&&&&&&&&&&&&&&& <=<<<===<<===< &&&&&&&&&&&&&&&&&&&&&&&",
" ++#+++++@@#######@@@@@@@@@@$$####@@######@@#++ ", "&&&&&&&&&&&&&&&&&&&&&&& <<=<==<===<===<< &&&&&&&&&&&&&&&&&&&&&&&",
" ++##+#+##@###$$$$@$@@@@@@@@$#$$$$@##########++ ", "&&&&&&&&&&&&&&&&&&&&&&& <<=<====<<<<==<< &&&&&&&&&&&&&&&&&&&&&&&",
" ++##++##@@##$$$$$$$@@@@@@@@$$$$$$$@##@@##@@#++ ", "&&&&&&&&&&&&&&&&&&&&&&& <<==<=====<===<< &&&&&&&&&&&&&&&&&&&&&&&",
" ++@@+#++@#@$$$$$$$@@@@@@@@@@$$$$$$$@####@@@@++ ", "&&&&&&&&&&&&&&&&&&&&&&& <<===<===<<<==<< &&&&&&&&&&&&&&&&&&&&&&&",
" ++@@+@++##$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@##@++ ", "&&&&&&&&&&&&&&&&&&&&&&& <=======<=<==< &&&&&&&&&&&&&&&&&&&&&&&",
" ++##@@@###$$$$$$$@@@@@@@@@@@@$$$$$$$@@@@####++ ", "&&&&&*&&&&&&&&&&&&&&&&&& <=======<=<==< &&&&&&&&&&&&&&&&&&&&&&&&",
" ++#+++++##$$$$@$$@@@@@@@@@@@@$$#$$$$#@@#####++ ", "&&&***&&&&&&&&&&&&&&&&&% <==========< %&&&&&&&&&&&&&&&&&&&&&&&",
" ++##+@####$$$@#$$@@@@%%%%@@@@$$##$$$########++ ", "&&&&**&&&&&&&&&&&&&&&&&&% <========< %&&&&&&&&&&&&&&&&&&&&&&&&",
" ++##+++#@$@$@@@$@@@%%%%%%%%@@@$##@$@$@@##@@#++ ", "&&&&&&&&&&&&&&&&&&&&&&&&&% <======< %&&&&&&&&&&&&&&&&&&&&&&&&&",
" ++#@+#@@#$@@@#@@@@$$%%%%%%$$@@@@#@@@$@@@####++ ", "&&&&&&&&&&&&&&&&&&&&&&&&&&% <<<< %&&&&&&&&&&&&&&&&&&&&&&&&&&",
" ++@@+#++@@@@$##@@$$$$%%%%$$$$@@@@$@@@##@@@@@++ ", "&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
" ++@#####@@@####@@&$$$$%%$$$$%@@#@@@@####@@@@++ ", "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&% %&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
" ++#++++#@@#####@@&%$$%%%%$$%%@@##@@######@@#++ ", "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
" ++##+##+#@#####$&&%%%@%%@%%%%%$##@####++#+##++ ", "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
" ++##+#++@@####@&&@%%%%@@%%%%@%%##@@##@@+#+@#++ ", "&&&&&&&& &&&&&&&&",
" ++@@+#+@@#@@###&&@@@@@@@@@@@@%%@@#@@##++@+@@++ ", "&&&&&&&& ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, &&&&&&&&",
" ++@@+@++##@@@@@$&%@@@@@@@@@@%%$@@##@@@+@@+#@++ ", "&&&&&&&& ,,====,=,=,=,==,=,,=,,===,==>=,=,=,=,=,==,,,,, &&&&&&&&",
" ++##@@@#####@@@##&%@@%%%%@@%%@@#####@@@++++#++ ", "&&&&&&&& ,,=>>=,=,=,,,=>,=,=,,,=,=,=,,=,=,,,=,=,=,,,,,, &&&&&&&&",
" ++##@@#######@@##&&@@@@@@@@%%@@######@@#####++ ", "&&&&&&& :,,=>,=,=,=,=,=,,==,,,,===,==,=,=,=,=,=,==,,,,,: &&&&&&&",
" ++###@#######@#$$&&&%@@@@%%%&$$#######++#+##++ ", "&&&&&&& ,,,=>==,=,=,=,=,,=,=,,,=,,,=,,=>=,=,=,=,=,,,,,,, &&&&&&&",
" ++##@@##@####$$***&%%%%%%%%&***$$#@##@@##+@#++ ", "&&&&&&& ,,,====,===,=,==,=,>=,,=,=,==,,=,,=,,=,,==,,,,,, &&&&&&&",
" ++#@@#@@##$$***=====&&&&&&==&==**=$$@@@+++##++ ", "&&&&&&% ,,,,,,,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, %&&&&&&",
" ++@@##@@@@****===&&=**=&&*====&==**=@##@@+@@++ ", "&&&&&& ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, &&&&&&",
" ++@#####@$**====&=***===&=**====&==*$#+++++@++ ", "&&&&&% $$ $$ %&&&&&",
" ++######$**====&=***=======**=======*$###@@#++ ", "&&&&& $$$$$$$$$$@@@@@@@@@###+ ++++ +########$$$$$$$$$$$$$$ &&&&&",
" ++######$*---====**=-----==**====---=$++#+##++ ", "&&&&% $$$$$$$$$@@@@@@@@$$$$$+ ++++ +$$$$$$$$$$$$$$$@@$@$$$ %&&&&",
" ++##@###$*----&=***-------=***==----=$++#+@#++ ", "&&&&% $$$$$$$$$$@@@@@$$$$$$$$+ +$$$$$$$$$$$$$$$@@@@@$$$ %&&&&",
" ++@@###@@$---$#***=---$$---=***@$---####++@@++ ", "&&&& ######$$$$$$$$$$$$$$$$$$$++++$$$$$$$$$$$$$$$$$@@@@@### &&&&",
" ++@@@@@@$@-$$@@***---$@@$--=***@@$$$$@@+@+#@++ ", "&&&& $$$$$$#######$$$$$$$$$$$$$++$$$$$$$$$$$$$####@@@@@@$$$ &&&&",
" ++##@@@#$@@$@@@***---@@##---***###$$$@+++++#++ ", "&&&& $$@@@@$@@@@@$############################$$$$$$@@@@$$$ &&&&",
" ++##@@###$$##@@***--$@@##$--***####$#@@#####++ ", "&&&& @@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ &&&&",
" ++###@#######@#**--$#@####$--**#########++##++ ", "&&&& @@@@@O $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ OOOOOO &&&&",
" ++##@@##@####@@$$-$##@@###@$$@@###@##@++#@+#++ ", "&&&& O@@@OOOOOOOO OOOO++OOOOOO &&&&",
" ++@@@@@@##@@@@@$$$#@@@@@@##@$@@@@##@@@++@#+@++ ", "&&&& O@@OOOOOOOOOOOOOOOOO<<<<<<<<<<<<<<OOOOOOOOOOOO++OOOOOO &&&&",
" ++@@##@@@@@@@##$$@@@@##@@@@@@$$@@@@@@#++@@+@++ ", "&&&& O@O;O;;O;;OOOOOOOOOO<<<<<<<<<<<<<<OOOOOOOOOOO----OOOOO &&&&",
" ++@@###@@@@@###@@@@@###@@@@@###@@@@@###+@+@@++ ", "&&&&& @OOO;OO;OOOOOOOOOOO<<<<<<<<<<<@<<OOOOOOOOOOOo++oOOOO &&&&&",
" ++######@@#######@@######@@######@@######@@#++ ", "&&&&& OO;O;OO;;OOOOOOOOOO<<<<<<<<<@@@@<OOOOOOOOOOOo++oOOOO &&&&&",
" ++#######@#######@#######@#######@######++##++ ", "&&&&& OO;O;OO;OOOOOOOOOOO<<<<<<<<@@@@<<OOOOOOOOOOOOooOOOOO &&&&&",
" ++##@###@@####@##@@###@##@@###@##@@##@@+#@+#++ ", "&&&&& OO;O;;O;;OOOOOOOOOO<<<<<<<<@@@@<<OOOOOOOOOOOOOOOOOOO &&&&&",
" ++@@##@@@@@@@##@@@@@@##@@@@@@##@@@@@@##+@@@@++ ", "&&&&& OOOOOOOOOOOOOOOOOOOO<<<<< @@@@<OOOOOOOOOOOOOOOOOOOO &&&&&",
" ++@@@@@@##@@@@@@@##@@@@@@##@@@@@@##@@@@+@##@++ ", "&&&&&& OOOOOOOOOOOOOOOOOOO<<<< @@<<OOOOOOOOOOOOOOOOOOO &&&&&&",
" ++#@@@@@###@@@@@###@@@@@###@@@@@####@@++++##++ ", "&&&&&& OO;;O;;O;OO;;OOOOOO<<<< @@<<OOOOOOOOOOOOOOOOOOO &&&&&&",
" ++##@@#######@@######@@######@@######@@#####++ ", "&&&&&& OO;OO;;O;OO;O;OOOOO<<<<<<@@@@<<OOOOOOOOOOOOOOOOOOO &&&&&&",
" ++###@#######@#######@#######@##############++ ", "&&&&&& OO;OO;;O;OO;O;OOOOO<<<<<<@@@@<<OOOOOOOOOOOOOOOOOOO &&&&&&",
" .++++++++++++++++++++++++++++++++++++++++++++. ", "&&&&&& OO;;O;;O;;O;;OOOOOO<<<<<<<@@@<<OOOOOOOOOOOOOOOOOOO &&&&&&",
" ..++++++++++++++++++++++++++++++++++++++++++.. ", "&&&&&&& OOOOOOOOOOOOOOOOOO<<<<<<<@@@<<OOOOOOOOOOOOOOOOOO &&&&&&&",
" "}; "&&&&&&& OOOOOOOOOOOOOOOOOO<<<<<<<@@@<<OOOOOOOOOOOOOOOOOO &&&&&&&",
"&&&&&&& OOOOOOOOOOOOOOOOOO<<<<< @@<<<OOOOOOOOOOOOOOOOOO &&&&&&&",
"&&&&&&& OOOOOOOOOOOOOOOOOOO<<<< @<<<OOOOOOOOOOOOOOOOOOO &&&&&&&",
"&&&&&&&& OOOOOOOOOO@OOOOOOOOO<<<<<<OOOOOOOOOOOOOOOOOOOO &&&&&&&&",
"&&&&&&&& OOOOOOOO@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO &&&&&&&&",
"&&&&&&&& O@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOO &&&&&&&&",
"&&&&&&&&&% ++ & @@@OOOOOOOOOOOOOOOOO & ++ %&&&&&&&&&",
"&&&&&&&&&% ++ &&&&&&&& OOOOOOOOOO &&&&&&&& ++ %&&&&&&&&&",
"&&&&&&&&&% ++ &&&&&&&&&&&&& OOOO &&&&&&&&&&&&& ++ %&&&&&&&&&",
"&&&&&&&&&% &&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&& %&&&&&&&&&",
"&&&&&&&&&%& %&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&% &%&&&&&&&&&"
};

File diff suppressed because it is too large Load diff

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/17 14:59:37 by kcolin #+# #+# */ /* Created: 2025/07/17 14:59:37 by kcolin #+# #+# */
/* Updated: 2025/09/10 14:56:37 by tchampio ### ########.fr */ /* Updated: 2025/09/22 17:17:23 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -15,10 +15,11 @@
# include "map/mapdata.h" # include "map/mapdata.h"
# include "draw/img_data.h" # include "draw/img_data.h"
# include "player/weapon.h"
# include "sprites/sprite.h" # include "sprites/sprite.h"
# include "player/player.h"
# include "utils/keypresses.h" # include "utils/keypresses.h"
# include "consts.h" # include "consts.h"
# include "player/player.h"
// the 4 static sprites are some of the perks and the mystery box // the 4 static sprites are some of the perks and the mystery box
typedef struct s_cub3d_data typedef struct s_cub3d_data
@ -29,20 +30,21 @@ typedef struct s_cub3d_data
t_img_data *so_texture; t_img_data *so_texture;
t_img_data *we_texture; t_img_data *we_texture;
t_img_data *ea_texture; t_img_data *ea_texture;
t_img_data *barricades_texture[7]; t_img_data *barricades_texture[6];
t_img_data *img_data; t_img_data *img_data;
t_img_data *point_figures[10]; t_img_data *point_figures[10];
t_img_data *perk_logos[3]; t_img_data *perk_logos[3];
t_img_data *tally_marks[5]; t_img_data *tally_marks[5];
t_img_data *round_figures[10]; t_img_data *round_figures[10];
t_img_data *gun;
t_mapdata *map; t_mapdata *map;
t_player player; t_player player;
t_keypresses keypresses; t_keypresses keypresses;
int *screen_matrix; int *screen_matrix;
int last_since_shoot; // temp
int delta; int delta;
int last_tick; int last_tick;
t_sprite **sprite_list; t_sprite **sprite_list;
t_weapon **weaponsregistry;
int sprite_counter; int sprite_counter;
double zbuffer[WIDTH]; double zbuffer[WIDTH];
int sprite_order[MAX_SPRITES]; int sprite_order[MAX_SPRITES];

View file

@ -6,7 +6,7 @@
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */ /* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/08 17:27:12 by tchampio #+# #+# */ /* Created: 2025/09/08 17:27:12 by tchampio #+# #+# */
/* Updated: 2025/09/08 17:32:39 by tchampio ### ########.fr */ /* Updated: 2025/09/17 16:55:05 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -84,5 +84,11 @@ void create_hud(t_cub3d_data *data)
draw_points(data); draw_points(data);
draw_perks(data); draw_perks(data);
draw_round(data); draw_round(data);
matrix_image_put(data, data->gun, WIDTH / 2, HEIGHT - 175); if (data->player.weapon->is_shooting)
matrix_image_put(data, data->player.weapon->shoot_texture,
WIDTH / 2, HEIGHT - 175);
else
matrix_image_put(data, data->player.weapon->texture,
WIDTH / 2, HEIGHT - 175);
matrix_set(data, WIDTH / 2, HEIGHT / 2, 0x0000FF00);
} }

View file

@ -6,7 +6,7 @@
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */ /* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/03 17:02:08 by tchampio #+# #+# */ /* Created: 2025/09/03 17:02:08 by tchampio #+# #+# */
/* Updated: 2025/09/10 14:56:33 by tchampio ### ########.fr */ /* Updated: 2025/09/22 17:17:34 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -109,10 +109,7 @@ void load_textures(t_cub3d_data *data)
"ressources/barricades_6.xpm"); "ressources/barricades_6.xpm");
data->barricades_texture[5] = load_single_texture(data, data->barricades_texture[5] = load_single_texture(data,
"ressources/barricades_7.xpm"); "ressources/barricades_7.xpm");
data->barricades_texture[6] = load_single_texture(data,
"ressources/barricades_8.xpm");
load_points_textures(data); load_points_textures(data);
load_perk_logos(data); load_perk_logos(data);
load_round_indicators(data); load_round_indicators(data);
data->gun = load_hud_texture(data, "ressources/weapon.xpm");
} }

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/17 14:14:30 by kcolin #+# #+# */ /* Created: 2025/07/17 14:14:30 by kcolin #+# #+# */
/* Updated: 2025/09/08 17:30:24 by tchampio ### ########.fr */ /* Updated: 2025/09/18 12:51:25 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -33,20 +33,39 @@
#include "utils/time.h" #include "utils/time.h"
#include "sprites/move_sprites.h" #include "sprites/move_sprites.h"
#include "hud/hud.h" #include "hud/hud.h"
#include "player/weapons.h"
void handle_player_sprites(t_cub3d_data *data)
{
move_player(data);
handle_shooting(data);
move_sprites(data);
data->player.aimed_zombie = NULL;
}
void casters(t_cub3d_data *data)
{
t_ray ray;
reset_matrix(data);
raycaster(data, &ray);
sprite_caster(data);
create_hud(data);
}
int game_loop(t_cub3d_data *data) int game_loop(t_cub3d_data *data)
{ {
t_ray ray;
int fps; int fps;
char fps_string[4]; char fps_string[4];
data->last_tick = get_milliseconds(); data->last_tick = get_milliseconds();
reset_matrix(data); handle_player_sprites(data);
move_player(data); casters(data);
move_sprites(data); if (data->player.weapon->is_shooting)
raycaster(data, &ray); {
sprite_caster(data); if (get_milliseconds() - data->last_since_shoot > 7000)
create_hud(data); data->player.weapon->is_shooting = false;
}
matrix_to_image(data); matrix_to_image(data);
mlx_put_image_to_window(data->mlx, data->mlx_win, mlx_put_image_to_window(data->mlx, data->mlx_win,
data->img_data->img, 0, 0); data->img_data->img, 0, 0);

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/17 14:18:13 by kcolin #+# #+# */ /* Created: 2025/07/17 14:18:13 by kcolin #+# #+# */
/* Updated: 2025/09/08 17:51:38 by tchampio ### ########.fr */ /* Updated: 2025/09/22 17:16:41 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -25,7 +25,7 @@
*/ */
bool has_forbidden_characters(char *line) bool has_forbidden_characters(char *line)
{ {
static const char *allowedchars = " 102345678NSEWMQJDz\n"; static const char *allowedchars = " 10234567NSEWMQJDz\n";
size_t strsize; size_t strsize;
int i; int i;

20
src/player/init_player.h Normal file
View file

@ -0,0 +1,20 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* init_player.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/10 15:55:37 by tchampio #+# #+# */
/* Updated: 2025/09/10 15:56:23 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef INIT_PLAYER_H
# define INIT_PLAYER_H
# include "../cub3d_data.h"
void init_player(t_cub3d_data *data, t_player *player, t_mapdata *map);
#endif // INIT_PLAYER_H

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/06 11:29:14 by kcolin #+# #+# */ /* Created: 2025/08/06 11:29:14 by kcolin #+# #+# */
/* Updated: 2025/09/03 16:37:56 by tchampio ### ########.fr */ /* Updated: 2025/09/18 12:06:58 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -14,6 +14,7 @@
#include "../../libft/includes/libft.h" #include "../../libft/includes/libft.h"
#include "../map/mapdata.h" #include "../map/mapdata.h"
#include "../consts.h" #include "../consts.h"
#include "../hud/load_texture.h"
// east west // east west
void init_lon(t_player *player, char dir) void init_lon(t_player *player, char dir)
@ -53,7 +54,7 @@ void init_lat(t_player *player, char dir)
} }
} }
void init_player(t_player *player, t_mapdata *map) void init_player(t_cub3d_data *data, t_player *player, t_mapdata *map)
{ {
char dir; char dir;
@ -63,6 +64,7 @@ void init_player(t_player *player, t_mapdata *map)
player->health = 100; player->health = 100;
player->points = 500; player->points = 500;
ft_bzero(player->perk_order, 3); ft_bzero(player->perk_order, 3);
player->weapon = data->weaponsregistry[1];
if (dir == 'N' || dir == 'S') if (dir == 'N' || dir == 'S')
init_lon(player, dir); init_lon(player, dir);
else else

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/17 15:51:29 by kcolin #+# #+# */ /* Created: 2025/07/17 15:51:29 by kcolin #+# #+# */
/* Updated: 2025/09/03 16:27:17 by tchampio ### ########.fr */ /* Updated: 2025/09/17 16:52:41 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -14,6 +14,9 @@
# define PLAYER_H # define PLAYER_H
# include "../map/mapdata.h" # include "../map/mapdata.h"
# include "../draw/img_data.h"
# include "../sprites/sprite.h"
# include "weapon.h"
typedef struct s_vec2 typedef struct s_vec2
{ {
@ -44,8 +47,8 @@ typedef struct s_player
bool has_doubletap; bool has_doubletap;
t_perks perk_order[3]; t_perks perk_order[3];
t_vec2 movement; t_vec2 movement;
t_weapon *weapon;
t_sprite *aimed_zombie;
} t_player; } t_player;
void init_player(t_player *player, t_mapdata *map);
#endif // PLAYER_H #endif // PLAYER_H

View file

@ -0,0 +1,59 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* register_weapons.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/18 11:38:37 by tchampio #+# #+# */
/* Updated: 2025/09/18 12:36:19 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#include "../cub3d_data.h"
#include "../../libft/includes/libft.h"
void register_weapon_2(t_weapon *weapon, const char *name,
bool is_auto, int damages)
{
if (!weapon)
return ;
ft_strlcpy(weapon->name, name, 255);
weapon->is_auto = is_auto;
weapon->damages = damages;
}
t_weapon *register_weapon(t_img_data *texture, t_img_data *shoot_tex,
int clip, int ammo)
{
t_weapon *weapon;
weapon = ft_calloc(sizeof(*weapon), 1);
if (!weapon)
return (NULL);
weapon->texture = texture;
weapon->shoot_texture = shoot_tex;
weapon->base_clip = clip;
weapon->clip = clip;
weapon->base_ammos = ammo;
weapon->remaining_ammos = ammo;
return (weapon);
}
t_weapon *get_weapon(const char *name, t_weapon **weapons)
{
t_weapon *weapon;
int i;
if (!weapons)
return (NULL);
i = 0;
weapon = weapons[i];
while (weapon)
{
if (ft_strncmp(weapon->name, name, ft_strlen(name) + 1) == 0)
return (weapon);
weapon = weapons[++i];
}
return (NULL);
}

View file

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* register_weapons.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/18 11:53:17 by tchampio #+# #+# */
/* Updated: 2025/09/18 12:35:49 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef REGISTER_WEAPONS_H
# define REGISTER_WEAPONS_H
# include "weapon.h"
# include "../cub3d_data.h"
void register_weapon_2(t_weapon *weapon, const char *name,
bool is_auto, int damages);
t_weapon *register_weapon(t_img_data *texture, t_img_data *shoot_tex,
int clip, int ammo);
t_weapon *get_weapon(const char *name, t_cub3d_data *data);
#endif // REGISTER_WEAPONS_H

33
src/player/weapon.h Normal file
View file

@ -0,0 +1,33 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* weapon.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/17 16:50:52 by tchampio #+# #+# */
/* Updated: 2025/09/18 11:54:22 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef WEAPON_H
# define WEAPON_H
# include "../draw/img_data.h"
typedef struct s_weapon
{
t_img_data *texture;
t_img_data *shoot_texture;
char name[255];
int damages;
bool is_auto;
bool is_shooting;
bool reloading;
int clip;
int remaining_ammos;
int base_clip;
int base_ammos;
} t_weapon;
#endif // WEAPON_H

86
src/player/weapons.c Normal file
View file

@ -0,0 +1,86 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* weapons.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/18 12:48:49 by tchampio #+# #+# */
/* Updated: 2025/09/18 12:50:08 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#include "../cub3d_data.h"
#include "../utils/time.h"
#include "../../mlx/mlx.h"
#include "../../libft/includes/libft.h"
#include <stdlib.h>
void kill_zombie(t_cub3d_data *data, t_sprite *zombie_ptr)
{
mlx_destroy_image(data->mlx, zombie_ptr->image->img);
free(zombie_ptr->image);
zombie_ptr->sprite_type = DEAD_ZOMBIE;
data->player.points += 60;
}
void handle_clip(t_cub3d_data *data)
{
if (data->player.weapon->clip <= 0
&& data->player.weapon->remaining_ammos > 0)
{
ft_printf("reloading\n");
if (data->player.weapon->remaining_ammos
< data->player.weapon->base_clip)
{
data->player.weapon->clip
= data->player.weapon->remaining_ammos;
data->player.weapon->remaining_ammos = 0;
}
else
{
data->player.weapon->clip = data->player.weapon->base_clip;
data->player.weapon->remaining_ammos
-= data->player.weapon->base_clip;
}
}
}
void shoot(t_cub3d_data *data)
{
if (data->player.aimed_zombie)
{
data->player.aimed_zombie->health -= data->player.weapon->damages;
data->player.points += 10;
ft_printf("Shooting %p, now at %d HP %d/%d\n",
data->player.aimed_zombie,
data->player.aimed_zombie->health, data->player.weapon->clip,
data->player.weapon->remaining_ammos);
if (data->player.aimed_zombie->health <= 0)
kill_zombie(data, data->player.aimed_zombie);
}
else
ft_printf("Shoot! %d/%d\n", data->player.weapon->clip,
data->player.weapon->remaining_ammos);
}
void handle_shooting(t_cub3d_data *data)
{
if (data->keypresses.is_space_pressed)
{
if (!data->player.weapon->is_auto)
data->keypresses.is_space_pressed = false;
if (data->last_since_shoot != 0 && data->player.weapon->is_auto)
{
if (get_milliseconds() - data->last_since_shoot < 50000)
return ;
}
handle_clip(data);
if (data->player.weapon->clip <= 0)
return ;
data->player.weapon->is_shooting = true;
data->last_since_shoot = get_milliseconds();
data->player.weapon->clip--;
shoot(data);
}
}

20
src/player/weapons.h Normal file
View file

@ -0,0 +1,20 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* weapons.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/18 12:50:43 by tchampio #+# #+# */
/* Updated: 2025/09/18 12:51:14 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef WEAPONS_H
# define WEAPONS_H
# include "../cub3d_data.h"
void handle_shooting(t_cub3d_data *data);
#endif // WEAPONS_H

View file

@ -6,7 +6,7 @@
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */ /* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/09 14:00:36 by tchampio #+# #+# */ /* Created: 2025/09/09 14:00:36 by tchampio #+# #+# */
/* Updated: 2025/09/09 14:04:01 by tchampio ### ########.fr */ /* Updated: 2025/09/22 17:16:07 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -21,7 +21,7 @@ void check_barricades(t_ray *ray, t_cub3d_data *data)
static int remaining_ticks = BARRICADE_TICK; static int remaining_ticks = BARRICADE_TICK;
if (data->map->map[ray->map_y][ray->map_x] >= '2' if (data->map->map[ray->map_y][ray->map_x] >= '2'
&& data->map->map[ray->map_y][ray->map_x] <= '8') && data->map->map[ray->map_y][ray->map_x] <= '7')
{ {
if (last_barricade_x != ray->map_x || last_barricade_y != ray->map_y) if (last_barricade_x != ray->map_x || last_barricade_y != ray->map_y)
{ {
@ -33,10 +33,10 @@ void check_barricades(t_ray *ray, t_cub3d_data *data)
if (remaining_ticks <= 0) if (remaining_ticks <= 0)
{ {
remaining_ticks = BARRICADE_TICK; remaining_ticks = BARRICADE_TICK;
if (data->map->map[last_barricade_y][last_barricade_x] < '8') if (data->map->map[last_barricade_y][last_barricade_x] == '7')
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); create_zombie(data, last_barricade_x, last_barricade_y);
if (data->map->map[last_barricade_y][last_barricade_x] < '7')
data->map->map[last_barricade_y][last_barricade_x]++;
} }
} }
} }

View file

@ -6,11 +6,12 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/31 11:55:41 by kcolin #+# #+# */ /* Created: 2025/07/31 11:55:41 by kcolin #+# #+# */
/* Updated: 2025/09/09 14:07:24 by tchampio ### ########.fr */ /* Updated: 2025/09/15 14:08:27 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "ray.h" #include "ray.h"
#include "zombie_checker.h"
#include "barricades.h" #include "barricades.h"
#include "raycaster.h" #include "raycaster.h"
#include "../player/player.h" #include "../player/player.h"
@ -18,6 +19,7 @@
#include "../cub3d_data.h" #include "../cub3d_data.h"
#include <float.h> #include <float.h>
#include <math.h> #include <math.h>
#include <stdlib.h>
#include "../map/collision.h" #include "../map/collision.h"
void init_ray(t_ray *ray, int pos_x, t_player *player) void init_ray(t_ray *ray, int pos_x, t_player *player)
@ -55,10 +57,12 @@ void ray_calculate_step(t_ray *ray, t_player *player)
} }
} }
void calculate_wall_dist(t_ray *ray, t_mapdata *map) void calculate_wall_dist(t_ray *ray, int x, t_cub3d_data *data)
{ {
while (true) while (true)
{ {
if (x == WIDTH / 2)
check_for_zombies(ray, data);
if (ray->side_dist_x < ray->side_dist_y) if (ray->side_dist_x < ray->side_dist_y)
{ {
ray->side_dist_x += ray->delta_dist_x; ray->side_dist_x += ray->delta_dist_x;
@ -71,7 +75,7 @@ void calculate_wall_dist(t_ray *ray, t_mapdata *map)
ray->map_y += ray->step_y; ray->map_y += ray->step_y;
ray->side = SOUTH; ray->side = SOUTH;
} }
if (blocks_view(map, ray->map_x, ray->map_y)) if (blocks_view(data->map, ray->map_x, ray->map_y))
break ; break ;
} }
if (ray->side == NORTH) if (ray->side == NORTH)
@ -107,7 +111,7 @@ void raycaster(t_cub3d_data *data, t_ray *ray)
{ {
init_ray(ray, x, &data->player); init_ray(ray, x, &data->player);
ray_calculate_step(ray, &data->player); ray_calculate_step(ray, &data->player);
calculate_wall_dist(ray, data->map); calculate_wall_dist(ray, x, data);
calculate_wall_height(ray, &data->player); calculate_wall_height(ray, &data->player);
check_barricades(ray, data); check_barricades(ray, data);
render_walls(data, ray, x); render_walls(data, ray, x);

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/31 13:17:39 by kcolin #+# #+# */ /* Created: 2025/07/31 13:17:39 by kcolin #+# #+# */
/* Updated: 2025/09/10 15:03:17 by tchampio ### ########.fr */ /* Updated: 2025/09/22 17:17:54 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -49,8 +49,6 @@ t_img_data *get_right_barricade(t_cub3d_data *data, char c)
return (data->barricades_texture[4]); return (data->barricades_texture[4]);
if (c == '7') if (c == '7')
return (data->barricades_texture[5]); return (data->barricades_texture[5]);
if (c == '8')
return (data->barricades_texture[6]);
return (data->so_texture); return (data->so_texture);
} }
@ -65,7 +63,7 @@ static int get_color(t_cub3d_data *data, t_ray *ray, int tex_y)
|| (ray->side == SOUTH && ray->dir_y > 0)) || (ray->side == SOUTH && ray->dir_y > 0))
tex_x = TEXTURE_SIZE - tex_x - 1; tex_x = TEXTURE_SIZE - tex_x - 1;
dir = get_cardinal(ray); dir = get_cardinal(ray);
if (ft_strchr("2345678", data->map->map[ray->map_y][ray->map_x])) if (ft_strchr("234567", data->map->map[ray->map_y][ray->map_x]))
return (my_mlx_pixel_get(get_right_barricade(data, return (my_mlx_pixel_get(get_right_barricade(data,
data->map->map[ray->map_y][ray->map_x]), tex_x, tex_y)); data->map->map[ray->map_y][ray->map_x]), tex_x, tex_y));
if (dir == NORTH) if (dir == NORTH)

View file

@ -0,0 +1,37 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* zombie_checker.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/15 13:08:48 by tchampio #+# #+# */
/* Updated: 2025/09/15 14:10:17 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#include "ray.h"
#include "../cub3d_data.h"
#include <stdlib.h>
void check_for_zombies(t_ray *ray, t_cub3d_data *data)
{
int i;
i = 0;
while (i < data->sprite_counter)
{
if (ray->map_x == (int)data->sprite_list[i]->x
&& ray->map_y == (int)data->sprite_list[i]->y)
{
if (data->sprite_list[i]->sprite_type == ZOMBIE)
{
data->player.aimed_zombie = data->sprite_list[i];
break ;
}
else
data->player.aimed_zombie = NULL;
}
i++;
}
}

View file

@ -0,0 +1,21 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* zombie_checker.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/09/15 13:09:54 by tchampio #+# #+# */
/* Updated: 2025/09/15 13:10:44 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef ZOMBIE_CHECKER_H
# define ZOMBIE_CHECKER_H
# include "ray.h"
# include "../cub3d_data.h"
void check_for_zombies(t_ray *ray, t_cub3d_data *data);
#endif // ZOMBIE_CHECKER_H

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/18 13:52:23 by kcolin #+# #+# */ /* Created: 2025/08/18 13:52:23 by kcolin #+# #+# */
/* Updated: 2025/09/09 14:08:10 by tchampio ### ########.fr */ /* Updated: 2025/09/15 14:36:47 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -37,6 +37,7 @@ void create_zombie(t_cub3d_data *data, double x, double y)
data->sprite_list[data->sprite_counter] = create_sprite(data, data->sprite_list[data->sprite_counter] = create_sprite(data,
"ressources/zombie.xpm", x, y); "ressources/zombie.xpm", x, y);
data->sprite_list[data->sprite_counter]->sprite_type = ZOMBIE; data->sprite_list[data->sprite_counter]->sprite_type = ZOMBIE;
data->sprite_list[data->sprite_counter]->health = 250;
data->sprite_counter++; data->sprite_counter++;
} }
@ -59,6 +60,7 @@ t_sprite *place_right_sprite(t_cub3d_data *data, char c, double x, double y)
{ {
sprite = create_sprite(data, ZOMBIE_TEX, x + 0.5, y + 0.5); sprite = create_sprite(data, ZOMBIE_TEX, x + 0.5, y + 0.5);
sprite->sprite_type = ZOMBIE; sprite->sprite_type = ZOMBIE;
sprite->health = 250;
} }
if (c == 'D' || c == 'Q' || c == 'J') if (c == 'D' || c == 'Q' || c == 'J')
sprite->sprite_type = PERK; sprite->sprite_type = PERK;

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/18 13:22:50 by kcolin #+# #+# */ /* Created: 2025/08/18 13:22:50 by kcolin #+# #+# */
/* Updated: 2025/08/20 12:38:53 by tchampio ### ########.fr */ /* Updated: 2025/09/15 15:25:39 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -14,6 +14,7 @@
#include "../map/collision.h" #include "../map/collision.h"
#include "sprite.h" #include "sprite.h"
#include <math.h> #include <math.h>
#include <stdlib.h>
void make_move(t_cub3d_data *data, t_sprite *sprite) void make_move(t_cub3d_data *data, t_sprite *sprite)
{ {

View file

@ -6,7 +6,7 @@
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */ /* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/05 12:59:44 by tchampio #+# #+# */ /* Created: 2025/08/05 12:59:44 by tchampio #+# #+# */
/* Updated: 2025/08/13 14:44:02 by tchampio ### ########.fr */ /* Updated: 2025/09/15 15:26:56 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -18,6 +18,7 @@
typedef enum e_sprite_type typedef enum e_sprite_type
{ {
ZOMBIE, ZOMBIE,
DEAD_ZOMBIE,
PERK, PERK,
BOX, BOX,
OTHER OTHER
@ -62,6 +63,7 @@ typedef struct s_sprite
int sprite_draw_start_x; int sprite_draw_start_x;
int sprite_draw_end_x; int sprite_draw_end_x;
t_sprite_type sprite_type; t_sprite_type sprite_type;
int health;
} t_sprite; } t_sprite;
#endif // SPRITE_H #endif // SPRITE_H

View file

@ -6,7 +6,7 @@
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */ /* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/05 15:51:01 by tchampio #+# #+# */ /* Created: 2025/08/05 15:51:01 by tchampio #+# #+# */
/* Updated: 2025/09/01 15:55:41 by tchampio ### ########.fr */ /* Updated: 2025/09/15 15:41:09 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -16,6 +16,7 @@
#include "sort_sprites.h" #include "sort_sprites.h"
#include <math.h> #include <math.h>
#include "../../libft/includes/libft.h" #include "../../libft/includes/libft.h"
#include "sprite.h"
static void calculate_pos_and_transform(t_cub3d_data *data, t_sprite *sprite, static void calculate_pos_and_transform(t_cub3d_data *data, t_sprite *sprite,
int i) int i)
@ -128,6 +129,8 @@ void sprite_caster(t_cub3d_data *data)
while (data->sprite_list[i] && i < MAX_SPRITES) while (data->sprite_list[i] && i < MAX_SPRITES)
{ {
sprite_calculate_pos_and_dist(data, i); sprite_calculate_pos_and_dist(data, i);
if (data->sprite_list[data->sprite_order[i]]->sprite_type
!= DEAD_ZOMBIE)
render_sprites(data, i); render_sprites(data, i);
i++; i++;
} }

View file

@ -6,12 +6,13 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/18 13:05:31 by kcolin #+# #+# */ /* Created: 2025/08/18 13:05:31 by kcolin #+# #+# */
/* Updated: 2025/09/10 15:18:58 by tchampio ### ########.fr */ /* Updated: 2025/09/22 17:18:55 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "../cub3d_data.h" #include "../cub3d_data.h"
#include "../../mlx/mlx.h" #include "../../mlx/mlx.h"
#include "../../libft/includes/libft.h"
#include <stdlib.h> #include <stdlib.h>
void destroy_texture(t_cub3d_data *data, t_img_data *data_img) void destroy_texture(t_cub3d_data *data, t_img_data *data_img)
@ -26,6 +27,7 @@ void destroy_texture(t_cub3d_data *data, t_img_data *data_img)
void destroy_textures(t_cub3d_data *data) void destroy_textures(t_cub3d_data *data)
{ {
int i; int i;
if (data->no_texture) if (data->no_texture)
mlx_destroy_image(data->mlx, data->no_texture->img); mlx_destroy_image(data->mlx, data->no_texture->img);
free(data->no_texture); free(data->no_texture);
@ -39,7 +41,7 @@ void destroy_textures(t_cub3d_data *data)
mlx_destroy_image(data->mlx, data->we_texture->img); mlx_destroy_image(data->mlx, data->we_texture->img);
free(data->we_texture); free(data->we_texture);
i = 0; i = 0;
while (i < 7) while (i < 6)
destroy_texture(data, data->barricades_texture[i++]); destroy_texture(data, data->barricades_texture[i++]);
} }
@ -51,9 +53,12 @@ void destroy_sprites(t_cub3d_data *data)
if (data->sprite_list == NULL) if (data->sprite_list == NULL)
return ; return ;
while (data->sprite_list[sprite] && sprite < MAX_SPRITES) while (data->sprite_list[sprite] && sprite < MAX_SPRITES)
{
if (data->sprite_list[sprite]->sprite_type != DEAD_ZOMBIE)
{ {
mlx_destroy_image(data->mlx, data->sprite_list[sprite]->image->img); mlx_destroy_image(data->mlx, data->sprite_list[sprite]->image->img);
free(data->sprite_list[sprite]->image); free(data->sprite_list[sprite]->image);
}
free(data->sprite_list[sprite]); free(data->sprite_list[sprite]);
sprite++; sprite++;
} }
@ -65,23 +70,21 @@ void destroy_hud_textures(t_cub3d_data *data)
i = 0; i = 0;
while (i < 10) while (i < 10)
{
destroy_texture(data, data->point_figures[i++]); destroy_texture(data, data->point_figures[i++]);
}
i = 0; i = 0;
while (i < 10) while (i < 10)
{
destroy_texture(data, data->round_figures[i++]); destroy_texture(data, data->round_figures[i++]);
}
i = 0; i = 0;
while (i < 5) while (i < 5)
{
destroy_texture(data, data->tally_marks[i++]); destroy_texture(data, data->tally_marks[i++]);
}
i = 0; i = 0;
while (i < 3) while (i < 3)
{
destroy_texture(data, data->perk_logos[i++]); destroy_texture(data, data->perk_logos[i++]);
i = 0;
while (i < 15 && data->weaponsregistry[i])
{
destroy_texture(data, data->weaponsregistry[i]->texture);
destroy_texture(data, data->weaponsregistry[i]->shoot_texture);
i++;
} }
destroy_texture(data, data->gun);
} }

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/17 13:59:27 by kcolin #+# #+# */ /* Created: 2025/07/17 13:59:27 by kcolin #+# #+# */
/* Updated: 2025/09/08 14:15:58 by tchampio ### ########.fr */ /* Updated: 2025/09/18 12:24:13 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -61,6 +61,8 @@ void free_map(t_mapdata *map)
int destroy(t_cub3d_data *data, int exit_code) int destroy(t_cub3d_data *data, int exit_code)
{ {
int i;
free_map(data->map); free_map(data->map);
if (data->mlx_win) if (data->mlx_win)
mlx_destroy_window(data->mlx, data->mlx_win); mlx_destroy_window(data->mlx, data->mlx_win);
@ -75,6 +77,10 @@ int destroy(t_cub3d_data *data, int exit_code)
free(data->sprite_list); free(data->sprite_list);
free(data->mlx); free(data->mlx);
free(data->screen_matrix); free(data->screen_matrix);
i = 0;
while (i < 15)
free(data->weaponsregistry[i++]);
free(data->weaponsregistry);
exit(exit_code); exit(exit_code);
return (0); return (0);
} }

View file

@ -6,7 +6,7 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/17 14:22:57 by kcolin #+# #+# */ /* Created: 2025/07/17 14:22:57 by kcolin #+# #+# */
/* Updated: 2025/09/03 17:54:36 by tchampio ### ########.fr */ /* Updated: 2025/09/17 16:55:52 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -37,10 +37,14 @@ int keypress_handler(int keycode, t_cub3d_data *data)
data->keypresses.is_left_pressed = true; data->keypresses.is_left_pressed = true;
if (keycode == XK_Right) if (keycode == XK_Right)
data->keypresses.is_right_pressed = true; data->keypresses.is_right_pressed = true;
if (keycode == XK_space)
data->keypresses.is_space_pressed = true;
if (keycode == XK_p) if (keycode == XK_p)
data->player.points += 500; data->player.points += 500;
if (keycode == XK_u) if (keycode == XK_u)
data->round++; data->round++;
if (keycode == XK_m)
data->player.weapon->remaining_ammos = 1337;
return (0); return (0);
} }
@ -60,5 +64,7 @@ int keyrelease_handler(int keycode, t_cub3d_data *data)
data->keypresses.is_left_pressed = false; data->keypresses.is_left_pressed = false;
if (keycode == XK_Right) if (keycode == XK_Right)
data->keypresses.is_right_pressed = false; data->keypresses.is_right_pressed = false;
if (keycode == XK_space)
data->keypresses.is_space_pressed = false;
return (0); return (0);
} }

View file

@ -6,12 +6,14 @@
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */ /* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/31 13:43:05 by kcolin #+# #+# */ /* Created: 2025/07/31 13:43:05 by kcolin #+# #+# */
/* Updated: 2025/09/08 17:26:11 by tchampio ### ########.fr */ /* Updated: 2025/09/18 12:37:57 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "inits.h"
#include "../cub3d_data.h" #include "../cub3d_data.h"
#include "time.h" #include "../player/init_player.h"
#include "../player/register_weapons.h"
#include "../../libft/includes/libft.h" #include "../../libft/includes/libft.h"
#include "../../mlx/mlx.h" #include "../../mlx/mlx.h"
#include "../map/map_checker.h" #include "../map/map_checker.h"
@ -72,6 +74,20 @@ void place_base_sprites(t_cub3d_data *data, char **map)
} }
} }
void register_weapons(t_cub3d_data *data)
{
data->weaponsregistry[0] = register_weapon(load_hud_texture(data,
"ressources/weapon.xpm"),
load_hud_texture(data,
"ressources/weapon_shooting.xpm"), 8, 80);
register_weapon_2(data->weaponsregistry[0], "M1911", false, 32);
data->weaponsregistry[1] = register_weapon(load_hud_texture(data,
"ressources/weapon.xpm"),
load_hud_texture(data,
"ressources/weapon_shooting.xpm"), 32, 800);
register_weapon_2(data->weaponsregistry[1], "Galil", true, 32);
}
void init_cub3d_data(t_cub3d_data *data, char **argv) void init_cub3d_data(t_cub3d_data *data, char **argv)
{ {
ft_bzero(data, sizeof(*data)); ft_bzero(data, sizeof(*data));
@ -90,7 +106,9 @@ void init_cub3d_data(t_cub3d_data *data, char **argv)
data->img_data->addr = mlx_get_data_addr(data->img_data->img, data->img_data->addr = mlx_get_data_addr(data->img_data->img,
&data->img_data->bits_per_pixel, &data->img_data->line_length, &data->img_data->bits_per_pixel, &data->img_data->line_length,
&data->img_data->endian); &data->img_data->endian);
init_player(&data->player, data->map); data->weaponsregistry = ft_calloc(sizeof(t_weapon *), 15);
register_weapons(data);
init_player(data, &data->player, data->map);
data->screen_matrix = ft_calloc(sizeof(int), WIDTH * HEIGHT); data->screen_matrix = ft_calloc(sizeof(int), WIDTH * HEIGHT);
load_textures(data); load_textures(data);
data->sprite_list = ft_calloc(sizeof(t_sprite *), MAX_SPRITES); data->sprite_list = ft_calloc(sizeof(t_sprite *), MAX_SPRITES);

View file

@ -6,7 +6,7 @@
/* By: tchampio <tchampio@student.42lehavre. +#+ +:+ +#+ */ /* By: tchampio <tchampio@student.42lehavre. +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/31 13:28:47 by tchampio #+# #+# */ /* Created: 2025/07/31 13:28:47 by tchampio #+# #+# */
/* Updated: 2025/08/06 14:14:11 by tchampio ### ########.fr */ /* Updated: 2025/09/15 13:05:14 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -17,5 +17,6 @@
void init_cub3d_data(t_cub3d_data *data, char **argv); void init_cub3d_data(t_cub3d_data *data, char **argv);
t_img_data *load_single_texture(t_cub3d_data *data, char *path); t_img_data *load_single_texture(t_cub3d_data *data, char *path);
void init_player(t_cub3d_data *data, t_player *player, t_mapdata *map);
#endif // INITS_H #endif // INITS_H

View file

@ -6,7 +6,7 @@
/* By: tchampio <tchampio@student.42lehavre. +#+ +:+ +#+ */ /* By: tchampio <tchampio@student.42lehavre. +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/29 13:42:39 by tchampio #+# #+# */ /* Created: 2025/07/29 13:42:39 by tchampio #+# #+# */
/* Updated: 2025/08/13 15:22:54 by tchampio ### ########.fr */ /* Updated: 2025/09/10 15:32:51 by tchampio ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -22,6 +22,7 @@ typedef struct s_keypresses
bool is_left_pressed; bool is_left_pressed;
bool is_right_pressed; bool is_right_pressed;
bool is_f_pressed; bool is_f_pressed;
bool is_space_pressed;
} t_keypresses; } t_keypresses;
#endif // KEYPRESSES_H #endif // KEYPRESSES_H