|
Posted by Baker on 2012/06/29 11:38:17 |
I wasn't planning on doing this mini-project, it started as an effort to address some Fitzquake issues, fix them the right way up to Fitzquake standards (i.e. do it right, once and properly versus continual releases) and donate it back.
FitzQuake Mark V Download:
http://quake-1.com/docs/utils/fitzquake_mark_v.zip
Short version: Eliminated most issues in FitzQuake thread, most issues I can even remember hearing of ever and marked every single one clearly with a very minimal implementation.
It may be the case that only metlslime and Quakespasm and engine coders may find this engine upgrade of interest.
Features: 5 button mouse support, single pass video mode, external mdl textures, alpha textures (like RMQ), record demo at any time, rotation support, video capture (bind "capturevideo toggle"), console to clipboard, screenshot to clipboard, entities to clipboard, tool_texturepointer, tool_inspector (change weapons to see different info), clock fix, contrast support, fov does not affect gun, gun displays onscreen, Quakespasm wrong content protection, external ent support, session-to-session history and .. (see readme). |
|
|
Malice On Other Ports
#829 posted by NightFright on 2015/05/01 10:02:10
FitzQuake 0.85:
- Small crates can be moved
- Vasquez crash (map d13) still happens
JoeQuake 0.15 build 3798:
- Small crates can be moved
- Vasquez crash (map d13) not occurring
In JoeQuake, moving small crates is a bit more difficult as it depends more on viewing angle etc., but it's still possible.
The Vasquez crash seems to be inherited from original FitzQuake, it seems.
#830 posted by ericw on 2015/05/01 11:04:59
Hm, the malice map d13 crash (happens when you kill one of the enemies in the first group) is from an out-of-range skin number. I saw values of 50, 53, 54, and in the server in SV_WriteEntitiesToClient the skin number is actually a fraction (53.41...).
At first glance I think Fitz is just missing something like the following in the mdl rendering code, this is in Winquake:
if ((skinnum >= pmdl->numskins) || (skinnum < 0))
{
Con_DPrintf ("R_AliasSetupSkin: no such skin # %dn", skinnum);
skinnum = 0;
}
#831 posted by metlslime on 2015/05/01 18:50:54
fitzquake is supposed to display a blue checker texture for missing skins, which is why it doesn't set the skin to 0. However it appears some mods rely on that behavior?
I can't explain the crash, though.
Ah I See
#832 posted by ericw on 2015/05/01 19:57:45
I didn't know about the checkerboard feature.
The crash was coming from these lines in r_alias.c:
tx = paliashdr->gltextures[e->skinnum][anim];
fb = paliashdr->fbtextures[e->skinnum][anim];
The size of the first index of the gltextures and fbtextures arrays is MAX_SKINS (32), so if e->skinnum is < 0 or >= 32, it'll probably crash.
This does the trick:
if ((e->skinnum >= paliashdr->numskins) || (e->skinnum < 0))
{
Con_DPrintf ("R_DrawAliasModel: no such skin # %dn", e->skinnum);
tx = NULL; // NULL will give the checkerboard texture
fb = NULL;
}
else
{
tx = paliashdr->gltextures[e->skinnum][anim];
fb = paliashdr->fbtextures[e->skinnum][anim];
}
Hm
#833 posted by ericw on 2015/05/01 20:04:27
Malice does kind of rely on skin 0 showing up for invalid skin numbers; when you kill an enemy, they do a teleport animation and the invalid skin is used briefly. So it's a toss up whether to go with strict winquake compatibility (show skin 0) or fitzquake (show checkerboard)
Ericw:
#834 posted by metlslime on 2015/05/01 21:21:11
your fix makes sense. My only suggestion is finding a way not to spam that console message every frame. Like maybe, only do it when the skin is different from the previous frame. (which probably requires moving the test to the client parsing code)
May 2 Build
#835 posted by anonymous user on 2015/05/02 13:55:49
Windows Download Mac OS X 10.7+ Source Code
OpenGL and WinQuake builds for each platform.
ericw's skin fix. Hordes of dedicated server features no one is likely all that interested in but include things like sv_filter_gibs (has a sv_filter_gibs_list to control what that is), sv_full_invisibility (eyes.mdl entity doesn't get sent to anyone), ability to specify console log name -condebug <logname> and several chat limitation options, ability to have condebug log be "dequaked" (chars > 127 converted down 128).
Also edited the probably unnoticed "name maker" (options->multiplayer->setup->name) to not permit carriage returns and such.
The Mac version obviously has both an OpenGL build and a WinQuake build. And like the Windows version can play dzip demos and has all the same selection, copy, paste and undo keys enabled in the console and auto-complete via CTRL-SPACE, etc. It might have an option to unpak pak files in the menu, I forgot to test it this time. Like the Windows version, it can play Nehahra and supports mp3 tracks.
#836 posted by THERAILMCCOY on 2015/05/02 14:43:23
NightFright - thanks for the updated models, using them permanently now. The only small bit of feedback I'd give is that the original super-nailgun model looks slightly better than the replacement due to the highlight on top being narrower and thus better selling the illusion of a rounded barrel.
Original - http://puu.sh/hyCAC/0055377c21.jpg
Replacement - http://puu.sh/hyCBO/e01505b467.jpg
Baker - only thing I noticed so far is that autocomplete seems to require minimum 2 characters to function. Ie - 'q->tab' results in no response, but 'qu->tab' will show the autocomplete possibilities.
#837 posted by Baker on 2015/05/02 15:01:38
Thanks for the heads up on the auto-complete thing. Quality bug reports make all the difference and you've pointed out some very insightful ones (so has spy, fifth and very obviously nightfright). Not many people would play with the 'give' command, for instance, to notice the runes wiped away the weapons.
The source code link is bad, it should be this.
#838 posted by NightFright on 2015/05/02 19:39:39
I will still finish my pending tests even though I don't expect to find more.
Dunno if the skin problem in Shrak and Malice crates can still be solved, but it's rather minor things compared to the crashes that were fixed. Considered that the Malice crash was in FitzQuake pretty much since it exists, it's quite an accomplishment to get it solved after all this time.
Nehahra Cutscene
#839 posted by TCHORGO on 2015/05/02 19:50:49
A few posts ago was told that the cutscenes of Nehahra work correctly, however when I go play they are not displayed, simply goes from "nehstart" to "neh1m1" without displaying them. I appreciate if anyone knows how to solve it.
#840 posted by NightFright on 2015/05/02 20:10:31
Do you have the correct pak0.pak? The one that comes with the Quaddicted release is only a placeholder.
#841 posted by TCHORGO on 2015/05/02 20:18:32
It will only get you a file "Readme" inside.
#842 posted by NightFright on 2015/05/02 20:26:44
If it's only with a readme inside, it's the dummy file. Pak0.pak with the 20min intro movie is inside a package called "Seal of Nehahra". Google it, download the zip and overwrite your pak with the bigger one.
#843 posted by TCHORGO on 2015/05/02 20:38:32
Man, the problem is not in PAK0 ran the mod with the 'glquake' that comes in the zip and cutscenes worked (did not put the PAK0 the seal of nehahra), tested with Darkplaces and also worked, alendo more than the cutscenes that appear within the game are in PAK3.
#844 posted by THERAILMCCOY on 2015/05/02 21:28:25
NP, Baker, glad to help; after all we all benefit from engines being in active development and bug-free. =)
Something else I noticed was that the numpad responds in an unexpected way. Numpad keys are displayed when the 'keys' command is issued, suggesting they are valid for use, but when attempting to bind them through console or config, they do not function.
It is possible to bind them by using the controls menu and they then behave as expected, but a command attached to say, kp_end, will be described as being bound to '1', kp_leftarrow as '4' etc. So taking the latter case as an example, pressing either the standard '4' key or 'kp_leftarrow' will produce the same result. Perhaps this is intended behaviour, but if it is, it may be worth removing the kp_ keys from being listed in the 'keys' command.
For reference, FitzQuake and Quakespasm do allow binding to numpad separately from standards numbers; ie you can have two separate functions bound to '4' and 'kp_leftarrow', for instance.
@TCHORGO
#845 posted by Baker on 2015/05/02 23:06:10
Nehahra has 3 issues I need to address:
1) Demos between levels on Windows only. Right now, the demos in between levels don't play on Windows.
2) Reviewing the fmod code and the mp3 playback code and cd code ensuring only fmod is used.
3) Fog. I'll probably see if I can make it use the FitzQuake fog system.
@nightfright ... I intend to fix the Malice crates. And I will look at the Shrak skin. Probably in a week, they are on my list. From what you have told me about the malice crates, it looks like it should be fixable.
@THERAILMCCOY - I'll look at the keypad and resolve.
Nehara Music/fog
#846 posted by NightFright on 2015/05/03 12:39:12
I still had the impression that during my Nehahra playthrough, fmod music didn't play all the time when it was supposed to. However, since I don't remember when exactly music needs to be played (some levels are silent on purpose), I cannot say for sure something is wrong.
Restoring fog support would be essential since the few levels in which the effect is used profit considerably regarding their atmosphere.
Episode Finale Text Length
#847 posted by NightFright on 2015/05/03 20:33:32
Other thing:
Unfortunately, the fix for finale text length from build 15 still isn't enough for some addons.
I picked Rapture for testing since it has extremely long texts, and there the text is still cut off as you can see here. On this screenshot, 5 lines are not shown. I dunno if you can push this fix any further, but maybe if it doesn't fit on the screen you could try shrinking the font size automatically or something.
Other than that, I checked Malice map d13 once more and the crash with respawning Vasquez sisters is definitely gone. Thumbs up!
Good Catch On Rapture
#848 posted by ericw on 2015/05/03 20:59:17
The text is cut off in fitz085. This is rainend.bsp.
winquake is OK: http://imgur.com/DaISTRW
I don't know the code that draws these but my suggestion is:
- check the buffer size winquake uses
- calculate the actual height of the full message, so it can be centered on screen properly.
#849 posted by Baker on 2015/05/03 21:45:10
It is far better to find out about all these edge cases now so they can be addressed while the iron is hot.
RRP
#850 posted by NightFright on 2015/05/03 22:09:02
Something else to think about in the meantime: Checking RRP, I get a crash to console in "Telefragged".
It happens like this:
After picking up the yellow keycard, I go around the corner and approach the yellow keycard door. Game crashes to console with a message like:
call0 2303(multi_trigger)multi_trigger()
... <-- couple of lines with subs.qc/triggers.qc etc here
(no function)
stack overflow
host_error: program error
Try if you can reproduce it with these savegames and autodemo (1.07 MB). Quicksave gets you right after picking up the keycard. Go around the corner and watch the game crash (probably). Autodemo shows the whole procedure.
Afailk
#851 posted by ericw on 2015/05/03 22:15:59
that is a known bug in telefragged.bsp on easy skill, not an engine issue
Text
#852 posted by mh on 2015/05/03 23:34:59
I did a rough calculation of the text length and it comes out at ~900 chars. Now, Quake copies the centerprint text to a 1024 char buffer (in SCR_CenterPrint), so it's possible that this particular text is exceeding the buffer size and being chopped. That's possibility one.
Quake also counts the lines of text (stored to scr_center_lines) and I make it 29 lines, or 232 pixels high. Now, FitzQuake implements a GL_SetCanvas mechanism for laying out the 2D GUI elements, and centerprints use CANVAS_MENU, which is constrained to a 320x200 viewport (via a glViewport call), so anything outside of that viewport gets discarded by the driver. Add in the "Congratulations" banner and you can easily see why the text gets chopped. That's possibility two.
Possibility one is unlikely but it is nonetheless something that you should try to fix.
Possibility two is definitely what's going on here; the text is just too large for a 320x200 viewport.
Unfortunately this is a case where the mod author was careless: the same problem would occur on any engine running at a sufficiently low resolution. It doesn't occur on non-Fitz-based engines at higher resolutions simply because they don't use the same constrained viewport.
I'd chalk this one down to "bad content", of a similar class to textures containing fullbright texels, but it's up to you whether or not you think engines should support bad content like this.
#853 posted by Baker on 2015/05/04 08:28:32
Windows GL | WinQuake - Probably fixes the Rapture end text for Open GL by expanding the canvas height to 480 or the largest it can do for the screen resolution being used while keeping the completion plaque or congratulations plaque in the same place.
@mh - Well, I'm sort of the mindset that 320x200 should be supported but also if original Quake does it then it can't really be a bug.
I am particularly interested in coop and I'm hoping to acquire ZQuake into the engine this week. In previous times, I wouldn't have had the right kind of knowledge to make this happen. It is possible I may discover I still don't. Finding out is half the fun.
|
|
This thread has been closed by a moderator.
|
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.
|
|