This is just an annoyance similar to trying to type a URL into Internet Explorer on startup if the start page is not about:blank. If you open up the console when the game starts and try to type something like "/connect trem.tjw.org" and you don't finish before the intro movie finishes, the console closes and you lose what you typed.
I will try to submit a patch for this eventually, this is mostly a reminder to myself.
Setting a QA contact on all ioquake3 bugs, even resolved ones. Sorry if you get a flood of email from this, it should only happen once. Apologies for the incovenience.
--ryan.
Created attachment 1508[details]
Preserves KEYCATCH_CONSOLE flag in Key_SetCatcher
This "race the intro" quirk has a special place in my heart, but it would be nice to finally be rid of it.
The issue seems to be the ui module. There are instances when Key_SetCatcher is called and it blows away KEYCATCH_CONSOLE. It could be remedied in those specific instances, but from what I understand, it would only take effect for people who are running ioquake3 qvms. This is probably not always the case, especially for mods.
Once a call enters the engine, this patch prevents the KEYCATCH_CONSOLE bit from taking the passed in value, and keeps the current one instead. This fixes the "race the intro" condition, but will affect some other cases as well. For instance, when a match finishes and the winners are standing on their pedestals, the console will now remain open (if it was open just before the match ended). I skimmed some of the places where it will potentially affect behavior, but nothing leaped out at me. I can't conceive of how some of those ui events that use Key_SetCatcher would occur if the console is open, and if it is possible (like the post-game winner pedestals), I'm inclined to think that it's fine since the user probably has a good reason for having the console opened in the first place.
It should be noted that cinematics will still close the console when they begin. While that's not an issue for vanilla (since it only has the id logo), mods that have multiple intro cinematics may still prove to me an annoyance for a user who wants to start mucking in the console right away.
Created attachment 1508 [details] Preserves KEYCATCH_CONSOLE flag in Key_SetCatcher This "race the intro" quirk has a special place in my heart, but it would be nice to finally be rid of it. The issue seems to be the ui module. There are instances when Key_SetCatcher is called and it blows away KEYCATCH_CONSOLE. It could be remedied in those specific instances, but from what I understand, it would only take effect for people who are running ioquake3 qvms. This is probably not always the case, especially for mods. Once a call enters the engine, this patch prevents the KEYCATCH_CONSOLE bit from taking the passed in value, and keeps the current one instead. This fixes the "race the intro" condition, but will affect some other cases as well. For instance, when a match finishes and the winners are standing on their pedestals, the console will now remain open (if it was open just before the match ended). I skimmed some of the places where it will potentially affect behavior, but nothing leaped out at me. I can't conceive of how some of those ui events that use Key_SetCatcher would occur if the console is open, and if it is possible (like the post-game winner pedestals), I'm inclined to think that it's fine since the user probably has a good reason for having the console opened in the first place. It should be noted that cinematics will still close the console when they begin. While that's not an issue for vanilla (since it only has the id logo), mods that have multiple intro cinematics may still prove to me an annoyance for a user who wants to start mucking in the console right away.