
Alright ... Sensible "extend A Mod" And Quoth Versioning
#76 posted by Baker on 2017/01/04 10:39:01
Preach, since you are only guy in universe with any experience maintaining such a mod.
I've been thinking this over off and on, and here's what I've got for raw ideas after considering bad factors.
/Not that I am optimistic that anyone besides yourself (and on a good day) is going to be capable in maintaining a multi-game dir mod, but that's beside the point. But Sock also seems like a particular picky fellow that is set in his ways, which is a major strength for this ... so anyways ...
Quoth - Indicate version
-quoth:1 <--- load through pak1.pak
-quoth:2 <--- load through pak2.pak
-quoth:3 <--- load through pak3.pak
If I recall, original Quoth had 2 pak files. And then Quoth 2 had 3 of them. Then Quoth 2.1 had 4 of them.
Under this system, it would have been preferable for the names to be Quoth 1, Quoth 2, Quoth 3, etc.
But the point is this would allow a single Quoth mod but allow version specific loading.
Why a colon? Because it is an illegal character for Windows filenames, no one can have a gamedir named "quoth:1"
Sensible Double-gamedir
Examples:
-game mapjam85 -arcane // Quake mod using "arcane"
-game mapjam85 -arcane -hipnotic // Quake mod using "arcane" requiring hipnotic extensions
-game mapjam85 -arcane:2 // Load thru pak2
The -arcane:2, like the Quoth examples, could allow your onion layer versioning and allow a prior version of "arcane" to be used.
(* Since -quoth is known to require -hipnotic, would be the sole exception to the rule.)
This would allow people to keep doing what they are already familiar with doing and everything works the same.
Anyway, these thoughts provided for your feedback.

@Preach
#77 posted by
xaGe on 2017/01/04 11:58:29
I got your meaning. Thank you for the hashes, I'll check them against what I have.

Pak Strategy
#78 posted by
Preach on 2017/01/04 20:40:21
The idea with the pak files was to allow simple upgrades from one patch to another without needing to download lots of stuff again (remember, this plan was invented in 2005 when people had to worry a bit more about bandwidth). So the idea was that you could upgrade to 2.2 straight from 2.1 or 2.0, and 3.0 would work in the same way, replacing pak2.pak, making an upgrade which works from version down to 2.0. Then 3.1 up to 4.0 would be pak3.pak, etc...
I have to ask, given how hard we work on backwards compatibility in the mod, why you think there's a pressing need for playing earlier versions? Is there a specific issue with a map we need to shim in the next patch?

Probably Wrong But..
#79 posted by
PRITCHARD on 2017/01/04 21:04:01
I think it's not so much about quoth specifically, so much as allowing mods to use a similar system, but in the event that they don't have that level of backwards compatibility, to allow easy loading of older versions.

Various Reasons
#80 posted by Baker on 2017/01/04 21:24:19
a) For original experience at map release time as an option.
b) Testing and checking for a material behavior difference.
c) Fallback if something if bug or issue with current version, without the user having to reinstall an older Quoth to work around it.
I know some of the mild changes like changing the voreling health don't mean much to most people.
But for instance, if I want to reply an old map that I liked, I'd like to easily replay it with exactly the same rules and behavior in effect that were there the first time. At least as an option.
What if I want the voreling to be annoying and require 2 super-shotgun blasts to kill because when I played the map originally it had annoying vorelings?
One irony is that certain releases are actually mostly exempt from Quoth upgrades because they have their own progs (Metal Monstrosity, for instance).

@preach
#81 posted by Baker on 2017/01/04 21:25:53
Also what Pritchard said.
You pioneer the incremental mod release idea with the additive pack concept.
If others follow your lead, my above scheme is a way that full compatibility is always an option.

@preach - Issue Example
#82 posted by Baker on 2017/01/06 00:31:36
1) I take warpspasm.zip from Quaddicted.
2) I take Quoth 2.2.2 zip which I am assuming is current version 8,035,386 bytes (pak2.pak size, working on assumption that the date of May 3 2014 is error of the zipping tool).
3) Using the glwarp.exe provided with the Warpspasm download I do this
...
c:/quake/glwarp.exe -game warp -quoth
What I get when I startup
*) I get Quoth demos playing.
What I am supposed to get when I startup
*) I should get the Warpspasm start demos playing.
Basically, playing Warpspasm with current Quoth I can't get the intended Warpspasm experience.
(I wouldn't have to use glwarp.exe, I could instead use Mark V or BengtQuake or the Requiem engine --- all which support the Warpspasm demos that are in protocol 10002.)
So anyway, an example.

Backwards Compatibility
#83 posted by
Preach on 2017/01/13 23:48:27
I have responded in much more complexity than was perhaps necessary
here
#84 posted by Baker on 2017/01/14 00:00:01
I think that is a cool thread.
Anyway, I think a "Touch of Evil" is going to be my in-engine short-term solution for the Warpspasm issue to make it so the presentation is right ...
if (game == warpspasm && command == startdemos)
... if (startdemos != "demo1 demo2 demo3") then make it so
You are happy. I am happy. Someone wanting the Warpspasm experience is happy.
Somewhere an Evil God of Proper Coding is looking down at me with a frown --- but that happens all the time.
/Quoth 2.2 at Quaddicted on last check is still 2.2.1, btw. I checked rather recently and the byte size of pak2.pak is not same as your Quoth 2.2.2.
#85 posted by
ijazz2 on 2017/01/18 18:21:43
So when's Quoth 2.3 coming out?

Skybox Format
Is
this the same format and orientation for the skyboxes in the Quoth pak files? Or are some of the locations different? I thought I'd ask as I don't have a ton of time for trial and error. The one time I've tried it was a disaster.
I would like to do my own from
Space3d

Non-domain
#87 posted by
Preach on 2017/07/02 18:07:13
This is really more of an engine thing than a Quoth specific question, but I think I have figured it out. If you change the filename suffixes in the following way everything should align:
pos_y -> up
pos_z -> bk
pos_x -> rt
neg_z -> ft
neg_x -> lt
neg_y -> dn
#88 posted by Spike on 2017/07/02 20:00:40
lt+rt are flipped in relation to normal cubemaps, iirc.
this means that the other 4 images are flipped on various axis too or whatever, which means simple renaming isn't exact.
If you don't really care that your cubemap is basically inside out then whatever just go ahead and rename them, but if you want to map them exactly then you need to do more than just rename them. Probably for embedded space scenes you won't care.

@spike & @Preach
Thank you guys so much. I was just sitting down to do a simple number 1-6 cubemap in PS to see what could be flipped etc. This helps a lot.

Confirming Skybox
pos_y -> up
pos_z -> bk
pos_x -> rt
neg_z -> ft
neg_x -> lt
neg_y -> dn
Tested in Quakespasm - this is the right configuration! Thanks again.