dipl/code/textadv/src/structures.c
Tyrolyean 9879f2f409
COmmit before merge
Signed-off-by: Tyrolyean <tyrolyean@tyrolyean.net>
2020-03-17 16:31:31 +01:00

412 lines
9.3 KiB
C

/* Copyright © 2020 tyrolyean
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "structures.h"
const uint8_t sine_table[256] PROGMEM = {
0x7f,0x82,0x85,0x88,
0x8c,0x8f,0x92,0x95,
0x98,0x9b,0x9e,0xa1,
0xa4,0xa7,0xaa,0xad,
0xb0,0xb3,0xb6,0xb9,
0xbb,0xbe,0xc1,0xc3,
0xc6,0xc9,0xcb,0xce,
0xd0,0xd3,0xd5,0xd7,
0xd9,0xdc,0xde,0xe0,
0xe2,0xe4,0xe6,0xe8,
0xe9,0xeb,0xed,0xee,
0xf0,0xf1,0xf2,0xf4,
0xf5,0xf6,0xf7,0xf8,
0xf9,0xfa,0xfb,0xfc,
0xfc,0xfd,0xfd,0xfe,
0xfe,0xfe,0xfe,0xfe,
0xfe,0xfe,0xfe,0xfe,
0xfe,0xfd,0xfd,0xfc,
0xfc,0xfb,0xfa,0xfa,
0xf9,0xf8,0xf7,0xf6,
0xf4,0xf3,0xf2,0xf0,
0xef,0xed,0xec,0xea,
0xe8,0xe7,0xe5,0xe3,
0xe1,0xdf,0xdd,0xdb,
0xd8,0xd6,0xd4,0xd1,
0xcf,0xcc,0xca,0xc7,
0xc5,0xc2,0xbf,0xbd,
0xba,0xb7,0xb4,0xb1,
0xaf,0xac,0xa9,0xa6,
0xa3,0xa0,0x9d,0x9a,
0x96,0x93,0x90,0x8d,
0x8a,0x87,0x84,0x81,
0x7d,0x7a,0x77,0x74,
0x71,0x6e,0x6b,0x68,
0x64,0x61,0x5e,0x5b,
0x58,0x55,0x52,0x4f,
0x4d,0x4a,0x47,0x44,
0x41,0x3f,0x3c,0x39,
0x37,0x34,0x32,0x2f,
0x2d,0x2a,0x28,0x26,
0x23,0x21,0x1f,0x1d,
0x1b,0x19,0x17,0x16,
0x14,0x12,0x11,0xf,
0xe,0xc,0xb,0xa,
0x8,0x7,0x6,0x5,
0x4,0x4,0x3,0x2,
0x2,0x1,0x1,0x0,
0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,
0x0,0x1,0x1,0x2,
0x2,0x3,0x4,0x5,
0x6,0x7,0x8,0x9,
0xa,0xc,0xd,0xe,
0x10,0x11,0x13,0x15,
0x16,0x18,0x1a,0x1c,
0x1e,0x20,0x22,0x25,
0x27,0x29,0x2b,0x2e,
0x30,0x33,0x35,0x38,
0x3b,0x3d,0x40,0x43,
0x45,0x48,0x4b,0x4e,
0x51,0x54,0x57,0x5a,
0x5d,0x60,0x63,0x66,
0x69,0x6c,0x6f,0x72,
0x76,0x79,0x7c,0x7f,
};
const uint8_t noise_table[1024] PROGMEM = {
0x30, 0xc, 0x3, 0xdf,
0x31, 0xfa, 0x2b, 0x78,
0xd5, 0xd8, 0x6c, 0x29,
0x45, 0xa1, 0x2, 0x69,
0x69, 0x91, 0x8d, 0x65,
0x71, 0xb8, 0x43, 0xde,
0xf2, 0xf6, 0x78, 0x6e,
0x1d, 0xbf, 0x34, 0x4e,
0xcb, 0x38, 0x2e, 0xfd,
0x32, 0x59, 0x75, 0x7,
0x32, 0xe2, 0x31, 0x77,
0x84, 0x33, 0xe1, 0xed,
0xc5, 0x6e, 0x52, 0x36,
0x27, 0x96, 0x15, 0x19,
0x8d, 0x8d, 0x88, 0xab,
0x4d, 0xbc, 0xf9, 0x18,
0xf5, 0x27, 0x16, 0x27,
0x81, 0x8c, 0x2f, 0xb4,
0x6e, 0x60, 0x2b, 0xf2,
0x94, 0xc, 0xe0, 0x59,
0x7b, 0x33, 0x8f, 0xa3,
0xc9, 0xa4, 0xbd, 0x57,
0x32, 0x45, 0x2, 0x7f,
0x2, 0xfb, 0x98, 0xf7,
0x23, 0xae, 0x1e, 0xa5,
0x3a, 0x4d, 0x59, 0xa9,
0xae, 0x84, 0x9b, 0x42,
0x91, 0x7c, 0x9b, 0xc,
0xb0, 0x2b, 0xb0, 0x7a,
0xcf, 0x6d, 0xd1, 0x2,
0xb2, 0xd3, 0x81, 0xb4,
0xce, 0x19, 0xac, 0xf2,
0xc7, 0xcb, 0x97, 0x2,
0x18, 0xf0, 0xab, 0xc7,
0x74, 0x47, 0x9, 0x6,
0xc4, 0xa5, 0x13, 0x74,
0xd0, 0xc3, 0xee, 0xa0,
0x30, 0xbf, 0xa2, 0xe2,
0x92, 0x24, 0x97, 0x61,
0x3d, 0x44, 0x53, 0x5,
0xf, 0xea, 0x7, 0x28,
0xda, 0xb3, 0xef, 0x4f,
0xfa, 0xf9, 0x55, 0xbe,
0x9f, 0x68, 0x33, 0x6f,
0x2b, 0x21, 0x10, 0x5c,
0xe0, 0xb2, 0x3f, 0x73,
0xd6, 0xd7, 0xd4, 0x14,
0x1b, 0x27, 0x1a, 0x2a,
0x12, 0x21, 0x53, 0xec,
0xd5, 0x42, 0x3c, 0xcf,
0x3c, 0x91, 0x8e, 0xdb,
0xfa, 0xc2, 0x4b, 0x26,
0xe3, 0x5b, 0x82, 0xc4,
0xe, 0xc1, 0x37, 0xe5,
0x98, 0xb, 0xfa, 0xb4,
0x33, 0x14, 0xde, 0x45,
0x36, 0x31, 0x32, 0xb,
0x74, 0x6e, 0xdb, 0xb1,
0x0, 0x6a, 0x8c, 0xfa,
0x2c, 0xd7, 0x21, 0xf,
0x33, 0xa3, 0xd3, 0x42,
0x65, 0xa, 0x27, 0xfe,
0x16, 0x21, 0xb2, 0x49,
0x35, 0x91, 0x8e, 0x6b,
0xc3, 0xc0, 0x77, 0x38,
0x2e, 0x52, 0xe9, 0x2f,
0xbc, 0x76, 0x29, 0xe8,
0x4d, 0x4b, 0xf7, 0x81,
0xef, 0xcb, 0xc3, 0x54,
0xd5, 0xeb, 0x53, 0xec,
0xd, 0x6, 0x35, 0x43,
0x98, 0xc3, 0xaf, 0x5b,
0x84, 0x26, 0x94, 0xb3,
0x78, 0x7d, 0xe2, 0x35,
0xf3, 0xc, 0x1d, 0x41,
0x57, 0x15, 0xc3, 0x46,
0xe0, 0x87, 0x9b, 0xb6,
0x72, 0xee, 0xa3, 0x7f,
0xf5, 0xd8, 0xc2, 0x8d,
0x9c, 0x72, 0xe9, 0x20,
0x98, 0x7d, 0xd3, 0x11,
0xfb, 0xb5, 0x46, 0xef,
0xc1, 0x64, 0x31, 0x19,
0x79, 0xf4, 0x5f, 0x5a,
0x7b, 0xfa, 0x11, 0xee,
0xe9, 0xb4, 0x6e, 0xde,
0x8c, 0x31, 0x6c, 0x29,
0xa3, 0x55, 0x49, 0x3b,
0xd3, 0x1c, 0x4d, 0xce,
0xd2, 0x93, 0xbe, 0x94,
0xf7, 0xef, 0xad, 0x71,
0xe4, 0xd, 0xcc, 0x60,
0x8, 0xdd, 0x4e, 0xf1,
0x92, 0xbc, 0xd0, 0x1f,
0xed, 0x3c, 0x48, 0x90,
0x92, 0x91, 0xcc, 0x65,
0xae, 0x19, 0x34, 0x81,
0xad, 0xf2, 0x15, 0xa5,
0xe2, 0xc3, 0x17, 0xc6,
0xd0, 0xe3, 0x27, 0xd8,
0xc1, 0x75, 0xca, 0x53,
0x32, 0x9b, 0x72, 0x1f,
0xd8, 0xbb, 0xb0, 0x6a,
0x4d, 0x7d, 0xd0, 0xfb,
0x97, 0x4, 0x7d, 0x45,
0xf7, 0x93, 0xea, 0xd9,
0x56, 0x1, 0xa0, 0x27,
0xe4, 0xc7, 0x0, 0xa5,
0x3d, 0xcb, 0xf9, 0x6f,
0x66, 0x6c, 0x8f, 0x3f,
0x27, 0x40, 0xa9, 0x74,
0xbe, 0x7a, 0x70, 0x55,
0x7f, 0xee, 0x9a, 0x76,
0x81, 0x85, 0x50, 0xd7,
0x87, 0xf1, 0xff, 0x6b,
0xb9, 0xff, 0x11, 0xf7,
0xca, 0xb, 0x67, 0x31,
0x77, 0xf7, 0x70, 0x9f,
0x37, 0x1a, 0x14, 0xf6,
0x94, 0x85, 0x4b, 0x13,
0x73, 0xe6, 0x8a, 0xf4,
0x6c, 0xdb, 0xcb, 0xf3,
0xcc, 0xcb, 0x5f, 0x86,
0xca, 0x71, 0x7d, 0x95,
0x7c, 0xe4, 0xc6, 0xf4,
0xdc, 0x36, 0x93, 0x13,
0x50, 0xa7, 0xa, 0xe5,
0x2d, 0x55, 0xf9, 0xa0,
0x3c, 0x83, 0x94, 0xa9,
0x5f, 0x60, 0x9c, 0x2b,
0x2b, 0xfc, 0xb2, 0xf6,
0x6d, 0x30, 0x8b, 0xe9,
0x14, 0x51, 0xde, 0xf0,
0x88, 0x71, 0x4, 0xd8,
0x19, 0xe, 0xbe, 0x46,
0x64, 0xb7, 0xe6, 0xa1,
0x3b, 0x7b, 0x4a, 0x9a,
0xdb, 0xe7, 0xc6, 0x7,
0xe3, 0x78, 0xfd, 0x51,
0xa8, 0x88, 0x3b, 0xbd,
0xda, 0x19, 0xae, 0x62,
0x8a, 0xb3, 0x3a, 0xa4,
0xc2, 0xf9, 0xeb, 0x26,
0xb0, 0xd2, 0xc8, 0xec,
0x4d, 0x13, 0x86, 0x29,
0xfa, 0x4d, 0x30, 0xde,
0xc6, 0x2e, 0x2f, 0x6f,
0xb6, 0x6a, 0x2d, 0x90,
0x83, 0xdb, 0xf2, 0xe,
0x8f, 0x2d, 0xb3, 0x51,
0x27, 0x9e, 0x78, 0xd8,
0x71, 0x40, 0xc4, 0xbe,
0x54, 0x4b, 0xe8, 0x4e,
0x98, 0x18, 0x2d, 0x5f,
0x46, 0x5d, 0xce, 0xfd,
0xc7, 0xfb, 0x8e, 0x4b,
0xd7, 0x81, 0x5a, 0x66,
0xaf, 0xe, 0xb7, 0xd6,
0xac, 0x2f, 0xae, 0x1d,
0x70, 0x72, 0xdc, 0xc4,
0xbd, 0xc4, 0x13, 0x56,
0xdd, 0x40, 0xb6, 0x24,
0x9d, 0x84, 0x21, 0x65,
0x80, 0xb0, 0xb1, 0x57,
0x31, 0xb, 0xbd, 0xe0,
0x19, 0x75, 0xb6, 0xc6,
0xa5, 0x64, 0xe4, 0x15,
0xd7, 0xc1, 0xda, 0x95,
0x85, 0xed, 0xec, 0x63,
0x2e, 0xa2, 0x87, 0xcc,
0x26, 0xa9, 0x32, 0xa6,
0x59, 0xe3, 0xfd, 0x8a,
0xef, 0xbb, 0x6b, 0x9,
0x30, 0x21, 0xcf, 0xd5,
0x86, 0xb4, 0xeb, 0x5d,
0x75, 0xc5, 0xf3, 0xfb,
0xb3, 0xdf, 0x5e, 0xe2,
0x81, 0xe6, 0xaf, 0xa7,
0x8f, 0xe1, 0x4e, 0xe8,
0xc5, 0x4c, 0x73, 0xb4,
0x7, 0xdf, 0xbe, 0x38,
0x1, 0x8e, 0xd, 0x87,
0x42, 0xf8, 0xe5, 0xb8,
0xbe, 0xd8, 0xb4, 0x72,
0xb7, 0x12, 0x54, 0x39,
0xf9, 0x4, 0xe0, 0x88,
0xe6, 0x2f, 0x71, 0xab,
0x7b, 0xe5, 0x60, 0x83,
0xc4, 0x1e, 0xbb, 0xc5,
0xac, 0xc9, 0x4d, 0xef,
0xc2, 0x33, 0xa7, 0x80,
0xc, 0x5b, 0xf3, 0xc3,
0x6e, 0x48, 0xfc, 0x67,
0x4c, 0xdd, 0xf0, 0x32,
0xd, 0x61, 0xdd, 0x88,
0x47, 0x3e, 0xb, 0xb,
0x5c, 0xc7, 0xd1, 0x9,
0x90, 0x1e, 0xf8, 0x52,
0x52, 0x9f, 0xd2, 0x5e,
0xfb, 0xc6, 0x22, 0x69,
0xe, 0x1f, 0xd1, 0x5a,
0xfd, 0xc2, 0x8c, 0xa,
0x23, 0x6a, 0x92, 0x6a,
0xa9, 0x9e, 0x76, 0x5,
0x65, 0x47, 0xe, 0xf5,
0x66, 0x6, 0x47, 0xb9,
0xa6, 0x1a, 0x17, 0xa2,
0xe0, 0x39, 0xc, 0xee,
0x59, 0xdd, 0x49, 0x56,
0x9f, 0xd6, 0x60, 0xc3,
0x41, 0xf3, 0x2e, 0xea,
0x91, 0xa4, 0xf0, 0xf7,
0xec, 0xfe, 0xec, 0x53,
0x5, 0x34, 0xc, 0xac,
0x4f, 0x24, 0x4e, 0x2f,
0x5d, 0x5a, 0x1e, 0xb7,
0x38, 0x67, 0xd, 0xd8,
0x3e, 0x6d, 0x9c, 0x7f,
0x61, 0xca, 0x69, 0xf2,
0x6f, 0x59, 0xe9, 0x5c,
0x58, 0xd6, 0xb0, 0x5e,
0xb, 0xbc, 0xa, 0x5a,
0xe0, 0x59, 0x8a, 0x3e,
0xb4, 0xa8, 0xf5, 0xec,
0x10, 0x3, 0xc5, 0x4e,
0x71, 0x61, 0xce, 0xd2,
0x2c, 0x37, 0xc4, 0x9c,
0x91, 0xae, 0xf8, 0xea,
0x85, 0xa8, 0x48, 0x90,
0x65, 0x52, 0xeb, 0x46,
0xac, 0x75, 0x84, 0x60,
0x1e, 0x7a, 0x4d, 0x2f,
0x7d, 0x13, 0x7d, 0xee,
0x74, 0x4c, 0xc0, 0xa1,
0x83, 0x85, 0x3d, 0x15,
0x34, 0x36, 0xff, 0xba,
0xdf, 0x47, 0x4b, 0x44,
0x9a, 0x36, 0x8a, 0x47,
0xac, 0xf, 0xa7, 0xca,
0x89, 0xf5, 0xf9, 0x7,
0x8, 0x77, 0xf5, 0x7d,
0xc3, 0xb6, 0x1f, 0x47,
0x3c, 0x5c, 0x5c, 0x71,
0x93, 0x5c, 0x2b, 0x72,
0xa3, 0x76, 0xb7, 0x3e,
0xac, 0x41, 0x85, 0x58,
0x51, 0x2d, 0x23, 0xdb,
0x22, 0x1c, 0xe2, 0x2b,
0x93, 0xd8, 0xa8, 0x57,
0x8f, 0xc7, 0x9e, 0xcb,
0x24, 0xfb, 0x3c, 0xb7,
0x57, 0x68, 0x2a, 0xfb,
0xde, 0xe1, 0x39, 0x8b,
0x23, 0xbf, 0xe4, 0x74,
0xec, 0x7, 0x4f, 0xf,
0x24, 0x32, 0x3a, 0xb8
};
const char* info_table[] = {
"ERROR",
"Invalid command!",
"You can't use that!",
"What are you going to do?",
"going ",
"NORTH",
"SOUTH",
"EAST",
"WEST",
"YOU MAY ACT NOW!",
"it died",
"it survived",
"a bear blocks the way",
"it ran away...",
"it won't start",
"you can't type"
};
const char* action_table[] = {
"north",
"south",
"west",
"east",
"shoot",
"use"
};
const char* room_table[] = {
"You stare into a void of nothingness. You see noone, you hear noone,"
"you feel someone.\n You look around, and see nothing, yet "
"you are no less scared. You habe won.\n"
"LONELY ROAD",
"S/N DIRT ROAD",
"FIREPLACE",
"N/W Street",
"OLD HOUSE",
"LIVING ROOM",
"ATTIC",
"BASEMENT",
"COMPUTER ROOM"
};
const char* room_description_table[] = {
"NOTHING"
"LONELY ROAD",
"S/N DIRT ROAD",
"FIREPLACE",
"N/W Street",
"OLD HOUSE",
"LIVING ROOM",
"ATTIC",
"BASEMENT",
"COMPUTER ROOM"
};
const char* item_table[] = {
"FLOPPY DISK",
"SCREW DRIVER",
"KEY",
"SAUSAGE",
"ROTTEN FLESH",
"KEYBOARD",
"PISTOL"
};