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

k8vavoom: no good thing ever dies!

Recommended Posts

thank you all! i can only say that i am still at least as enthisiastic as i was two years ago. actually, i guess that i even more enthusiastic these days, because now i understand the codebase much better. the only thing i really don't have enough is time to implement everything i want as soon as possible. if only i could write code while i am sleeping... ;-)

 

thank you all for you support, for your reports, for your maps, and for simply using k8vavoom to play Doom! even if you did it just once out of curiousity. ;-)

 

and remember: no good thing ever dies!

Share this post


Link to post

@Gunrock: and btw, i fixed both bugs you reported.

 

missing animations was due to my parser (for some reason i don't remember properly) only allowed ranged animations in wads, not in pk3s. i think i did it that way because of some broken mod, but meh. i commented out that check, and will investigate it closer if somebody'll report broken anim in the future. GD:DE animations works now.

 

and water was indeed broken: i rewrote "get contents for the point" function, and forgot to check Vavoom-style water there. it should work now too.

 

thank you for reports and for test map!

Share this post


Link to post

Hello!
For Linux users, I wrote a small script that will build/update k8avoom for you!
What this script does:

  • Checking dependencies for building;
  • Creating building environment;
  • When you installed in earlier with this script, he checks source updates and will update you build;
  • And building k8vavoom, of course. :)
  • Installs a little Terminal Ponies for you system.

Thanks @SovietPony for helping.

UPD. The script now has two versions - without a pseudo-interface (vShell) and with a pseudo-interface (vDialog). The second version of the script assumes the presence of "dialog" on your machine!

 

Updates:

Spoiler

vShell_2.0:

[=] Reworked script: deleted distribution checking, using "select" for dialogue.

 

vDialog_1.0:

[+] Initial Release.

 

vShell_1.5:

[=] Added comments to some code.

 

v1.1:

[=] Improved distribution checking.

 

v1.0:

[+] Arch-based distributions support!

v0.7:

[=] Improved dependencies checking.

v0.6:

[=] Updated dependencies list:

   1. Removed JPEG, PNG, Zlib checking;
   2. Added OpenGL checking.
   3. Added Git, pkg-config, Sudo and Cmake checking.
[=] Some improvements.

v0.5:
[=] First release!

 

 

 

 

 

 

k8vavoom_scripts.zip

Edited by TerminalHash : Updated acrhive.

Share this post


Link to post

oh, #@@^%^! @Mr.Rocket accidentally opened a can full of worms named "3d slopes". those bastards happily swallows projectiles (without any explosion), but in the same time are really happy to let hitscan attacks pass through. Doom 2D tracing is not very good at sloped flats.

 

i made several workarounds, let's hope that they will work (at least most of the time ;-).

Share this post


Link to post

Will a midi mapper be added? It is very strange not to see this, and Fluid is not ideal.

Share this post


Link to post

no. first, i don't have windows, and second, i want all generated sound samples to be routed through k8vavoom sound system. so even if somebody will contribute the code (something i don't expect, because i got zero patches from windows devs so far ;-), i won't use it due to the second reason. sorry.

 

also, FluidSynth is one of the best synthesizers out there (i believe), it is definitely (again, i believe ;-) better than built-in windows one. maybe you can try different soundfonts to make it sound better?

Share this post


Link to post

I've usually just slapped the sound font from gzdoom into k8vavoom directly..

By default there's a little bit of reverb and imo, it sounds better than gzdoom's midi heh. 

 

ps. check your pm's @ketmar, I've ran into another can of worms which hopefully may bring some things to light having to do with 3dfloor slopes also.

Share this post


Link to post
2 hours ago, Mr.Rocket said:

ps. check your pm's @ketmar, I've ran into another can of worms which hopefully may bring some things to light having to do with 3dfloor slopes also.

yeah, thank you. our slopes are full of bugs! ;-)

Share this post


Link to post

i suddenly decided to play HacX (never even finished the first map, and still can't, lol), so i added "-hacx" option to support HacX v1.2 IWAD. i also created light definitions for HacX items (because default torch colors aren't fun at all). and fixed several bugs with lighting along the way. now ceiling lights are emiting proper spotlight down to the floor, and broken lamps don't leave orphaned light sources.

 

this was slightly harder than it sounds, because most lamps are converted to static lights, so i had to finish my static light manager too. but it all seems to work now.

 

p.s.: just to be clear: i didn't get past the first map not because HacX is bad, it looks fun. but somehow each time i tried to play it, soon i was distracted either by some bug in the engine, or by something else.

Edited by ketmar

Share this post


Link to post

Hey,

Does k8vavoom have support for sky cams? ~ before I go to the trouble of trying to figure out why I'm not seeing it. ;)

 

Thanks

Share this post


Link to post
15 minutes ago, Mr.Rocket said:

Does k8vavoom have support for sky cams?

nope. until now i didn't even knew that it exists, and i still don't know what it is. ;-)

 

p.s.: it seems to be some Eternity portal trickery. sorry, no wai yet: everything portal-related is completely broken in k8vavoom (mirrors and stacked sectors too; even skies are sometimes broken). that code should be completely rewritten first, but you know how it usually goes... ;-)

Share this post


Link to post

Ah well I guess I totally worded that wrong anyway, I should have said: Skybox Viewpoint..

Thing Type: 9080

Class: Sky Viewpoint

Share this post


Link to post
9 minutes ago, Mr.Rocket said:

Thing Type: 9080

Class: Sky Viewpoint

yeah, the thing 9080 is there, yeah. but it may glitch for the same reasons other portal things are glitching (it is technically closer to portals than to something else). sky rendering code is something i still not fully understand. ;-)

Share this post


Link to post

Well in a previous map I did, I put a skybox in it and used a skybox viewpoint, but not so much to view a skybox but I placed a translucent 3dfloor just above it.

The 3dfloor had a cloud texture that scrolled, giving the impression of clouds rolling by at a slightly different speed and angle than its background sky.

 

Anyway, it doesn't look like I'm getting a skybox viewpoint. or if I am, the 3dfloor isn't being rendered through the viewpoint..

~ Which I can live without (for now) :P

I know you have a bit more on the plate atm. ;)

Edited by Mr.Rocket

Share this post


Link to post
12 minutes ago, Mr.Rocket said:

Anyway, it doesn't look like I'm getting a skybox viewpoint. or if I am, the 3dfloor isn't being rendered through the viewpoint..

yeah, it is "portal rendering", which wasn't working very good with shader renderers in the first place. it also needs some weird setup with z-buffer, and requires stencils -- and i am using those things for lighting, decals, and some other effects. that code (portals) should be completely redesigned, and rewritten using some other tech, but i don't have a good solution yet. so i just pretending that it is not so important for now. ;-)

Share this post


Link to post

Oh, I love the stencil shadowing btw!

It just looks freaking awesome.

 

In the map I'm working on, there's an underground passage with a lift, the stencil shadowing looks really cool there.

I'm not sure if it's in the version I sent ya, but you have to shoot the lift to activate it, well a projectile has enter the sector.

 

 

Share this post


Link to post

yeah, that's the rendering mode i am usually playing (and i still have some optimisation ideas for it; not much, but even 1 more FPS is good! ;-). it greatly fits into Doom sector lighting with its hard edges, i believe. i still want to implement the third mode -- shadow mapping. that should allow shadows from textures with holes, for example. but my gfx programming skills are very limited (yeah, i am learning as i am writing the code), so don't expect it to arrive soon. ;-)

 

p.s.: yeah, with proper light sources shadow volumes are really impressive. especially with opening doors/moving platforms/etc. the engine can recalc "static" lightmaps on the fly too, but it is quite slow.

Share this post


Link to post

It sounds similar to projection lighting in Doom3, which are really fun to make btw. ;)

Basically a light that projects an image, eg stained glass or like you're saying a brick wall texture with a few missing bricks where light projects or casts the holes onto another wall.

Though I suppose you're talking the other way around where the shadow is casted, but similar effect.

Edited by Mr.Rocket

Share this post


Link to post
38 minutes ago, Mr.Rocket said:

Basically a light that projects an image

yeah, this is slightly different thing, but from the same "realm". ;-) i may implement projected lights someday, they may be used to create alot of interesting effects (like F.E.A.R. does with its ceiling lamps, for example -- lamp itself doesn't cast any shadows, they're just painted on the projected texture). thanks for reminding me about this thing!

Share this post


Link to post

Just posted the release of Dissolution:Remastered in this post. Works great in K8Vavoom!! Only bug I found was that the text in the beginning map is crunched together. However in GZDoom its tiled correctly. Other than that, everything seems to run correctly.

Please report any glitches or feedback.

Thanks again Ketmar for your remarkable work on K8Vavoom!!!

Share this post


Link to post

@Gunrock great! i am working hard on a new public build right now, so expect it in a day (i guess). but i will definitely take a look later this day.

 

as for text, i see, this is ACS HUD issues. it is something that is quite hard to solve given that ACS expects a fixed screen size and font size. i had to choose between integral scaling or good positioning. both choices are bad, tbh, but this is something i cannot change yet. GZDoom does ACS HUD in a slightly different way, so what is working there won't work in k8vavoom, and vice versa. if i'll fix vertical offsets for this case, it will break other cases. i didn't found a good solution yet.

 

anyway, it is a minor issue (i believe). i may solve it eventually, but for now i simply don't know how. sorry.

Share this post


Link to post

so, without further delays, here it is! fresh and hot, the new build for you all!

 

brief changelog:

Spoiler

* implemented `SetSectorDamage`, `DropInventory`, `IsPointerEqual`, `CanRaiseActor` ACS functions
* damaging 3d floors are correctly (i hope) processed now (this includes damaging 3d water)
* skip autosaves on map enter if we loaded pwad with maps, and entering iwad map
* fixed bug in TID manager (dead objects sometimes still occupy TIDs for a tic)
* `Thing_Destroy(0)` and `Thing_Remove(0)` work now
* replaced libvorbis with stb_vorbis (should be user-invisible change ;-)
* replaced libflac with dr_flac (should be user-invisible change ;-)
* replaced libmad with dr_mp3 (should be user-invisible change ;-)
* replaced opus libraries with built-in copies (should be user-invisible change ;-)
* that is, k8vavoom now requires only SDL2, OpenGL and OpenAL external libraries by default
* added OPL music player (based on NukedOPL synth, experimental)
* menu code rewrite (slightly more logical, and menu title won't be scrolled away anymore)
* added combobox selectors to "choice" menu items
* better slider control (looks nicer, and it can be properly operated with mouse now)
* new color selection widget
* added automap color options
* use more VBOs in renderer (we're slowly moving towards full-shader rendering path)
* it is now possible to render the screen in lower resolution and upscale it (so you can lower rendering resolution for 4K monitors, for example, while still running k8vavoom fullscreen; that could save some GPU resources)
* added option to set maximum UI scale (you can set it to 1 to get unscaled UI and fullscreen HUD, for example)
* added "always run" to gameplay options menu (thanks, k_1nspired)
* fixed VavoomC compiler bug with class definition order (defining superclass after subclass could cause some bugs)
* allow animated sequences in pk3 files (some mods like Gothic Dreams:DE are using it) (thanks, Gunrock)
* `SV_PointContents()` should understand Vavoom water again (thanks, Gunrock)
* "HideConsole"/"ShowConsole" now accept "immediate" argument
* added options to disable lightmap recalculation when static light source moved/map geometry changed (see "options -> video -> advanced video")
* added optional maximum time for static lightmap recalculation (default is 5 msecs)
* slightly better sprite lighting in lightmapping mode (use light sources to determine lighting, like shadow volumes do)
* converted Strife ACS helper to VavoomC code (sorry, your Strife saves are broken now...)
* fixed rocket swallowing on hitting a sloped 3d floor/ceiling (thanks, Mr.Rocket)
* hitscan attacks somethimes may go through 3d slopes; this should be less the case now (thanks, Mr.Rocket)
* added support for missing thing UDMF properties (gravity, render options) (thanks, Mr.Rocket)
* fixed stupid copypasta bug with UDMF vertex heights for ceilings (they weren't working at all) (thanks, Mr.Rocket)
* load whole texture to memory for faster format detection (cut down LZMA-compressed PK3s loading times by at least two orders of magnitude)
* partially implemented ACS function `QuakeEx()`
* added "acs_abort_on_unknown_acsf" cvar (default is `true`)
* added "acs_emulate_zandronum_acsf" cvar (setting to `true` emulates `GetPlayerAccountName`)
* added built-in flat glow definitions for Doom/Doom 2 iwad (only) flats
* implemented "sv_disable_run" cvar
* added support for game types in lockdefs
* most console cheats like "god" now accept optional boolean argument
* added experimental HacX v1.2 IWAD support (-hacx)
* fixed bug with OpenGL light definitions (old class definitions could override definitions for replacement classes) (thanks, TerminalHash)
* it is now possible to add dynamic spotlights in VFXDEFS

 

@-TDRR- hi! ;-)

Share this post


Link to post
32 minutes ago, Cacodemon345 said:

Why the weapon lights flicker?

what do you mean? muzzleflash lights? mostly because dynamic light system works this way. and because i like it, so i don't see any urgent need to change it. not really my conscious decision, this is how Janis implemented it.

Share this post


Link to post

also, please note that intermission screens may be a little broken in this build. my work on UI is far from finished, and i always forget to check it with different UI sizes. but you can set min/max UI scale in screen resolution menu (for now it affects all kinds of UI). i'm working on that, and in the next build at least intermission should look much better regardless of resolution and UI scale.

Share this post


Link to post

very experimental lightmap tracer through texture holes. don't expect it to be much better, but it is still... fun.

 

Spoiler

xa5wsa.png

 

Share this post


Link to post

Hey there, I don't have the time to read the whole thread, I was wondering if this source port has known issues/bugs that could potentially break a level? I really like how K8vavoom looks and how smooth is performance-wise, I could see myself using it as my default source port. Anyway, I was playing the wad ''Lunar Catastrophe'' and during map 8 there is a teleporter that brings you to a room, after a few seconds in that room I get taken back to the main menu, I assume it's a crash although I don't get any crash notification. Just wondering if there are known game breaking bugs that could explain it? cheers

 

EDIT: Nevermind I read the first post in its entirety: ''MY FAVORITE MOD IS NOT RUNNING, K8VAVOOM.EXE JUST CLOSED! WUTTA?!!!

engine's decorate/acs/mapinfo support is not complete. you probably hit something unimplemented. there is "conlog.log" file with console log and error messages. you will probably find some (many) errors there. for curious: decorate scripting is not fully implemented yet. but we are working on it.''

 

I guess this must be the culprit, I should take a look at the conlog.log file.

Edited by Kafelnikov

Share this post


Link to post
5 hours ago, Kafelnikov said:

if this source port has known issues/bugs that could potentially break a level?

yeah, it is not perfect (yet). ;-)

 

the most noticable breaking things are:

1. boom transporters are not right. the speed is slightly different, and the effects too. most of the time it is still ok, but may break some maps with fragile "voodoo doll scripting". this is because Vavoom (and k8vavoom as its continuation) are the only freestep Doom engines out there. while it is very useful in alot of cases, variable frame rate makes some things harder. sorry.

2. ZDoom ACS extensions are not fully implemented. usually if the engine hits some unimplemented function, it bombs out to title screen. you can open the console (usually with "`") to check if there is some error. this may be your case.

3. DECORATE support is not complete. it is hard to implement everything ZDoom did in ten years, and some things are even impossible (like player morphing support). usually k8vavoom just ignores the things it cannot understand, but this may break some maps later.

4. some vanilla rendering exploits are not implemented. like flat floodfill bug, for example, and other renderer abuses. they're quite hard to implement properly in hw renderer. those bugs are purely visual, tho.

5. the physics/coldet is not 100% identical to vanilla too. but there are not so many maps that wants strictly vanilla behavior anyway.

6. various advanced GZDoom features (portals, PBR, zscript) are not supported, and will never be supported (due to engine differences, and/or different project vision).

 

that's basically it. k8vavoom plays alot of maps (and it is the only sourceport i am using to play Doom, of course ;-), but there are always... let's say inventive things people do. feel free to report non-working things here (link to the wad, output of "mypos" console command, and steps to reproduce), and i'll try to explain what it wrong, and maybe i'll be able to fix it.

 

and last, but not least, thank you for trying k8vavoom! i am glad you like it. i am constantly working on making it faster, better, and with more features. stay with us, we have even more sights to show you! ;-)

Share this post


Link to post
19 hours ago, Kafelnikov said:

Anyway, I was playing the wad ''Lunar Catastrophe'' and during map 8 there is a teleporter that brings you to a room, after a few seconds in that room I get taken back to the main menu, I assume it's a crash although I don't get any crash notification. Just wondering if there are known game breaking bugs that could explain it?

p.s.: this "bug" is called "episode finale". ;-) you finished episode 1, and got finale screen. this is exactly how it should work.

Share this post


Link to post
Guest
This topic is now closed to further replies.
×