Code: Select all
native static vararg void Printf(string fmt, ...);
- Print levels (PRINT_LOW to PRINT_BOLD)
- No-notify mode (PRINT_NONOTIFY)
- No-log mode (PRINT_NOLOG)
No-notify mode is particularly useful because currently the only way to use it is by using HudMessage. Yes, really. It IS exposed, but only through HUDMSG_LOG, and nowhere else in the entire engine. (Save for some very particular edge cases that wouldn't be useful in the same situations.)
No-log mode is not particularly useful for mods so it could be omitted, however an example case against omission might be that you have some debugging data that only makes sense to be given at runtime.
It's probably not a good idea to expose these as-is to ZScript since they have the same flags-inside-description issue that A_PlaySound had. However, they are very useful features. My proposal is, then:
- Move PrintLevel's flags into a separate parameter internally. This could for instance be done by adding another function like "PrintfFlags".
- Expose Printf's level and flag parameters, probably through a new function in Console, like Console.PrintLn or whatever sounds nicest.