I’m using the md3 editing tool from zturtleman for changing the X, Y, Z coordinates of weapon models. With this I’m making custom PK3’s to correct the weapon FOV for different cg_fov values. I know that exist the Flexible HUD mod but this lacks for adjust the weapon FOV for different values to 90. So Flexible HUD don’t corrects the weapon position for values like: cg_fov 100, 105, 110, etc.
This is the reason why I’m making differents PK3 for each value (of course, not for every single value, only for multyplies by 5 until 120 I think? maybe) anyway. For another hand, my work will help to Q3 Vanilla (for the purist that still play with Q3V).
Well, continuing with my explain… all fine until now with Maverick 3D. Even with hipoly weapons from Quake 3 Arcade (an edition of Q3 for Xbox 360), look:
However, now I’ve chosen another engine for playing with people, this is Quake3e. This is compatible with actual servers list.
Quake 3 Spearmint is awesome, but this not compatible with the actual server list.
Anyway, the problem IS, that now I’m modifing the Quake Champions weapon models. This models look fantastic with Spearmint Quake 3, the problem is Quake 3 vanilla can’t load this models because the limits of Q3V. But Quake3e can load this models too! look:
Apply the same change to only the models/weapons2/<dir>/<dir>_hands.md3 models (from baseq3/pak0.pk3) and use the unmodified weapon models. The <dir>_hands.md3 is used for the first person position of the weapon model and it won’t have vertex export issues (it will work in all Q3 engines). If the model doesn’t exist, copy models/weapons2/shotgun/shotgun_hands.md3 to models/weapons2/<dir>/<dir>_hands.md3 and then apply your changes.
For “work in all Q3 engines” to include Spearmint, you could set cg_weaponFov to 0 and cg_fovAspectAdjust to 0 to match rendering first person weapon rendering in vanilla Quake 3. Set cg_fov to whatever you want. The main drawback is splitscreen would need a different cg_fov setting to look the same (and I guess different weapon _hands.md3 models in your case).
It’s possible to fix the first person weapon position as a Quake 3 mod (by making the first person weapon model effectively use a FOV to 90 regardless of the real cg_fov) but I haven’t got around to figuring out the exact details and adding it to ZTM’s Flexible HUD mod for ioq3.
Maverick Model 3D (and Misfit Model 3D) effectively duplicates MD3 vertexes for each triangle so they can be edited independently. Some vertexes shared by multiple triangles in the original MD3 model may no longer match to merge back into a single vertex when exporting to MD3—resulting in a different mesh vertex count.
I think this may be due to regenerating vertex normals—the lighting directions. Generating vertex normals makes sense for new models (group smoothing settings). In MM3D code it’s kind of difficult to keep the original normals around and only generate/modify normals for new/edited geometry.
The reason for different vertex count could be something else though. It might be easier to make a program that just applies simple changes to MD3 than get other general software to edit MD3 with minimal side-effects.
Spearmint has a mesh vertex limit of 1200 to support Star Trek: Elite Force 2 content.
I don’t plan to readd Q3 mod support / server compatibility to Spearmint. It looks and plays like Quake 3 but internally I moved a lot from the engine into the mod code and pretty much all user visible changes depend on the Spearmint baseq3 mod code. There wouldn’t really be an advantage to playing vanilla baseq3/mods on it.
Some things can be done (possibly with hacks and less sanity for new games) solely on the engine side or solely on the mod side but that isn’t a goal for Spearmint.
Your suggest about adding the hand file works perfect, thanks a lot again for your help.
About set Spearmint with cg_fovAspectAdjust to 0 is not a good idea. Because SM have an excelent FOV aspect, it feels right and don’t distort the image whe you use a 16:9 resolution. I think the others Q3 engines (included vanilla) only have a +hor FOV and not +ver. For other hand Spearmint have (at least it feels in this way) bot axis to alter the FOV, I mean +hor and +ver making the image looks less distorted when you raise the cg_fov value. So, I pretend to making apart PK3 files for Spearmint exlusively.
About Flexible HUD it will be great to making this capable to have an independent FOV for weapons, but it have a hard work to do, I think.
You’re right about not changing Spearmint base code, this engine is really good until this point, it only need a little more changes/adding features. The main engine is perfect and I’m prefer maintain the engine in this way.
For me, I’ve a lot of work to do and documentation to mention, I’ve founded many problems/fixes that I want to share and see if someone can do something with my reports.