descriptionfork of Vavoom Doom Engine, with alot of improvements and new features
ownerketmar@ketmar.no-ip.org
last changeWed, 6 Mar 2024 21:00:32 +0000 (6 21:00 +0000)
content tags
add:
README
WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!

THIS IS NOT THE ORIGINAL VAVOOM SOURCE CODE. IT IS HEAVILY
MODIFIED, MAY HAVE NEW BUGS, AND ALTERED GAMEPLAY!

PLEASE, DON'T SEND BUG REPORTS TO THE ORIGINAL AUTHORS!

Ketmar Dark // Invisible Vector
ketmar@ketmar.no-ip.org

WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!

k8vavoom is the fork of the excellent Doom sourceport Vavoom. It features
three unique lightning systems, one based on lightmaps (like Quake), one
with Doom3-style lighting, and one based on shadowmaps. Please note that
k8vavoom is not a carbon copy of Vavoom, so full backward compatibility
should not be expected.

DON'T FORGET TO CHECK "OPTIONS" MENU,
YOU WILL FIND ALOT OF INTERESTING THINGS THERE!


## SOUNDFOUNTS

you can put SF2 from GZDoom in ~/.k8vavoom/soundfonts directory, and it
will be autoloaded.
actually, any SF2/DLS dropped into this directory will be autoloaded.
if you don't like GZDoom sound font, you can use the one from this post:
https://forums.duke4.net/topic/6973-sc-55-soundfont-huge-update/
it is quite big, but sounds more like Roland SC-55 (as the name implies).

if that soundfont is too big for you, you may try a new Miracle one:
https://www.doomworld.com/forum/topic/111665
it also sounds good, and it is only 8MB!

WARNING: SFPACK sound founts are not supported!

you can use "snd_sf2_file" cvar to specify the path to your soundfont.


## GNU/LINUX GAMERS SECTION

### INSTALLATION

If you're on an Arch-based Linux distribution, you may use an AUR package.

For all the other flavours of GNU/Linux you have to compile k8vavoom from
the sources. Make sure you have at least the following libraries in your
system: SDL2, OpenAL, libopus, libvorbis, libflac. Also, you MUST run
`make install` command because k8vavoom won't run from an arbitrary
location.

Please, refer to "docs/k8vavoom.txt" for more info.


### CONFIGURATION

k8vavoom stores its user configuration and supplemental files in the
`~/.k8vavoom` directory.

~/.k8vavoom
   \
   |-autoload
   |   \
   |   |-doom
   |   |  \
   |   |  |-<subdir>
   |   |  |-cool_models.pk3
   |   |  |-autorun.rc
   |   |
   |   |-<game name>
   |
   |-iwads
   |  \
   |  |-DOOM.WAD
   |  |-DOOM2.WAD
   |  |...
   |
   |-sshots
   |
   |-saves
   |
   |-modes.rc

You'd better create "~/.k8vavoom/iwads" directory and put at least one
IWAD file there to play a game. You can specify a game name with the
corresponding command line switch, e.g. -doom, -doom2, -tnt, etc.


#### Autoload

If you want some wad or pk3 resource to be loaded automatically on start,
you can put it into "autoload/<game name>" directory. Sub-directories are
not scanned at the start, but they can be used within "autorun.rc" config
file.

The "autorun.rc" file allows you to define groups of resources, e.g.

```
group "models-weapon" {
  models/mdl_wpn_bfg.pk3
  models/mdl_wpn_chaingun.pk3
  models/mdl_wpn_chainsaw.pk3
  models/mdl_wpn_launcher.pk3
  models/mdl_wpn_plasma.pk3
  models/mdl_wpn_shotgun.pk3
  models/mdl_wpn_ssg.pk3
}
```

So in this example new weapon model will be loaded on start. Command line
switch `-skip-auto <group name>` can be used to disable some groups.


#### Screenshots

Screenshots are saved in the "sshots" directory with the name
`shotXXXX.png`, where XXXX is a counter starting with 0000.


#### Saved games

Games are saved in the "saves" directory under the separate
sub-directories. The sub-directories names are k8vavoom configuration
hashes. This means that saves from the different games (or pwads) won't
be visible under another configurations.

That is, if you've played some WAD without its custom music and decided
to add its *MUS.WAD now, you will not see your previous saves, cause the
game config will be different.

But if you are *ABSOLUTELY* sure that your new wad contains only cosmetic
features that *CANNOT* influence the game, you can use "-cosmetic filename"
CLI argument to avoid savegame invalidation.

To stay on the safe side, use "-cosmetic" only for pwads containing music
and/or sounds. Everything else may break the save, or even the engine.


#### Custom game modes

You can aggregate some customisation setting into groups referred here as
'modes' with the `modes.rc` file. See example:

```
/* options:
  DisableBloodReplacement
    disable all blood replacements (but Gore Mod still can replace blood)
    this effectively disables all custom blood from any mod

  DisableGoreMod
    don't load gore mod, even if it is requested by the user

  DisableBDW
    don't load bdw mod, even if it is requested by the user
*/

mode "d4v" {
  // this is case insensitive, and supports DOS-style globs
  basedir "doom*"
  // this will load pwads before "-file"
  // use `postpwad` command for pwad list to load after "-file"
  pwad "/mnt/bigfoot/vavoom/D4V/D4V.wad"
  // skip autoload groups from "autoload.rc"
  skipauto "brightmap*", "glow", "models-*", "smooth*", "spritefix*", "id0-bm"
  // options
  DisableBDW
  // aliases
  alias "doom4vanilla"
}

```

To select a mode use the command line switch `-mode <mode name>`. For the
given example both `-mode b4v` and `-mode doom4vanilla` will do the trick.
shortlog
2024-03-06 ketmarscript, ui: added "sv_min_startmap_health" cvarmaster
2024-03-06 ketmardecorate: added `HasSpecialPowerup(type)` function...
2024-03-04 ketmaractors: fixed typo in Strife actor name ("PoleLatern...
2024-03-04 ketmardecorate: implemented "BF_NOIMPACTDAMAGE" flag in ...
2024-03-04 ketmarrender: take FOV into account in voxel LOD calculation
2024-03-04 ketmaradded built-in mod "Ludicruous Gibs" (because why not...
2024-03-04 ketmarbuild-in mods now loaded via new-style mod definitions
2024-03-04 ketmargames.txt: added "warp" definition for Strife (thanks...
2023-12-22 ketmaradded vwad samples
2023-12-22 ketmaradded vwad specs
2023-12-22 ketmartjunk: fixed loading of 3d pobjs (oops!)
2023-12-12 ketmarscript: hitscan missiles should activate lines as ...
2023-10-16 ketmarvavoomc: fixed a nasty bug with optional TVec params...
2023-10-14 ketmarbuild: turned off some code degradation options for...
2023-10-14 ketmarcorelib: typo in error message ;-)
2023-10-14 ketmarfixed some pesudowarnings from g-shit-cc13 (g-shit...
...
tags
2 years ago build570509
2 years ago build570306
2 years ago build561231
2 years ago build561131
2 years ago build560718
2 years ago build560511
3 years ago build560304
3 years ago build560118_1
3 years ago build560118
3 years ago build551126
3 years ago build550930
3 years ago build550627
3 years ago build550512
4 years ago build550419_fix
4 years ago build550419
4 years ago build550317
...
heads
8 weeks ago master
2 years ago advmodel_drawlist_cache
2 years ago remilia-mapinfo-updates
2 years ago private
2 years ago last_legacy_gl
4 years ago origin/piny
12 years ago last_svn_master
forks
Cached version (4709s old)
k8vavoom/k8vavoom.git futuretrunks745... 2 years ago