Primeiramente, nós da equipe proDuke desejamos a todos os Dukers um feliz aniversário de 30 anos de Duke3D - em 26 de janeiro de 1996, Duke3D estava tendo seu primeiro lançamento, como uma versão shareware.O foco dessa atualização foi fazer as DMOs ficarem funcionais novamente. Ela trás várias correções de bugs e novos recursos para visualização de demos.Foi feito um arduo trabalho para também corrigir a reprodução das demos originais de DOS (Duke Nukem 3D 1.5 Atomic Edition). Isso está quebrado no xDuke e em todos os ports que derivem dele.Outra funcionalidade muito importante nessa versão é o suporte nativo à IPv6 (full dual-stack).
Novas Funcionalidades
Suporte IPv6 nativo.
Screenshots automáticas.
Gravação automática de demos.
Novo comando de console
RECORD <0/1/2>
ou
RECORD <OFF/ON/AUTO>
para trocar (des)ativar rapidamente a gravação de demos).
Novo comportamento para a tecla F8: (des)ativação da gravaçao de demos. O (des)ligar das mensagens do jogo (funçao antiga da tecla F8) agora é feito no menu HUD/MENU SETUP.
Chat salvo dentro do arquivo DMO.
CRC do mapa salvo dentro do arquivo demo para previnir conflitos com nomes de usermaps.
Data e hora da partida salvas dentro da DMO.
Abrir DMO com dois cliques ou arrastando e soltando.
Opção para exibir contornos e informações de jogadores ao assistir DMOs (jogadores, projéteis, marcadores, holodukes e armas derrubadas).
Números de dano (nova netflag).
Várias outras netflags novas.
Suporte à tiles customizados de mira com a crosshair.art.
Nova opção de mira para indicar o modo de autoaim atual (A.A. Tied).
Novo modo de troca automática de arma baseada na lista de preferência de armas.
Novos modos de barra de pontuação.
Será exibido o ícone giratório do duke acima da cabeça de um player que estiver digitando ou com o menu aberto.
Atalhos de mensagem e opções de comportamento do chat.
Menu de multiplayer offline.
Exibição de ar no HUD.
Indicador na tela para o time atual (pode ser desabilitado pelos menus).
Novo modo de obituários (híbrido).
Aviso de quem apertou o nuke button.
Contagem de secrets e de monstros mortos ao exibir o mapa.
Novo comando de console
MAP <nome_mapa>
para trocar rapidamente de user map.
Mais filtros de paleta para que itens/armas/botões/rachaduras sejam exclusivas de certos modos de jogo (similar para como a paleta 1 faz com que itens sejam exclusivos em jogos multiplayer). Confira o Guia Para Criar Mapas para mais informações.
O holoduke do modo rebalanceado agora tem um novo efeito: ao invés de acionar a mira automática dos inimigos, ele agora sempre será criado estando no mesmo estado em que o jogador esteja naquele momento (e.g. em pé, abaixado, nadando, voando ou encolhido) e terá ângulo fixo (funciona melhor como enganação).
Melhorias
Métodos de segurança aprimorados contra potenciais cheaters.
Várias melhorias nos menus.
SDL.DLL e SDL_MIXER.DLL estáticas incorporadas dentro do produke.exe. Não é mais necessário ter esses arquivos no diretório do jogo. Isso também aumenta a performance do jogo.
Agora o jogo lê os arquivos obrigatórios direto do produke.grp. Não é mais necessário ter o LOOKUP.DAT e o TILES023.ART no diretório do jogo.
As screenshots agora são salvas no formato PNG de 8 bits (tamanho menor em disco).
Agora a demo continua sendo gravada mesmo depois que alguém quitar.
Agora o jogo começa a gravar uma demo nova quando acontece uma troca de mapa (se a opção RECORD estiver setada para AUTO).
Agora as demos gravam os items e armas atuais de cada jogador ao avançar de mapa em modos COOP.
Agora é possível jogar com até 15 BOTs (16 jogadores no total).
Indicador de latencia amarelo alterado de 5 game tics (~166ms) para 3 games tics (~100ms).
Os obituários agora exibem mais tipos de morte, como monstros e dano do ambiente.
Partidas COOP/Survival agora mostram a barra de pontuação (contagem de kills/dano inflingido em montros).
Indicadores de objetos fora de tela para os modos de jogo CTF e Terminator (os Contornos devem estar ligados).
Elementos de interface específicos de certos modos de jogo agora podem ser desligadas pelos menus.
Mensagem de score limit refeita.
Agora o jogo mostra quem pausou o jogo.
Novos presets de netflags.
Melhoria na seleção do menu de preferencia de armas.
Fonte menor nos submenus (Arte do Duke 1.3).
A paleta roxa nas outlines agora aparece corretamente como roxo ao invés de alaranjada.
O menu do jogo não será mais aberto quando você estiver saindo do console com a tecla ESC.
Agora só é possivel fechar o console apertando ESC. Isso foi feito para que você consiga digitar o caractere configurado para abrir o console no terminal. Além disso, a tecla configurada não será mais digitada automaticamente no terminal se você estiver apenas abrindo o console.
Aumentar/diminuir a tela agora estará desabilitado enquanto estiver digitando.
Agora o console suporta teclas com shift (!, @, #, etc).
Correções de bugs
Correção das DMOs não estarem sendo gravadas corretamente.
Correção do playback de DMOs do xDuke.
Correção de um bug onde pontos de nascimento de DM estavam sendo utilizados quando o mapa tinha pontos de nascimento de TIMES porém estes não eram suficientes (agora os pontos de nascimento de TIMES podem ser utilizados por mais de um player).
Correção de um bug que fazia uma mensagem vazia ser enviada ao não apertar Enter.
Correção de um bug onde uma sprite incorreta aparecia no overhead info caso o nome do jogador contivesse espaços.
Correção de um bug onde spawnariam infinitos pedaços de corpo do duke quando o jogo tentasse Ressucitar o player a força (Force Respawn) numa partida TLMS quando o player não possuia mais vidas.
Correção de um bug que causava out of sync quando se estava jogando Terminator com o duke talk desligado.
Correção de um bug onde as preferencias de armas não estavam sendo salvas no CFG.
Correção de um bug onde a arma dos aliados aparecia pela parede mesmo com os contornos de time desligados.
Correção de um bug onde as netflags padrão não estavam sendo consideradas durante a inicialização do jogo.
Correção de um bug onde as sombras dos jogadores estavam sendo renderizadas em situações de SoS (sector over sector).
Correção de um bug onde os contornos e o overhead info estavam sendo afetados pela visiblidade global do mapa.
Correção de um bug onde o jogo fechava ao abrir sem um duke3d.cfg.
Correção de um bug onde a cor do jogador aparecia incorreta no menu.
Correção de um bug onde algumas sprites cortavam pelas paredes quando o modo widescreen estava habilitado. Isso é um bug presente no código do rDuke.
Correções de bugs originais (do xDuke)
Correção do playback de DOS DMOs originais (demos 1, 2 e 3 da GRP do Duke Nukem 3D 1.5 Atomic).
Correção de um bug no qual o jogo falhava ao soltar a tecla ALT (comum ao dar ALT+TAB), o que resultava em considerá-la como pressionada quando na verdade não estava, o que potencialmente resultava em (des)abilitar a tela cheia quando o usuário apertasse ENTER.
Cameras de demo funcionam novamente (estavam desativadas no xDuke) e podem ser ligadas ou desligadas.
Correção do famoso crash da E4L11 (Area 51) que ocorre quando um jogador passa pelo duto de ar da parte de fora do mapa.
Correção de um crash que ocorria na E1L2 (Red Light District) quando se abria o automap perto do corredor escuro.
Correção de um bug onde paletas globais (nightvision/em baixo d'água) eram resetadas ao trocar do modo fullscreen para em janela ou vice-versa.
Correções de bugs originais (do DOS)
Correção de um bug que acontecia no primeiro nascimento caso a posição X/Y de um ponto de nascimento fosse compartilhado por 2 setores (i.e. SOS), então o player talvez nasceria no setor errado ao invés de nascer no setor em que a sprite APLAYER foi colocada (ex: E2L11 - Lunatic Fringe(P3, P4, P5, P6), E4L9 - Derelitic(P5, P6), h-32.map(P3)).
Correção de um bug que acontecia no COOP no qual todos os jogadores começavam com os pontos de vida do P1.
Correção de um bug que acontecia no COOP no qual se um jogador estivesse carregando uma arma sem munição no exato momento em que a fase acabasse, ele começaria o próximo mapa com essa arma vazia e o jogo não tentaria realizar uma troca de arma.
Correção de um bug onde o jogador renascia encolhido em algumas situações.
Correção de um bug onde actors acertados diretamente por um projétil encolhedor podiam não ser encolhidos. No jogo original, quando o projetil encolhedor acerta algo, ele cria um pequeno efeito em área que faz com que actors em seu alcance sejam encolhidos (o hit em si não tinha efeito algum). Na maior parte do tempo essa área é grande o suficiente para alcançar o actor atingido, mas esse nem sempre era o caso. O exemplo mais comum seria, utilizando a mira automatica, atirar com a Shrinker contra mini battlelords, mas o bug pode ocorrer contra a maioria dos actors, incluindo também outros jogadores numa partida Dukematch.
Correção de um bug onde o guindaste pegava o jogador mais próximo quando o jogador agarrado morria.
Correção de um bug que ocorria após um Jogador ser comido por uma Greenslime, a slime teleportava instantaneamente para o jogador mais proximo já o atacando.
Correção de um bug relacionado à troca de armas no qual o jogo nem considerava a Expander ao fazer uma troca automatica por falta de munição OU quando cancelando a animação de recuo para uma troca rápida.
Correção de um bug relacionado à troca de armas no qual o jogo realizava trocas de arma involuntárias devido a ter a tecla de outra arma estar apertada durante o fim de animação de tiro, como era no DOS (e.g. atire com a Shotgun, espere pelo meio da animação de tiro (se feito antes resultará no cancelamento de animação de tiro para uma troca rápida de armas, e isso não resultará no bug), então aperte a tecla da RPG e mantenha pressionada até o fim da animação de tiro. Agora, atire novamente com a Shotgun: após atirar, o jogo irá realizar uma troca de arma rápida de forma involuntária para a RPG - o que ocorre é que, devido a um bug, o jogo manteve "guardada" a troca para a RPG, e o jogo usa ela para o cancelamento de animação de tiro, já que essa troca não foi apagada).
Correção de um bug relacionado à troca de armas no qual ocorria uma troca automatica por arma vazia bugada ao fazer o bug anterior (c) caso a arma "guardada" também for a arma atual e essa arma tenha exatamente 1 de munição, como era no DOS (e.g. primeiro, pegue uma RPG e gaste sua munição até restar exatamente só 1 tiro. Agora, atire com a Shotgun e faça com que a troca para a RPG seja "guardada" (como explicado no bug (c)), mas não atire com a Shotgun novamente, ao invés disso, aperta a tecla da RPG para você mesmo trocar de arma e só agora aperte para atirar - o jogo irá atirar o ultimo tiro restante da RPG e tentará realizar a mesma troca invonlutária do bug anterior, mas isso falhará pois a arma que ele está tentando trocar para não tem munição - o jogo não saberá o que fazer, o que resultará no jogador ficando preso com a RPG e incapaz de atirar).
Correção de um bug relacionado à troca de armas no qual ocorria uma troca automatica por arma vazia bugada após pisar num jogador encolhido (e.g. com a Shrinker com exatamente 2 tiros restantes, ao atirar 2 tiros em seguida a queima-roupa: após o pisão o jogador ficava segurando uma Shrinker bugada sem animaçao e incapaz de atirar.
Correção de um bug onde o jogo usava por padrão a paleta global (e.g. paleta de embaixo d'agua) do P1 ao fazer as piscadas de tela (e.g. quando se pega um item) enquanto mostrava a tela de outros players durante a reprodução de demos OU ao ver a tela de um aliado.
Correção de vários bugs na exibição do rastro do steroids.
O código de trapaça
DNSKILL0
agora colocará corretamente no modo SEM MONSTROS ao invés de remover todos os actors (monstros, itens, armas, etc).