Originally posted by Baker
View Post
Announcement
Collapse
No announcement yet.
The future of Quake - Wishlist
Collapse
X
-
IT LIVES! http://directq.blogspot.com/
-
OK, it's almost done. See attachment.
The changes that were required include:- Adding a dummy third command to each vert in the Q1 MDL mesh builder.
- Changing "order += 2" to "order += 3" in the renderer.
- Accessing the MD2 vert via order[2] in the renderer.
- Allowing per-frame scale and translate in the renderer.
- Some minor changes to the Q1 structs.
- The MD2 loader itself.
The next step is to tutorialize it. In order to do this I'm going to move the code to a vanilla Q1 codebase, writing up the steps as I go. I also have a memory-stomping bug I need to fix, but for now I've just done a really cheap and cheesy fix that works OK.
The MD2 loader is almost copy-and-paste from Q2. There were a few changes to wrestle the data into Q1 structs, some changes to skin loading, adding in a correct bbox for the MD2, and omission of some data that's only used in the software renderer.
One interesting thing that came up here is the use of order[2] for a vert indexing in MD2. This is applicable to MDL as well, and strikes me as something that should be done (it saves space). It will require some overhaul of the mesh builder and of the renderer though, so I'm not gonna do it for this exercise.Attached FilesIT LIVES! http://directq.blogspot.com/
Comment
-
Originally posted by mhquake View PostOK, it's almost done. See attachment.
The changes that were required include:- Adding a dummy third command to each vert in the Q1 MDL mesh builder.
- Changing "order += 2" to "order += 3" in the renderer.
- Accessing the MD2 vert via order[2] in the renderer.
- Allowing per-frame scale and translate in the renderer.
- Some minor changes to the Q1 structs.
- The MD2 loader itself.
The next step is to tutorialize it. In order to do this I'm going to move the code to a vanilla Q1 codebase, writing up the steps as I go. I also have a memory-stomping bug I need to fix, but for now I've just done a really cheap and cheesy fix that works OK.
The MD2 loader is almost copy-and-paste from Q2. There were a few changes to wrestle the data into Q1 structs, some changes to skin loading, adding in a correct bbox for the MD2, and omission of some data that's only used in the software renderer.
One interesting thing that came up here is the use of order[2] for a vert indexing in MD2. This is applicable to MDL as well, and strikes me as something that should be done (it saves space). It will require some overhaul of the mesh builder and of the renderer though, so I'm not gonna do it for this exercise.engine: quore.free.fr
Comment
-
So, any more new ideas? I've been trying to think of some new ones but I'm having trouble coming up with something original. I've been reading about QuakeC a lot lately and want to do something with that. I've been hacking away at the Quore software renderer trying to update it more, add some new things to it and clean up the code.
One thing I want to do with Quore is document everything, but that doesn't have to do with new features; unless I put the docs in game.Gentoo Linux
Comment
-
One suggestion that's come up a few times is to move QCC into the engine so that the engine can compile raw QC on the fly.IT LIVES! http://directq.blogspot.com/
Comment
-
Some ideas that comes to mind:
- Ability for the player to crouch, I know it has been done before
- Menu driven skin changer
- Slow down player when receiving damages
- Sound for footsteps, I know Qrack has this feature
- Make projectiles obey physicsengine: quore.free.fr
Comment
-
Originally posted by lxndr View PostSome ideas that comes to mind:
- Ability for the player to crouch, I know it has been done before
- Menu driven skin changer
- Slow down player when receiving damages
- Sound for footsteps, I know Qrack has this feature
- Make projectiles obey physicsIT LIVES! http://directq.blogspot.com/
Comment
-
Originally posted by lxndr View Post- Menu driven skin changer
- Slow down player when receiving damages
- Sound for footsteps, I know Qrack has this feature
- Make projectiles obey physics
p.s. you need to read your email and get on jabber.Gentoo Linux
Comment
-
Originally posted by mhquake View PostSome of those are QC. Player to crouch would require a new hull which would require a new BSP format.
Will the engine just create a temp hull based on the model's mins and maxs?Last edited by R00k; 11-02-2009, 07:06 PM.
Comment
-
Originally posted by R00k View Postin Quakec if a player is crouching cant we just swap the modelindex? This single model would have it's own bounding box?
Will the engine just create a temp hull based on the model's mins and maxs?
Or snag a few ideas from the Half-Life map compiler tools and make Quake BSP 2.0 (independent palette textures, origin brush support, 3rd hull, colored lights are compiled INTO the map)
Half-Life is the perfect model for evolving the Q1 BSP format without really doing anything to it.
I mean, just look at what Avirox has done ^^ You see how smoothly the revolving doors open (origin brush support) and Quake should be building especially on work like that.
And my personal favorite when Avirox gave me the initial tour, hehe:
Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.
So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...
Comment
-
Will the engine just create a temp hull based on the model's mins and maxs?
While we are brainstorming about future enhancements.. how about a single hull bsp format and use proper collision detection?
or.. wait for id to release the id-tech5 engine and go from there
Comment
-
Code:hull_t *SV_HullForEntity (edict_t *ent, vec3_t mins, vec3_t maxs, vec3_t offset) { ... { // create a temp hull from bounding box sizes VectorSubtract (ent->v.mins, maxs, hullmins); VectorSubtract (ent->v.maxs, mins, hullmaxs); hull = SV_HullForBox (hullmins, hullmaxs); VectorCopy (ent->v.origin, offset); } return hull; }
in qc something like this?
Code:if (self.crouch) { self.modelindex = modelindex_crouch; setsize (self, -16 -16 -24, 16 16 24); } else { self.modelindex = modelindex_player; setsize (self, VEC_HULL_MIN, VEC_HULL_MAX); }
Last edited by R00k; 11-02-2009, 07:50 PM.
Comment
-
Originally posted by =peg= View Postor.. wait for id to release the id-tech5 engine and go from thereGentoo Linux
Comment
-
1. A built in chat room/ability to add friends/view the game they're playing in
2. Podium standings at the end of a round
3. forced map changes (no player vote, we've seen what that's led too, 5 map rotation)
4. Controlling Mute
5. Shorter interval between grenades before anti spam kicks in
When I think of more, it will be up.
Comment
Comment