From: <qu...@ca...> - 2015-12-18 23:12:12
|
Hey guys! Finally took a minute out of my busy coding schedule to join. :-) Trying to get some version of quake-hack released by christmas... I'll post here when I have updates on qc: http://www.moddb.com/groups/qc ------------------------------------------------------ As far as a clean version of qc. I'm curious as to exactly what your "clean" is. Kind of subjective. Bug and warning free? I have to caution you, fteqcc has freaking warning overload. Any, little, thing. Compile with "-Wall" to be amazed. Years back I was doing a log of work with frikqcc and I eradicated all those compiler warnings. The original release had a ton. That fixes a few hidden bugs too. And makes it easier to find new problems. I've killed most of the bugs in the release I made: http://www.moddb.com/games/quake/downloads/quake-c-version-106 And hipnotic: http://www.moddb.com/games/quake/downloads/hipnotic-quake-c-release But as we all know, there are still a few bugs hiding in there. More recently I had to switch to fteqcc. The Archon project: http://www.moddb.com/mods/chaos-archon blew the 32768 global limit in quake under frikqcc. When I moved to the new compiler I fixed many of the quirky little things with #define wrappers: http://www.moddb.com/games/quake/downloads/quake-c-version-106-recoded Some things dont cause warnings, and arent bugs - just how quake-c was originally written. "Fixing" them can potentially change game play, so I wrapped them. Take out the main define and they come back. I've focused a lot of my programming effort on a smaller size progs.dat with lower global usage. I think I might be kind of obsessive about this. I've come up with a method for "true" local variables. Whether or not you realize, every local, every global, every function parameter, every function declaration, every unique string, every unique literal - all take up global slots. The "locus" method uses an entity and #define macros to store data in a special entity. The same can be done with globals... Think I'll call that method "globus". The next method for reducing globals is the framer macro. The old frame macro uses 1 global for every frame - it makes a funciton declaration. So I made a loop function in a macro, to cut down on that. ------------------------------------------------------ What I want to do next with quake-c once quake-hack is rolling along after the beta release, and I get back to the Archon project. A darkplaces only quake-c. My mods have pretty much become dp only, so why not. I'm piloting much of the code in qc++ right now. This is going to be a radical re-code using darkplaces extensions heavily. No attempt is going to be made to ensure complete v1.06 compatibility. A reasonable effort will be made to ensure a very similar game play. I'm planning on stripping out most spawn functions, using the new framer macro for all frame code and eliminating much redundant code. (v1.06 re-coded already has a bit of this) Most large strings will be replaced with cvar_string (if I can get the damn intermission text to print...) This will be a much different beast. Stay frosty! -6 |