Ativa o menu
Alternar menu de preferências
Alternar menu pessoal
Não autenticado(a)
Your IP address will be publicly visible if you make any edits.
DoomWiki.org
For more information on this article, visit the Demo page on the Doom Wiki.

Uma demo, abreviação de demonstração, é uma gravação de configurações e comandos dentro do jogo que permite reconstituir uma jogatina com precisão perfeita. O formato de demo, porém, é muito suscetível a mudanças no motor (engine) ou no mapa/nível. Por isso, o ZDoom não oferece compatibilidade retroativa de demos: se uma demo foi gravada com uma versão do ZDoom antiga demais, o programa informará que não consegue reproduzi-la.

O ZDoom também não é compatível com o formato de demo do vanilla Doom e, portanto, não reproduzirá o loop de demos dos vários IWADs suportados. Por causa da falta de compatibilidade retroativa, não é recomendado colocar lumps de demo embutidos em um mod para ZDoom, já que eles podem se tornar obsoletos. Em vez disso, pode-se usar um TITLEMAP com script.

A variável de console chasedemo pode ser usada para assistir demos no modo chasecam.

O formato de demo do ZDoom é baseado no Interchange File Format. Ele contém um chunk FORM do tipo ZDEM. Em seguida, há vários chunks, que podem ser dos seguintes tipos:

  • ZDHD: Cabeçalho de demo do ZDoom. Contém a versão do engine, o rótulo do mapa e a semente do gerador de números aleatórios.
  • VARS: Variáveis. Armazena o estado das variáveis de console críticas para a demo.
  • UINF: Informações do usuário. Contém dados sobre cada um dos jogadores registrados na demo.
  • NETD: Demo de rede. Não contém informação, mas sua presença marca a demo como multijogador.
  • WEAP: Armas. Contém a lista de armas disponíveis no jogo durante a demo e em qual slot elas ficam.
  • BODY: Corpo. Contém a maior parte da demo: os comandos emitidos a cada tic por cada jogador. Este chunk pode ser comprimido com zlib.
  • COMP: Compressão. Contém o tamanho total dos dados do chunk BODY quando descomprimidos.

Variáveis de console críticas

As variáveis de console críticas para demo são aquelas que possuem a flag CVAR_DEMOSAVE ou a flag CVAR_SERVERINFO. Elas incluem:

  1. alwaysapplydmflags
  2. compatflags
  3. compatflags2
  4. deathmatch
  5. dmflags
  6. dmflags2
  7. forcewater
  8. fraglimit
  9. gameskill
  10. genblockmap
  11. genglnodes
  12. gennodes
  13. infighting
  14. splashfactor
  15. sv_aircontrol
  16. sv_cheats
  17. sv_corpsequeuesize
  18. sv_disableautohealth
  19. sv_dropstyle
  20. sv_fastweapons
  21. sv_gravity
  22. sv_smartaim
  23. sv_unlimited_pickup
  24. teamdamage
  25. teamplay
  26. timelimit
  27. var_friction
  28. var_pushers

Atualmente, o chunk VARS pode armazenar até 32 variáveis de console.