The worldspawn "fog" key is handled by the engine, it should work in id1 with MarkV (and most engines). Maybe bastion/marcher is resetting it via QC.
My answer was for the simple question of setting fog values via an external(.cfg) file, now I see your problem!
i have a map with a worldspawn settings something like
fog_colour x y z
and after loading this map in AD the fog appears correctly, then i put the very same map in the id1/maps folder and run it from the vanilla game
there's no fog at all
until i manually set the fog numbers in the console, what gives?
those are AD-specific fog keys.
Try: "fog" "density r g b"
Have You Just Tried...
"fog" "Density R G B"
All on one line for stock id?
Try: "fog" "density r g b"
i put this line fog 0.015 0.35 0 0
into an *cfg file without the quotes, but no avail.
Sorry, put it in worldspawn, not a cfg file :) i.e. the worldpawn key is "fog" and the value is "0.015 0.35 0 0"
yay, it's working this way. silly me. Thank you Eric and damage_inc
Hey, I require help
Whenever I try to launch any of those 2 executables using:
./mark_v_linux or ./mark_v_winquake_linux
I get following error:
bash: ./mark_v_winquake_linux: Permission denied
Double-clicking doesn't work either
On manjaro, hope anyone can help
chmod +x mark_v_winquake_linux
Has done the trick for me, it works now!
Marcher / Bastion Imps Sprite Issue
I was playing back some demos of Spy's work-in-progress map in 1.36 and the final frames of the imp fireball (the impact only) show up as non-transparent. If this is not a known issue, or repeatable I can try a screencap to make this a bit more clear. Works fine in other engines. Notably Quakespasm-admod
I've ran into this.
Which sprites are you using?
Kinn original: uses black for transparency requires enfine with support for .png override textures (e.g. Darkplaces) and additive mode.
AD: Not sure.
Keep: I converted all mine to use pink transparency for full support on all engines.
It's actually an older map of Spy's that he's working on getting ready to release pretty soon. Not sure what assets he was using.
@Spy are you using the same assets from the original Bastion/Marcher maps?
@dumptruck_ds Kinn Sprites
Mark_V enables external textures by default, so set external_extures to 0 and reload the map
or just delete all of *.tga files from the sprites folder, they are absolete now
Mark V's adaptive FOV calculation method seems to be quite different from QuakeSpasm and original FitzQuake. I need to increase FOV by about 6 to get the same field of view as in QS (using a 16:9 display). Of note, QS just does vert- when you set scr_sbaralpha 1, while Mark V does hor+. Not sure which method is preferable, however, it's possible that Baker based his adaptive FOV calculation on specific scr_sbaralpha and viewsize values. In particular, setting scr_sbaralpha 1 and viewsize 100 gives about the same FOV as in QS with full screen view point (that is scr_sbaralpha 0). But nowadays most people are probably playing with the transparent HUD, so this just results in smaller FOV.
I have finally come across a solution to my problem. It turns out that I actually didn't have pak1 and pak0.pak. I thought I did, but I didn't check my ID1 folder. Long story short, I found something which contained both pak files and copied them over.
I love it. It runs like a charm:
I'm so sorry for wasting your time over such a dumb mistake of mine.
>looks like glquake
Missing PAK files was the problem?
How does that happen? If I remove my PAK files and try to run Mark V, I immediately get a popup error message saying it can't find the pak files.....
Maybe corrupt pak files?
My laptop is 10 years old, I'd rather not...
Also, it's my first time using this sourceport, so I haven't tweaked all of the settings yet. Though, I'd love that to change. :)
Funny thing is, there were no .pak files at all in my ID1 folder.
The .pak files' contents were actually extracted to my ID1 folder, but the .paks themselves weren't there. Interesting.
Interesting! You may have found "an issue."
I tested with unpacked pak files, and Mark V does indeed just crash without any meaningful error message.
These alternate engines I tested work just fine with unpacked pak files:
Unpacked pak files should be an acceptable setup... so... Mark V should be able to handle that.
Anyway, if you're interested in tweaking Mark V with all kinds of setting which make it look better (in my view), I have a page with downloads and settings to alter: http://www.fvfonline.com/fitzquake.php
Then come play FvF :D
Any interest in bumping Mark V's limits to make it Sepulcher-capable? cf. comments 1661/1662 above.
Also, can anyone say "sepulcher-capable" five times fast?
@Johnny - Some day ... whenever I do the next version of Mark V, which doesn't feel soon.
So It's Dead Huh?
And just when I finished compiling a nice list of bug reports and suggestions. Disappointing.
Gotta love the internet.
So Baker writes "not yet but I will" and you interpret that as meaning "it's dead", eh?
What's this I hear about Quake finally being dead? Oh well, it was fun while it lasted. I guess we can all move on to Unreal Tournament now.
You Mean UT2k18 Aka.....
....Quake Chumpions lololzor
I think you've posted some well thought-out comments, including some refreshingly detail oriented ones. This thread is intended as permanent record of feedback so none of the information is lost.
NightFright could tell you stories, there is an obsolete older Mark V thread here with 2500 posts and his observations about obscure mods + crashes, a few which have led to improvements in Mark V and also Quakespasm -- over time ... it was not quick at all! Ironically, maybe 2 which ericw pointed out solutions, ericw didn't actually do them in Quakespasm until way, way, way later.
In free projects the author is always vastly outnumbered and with limited time and a real life.
@adamer - I'm glad you determined what was up with that (your pakless setup). Sure, in theory it "should" work (except it doesn't in Mark V) and it sounds like it works with other engines, but in practice an actual Quake install whether from Steam or the CD or shareware has pak files -- so yeah ... I'm glad that mystery is solvd.
@QMaster - re:Marcher --- I like the attention to detail/testing/thought it sounds like you are doing with your Uber mod.
I hope that one day I can do another test run as intense as the one I did before that big Mark V update back then. ^^ IIRC there is still at least one issue kinda pending with the final map of Malice when fov changes after reloading the game. It must have to do something with the boss attack and how the port handles the short-term fov changes. It was supposed to be fixed, but a few months ago I managed to get the problem again/still. Need to see what became of it.
is the mod adjusting the fov or is it standard quake
oh reread the post i guess its an evil thing malice does
mods shouldnt ever change the users fov. could bean easy fix
In case you decide to pick up your work at some point in the future, here's my final bucket list for the current version of Mark V. Some bugs, some missing features, and a few things that I think would be beneficial to implement.
- BUG: death camera doesn't reset if you quickload at least once, die and press space to restart the level from scratch.
- BUG: game stutters for a few seconds at launch (or every vid_restart), sometimes leaving the audio permanently cracking.
- BUG: parallax skies are noticeably darker than vanilla GLQuake.
- BUG: vid_multisample does nothing.
- BUG: r_bloom makes textures look grainy, maybe the bloom pass is set to nearest neighbor?
- BUG: adaptive FOV is smaller than it should be, I need to set my FOV to about 96 to get the same FOV as 90 in QuakeSpasm and DarkPlaces (using a 16:9 display). Basically FOV 90 should adapt to FOV 106 in 16:9, not 100.
- BUG: TGA alpha mask isn't properly supported, e.g. font replacements have white outlines.
- No protocol 999 support, crashes when loading Orl's maps like Ter Shibboleth or oms3_2.
- Remove the whole "opengl32.dll found" shenanigans, in this day and age it is most likely a graphics wrapper like ReShade, not the 3dfx driver from the original GLQuake package from 20 years ago. Don't make people hex edit your .exe to get some post-processing effects going on.
- Unlock the OGG support for external music, Mark V already supports it internally, why comment it out on purpose?
- Add optional HUD filtering, nearest neighbor looks bad at non-integer scaling values.
- Add PNG support in addition to TGA.
- Add the "N64 style" minimalistic status bar layout as seen in DirectQ/qbism/RetroQuad/etc. Crazy convenient.
- Add (integer) HUD scaling for the software renderer.Some info on this:
- Add alpha/fence texture support for the software renderer.
- Switch the software renderer from 8-bit to 16-bit to have enough colors for colored lights and proper transparent water. This is what RetroQuad is doing. Or Half-Life for that matter.
Baker, do you have some public repo for this project, or just this zipped sources?
4 player coop with quake spasms controller support is my only wish list item
- Switch the software renderer from 8-bit to 16-bit to have enough colors for colored lights and proper transparent water. This is what RetroQuad is doing.
It isn't. Retroquad renders everything in 8-bit color, using 8-bit tables to access a single 8-bit indexed color palette. The tables are generated from 24-bit color data upon booting up the engine.
Retroquad doesn't use 16-bit color anywhere, and it doesn't do any direct-color transformations in realtime.
Baker, do you have some public repo for this project, or just this zipped sources?
The source code is in .rar format. ;-)
FQ And QS?
Silly noob question time:
Can Fitz Quake happily coexist in the same folder so as to share the same Id1 folder and the like?
Mark V and Quakespasm.
I have been putting Mark V, Quakespasm, FTE, Darkplaces etc in the same Quake installation for years and see no problem other than the save game incompatibility between Darkplaces and others, which is in itself easy enough to fix manually.
That's good news. Thanks for the reply.
Broken Links On Home Page
Hey. Just thought I'd let you know that there are a couple of broken download links on the Quakeone/markv page.
The Undergate download is broken and so is the Frogbot mapset.
I presume it's something to do with the 'updates' that went on there a while back... :)
Also: Why Doesn't This Autoexec Not Work?
bind "AUX5" "+jump" // jump on L1
bind "AUX6" "+attack" // fire on R1
bind "AUX30" "impulse 10" // cycle on dpad-R
bind "AUX32" "impulse 12" // reverse cycle on dpad-L
Can you define "not work"?
I create an autoexec.cfg file with the above text in it (a standard vanilla Quake cfg for controller support).
Mark V doesn't recognise it properly. The console says the engine loaded the autoexec file but the controller doesn't work at all in-game. No response on any button press or joystick movement.
It used to work in older builds of Mark V and Fitzquake. Just not Mark V 1.00.
Check your syntax. Unless I am on crack many cvars need the quotes.
I don't not know why it doesn't not work. I mean, the autoexec itself works -- it's just that I seem to recall that joystick support was simply disabled at some point in Mark V.... So yeah; it used to not don't work and now it won't don't not work.
Baker will have to make it so it doesn't won't don't not work when he gets back to working on Mark V again. It's as simple as that.
There is a workaround though -- you need to use a program that turns your joystick into a keyboard emulator. Something like JoyToKey or Xpadder. You might need to look for older versions of those programs, if the newer versions are no longer free. AutoHotkey can probably do that too, but is a bit more fiddly.
Good luck getting your joystick to stop won't don't not working.
Linux Build And Music
Is it possible to play background music with the current Linux build? Can't get it to work.
it only supports cd audio on windows, and directsound is of course windows-only and artificially limited to just mp3.
Yeah, the joystick code in Mark V is not quite correct.
If you dig deep in the OLD Mark V thread (Google up FitzQuake Mark V), a user with a joystick kindly posted instructions on how to make it work well.
I don't have a joystick, so I messed something up when I was trying to be "cool" or something.
/Mark V supports mp3 music on Windows and the Mac (and in my private experimental build, on the iPhone as well), but not Linux mostly because I didn't have time to get that up and running when I was making the Linux version.
Someone should donate a cheap dual-analog usb gamepad to Baker so he can test this stuff.... You can get them for like $5-$10 on ebay.
Or if you wanna get more fancy, get a Logitech F310 gamepad ($10-$15), which has a switch on the back that lets it change between using XInput/DirectInput, for thorough testing.
Currently Mark V reports that it detects when a joystick is connected, but can't seem to detect any input from the gamepad, using either input method.
Where Can I Get The Most Recent Version
of winquake_gl? the latest packages don't contain it. Is there an archive somewhere?
just found the archive
Within the next week, I expect to release a new version.
1) Optional Mouse driven menu video
. The video doesn't do it justice how convenient it is.
When you have mouse driven menu, you use the menu about 8 or 9 times faster and it becomes far more convenient. You just click away.
The menu looks like the Quake menu is 100% the same keyboard menu, it just is mouse capable also.
2) Fix tool inspector glitch, the save game glitch Pritchard pointed out.
Time has not been one of those things in much supply lately.
I'm very excited to try this new version out. Looks very cool and I LOVE that Levels menu. +1 GG and all that.
what's the lowdown on glwinquake? is the most recent winquake gl and not labeled as such? was it discontinued?
Just wondering if controller support will be re-implemented in the upcoming release. :)
I think sv_aim belongs in the preferences
It's a subtle distinction, but sv_aim is a server-side cvar whereas the options menu is client-side.
What that means is that a nonlocal server could override if it was set from the options menu.
What it also means is that a client may not actually have permission to change it.
So on that basis I disagree; it shouldn't be in the options menu.
I love the new lightning-bolt effect in Mark V, but i also love the classic particles in the other weapons.
Is there a console command that changes only the lightning-bolt effect? :/
OGG support please! (For reasons I mentioned above in #1767.)
And this would apparently be a really simple fix, since Mark V already plays OGG format -- it just doesn't bother to look for OGG files ?
Does MarkV play ad_sepulcher?
How about adding lit support for the Winquake port?
Mark V - Build 1050 - Ultimate Mouse Driven Menu Edition
Direct X 9 - Mark V 1050 - Windows
* Fully mouse-driven menu yet it is the classic menu.
* Tool_inspector works again. (Pritchard)
* Load game + death bug fixed. (Pritchard)
* Numerous other small enhancements/tweaks.
Special thanks to Pritchard in particular for bug reports and so it took this long for some of them. And probably Gunter when he isn't annoying or ticking off MH. Thanks to all other providing feedback, bug reports, suggestions, criticisms. And perpetual thanks of course to MH, Spike, ericw and metlslime.
I had hoped to get this out a day or 2 ago, but I wanted to get the mouse-driven menu tuned to exacting specifications.
Also mouse-driven was very, very, very hard to do. The Quake menu code is some of the ugliest in existence.
@killpixel, c0burn - I expended all my energy getting this across the finish line. It was harder to wrap up than I expected. @ Tribal - yes, and maybe Gunter will make himself useful and tell you how (type "find qmb" in the console and it tells you different cvars to turn stuff off) -- because I'm a bit sapped.
(mh note: scr_sbaralpha doesn't work with DX9 -- tried some tweaks/hacks but still failed -- and is the sole deficiency to what otherwise should be a rock-solid release. If some time in the future you had some time to check it out at a time of your convenience, that would be cool. No rush ;-) And thanks for your contributions!).
@1830 unnamed guy - "I think sv_aim belongs in the preferences"
Well, it is in preferences!! Haha.
You're awesome =D
"And probably Gunter when he isn't annoying or ticking off MH."
I don't think that ever doesn't happen.
It looks like the previous issue has been fixed where you could see "the sky" through entities. It doesn't seem to happen any more. (#1665)
You can still see shadows though entities but only if you have set r_shadows 3 (I know those are experimental shadows though).
I have a transparent fake player guy inserted by the ent file, and he is only transparent if I set gl_fullbrights 0. If I set it to 1, he's solid. I'm sure I've mentioned this before. Ah yeah, looks like it has to do with fullbright textures (#1082, #977). That probably wouldn't be the same issue with the scr_sbaralpha.
gl_overbright_models 1 can also allow weapon models to be properly transparent when you have the ring, but not the transparent entity guy.
Yeah, as Baker said, you can use "FIND QMB" to see all the QMB effects. If you really wanted only the lighting effect, you'd have to have "QMB_ACTIVE 1" and "QMB_LIGHTINING 1" but have all the others manually set to 0!
I would suggest doing "FIND QMB" then type "COPY" to copy all those variables to the clipboard, then paste them into a text file and edit the file to remove unnecessary text and change the values of everything to 0 except the things you want. Save it as a cfg file then you can just exec it.
Gunter +1. He might know the engine better than myself, haha.
Let's man up. Besides I am feeling the code rage ...
March 9th. New feature.
I shock your world. SUBMIT!
Marking The Calendar
It works like a charm =D
Tho only thing weird is when I set the command "qmb_blood" to 0 it doesn't change the blood to particles, it mixes red particles with blood sprites o_O
Hey, you're right. "QMB_BLOOD 0" doesn't deactivate the QMB blood.
You found a bug for Baker to fix!
You're an honorary Junior Grade Gunter now!
Find about 500 more bugs and you can almost reach my level ;D
scr_sbaralpha doesn't work with DX9 -- tried some tweaks/hacks but still failed
Had a quick look over the code; you don't seem to be setting glTexEnv (GL_MODULATE) when drawing alpha pics in the status bar (compare with the setup for Draw_ConsoleBackground). In theory that shouldn't work in GL either, so I guess you just got lucky that drivers accept it, but you really should fix it for both.
That fixes it.
Interestingly, it's also a bug inherited from the original FitzQuake code, so it's been around for a while.
Hello and thanks for the this great engine!
I was making some tests running custom code for a mod and using "eprint" to debug some entities. However, this is making Mark V run unplayable with very low fps. I think it might be a bug, because other engines doesn't have that problem.
Also, loving the mouse features.
Congrats On The Release Baker
Mouse Driven Menu
feels really good, thanks!
Finally fired this up today. It's great. The mouse menus are very nicely engineered. The engine is snappier too I think. GG
@mh - oops! Thanks! I'll see if I can fix. I'm glad you are always in "rendering godmode" because I shift and fade focus. Haha!
@ericw - Thanks, obv! If you weren't around, I think I might feel alone because mh and Spike seem to know everything and it feels like only you and I have to scale up and grow, haha!
@dumptruck - Yeah, time and energy expended to make it perfect. Meticulous.
@hipnotic rogue re: joystick - I care about joystick. Right now, I'm not zoned into that but have "THE QUAD" running in some other departments and I need to kill the monsters my QUAD can nuke quickly as I don't have unlimited time.
@fifth - Thanks! I haven't forgotten about about joystick/four player. I need to level up to that point, killing some zombies immediately in my sight that I can kill. I want to see if I can reward Spirit emotionally. Spirit has made big sacrifices to build something awesome/nigh impossible and in my heart I want his ideals to come true. Plus when I see people stressing Spirit out every once in a while or accusing him of not doing enough, I just don't think that should be the reward for building something.
@epiolon - '"eprint" to debug some entities' Ah, I'm not Mr. QuakeC so I figure that is QuakeC printing of some sort .. perhaps a more QuakeC dev can translate to what causes your issue.
I think we need to blame Gunter that you found a QMB cvar bug. I am really disappointed that Gunter let that slip by his bug testing.
I expected more from him, haha!
Standard Con_Printf will do a full screen update.
This is really useful if you're printing some text and you want to see it on the console right now.
It's painful if you're doing lots of small Con_Printfs to print, say, an entity, because each entity printed could trigger tens of screen updates.
If you have console logging to file always on it's also going to be constantly hitting the disk - again, tens of disk writes per entity.
Changing ED_PrintEdict to use Con_SafePrintf can help with the first. For the second you really need to do what the doctor said when you told him it hurts everytime you do this.
I look into that, I get your drift. It isn't priority #1 on my list, but yeah message received.
Addendum: Despite 12 beers to end a wonderfully chaotic weekend, sounds like an easy fix.
March 9th surprise is going to be a total blast!
Con_Printf's screen refresh kinda sucks.
1) its slow!
2) ANY prints inside the drawing code results in recursion, and then more recursion, and then eventually CRASH! catching out many newbies.
3) if your drivers are tripplebuffering then its going to show the wrong print last, which makes it really misleading.
4) a number of frameworks don't allow you to swap buffers yourself making it a complete waste of time.
If you trust the engine then its redundant anyway - win32 engine devs are probably better off using OutputDebugString, while unix users will have working stdout. Its really only dos that 'needs' prints to be displayed onscreen NOW.
imho just redraw the screen only when developer is set (and when not recursing), then users can won't be sitting around waiting for the loading screen.
The one exception is with the connect command, but imho that should be made to be non-blocking anyway.
in the mean time, disable vsync.
I will avoid using the function for now.
But seems like there's no vsync option on Mark V (and i usually disabled it because of input lag)
if you do "find vsync" don't you find vid_vsync?
Maybe it should be a menu option!!
*hears Baker frothing at the mouth*
Hey, I gotta leave a few bugs unreported so everyone else can experience the thrill of ... reporting bugs!
Hm, it looks like I did mention in #653 about blood and fullbright, which you looked into but couldn't exactly fix. mh mentioned there's a 1 and 2 setting for QMB blood. I had suggested adding some standard particles into the QMB effect to allow some fullbright to still happen.
Tribal mentioned: "when I set the command qmb_blood to 0 it doesn't change the blood to particles, it mixes red particles with blood sprites"
I am not at my Quake computer at the moment -- I'm wondering if maybe you did mix in some regular particles for the 0 setting, instead of disabling the QMB effect.... If not, you should have a setting that does do that! I guess qmb_blood 3, if both 1 and 2 are already used. What is the difference in them?
MarkV seems to have console debug logging enabled by default, so it does hit the disk for every Con_Printf, meaning that debug printing of entities will be incredibly slow.
Glad to hear you're still working on the split-screen.
No idea if borrowing the controller code from QS is possible but I'd say it works best there by default.
I'd say that having multi-controller support/setup would be best placed in the multiplayer setup menu.
Would be awesome if going into the multiplayer setup menu also dropped straight into split-screen and each player could adjust their own character colour, name and bindings.
I suspect it'd be a huge undertaking in code but would be super awesome for couch gaming, something that would probably go down really well for those who launch through steam etc.
So Where's This 9th March Surprise ;)
That's The Surprise
He vanished. Not exactly what we all thought or needed, but definitely a surprise! :P
I Predict STILL Hungover.
It seems that QMB_BLOOD 0 causes all kinds of particles (not just blood) to be a mix of QMB + Standard particles -- my blue water splashes and grey chat smoke, for example (I use lots of particles in FvF).
Also, OGG support, please!
Update! Part 1 ...
No I didn't vanish. Despite my stupid drunk posts, which when I get the time I intend to apologize to snug for ... I had some "coder frustration overload" + way too much beer.
Which is a nice reminder of why to patient, humble and kind. Coding is like a deathmatch against unmovable objects. You lose. A lot. Sometimes hard.
It is not fun to lose, nor lose hard. And I did not take it well that particular day.
Update Part 2
I missed the target date of March 9th.
I expected rolling over the coding problems and instead got socked with several deep and severe issues. The issues kept building and building.
Eventually, I toughened up and geared up for a brutal fight. One which I won 3 hours ago.
24 hours: Version 1.70. Part 1 of 2.
Both Part 1 and Part 2 are going to change things quite a bit.
And I'm not going to ruin the surprise, but a couple of developers likely suspect what's up.
Add: Many people may think Quake is dead.
It isn't. Quake isn't dead. It is asleep.
In the next 24 hours, we will not be waking up Quake.
But it will be great eye opener of precise the manner of which it can be done!
He goes from "drunken poster" to "vague mystical guru posts."
Either way he's working on Mark V, so it's good.
I also need to get drunk. Otherwise I am not able to understand these mysterious announcements... xD
In the next 24 hours, we will not be waking up Quake.
Quake will be waking us up. Showing us that what we thought was reality, was in fact a dream all along.
Looking Forward To It
Really enjoying 1050. Although I am getting a water warp message in developer 1 even when there are no liquids in the map.
Will It Run
... all maps of the latest "Arcane Dimensions", that's what we are all wondering about! :P
But seriously, right now I wouldn't know how you could significantly improve Mark V beyond its already impressive feature list. Baker implemented pretty much anything I asked him. Sure, OGG music support would be nice, but Baker's teaser indicates it's gonna be a lot bigger than that.
I Dunno, Ogg Would Be Huge
OGG support, please!
Hey, how does everyone else pronounce this engine's name?
I was on Discord talking with a guy who is doing some Quake streaming on Twitch (twitch.tv/dirtgod) and he was saying "Mark 5" but I always say "Mark Vee" ... :?
V Is The Roman Numeral For 5
I was born in MCMLXVIII
Yeah, V is the Roman Numeral for 5, but with Mortal Kombat X, for example, X means 10, but the official pronunciation is "Ex" (says Eb Boon: https://twitter.com/noobde/status/473572797684256768?ref_src=twsrc%5Etfw
X is 10 because V is 5 and X is an upside-down V with another V above it. 5+5=10.
This is a case of video game marketing and communities ignoring an ancient numbering system from one of the most powerful empires in history.
Who wins this one?
Mark V Build 1080 + Touch Screen Support (iPad/iPhone)
Download: Windows | Direct X | Linux | WinQuake
(Plus a WinQuake GL for KillPixel and a couple of others)
Source code: here
iPad/iPhone source code is in there.
* Full multi-touch iPad/iPhone source code for an experience rivaling Minecraft for the iPad in user-interface.
** Drag look just like Minecraft
** Adjust sliders in the Quake menu by touch
** Optional support for bluetooth keyboards like the $7 ones
at Walmart that support iPhone and Android.
** Tap fire. Double tap on the Ogre to fire at him if you like.
** 5 taps to host a "New Game" (cooperative).
** At the moment, it is the WinQuake build, can't muster up the stamina for the Open GL at the moment.
** Thanks to Mark V LAN discovery borrowed from Spike's fine work, "Join Game" for a LAN game is a breeze, just like Minecraft.
** Any map that works in Mark V, works on the iPad. But the iPad gets lower frame rates than a desktop, so standard Quake maps are plenty fast but it is likely that a 400 monster map with open spaces would run unacceptably slow.
* Mouse-driven menu on Linux and in WinQuake
* Touch Screen mode that I hope works on, say, Fifth's Surface Pro. All builds have a touch screen option in video options. Unfortunately, I do not have Surface Pro so there is not multitouch support, I would not be able to test it.
* Direct3D sbar alpha works thanks to MH's tip.
I may or may not take a quick stab at an Android port. If I were to do such a thing, it would likely be basically done in a 48 hour period. My main concern is that I think for Android I was use SDL2 and if I recall, SDL2 had a sound lag issue for me on Android -- and if it sound lag, I would be irritated.
This is Part 1. Part 2 comes in a few days, has nothing to do with mobile devices.
@Tribal - I took a quick look at the qmb_blood option, isn't quite the quick fix I had hoped. Thanks for the bug report.
The LAN discovery feature is good news! As for iPad support I am... bemused but entertained? :-) I am inclined to steal my wife's iPad mini to check it out, altho looks like I'll need to figure out how to build it?
I've Got A Surface Pro 2...can Test Later
But I can't think of a use for multi-touch unless the Win10 build also has the touch controls for movement.
And I was concerned with your health... Coding and drinking doesn't go well for me, so I never drink.
"Unless the Win10 build also has the touch controls for movement."
Video Options -> Touch Screen
Without multitouch, you can only touch one thing at a time, which sucks compared to the iPad version where you can press 3 things on the screen at the same time.
@johhny - To build for an Apple device, you have to have a Mac. My source code is friendly, you literally click "Build". But the sticking point is having a Mac. Plus, iOS has some new red tapes that iOS 9,8,7 didn't and the project probably doesn't meet those red tapes so you might have small chores like making a 98x82 icon and a 196x163 icon and 10 other pesky nuisances like that.
That being said, playing on the iPad version is un-fucking believable. When I got the multitouch interface working right and then loaded it up, I was not prepared for the level of awesome.
Thanks! Nah, my health is 2x awesome.
I encountered Level 92 frustration developing this version, it was so frustrating at one point.
I had to get real tough and prepare for a dog fight in the mud. Obviously, I rose to the occasion. Besides, can't have mh or Spike thinking I'm not hardnosed like they are, haha!
multitouch is surprisingly useful for touchscreens even if not explicitly needed by the app's UI, just for example having it not ignore a second tap because your finger from the first tap hasn't fully lifted off the screen yet, or, not completely ignoring everything you do because your hand holding the edge of the tablet is slightly touching the screen edge.
Techical Note @ Qmaster
On an iPad, you can touch 16 things at the same time.
If mh reads this, he may recall I implemented his "single point of checking mouse state per frame" mouse input paradigm long, long ago in Mark V. This version of Mark V extends that philosophy to the touch controls activation/deactivation and it was at first a major nightmare, but then it collapsed in simplicity and beauty after a dozen revisions.
I have the multitouch tracking everything.
The user interface only acknowledges one press per button where the whole screen is a separate button.
To access the menu, you press a transparent triangle hint in the top left corner.
A funny thing, I was thinking of you off and on while writing this. To the best of my knowledge, you and Sleepwalker are the only other 2 that I know for sure is familiar with the ins and outs of the Apple interfaces and while well conceived, they required quite a bit of learning to use properly.
But There Will Be
... a new OpenGL build, right? That's the one I am religiously using!
Is there something that the DirectX 9 doesn't do or some specific reason it doesn't meet your needs?
The DirectX 9 version is, in my view, absolutely superior in every way.
1) Does everything that the Open GL does (99.9% on that).
2) Vastly higher frame rates that blow away any other Quake engine except DirectQ and only eeks out a small win against FTE Open GL (FTE Direct3D likely beats Mark V Direct 3D because FTE has better rendering code). MH's extreme craftsmanship of the Direct3D 9 wrapper allows Mark V Direct 3D super-speed despite the fact I should rewrite the underlying rendering to probably get another 75% to 100% speed gain.
3) Bad Open GL drivers? NVidia doing a wacky update -- Direct 3D is immune! Can't happen. So stability + reliability +++. I get a bit tired of NVIDIA doing some update and it breaks something in Open GL, but the Direct X cannot be updated by NVIDIA (this is my understanding at least, and I think I am right).
Those are my thoughts.
What does your Linux version use? I'm clueless on this stuff but hope to have a Linux machine up sometime soon. Also any clue as to why I am getting a waterwarp size is 1024 message in developer 1? No liquids?
Hmm. Lots of duplicate symbol errors when linking the iOS build, conflicts between input_surface.o and various other .o files.
My first guess was that it might have to do with eval_flags/eval_frags being declared as int rather than extern int in progs.h, but changing that didn't help anything that I could see.
Will give it another whack later.
Waterwarp Size Is 1024
I think that message comes from code I wrote. I'll review it hopefully tomorrow and see what the cause might be.
I use Ubuntu but the Linux binaries works on a fair number of other Linux distributions, or so different Linux users have said.
@ johhny - if I recall, there are 288 source files but if sometimes seeming randomly -- like maybe if it targeted the simulator or a generic device? -- XCode would try to compile 568 files. I plugged in an iPad and targeted that and it works fine. I am using XCode 8.2, I think the current version is 9.2 and since it seems like every XCode upgrade introduces some quirks/inconveniences to tackle, I put off upgrading a bit. Short version: Couldn't quite say,
OK. I'm targetting simulator at the moment. Will wait until later when I can plug in the iPad.
@johnny ... be sure create a folder called id1 in Documents on the iPad and throw pak0.pak (and pak1.pak) in there.
I can't remember the method to put files on an iPad offhand.
Note to self: Use Mark V http download offer to download pak0.pak or something on startup if it doesn't exist in the next revision.
Direct X V1.80 Build
I have taken a quick look at the Direct X build and it seems to look and behave just like the OpenGL one, so I stand corrected with my prejudices. I cannot say much about speed differences, but it feels smooth alright.
Still missing my favorite gl_nearest_mipmap_linear option, but besides that, it's all fine.
Is this build capable of running all the new maps of Arcane Dimensions now, btw?
I need to add Sepulcher support. It is on the "todo" list.
My first priority is getting new unreleased capabilities off my hard drive and into reality.
Then I'll be adding things like Sepulcher support, etc.
Go to Video Options -> Pixelization.
I'm 99.9% what you want is in the DirectX 9 build.
Let me know.
waterwarp size is 1024
This is just a notification that should only happen at startup and when/if the video mode changes. If it's happening more often (every frame) it's a bug. It's nothing to do with water surfaces but is rather used for the underwater warp effect.
It happens even if the current map has no water because the next one (or the previous one) might.
The alternative is to destroy and recreate the texture each map, which could lead to extreme video RAM fragmentation, or to create it on-demand which (in addition to fragementation) could cause runtime hitches and stalls. So I decided instead to burn a little extra memory in exchange for performance.
This should be fully supported; I've reviewed both my original wrapper code and the MarkV implementation and can confirm that.
I actually checked explicitly for that. The only options for the pixelated look are gl_nearest and gl_nearest_mipmap_nearest. Just like in the previous (OpenGL) builds.
Smooth mipmaps transition ftw! ^^
It should be settable from the console though. If something's missing from a menu option it's nothing to do with the API used.
Egads. I version 1.36, I had gl_nearest_mipmap_nearest. Then I knew it needed to be the "other one".
So I switched it to gl_nearest_mipmap_linear. Then I forgot I did it.
Then I worked the todo list and switched it to the "other one" again and since it was gl_nearest_mipmap_linear in the source, I changed it to gl_nearest_mipmap_nearest.
Then basically you switched it twice so it was effectively as if you had never changed it?
Well, now please just change it ONCE again and I can die happily. ;)
I'm trying to cause this developer 1 + r_waterwarp message, but not having any luck.
Line 812 of gl_texmgr.c is where it happens.
Mark V - Buiid 1081
Direct X | WinQuake
- Windows rebuilds
(killpixel's winquake gl in there too)
Got rid of dumptruck's warp message printing in developer 1 and another message that was spamming some, gl_nearest_mipmap_linear replaces gl_nearest_mipmap_nearest and fixed noticed the menu being drawn during QuakeC or demo playback or disconnect go to console.
That was a really fast fix. Thanks a lot, Baker! Another proof that Mark V should be anyone's favorite vanilla-style port since it's handled so well! :)
thanks for the update!
Mk V DirectX 1081 crashes to desktop without error message (just the usual Windows notification that the program "stopped working") when trying to use the remade ogre model by Chillo:
Download (1.0 MB):
Tested in E1L2, crashed right away. The model is quite big, but I dunno if that's what's causing the crash.
What engines is it known to work in? It looks like DarkPlaces and DirectQ.
Mark V supports 3984 verts, the maximum possible in WinQuake according to a note by aguirRe.
If it works in Quakespasm, for instance, let me know.
It also works in my original FitzQuake implementation that I built the D3D wrapper on.
Model loads without issues in latest Quakespasm 0.93 x64 build. According to QuarK, it has 1290 triangles.
Number of triangles in a .MDL file can be very differrent to number of triangles in an engine. Most engines will unpack them to strips and fans for drawing whih can change the counts quite dramatically.
Basically, it's completely unsafe to limit the verts in a GL engine to the same limit as is used in software.
@Baker: running a debug build should tell you exactly where this crashes.
Another Model Issue
Another of Chillo's models, the Shalrath, gives an error message when trying to load the model:
"Skin taller than 480"
Package with model (shalrath.mdl):
Ignore my last report. Just took a look at the Shalrath skin file, it's obviously a placeholder. It's just still about that ogre model, then.
E4M6 crashes with the Authentic model improvements pack. This used to work with previous (OpenGL) builds of Mark V.
Download model pack:
I could not identify which of the models is causing the problem.
Map Crashes (summary)
There are more maps that crash. I checked all maps of the original campaign and the model improvement pack does not work in these levels:
E4M6 (as reported above)
These maps likewise work fine in my original codebase.
It's obviously a model that's common to them all overflowing an internal buffer that's differently-sized in MarkV.
I found the model that causes the problem. If you remove the Fiend model from the improvement pack (demon.mdl), the maps stop crashing.
This leaves two models to be investigated, demon.mdl from the existing improvement pack and ogre.mdl from Chillo's release.
The only thing I can find as a possibility is mipmap generation for non-power-of-two textures.
In my original code I let D3D take over mipmap generation, whereas MarkV retains it's own mipmap generation.
These models have unusual texture sizes: odd numbers, not multiples of 4, etc. So when you go down a miplevel you need to be aware of whether you are going down exactly to half size, or if rounding down is involved, and depending on how the engine handles memory allocations for this, it may trigger a crash.
Well, curiously the models won't work with Mark V 1.36, either. I just tried. However, they should since I remember playing through the entire game at least with the demon model since it is already in the improvements pack.
If It Helps...
I just tested various DX9 builds from previous Mark V releases. The last one that works with BOTH models without crashing is 1.27 rev. B:
Starting at 1.28, the crashes start:
Hopefully that narrows it down for Baker to find what's causing this.
Time To Dust Off The Surface...
That is a high quality investigation, thanks for the detail that should make tracking this down easier.
I guess I'll do an OpenGL in the next one *only* for the purpose of trying to nail down what is going on with this.
I *do* want to know what the differences are and unwind this small mystery, but also I want to get some more new stuff out. I want to get new concepts off my hard drive and into reality.
Speaking of which. I expect a new version with something quite new in 24 hours. Maybe 36 to 48 hours because I had to kind of fork the codebase and need to "unfork" it to get the source code tidy.
This isn't the "big one". The "big one" is still a few days out.
@fifth - Really?
I thought you used your Surface Pro all the time.
Map Hard Crashes 1.81
I am testing maps for dm4 Jam on Mark V 1.81 One of the maps uses a trigger_once to trigger a map hack using an info_null using W_FireLightning
The engine freezes and I have to Ctrl+Alt+Del to kill it. Here's the map and source.
It's the large trigger once immediately after the info player start.
Map plays on most recent versions of DarkPlaces, FTE and Quakespasm
In Order To Avoid Misunderstandings
These crashes with high-poly models occur in both DX and OpenGL builds starting at 1.28, doesn't matter which one you use.
This also explains why I remember the new Fiend model working - last time I launched Mark V was well before summer 2017.
I rarely use it tbh, I may use it more since I get extra long lunches now and could map in them.
It has some issues with keeping charge and the keyboard isn’t great so this is why, plus I have a decent PC anyway
I remember finding out that the skin loading code for either SPR sprites or MDL models in vanilla WinQuake has a bad pointer arithmetic. I really don't remember exactly where it is though, but its badly offset by a very small value, something like 4 bytes. I remember being surprised that it didn't cause any crashes.
Dear Spike, gamers, programmers and Quake fans. Could any of you lend any knowledge about multiplayer capabilities for FitzQuake Mark V? Does one need to setup static ip, forward ports and establish DMZ for good old coop with a friend over the internet (local server)?
I found Mark V enging is very good and i love it. But Quake without coop is not complete.
As far as I know you simply have one player start the game as a host and the other type in the IP address of the host in the join menu, same as usual. 192.168.whatever.whatever.
On Windows you can do Winkey, type run, hit enter, type ipconfig, hit enter then look for ipv4 address.
You're assuming a LAN game tho. Cadaver747 sounds like probably he's talking about co-oping over the internet?
Baker would of course be the best guy to ask about Mark V's port usage. I'm pretty sure I recall that he's included some of the fixes done in a few modern NetQuake engines so that it only requires its single listen port (26000?) to be forwarded.
for engines using a single server port, just reconfigure your router to forward that sepecific port (26000 for nq servers, 27500 for qw servers) to your machine, then eg google for 'ip' and give that to your friend to connect to (don't depend upon windows - it'll show you addresses that are only valid on your lan, which is not what you want).
for other engines, you'll need to set up dmz stuff crippling your router's nat+firewall stuff, as get your friend to do the same.
all quakeworld servers+fte+dp+qss+markv use a single port for connections. the rest all suck big hairy donkey balls (including quakespasm) at least for internet coop.
this is not the only reason that most people favour quakeworld for online play, prediction is another significant factor...
sidenote: with the exception of non-fte quakeworld, the above engines all also support ipv6. assuming your isp isn't dragging their heals and generally being lame then ipv6 makes things cleaner by removing the need for NATs. You'll still be firewalled by any good router though.
lazy people: if your router follows certain ICE-friendly rules (eg most home routers but few business ones), you may find that just setting sv_public 1 on your server is enough (the heartbeats should automatically open your firewall/nat).
the other person can then use their client's menus to find your server according to its hostname cvar - if they can spot it. This should be true of FTE+DP+QSS, but I don't think markv supports any real master server protocol so good luck with that.
probably the server listed by the master will appear to use a different ip+port, that's just the nature of NATs, but means they can't use a direct connect command.
But again, this depends on the server's router, so it might not work. Setting up explicit port forwarding on your router should fix it for any other routers.
do not use 192.168.x.x over the internet. it will not work. 169.254.x.x won't leave your lan. 10.x.x.x is another unroutable one, 127.x.x.x is also not going to work, 172.16.x.x/12 isn't going to go far either , and 100.64.x.x/10 means you're fucked and need to get a new ISP (carrier-grade NAT - this would only be between you and your isp, so you're likely to be screwed without otherwise noticing it) - ipv6 is your only real choice when it comes to CGNAT, or just get the other person to host.
Mark V Multiplayer Works!
Thank you Spike! I tested Mark V 1.36 and 1.60 (beta) for coop with my friend over the internet today. It works like a charm, just a simple port forwarding from my external ip 77.50.xx.xxx to internal 192.168.x.xxx (for port 26000) and that's it!
You wouldn't believe what i tried to do to play Quakespasm online. Mark V rules!
Too bad not all maps from Arcane Dimensions currently supported by it. But i'm sure that'll be fixed in time.
Cadaver747, you and your friend could also try connecting to FvF, which is almost always in co-op mode. Then you don't have to mess with running your own server (though it sounds like Mark V made that easy for you anyway). Other people might connect to FvF and join you as well. It's... different than standard Quake, with lots of cool options and enhancements.
Arcane Dimensions (only 1 Map To Go)
Correction, only 1 map doesn't work, it's ad_sepulcher (The Forgotten Sepulcher).
Host_Error: ModLoadLeafs: 74168 leafs exceeds limit of 65535
Thank you Gunter, but unfortunately your server is not meant to connect from my country (Russia), ping is almost 150. The idea of implementing RPG elements in Quake is quite interesting though.
ad_sepulcher needs a bit more than just the standard "big map" support.
It's also the case that there are a handful of big static arrays scattered about the engine for which, by the time you move to supporting ad_sepulcher sized maps, you really need to move to dynamic allocation.
Finally, ad_sepulcher is going to run like shit in the GL version of MarkV because it still uses glBegin/glEnd code. It will run fine, but still far more poorly than it should, in the D3D9 version because it's transferring a lot of vertexes that don't even change to the GPU each frame. The particle system may however kill it with draw call counts; IIRC there's some very sub-optimal state change stuff hanging over from the original GLQuake still in the sprite code, and that's going to prevent the D3D wrapper from being able to batch things up.
Man, I would have killed for a 150 ping 15 years ago when I was still using dialup and playing lots of Quake, and still kicking butt in deathmatch :D
But these days people think a 150 ping is unplayable, even in coop! ;)