User:SirYodaJedi/Porting Quake DM maps to Deathmatch Classic

From Valve Developer Community
Jump to navigation Jump to search
Icon-under construction-blue.png
This is a draft user page. It is a work in progress open to editing by anyone.
Remember to check for any notes left by the tagger at this article's talk page.

This page covers some oddities about porting Quake I deathmatch maps to Deathmatch Classic. Maps can mostly ported directly with minimal edits, but there are some quirks to work out

Uncompiled map file

Todo: Axial Projection → Valve220

Textures

Todo: porting from WAD2 to WAD3; renaming tool textures

Liquids

Todo: 
  • renaming * to !
  • setting semi-accurate fog color and density
  • WinQuake tints the palette relative to rgb(130,80,50), but only does it half way; perhaps doubling the luma by setting the fog color to rgb(212,171,145) would be more accurate?

Skies

Todo: method using two scrolling func_illusionary entities (via rendercolor)

Lighting

Todo: * light (+ _color) to _light
  • model/sprite based lights (the flame models do exist, but they need to be played back at 1/3 speed)

Sounds

Todo: simulating visleaf-based ambient sounds for water and sky

Ambient sounds

The following entities emit ambient sounds, which should be replicated with ambient_generic:

Entity WAV file (relative to 🖿/id1/sound/) Volume
ambient_suck_wind ambience/suck1.wav 10
ambient_drone ambience/drone6.wav 5
ambient_fluoro_buzz ambience/buzz1.wav 10
ambient_drip ambience/drip1.wav 5
ambient_comp_hum ambience/comp1.wav 10
ambient_thunder ambience/thunder1.wav 5
ambient_light_buzz ambience/fl_hum1.wav 5
ambient_swamp1 ambience/swamp1.wav 5
ambient_swamp2 ambience/swamp2.wav 5
FireAmbient ambience/fire1.wav 5
light_fluoro ambience/fl_hum1.wav 5
light_fluorospark ambience/buzz1.wav 5
light_torch_small_walltorch ambience/fire1.wav 5
light_flame_large_yellow ambience/fire1.wav 5
light_flame_small_yellow ambience/fire1.wav 5
light_flame_small_white ambience/fire1.wav 5
trigger_teleport (if spawnflag 2 not set) ambience/hum1.wav 5

Other entities

  • info_notnull - info_target
  • misc_explobox or misc_explobox2 - using the source MAPs for b_explob or b_exbox2 (respectively), create a func_breakable with health of 20 and an explosion magnitude of 160.
  • func_dm_only - trigger_teleport (doesn't actually exist, but this is what it allegedly would be)
  • func_bossgate - func_wall (disappears when all episodes are complete, which in deathmatch is never)
  • func_illusionary - func_detail, with at least one face of each brush textured with CONTENTEMPTY (split brushes if necessary. Func_illusionary in Quake doesn't count as an edict after initially being spawned, but this behavior was removed in GoldSrc because they couldn't get it to work with the revamped save system.)
  • trigger_secret - trigger_multiple

Entities to remove outright

If any entities have the "not in deathmatch" spawnflag set, then they can be removed.

  • monster_* - monsters don't appear in deathmatch
  • func_episodegate - appears when an episode is complete, which in deathmatch is never
  • trigger_onlyregistered - Shows a message if pop.lmp fails to validate (unregistered). This feature doesn't exist in GoldSrc.