From 6acd361e1439ace91468735bd286d69d23fd86af Mon Sep 17 00:00:00 2001 From: Wiimm Date: Tue, 24 Oct 2023 19:17:33 +0200 Subject: SZS v2.39a --- project/dclib/lib-mkw-def.c | 16 ++++++++++++++++ project/dclib/lib-mkw-def.h | 1 + project/dclib/lib-mkw.c | 7 +++++++ project/dclib/lib-mkw.h | 12 +++++++++++- 4 files changed, 35 insertions(+), 1 deletion(-) (limited to 'project/dclib') diff --git a/project/dclib/lib-mkw-def.c b/project/dclib/lib-mkw-def.c index 4a4277c..1f006d6 100644 --- a/project/dclib/lib-mkw-def.c +++ b/project/dclib/lib-mkw-def.c @@ -41,6 +41,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 0, "Nin.", "Nintendo", + "Nintendo", "b_cyan", }; @@ -58,6 +59,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 0, "Tex.", "Texture", + "Texture", "green", }; @@ -75,6 +77,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 0, "temp+", "Temp-Allow", + "Texture", "green", }; @@ -92,6 +95,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 1, "temp−", "Temp-Deny", + "Texture", "b_yellow", }; @@ -109,6 +113,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 2, "Deny", "Deny", + "Texture", "b_yellow", }; @@ -126,6 +131,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 5, "Cheat", "Cheat", + "Texture", "b_red", }; @@ -143,6 +149,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 3, "Edit", "Edit", + "Edit", "b_orange_yellow", }; @@ -160,6 +167,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 3, "Model", "Model", + "Edit", "b_orange", }; @@ -177,6 +185,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 5, "Cht+Ed", "Cheat+Edit", + "Edit", "b_red", }; @@ -194,6 +203,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 4, "Unkn.", "Unknown", + "Unknown", "b_magenta", }; @@ -211,6 +221,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 4, "Custom", "Custom", + "Custom", "cyan_blue", }; @@ -228,6 +239,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 4, "H+S", "Hide+Seek", + "Hide+Seek", "grey5", }; @@ -245,6 +257,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 4, "H+S.ct", "Hide+Seek.ct", + "Hide+Seek", "grey7", }; @@ -262,6 +275,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 4, "Mis", "Mission", + "Mission", "grey5", }; @@ -279,6 +293,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 4, "Mis.ct", "Mission.ct", + "Mission", "grey7", }; @@ -296,6 +311,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id ) 4, "-?-", "(invalid)", + "(invalid)", "fail", }; diff --git a/project/dclib/lib-mkw-def.h b/project/dclib/lib-mkw-def.h index 18045bd..415c4df 100644 --- a/project/dclib/lib-mkw-def.h +++ b/project/dclib/lib-mkw-def.h @@ -82,6 +82,7 @@ typedef struct MkwTrackCategory_t u8 ban; char abbrev[7+1]; char title[12+1]; + char declared[9+1]; char color[15+1]; } MkwTrackCategory_t; diff --git a/project/dclib/lib-mkw.c b/project/dclib/lib-mkw.c index 64a5d47..fbb280c 100644 --- a/project/dclib/lib-mkw.c +++ b/project/dclib/lib-mkw.c @@ -1830,6 +1830,13 @@ ccp GetMkwExtraInfo ( uint slot, ccp return_on_err ) : return_on_err; } +/////////////////////////////////////////////////////////////////////////////// + +bool IsUsableXcodeSlot ( uint tid, int is_ctcode ) +{ + return is_ctcode ? IsUsableCtcodeSlot(tid) : IsUsableLecodeSlot(tid); +} + // /////////////////////////////////////////////////////////////////////////////// /////////////// sizeof_info_t: mkw /////////////// diff --git a/project/dclib/lib-mkw.h b/project/dclib/lib-mkw.h index 37ad862..605999d 100644 --- a/project/dclib/lib-mkw.h +++ b/project/dclib/lib-mkw.h @@ -142,7 +142,7 @@ static inline bool IsMkwTrack ( uint tid ) { return tid < MKW_TRACK_END; } static inline bool IsLecodeTrack ( uint tid ) - { return tid < MKW_TRACK_END || tid >= MKW_LE_SLOT_BEG; } + { return tid < MKW_TRACK_END || tid >= MKW_LE_SLOT_BEG && tid < MKW_LE_SLOT_END; } static inline bool IsMkwArena ( uint tid ) { return tid >= MKW_ARENA_BEG && tid < MKW_ARENA_END; } @@ -169,6 +169,16 @@ static inline bool IsValidLecodeSlot ( uint tid ) || tid >= MKW_LE_SLOT_BEG && tid < MKW_LE_SLOT_END || tid >= MKW_LE_RANDOM_BEG && tid < MKW_LE_RANDOM_END; } +static inline bool IsUsableLecodeSlot ( uint tid ) + { return tid < MKW_ARENA_END + || tid >= MKW_LE_SLOT_BEG && tid < MKW_LE_SLOT_END; } + +static inline bool IsUsableCtcodeSlot ( uint tid ) + { return tid < 0x42 || tid >= 0x44 && tid < 0xff; } + +// if !is_ctcode, then use IsUsableLecodeSlot(), otherwise use IsUsableCtcodeSlot() +bool IsUsableXcodeSlot ( uint tid, int is_ctcode ); + static inline bool IsMkwSpecial ( uint tid ) { return tid >= MKW_SPECIAL_BEG && tid < MKW_SPECIAL_END; } -- cgit v1.3.1