Mark V - Buiid 1081
#1910 posted by Baker on 2018/03/15 13:44:24
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.
Fantastic
#1911 posted by NightFright on 2018/03/15 14:08:30
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! :)
@Baker
thanks for the update!
Thx Boo
#1913 posted by killpixel on 2018/03/15 23:52:31
Crash Report
#1914 posted by NightFright on 2018/03/16 10:25:16
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):
http://www.quaketastic.com/files/models/Ogre_2.zip
Tested in E1L2, crashed right away. The model is quite big, but I dunno if that's what's causing the crash.
#1915 posted by Baker on 2018/03/16 10:52:59
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.
#1916 posted by mh on 2018/03/16 11:01:23
It also works in my original FitzQuake implementation that I built the D3D wrapper on.
Quakespasm Test
#1917 posted by NightFright on 2018/03/16 11:05:25
Model loads without issues in latest Quakespasm 0.93 x64 build. According to QuarK, it has 1290 triangles.
#1918 posted by mh on 2018/03/16 11:19:20
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
#1919 posted by NightFright on 2018/03/16 13:13:05
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):
http://www.quaketastic.com/files/models/chillo.zip
Disregard
#1920 posted by NightFright on 2018/03/16 13:19:37
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.
Another Crash
#1921 posted by NightFright on 2018/03/16 13:58:24
E4M6 crashes with the Authentic model improvements pack. This used to work with previous (OpenGL) builds of Mark V.
Download model pack:
http://www.quaketastic.com/files/models/auth_mdl163.zip
I could not identify which of the models is causing the problem.
Map Crashes (summary)
#1922 posted by NightFright on 2018/03/16 14:13:36
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:
E1M5
E4M3
E4M4
E4M6 (as reported above)
#1923 posted by mh on 2018/03/16 14:29:17
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.
Found It
#1924 posted by NightFright on 2018/03/16 15:29:13
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.
#1925 posted by mh on 2018/03/16 16:28:44
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.
Sigh...
#1926 posted by NightFright on 2018/03/16 16:59:55
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...
#1927 posted by NightFright on 2018/03/16 17:11:03
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:
http://quakeone.com/markv/builds/1027_mark_v_dx9_revision_b.zip
Starting at 1.28, the crashes start:
http://quakeone.com/markv/builds/1028_mark_v_beta_dx9_opengl_dx8.zip
Hopefully that narrows it down for Baker to find what's causing this.
Time To Dust Off The Surface...
@nightfright
#1929 posted by Baker on 2018/03/19 02:03:01
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?
#1930 posted by Baker on 2018/03/19 02:07:47
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
#1932 posted by NightFright on 2018/03/19 07:16:26
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.
Baker
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
#1934 posted by mankrip on 2018/03/19 09:58:20
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.
|