News | Forum | People | FAQ | Links | Search | Register | Log in
Fitzquake Mark V
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).
First | Previous | Next | Last
@mfx 
Glad to hear that fixes that .. I'll have to think of a "correct" way of blocking the unwanted extra character. Probably won't be too hard. 
Mfx/nightfright Issue Solved 
Mfx/nightfright issue with German keyboard added unwanted character after using the tilde key equivalent is solved.

Current download: http://quakeone.com/markv 
 
mark_v.exe -nehahra -game alk10 +map alk10a works, but the engine crashes with a generic Windows error right after the map starts. This seems to be caused by the level using xm/s3m music, as Nehahra levels that don't use music load fine.

qconsole.log says:

Warning: FMOD module not found ( nehahra/fmod.dll )

I placed FMOD.DLL that comes with Nehahra into the nehahra directory just to see what's gonna happen, and it said that the module can't be initialized instead. 
 
Underwater warp is out-of-bounds for Mark V, would require GLSL

Use glCopyTex(Sub)Image2D then draw a grid (similar to what stock Fitz does for it's render-to-framebuffer warp, you may even be able to recycle the same code). No shaders needed. 
Basic Nehahra Support 
Starting Nehahra (with -nehahra) works fine until the first cutscene: the sound is working, but the screen is black. -game nehahra leads to more broken things. There are error messages, and the first cutscene now lacks sound as well. 
 
What's file date and time. Mine's 6/30/2004 160786 bytes. 
Well Hot Damn 
New GL version works for me!!!!!!!!!!!!!!!!!

*throws laptop against the wall in celebration*

Oh... nevermind. Don't need it anymore.

Heh, though it is spitting out a lot of "scancode" in the console; I think you left some debug code in. Or was that there for someone to test the international keyboard thing?

Also... how about the joystick support? It used to work (it works in the old mark_v_e.exe), but in the recent versions, it seems to detect the joystick and everything, but it just doesn't respond to any input from the connected usb gamepad. 
 
The cutscene in Nehahra stays black for annoyingly long time.

Stick with it, haha. It's how it works. 
Console Key Fixed 
Ah yes, invoking the console and having an unwanted character written there right away was quite annoying indeed. Thanks for fixing that one, too! 
 
FMOD.DLL in nehahra.zip is 117760 bytes and is dated 2/19/2001. 
Nehahra FMOD 
Your fmod.dll should be dated June 30, 2004, 160.768 Bytes. With that one it works (for me at least).

What Mark V should however do is to ignore the music folder in id1 directory when playing Nehahra. Otherwise, you have the standard Quake soundtrack playing which isn't meant to happen. You could always move your music folder out of the id1 dir temporarly for that purpose, but I am sure it can be avoided. 
Fmod.dll Download For Nehahra 
If you don't know where to get that newer fmod.dll from that I mentioned above, I have uploaded it here.

Fmod.dll from Jun 30, 2004 for Nehahra (149 KB)

I don't remember how I got it, actually. 
NightFright 
Things work with this dll, thanks.

I'm assuming it can't be included with the engine for legal reasons? 
 
@baker the ^ issue when typing any char after console is toggled is still there. Both GL and DX8 versions.
This happens only on a crappy Lenovo ThinkPad with IntelGfx btw. Desktop is fine.

Found a typo when HD folder is set. Message misses a "set" i think. 
Testing Mirrors 
Now that GL works for me, I'm gonna test the heck out of stuff, like mirrors!

On E1M5, at the position of the screenshot FifthElephant posted above (#1378), the mirror just becomes solid for me. I see what's causing this -- if both those windows are onscreen at the same time, the one on the right becomes solid (to prevent the mirrors seeing each other, I assume). If you adjust your view so that only one of the windows is on your screen, it will become correctly transparent.

On the Start map, if I set r_texprefix_mirror tlight07 and go to the E1M1 gate room, the light textures are mirrors, but if both the lights are within my screen area (even if blocked by the slipgate), the one on the left becomes.. garbled, looking just like FifthElephant's screenshot, except it's STILL a mirror and I can see my reflection in it....

What I'm really wanting to see is r_texprefix_mirror *teleport ... but that doesn't seem to work.

And you get some weird effects using +0slip or slip1

cop3_4 (the rune floor stone near the start) looks cool, but does weird things, heh. You can get the other one (past the teleporters) to work, but you have to make sure your screen isn't pointing back at the first one.

city4_6 or city4_7 are fun... Glitchy mirrored floor!

Too bad *water2 doesn't work...

wizwood1_8 looks cool! Mirrored ceiling in center area, though the surface is glitched, and it seems that fullpitch glitches it out (ah, that's what was messing with the rune stone floor square too) -- if you look all the way up or down it flips the mirror weirdly.

wizwood1_5 is really weird... it's the angled ceiling in start area.

Yeah, I know I'm making this do things that were never intended, heh, but it's fun to play with.


How about making it a list, so that we can specify multiple textures to make mirrors?

like:

r_texprefix_mirror_list window02_1,tlight07


Speaking of lists..... bolt1.mdl is still in the noshadow list, heh. Just remove it - it doesn't exist. You already have bolt.mdl in there. And the lavaball and k_spike got added in; that's nice. 
 
Running full screen at my netbook's native resolution (1024x600) I noticed some un-smoothness. So I set host_maxfps 60 and things look smoother (that's my netbook's refresh rate), but then I got some tearing. So I set vid_vsync 1 and after restarting, DX looks much better with no noticeable tearing, but the GL version still has tearing... vsync doesn't seem to alter it at all (even after restarting it).


Hm, gl_overbright 1 causes a pretty nasty FPS hit on DX. I was toggling it to test -- I usually keep it off in DX, due to it making fog ugly -- so here's another reason it's bad (at least for me) in DX. It doesn't cause these issues in GL. 
^ Issue 
Baker, this WIN_ResetDeadKeys function I contributed to SDL might help:
https://hg.libsdl.org/SDL/rev/e9dd9ecf3fe5

If you press the ^ key on a German keyboard (below esc), the next key you press will have an accent (I forget what windows message types it affects, but generally Windows will try to send your program an accented character). Calling WIN_ResetDeadKeys between the ^ and the next key will "undo" pressing the ^ key and make it so no accents are delivered on the next keypress. There's some more info on the blog post mentioned in the comment, which is where I got this method from. 
@ericw 
Thanks! Question:

It looks like this code is meant to be called after a WM_KEYDOWN?

Like you get the scancode, then run that code afterwards ...

Which would prevent the next character from
happening in this specific circumstance. 
@mfx 
Found a typo when HD folder is set. Message misses a "set" i think.

Could you explain this? 
Condump.txt 
Scancode: h 104 ascii 0

Scancode: 0 ascii h 104

Scancode: h 104 ascii 0

Scancode: d 100 ascii 0

Scancode: 0 ascii d 100

Scancode: d 100 ascii 0

Scancode: f 102 ascii 0

Scancode: 0 ascii f 102

Scancode: f 102 ascii 0

Scancode: 9 ascii 0

hdfolder (command)
Scancode: 0 ascii 0

Scancode: 9 ascii 0

Scancode: 13 ascii 0

]hdfolder
Scancode: 0 ascii 0

Set high content resolution folder. Set to "" for none.
Current HD folder is to "hd".
Scancode: 13 ascii 0

Scancode: c 99 ascii 0

Scancode: 0 ascii c 99

Scancode: c 99 ascii 0

Scancode: o 111 ascii 0

Scancode: 0 ascii o 111

Scancode: o 111 ascii 0

Scancode: n 110 ascii 0

Scancode: 0 ascii n 110

Scancode: n 110 ascii 0

Scancode: d 100 ascii 0

Scancode: 0 ascii d 100

Scancode: d 100 ascii 0

Scancode: u 117 ascii 0

Scancode: 0 ascii u 117

Scancode: u 117 ascii 0

Scancode: m 109 ascii 0

Scancode: 0 ascii m 109

Scancode: m 109 ascii 0

Scancode: p 112 ascii 0

Scancode: 0 ascii p 112

Scancode: p 112 ascii 0

Scancode: 13 ascii 0

]condump
Scancode: 0 ascii 0 
 
Current HD folder is to "hd".

should read

Current HD folder is set to "hd". Or..? 
 
Looks like I need to remove that dprint I used for testing because it spams. 
Yep 
Scancode spam annoys a lot 
New Version With Ericw's Deadkey Fix 
Current download: http://quakeone.com/markv

Ericw's deadkey fix, seems to solve this issue!

The spams are gone and touched up the hdfolder print that mfx pointed out. 
Baker 
It looks like this code is meant to be called after a WM_KEYDOWN?

Yeah, it should be safe to call it any time, but you probably want to call it after the WM_KEYDOWN that opens the console. In QS we call it when the console is opened / closed, or any time we enter or leave text input mode (for chat.)

The idea in QS is we are listening to WM_CHAR messages when the user is typing in the console / chat, so their keyboard layout is respected (QWERTZ, etc.), but in game we just use WM_KEYDOWN/WM_KEYUP. That WIN_ResetDeadKeys function prevents keys pressed in game mode that happen to be dead keys (e.g. the ^ key) from leaking over into the text input in the console.

MSDN link describing the messages that are sent when the user presses '^' then 'o' on a German keyboard.

It's all very confusing, hope this makes sense somewhat! 
First | Previous | Next | Last
This thread has been closed by a moderator.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.