What I loved about the fteqcc gui code is that by looking at it, I was able to determine how to create a menu from nothing. No resources files, no MFC, etc. And your menu does it at run time.Spike wrote:if you're after random windows features, try right-clicking fte on the task bar in windows 7 (either pinned or unpinned).
I agree, it isn't very Quake-like.Spike wrote:I'm not sure how I feel about menu bars in quake engines tbh.
That is why the functionality requires a command to activate that is buried in a readme. Generally, no one will know it is there. But my menu code makes pagination and submenus easy, I plan to use the menu system to expose developer information like "edicts", "model indexes", texture info, in a way the screen can't reasonably do justice to.
That code isn't particularly Windows dependent either, just makes a table of "text to display", "string representation of Quake command to run" and associated command number # which is table index (all dynamically allocated/freed). If I figure out how to use a Mac's way of generating menus at run-time, I could probably change maybe 20-30 lines of code and have it do the same on a Mac --- if OS X permits the kind of menu complexity that Windows allows which is no sure thing, really ... actually I bet it doesn't.
A month ago, I started giving your npapi client a look-over out of curiosity. You do a masterful job of taking "write once, run everywhere in C" to interesting places.Baker, remind me some time to show you how to hack my npapi browser plugin to load up your engine instead.
My thought process is actually in a "make sure all of my code is hardened enough against unexpected input" kind of place. You've hardened FTE from a security standpoint, for example. But about any Quake engine that isn't FTE is very vulnerable to "attacks" ... i.e. evil server could feed client commands that the client should not allow a server to run (case in point for NetQuake would be "cd eject") or how FTE/Quakeworld clients isolate "server" sent aliases. You've pointed this out many times.