From 4564db6f2fee21a193a800406b9a139d0dce1bf3 Mon Sep 17 00:00:00 2001 From: Theo Champion Date: Mon, 11 Aug 2025 10:50:59 +0200 Subject: [PATCH 1/2] feat: Added fps counter --- Makefile | 2 +- ressources/north_2.xpm | 70 ++ ressources/test_holed.xpm | 1361 +++++++++++++++++++++++++++++++++++++ src/consts.h | 2 +- src/main.c | 12 +- 5 files changed, 1442 insertions(+), 5 deletions(-) create mode 100644 ressources/north_2.xpm create mode 100644 ressources/test_holed.xpm diff --git a/Makefile b/Makefile index e98abc2..5a7bb4d 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ CC = cc # https://github.com/google/sanitizers/wiki/AddressSanitizer SANITIZERS = -fsanitize=address,undefined -fno-omit-frame-pointer ifeq ($(CFLAGS),) - CFLAGS = -Wall -Wextra -Werror -g + CFLAGS = -Wall -Wextra -Werror -g -O3 -ffast-math endif IFLAGS = -I./mlx -I./libft diff --git a/ressources/north_2.xpm b/ressources/north_2.xpm new file mode 100644 index 0000000..847c9ff --- /dev/null +++ b/ressources/north_2.xpm @@ -0,0 +1,70 @@ +/* XPM */ +static char * north_2_xpm[] = { +"64 64 3 1", +" c #897451", +". c #534530", +"+ c #000000", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" . ", +" . ", +" . ", +" . ", +" .. . ", +" .. . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" . . . ", +" .. . . ", +" . . . ", +" . . . ", +" . . . ", +" . ... ", +" . .. ", +" . .. ", +" . . ", +" . ", +" . ", +" . ", +" . ", +" ", +" ", +" ", +" +++ +++ ", +" +++ +++ ", +" +++ +++ ", +" ", +" +++ +++ ", +" +++++++++ ", +" +++++++++ ", +" +++ ", +" ", +" ", +" "}; diff --git a/ressources/test_holed.xpm b/ressources/test_holed.xpm new file mode 100644 index 0000000..52fe8ea --- /dev/null +++ b/ressources/test_holed.xpm @@ -0,0 +1,1361 @@ +/* XPM */ +static char * test_holed_xpm[] = { +"64 64 1294 2", +" c #FF00DC", +". c #2A2A2A", +"+ c #5C5C5C", +"@ c #8E8E8E", +"# c #B5B5B6", +"$ c #CFCFCF", +"% c #E2E2E2", +"& c #EEEEEE", +"* c #F6F6F6", +"= c #FAFAFA", +"- c #FBFBFB", +"; c #F8F8F8", +"> c #F0F0F0", +", c #E4E4E4", +"' c #D4D4D4", +") c #BABABA", +"! c #959595", +"~ c #616161", +"{ c #313131", +"] c #1B1B1B", +"^ c #7C7C7C", +"/ c #BBBBBB", +"( c #E3E3E3", +"_ c #F9F9F9", +": c #FFFFFF", +"< c #E6E6E6", +"[ c #C1C1C1", +"} c #848484", +"| c #272727", +"1 c #434343", +"2 c #AAAAAA", +"3 c #FEFEFE", +"4 c #EFEFEF", +"5 c #E0DFE0", +"6 c #D4D5D5", +"7 c #CBCBCC", +"8 c #C5C5C6", +"9 c #C3C3C3", +"0 c #C2C2C3", +"a c #C4C4C5", +"b c #CACBCB", +"c c #D5D5D6", +"d c #E3E3E4", +"e c #F2F2F2", +"f c #FCFCFC", +"g c #EAEAEA", +"h c #B1B1B1", +"i c #4D4D4D", +"j c #B4B4B4", +"k c #E9E9E9", +"l c #939493", +"m c #626262", +"n c #3B3C3C", +"o c #2A2D30", +"p c #2A2F33", +"q c #2D3338", +"r c #2D3439", +"s c #2A3136", +"t c #2C3237", +"u c #282E31", +"v c #2B2F31", +"w c #414242", +"x c #6B6B6B", +"y c #9D9D9C", +"z c #CBCBCB", +"A c #EDEEEE", +"B c #FDFDFD", +"C c #F5F5F5", +"D c #B9B9B9", +"E c #535353", +"F c #242424", +"G c #A3A3A3", +"H c #CACACA", +"I c #868787", +"J c #3D3E3F", +"K c #242B30", +"L c #353F45", +"M c #404B53", +"N c #46525B", +"O c #4A565F", +"P c #4B5861", +"Q c #49565F", +"R c #46525A", +"S c #3F4A52", +"T c #333C42", +"U c #22282D", +"V c #4A4A4B", +"W c #949494", +"X c #D4D4D5", +"Y c #A8A8A8", +"Z c #696969", +"` c #DCDCDC", +" . c #F5F6F6", +".. c #BDBEBD", +"+. c #636363", +"@. c #2B2F33", +"#. c #39434A", +"$. c #4A5760", +"%. c #49565E", +"&. c #3C464D", +"*. c #434F57", +"=. c #414C54", +"-. c #3B454D", +";. c #424D55", +">. c #4A575F", +",. c #455159", +"'. c #2E3234", +"). c #747474", +"!. c #CCCCCC", +"~. c #DDDDDD", +"{. c #686868", +"]. c #CC09B0", +"^. c #989898", +"/. c #F4F4F4", +"(. c #D1D1D1", +"_. c #6A6A6A", +":. c #272D31", +"<. c #3E4850", +"[. c #3C464E", +"}. c #1D2226", +"|. c #14181C", +"1. c #232A2E", +"2. c #404A52", +"3. c #3B444C", +"4. c #293036", +"5. c #21272B", +"6. c #121619", +"7. c #23292E", +"8. c #4B5760", +"9. c #48555E", +"0. c #3A444B", +"a. c #272B2E", +"b. c #808080", +"c. c #DEDEDE", +"d. c #9A9A9A", +"e. c #B60C9D", +"f. c #9B9B9B", +"g. c #2C2F31", +"h. c #48545D", +"i. c #2D353A", +"j. c #161B1E", +"k. c #374148", +"l. c #47535C", +"m. c #323B41", +"n. c #13171A", +"o. c #343D43", +"p. c #353E44", +"q. c #3C3D3E", +"r. c #AFB0B0", +"s. c #262626", +"t. c #363636", +"u. c #DADADB", +"v. c #656565", +"w. c #2B3237", +"x. c #2B3338", +"y. c #49555E", +"z. c #434E56", +"A. c #282D31", +"B. c #7D7D7D", +"C. c #E8E8E8", +"D. c #343434", +"E. c #D0D0D0", +"F. c #C8C8C8", +"G. c #434444", +"H. c #363F46", +"I. c #21272C", +"J. c #2E373D", +"K. c #283035", +"L. c #2F373D", +"M. c #DADADA", +"N. c #353738", +"O. c #3E4950", +"P. c #242A2F", +"Q. c #343D44", +"R. c #384249", +"S. c #494A4A", +"T. c #CECECE", +"U. c #C9C9C9", +"V. c #252525", +"W. c #7D136C", +"X. c #B6B6B6", +"Y. c #313436", +"Z. c #424D56", +"`. c #2A3237", +" + c #3B454C", +".+ c #445058", +"++ c #333C43", +"@+ c #333B42", +"#+ c #4B5761", +"$+ c #3D484F", +"%+ c #424344", +"&+ c #CDCDCC", +"*+ c #B7B7B7", +"=+ c #999999", +"-+ c #BCBCBC", +";+ c #2D3133", +">+ c #444F58", +",+ c #353E45", +"'+ c #46515A", +")+ c #444F57", +"!+ c #2C343A", +"~+ c #3D474F", +"{+ c #3F4951", +"]+ c #414243", +"^+ c #D2D3D3", +"/+ c #C7C7C7", +"(+ c #353739", +"_+ c #404B52", +":+ c #4B5860", +"<+ c #48545C", +"[+ c #252C31", +"}+ c #45515A", +"|+ c #4B4C4C", +"1+ c #F3F3F3", +"2+ c #DBDBDB", +"3+ c #D9D9D9", +"4+ c #454647", +"5+ c #47535B", +"6+ c #384248", +"7+ c #2A3137", +"8+ c #606161", +"9+ c #D7D7D7", +"0+ c #1F1F1F", +"a+ c #A6A6A6", +"b+ c #ECECEC", +"c+ c #616262", +"d+ c #424E56", +"e+ c #323A41", +"f+ c #838383", +"g+ c #9C9C9C", +"h+ c #4E4E4E", +"i+ c #272E33", +"j+ c #47525B", +"k+ c #434E57", +"l+ c #272D32", +"m+ c #AFAFAF", +"n+ c #E9EAEA", +"o+ c #414141", +"p+ c #C0C0C0", +"q+ c #282D2F", +"r+ c #2C3339", +"s+ c #3F4A51", +"t+ c #455059", +"u+ c #343A3E", +"v+ c #363738", +"w+ c #D8D8D9", +"x+ c #A7A7A7", +"y+ c #4A4A4A", +"z+ c #515151", +"A+ c #262C31", +"B+ c #272C31", +"C+ c #374047", +"D+ c #445059", +"E+ c #8C8480", +"F+ c #555759", +"G+ c #3E4951", +"H+ c #48555D", +"I+ c #30373D", +"J+ c #20262B", +"K+ c #47545C", +"L+ c #374048", +"M+ c #737373", +"N+ c #ECEDED", +"O+ c #ADADAD", +"P+ c #9D9C9C", +"Q+ c #2D363B", +"R+ c #2D353B", +"S+ c #3C474E", +"T+ c #3D464E", +"U+ c #726B66", +"V+ c #343E45", +"W+ c #424C55", +"X+ c #394249", +"Y+ c #31393F", +"Z+ c #23292D", +"`+ c #414D56", +" @ c #BDB0A8", +".@ c #86807C", +"+@ c #3D4850", +"@@ c #3A444C", +"#@ c #2F353B", +"$@ c #726A66", +"%@ c #BBBCBB", +"&@ c #E7E7E7", +"*@ c #E0DFDF", +"=@ c #333536", +"-@ c #1E2428", +";@ c #303337", +">@ c #827873", +",@ c #0B0E10", +"'@ c #030405", +")@ c #020202", +"!@ c #010102", +"~@ c #20252A", +"{@ c #2B3135", +"]@ c #333A3F", +"^@ c #32373A", +"/@ c #E0D0C6", +"(@ c #A99D96", +"_@ c #24292D", +":@ c #161A1E", +"<@ c #040506", +"[@ c #0E1113", +"}@ c #1A1919", +"|@ c #817873", +"1@ c #565757", +"2@ c #EFF0F0", +"3@ c #929292", +"4@ c #2B3339", +"5@ c #293035", +"6@ c #08090B", +"7@ c #010101", +"8@ c #000000", +"9@ c #0C0D0E", +"0@ c #414D54", +"a@ c #3C474F", +"b@ c #A2968F", +"c@ c #D6C6BC", +"d@ c #DACAC0", +"e@ c #F9E7DB", +"f@ c #EEDCD1", +"g@ c #887E78", +"h@ c #060505", +"i@ c #030303", +"j@ c #0C0E10", +"k@ c #2E363B", +"l@ c #282F35", +"m@ c #B5B5B5", +"n@ c #E1E1E1", +"o@ c #343637", +"p@ c #272F34", +"q@ c #1C2125", +"r@ c #0F1214", +"s@ c #080706", +"t@ c #2F2B29", +"u@ c #615A56", +"v@ c #A49992", +"w@ c #998E88", +"x@ c #AB9F97", +"y@ c #FDEADE", +"z@ c #FBE8DC", +"A@ c #8B827C", +"B@ c #35393C", +"C@ c #A59992", +"D@ c #9F948D", +"E@ c #827973", +"F@ c #58524E", +"G@ c #262221", +"H@ c #050404", +"I@ c #14181B", +"J@ c #181C1F", +"K@ c #555555", +"L@ c #292929", +"M@ c #9F9F9F", +"N@ c #2E363C", +"O@ c #101215", +"P@ c #100F0E", +"Q@ c #272322", +"R@ c #3A3633", +"S@ c #554F4B", +"T@ c #7B726D", +"U@ c #AEA29A", +"V@ c #EFDED2", +"W@ c #6D6561", +"X@ c #877F79", +"Y@ c #F7E5D9", +"Z@ c #5C5A59", +"`@ c #8D837C", +" # c #F4E2D7", +".# c #D9C9BF", +"+# c #736B66", +"@# c #504A46", +"## c #363230", +"$# c #23201F", +"%# c #0C0B0A", +"&# c #010202", +"*# c #1B2023", +"=# c #455058", +"-# c #595959", +";# c #515252", +"># c #171B1E", +",# c #0D0C0B", +"'# c #141212", +")# c #161514", +"!# c #13191B", +"~# c #192526", +"{# c #F507D3", +"]# c #CF16B3", +"^# c #121C1E", +"/# c #56274B", +"(# c #968B85", +"_# c #C5B7AE", +":# c #474444", +"<# c #48484A", +"[# c #F1DFD4", +"}# c #E0CFC5", +"|# c #363E44", +"1# c #5F5956", +"2# c #CBBDB4", +"3# c #837974", +"4# c #1C1C1C", +"5# c #151F21", +"6# c #E60FC7", +"7# c #172324", +"8# c #131819", +"9# c #151413", +"0# c #131211", +"a# c #0A0908", +"b# c #1F2429", +"c# c #384148", +"d# c #767676", +"e# c #464646", +"f# c #898989", +"g# c #CACACB", +"h# c #202528", +"i# c #181C20", +"j# c #0B0A09", +"k# c #242120", +"l# c #121111", +"m# c #141E20", +"n# c #0F1718", +"o# c #746B66", +"p# c #C4B6AD", +"q# c #454445", +"r# c #363F45", +"s# c #5D5856", +"t# c #C7B9B0", +"u# c #57514D", +"v# c #131D1F", +"w# c #12191B", +"x# c #23201E", +"y# c #343536", +"z# c #DFDFDF", +"A# c #6C6C6C", +"B# c #ACACAC", +"C# c #2F373E", +"D# c #23282D", +"E# c #161515", +"F# c #3E3A38", +"G# c #161616", +"H# c #111718", +"I# c #A99D95", +"J# c #D7C7BE", +"K# c #595552", +"L# c #6D6662", +"M# c #F8E5DA", +"N# c #E8D7CD", +"O# c #444140", +"P# c #716965", +"Q# c #E3D2C8", +"R# c #887F79", +"S# c #141D1F", +"T# c #1E1C1B", +"U# c #403C39", +"V# c #0B0909", +"W# c #040404", +"X# c #252B30", +"Y# c #22292E", +"Z# c #BBBCBC", +"`# c #5B5B5B", +" $ c #3E484F", +".$ c #0A0C0E", +"+$ c #1A1B1B", +"@$ c #544E4A", +"#$ c #F2E0D5", +"$$ c #EAD9CE", +"%$ c #988D87", +"&$ c #A89D96", +"*$ c #9A918B", +"=$ c #F1E0D4", +"-$ c #E5D4C9", +";$ c #FD02DA", +">$ c #181515", +",$ c #090C0D", +"'$ c #0A0C0D", +")$ c #858585", +"!$ c #BFBFBF", +"~$ c #232526", +"{$ c #0F1012", +"]$ c #323A40", +"^$ c #E3D3C8", +"/$ c #EBD9CF", +"($ c #ECDBD0", +"_$ c #FAE8DC", +":$ c #D2C3B9", +"<$ c #232525", +"[$ c #172224", +"}$ c #07090B", +"|$ c #1C2124", +"1$ c #14181A", +"2$ c #BEBEBE", +"3$ c #181E22", +"4$ c #070B0C", +"5$ c #E4D3C9", +"6$ c #D2C2B9", +"7$ c #292F35", +"8$ c #252728", +"9$ c #232A30", +"0$ c #353D44", +"a$ c #06090A", +"b$ c #494441", +"c$ c #EFDDD2", +"d$ c #DFCEC4", +"e$ c #F508D3", +"f$ c #161B1F", +"g$ c #21262B", +"h$ c #536264", +"i$ c #5C6B6C", +"j$ c #425153", +"k$ c #882078", +"l$ c #928781", +"m$ c #F6E4D8", +"n$ c #776E69", +"o$ c #1F2529", +"p$ c #181E23", +"q$ c #B0B0B0", +"r$ c #050607", +"s$ c #0A0B0C", +"t$ c #151E20", +"u$ c #6A797A", +"v$ c #9AACAB", +"w$ c #A6BAB8", +"x$ c #A7BBB9", +"y$ c #A2B5B3", +"z$ c #718182", +"A$ c #423D3B", +"B$ c #E3D1C7", +"C$ c #F7E4D9", +"D$ c #FDEBDF", +"E$ c #FCE9DD", +"F$ c #F3E1D6", +"G$ c #D4C4BB", +"H$ c #D018B3", +"I$ c #4A585A", +"J$ c #839493", +"K$ c #94A6A5", +"L$ c #91A3A2", +"M$ c #798989", +"N$ c #455456", +"O$ c #0F1517", +"P$ c #080A0B", +"Q$ c #191E23", +"R$ c #B8B8B8", +"S$ c #21292E", +"T$ c #111316", +"U$ c #738383", +"V$ c #A8BCBA", +"W$ c #8C9D9C", +"X$ c #C6B3AB", +"Y$ c #FCE8DC", +"Z$ c #B0A39B", +"`$ c #C9BBB2", +" % c #E5D5CA", +".% c #F0DED4", +"+% c #D7C7BD", +"@% c #AA9D96", +"#% c #EBD9CE", +"$% c #AFA29A", +"%% c #1C2121", +"&% c #869796", +"*% c #9CAFAD", +"=% c #566566", +"-% c #121518", +";% c #293136", +">% c #414C55", +",% c #1F2225", +"'% c #202428", +")% c #0F1112", +"!% c #11181A", +"~% c #9EB1B0", +"{% c #A3B6B4", +"]% c #7B8988", +"^% c #4E4A48", +"/% c #C7AEA8", +"(% c #FBE1D8", +"_% c #FDE8DD", +":% c #F9E4D9", +"<% c #B5A39C", +"[% c #4B4D4B", +"}% c #869694", +"|% c #A5B8B7", +"1% c #97A9A8", +"2% c #0C1113", +"3% c #454646", +"4% c #C4C4C4", +"5% c #333334", +"6% c #020303", +"7% c #162123", +"8% c #8D9E9D", +"9% c #94A5A4", +"0% c #899998", +"a% c #6F7C7C", +"b% c #494848", +"c% c #8C706E", +"d% c #E3BEB8", +"e% c #FCDCD3", +"f% c #FDE3D9", +"g% c #FDE7DD", +"h% c #FDE9DE", +"i% c #FDE7DC", +"j% c #FCE1D8", +"k% c #DABEB7", +"l% c #856F6C", +"m% c #525554", +"n% c #758382", +"o% c #8C9D9B", +"p% c #95A6A5", +"q% c #91A2A1", +"r% c #121A1C", +"s% c #15191C", +"t% c #5E5E5D", +"u% c #1A1E22", +"v% c #261819", +"w% c #4F3735", +"x% c #775553", +"y% c #A97C7B", +"z% c #DBA8A6", +"A% c #F9C8C5", +"B% c #FDD5CE", +"C% c #FDDDD4", +"D% c #FDE4DA", +"E% c #FDEADF", +"F% c #FCEADE", +"G% c #FDE2D9", +"H% c #FDDBD3", +"I% c #F8CDC8", +"J% c #D8AAA8", +"K% c #A97D7C", +"L% c #7A5755", +"M% c #523938", +"N% c #241A1B", +"O% c #020203", +"P% c #060809", +"Q% c #181D20", +"R% c #181818", +"S% c #6E6E6E", +"T% c #20262A", +"U% c #111416", +"V% c #2D1F20", +"W% c #7D5755", +"X% c #B1817F", +"Y% c #C89593", +"Z% c #F4BEBC", +"`% c #FDCFCA", +" & c #FDD9D1", +".& c #FDE0D6", +"+& c #FDE6DB", +"@& c #FDE9DD", +"#& c #E3D2C7", +"$& c #A49891", +"%& c #8C827C", +"&& c #817872", +"*& c #877D77", +"=& c #9B8F89", +"-& c #BBAAA3", +";& c #DFC7BF", +">& c #F8D7CF", +",& c #FDD1CC", +"'& c #EEBBB9", +")& c #C59492", +"!& c #AD7E7D", +"~& c #71504F", +"{& c #221B1C", +"]& c #191D21", +"^& c #F002CF", +"/& c #262D32", +"(& c #2E353B", +"_& c #17191A", +":& c #141618", +"<& c #67504E", +"[& c #F1C1BE", +"}& c #DBCAC1", +"|& c #A2958E", +"1& c #5D5753", +"2& c #55524E", +"3& c #797671", +"4& c #9B9891", +"5& c #ADAAA1", +"6& c #B2AEA6", +"7& c #ADA9A1", +"8& c #9A9790", +"9& c #78756F", +"0& c #534F4C", +"a& c #82716C", +"b& c #E6BFBA", +"c& c #E4B5B3", +"d& c #4A3837", +"e& c #191C1F", +"f& c #1B1F21", +"g& c #151719", +"h& c #1B2024", +"i& c #30383E", +"j& c #161A1D", +"k& c #101315", +"l& c #434A4D", +"m& c #474F52", +"n& c #1C2022", +"o& c #654F4D", +"p& c #DCAFAD", +"q& c #F5CCC7", +"r& c #F5D5CC", +"s& c #F8DCD4", +"t& c #DECAC2", +"u& c #8B7F7A", +"v& c #413E3B", +"w& c #94918A", +"x& c #CFCCC2", +"y& c #EAE6DA", +"z& c #F5F1E5", +"A& c #F7F3E7", +"B& c #F6F2E6", +"C& c #F3EFE4", +"D& c #E7E2D7", +"E& c #95928B", +"F& c #866F6C", +"G& c #F7C9C5", +"H& c #CFA3A1", +"I& c #4E3B39", +"J& c #222629", +"K& c #4D5658", +"L& c #383E40", +"M& c #030404", +"N& c #2E3335", +"O& c #596366", +"P& c #535C5F", +"Q& c #363B3E", +"R& c #211B1C", +"S& c #27272A", +"T& c #3A434B", +"U& c #14171A", +"V& c #100D0D", +"W& c #322726", +"X& c #685351", +"Y& c #665351", +"Z& c #594C4A", +"`& c #5A514E", +" * c #625955", +".* c #433D3B", +"+* c #939089", +"@* c #E1DDD2", +"#* c #F4F0E4", +"$* c #D4D0C6", +"%* c #2E2826", +"&* c #6E5B58", +"** c #816664", +"=* c #775C5A", +"-* c #0F0D0D", +";* c #2C3439", +">* c #1B1F23", +",* c #1A1A1B", +"'* c #3D4346", +")* c #565F62", +"!* c #566063", +"~* c #1F2325", +"{* c #060708", +"]* c #1F2428", +"^* c #0B090A", +"/* c #6E5250", +"(* c #9C726E", +"_* c #AB7A75", +":* c #C99089", +"<* c #C28B84", +"[* c #9E716B", +"}* c #815B57", +"|* c #71504C", +"1* c #6E4F4B", +"2* c #654846", +"3* c #573E3D", +"4* c #241919", +"5* c #2E2A29", +"6* c #78736E", +"7* c #ABA69F", +"8* c #C8C4BB", +"9* c #D8D4CA", +"0* c #DCD8CE", +"a* c #D3CFC5", +"b* c #D3D0C5", +"c* c #E2DED3", +"d* c #B6B2AA", +"e* c #B9B6AD", +"f* c #AFABA3", +"g* c #676560", +"h* c #2C2A28", +"i* c #18100F", +"j* c #453130", +"k* c #634644", +"l* c #453A38", +"m* c #3A4241", +"n* c #4A4240", +"o* c #745A57", +"p* c #5C6967", +"q* c #866B67", +"r* c #A67873", +"s* c #9B716D", +"t* c #5B4443", +"u* c #050505", +"v* c #242A30", +"w* c #523937", +"x* c #B07E78", +"y* c #D99C94", +"z* c #E7A59D", +"A* c #EAA79E", +"B* c #E8A69D", +"C* c #DE9F97", +"D* c #B7847E", +"E* c #674947", +"F* c #2F2423", +"G* c #8D8A83", +"H* c #D9D4CA", +"I* c #F3EEE3", +"J* c #F0ECE1", +"K* c #D9D6CB", +"L* c #9E9A93", +"M* c #332E2C", +"N* c #6B4C49", +"O* c #8E6C69", +"P* c #887875", +"Q* c #C39089", +"R* c #957D7A", +"S* c #768785", +"T* c #A98581", +"U* c #D39790", +"V* c #A2746F", +"W* c #3C2A28", +"X* c #47545D", +"Y* c #111518", +"Z* c #2D343A", +"`* c #19181B", +" = c #3D2A28", +".= c #8A635E", +"+= c #926864", +"@= c #805B58", +"#= c #573D3B", +"$= c #211716", +"%= c #242321", +"&= c #B5B2A9", +"*= c #F3EFE3", +"== c #F4F0E5", +"-= c #CBC7BE", +";= c #363432", +">= c #291D1C", +",= c #5A403E", +"'= c #855F5B", +")= c #745653", +"!= c #3E3837", +"~= c #543D3B", +"{= c #342423", +"]= c #1A1D20", +"^= c #2F373C", +"/= c #252C30", +"(= c #1B2125", +"_= c #908D86", +":= c #F2EEE2", +"<= c #6B6864", +"[= c #30383F", +"}= c #1C2226", +"|= c #282F34", +"1= c #CC07B0", +"2= c #46535B", +"3= c #242B2F", +"4= c #1C2024", +"5= c #9C9891", +"6= c #CFCBC1", +"7= c #31302E", +"8= c #49555D", +"9= c #30393F", +"0= c #343331", +"a= c #B0ACA4", +"b= c #E4E0D5", +"c= c #DCD8CD", +"d= c #5F5D59", +"e= c #141413", +"f= c #1B1D1F", +"g= c #3D3C39", +"h= c #787570", +"i= c #A4A199", +"j= c #B1ADA5", +"k= c #BEBAB2", +"l= c #F0ECE0", +"m= c #D0CBC1", +"n= c #D0CCC2", +"o= c #A5A29B", +"p= c #4D4B48", +"q= c #1C1D1D", +"r= c #0E0E0F", +"s= c #374147", +"t= c #353535", +"u= c #1E2328", +"v= c #252D2E", +"w= c #3E4A4C", +"x= c #020507", +"y= c #64615D", +"z= c #E9E4DA", +"A= c #DEDACF", +"B= c #E9E4D9", +"C= c #E9E5DA", +"D= c #504D4A", +"E= c #1F2021", +"F= c #212729", +"G= c #232A2C", +"H= c #474848", +"I= c #6D6D6D", +"J= c #0F1111", +"K= c #394349", +"L= c #191E21", +"M= c #646464", +"N= c #3F3E3F", +"O= c #212223", +"P= c #1E2021", +"Q= c #2C2D2E", +"R= c #202021", +"S= c #1D1E1E", +"T= c #191C1C", +"U= c #6F8586", +"V= c #73898B", +"W= c #171C1D", +"X= c #8E8A84", +"Y= c #F1EDE1", +"Z= c #E7E3D8", +"`= c #BDB9B1", +" - c #74716D", +".- c #4A4A49", +"+- c #53524F", +"@- c #928E88", +"#- c #C5C1B8", +"$- c #E0DCD1", +"%- c #ECE8DD", +"&- c #C7C3BA", +"*- c #2E2E2C", +"=- c #5F7172", +"-- c #7B9495", +";- c #799092", +">- c #2A3333", +",- c #1C1C1D", +"'- c #565656", +")- c #292A2B", +"!- c #1E2022", +"~- c #242526", +"{- c #494949", +"]- c #484848", +"^- c #0D1012", +"/- c #0E0E0E", +"(- c #E7E8E8", +"_- c #BFC0BF", +":- c #8B8B8B", +"<- c #A9A69E", +"[- c #999790", +"}- c #73898A", +"|- c #80999A", +"1- c #445152", +"2- c #272624", +"3- c #76736D", +"4- c #A09C95", +"5- c #A4A099", +"6- c #9D9A92", +"7- c #827F79", +"8- c #4C4A48", +"9- c #494C4C", +"0- c #858A8A", +"a- c #B2BABA", +"b- c #9EA5A5", +"c- c #707474", +"d- c #353737", +"e- c #3A3938", +"f- c #53504D", +"g- c #716E69", +"h- c #837F79", +"i- c #87847E", +"j- c #75726D", +"k- c #3D4040", +"l- c #485556", +"m- c #4A595A", +"n- c #839D9E", +"o- c #7F9899", +"p- c #737571", +"q- c #BCB8B0", +"r- c #3E3D3C", +"s- c #D5D5D5", +"t- c #383838", +"u- c #171717", +"v- c #20201F", +"w- c #585858", +"x- c #828282", +"y- c #9E9E9E", +"z- c #545454", +"A- c #150A0C", +"B- c #291318", +"C- c #A3A098", +"D- c #C4C0B7", +"E- c #647678", +"F- c #5C6E70", +"G- c #546465", +"H- c #5D6F70", +"I- c #506062", +"J- c #495859", +"K- c #465456", +"L- c #4B595A", +"M- c #2A3234", +"N- c #4A4D4D", +"O- c #707575", +"P- c #686C6C", +"Q- c #BBC4C4", +"R- c #C4CECD", +"S- c #979E9E", +"T- c #383B3B", +"U- c #5E6262", +"V- c #212526", +"W- c #5E7173", +"X- c #5F7273", +"Y- c #687C7D", +"Z- c #788F91", +"`- c #799192", +" ; c #404D4E", +".; c #829B9D", +"+; c #778E8F", +"@; c #CCC7BE", +"#; c #70706F", +"$; c #AEAEAE", +"%; c #3D3D3D", +"&; c #2B2B2A", +"*; c #121010", +"=; c #200E12", +"-; c #3A1A21", +";; c #522530", +">; c #4D232D", +",; c #6D6B66", +"'; c #E3DFD4", +"); c #94928B", +"!; c #667879", +"~; c #7A9192", +"{; c #3B4647", +"]; c #677B7C", +"^; c #819A9B", +"/; c #829C9D", +"(; c #526263", +"_; c #444C4E", +":; c #31393B", +"<; c #36383B", +"[; c #5D6263", +"}; c #898F8F", +"|; c #3F4345", +"1; c #313234", +"2; c #3D4547", +"3; c #3C4345", +"4; c #839C9D", +"5; c #768E8F", +"6; c #3F4B4D", +"7; c #6D8284", +"8; c #738A8B", +"9; c #757773", +"0; c #D4D0C7", +"a; c #C3C4C4", +"b; c #525151", +"c; c #391A21", +"d; c #582834", +"e; c #552732", +"f; c #3C3433", +"g; c #C7C4BA", +"h; c #EEEADF", +"i; c #AAA79F", +"j; c #6C6C68", +"k; c #5C5B57", +"l; c #15181B", +"m; c #6E8385", +"n; c #65787A", +"o; c #444D4F", +"p; c #232628", +"q; c #7B3F4D", +"r; c #4C464B", +"s; c #414448", +"t; c #754651", +"u; c #612A37", +"v; c #40484A", +"w; c #3B4546", +"x; c #809A9B", +"y; c #788F90", +"z; c #596A6C", +"A; c #262C2F", +"B; c #3B3B38", +"C; c #676965", +"D; c #81807B", +"E; c #EAE6DB", +"F; c #615F5B", +"G; c #A9A9A9", +"H; c #AAABAB", +"I; c #646262", +"J; c #382E30", +"K; c #332326", +"L; c #2E2829", +"M; c #484746", +"N; c #7D7A75", +"O; c #B5B1A9", +"P; c #DFDBD0", +"Q; c #383736", +"R; c #2B2F34", +"S; c #2C3136", +"T; c #3E484B", +"U; c #5C6D6F", +"V; c #566567", +"W; c #3D4345", +"X; c #2D3234", +"Y; c #722F3F", +"Z; c #97465A", +"`; c #8F4959", +" > c #943E54", +".> c #381B22", +"+> c #363D3D", +"@> c #627576", +"#> c #4C5A5C", +"$> c #31383B", +"%> c #2D3137", +"&> c #C2BEB5", +"*> c #EDE9DE", +"=> c #CCC8BF", +"-> c #98958E", +";> c #504E4A", +">> c #16090C", +",> c #1D1D1D", +"'> c #F7F7F7", +")> c #E0E0E0", +"!> c #E5E5E5", +"~> c #B8B8B7", +"{> c #181414", +"]> c #5F5754", +"^> c #4F4B48", +"/> c #0E0C0B", +"(> c #2D3034", +"_> c #2D3238", +":> c #2A2E31", +"<> c #5F6262", +"[> c #616565", +"}> c #2A2728", +"|> c #81535C", +"1> c #AB8288", +"2> c #3F1C25", +"3> c #575B5B", +"4> c #696C6D", +"5> c #4A4C4D", +"6> c #2D3237", +"7> c #2E3338", +"8> c #282B2D", +"9> c #222728", +"0> c #484846", +"a> c #7A7872", +"b> c #4B5152", +"c> c #596568", +"d> c #3E474A", +"e> c #0C0C0D", +"f> c #0E0808", +"g> c #474746", +"h> c #9D9D9D", +"i> c #777776", +"j> c #150608", +"k> c #38161E", +"l> c #2F2425", +"m> c #7A7A7A", +"n> c #4A403F", +"o> c #4B4443", +"p> c #323335", +"q> c #2A2F32", +"r> c #323536", +"s> c #4E5252", +"t> c #282C2E", +"u> c #27272B", +"v> c #2F252B", +"w> c #24282C", +"x> c #333739", +"y> c #343738", +"z> c #282C30", +"A> c #6A6562", +"B> c #988E88", +"C> c #383431", +"D> c #424B4D", +"E> c #647174", +"F> c #505C5F", +"G> c #3F4B50", +"H> c #414D52", +"I> c #455156", +"J> c #2F383C", +"K> c #0B0809", +"L> c #777777", +"M> c #737474", +"N> c #D8D8D8", +"O> c #A5A5A5", +"P> c #EDEDED", +"Q> c #686767", +"R> c #6C5B58", +"S> c #786562", +"T> c #695A57", +"U> c #574C4B", +"V> c #4B4343", +"W> c #403C3C", +"X> c #3B3B3C", +"Y> c #3D3C3D", +"Z> c #534C4C", +"`> c #685D5B", +" , c #444040", +"., c #756B67", +"+, c #D6C4BB", +"@, c #CDBDB4", +"#, c #766F6A", +"$, c #373D3F", +"%, c #596567", +"&, c #657376", +"*, c #677478", +"=, c #677578", +"-, c #434F53", +";, c #252B2D", +">, c #575757", +",, c #3A3A3B", +"', c #A0A0A0", +"), c #515556", +"!, c #5B6162", +"~, c #575A5B", +"{, c #626464", +"], c #D2D2D2", +"^, c #787776", +"/, c #A2928C", +"(, c #A5928C", +"_, c #816D6A", +":, c #806B68", +"<, c #806D6A", +"[, c #AA938E", +"}, c #846F6B", +"|, c #D2B1AB", +"1, c #B19893", +"2, c #696360", +"3, c #585452", +"4, c #6B615D", +"5, c #4A4847", +"6, c #3E4648", +"7, c #667476", +"8, c #6A787B", +"9, c #465257", +"0, c #373F42", +"a, c #191919", +"b, c #727272", +"c, c #737272", +"d, c #858D8F", +"e, c #9FA9AB", +"f, c #9AA4A6", +"g, c #8B9395", +"h, c #6B7173", +"i, c #6F7071", +"j, c #AEADAD", +"k, c #9C8F8A", +"l, c #6F605C", +"m, c #766360", +"n, c #776462", +"o, c #594D4B", +"p, c #3F3A39", +"q, c #60514F", +"r, c #685A57", +"s, c #82736F", +"t, c #574C49", +"u, c #898887", +"v, c #343B3C", +"w, c #657174", +"x, c #485254", +"y, c #9D0E87", +"z, c #474B4C", +"A, c #848C8E", +"B, c #9CA6A8", +"C, c #9EA8AA", +"D, c #97A0A2", +"E, c #747B7D", +"F, c #717272", +"G, c #CDCDCD", +"H, c #A2A1A1", +"I, c #9A9A99", +"J, c #9B9A9A", +"K, c #2D2D2D", +"L, c #1D2223", +"M, c #434647", +"N, c #787F80", +"O, c #949D9F", +"P, c #9DA6A8", +"Q, c #8C9496", +"R, c #4F5050", +"S, c #EBEBEB", +"T, c #B6B6B7", +"U, c #1D1F20", +"V, c #535859", +"W, c #767C7E", +"X, c #606566", +"Y, c #7E7E7E", +"Z, c #F0F0F1", +"`, c #F1F1F1", +" ' c #212121", +".' c #676767", +"+' c #D3D3D3", +"@' c #C2C2C2", +"#' c #6D6E6E", +"$' c #4B4B4C", +" . + @ # $ % & * = - ; > , ' ) ! ~ { ", +" ] ^ / ( _ : : : : : : : : : : : : : : - < [ } | ", +" 1 2 < - : : 3 = 4 5 6 7 8 9 0 a b c d e - 3 : : f g h i ", +" i j e : : - k 9 l m n o p q r s s r t u v w x y z A B : : C D E ", +" F G & : : C H I J K L M N O P P P P P P P P Q R S T U V W X _ : : > Y | ", +" Z ` B : ...+.@.#.N $.P %.M &.*.$.P P P P O =.-.;.>.P O ,.L '.).!.= : 3 ~.{. ", +" ].^./.: - (._.:.<.O P P $.[.}.|.1.s 2.P P P P 3.4.5.6.7.M 8.P P 9.0.a.b.c.B : /.d.e. ", +" | ) f : 4 f.g.0.Q P P P h.i.j.k.l.P P P P P P P P P P ,.m.n.o.Q P P P h.p.q.r.* : f / s. ", +" t.z 3 3 u.v.w.R P P P P N 7.s R P P P P P P P P P P P P P P *.U x.y.P P P P z.A.B.C.: 3 H D. ", +" t.E.: B F.G.H.O P P P P R I.H.$.P P P P P P P P P P P P P P P P y.J.K.9.P P P P h.L.+ M.3 : $ D. ", +" . !.: f D N.O.P P P P P l.P.-.P P P P P P P P P P P P P P P P P P P $.Q.x.Q P P P P $.R.S.T.3 : U.V. ", +" W./ 3 f X.Y.Z.P P P P P Q `. +P P P P P P P P O ,.P P .+P P P P P P P P $.++@+$.P P P P #+$+%+&+3 3 *+]. ", +" =+f B -+;+>+P P P P P P ,+Q.P P P P P P P P P M y.P P '+)+P P P P P P P P O !+~+P P P P P P {+]+^+: f W ", +" {./.3 /+(+*.P P P P P P _+w.O P P P P P P P P :+0.8.P P O 0.P P P P P P P P P <+[+}+P P P P P P O.|+` : 1+~ ", +" | 2+: 3+4+=.P P P P P P h.[+R P P P P P P P P P 5+[.P P P P 6+>.P P P P P P P P P =.7+$.P P P P P P 3.8+k : 9+0+ ", +" a+3 b+c+-.P P P P P P P ++0.P P P P P P P P P P d+_+P P P P +N P P P P P P P P P P e+-.P P P P P P $.T f+* B g+ ", +" h+4 = @ L.$.P P P P P P *.i+Q P P P P P P P P P P ~+*.P P j+$.$+k+P P P P P P P P P P l.K <+P P P P P P 9.l+m+3 n+o+ ", +" # : p+q+l.P P P P P P 8.r+s+P R j+P P P P z.P P P #.t+P P u+=.S S P P P z.P P P P .+h.P k.,+P P P P P P P *.v+w+: x+ ", +" y+1+k z+S P P P P P P P z.A+$.Q B+$+P P P $.C+8.P P H.D+P 9.E+F+G+~+P P H+0.8.P P P p.I+P h.J+K+P P P P P P P L+M+ .N+D. ", +" O+f P+Q+$.P P P P P P P R+S+P T+U+V+W+X+Y+R+Z+=.P P H.*.P `+ @.@[.+@P $.@@A+R+e+0.z.#@$@z.P T k.P P P P P P P Q u %@3 f. ", +" 0+&@*@=@,.P P P P P P P N -@y.Q ;@>@,@,@'@)@!@)@~@l.P k.{@]@^@/@(@_@M P *.:@)@!@)@<@[@}@|@Y+$..+I.O P P P P P P P M 1@2@~. ", +" B._ 3@T P P P P P P P P 0.4@2.5@6@)@7@7@7@7@8@7@9@0@P a@b@c@d@e@f@g@)+P +h@8@8@7@7@7@7@i@j@k@;.I.=.P P P P P P P $.l@m@; _. ", +" -+n@o@'+P P P P P P P $.p@q@r@7@7@7@7@s@t@u@g@v@w@m.P *.x@y@y@y@z@A@h.$.B@C@D@E@F@G@H@7@7@7@)@I@J@@+P P P P P P P P _+K@e 2 ", +"L@% M@N@P P P P P y.P #+M O@)@7@7@)@P@Q@R@S@T@U@/@V@W@;.y.X@z@y@y@Y@Z@P &.`@ #.#C@+#@###$#%#)@7@7@&#*#=#P P Q P P P P O :.p+9+ ", +"-#C.;#M P P P P P ;.P G+>#7@7@7@,#'#)#!#~#{#]#^#/#(#_#:#'+<#[#y@y@}#|#=.1#2#3#4#5#6#{#7#8#9#0#a#7@7@&#b#k+$.z.P P P P P c#d#k e#", +"f#g#h#%.P P P P P 0.=.i#7@7@j#k#l#m# n#o#p#q#r#_#y@y@C@X+s#t#u#v# w#)#x#h@7@)@5.;.O.P P P P P ,.y#z#A#", +"B#! C#P P P P P P H.D#)@7@E#F#G# H#I#J#K#L#M#N#O#P#Q#R#S# ]#T#U#V#7@W#X#$+P P P P P $.Y#*+d.", +"Z#`# $P P P P P P #.6@)@.$}@+$ @$#$$$%$t#&$*$=$-$ ;$k#>$,$)@'$=.P P P P P P Q.)$j ", +"!$~$}+P P P P P P =.{$5.]$7@{# ^$y@z@/$($_$y@:$<$ [$}$o.|$1$l.P P P P P P M E 2$", +"*+3$y.P P P P P P y.5.=.+@4$ 5$y@y@y@y@y@y@6$~$ 6@.+ +7$$.P P P P P P R 8$!$", +"m+9$$.P P P P P P P m.0$Q.a$ b$c$y@y@y@y@y@y@d$e$ i@~+x. +P P P P P P P H+f$) ", +"B#4.P P P P P P P P .+q@g$)@ h$i$j$ k$l$z@y@y@y@y@y@y@m$n$ ]#7@X#o$h.P P P P P P P Q p$X.", +"q$K.P $.P P P P P P P m.r$s$t$ u$v$w$x$y$z$ A$B$y@C$D$y@E$y@F$M#G$H$ I$J$K$L$M$N$ O$6@P$ +P P P P P P P $.%.Q$R$", +") S$$.W+P P P P P P P h.-@T$r@ U$w$V$V$V$V$W$e$X$Y$z@Z$`$ %.%+%@%#%z@$%%%&%V$V$V$V$*%=% ;$-%,@;%>.P P P P P P P >%h.,%p+", +"U.'%9.Q.Q P P P P P P P =.[@)%!% ~%V$V$V${%]%^%/%(%_%y@M#M#y@y@y@e@y@y@:%<%[%}%|%V$V$V$1% 2%[@J@R P P P P P P P R #.}+3%/+", +"4%5%.+k.@@P P P P P P P #+#.[@6%7% 8%9%0%a%b%c%d%e%f%g%y@y@y@y@y@y@y@y@h%i%j%k%l%m%n%o%p%q% r%)@s%s+P P P P P P P P e+S <.t%-+", +"_. X+=.u%,.P P P P P P P P M 7.i@i@v%w%x%y%z%A%B%C%D%_%y@y@y@y@E%y@F%y@h%i%G%H%I%J%K%L%M%N%O%P%;%>+P P P P P P P P M Q%N N@R%S%", +" T%=.U%I.R P P P P P P P P %. +o$V%W%X%Y%Z%`% &.&+&@&E$m$#&p#$&%&&&*&=&-&;&>&,&'&)&!&~&{&X#s+>.P P P P P P P P ;.]&*#=.:@ ^&", +" [+/&(&J@_&-@M 8.P P P P P P P P O ;.]$:&<&[&B%C%D%:%}&|&1&2&3&4&5&6&7&8&9&0&a&b&c&d&e&H.>+$.P P P P P P P P >.&.f&g&5.i+k@h& ", +" i&>+j&k&l&m&n&R+;.>.P P P P P #+j+X+u%o&p&q&r&s&t&u&v&w&x&y&z&A&B&B&B&B&C&D&E&F&G&H&I&T%[.h.P P P P P P y.O.i+J&K&L&-%o$j+X# ", +" ++P m.M&N&O&P&Q&R&S&L.C+T&R.m.[+U&V&W&X&Y&Z&`& *.*+*@*#*B&B&B&B&B&B&B&B&B&B&$*%*&***=*W&-*>#7$++#.#.r#;*>*,*'*)*!*~*{*&.$.5@ ", +" C#P l.]*^*/*(*_*:*<*[*}*|*1*2*3*4*5*6*7*8*9*0*a*b*#*B&B&B&B&B&B&B&B&B&B&B&B&c*d*e*f*w&g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*;%O $.v* ", +" o$O P .+5.w*x*y*z*A*A*B*C*D*E*F*G*H*I*B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&J*K*L*M*N*O*P*Q*R*S*T*U*V*W*;%X*P K+Y* ", +" z.P P k+Z*`* =N*.=+=@=#=$=%=&=*=B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&==-=;=>=,='=)=!=~={=]=Y+j+P P + ", +" L.P P ^=0$'+H./=(=h&7.N@r@_=z&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&:=<=i+[=5.*#}=|=#.l.r+c#P $.I. ", +" 1=2=$.X#3=O P $.y.y.$.h.4=5=z&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&6=7=<.P O 8=y.8.P l.]&Y+P M ", +" 9=$.|=,$0.:+P P P P $.c#0=a=b=:=z&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&z&c=d=5@O P P P P P $.m.r$T 8./= ", +" 1=)+i.e=f=#.Q P P P 2.=.H.]=g=h=i=j=k=l=B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&B&#*m=n=-=o=p=/&N >+P P P P h.T q=r=s=$+ ", +" /&o.4#).t=K 0.)+}+S g$ +>%u=v=w=x=y=z=B&B&B&B&B&B&B&l=A=B=z&B&B&B&B&B&B&B&C=D=E=F=G=j.Z.0$i+k+}+Z.C+o$H=I=J=K=h& ", +" L=6@M=/ )$N=O=P=Q=E R=S=T=U=V=W=X=Y===z&z&z&*=Z=`= -.-+-@-#-$-%-Y=*=#*Y=&-*-=---;->-,-. '-)-!-~-{-W R$]-^-># ", +" s./-h+p+(-(.U._-:-4#<-[-}-|-1-2-3-+*4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-M.' H s-k B#t-u-v- ", +" w--+Y x-!$4%y-z-A-B-C-D-E-n-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-G-W-X-Y-Z-`- ;.;+;4&@;#;_ : : : _ / $;*+%; ", +" G _ $;&;*;=;-;;;>;,;';);!;~;{;];^;/;/;/;(;_;:;<;[;};|;1;2;3;+;n-n-4;5;6;7;8;9;0;4&$;: : : : : 3 * )$ ", +" *+= a;b;c;;;d;e;f;g;h;i;j;k;l;K-m;|-n-n;o;p;q;r;s;t;u;v;w;x;n-y;z;A;B;C;D;E;';F;G;: : : : : _ ^. ", +" ] m@f &@H;I;J;K;L;M;N;O;E;P;Q;R;S;T;U;V;W;X;Y;Z;`; >.>_;+>@>#>$>%>>#&>*>=>->;>>>`#, 3 : : _ f. ", +" ,>h - 3 '>C.)>!>> ~>{>]>^>/>P=(>%>_>:><>[>}>|>1>2>3>4>5>6>7>@.8>9>0>a>b>c>d>e>f>g>z : * W ", +" h>C : : : : /.i>j>k>l>} m>n>o>p>q>r>s>t>u>v>w>x>y>z>q>A>B>C>D>E>F>G>H>I>J>K>L>&@b+B. ", +" M>( : : * N>G;O>*+N>'>P>Q>R>S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,!$x-$,%,&,*,=,-,;,)$T.>, ", +" ,,) '>',),!,~,{,d.],* k ^,/,(,_,:,<,[,},|,1,2,3,4,5,z 3 _ 9 1@6,7,8,9,0, a, ", +" b,c,d,e,e,f,g,h,i,..C.j,k,l,m,n,o,p,q,r,s,t,u,n@: : : : C.A#v,w,x,y, ", +" z,A,B,C,C,C,D,E,F,3+& G,j,H,T.9+I,J,D )>- : : : : : : M.K,L, ", +" M,N,O,P,C,C,Q,R,S,: : 3 : : 3 3 : : : : : : - g T,`# ", +" U,V,W,N,X,Y,Z,: : : : : : : : : 3 `,` m@B. ' ", +" ]..'g+m@4%G,+'+'z @'q$! #'$']. "}; diff --git a/src/consts.h b/src/consts.h index af65061..8dbda9c 100644 --- a/src/consts.h +++ b/src/consts.h @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/07/17 14:54:36 by kcolin #+# #+# */ -/* Updated: 2025/08/07 11:38:18 by tchampio ### ########.fr */ +/* Updated: 2025/08/08 12:08:23 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/src/main.c b/src/main.c index bc53ab4..8d988df 100644 --- a/src/main.c +++ b/src/main.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/07/17 14:14:30 by kcolin #+# #+# */ -/* Updated: 2025/08/07 12:27:47 by tchampio ### ########.fr */ +/* Updated: 2025/08/11 10:50:40 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,6 +35,8 @@ int game_loop(t_cub3d_data *data) { t_ray ray; + int fps; + char *fps_string; data->last_tick = get_milliseconds(); mlx_destroy_image(data->mlx, data->img_data->img); @@ -49,7 +51,11 @@ int game_loop(t_cub3d_data *data) data->img_data->img, 0, 0); mlx_string_put(data->mlx, data->mlx_win, 10, 10, 0x00FFFFFF, COMPILED_TEXT); data->delta = (get_milliseconds() - data->last_tick); - ft_printf("%d,%d\n", data->last_tick, data->delta); + fps = 1000000.0 / data->delta; + fps_string = ft_itoa(fps); + mlx_string_put(data->mlx, data->mlx_win, WIDTH - 20, 15, 0xFF0000, fps_string); + free(fps_string); + //ft_printf("%d,%d\n", data->last_tick, data->delta); return (0); } @@ -69,7 +75,7 @@ int main(int argc, char **argv) data.sprite_list[0]->image = load_single_texture(&data, "ressources/box.xpm"); data.sprite_list[1]->x = data.map->startx; data.sprite_list[1]->y = data.map->starty - 2; - data.sprite_list[1]->image = load_single_texture(&data, "ressources/test.xpm"); + data.sprite_list[1]->image = load_single_texture(&data, "ressources/test_holed.xpm"); mlx_hook(data.mlx_win, KeyPress, KeyPressMask, keypress_handler, &data); mlx_hook(data.mlx_win, KeyRelease, KeyReleaseMask, keyrelease_handler, &data); From b9b164e32d75b7b925466ae4deabc28b7767daf8 Mon Sep 17 00:00:00 2001 From: Theo Champion Date: Mon, 11 Aug 2025 11:03:51 +0200 Subject: [PATCH 2/2] norm: Fixed norm errors except for comments in main function --- src/main.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main.c b/src/main.c index 8d988df..07ee598 100644 --- a/src/main.c +++ b/src/main.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/07/17 14:14:30 by kcolin #+# #+# */ -/* Updated: 2025/08/11 10:50:40 by tchampio ### ########.fr */ +/* Updated: 2025/08/11 11:03:22 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ @@ -53,9 +53,9 @@ int game_loop(t_cub3d_data *data) data->delta = (get_milliseconds() - data->last_tick); fps = 1000000.0 / data->delta; fps_string = ft_itoa(fps); - mlx_string_put(data->mlx, data->mlx_win, WIDTH - 20, 15, 0xFF0000, fps_string); + mlx_string_put(data->mlx, data->mlx_win, WIDTH - 20, 15, 0xFF0000, + fps_string); free(fps_string); - //ft_printf("%d,%d\n", data->last_tick, data->delta); return (0); } @@ -66,16 +66,19 @@ int main(int argc, char **argv) if (argc < 2) return (ft_printf("Error: Missing cub3d file\n"), 1); init_cub3d_data(&data, argv); - // placing a sprite next to player to ease debugging + // FIXME: Delete this whole piece of code when we will init sprites from + // map data.sprite_list = ft_calloc(sizeof(t_sprite *), 3); data.sprite_list[0] = ft_calloc(sizeof(t_sprite), 1); data.sprite_list[1] = ft_calloc(sizeof(t_sprite), 1); data.sprite_list[0]->x = data.map->startx + 1; data.sprite_list[0]->y = data.map->starty; - data.sprite_list[0]->image = load_single_texture(&data, "ressources/box.xpm"); + data.sprite_list[0]->image = load_single_texture(&data, + "ressources/box.xpm"); data.sprite_list[1]->x = data.map->startx; data.sprite_list[1]->y = data.map->starty - 2; - data.sprite_list[1]->image = load_single_texture(&data, "ressources/test_holed.xpm"); + data.sprite_list[1]->image = load_single_texture(&data, + "ressources/test_holed.xpm"); mlx_hook(data.mlx_win, KeyPress, KeyPressMask, keypress_handler, &data); mlx_hook(data.mlx_win, KeyRelease, KeyReleaseMask, keyrelease_handler, &data);