diff options
| author | Wiimm <wiimm@wiimm.de> | 2023-07-11 16:18:26 +0200 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2023-07-11 16:18:26 +0200 |
| commit | b5b1fe7fc0cf460d6204c18ba7bb4c40f7597efa (patch) | |
| tree | a7b4bb1e79fde818dd7af17fee1207ae40178ab7 /project/src/lib-lecode.h | |
| parent | 74ac39c1af5c8e85bf10711aed2ffc9dfee2e277 (diff) | |
SZS v2.35a
Diffstat (limited to 'project/src/lib-lecode.h')
| -rw-r--r-- | project/src/lib-lecode.h | 72 |
1 files changed, 69 insertions, 3 deletions
diff --git a/project/src/lib-lecode.h b/project/src/lib-lecode.h index 0793d6c..c2b6a81 100644 --- a/project/src/lib-lecode.h +++ b/project/src/lib-lecode.h @@ -62,6 +62,13 @@ #define LE_RESERVED_SLOTS (LE_FIRST_CT_SLOT - 32) #define LE_MAX_BLOCK_TRACK 50 +// [[time-limit]] +#define LE_DEF_ONLINE_SEC 340 // 5:40 : default online time limit +#define LE_MIN_ONLINE_SEC 30 // 0:30 : min accepted online time limit +#define LE_MAX_WD_ONLINE_SEC 525 // 8:45 : max online time limit for enabled watchdog +#define LE_MAX_ONLINE_SEC 0xffff // 18:12:15 : max possible online time limit +#define LE_VIEW_ONLINE_HMS 61 // 1:01 : min value when time is printed as additonal HMS + //----------------------------------------------------------------------------- // [[le_valid_t]] @@ -284,7 +291,6 @@ ccp PatchNameLEREG ( char *buf, uint bufsize, ccp name, le_region_t lereg ); const mem_t GetLecodeLEREG ( le_region_t reg ); - //----------------------------------------------------------------------------- // some more global functions, used as helpers for *LEREG functions @@ -313,6 +319,10 @@ typedef struct le_lpar_t lpar_mode_t limit_mode; // limit of other params u16 thcloud_frames; // number of frames a player is small after thundercloud hit +// [[time-limit]] + u16 default_online_sec; // default time limit in seconds + u16 min_online_sec; // minimal time limit in seconds, that can be set by LEX:SET1 + u16 max_online_sec; // maximal time limit in seconds, that can be set by LEX:SET1 u8 cheat_mode; // 0:off, 1:debug only, 2:allow all u8 engine[3]; // 100cc, 150cc, mirror (sum always 100) @@ -933,12 +943,68 @@ typedef struct le_binpar_v1_26a_t } __attribute__ ((packed)) le_binpar_v1_26a_t; -_Static_assert(sizeof(le_binpar_v1_26a_t)==0x26a,"le_binpar_v1_26a_t"); +//----------------------------------------------------------------------------- +// [[le_binpar_v1_270_t]] + +typedef struct le_binpar_v1_270_t +{ + /*000*/ char magic[8]; // LE_PARAM_MAGIC + /*008*/ u32 version; // always 1 for v1 + /*00c*/ u32 size; // size (and minor version) + /*010*/ u32 off_eod; // offset of end-of-data + + /*014*/ u32 off_cup_par; // offset to cup param + /*018*/ u32 off_cup_track; // offset of cup-track list + /*01c*/ u32 off_cup_arena; // offset of cup-arena list + /*020*/ u32 off_course_par; // offset of course param + /*024*/ u32 off_property; // offset of property list + /*028*/ u32 off_music; // offset of music list + /*02c*/ u32 off_flags; // offset of flags + + /*030*/ u8 engine[3]; // 100cc, 150cc, mirror (sum always 100) + /*033*/ u8 enable_200cc; // TRUE: 200C enabled => 150cc, 200cc, mirror + /*034*/ u8 enable_perfmon; // >0: performance monitor enabled; >1: for dolphin too + /*035*/ u8 enable_custom_tt; // TRUE: time trial for cusotm tracks enabled + /*036*/ u8 enable_xpflags; // TRUE: extended presence flags enabled + /*037*/ u8 block_track; // block used track for 0.. tracks + /*038*/ u16 chat_mode_1[BMG_N_CHAT]; // mode for each chat message + /*0f8*/ u16 chat_mode_2[BMG_N_CHAT]; // mode for each chat message + /*1b8*/ u8 enable_speedo; // speedometer selection (0..2), see SPEEDO_* + /*1b9*/ u8 no_speedo_if_debug; // if bit is set: suppress speedometer + /*1ba*/ u8 debug_mode; // debug mode (0..), see DEBUGMD_* + /*1bb*/ u8 item_cheat; // 0:disabled, 1:enabled + + /*1bc*/ u8 debug_predef[LEDEB__N_CONFIG]; + // information about used predefined mode + /*1c0*/ u32 debug[LEDEB__N_CONFIG][LEDEB__N_LINE]; + // debug line settings, see LEDEB_* + + /*260*/ u8 cheat_mode; // 0:off, 1:debug only, 2:allow all + /*261*/ u8 drag_blue_shell; // >0: allow dragging of blue shell + /*262*/ u16 thcloud_frames; // number of frames a player is small after thundercloud hit + + /*264*/ u8 bt_worldwide; // >0: enable worldwide battles + /*265*/ u8 vs_worldwide; // >0: enable worldwide versus races + /*266*/ u8 bt_textures; // &1: enable texture hacks for battles, &2:alternable + /*267*/ u8 vs_textures; // &1: enable texture hacks for versus, &2:alternable + /*268*/ u8 block_textures; // >0: enable blocking of recent texture hacks + /*269*/ u8 staticr_points; // >0: use points definied by StaticR.rel + +// [[time-limit]] + /*26a*/ u16 default_online_sec; // default time limit in seconds + /*26c*/ u16 min_online_sec; // minimal time limit in seconds, that can be set by LEX:SET1 + /*26e*/ u16 max_online_sec; // maximal time limit in seconds, that can be set by LEX:SET1 + + /*270*/ +} +__attribute__ ((packed)) le_binpar_v1_270_t; + +_Static_assert(sizeof(le_binpar_v1_270_t)==0x270,"le_binpar_v1_270_t"); //----------------------------------------------------------------------------- // [[le_binpar_v1_t]] [[new-lpar]] -typedef struct le_binpar_v1_26a_t le_binpar_v1_t; +typedef struct le_binpar_v1_270_t le_binpar_v1_t; // /////////////////////////////////////////////////////////////////////////////// |
