From bf8aa10c3166b0484e0db08e8a15360c26dd603e Mon Sep 17 00:00:00 2001 From: bgiraudr Date: Thu, 19 Aug 2021 02:29:51 +0200 Subject: [PATCH] add camera and bigger map --- assets-cg/fxconv-metadata.txt | 2 +- assets-cg/maps/testCarte.tmx | 158 +++++++++++++++++----------------- assets-cg/maps/tileset.tsx | 5 ++ assets-cg/tileset.png | Bin 56491 -> 56769 bytes include/camera.h | 5 ++ include/define.h | 2 + include/engine.h | 5 +- include/map.h | 2 +- include/player.h | 4 +- src/engine.c | 51 ++++++++++- src/main.c | 10 +++ 11 files changed, 158 insertions(+), 86 deletions(-) create mode 100644 include/camera.h diff --git a/assets-cg/fxconv-metadata.txt b/assets-cg/fxconv-metadata.txt index be2bccc..3144da4 100644 --- a/assets-cg/fxconv-metadata.txt +++ b/assets-cg/fxconv-metadata.txt @@ -1,7 +1,7 @@ tileset.png: type: bopti-image name: img_tileset - profile:p4 + profile:p8 spritesheet.png: type: bopti-image diff --git a/assets-cg/maps/testCarte.tmx b/assets-cg/maps/testCarte.tmx index 0df2733..85b58e2 100644 --- a/assets-cg/maps/testCarte.tmx +++ b/assets-cg/maps/testCarte.tmx @@ -1,91 +1,91 @@ - + - + -1,3,2,1,3,38,1,6,6,6,3,3,3,3,1,3,2,0,1,1,1,1,1,209,183,181,212,0,0,0,0,0,175,177,0,0,0,0,0,0,0,0,0,0,0,0,0,146,147,147,147,147,147,147,148,35, -1,2,3,8,1,1,2,3,2,3,6,1,1,1,1,37,40,1,0,0,0,0,0,2,209,210,210,183,212,213,182,0,204,206,0,6,6,6,6,6,6,6,6,6,6,6,0,204,178,0,207,179,205,178,150,148, -1,3,8,3,1,59,0,60,60,61,6,6,1,3,1,1,1,1,6,6,6,6,1,0,2,1,1,180,184,210,211,1,0,0,61,1,6,6,6,6,6,6,6,6,6,6,2,0,175,207,207,177,1,204,178,150, -1,1,3,32,36,88,89,89,89,63,61,6,3,1,2,0,0,3,1,1,1,3,3,1,0,1,1,209,211,1,59,60,62,121,90,1,6,6,6,2,3,1,1,1,6,6,6,0,175,176,207,177,2,32,175,207, -6,2,1,1,1,117,118,118,118,91,90,2,37,2,2,0,0,1,2,3,3,2,32,2,1,0,2,1,1,1,88,120,92,118,119,1,6,6,34,0,0,0,0,0,1,1,1,0,204,178,176,150,148,32,204,178, -6,1,0,0,3,3,32,32,1,117,119,2,39,1,98,99,100,1,3,3,0,3,38,1,1,146,0,1,1,0,88,120,90,1,1,1,4,35,1,0,205,205,0,0,1,1,1,1,0,204,178,208,150,148,31,175, -6,2,0,0,3,3,3,1,1,3,2,1,3,3,98,99,73,71,1,1,2,3,2,2,1,175,0,1,1,59,62,92,119,1,1,0,0,0,0,1,240,242,175,0,1,1,1,1,1,0,175,208,207,150,0,149, -1,98,99,100,3,1,2,3,3,2,3,2,3,1,98,99,99,100,3,32,3,2,2,2,1,175,0,1,1,88,121,90,1,1,6,0,177,39,109,240,243,271,175,0,39,1,1,1,1,0,204,178,208,176,208,176, -1,98,99,73,70,70,70,70,70,70,70,70,70,70,72,99,99,100,2,37,33,36,1,2,1,175,0,1,1,88,89,90,1,1,6,0,177,240,241,243,273,300,175,0,31,1,0,0,1,1,0,204,205,205,205,205, -39,98,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,100,1,3,1,3,3,3,1,204,0,6,1,117,91,63,61,1,6,0,177,298,272,301,271,39,175,0,34,32,0,0,1,1,1,0,0,0,0,1, -1,127,128,128,128,128,101,99,99,102,128,128,128,128,128,101,99,100,3,2,1,0,0,1,2,0,6,6,6,2,117,91,90,1,6,0,177,4,298,299,300,31,175,0,37,151,154,182,1,1,1,0,1,1,1,0, -1,40,1,59,60,61,98,99,99,100,240,241,242,1,38,98,99,73,71,1,0,0,0,0,1,0,6,6,6,1,3,88,63,61,1,0,150,147,147,147,147,147,149,0,1,180,181,155,153,2,1,1,1,1,6,6, -6,1,1,88,89,90,98,99,99,100,269,270,271,1,35,98,99,99,73,70,70,0,0,70,71,0,38,6,6,3,3,88,121,90,1,0,176,176,176,176,176,176,176,0,151,154,213,184,211,2,1,1,1,6,6,6, -6,1,1,0,118,119,98,99,99,100,298,272,244,242,3,127,128,128,101,99,99,99,99,99,100,146,0,3,2,1,1,88,89,90,2,6,6,6,6,6,6,6,1,151,154,213,213,182,59,60,60,61,3,6,6,6, -6,6,1,1,1,1,98,99,99,100,1,269,270,271,2,40,35,2,98,99,99,99,99,99,100,175,0,2,3,1,3,117,91,90,3,1,6,6,6,6,6,6,6,180,181,181,184,211,88,120,92,119,2,2,6,6, -7,7,1,1,1,1,98,99,99,100,1,298,272,244,241,242,1,1,127,128,128,128,128,128,129,175,0,151,0,2,2,2,88,63,61,2,1,1,6,6,6,6,2,180,184,210,211,59,62,92,119,1,3,2,151,152, -8,1,33,1,1,1,98,99,99,100,3,1,298,272,301,271,3,3,2,2,3,2,3,1,1,175,0,180,155,152,153,2,117,91,63,60,61,1,1,1,6,6,3,209,211,59,60,62,121,90,1,151,152,152,154,213, -1,1,1,1,1,1,98,99,99,100,2,40,1,298,299,300,39,1,1,2,1,1,2,2,2,175,0,209,183,213,155,153,1,117,118,91,63,60,60,60,61,1,1,1,59,62,89,120,89,90,3,180,0,213,213,181, -1,34,1,1,1,1,98,99,99,73,71,37,2,1,3,32,5,1,3,1,3,2,1,3,1,175,0,2,180,212,181,155,152,153,1,117,118,118,91,120,63,61,59,60,62,120,121,92,118,119,3,180,213,184,210,210, -36,38,1,1,1,1,98,99,99,130,73,70,71,2,2,3,1,33,40,38,2,2,1,3,1,175,0,3,209,210,210,210,210,211,1,1,1,1,88,120,121,63,62,89,121,89,92,119,2,1,3,180,184,211,240,241, -1,1,1,1,1,69,72,99,99,130,130,131,100,0,2,1,1,3,1,36,39,1,2,2,2,175,0,1,1,1,1,1,1,3,6,6,6,1,117,91,120,121,89,89,92,118,119,2,2,3,151,154,182,240,243,270, -1,1,1,59,61,127,128,128,128,128,128,128,129,2,2,1,3,2,3,3,2,3,3,3,2,204,206,0,0,0,0,0,0,6,6,0,6,6,1,88,121,121,121,92,119,1,1,1,151,152,154,213,182,298,272,270, -1,1,1,88,63,61,1,1,1,1,38,2,2,2,1,3,0,33,3,3,3,1,1,3,3,3,2,204,205,205,205,178,0,6,6,6,6,6,1,117,91,89,121,90,3,1,2,151,154,212,212,213,155,153,298,272, -1,0,60,62,121,90,161,162,162,163,1,59,60,61,2,3,1,0,0,3,0,3,1,2,3,2,1,1,1,3,1,175,0,1,6,6,6,6,6,1,117,91,121,63,61,1,1,209,183,213,212,212,213,155,153,298, -59,62,89,121,92,119,190,191,223,192,59,62,89,63,60,61,2,1,3,0,3,2,2,2,1,59,60,60,61,1,2,204,206,0,0,0,0,0,0,1,1,117,118,118,119,3,3,2,209,183,212,181,213,181,155,152, -117,118,91,89,90,161,164,223,194,221,117,118,118,91,89,90,3,2,2,3,2,1,59,60,60,62,120,121,90,1,1,1,1,3,2,240,241,242,1,0,0,0,138,138,0,0,0,0,3,209,210,183,212,213,213,181, -241,242,117,118,119,190,223,194,221,146,147,147,148,88,121,90,146,148,3,3,2,59,62,121,121,121,120,120,63,61,1,1,0,0,3,298,272,244,241,242,204,205,0,0,204,178,176,150,0,0,2,209,210,210,210,210, -301,244,242,5,2,190,223,192,146,149,0,176,177,88,120,90,175,150,148,3,3,88,121,120,121,92,91,121,121,63,61,0,0,0,0,1,269,301,270,244,242,1,156,158,2,204,205,205,178,150,0,2,1,1,1,1, -301,270,271,4,1,190,223,192,175,176,207,207,177,88,120,90,204,178,150,148,3,88,120,120,92,119,117,91,121,120,63,60,0,0,1,1,269,270,270,270,271,1,185,187,1,3,2,2,204,178,150,0,0,0,0,1, -270,301,271,3,161,164,223,192,175,176,176,208,177,88,120,63,61,204,205,206,2,88,89,120,90,1,2,117,118,91,121,121,121,63,61,1,269,301,301,270,271,1,185,187,1,2,1,1,1,204,205,205,178,208,150,0, -301,270,271,4,190,191,194,221,175,176,176,176,177,88,120,121,90,3,2,2,1,88,120,120,90,3,3,2,2,117,91,121,120,121,90,1,269,301,270,270,271,156,159,187,5,39,1,240,241,242,3,3,204,205,205,205, -301,273,300,1,190,194,221,146,149,176,176,176,177,88,89,121,63,60,60,60,60,62,89,89,90,2,1,2,3,2,117,91,121,92,119,240,243,270,301,270,271,185,217,187,35,33,240,243,302,244,241,241,242,1,1,1, -301,271,4,161,164,192,146,149,208,176,176,176,177,117,91,121,120,121,120,89,120,121,120,89,90,3,3,1,1,2,1,88,89,281,282,282,282,282,282,282,282,283,217,187,40,37,269,301,273,299,272,301,271,1,1,1, -299,300,3,190,191,192,175,208,0,176,176,176,150,148,88,89,120,89,120,120,89,120,120,121,90,2,3,3,2,3,3,117,91,310,311,311,311,311,311,311,311,312,218,160,158,240,243,273,300,1,298,272,244,241,241,241, -147,148,1,190,222,192,204,178,176,176,176,176,179,206,88,120,121,92,118,118,118,118,118,118,119,1,2,1,1,2,1,1,117,119,298,272,301,301,270,270,271,185,218,189,216,269,270,271,2,2,1,298,272,270,301,270, -176,177,161,164,222,165,163,204,178,207,176,179,206,59,62,0,92,119,3,2,2,3,1,3,1,3,2,2,2,3,2,2,3,3,2,298,272,270,301,301,271,185,186,187,240,243,270,244,242,2,0,2,298,272,301,301, -176,177,190,222,222,191,165,163,204,205,205,206,59,62,89,89,90,2,1,3,2,3,2,2,1,2,1,0,1,3,0,1,2,0,156,158,298,299,299,299,300,185,217,187,298,299,272,302,271,2,2,3,3,298,272,301, -176,177,190,191,223,191,222,165,162,162,162,163,88,89,89,120,63,61,3,1,1,2,3,3,3,2,1,3,2,2,1,1,1,3,185,160,157,157,157,157,157,159,186,160,158,3,298,299,300,1,1,2,1,1,298,272 +1,3,2,1,3,38,1,6,6,6,3,3,3,3,1,3,2,0,1,1,1,1,1,209,183,181,212,0,0,0,0,0,175,177,0,0,0,0,0,0,0,0,0,0,0,0,0,146,147,147,147,147,147,147,148,35,1,1,1,1,146,147,149,207,208,150,149,177,1,2,2,1,298,299,299,272,301,301,273,299,299,299,299,272,270,270,270,270,270,301,270,301,301,270,301,301,301,270,301,301, +1,2,3,8,1,1,2,3,2,3,6,1,1,1,1,37,40,1,0,0,0,0,0,2,209,210,210,183,212,213,182,0,204,206,0,6,6,6,6,6,6,6,6,6,6,6,0,204,178,0,207,179,205,178,150,148,1,1,1,146,149,176,207,208,179,205,205,206,1,32,2,2,2,3,2,298,299,299,300,3,3,2,2,298,299,299,299,299,299,299,299,299,272,301,270,270,270,270,301,270, +1,3,8,3,1,59,0,60,60,61,6,6,1,3,1,1,1,1,6,6,6,6,1,0,2,1,1,180,184,210,211,1,0,0,61,1,6,6,6,6,6,6,6,6,6,6,2,0,175,207,207,177,1,204,178,150,148,1,1,175,176,176,179,205,206,2,2,2,2,2,2,3,3,3,33,38,1,2,2,1,31,32,39,38,1,2,30,30,30,1,3,1,298,299,299,299,272,301,301,270, +1,1,3,32,36,88,89,89,89,63,61,6,3,1,2,0,0,3,1,1,1,3,3,1,0,1,1,209,211,1,59,60,62,121,90,1,6,6,6,2,3,1,1,1,6,6,6,0,175,176,207,177,2,32,175,176,150,147,147,149,208,176,177,1,2,3,2,1,2,1,2,59,61,3,34,37,1,3,3,3,36,35,1,34,3,2,38,109,30,39,36,4,2,1,3,1,298,299,272,301, +6,2,1,1,1,117,118,118,118,91,90,2,37,2,2,0,0,1,2,3,3,2,32,2,1,0,2,1,1,1,88,120,92,118,119,1,6,6,34,0,0,0,0,0,2,3,2,0,204,178,176,150,148,32,204,205,205,178,208,207,176,207,177,3,2,2,3,3,32,2,3,88,63,60,61,1,3,2,1,2,1,3,2,3,3,3,161,162,163,33,2,5,39,34,40,37,30,3,298,299, +6,1,0,0,3,3,32,32,1,117,119,2,39,1,98,99,100,1,3,3,0,3,38,1,1,146,0,1,1,0,88,120,90,1,1,1,4,35,1,0,205,205,0,0,2,3,3,1,0,204,178,208,150,148,31,109,37,175,176,176,179,178,150,147,148,2,2,1,1,2,1,117,91,121,90,2,1,1,1,2,1,2,1,2,2,2,190,191,192,31,32,161,162,162,162,162,163,109,37,5, +6,2,0,0,3,3,3,1,1,3,2,1,3,3,98,99,73,71,1,1,2,3,2,2,1,175,0,1,1,59,62,92,119,1,1,0,0,0,0,1,240,242,175,0,1,2,1,3,1,0,175,208,207,150,0,147,147,149,176,176,177,204,205,178,177,2,3,2,1,3,2,1,117,91,63,61,1,2,2,2,3,2,3,1,1,1,190,223,165,162,162,164,223,222,191,222,165,162,163,30, +1,98,99,100,3,1,2,3,3,2,3,2,3,1,98,99,99,100,3,32,3,2,2,2,1,175,0,1,1,88,121,90,1,1,6,0,177,39,109,240,243,271,175,0,39,2,3,2,3,0,204,178,208,176,208,208,179,205,205,205,206,3,3,204,206,1,1,2,2,1,2,1,3,117,91,63,61,1,1,6,2,1,1,3,3,3,190,223,223,223,223,223,191,191,191,223,191,191,165,163, +1,98,99,73,70,70,70,70,70,70,70,70,70,70,72,99,99,100,2,37,33,36,1,2,1,175,0,1,1,88,89,90,1,1,6,0,177,240,241,243,273,300,175,0,31,3,0,0,3,1,0,204,205,205,205,205,206,3,32,1,2,2,2,3,2,3,1,1,2,3,2,1,3,1,117,91,90,6,6,6,1,2,161,162,162,162,164,223,191,223,223,191,222,191,191,191,222,222,222,192, +39,98,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,100,1,3,1,3,3,3,1,204,0,6,1,117,91,63,61,1,6,0,177,298,272,301,271,39,175,0,34,32,0,0,1,1,1,0,0,0,0,2,3,1,3,2,3,2,2,3,1,1,6,2,2,3,3,3,6,3,33,117,119,6,6,6,6,3,190,191,191,223,191,194,220,220,193,191,222,222,191,222,223,194,220,221, +1,127,128,128,128,128,101,99,99,102,128,128,128,128,128,101,99,100,3,2,1,0,0,1,2,0,6,6,6,2,117,91,90,1,6,0,177,4,298,299,300,31,175,0,37,151,154,182,3,1,1,0,2,2,1,2,3,2,1,3,2,2,3,6,6,6,6,3,1,2,6,6,6,3,39,2,6,6,6,6,6,6,219,220,220,193,222,192,2,1,190,223,222,223,191,223,194,221,2,6, +1,40,1,59,60,61,98,99,99,100,240,241,242,1,38,98,99,73,71,1,0,0,0,0,1,0,6,6,6,1,3,88,63,61,1,0,150,147,147,147,147,147,149,0,1,180,181,155,153,2,2,3,2,2,6,6,6,2,36,40,1,1,2,2,6,6,6,1,1,1,6,6,2,3,38,36,6,3,3,2,1,3,3,1,1,190,191,165,162,162,164,223,223,223,191,191,192,3,1,6, +6,1,1,88,89,90,98,99,99,100,269,270,271,1,35,98,99,99,73,70,70,0,0,70,71,0,38,6,6,3,3,88,121,90,1,0,176,176,176,176,176,176,176,0,151,154,213,184,211,2,1,3,1,6,6,6,6,2,40,38,36,39,2,1,2,6,6,1,2,151,153,151,152,153,34,31,3,161,162,162,163,161,163,3,2,190,194,220,220,220,193,223,194,220,220,220,221,1,6,6, +6,1,1,0,118,119,98,99,99,100,298,272,244,242,3,127,128,128,101,99,99,99,99,99,100,146,0,3,2,1,1,88,89,90,2,6,6,6,6,6,6,6,1,151,154,213,213,182,59,60,60,61,3,6,6,6,6,2,1,2,1,1,3,151,152,152,152,153,3,180,155,154,212,182,2,32,3,190,191,223,165,164,165,163,1,190,192,3,30,4,190,194,221,2,2,1,1,6,6,6, +6,6,1,1,1,1,98,99,99,100,1,269,270,271,2,40,35,2,98,99,99,99,99,99,100,175,0,2,3,1,3,117,91,90,3,1,6,6,6,6,6,6,6,180,181,181,184,211,88,120,92,119,2,2,6,6,2,1,151,152,153,11,2,180,181,213,213,182,3,180,181,212,213,155,153,2,2,190,194,193,222,223,222,165,162,164,192,39,38,1,190,192,3,2,6,6,6,6,6,6, +7,7,1,1,1,1,98,99,99,100,1,298,272,244,241,242,1,1,127,128,128,128,128,128,129,175,0,151,0,2,2,2,88,63,61,2,1,1,6,6,6,6,2,180,184,210,211,59,62,92,119,1,3,2,151,152,153,3,180,212,182,11,11,209,210,210,210,211,2,209,210,210,183,181,182,2,3,190,165,164,222,222,191,222,191,191,165,162,162,162,164,192,1,3,6,6,6,6,6,6, +8,1,33,1,1,1,98,99,99,100,3,1,298,272,301,271,3,3,2,2,3,2,3,1,1,175,0,180,155,152,153,2,117,91,63,60,61,1,1,1,6,6,3,209,211,59,60,62,121,90,1,151,152,152,154,181,155,152,154,213,182,1,2,6,6,6,3,1,2,1,3,3,209,210,211,2,3,190,191,223,223,223,222,223,222,223,222,222,191,223,191,192,2,1,2,3,3,6,6,6, +1,1,1,1,1,1,98,99,99,100,2,40,1,298,299,300,39,1,1,2,1,1,2,2,2,175,0,209,183,213,155,153,1,117,118,91,63,60,60,60,61,1,1,1,59,62,89,120,89,90,3,180,0,213,213,213,213,212,213,181,182,3,6,6,6,6,1,1,3,1,3,3,1,1,2,2,3,190,222,191,191,194,220,220,220,220,220,220,193,222,222,165,163,1,1,3,1,2,6,6, +1,34,1,1,1,1,98,99,99,73,71,37,2,1,3,32,5,1,3,1,3,2,1,3,1,175,0,2,180,212,181,155,152,153,1,117,118,118,91,120,63,61,59,60,62,120,121,92,118,119,3,180,213,184,210,210,210,183,213,213,155,153,6,6,6,3,2,1,2,1,3,161,163,3,3,3,161,164,223,222,194,221,1,3,6,6,2,2,219,193,223,191,192,109,3,1,1,3,2,2, +36,38,1,1,1,1,98,99,99,130,73,70,71,2,2,3,1,33,40,38,2,2,1,3,1,175,0,3,209,210,210,210,210,211,1,1,1,1,88,120,121,63,62,89,121,89,92,119,2,1,3,180,184,211,240,241,242,209,183,212,181,182,1,6,2,2,1,2,3,2,2,190,165,162,162,162,164,222,222,191,192,6,6,6,6,6,6,6,3,219,220,193,165,163,3,161,163,1,1,3, +1,1,1,1,1,69,72,99,99,130,130,131,100,0,2,1,1,3,1,36,39,1,2,2,2,175,0,1,1,1,1,1,1,3,6,6,6,1,117,91,120,121,89,89,92,118,119,2,2,3,151,154,182,240,243,301,244,242,180,181,213,182,3,1,3,3,3,3,2,1,1,190,223,191,223,191,191,191,222,194,221,3,6,6,6,6,6,2,2,1,2,219,193,165,162,164,192,3,240,241, +1,1,1,59,61,127,128,128,128,128,128,128,129,2,2,1,3,2,3,3,2,3,3,3,2,204,206,0,0,0,0,0,0,6,6,0,6,6,1,88,121,121,121,92,119,1,1,1,151,152,154,213,182,298,272,301,273,300,180,212,181,182,35,39,2,1,2,3,35,33,32,219,193,191,223,223,194,220,193,192,40,1,2,6,6,6,1,1,1,1,3,1,219,220,220,220,221,240,243,270, +1,1,1,88,63,61,1,1,1,1,38,2,2,2,1,3,0,33,3,3,3,1,1,3,3,3,2,204,205,205,205,178,0,6,6,6,6,6,1,117,91,89,121,90,3,1,2,151,154,212,212,213,155,153,298,299,300,1,180,213,181,182,34,33,2,2,2,6,2,2,1,2,219,220,220,220,221,2,190,192,39,31,3,1,2,1,2,151,153,1,2,1,240,241,241,241,241,243,302,301, +1,0,60,62,121,90,161,162,162,163,1,59,60,61,2,3,1,0,0,3,0,3,1,2,3,2,1,1,1,3,1,175,0,1,6,6,6,6,6,1,117,91,121,63,61,1,1,209,183,213,212,212,213,155,153,3,151,152,154,181,184,211,1,3,2,2,1,6,6,3,2,1,2,1,1,2,3,1,190,192,34,36,2,2,3,151,152,154,182,3,1,240,243,270,273,299,299,272,270,301, +59,62,89,121,92,119,190,191,223,192,59,62,89,63,60,61,2,1,3,0,3,2,2,2,1,59,60,60,61,1,2,204,206,0,0,0,0,0,0,1,1,117,118,118,119,3,3,2,209,183,212,181,213,181,155,152,154,213,212,184,211,3,9,1,2,2,6,6,6,6,2,1,2,39,36,37,37,161,164,165,163,3,1,151,152,154,213,184,211,2,240,243,301,273,300,2,3,298,272,270, +117,118,91,89,90,161,164,223,194,221,117,118,118,91,89,90,3,2,2,3,2,1,59,60,60,62,120,121,90,1,1,1,1,3,2,240,241,242,1,0,0,0,138,138,0,0,0,0,3,209,210,183,212,213,213,181,181,184,210,211,3,2,2,2,2,1,6,6,6,6,1,3,39,32,30,30,109,219,193,194,221,3,2,180,213,212,212,182,2,2,269,301,301,271,3,156,158,1,298,299, +241,242,117,118,119,190,223,194,221,146,147,147,148,88,121,90,146,148,3,3,2,59,62,121,121,121,120,120,63,61,1,1,0,0,3,298,272,244,241,242,204,205,0,0,204,178,176,150,0,0,2,209,210,210,210,210,210,211,6,6,3,3,1,3,2,6,6,6,6,6,1,1,31,109,2,240,241,242,219,221,39,2,2,209,183,212,212,182,1,240,243,301,273,300,156,159,160,158,3,1, +301,244,242,5,2,190,223,192,146,149,0,176,177,88,120,90,175,150,148,3,3,88,121,120,121,92,91,121,121,63,61,0,0,0,0,1,269,301,270,244,242,1,156,158,2,204,205,205,178,150,0,2,1,9,3,3,6,6,6,3,2,1,1,2,6,6,6,6,6,6,1,240,241,241,241,243,270,244,241,241,242,109,1,2,209,210,210,211,2,269,270,301,271,3,185,217,218,160,157,157, +301,270,271,4,1,190,223,192,175,176,207,207,177,88,120,90,204,178,150,148,3,88,120,120,92,119,117,91,121,120,63,60,0,0,1,1,269,270,270,270,271,1,185,187,1,3,2,2,204,178,150,0,0,0,0,2,3,2,146,148,1,3,1,3,6,6,3,1,3,240,241,243,301,270,301,270,270,270,301,301,244,242,3,34,34,2,34,1,240,243,270,270,271,156,159,218,186,186,217,217, +270,301,271,3,161,164,223,192,175,176,176,208,177,88,120,63,61,204,205,206,2,88,89,120,90,1,2,117,118,91,121,121,121,63,61,1,269,301,301,270,271,1,185,187,1,2,1,1,1,204,205,205,178,208,150,147,147,147,149,177,1,1,3,3,1,1,240,241,241,243,270,301,270,270,270,270,270,270,270,301,270,244,241,241,242,2,40,109,269,301,301,270,271,185,218,218,217,218,217,217, +301,270,271,4,190,191,194,221,175,176,176,176,177,88,120,121,90,3,2,2,1,88,120,120,90,3,3,2,2,117,91,121,120,121,90,1,269,301,270,270,271,156,159,187,5,39,1,240,241,242,3,3,204,205,205,205,205,205,205,206,3,1,3,240,241,241,243,301,301,301,270,270,302,270,270,270,270,270,270,270,301,270,270,270,244,241,241,241,243,301,301,301,271,214,215,188,186,186,218,186, +301,273,300,1,190,194,221,146,149,176,176,176,177,88,89,121,63,60,60,60,60,62,89,89,90,2,1,2,3,2,117,91,121,92,119,240,243,270,301,270,271,185,217,187,35,33,240,243,302,244,241,241,242,2,1,3,1,1,2,1,2,240,241,243,270,270,301,301,270,270,270,270,270,270,270,270,273,299,272,270,270,270,273,299,299,272,270,270,301,270,301,301,244,242,36,214,215,188,186,218, +301,271,4,161,164,192,146,149,208,176,176,176,177,117,91,121,120,121,120,89,120,121,120,89,90,3,3,1,1,2,1,88,89,281,282,282,282,282,282,282,282,283,217,187,40,37,269,301,273,299,272,301,271,3,2,2,1,3,1,240,241,243,270,270,301,270,270,270,270,270,270,270,270,270,273,299,300,32,298,299,299,299,300,1,37,298,299,272,301,301,270,301,270,244,242,1,5,214,188,186, +299,300,3,190,191,192,175,208,0,176,176,176,150,148,88,89,120,89,120,120,89,120,120,121,90,2,3,3,2,3,3,117,91,310,311,311,311,311,311,311,311,312,218,160,158,240,243,273,300,1,298,272,244,241,241,241,241,241,241,243,270,270,301,270,270,270,270,270,270,270,270,270,270,270,271,2,40,69,70,70,71,38,3,69,70,71,38,298,299,272,301,270,270,301,244,241,242,3,185,217, +147,148,1,190,222,192,204,178,176,176,176,176,179,206,88,120,121,92,118,118,118,118,118,118,119,1,2,1,1,2,1,1,117,119,298,272,301,301,270,270,271,185,218,189,216,269,270,271,2,2,1,298,272,270,301,270,270,301,301,301,270,270,270,302,270,270,270,270,270,270,270,270,270,270,244,242,109,127,128,101,73,70,70,72,99,73,71,33,35,298,272,270,270,270,301,270,271,3,214,215, +176,177,161,164,222,165,163,204,178,207,176,179,206,59,62,0,92,119,3,2,2,3,1,3,1,3,2,2,2,3,2,2,3,3,2,298,272,270,301,301,271,185,186,187,240,243,270,244,242,2,0,2,298,272,301,301,301,270,301,270,270,270,270,273,299,299,299,272,270,270,270,270,270,270,270,244,241,242,34,127,128,128,101,99,99,99,73,70,71,30,269,270,270,270,270,270,244,242,30,34, +176,177,190,222,222,191,165,163,204,205,205,206,59,62,89,89,90,2,1,3,2,3,2,2,1,2,1,0,1,3,0,1,2,0,156,158,298,299,299,299,300,185,217,187,298,299,272,302,271,2,2,3,3,298,272,301,270,270,270,270,270,270,273,300,35,33,33,269,270,270,270,270,270,270,270,270,270,244,241,241,242,4,127,128,101,130,130,99,100,36,269,270,270,270,302,270,270,244,241,242, +176,177,190,191,223,191,222,165,162,162,162,163,88,89,89,120,63,61,3,1,1,2,3,3,3,2,1,3,2,2,1,1,1,3,185,160,157,157,157,157,157,159,186,160,158,3,298,299,300,1,1,2,1,1,298,272,270,270,270,270,270,270,271,40,2,39,37,269,270,270,270,270,270,270,270,270,270,270,270,270,271,34,38,33,127,128,128,128,129,40,269,270,270,270,270,270,270,270,270,244 - + -295,295,294,294,0,0,0,0,0,0,294,294,295,295,294,0,0,108,0,0,0,0,0,0,0,0,137,138,138,138,138,84,0,0,82,138,138,138,138,138,138,138,138,138,138,138,84,0,320,321,322,0,0,0,0,0, -294,295,294,0,0,320,321,322,0,0,0,294,295,294,0,0,0,137,138,138,138,138,84,0,0,0,0,0,0,0,0,108,0,0,110,0,0,0,0,0,0,0,0,0,0,0,113,0,349,350,351,0,28,0,0,0, -294,0,0,0,0,349,350,351,0,0,0,0,294,0,660,661,662,663,0,0,0,0,137,84,0,0,0,0,0,0,0,137,138,138,139,0,0,0,0,0,0,0,0,0,0,0,137,84,378,379,380,0,57,0,0,0, -294,0,0,0,0,378,379,380,22,23,0,0,0,0,689,690,691,692,0,0,0,0,0,137,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,0,0,0,0,113,0,0,0,0,0,0,0,0, -0,656,657,658,659,0,0,0,51,52,0,0,0,0,718,719,720,721,0,323,324,325,0,0,137,84,0,0,320,321,322,0,0,0,0,0,0,0,0,82,83,83,203,84,0,0,0,113,0,0,0,0,0,0,0,0, -0,685,686,687,688,0,0,0,0,0,0,0,0,0,747,748,749,750,0,352,353,354,0,0,0,137,84,0,349,350,351,0,0,0,0,0,0,0,0,111,0,0,232,113,0,0,0,137,84,0,0,0,0,320,321,322, -0,714,715,716,717,245,24,25,0,246,0,24,25,245,0,0,0,0,0,381,382,383,0,0,0,0,108,0,378,379,380,0,0,0,0,82,83,83,83,139,0,0,0,113,0,0,0,0,137,84,0,0,0,349,350,351, -0,743,744,745,746,274,53,54,0,275,0,53,54,274,0,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,113,0,656,657,658,659,108,0,0,0,378,379,380, -0,0,29,0,0,303,0,0,0,304,0,0,0,303,0,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,113,0,685,686,687,688,137,84,174,0,0,0,0, -0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,635,636,637,638,0,79,142,0,0,0,0,0,0,0,0,111,0,0,0,0,0,29,0,113,0,714,715,716,717,0,137,203,138,138,84,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,664,665,666,667,0,108,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,58,0,113,0,743,744,745,746,0,0,232,0,0,137,138, -0,0,0,0,0,0,245,0,0,245,0,0,0,0,0,0,0,0,0,0,693,694,695,696,0,108,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,113,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,320,321,322,0,274,0,0,274,0,0,0,0,0,0,0,0,0,0,722,723,724,725,0,108,0,0,0,0,0,0,0,0,0,140,141,141,141,141,141,141,141,142,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,349,350,351,0,303,0,0,303,0,0,0,0,0,0,0,0,0,0,751,752,753,754,0,137,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,378,379,380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,294,0,0,0,0,0,0,0,0,0,0,0,294,294,294,294,294,294,294,294,0,108,378,379,380,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,320,321,322,0,0, -0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,0,0,0,294,294,294,294,294,294,294,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,349,350,351,0,0, -0,0,0,0,294,294,245,0,0,245,0,0,0,0,0,0,0,0,0,0,0,294,294,294,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,0, -0,0,0,294,294,294,274,0,0,274,20,21,320,321,322,0,0,0,0,0,0,0,294,0,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,294,294,294,303,0,0,303,49,50,349,350,351,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,79,80,81,0,0,0,0,0,0,0,137,138,138,138,138,138,84,0,349,350,351,0,0,0,0,0,0,0,20,21,0,0,0,0,0,0,0,0,0,0, -320,321,322,0,0,0,0,0,0,0,0,0,0,306,249,249,108,0,140,80,81,0,0,0,0,0,0,0,0,0,0,0,108,0,378,379,380,0,0,0,0,0,0,0,49,50,0,0,0,0,22,23,0,0,0,0, -349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,0,137,138,84,0,110,249,249,249,249,249,249,249,250,249,251,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,52,0,0,0,0, -378,379,380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,138,139,0,0,0,0,0,0,0,0,0,280,0,137,138,138,138,138,138,84,0,0,0,174,174,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,280,635,636,637,638,0,0,0,137,83,138,138,203,203,138,138,138,84,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,280,664,665,666,667,0,0,0,0,0,0,0,232,232,0,0,0,137,138,84,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,306,693,694,695,696,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,84,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,0,0,0,722,723,724,725,0,0,12,13,0,0,0,0,0,294,0,0,0,0,0,137,138,138,138,84,0, -0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,294,0,0,0,0,294,0,0,0,0,0,751,752,753,754,0,0,41,42,0,0,0,0,0,294,294,0,0,0,0,29,0,0,0,137,138, -0,0,0,0,0,0,0,0,0,294,294,56,0,0,0,0,0,0,294,294,294,0,0,0,0,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,58,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,294,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,252,253,253,0,28,0,253,253,254,0,0,294,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,320,321,322,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,349,350,351,56,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,378,379,380,294,294,0,0,320,321,322,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,339,340,340,340,340,340,340,340,341,0,0,0,0,0,0,0,320,321,322,0,0,0,0, -294,0,0,0,0,0,0,0,0,0,0,0,0,0,349,350,351,0,0,294,294,294,294,294,294,294,323,324,325,323,324,325,323,324,325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,349,350,351,0,0,0,0, -294,0,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,294,294,294,294,0,0,352,353,354,352,353,354,352,353,354,0,0,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,0, -294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,381,382,383,381,382,383,381,382,383,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +295,295,294,294,0,0,0,0,0,0,294,294,295,295,294,0,0,108,0,0,0,0,0,0,0,0,137,138,138,138,138,84,0,0,82,138,138,138,138,138,138,138,138,138,138,138,84,0,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +294,295,294,0,0,320,321,322,0,0,0,294,295,294,0,0,0,137,138,138,138,138,84,0,0,0,0,0,0,0,0,108,0,0,110,0,0,0,0,0,0,0,0,0,0,0,113,0,349,350,351,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,50,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +294,0,0,0,0,349,350,351,0,0,0,0,294,0,660,661,662,663,0,0,0,0,137,84,0,0,0,0,0,0,0,137,138,138,139,0,0,0,0,0,0,0,0,0,0,0,137,84,378,379,380,0,57,0,0,0,0,0,0,0,0,0,0,0,0,320,321,322,0,0,0,82,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +294,0,0,0,0,378,379,380,22,23,0,0,0,0,689,690,691,692,0,0,0,0,0,137,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,0,0,0,0,113,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,349,350,351,0,0,82,139,0,0,0,0,0,323,324,325,0,0,0,0,0,0,0,28,0,323,324,325,0,0,0,0,0,0,0,0, +0,656,657,658,659,0,0,0,51,52,0,0,0,0,718,719,720,721,0,323,324,325,0,0,137,84,0,0,320,321,322,0,0,0,0,0,0,0,0,82,83,83,203,84,0,0,0,113,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,378,379,380,0,259,260,261,0,0,0,0,0,352,353,354,0,0,0,635,636,637,638,57,0,352,353,354,0,0,0,0,0,0,0,0, +0,685,686,687,688,0,0,0,0,0,0,0,0,0,747,748,749,750,0,352,353,354,0,0,0,137,84,0,349,350,351,0,0,0,0,0,0,0,0,111,0,0,232,113,0,0,0,137,84,0,0,0,0,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,82,139,0,0,0,0,0,0,381,382,383,0,245,0,664,665,666,667,0,0,381,382,383,0,0,0,0,0,0,0,0, +0,714,715,716,717,245,24,25,0,246,0,24,25,245,0,0,0,0,0,381,382,383,0,0,0,0,108,0,378,379,380,0,0,0,0,82,83,83,83,139,0,0,0,113,0,0,0,0,137,84,0,0,0,349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,82,139,0,0,0,0,0,0,0,0,0,0,0,274,0,693,694,695,696,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,743,744,745,746,274,53,54,0,275,0,53,54,274,0,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,113,0,656,657,658,659,108,0,0,0,378,379,380,0,0,0,0,0,0,0,0,0,0,82,138,139,0,0,0,0,0,0,0,0,0,0,0,0,303,0,722,723,724,725,0,0,0,0,0,635,636,637,638,0,245,0,0, +0,0,29,0,0,303,0,0,0,304,0,0,0,303,0,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,113,0,685,686,687,688,137,84,174,0,0,0,0,0,0,0,0,0,0,0,0,0,82,139,111,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,751,752,753,754,0,0,0,0,0,664,665,666,667,0,274,0,0, +0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,635,636,637,638,0,79,142,0,0,0,0,0,0,0,0,111,0,0,0,0,0,29,0,113,0,714,715,716,717,0,137,203,138,138,84,0,0,0,0,0,0,0,82,138,138,139,0,140,81,0,47,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,25,0,0,693,694,695,696,0,303,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,664,665,666,667,0,108,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,58,0,113,0,743,744,745,746,0,0,232,0,0,137,138,138,138,138,138,138,138,139,0,0,0,0,0,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,54,0,0,722,723,724,725,0,0,0,0, +0,0,0,0,0,0,245,0,0,245,0,0,0,0,0,0,0,0,0,0,693,694,695,696,0,108,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,0,0,635,636,637,638,0,0,0,245,0,0,0,0,245,0,751,752,753,754,0,0,0,0, +0,0,320,321,322,0,274,0,0,274,0,0,0,0,0,0,0,0,0,0,722,723,724,725,0,108,0,0,0,0,0,0,0,0,0,140,141,141,141,141,141,141,141,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,320,321,322,0,0,0,111,0,0,323,324,325,0,0,0,0,664,665,666,667,0,0,0,274,0,323,324,325,274,0,0,0,0,0,0,0,0,0, +0,0,349,350,351,0,303,0,0,303,0,0,0,0,0,0,0,0,0,0,751,752,753,754,0,137,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,349,350,351,0,0,0,111,0,0,352,353,354,0,0,0,0,693,694,695,696,0,0,0,303,0,352,353,354,303,0,0,0,0,0,0,0,0,0, +0,0,378,379,380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,111,0,0,381,382,383,0,0,0,0,722,723,724,725,0,0,0,0,0,381,382,383,0,0,0,0,0,0,323,324,325,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,0,0,751,752,753,754,0,0,0,0,0,22,23,0,29,0,0,0,0,0,352,353,354,0, +0,0,0,0,0,294,0,0,0,0,0,0,0,0,0,0,0,294,294,294,294,294,294,294,294,0,108,378,379,380,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,82,139,0,0,0,0,0,0,0,0,0,0,0,0,0,24,25,0,0,0,51,52,0,58,0,0,0,0,0,381,382,383,0, +0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,0,0,0,294,294,294,294,294,294,294,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,0,0,660,661,662,663,0,28,0,0,0,0,0,53,54,0,0,0,0,0,0,0,0,0,656,657,658,659,0,0,0, +0,0,0,0,294,294,245,0,0,245,0,0,0,0,0,0,0,0,0,0,0,294,294,294,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,0,0,689,690,691,692,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,685,686,687,688,0,0,0, +0,0,0,294,294,294,274,0,0,274,20,21,320,321,322,0,0,0,0,0,0,0,294,0,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,139,0,0,0,718,719,720,721,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,714,715,716,717,0,0,0, +0,0,0,0,0,0,303,0,0,303,49,50,349,350,351,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,0,0,0,747,748,749,750,0,0,245,0,0,0,0,0,0,0,0,0,0,0,0,24,25,0,743,744,745,746,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,79,80,81,0,0,0,0,0,0,0,137,138,138,138,138,138,84,0,349,350,351,0,0,0,0,0,0,0,20,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,139,0,0,0,0,0,0,0,0,0,0,274,0,0,0,0,0,0,0,0,0,0,0,0,53,54,0,0,0,0,0,0,0,0, +320,321,322,0,0,0,0,0,0,0,0,0,0,306,249,249,108,0,140,80,81,0,0,0,0,0,0,0,0,0,0,0,108,0,378,379,380,0,0,0,0,0,0,0,49,50,0,0,0,0,22,23,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,0,0,0,0,303,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,0,137,138,84,0,110,249,249,249,249,249,249,249,250,249,251,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,52,0,0,0,0,0,0,0,0,320,321,322,0,82,139,0,0,0,0,0,0,323,324,325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +378,379,380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,138,139,0,0,0,0,0,0,0,0,0,280,0,137,138,138,138,138,138,84,0,0,0,174,174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,349,350,351,0,111,0,0,0,0,0,0,0,352,353,354,0,0,0,0,0,0,0,0,0,323,324,325,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,280,635,636,637,638,0,0,0,137,83,138,138,203,203,138,138,138,84,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,82,139,0,0,0,0,0,0,0,381,382,383,0,0,255,256,257,258,0,0,0,352,353,354,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,280,664,665,666,667,0,0,0,0,0,0,0,232,232,0,0,0,137,138,84,0,0,0,0,0,0,0,0,0,0,0,0,82,139,0,0,0,0,0,0,0,0,0,0,0,0,0,284,285,286,287,0,0,0,381,382,383,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,306,693,694,695,696,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,84,0,0,0,0,0,0,0,0,0,82,138,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,285,286,287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,0,0,0,722,723,724,725,0,0,12,13,0,0,0,0,0,294,0,0,0,0,0,137,138,138,138,84,0,0,0,82,138,139,0,280,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,285,286,287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19, +0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,294,0,0,0,0,294,0,0,0,0,0,751,752,753,754,0,0,41,42,0,0,0,0,0,294,294,0,0,0,0,29,0,0,0,137,138,138,138,139,0,0,0,280,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,285,286,287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,48, +0,0,0,0,0,0,0,0,0,294,294,56,0,0,0,0,0,0,294,294,294,0,0,0,0,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,280,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,285,286,287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,294,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,252,253,253,0,28,0,253,253,254,0,0,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,285,286,287,0,0,0,0,0,0,0,0,0,12,13,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,320,321,322,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,313,314,315,316,0,0,0,656,657,658,659,0,0,41,42,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,349,350,351,56,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,342,343,344,345,0,0,0,685,686,687,688,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,378,379,380,294,294,0,0,320,321,322,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,339,340,340,340,340,340,340,340,341,0,0,0,0,0,0,0,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,714,715,716,717,0,0,0,0,0,0,0,0,0,0,0,0, +294,0,0,0,0,0,0,0,0,0,0,0,0,0,349,350,351,0,0,294,294,294,294,294,294,294,323,324,325,323,324,325,323,324,325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,13,0,0,0,0,0,0,0,0,28,0,743,744,745,746,0,0,0,0,0,0,0,0,0,0,0,0, +294,0,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,294,294,294,294,0,0,352,353,354,352,353,354,352,353,354,0,0,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,42,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,381,382,383,381,382,383,381,382,383,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/assets-cg/maps/tileset.tsx b/assets-cg/maps/tileset.tsx index 252742c..6bb32b5 100644 --- a/assets-cg/maps/tileset.tsx +++ b/assets-cg/maps/tileset.tsx @@ -27,6 +27,7 @@ + @@ -78,6 +79,8 @@ + + @@ -97,6 +100,8 @@ + + diff --git a/assets-cg/tileset.png b/assets-cg/tileset.png index 56590b94e40bbd671b067a1aa74f33e2099c4a19..59fbd7e7132a6e983588005294432e6b41ffaf2e 100644 GIT binary patch delta 35952 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

8vs;g$!$(}p&#CCJ+Hhu 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 delta 35672 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 IM6N<$f?KUvWdHyG diff --git a/include/camera.h b/include/camera.h new file mode 100644 index 0000000..9ee6b48 --- /dev/null +++ b/include/camera.h @@ -0,0 +1,5 @@ +#pragma once + +struct Camera { + int x, y; +}; \ No newline at end of file diff --git a/include/define.h b/include/define.h index 5566afa..ed752a5 100644 --- a/include/define.h +++ b/include/define.h @@ -4,3 +4,5 @@ #define PLAYER_VIEW_Y 8 /*the width of the tileset*/ #define TILESET_WIDTH 29 + +#define TILE_SIZE 16 \ No newline at end of file diff --git a/include/engine.h b/include/engine.h index 43a81da..aeb56dd 100644 --- a/include/engine.h +++ b/include/engine.h @@ -9,6 +9,8 @@ struct Game { struct Player *player; /*list of all the characters on the map*/ struct Character **characters; + /*the camera*/ + struct Camera *camera; /*the background color*/ int background; }; @@ -16,7 +18,7 @@ struct Game { /*draw the current state of the game*/ void engine_draw(struct Game const *game); /*draw the map around the player*/ -void engine_draw_map_around_player(struct Game const *game); +void engine_draw_map(struct Game const *game); /*draw the player*/ void engine_draw_player(struct Player const *player); /*move the player to the direction*/ @@ -29,3 +31,4 @@ void engine_set_background(struct Game *game, int color); void engine_action(struct Game const *game, int action); /*check the current position of the player. To perform action depends of his location*/ void engine_check_position(struct Game *game); +void vec_lerp(struct Camera *from, struct Player const *to, float scale); \ No newline at end of file diff --git a/include/map.h b/include/map.h index 9af5973..7149aca 100644 --- a/include/map.h +++ b/include/map.h @@ -5,7 +5,7 @@ struct Map { /*width, height and the number of layer of the map (max 2)*/ - int w, h, nb_layer; + int w, h, nb_layers; /*the tileset to use*/ bopti_image_t *tileset; /*state of each tile on the map (solid, air ...)*/ diff --git a/include/player.h b/include/player.h index 1954640..1f91275 100644 --- a/include/player.h +++ b/include/player.h @@ -4,8 +4,10 @@ #include "engine.h" struct Player { - /*current position of the player on the map*/ + /*current position of the player on the map - Tile*/ int x, y; + /*player mid - offset pixels*/ + int x_mid, y_mid; /*the direction the player facing to*/ int direction; /*current frame of the animation*/ diff --git a/src/engine.c b/src/engine.c index 966b968..af0b117 100644 --- a/src/engine.c +++ b/src/engine.c @@ -7,11 +7,13 @@ #include "animation.h" #include "define.h" #include "character.h" +#include "camera.h" /*draw the current state of the game*/ void engine_draw(struct Game const *game) { dclear(game->background); - engine_draw_map_around_player(game); + //engine_draw_map_around_player(game); + engine_draw_map(game); engine_draw_player(game->player); } @@ -69,7 +71,7 @@ void engine_draw_map_around_player(struct Game const *game) { for(int i = beginmap; i <= endmap; i++) { int y = j + (posy-ycentre); - for(int layer = 0; layer < game->map->nb_layer; layer++) { + for(int layer = 0; layer < game->map->nb_layers; layer++) { int tile = game->map->layers[layer][i]-1; if(tile != -1) { int tile_x = tile % TILESET_WIDTH; @@ -88,6 +90,40 @@ void engine_draw_map_around_player(struct Game const *game) { } } +void engine_draw_map(struct Game const *game) { + int x_offset = (game->camera->x - DWIDTH/2); + int y_offset = (game->camera->y - DHEIGHT/2); + + //currently -1 to avoid white during transition + for (int layer = 0 ; layer < game->map->nb_layers; layer++) { + for (int y = -1 ; y <= DHEIGHT / TILE_SIZE + 1; y++) { + for (int x = -1 ; x <= DWIDTH / TILE_SIZE + 1; x++) { + unsigned int tile_id = 0; + if(game->map->w > x && game->map->h > y) { + //detect if the map is oob + int indexY = (y + y_offset / TILE_SIZE); + int indexX = (x + x_offset / TILE_SIZE); + if(indexX >= 0 && indexX < game->map->w + && indexY >= 0 && indexY < game->map->h) + tile_id = game->map->layers[layer][indexX + indexY * game->map->w]; + } + + if (tile_id != 0) { + tile_id--; + unsigned int tile_x = TILE_SIZE * (tile_id % TILESET_WIDTH); + unsigned int tile_y = TILE_SIZE * (tile_id / TILESET_WIDTH); + + //provisoire le temps de trouver une manière propre + dsubimage(x * TILE_SIZE - x_offset%TILE_SIZE - game->player->anim.dx * 3, + y * TILE_SIZE - y_offset%TILE_SIZE - game->player->anim.dy * 3, game->map->tileset, + tile_x, tile_y, TILE_SIZE, TILE_SIZE, DIMAGE_NONE); + } + } + } + } + +} + /*draw the player*/ void engine_draw_player(struct Player const *player) { dframe(player->show_x * 16, player->show_y * 16 - 5, player->anim.img); //draw the player 5 pixel up @@ -105,6 +141,10 @@ int engine_move(struct Game *game, int direction) { if(map_walkable(game->map, game->player->x + dx, game->player->y + dy)) { game->player->x += dx; game->player->y += dy; + + game->camera->x += dx*16; + game->camera->y += dy*16; + game->player->idle = !anim_player_walking(&game->player->anim, 1); engine_check_position(game); } else { @@ -120,7 +160,7 @@ int engine_move(struct Game *game, int direction) { /*update the player animation*/ void engine_tick(struct Game *game, int dt) { game->player->anim.duration -= dt; - + vec_lerp(game->camera, game->player, 0.05); if(game->player->anim.duration <= 0) { game->player->idle = !game->player->anim.function(&game->player->anim, 0); } @@ -152,3 +192,8 @@ void engine_check_position(struct Game *game) { engine_set_background(game, C_WHITE); } } + +void vec_lerp(struct Camera *from, struct Player const *to, float scale) { + from->x = from->x * (1 - scale) + (to->x*TILE_SIZE + to->x_mid) * scale; + from->y = from->y * (1 - scale) + (to->y*TILE_SIZE + to->y_mid) * scale; +} \ No newline at end of file diff --git a/src/main.c b/src/main.c index 5c48aa9..9b63d8c 100644 --- a/src/main.c +++ b/src/main.c @@ -6,6 +6,8 @@ #include "player.h" #include "animation.h" #include "character.h" +#include "camera.h" +#include "define.h" #include #include @@ -26,6 +28,8 @@ int main(void) { struct Player player = { .x = 32, .y = 30, + .x_mid = 7, + .y_mid = 2, .show_x = 12, .show_y = 7, .direction = DIR_DOWN, @@ -34,9 +38,15 @@ int main(void) { }; player.idle = !anim_player_idle(&player.anim, 1); + struct Camera camera = { + .x = player.x * TILE_SIZE + player.x_mid, + .y = player.y * TILE_SIZE + player.y_mid + }; + struct Game game = { .map = maps[0], .player = &player, + .camera = &camera, .background = C_WHITE }; game.characters = get_map_characters(1);