Licar/general.h

46 lines
938 B
C
Raw Normal View History

2025-01-14 13:59:44 +01:00
#ifndef _LCR_GENERAL_H
#define _LCR_GENERAL_H
2023-08-03 21:12:23 +02:00
2025-01-14 13:59:44 +01:00
/**
General resources for all modules.
*/
#include <stdint.h>
2023-09-17 13:21:19 +02:00
#include "settings.h"
2025-01-15 23:24:07 +01:00
// TODO: maybe move module specific constants to the modules themselves?
2025-01-14 13:59:44 +01:00
// constants (not supposed to be changed, doing so may break stuff):
2023-09-11 20:56:04 +02:00
#define LCR_EFFECTIVE_RESOLUTION_X \
(LCR_SETTING_RESOLUTION_X / LCR_SETTING_RESOLUTION_SUBDIVIDE)
#define LCR_EFFECTIVE_RESOLUTION_Y \
(LCR_SETTING_RESOLUTION_Y / LCR_SETTING_RESOLUTION_SUBDIVIDE)
2024-07-24 20:28:57 +02:00
#define LCR_MAP_SIZE_BLOCKS 64
2024-09-05 22:51:11 +02:00
/** Physics FPS, i.e. the number of physics ticks per second. */
2024-09-20 15:22:18 +02:00
#define LCR_RACING_FPS 30
2024-09-05 22:51:11 +02:00
2025-01-15 23:24:07 +01:00
#define LCR_RACING_TICK_MS \
(100000 / (LCR_RACING_FPS * LCR_SETTING_TIME_MULTIPLIER))
2024-09-05 22:51:11 +02:00
2025-01-14 13:59:44 +01:00
char _LCR_hexDigit(int i)
{
return i < 10 ? '0' + i : ('a' - 10 + i);
}
2025-01-15 23:08:31 +01:00
int _LCR_hexDigitVal(char c)
{
if (c >= '0' && c <= '9')
return c - '0';
if (c >= 'a' && c <= 'f')
return c - 'a' + 10;
return -1;
}
2025-01-14 13:59:44 +01:00
#endif // guard