Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
ketmar

k8VaVoom: no good thing ever dies!

Recommended Posts

heh, yeah. now i think that i should really finish that code, design new decaldef (with proper decal spraying from wall to floor, and vice versa) and make a demo, so people will WOW at The Ultimate DooM SourcePort! ;-)

 

tbh, i didn't finish implementing that feature 'cause most decals weren't designed with floor/ceiling in mind, and will prolly look rather ugly instead of being cool. and i also forgot that people have to dig deep into engine source code to find out that it is able to render decals on almost anything (actually, it can render decals even on alias models (aka "md2"), yet animations will look somewhat distorted, and i have to write proper hitscan test for md2, and decal spraying code).

 

we really need more developers, so somebody can write nice demos (and docs ;-) while i am adding more features...

Share this post


Link to post

as i said (not really clear, tho), the engine can render decal on any geometry, with proper clipping. yet decal itself attaches to internal renderseg (this is a small convex part of a geometry), or it should be attached to model's triangle. if decal has to span over several such primitives, there should be some code that will "spread" decal (basically, checks if decal spans over primitive, and attach 'em), and some code to do line traces to find a point from which the process starts.

 

tracing a line to find exact md2 triangle is not hard, tho, much easier than AABB tracing. and spreading code can just check if primitive is inside decal's bounding box, then create a new reference to decal with fixed normal. quite easy, and quite cheap.

 

of couse, i have to design a new decaldef format, to specify how decals should be spread (like "switch to that decal when spreading to wall", "use this if hit a model", and so on). this is one of the harderst parts, 'cause if i'll do it wrong, we'll end up with another decorate-style abomination. and i am pretty sure that people will immediately ask for features i never thought about, so the format should be extensible. i HAET designing such things. ;-)

Share this post


Link to post
4 hours ago, ketmar said:

so, to make a long story short, i just cut some corners by requiring a more powerful GPU. it is good to live in 2018! ;-)

 

GZDoom does still require a pretty beefy PC nowadays though, so it leaves the source port in a rather silly situation.

Share this post


Link to post
3 hours ago, ketmar said:

so, to make a long story short, i just cut some corners by requiring a more powerful GPU. it is good to live in 2018! ;-)

So far I can say k8vavoom runs quite fast on the Switch :)

Share this post


Link to post
2 hours ago, KVELLER said:

GZDoom does still require a pretty beefy PC nowadays though, so it leaves the source port in a rather silly situation.

yet it still supports software renderer, and gl2 shaderless renderer (at least it tries to). for VaVoom, Janis removed software renderer before he stopped working on the project, and i removed shaderless renderer. i also don't have to support all those legacy mods, so i can say: "nope, i won't support that" (or "meh, it was silly, and i removed it").

 

there are alot of things GZDoom devs are willing to change, but they can't, 'cause it will inevitably break some mod. it is hard to be a GZDoom dev! ;-)

 

1 hour ago, slash004 said:

So far I can say k8vavoom runs quite fast on the Switch :)

that's 'cause my GPU sux, and my PC is quite far from 2018. ;-)

Share this post


Link to post

@ketmar since a gzdoom-2-k8vavoom model def converter is on your to-do, how about doomsday-2-k8vavoom converter? Models for doomsday are way more defined that the existing models on gzdoom, also there is the Doom Hires Model Project which focus on a more accurate models of the original sprites by ID and those looks Kick-Ass! :)

Share this post


Link to post

@slash004 not model, but modeldef. i.e. you have to convert your md3 by some other tool. and doomsday has yet another format for models, afair. anyway, nope, sorry. i have almost zero interest in model support (of any format), so quick-and-dirty converter from gz-modeldef to model.xml is prolly as far as i will go (and even this is not set in stone). let's hope that someday we'll get another developer interested in such features to help. ;-)

Share this post


Link to post

Can someone help me with trying to make VaVoom work on Ubuntu? I got it compiling but I can't seem to get it running.

Here's the log:

Init: ---------------------------------------------------------------
Init:       (k8)VaVoom Game Engine, started by Janis Legzdinsh       
Init: also starring Francisco Ortega, and others (k8:drop me a note!)
Init: Ketmar Dark: improvements, bugfixes, new bugs, segfaults, etc.
Init: alot of invaluable help and testing (esp. x86_64): id0
Init: ---------------------------------------------------------------
Init: loading SNDINFO from './basev/mods/gore/gore.pk3:sndinfo.txt'...
Log: Sys_Error: W_GetNumForName: "playpal" not found!

Log: 

ERROR: W_GetNumForName: "playpal" not found!

 

Share this post


Link to post

it can't find IWADs. use either "-iwaddir" to specify path to iwads, or "-iwad" to specify iwad file to use (with full path).

 

p.s.: i prolly should make a better error message for that. it is quite easy to detect this situation -- no IWAD found + no "playpal" == "where's all my data?!" tnx, i will prolly do it for one of the next builds.

Edited by ketmar

Share this post


Link to post

wow! ACSe loader was SO WRONG, that i wonder if any named ACS scripts were working at all... you'd better have LUCK stat way over 100% to get it working right. now laundry2 is beatable (tnx, id0!).

Share this post


Link to post

i don't know why anybody may want that, but you can now (in the next build, of course) play harddoom. totally unfun, if you'd ask me.

Share this post


Link to post

@ketmar yo, I'm still keeping an eye on k8vavoom developement on your repo and playing some mods on the Switch, ofc :)

Btw I see some commits related to mapinfo and other map stuff, what is exactly wrong with the PSXDOOM TC? From what I remeber from years ago it is just a map pack with custom textures and (some) custom actors, so I supposed that it would easy to make it work under k8vavoom when I asked (in fact, I did think it could be supported out-of-the-box because it is just essencially a map pack).

Share this post


Link to post

it is not a map pack. lost episodes is map pack, but psx is more like TC.

 

also, complex doom is almost working: it is playable, but most weapons has infinite ammo for some reason. i guess that it is even more fun this way, lol.

 

p.s.: alas, fixed.

Edited by ketmar

Share this post


Link to post

fixed several bugs (including losing weapon slot config if you will load a game without starting one before loading, lol). made TON of decorate improvements. fixed bug with sound in demos. implemented support for uservar arrays. turned off mirror rendering, 'cause it can bring any PC on its knees (and it is broken -- i accidentally our mirrors, sorry). and more.

 

winter is coming. and so does new build.

Share this post


Link to post

from within the depths of the valley it came! the new build!

 

* HERETIC AND HEXEN ARE BACK! may have UI/HUD rendering issues, but otherwise should work
* sorry, saves are broken again... :-(
* implemented `A_SetTics()` decorate action
* it is now possible to attach alias model to specific sprite frame (this feature is required to support gz-modeldef)
* replaced gore mod floor blood with nashblood models (tnx, Nash!)
* gore mod floor blood will quickly dissolve in water and acid
* implemented `A_DropItem()`
* implemented some more ACSF opcodes
* added FadeSetter(9039) and ColorSetter(9038) things
* safer CVARINFO parser
* `A_Die()` decorate action should kill even invulnerable/non-shootable actors
* implemented some missing extended linedef flags
* fixed ACSe loader (acs script names were absolutely wrong)
* ignore extra arguments to `A_Jump()` (with warning)
* slightly better HUD message wrapping
* dumbheads from harddoom does this: `A_JumpIfTargetInLOS("1")` -- 'cmon, i know that gzdoom parser is fucked, but quoted string should be a label!
* implemented most flags of `A_SpawnItemEx()`
* UDMF maps can load textures by specifying a full file name (saves with such levels can segfault or show invalid textures on load)
* new decorate actions, as usual
* decorate: added support for user arrays, and floating uservar/userarray type
* more things supported in anonymous decorate functions
* implemented "fast" and "slow" decorate modifiers
* implemented "light()" decorate flag
* autoinsert "-file" CLI arg for disk files (i.e. "-file" is optional now)
* implemented action special support in mapinfo doomednums
* the engine won't blow up in sound propagation on levels with huge number of interconnected sectors (hi, Vela Pax, 9620+ sectors for sound, eh?)

Share this post


Link to post
3 minutes ago, Cacodemon345 said:

Lightmapped rendering seems to look more realistic than stencil rendering.

yep, it gives shadows with penumbra for free. but then, DooM lighting model is sector-based, with hard edges (we're talking about "usual" maps here, not some extra-detailed ones), so stenciled lighting looks more "doomy", i think.

 

5 minutes ago, Cacodemon345 said:

Why?

and why not? they were always working, only UI was broken. i quickhacked UI rendering (and fixed one file loading bug with hexen), so i see no reason to not put 'em back.

Share this post


Link to post
11 hours ago, Gunrock said:

Excellent work ketmar!!!!!

thank you!

 

of course, almost immediately after uploading a build i found another bug in decorate parser. lol. will prolly upload a quickfix today.

Share this post


Link to post

lol, bdlite is still broken crap (please, note that it is sgt. mk iv to blame, not david!). i fixed bug with "carry-on" sprite states in k8VaVoom, so assault rifle is properly visible now (that was mine!), but Demon will still disappear when it loses LOS to player. this is decorate bug in bdlite, which i will not workaround in k8VaVoom. The Right Way is to fix broken mods, not to emulate gzdoom bugs!

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×