blob: 2b5c8a6a5391a4996c62ac2e8e4607e82323deb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#ifndef Z64SCRIPTS_H
#define Z64SCRIPTS_H
#include "PR/ultratypes.h"
// Macros to convert the time format used in the save struct into the format used in scripts (Schedule or Message)
#define SCRIPT_CONVERT_TIME(time) ((s32)((time) - 0x10000 / 360 * 90))
#define SCRIPT_CALC_TIME(hour, minute, dest, temp) \
(temp) = (hour)*60.0f; \
(temp) += (minute); \
(dest) = (temp) * (0x10000 / 60 / 24.0f); \
(dest) = SCRIPT_CONVERT_TIME(dest)
#define SCRIPT_TIME(hour, minute) SCRIPT_CONVERT_TIME((((hour)*60.0f) + (minute)) * (0x10000 / 60 / 24.0f))
#define SCRIPT_TIME_NOW SCRIPT_CONVERT_TIME(CURRENT_TIME)
#define SCRIPT_PACK_16(h, l) (((h) << 8) | (l))
#define SCRIPT_UNPACK_8(v) (u8)(v)
#define SCRIPT_UNPACK_16(v) (u8)_SHIFTR(v, 8, 8), (u8)_SHIFTR(v, 0, 8)
#endif
|