//----------------------------------------------------------------------------- // // MAP // // fichier ou sont enregistres les sprites, les textures, et les objets // // // Ce fichier est compilé avec -Wp,-w et -Wno-missing-field-initializers. // //----------------------------------------------------------------------------- #include "windmill.hpp" // SPRITES const unsigned char sprite_brique_base[]={ 0xff,0xff,0xff,0xff, 0xa0,0x80,0x81,0x80, 0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80, 0xff,0xff,0xff,0xff, 0x08,0x08,0x08,0x08, 0x0c,0x08,0x08,0x08, 0x0a,0x08,0x08,0x88, 0xff,0xff,0xff,0xff, 0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80, 0xff,0xff,0xff,0xff, 0x08,0x08,0x08,0x08, 0x08,0x08,0x08,0x18, 0x08,0x08,0x08,0x10, 0xff,0xff,0xff,0xff, 0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80, 0x80,0x88,0x80,0x80, 0xff,0xf7,0xff,0xff, 0x08,0x08,0x08,0x08, 0x08,0x08,0x08,0x0c, 0x88,0x08,0x08,0x08, 0xff,0xff,0xff,0xff, 0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80, 0xff,0xff,0xff,0xff, 0xdd,0xdc,0xdd,0xfd, 0xdd,0xdd,0xdd,0xdd, 0xff,0xff,0xff,0xff, }; const unsigned char sprite_brique[]={ 0x80,0x80,0x80,0x80, 0xa0,0x80,0x80,0x80, 0x80,0x80,0x80,0x80, 0xff,0xff,0xff,0xff, 0x08,0x08,0x08,0x18, 0x08,0x08,0x08,0x08, 0x08,0x08,0x08,0x08, 0xff,0xff,0xff,0xff, 0x80,0xc0,0x80,0x80, 0x80,0x80,0x80,0x80, 0x80,0x80,0x81,0x80, 0xff,0xff,0xfe,0xff, 0x08,0x08,0x08,0x08, 0x08,0x08,0x08,0x18, 0x08,0x08,0x08,0x28, 0xff,0xff,0xff,0xff, 0x81,0x80,0x80,0x80, 0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80, 0xff,0xff,0xff,0xff, 0x08,0x08,0x08,0x08, 0x08,0x08,0x08,0x08, 0x08,0x08,0x08,0x18, 0xff,0xff,0xff,0xff, 0x80,0x80,0x80,0x80, 0x80,0x80,0xc0,0x80, 0x88,0x80,0xa0,0x80, 0xf7,0xff,0xff,0xff, 0x08,0x08,0x08,0x08, 0x08,0x08,0x08,0x18, 0x08,0x08,0x48,0x08, 0xff,0xff,0xff,0xff, }; const unsigned char sprite_toit_tuile[]={ 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0x08,0x88,0x84,0x41, 0x08,0x88,0x84,0x41, 0x08,0x8c,0x8c,0x41, 0x09,0x88,0x88,0x41, 0x19,0x08,0x88,0x41, 0x1d,0x18,0x8c,0x41, 0xf7,0xb7,0xf6,0xe3, 0x22,0xe6,0x33,0xbe, 0x22,0x42,0x11,0x10, 0x22,0x42,0x11,0x10, 0x32,0x46,0x11,0x10, 0x1e,0x65,0x39,0xd8, 0xe5,0xdd,0xef,0x7d, 0x84,0x84,0x44,0x27, 0x84,0x84,0x44,0x21, 0x8c,0x84,0x46,0x21, 0xdc,0xcc,0x66,0x21, 0x77,0xde,0xf7,0x73, 0x42,0x73,0x9d,0xde, 0x42,0x21,0x08,0x88, 0x42,0x21,0x08,0x88, 0x42,0x21,0x08,0x88, 0x47,0x21,0x0d,0xdc, 0xfd,0xf3,0x15,0x77, 0x99,0x9e,0xf7,0x21, 0x08,0x84,0x42,0x21, 0x08,0x84,0x42,0x21, 0x88,0x84,0x42,0x21, 0x8d,0xcc,0xe6,0x73, 0xff,0xff,0xff,0xff, }; const unsigned char sprite_paille[]={ 0x5a,0x95, 0x58,0x95, 0x5a,0x95, 0x5e,0xd5, 0xd2,0xd0, 0xd3,0x59, 0x93,0x59, 0x37,0x49, 0x36,0x49, 0x26,0x49, 0x24,0xcb, 0xa4,0xeb, 0xa9,0xaa, 0xe9,0xaa, 0x69,0xaa, 0x49,0x8a, }; const unsigned char sprite_paille_dessus[]={ 0x88,0x88, 0x22,0x22, 0x88,0x88, 0x22,0x22, 0x88,0x88, 0x22,0x22, 0x88,0x88, 0x22,0x22, 0x88,0x88, 0x22,0x22, 0x88,0x88, 0x22,0x22, 0x88,0x88, 0x22,0x22, 0x88,0x88, 0x22,0x22, }; const unsigned char sprite_mur_moulin[]={ 0x81,0x02,0x08,0x73, 0x81,0x02,0x08,0x4d, 0x81,0x02,0x08,0x41, 0x81,0x02,0x08,0x41, 0x81,0x02,0x08,0x41, 0x81,0x02,0x08,0x41, 0x81,0x02,0x09,0xc1, 0x81,0x1e,0x0e,0x41, 0x81,0xe2,0x08,0x41, 0x81,0x02,0x08,0x41, 0x81,0x02,0x08,0x41, 0x81,0x02,0x48,0x41, 0x81,0x02,0xa8,0x41, 0x81,0x03,0x18,0x79, 0x81,0x02,0x08,0x47, 0x81,0x02,0x08,0x41, 0xf9,0x02,0x08,0x41, 0x87,0x04,0x08,0x21, 0x81,0x04,0x08,0x21, 0x81,0x04,0x08,0x21, 0x81,0x04,0x08,0x21, 0x81,0x04,0x0e,0x61, 0x81,0x04,0x09,0xa1, 0x81,0x04,0x08,0x21, 0x81,0x04,0x08,0x21, 0x81,0x3c,0x08,0x21, 0x81,0xc4,0x08,0x21, 0x81,0x04,0x08,0x21, 0x81,0x04,0x08,0x31, 0x99,0x04,0x08,0x2f, 0xe7,0x04,0x08,0x21, 0x81,0x07,0xf8,0x21, }; const unsigned char sprite_pale_moulin[]={ 0xff,0xff, 0x87,0xe1, 0x87,0xe1, 0x8f,0xf1, 0x8f,0xf1, 0x9b,0xd9, 0x9b,0xd9, 0xb3,0xcd, 0xb3,0xcd, 0xe7,0xe7, 0xe7,0xe7, 0xc7,0xe3, 0xff,0xff, 0xc7,0xe3, 0xc7,0xe3, 0xc7,0xe3, 0xc7,0xe3, 0xc7,0xe3, 0xc5,0xa3, 0xcd,0xb3, 0xcd,0xb3, 0xff,0xff, 0xcd,0xb3, 0xcd,0xb3, 0xcd,0xb3, 0xcd,0xb3, 0xcd,0xb3, 0xd9,0x9b, 0xff,0xff, 0xd9,0x9b, 0xd9,0x9b, 0xd9,0x9b, 0xd9,0x9b, 0xd9,0x9b, 0xd9,0x9b, 0xd9,0x9b, 0xd1,0x8b, 0xff,0xff, 0xf1,0x8f, 0xf1,0x8f, 0xf1,0x8f, 0xf1,0x8f, 0xf1,0x8f, 0xf1,0x8f, 0xf1,0x8f, 0xff,0xff, 0xe1,0x87, 0xe1,0x87, 0xe1,0x87, 0xe1,0x87, 0xe1,0x87, 0xe1,0x87, 0xe1,0x87, 0xe1,0x87, 0xff,0xff, 0xc1,0x83, 0xc1,0x83, 0xc1,0x83, 0xc1,0x83, 0xc1,0x83, 0xc1,0x83, 0xff,0xff, 0xff,0xff, 0xff,0xff, }; const unsigned char sprite_fenetre_simple[]={ 0xff,0xff, 0xc1,0x03, 0xc1,0x03, 0xc1,0x03, 0xc1,0x03, 0xff,0xff, 0xc1,0x03, 0xc1,0x03, 0xc1,0x03, 0xff,0xff, 0xc1,0x03, 0xc1,0x03, 0xc1,0x03, 0xc1,0x03, 0xff,0xff, 0xff,0xff, }; const unsigned char sprite_porte_simple[]={ 0xff,0xff, 0x80,0x01, 0x80,0x01, 0xff,0xff, 0xff,0xff, 0xe0,0x07, 0xc9,0x43, 0xc9,0x4b, 0xc9,0x4b, 0xc1,0x0b, 0xc9,0x0b, 0xc9,0x4b, 0xc9,0x43, 0xc8,0x43, 0xc8,0x4b, 0xc9,0x4b, 0xc1,0x03, 0xc9,0x3b, 0xc9,0x3b, 0xc9,0x2b, 0xc9,0x13, 0xc9,0x03, 0xc8,0x03, 0xc8,0x43, 0xc8,0x43, 0xc9,0x4b, 0xc1,0x4b, 0xc9,0x4b, 0xc9,0x4b, 0xc9,0x0b, 0xc0,0x03, 0xff,0xff, }; const unsigned char sprite_pierre_eglise[]={ 0xe0,0x00,0x00,0x07, 0x20,0x00,0x00,0x04, 0xe0,0x00,0x00,0x07, 0x40,0x00,0x00,0x02, 0x40,0x00,0x00,0x02, 0xe0,0x00,0x00,0x07, 0x20,0x00,0x00,0x04, 0xe0,0x00,0x00,0x07, 0x40,0x00,0x00,0x02, 0x40,0x00,0x00,0x02, 0xe0,0x00,0x00,0x07, 0x20,0x00,0x00,0x04, 0xe0,0x00,0x00,0x07, 0x40,0x00,0x00,0x02, 0x40,0x00,0x00,0x02, 0x40,0x00,0x00,0x02, }; const unsigned char sprite_pierre_eglise2[]={ 0x40,0x00,0x00,0x02, 0x40,0x00,0x00,0x02, 0x40,0x00,0x00,0x02, 0xe0,0x00,0x00,0x07, 0x20,0x00,0x00,0x04, 0xe0,0x00,0x00,0x07, 0x40,0x00,0x00,0x02, 0x40,0x00,0x00,0x02, 0xe0,0x00,0x00,0x07, 0x20,0x00,0x00,0x04, 0xe0,0x00,0x00,0x07, 0x40,0x00,0x00,0x02, 0x40,0x00,0x00,0x02, 0xe0,0x00,0x00,0x07, 0x20,0x00,0x00,0x04, 0xe0,0x00,0x00,0x07, }; const unsigned char sprite_horloge[]={ 0x00,0x7f,0xfe,0x00, 0x01,0x80,0x01,0x80, 0x06,0x02,0xc0,0x60, 0x08,0x82,0x41,0x10, 0x10,0x02,0x80,0x08, 0x24,0x02,0xc0,0x24, 0x20,0x00,0x00,0x04, 0x40,0x00,0x00,0x02, 0x50,0x00,0x00,0x0a, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x90,0x00,0x00,0x0d, 0xa8,0x01,0x80,0x05, 0x98,0x01,0x80,0x0d, 0x88,0x00,0x00,0x05, 0x90,0x00,0x00,0x0d, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x50,0x00,0x00,0x12, 0x40,0x00,0x00,0x02, 0x20,0x01,0x00,0x04, 0x24,0x02,0x00,0x24, 0x10,0x03,0x00,0x08, 0x08,0x82,0x81,0x10, 0x06,0x01,0x00,0x60, 0x01,0x80,0x01,0x80, 0x00,0x7f,0xfe,0x00, }; const unsigned char sprite_porte_eglise[]={ 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x3f,0xfc,0x00, 0x00,0xc0,0x83,0x00, 0x03,0x05,0x28,0xc0, 0x04,0x90,0x03,0x20, 0x0a,0x41,0x20,0x10, 0x10,0x10,0x0a,0xa8, 0x23,0x12,0x10,0x04, 0x24,0x00,0x44,0x24, 0x50,0xbf,0xfc,0x92, 0x44,0xff,0xff,0x12, 0x93,0xc1,0x83,0xc5, 0xd7,0x01,0x80,0xe1, 0x9c,0x01,0x80,0x35, 0xf8,0x01,0x80,0x19, 0xb0,0x01,0x80,0x0d, 0xa0,0x01,0x80,0x05, 0xe0,0x01,0x80,0x07, 0xc0,0x01,0x80,0x83, 0xc0,0x81,0x80,0x03, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x82,0x01, 0x80,0x01,0x82,0x01, 0xc0,0x01,0x82,0x03, 0xc0,0x01,0x80,0x03, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x81,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x1d,0xb8,0x01, 0x80,0x09,0x90,0x01, 0x80,0x15,0xa8,0x01, 0x80,0x09,0x90,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0xf1, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0xc0,0x01,0x80,0x03, 0xc0,0x01,0x80,0x03, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0x80,0x01,0x80,0x01, 0xff,0xff,0xff,0xff, }; const unsigned char sprite_planche_bois[]={ 0x81,0x04,0x08,0x20, 0xff,0x04,0x08,0x20, 0x81,0x04,0x08,0x20, 0xa5,0x04,0x08,0x20, 0x81,0x04,0x08,0x20, 0x81,0x04,0x0a,0xa0, 0x81,0x54,0x08,0x20, 0x81,0x04,0x0f,0xe0, 0x81,0xfc,0x08,0x20, 0x81,0x04,0x0a,0xa0, 0x81,0x54,0x08,0x20, 0x81,0x05,0x28,0x2a, 0x81,0x04,0x08,0x20, 0x81,0x07,0xf8,0x3f, 0x81,0x04,0x08,0x20, 0xa5,0x05,0x28,0x24, 0x81,0x04,0x08,0x20, 0xff,0x04,0x08,0x20, 0x81,0x04,0x08,0x20, 0xa5,0x04,0x0a,0x20, 0x81,0x04,0x08,0x20, 0x81,0x04,0x0f,0xe0, 0x81,0x04,0x08,0x20, 0x81,0x54,0x0a,0xaa, 0x81,0x04,0x08,0x20, 0x81,0xfc,0x08,0x3f, 0x81,0x04,0x08,0x20, 0x81,0x04,0x08,0x2a, 0x81,0x04,0x08,0x20, 0x81,0x05,0x28,0x20, 0x81,0x04,0x08,0x20, 0xa5,0x07,0xf8,0x20, }; const unsigned char sprite_haie[]={ 0x80,0x01, 0xff,0xff, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0xff,0xff, 0x80,0x01, 0x80,0x01, }; const unsigned char sprite_epouvantail[]={ 0x00,0x00, 0x03,0x8c, 0x06,0xd0, 0x04,0x20, 0x0f,0xf0, 0x04,0x20, 0x04,0x20, 0x06,0x60, 0x03,0xc0, 0x01,0x80, 0xe1,0x80, 0xff,0xfc, 0x3f,0xff, 0x04,0x23, 0x04,0xa0, 0x04,0xa0, 0x04,0x20, 0x06,0x20, 0x04,0x20, 0x04,0x20, 0x05,0x20, 0x04,0x20, 0x04,0x60, 0x04,0xa0, 0x07,0xe0, 0x03,0xc0, 0x03,0xc0, 0x03,0xc0, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, }; const unsigned char sprite_epouvantail_masque[]={ 0x00,0x00, 0x03,0x8c, 0x07,0xd0, 0x07,0xe0, 0x0f,0xf0, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x03,0xc0, 0x01,0x80, 0xe1,0x80, 0xff,0xfc, 0x3f,0xff, 0x07,0xe3, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x07,0xe0, 0x03,0xc0, 0x03,0xc0, 0x03,0xc0, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, }; const unsigned char sprite_herbe[]={ 0x08,0x00, 0x48,0x20, 0x49,0x22, 0x44,0x92, 0x44,0x94, 0x25,0x15, 0x25,0x15, 0x25,0x15, }; const unsigned char sprite_panneau[]={ 0xff,0xff, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x92,0xb1, 0xb5,0x95, 0x94,0xb5, 0x80,0x01, 0x80,0x01, 0x95,0x6d, 0x95,0x45, 0xa2,0x65, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0xff,0xff, }; const unsigned char sprite_mur_int_maison[]={ 0xff,0xff, 0x98,0x19, 0xb0,0x0d, 0xe0,0x07, 0xc0,0x03, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0xff,0xff, 0xff,0xff, 0x91,0x11, 0x91,0x11, 0x91,0x11, 0x91,0x11, 0x91,0x11, 0x91,0x11, 0x91,0x11, 0x91,0x11, 0x91,0x11, 0xff,0xff, }; const unsigned char sprite_planche[]={ 0xff,0xff,0xff,0xff, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x04,0x00,0x81, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x80,0x01, 0x80,0x00,0x00,0x01, 0x82,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x01, 0x80,0x00,0x00,0x41, 0x80,0x00,0x00,0x01, 0xff,0xff,0xff,0xff, }; const unsigned char sprite_exemple[]={ 0xff,0xff,0xff,0xff, 0x87,0xff,0xfc,0x01, 0xb4,0x00,0x05,0xfd, 0xb4,0x00,0x05,0xfd, 0x84,0x00,0x04,0x01, 0xfc,0x00,0x07,0xff, 0xc0,0x00,0x00,0x01, 0xc0,0xfc,0x00,0x01, 0xc3,0x86,0x00,0x01, 0xcc,0x03,0x00,0x01, 0xc9,0x99,0x00,0x01, 0xc9,0x99,0x07,0xff, 0xc8,0x01,0x04,0x01, 0xc8,0x01,0x04,0x01, 0xc8,0xf1,0x04,0x01, 0xcc,0x62,0xff,0xff, 0xc6,0x06,0x80,0x21, 0xc3,0xfc,0x80,0x21, 0xc0,0x00,0x80,0x21, 0xc0,0x00,0xff,0xff, 0xc0,0x00,0x04,0x01, 0xc0,0x00,0x04,0x01, 0xc0,0x00,0x04,0x01, 0xc0,0x00,0x07,0xff, 0xc0,0x00,0x00,0x01, 0xc0,0x00,0x80,0x01, 0xfc,0x01,0xc0,0x3f, 0xc4,0x03,0xe0,0x3f, 0xa4,0x07,0x70,0x33, 0x94,0x0e,0x38,0x33, 0x8f,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, }; /* const unsigned char sprite_mur_colombage[]={ 0xff,0xff,0xff,0xff, 0xc0,0x00,0x00,0x03, 0xc0,0x00,0x00,0x03, 0xe0,0x00,0x00,0x07, 0xe0,0x3f,0xfc,0x07, 0xe0,0x20,0x84,0x07, 0xb0,0x20,0x84,0x0d, 0xb0,0x20,0x84,0x0d, 0xb0,0x20,0x84,0x0d, 0x98,0x20,0x84,0x19, 0x98,0x3f,0xfc,0x19, 0x98,0x20,0x84,0x19, 0x8c,0x20,0x84,0x31, 0x8c,0x20,0x84,0x31, 0xff,0xe0,0x87,0xff, 0xff,0xe0,0x87,0xff, 0x86,0x20,0x84,0x61, 0x83,0x3f,0xfc,0xe1, 0x83,0x20,0x84,0xc1, 0x83,0x20,0x84,0xc1, 0x81,0xa0,0x85,0x81, 0x81,0xa0,0x85,0x81, 0x81,0xbf,0xfd,0x81, 0x80,0xc0,0x03,0x01, 0x80,0xc0,0x03,0x01, 0x80,0xc0,0x03,0x01, 0x80,0x60,0x06,0x01, 0x80,0x60,0x06,0x01, 0x80,0x60,0x06,0x01, 0x80,0x30,0x0c,0x01, 0x80,0x30,0x0c,0x01, 0xff,0xff,0xff,0xff, }; const unsigned char sprite_plaque_egout[]={ 0x07,0xe0, 0x18,0x18, 0x21,0x04, 0x40,0x02, 0x48,0x82, 0x80,0x01, 0x80,0x11, 0x82,0x21, 0x84,0x81, 0x80,0x21, 0x90,0x01, 0x41,0x02, 0x40,0x02, 0x20,0x04, 0x18,0x18, 0x07,0xe0, }; const unsigned char sprite_pancarte_forgeron[]={ 0xff,0xff, 0x80,0x01, 0x80,0x01, 0x80,0x01, 0xbf,0x81, 0xbf,0xfd, 0x9f,0xf9, 0x87,0xe1, 0x87,0xe1, 0x83,0xc1, 0x83,0xc1, 0x8f,0xf1, 0x9f,0xf9, 0x80,0x01, 0x80,0x01, 0xff,0xff, }; const unsigned char sprite_comptoire[]={ 0x88,0x88, 0x88,0x88, 0x88,0x88, 0x88,0x88, 0xaa,0xaa, 0x88,0x88, 0x88,0x88, 0x88,0x88, }; const unsigned char sprite_trappe[]={ 0xff,0xff, 0x88,0x89, 0x88,0x89, 0x88,0x89, 0x88,0x89, 0x88,0x89, 0x88,0x89, 0x88,0x89, 0x88,0x89, 0x88,0x89, 0x88,0x09, 0x89,0xc9, 0x89,0x49, 0x89,0xc9, 0x88,0x09, 0xff,0xff, }; const unsigned char sprite_arbre1[]={ 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x07,0x80,0x00, 0x00,0x08,0x7c,0x00, 0x00,0x10,0x04,0x00, 0x03,0x60,0x0b,0x80, 0x04,0x80,0x04,0x40, 0x04,0x00,0x00,0x40, 0x04,0x00,0x00,0x20, 0x08,0x78,0x00,0x10, 0x14,0x07,0xc0,0x08, 0x12,0x00,0x00,0x04, 0x20,0x00,0x00,0x04, 0x40,0x00,0x00,0x06, 0x40,0x00,0x00,0xc6, 0x40,0x00,0x03,0x04, 0xe0,0x01,0x3c,0x04, 0xa0,0x01,0xc0,0x06, 0x9e,0x80,0x00,0x02, 0x83,0x80,0x00,0x02, 0x80,0x00,0x00,0x02, 0x80,0x00,0x00,0x02, 0x80,0x00,0x00,0x03, 0x80,0x00,0x00,0x05, 0x80,0x00,0x0c,0x05, 0x88,0x00,0x0c,0x1d, 0x88,0x1f,0x00,0x01, 0x4e,0x08,0x00,0x06, 0x70,0x00,0x00,0x01, 0x10,0x00,0x00,0x01, 0x60,0x00,0x00,0x01, 0x40,0x00,0x30,0x09, 0x50,0x00,0xc0,0x05, 0x50,0x00,0x00,0x0e, 0x40,0x00,0x00,0x08, 0x48,0x00,0x00,0x84, 0x74,0x00,0x00,0x04, 0x07,0x7f,0x80,0xf8, 0x00,0x89,0xff,0x80, 0x00,0x06,0x51,0x00, 0x00,0x05,0x50,0x80, 0x00,0x04,0x10,0x00, 0x00,0x04,0xd0,0x00, 0x00,0x04,0xd0,0x00, 0x00,0x04,0x10,0x00, 0x00,0x04,0x90,0x00, 0x00,0x05,0x30,0x00, 0x00,0x05,0x30,0x00, 0x00,0x05,0x30,0x00, 0x00,0x05,0x30,0x00, 0x00,0x04,0x10,0x00, 0x00,0x04,0x10,0x00, 0x00,0x06,0x10,0x00, 0x00,0x05,0x50,0x00, 0x00,0x04,0x50,0x00, 0x00,0x04,0x50,0x00, 0x00,0x04,0x90,0x00, 0x00,0x04,0x50,0x00, 0x00,0x04,0x30,0x00, 0x00,0x05,0x10,0x00, 0x00,0x05,0x10,0x00, 0x00,0x0f,0x78,0x00, 0x00,0x31,0xc4,0x00, 0x00,0x02,0x20,0x00, }; const unsigned char mask_arbre1[]={ 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x07,0x80,0x00, 0x00,0x0f,0xfc,0x00, 0x00,0x1f,0xfc,0x00, 0x03,0x7f,0xfb,0x80, 0x07,0xff,0xff,0xc0, 0x07,0xff,0xff,0xc0, 0x07,0xff,0xff,0xe0, 0x0f,0xff,0xff,0xf0, 0x1f,0xff,0xff,0xf8, 0x1f,0xff,0xff,0xfc, 0x3f,0xff,0xff,0xfc, 0x7f,0xff,0xff,0xfe, 0x7f,0xff,0xff,0xfe, 0x7f,0xff,0xff,0xfc, 0xff,0xff,0xff,0xfc, 0xff,0xff,0xff,0xfe, 0xff,0xff,0xff,0xfe, 0xff,0xff,0xff,0xfe, 0xff,0xff,0xff,0xfe, 0xff,0xff,0xff,0xfe, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0x7f,0xff,0xff,0xfe, 0x7f,0xff,0xff,0xff, 0x1f,0xff,0xff,0xff, 0x7f,0xff,0xff,0xff, 0x7f,0xff,0xff,0xff, 0x7f,0xff,0xff,0xff, 0x7f,0xff,0xff,0xfe, 0x7f,0xff,0xff,0xf8, 0x7f,0xff,0xff,0xfc, 0x77,0xff,0xff,0xfc, 0x07,0xff,0xff,0xf8, 0x00,0x8f,0xff,0x80, 0x00,0x07,0xf1,0x00, 0x00,0x07,0xf0,0x80, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x07,0xf0,0x00, 0x00,0x0f,0xf8,0x00, 0x00,0x31,0xc4,0x00, 0x00,0x02,0x20,0x00, }; */ // Personnages const unsigned char sprite_forgeron[]={ 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x07,0xc0,0x00, 0x00,0x18,0x30,0x00, 0x00,0x20,0x08,0x00, 0x00,0x2f,0xe8,0x00, 0x00,0x24,0x48,0x00, 0x00,0x25,0x48,0x00, 0x00,0x21,0x08,0x00, 0x00,0x20,0x08,0x00, 0x00,0x23,0x88,0x00, 0x00,0x30,0x18,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x1f,0xf0,0x00, 0x03,0xff,0xff,0xc0, 0x04,0x6f,0xe6,0x20, 0x08,0x63,0x86,0x10, 0x08,0x50,0x09,0x10, 0x08,0x90,0x09,0x10, 0x08,0x8f,0xf1,0x10, 0x08,0x80,0x03,0x90, 0x08,0xe1,0xfe,0x50, 0x08,0xfe,0x02,0x50, 0x08,0x80,0x03,0xd0, 0x08,0x01,0xfe,0x10, 0x08,0x0f,0xf0,0x10, 0x07,0xf0,0x0f,0xe0, 0x01,0x00,0x00,0x80, 0x01,0x00,0x00,0x80, 0x01,0x00,0x00,0x80, 0x01,0x00,0x00,0x80, 0x01,0x00,0x70,0x80, 0x01,0x00,0x70,0x80, 0x01,0x00,0x24,0x80, 0x01,0x10,0x28,0x80, 0x01,0x0f,0xf0,0x80, 0x02,0x00,0x00,0x40, 0x02,0x00,0x00,0x40, 0x02,0x00,0x10,0x40, 0x02,0x0c,0x60,0x40, 0x02,0x00,0x00,0x40, 0x03,0xff,0xff,0xc0, 0x00,0x42,0x42,0x00, 0x00,0x5a,0x5a,0x00, 0x00,0x42,0x42,0x00, 0x00,0x42,0x42,0x00, 0x00,0x42,0x42,0x00, 0x00,0x42,0x42,0x00, 0x00,0x42,0x42,0x00, 0x00,0x42,0x42,0x00, 0x00,0x42,0x42,0x00, 0x00,0x42,0x42,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x42,0x42,0x00, 0x00,0x5a,0x5a,0x00, 0x00,0x66,0x66,0x00, 0x00,0x66,0x66,0x00, 0x00,0x7e,0x7e,0x00, }; const unsigned char mask_forgeron[]={ 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x07,0xc0,0x00, 0x00,0x1f,0xf0,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x3f,0xf8,0x00, 0x00,0x1f,0xf0,0x00, 0x03,0xff,0xff,0xc0, 0x07,0xff,0xff,0xe0, 0x0f,0xff,0xff,0xf0, 0x0f,0xff,0xff,0xf0, 0x0f,0xff,0xff,0xf0, 0x0f,0xff,0xff,0xf0, 0x0f,0xff,0xff,0xf0, 0x0f,0xff,0xff,0xf0, 0x0f,0xff,0xff,0xf0, 0x0f,0xff,0xff,0xf0, 0x0f,0xff,0xff,0xf0, 0x0f,0xff,0xff,0xf0, 0x07,0xff,0xff,0xe0, 0x01,0xff,0xff,0x80, 0x01,0xff,0xff,0x80, 0x01,0xff,0xff,0x80, 0x01,0xff,0xff,0x80, 0x01,0xff,0xff,0x80, 0x01,0xff,0xff,0x80, 0x01,0xff,0xff,0x80, 0x01,0xff,0xff,0x80, 0x01,0xff,0xff,0x80, 0x03,0xff,0xff,0xc0, 0x03,0xff,0xff,0xc0, 0x03,0xff,0xff,0xc0, 0x03,0xff,0xff,0xc0, 0x03,0xff,0xff,0xc0, 0x03,0xff,0xff,0xc0, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, 0x00,0x7e,0x7e,0x00, }; // TEXTURE Texture tex_white = {}; Texture tex_light = {}; Texture tex_dark = {}; Texture tex_black = {}; const Texture tex_brique_base = {sprite_brique_base, NULL, 32, 32, 30, 30, 0.5, false, false}; const Texture tex_brique = {sprite_brique, NULL, 32, 32, 30, 30, 0.5, false, false}; const Texture tex_toit_tuile = {sprite_toit_tuile, NULL, 32, 32, 15, 15, 0.5, false, false}; const Texture tex_paille = {sprite_paille, NULL, 16, 16, 10, 10, 0, false, false}; const Texture tex_paille_dessus = {sprite_paille_dessus, NULL, 16, 16, 10, 10, 0, false, false}; const Texture tex_mur_moulin = {sprite_planche_bois, NULL, 32, 32, 25, 25, 0.5, false, false}; const Texture tex_pale_moulin = {sprite_pale_moulin, NULL, 16, 64, 0, 0, 0.5, false, false}; const Texture tex_fenetre_simple = {sprite_fenetre_simple, NULL, 16, 16, 0, 0, 0, false, true}; const Texture tex_porte_simple = {sprite_porte_simple, NULL, 16, 32, 0, 0, 0, false, true}; const Texture tex_porte_entrepot = {sprite_planche_bois, NULL, 32, 32, 25, 25, 0, false, true}; const Texture tex_pierre_eglise = {sprite_pierre_eglise, NULL, 32, 16, 0, 15, 0, false, false}; const Texture tex_pierre_eglise2 = {sprite_pierre_eglise2, NULL, 32, 16, 0, 15, 0, false, false}; const Texture tex_horloge = {sprite_horloge, NULL, 32, 32, 0, 0, 0, false, true, false}; const Texture tex_porte_eglise = {sprite_porte_eglise, NULL, 32, 64, 0, 0, 0, false, true}; const Texture tex_planche_bois = {sprite_planche_bois, NULL, 32, 32, 15, 15, 0.5, false, false}; const Texture tex_haie = {sprite_haie, NULL, 16, 8, 20, 0, 0, true}; const Texture tex_epouvantail = {sprite_epouvantail, sprite_epouvantail_masque, 16, 32, 0, 0, 0, false}; const Texture tex_herbe = {sprite_herbe, NULL, 16, 8, 7, 0, 0, true}; const Texture tex_panneau = {sprite_panneau, NULL, 16, 16, 0, 0, 0, false, true}; const Texture tex_forgeron = {sprite_forgeron, mask_forgeron, 32, 64, 0, 0}; const Texture tex_mur_int_maison = {sprite_mur_int_maison, NULL, 16, 32, 15, 0}; const Texture tex_planche = {sprite_planche, NULL, 32, 16, 0, 0}; // MODELES #define L1 20 // longueur extension X #define W1 15 // largueur extension Y #define H1 30 // hauteur mur Z #define HT1 45 // hauteur toit nef Z #define D 5 // decalage toit XY #define L2 80 // longueur tour X #define W2 20 // largeur tour X #define H2 70 // hauteur mur tour Z #define HT2 90 // hauteur toit tour Z #define L3 (L1+(L2-L1)/2) // milieu toit tour X const Modele modele_moulin[] = { // les murs extension {RECTANGLE, &tex_white, NULL, L1,W1,0, -L1,W1,0, L1,W1,H1}, {RECTANGLE, &tex_brique, NULL, -L1,W1,0, -L1,-W1,0, -L1,W1,H1}, {RECTANGLE, &tex_white, NULL, -L1,-W1,0, L1,-W1,0, -L1,-W1,H1}, // la tour {RECTANGLE, &tex_mur_moulin, NULL, L2,-W2,0, L2,W2,0, L2,-W2,H2}, {RECTANGLE, &tex_mur_moulin, NULL, L2,W2,0, L1,W2,0, L2,W2,H2}, {RECTANGLE, &tex_mur_moulin, NULL, L1,W2,0, L1,-W2,0, L1,W2,H2}, {RECTANGLE, &tex_mur_moulin, NULL, L1,-W2,0, L2,-W2,0, L1,-W2,H2}, // prolongement mur nef jusqu au toit {TRIANGLE, &tex_brique, NULL, -L1,W1,H1, -L1,-W1,H1, -L1,0,HT1}, // le toit de l extension {RECTANGLE, &tex_paille, &tex_black, L1,W1+D,H1-3, -L1-D,W1+D,H1-3, L1,0,HT1}, {RECTANGLE, &tex_paille, &tex_black, -L1-D,-W1-D,H1-3, L1,-W1-D,H1-3, -L1-D,0,HT1}, // prolongement mur nef jusqu au toit {TRIANGLE, &tex_mur_moulin, NULL, L2,W2,H2, L1,W2,H2, L3,W2,HT2}, {TRIANGLE, &tex_mur_moulin, NULL, L1,-W2,H2, L2,-W2,H2, L3,-W2,HT2}, // le toit de la tour {RECTANGLE, &tex_toit_tuile, NULL, L2,-W2,H2, L2,W2,H2, L3,-W2,HT2}, {RECTANGLE, &tex_toit_tuile, NULL, L1,W2,H2, L1,-W2,H2, L3,W2,HT2}, }; #define A 3 // angle pale const Modele modele_pale[] = { {TRIANGLE, &tex_pale_moulin, &tex_pale_moulin, -21,-A,56, 21,A,56, 0,0,0}, {TRIANGLE, &tex_pale_moulin, &tex_pale_moulin, 47,-A,36, 60,A,-2, 0,0,0}, {TRIANGLE, &tex_pale_moulin, &tex_pale_moulin, 50,-A,-34, 17,A,-58, 0,0,0}, {TRIANGLE, &tex_pale_moulin, &tex_pale_moulin, -17,-A,-58, -50,A,-34, 0,0,0}, {TRIANGLE, &tex_pale_moulin, &tex_pale_moulin, -60,-A,-2, -47,A,37, 0,0,0}, }; #define L 40 // longueur X #define W 20 // largueur Y #define H 30 // hauteur mur Z #define HT 55 // hauteur toit Z #define D 5 // decalage toit XY #define F1 10 // position X fenetre #define F2 10 // position X fenetre #define P -20 // position X fporte const Modele modele_chaumiere[] = { // les murs {RECTANGLE, &tex_brique_base, NULL, L,-W,0, L,W,0, L,-W,H}, {RECTANGLE, &tex_white, NULL, L,W,0, -L,W,0, L,W,H}, {RECTANGLE, &tex_brique_base, NULL, -L,W,0, -L,-W,0, -L,W,H}, {RECTANGLE, &tex_white, NULL, -L,-W,0, L,-W,0, -L,-W,H}, // prolongement mur jusqu au toit {TRIANGLE, &tex_brique, NULL, L,-W,H, L,W,H, L,0,HT}, {TRIANGLE, &tex_brique, NULL, -L,W,H, -L,-W,H, -L,0,HT}, // le toit {RECTANGLE, &tex_paille, &tex_black, L+D,W+D,H-3, -L-D,W+D,H-3, L+D,0,HT}, {RECTANGLE, &tex_paille, &tex_black, -L-D,-W-D,H-3, L+D,-W-D,H-3, -L-D,0,HT}, // fenetre {RECTANGLE, &tex_fenetre_simple, NULL, F1,W,8, F1-9,W,8, F1,W,25}, {RECTANGLE, &tex_fenetre_simple, NULL, F2,-W,8, F2+9,-W,8, F2,-W,25}, // porte {RECTANGLE, &tex_porte_simple, NULL, P,W,0, P-12,W,0, P,W,25}, }; #define L 80 // longueur X #define W 30 // largueur Y #define H 35 // hauteur mur Z #define HT 55 // hauteur toit Z #define P -20 // position X fporte const Modele modele_entrepot[] = { // les murs {RECTANGLE, &tex_brique, NULL, L,-W,0, L,W,0, L,-W,H}, {RECTANGLE, &tex_white, NULL, L,W,0, -L,W,0, L,W,HT}, {RECTANGLE, &tex_brique, NULL, -L,W,0, -L,-W,0, -L,W,H}, {RECTANGLE, &tex_white, NULL, -L,-W,0, L,-W,0, -L,-W,H}, // prolongement mur jusqu au toit {TRIANGLE, &tex_white, NULL, L,-W,H, L,W,H, L,W,HT}, {TRIANGLE, &tex_white, NULL, -L,W,H, -L,-W,H, -L,W,HT}, // le toit {RECTANGLE, &tex_paille, &tex_black, -L-D,-W-D,H-3, L+D,-W-D,H-3, -L-D,W+D,HT}, // porte {RECTANGLE, &tex_planche_bois, NULL, P,W+2,0, P-35,W+2,0, P,W+1,40}, // glissiere {RECTANGLE, &tex_black, NULL, P+35,W+2,0, P-40,W+2,0, P+35,W+1,1}, {RECTANGLE, &tex_black, NULL, P+35,W+2,40, P-40,W+2,40, P+35,W+1,41}, }; #define LN 50 // longueur nef X #define WN 22 // largueur nef Y #define HN 60 // hauteur mur nef Z #define HNT 80 // hauteur toit nef Z #define D 5 // decalage toit XY #define LT 90 // longueur tour X #define WT 28 // largeur tour X #define HT 100 // hauteur mur tour Z #define HH 70 // hauteur horloge Z #define HC 120 // hauteur clocher Z #define HCT 150 // hauteur clocher max Z const Modele modele_eglise[] = { // les murs nefs {RECTANGLE, &tex_white, NULL, LN,WN,0, -LN,WN,0, LN,WN,HN}, {RECTANGLE, &tex_brique, NULL, -LN,WN,0, -LN,-WN,0, -LN,WN,HN}, {RECTANGLE, &tex_white, NULL, -LN,-WN,0, LN,-WN,0, -LN,-WN,HN}, // la tour {RECTANGLE, &tex_pierre_eglise, NULL, LT,-WT,0, LT,WT,0, LT,-WT,HT}, {RECTANGLE, &tex_pierre_eglise, NULL, LT,WT,0, LN,WT,0, LT,WT,HT}, {RECTANGLE, &tex_pierre_eglise, NULL, LN,WT,0, LN,-WT,0, LN,WT,HT}, {RECTANGLE, &tex_pierre_eglise, NULL, LN,-WT,0, LT,-WT,0, LN,-WT,HT}, // prolongement mur nef jusqu au toit {TRIANGLE, &tex_brique, NULL, -LN,WN,HN, -LN,-WN,HN, -LN,0,HNT}, // le toit de la nef {RECTANGLE, &tex_toit_tuile, &tex_black, LN,WN+D,HN-3, -LN-D,WN+D,HN-3, LN,0,HNT}, {RECTANGLE, &tex_toit_tuile, &tex_black, -LN-D,-WN-D,HN-3, LN,-WN-D,HN-3, -LN-D,0,HNT}, // horloge {RECTANGLE, &tex_horloge, NULL, LT,-10,HH, LT,10,HH, LT,-10,HH+20}, // porte {RECTANGLE, &tex_porte_eglise, NULL, LT,-15,0, LT,15,0, LT,-15,60}, // clocher {TRIANGLE, &tex_toit_tuile, NULL, LT,-WT,HT, LT,WT,HT, 70,0,HCT}, {TRIANGLE, &tex_toit_tuile, NULL, LT,WT,HT, LN,WT,HT, 70,0,HCT}, {TRIANGLE, &tex_toit_tuile, NULL, LN,WT,HT, LN,-WT,HT, 70,0,HCT}, {TRIANGLE, &tex_toit_tuile, NULL, LN,-WT,HT, LT,-WT,HT, 70,0,HCT}, }; #define L 30// longueur X #define H 10// hauteur Z const Modele modele_haie1[] = { {RECTANGLE, &tex_haie, &tex_haie, -L,0,0, L,0,0, -L,0,H} }; #define L 50// longueur X #define H 10// hauteur Z const Modele modele_haie2[] = { {RECTANGLE, &tex_haie, &tex_haie, -L,0,0, L,0,0, -L,0,H} }; #define L 10// longueur X #define H 19// hauteur Z const Modele modele_epouventail1[] = { {RECTANGLE, &tex_epouvantail, &tex_epouvantail, -L,0,0, L,0,0, -L,0,H} }; #define L 60// longueur X #define H 9// hauteur Z const Modele modele_herbe1[] = { {RECTANGLE, &tex_herbe, &tex_herbe, -L,0,0, L,0,0, -L,0,H} }; #define L 60// longueur X #define H 9// hauteur Z const Modele modele_herbe2[] = { {RECTANGLE, &tex_herbe, &tex_herbe, -L,0,0, L,0,0, -L,0,H} }; #define L 4// longueur X #define H1 13// hauteur Z #define H2 18// hauteur Z const Modele modele_panneau1[] = { {RECTANGLE, &tex_panneau, &tex_panneau, -L,0,H1, L,0,H1, -L,0,H2}, {RECTANGLE, &tex_black, &tex_black, -L-1,0,0, -L,0,0, -L-1,0,H2}, {RECTANGLE, &tex_black, &tex_black, L,0,0, L+1,0,0, L,0,H2} }; #define L 7 // longueur X #define W 7 // largueur Y #define H 14 // hauteur Z const Modele modele_botte_paille[] = { // les cotes {RECTANGLE, &tex_paille, NULL, L,-W,0, L,W,0, L,-W,H}, {RECTANGLE, &tex_paille, NULL, L,W,0, -L,W,0, L,W,H}, {RECTANGLE, &tex_paille, NULL, -L,W,0, -L,-W,0, -L,W,H}, {RECTANGLE, &tex_paille, NULL, -L,-W,0, L,-W,0, -L,-W,H}, // dessus {RECTANGLE, &tex_paille_dessus, NULL, -L,-W,H, L,-W,H, -L,W,H}, }; #define L 50 // longueur X #define W 25 // largueur Y #define H 25 // hauteur Z const Modele modele_murs_maison_forgeron[] = { // les cotes {RECTANGLE, NULL, &tex_mur_int_maison, L,-W,0, L,W,0, L,-W,H}, {RECTANGLE, NULL, &tex_mur_int_maison, L,W,0, -L,W,0, L,W,H}, {RECTANGLE, NULL, &tex_mur_int_maison, -L,W,0, -L,-W,0, -L,W,H}, {RECTANGLE, NULL, &tex_mur_int_maison, -L,-W,0, L,-W,0, -L,-W,H}, //plafond {RECTANGLE, NULL, &tex_black, -L,-W,H, L,-W,H, -L,W,H}, }; #define L 10 // longueur X #define W 4 // largueur Y #define H 7 // hauteur Z #define D 1 // decalage pied #define E 1 // epaisseur pied const Modele modele_table[] = { // planche {RECTANGLE, &tex_planche, &tex_black, -L,-W,H, L,-W,H, -L,W,H}, // pieds {RECTANGLE, &tex_black, &tex_black, -L+D,-W+D,0, -L+D+E,-W+D+E,0, -L+D,-W+D,H-1}, {RECTANGLE, &tex_black, &tex_black, L-D,-W+D,0, L-D-E,-W+D+E,0, L-D,-W+D,H-1}, {RECTANGLE, &tex_black, &tex_black, -L+D,W-D,0, -L+D+E,W-D-E,0, -L+D,W-D,H-1}, {RECTANGLE, &tex_black, &tex_black, L-D,W-D,0, L-D-E,W-D-E,0, L-D,W-D,H-1}, }; #define W 7 // largueur Y #define H 20 // hauteur Z const Modele modele_forgeron[] = { {RECTANGLE, &tex_forgeron, NULL, 0,-W,0, 0,W,0, 0,-W,H}, }; // MAP // ECRAN TITRE Object moulin_menu = {0,0,0, 0,N, modele_moulin,14, NONE}; Object pale_menu = {50,27,70, 0,Y, modele_pale,5, NONE}; Object* list_menu[] = { &moulin_menu, &pale_menu }; Map map_menu = {list_menu, 2, true, true}; // VILLAGE Object chaumiere1 = {-36,62,0, 0,N, modele_chaumiere,11, ALL}; Object chaumiere2 = {-153,194,0, 251,Z, modele_chaumiere,11, ALL}; Object chaumiere3 = {0,257,0, 143,Z, modele_chaumiere,11, ALL}; Object entrepot = {319,-57,0, 80,Z, modele_entrepot,10, ALL}; Object eglise1 = {153,253,0, -102,Z, modele_eglise,16, ALL}; Object moulin1 = {21,-211,0, 0,N, modele_moulin,14, ALL}; Object pale_moulin1 = {72,-183,70, 0,Y, modele_pale,5, NONE}; Object haie1 = {0,-102,0, -5,Z, modele_haie1,1, ALL}; Object haie2 = {-63,-105,0, 9,Z, modele_haie1,1, ALL}; Object haie3 = {-132,-144,0, 46,Z, modele_haie2,1, ALL}; Object haie4 = {144,-135,0, -14,Z, modele_haie2,1, ALL}; Object haie5 = {-117,-264,0, -30,Z, modele_haie2,1, ALL}; Object epouvantail1 = {-93,-210,0, -28,Z, modele_epouventail1,1, ALL}; Object herbe1 = {-130,-200,0, 90,Z, modele_herbe1,1, NONE}; Object herbe2 = {-109,-200,0, 90,Z, modele_herbe1,1, NONE}; Object herbe3 = {-82,-191,0, 90,Z, modele_herbe1,1, NONE}; Object herbe4 = {-61,-185,0, 90,Z, modele_herbe1,1, NONE}; Object herbe5 = {-37,-179,0, 90,Z, modele_herbe1,1, NONE}; Object herbe6 = {235,119,0, 131,Z, modele_herbe1,1, NONE}; Object herbe7 = {292,51,0, 94,Z, modele_herbe1,1, NONE}; Object panneau1 = {91,-117,0, 0,N, modele_panneau1,3, ALL}; Object botte_paille1 = {269,42,0, 0,N, modele_botte_paille,5, ALL}; Object botte_paille2 = {269,21,0, 0,N, modele_botte_paille,5, ALL}; Object botte_paille3 = {272,30,14, 0,N, modele_botte_paille,5, ALL}; Object* list_village[] = { &chaumiere1, &chaumiere2, &chaumiere3, &entrepot, &eglise1, &moulin1, &pale_moulin1, &haie1, &haie2, &haie3, &haie4, &haie5, &epouvantail1, &herbe1, &herbe2, &herbe3, &herbe4, &herbe5, &herbe6, &herbe7, &panneau1, &botte_paille1, &botte_paille2, &botte_paille3 }; Map map_village = {list_village, 24, true, true}; // CHEZ LE FORGERON Object murs_maison_forgeron1 = {0,0,0, 0,N, modele_murs_maison_forgeron,5, INSIDE}; Object table1 = {18,17,0, 0,N, modele_table,5, ALL}; Object table2 = {-23,-7,0, 99,Z, modele_table,5, ALL}; Object forgeron1 = {-34,-8,0, 0,Z_BILLBOARD, modele_forgeron,1, ALL}; Object* liste_interieur_forgeron[] = { &murs_maison_forgeron1, &table1, &table2, &forgeron1 }; Map map_interieur_forgeron = {liste_interieur_forgeron, 4, false, false}; // EXEMPLE const Texture tex_exemple = {sprite_exemple, NULL, 32, 32, 0, 0, 1, false, false, false}; //const Texture tex_exemple_mask = {sprite_forgeron, mask_forgeron, 32, 64, 0, 0, 1, false, false, false}; #define L 50 // longueur X #define W 25 // largueur Y #define W2 12 // largeur divise par deux #define H 30 // hauteur mur Z #define HT 40 // hauteur toit #define F 20 // fenetre const Modele modele_maison[] = { // les murs {RECTANGLE, &tex_white, NULL, 0,0,0, L,0,0, 0,0,H}, {RECTANGLE, &tex_brique_base, NULL, L,0,0, L,W,0, L,0,H}, {RECTANGLE, &tex_white, NULL, L,W,0, 0,W,0, L,W,H}, {RECTANGLE, &tex_brique_base, NULL, 0,W,0, 0,0,0, 0,W,H}, // prolongement mur jusqu au toit {TRIANGLE, &tex_brique, NULL, L,0,H, L,W,H, L,W2,HT}, {TRIANGLE, &tex_brique, NULL, 0,W,H, 0,0,H, 0,W2,HT}, // le toit {RECTANGLE, &tex_paille, NULL, L,W,H, 0,W,H, L,W2,HT}, {RECTANGLE, &tex_paille, NULL, 0,0,H, L,0,H, 0,W2,HT}, // fenetre {RECTANGLE, &tex_fenetre_simple, NULL, F,0,7, F+9,0,7, F,0,25}, {RECTANGLE, &tex_fenetre_simple, NULL, F,W,7, F-9,W,7, F,W,25}, }; Object maison1 = { 33,-50, 0, 0, N, modele_maison, 10, ALL}; Object maison2 = {100, 12, 0, 90, Z, modele_maison, 10, ALL}; Object* liste_exemple[] = { &maison1, &maison2 }; Map map_exemple = {liste_exemple, 2, true, true};