Emulador Omega PS2 vermelho

Olá a todos os amantes de jogos retrô (os jogos para Play Station 2 se enquadram nessa categoria). Submeto para sua avaliação meu projeto do emulador de clone PCSX2 - Red Omega. Brevemente sobre o projeto - este é um clone do PCSX2 para Windows 10 com uma interface simplificada, um limite mínimo de entrada e a implementação de controle via interface de usuário "Touch".



Eu aviso que a qualidade da imagem é "arrancar os olhos". Cuspir na tela é inútil. Eu tentei - não ajuda :)


Acredito que um leitor que procurou por baixo do corte gostaria de conhecer os detalhes. mas dentro da razão.


Bem, vamos começar com uma interface de usuário simples


O projeto PCSX2 original tem uma interface complexa (na minha opinião). Sim, é conveniente no processo de depuração de patches para jogos - mas um usuário não profissional introduz uma enorme quantidade de funcionalidades desnecessárias em um estupor. No meu projeto, propus-me a criar uma interface simples e intuitiva. Como resultado, toda a funcionalidade de depuração é removida e a configuração do emulador é definida no código para oferecer suporte à maioria dos jogos.


A próxima alteração na interface é a transição sob o design "Touch" - uma interface "média" no estilo Win95:



substituído por "lado a lado" (na maior parte), que permite interagir com o programa como um "ponteiro do mouse" e tocando na tela sensível ao toque:
Observe que este NÃO é um aplicativo da Windows Store. No entanto, a imitação é muito próxima.
Como resultado, o suporte de controle para jogos através da "Tela de toque" está incluído. No topo da imagem, foram adicionados controles de controle de jogo semi-transparentes. Mas, ao mesmo tempo, você pode recusá-lo mudando para o "Game Pad" físico


O próximo momento - gerenciamento ou, mais precisamente, gerenciamento de recursos


Um ponto separado é a conveniência de gerenciar arquivos de imagem de jogos, BIOS, cartões de memória e salvamentos. O projeto PCSX2 original apresenta opções limitadas para gerenciar imagens de jogos e seus downloads. Para melhorar essa funcionalidade, baixe BIOSs, imagens de jogos e salve-os, dedicando quase um terço do espaço da interface do usuário.


Os BIOS são carregados de arquivos separados e de arquivos zip. Informações abrangentes são apresentadas em forma de texto visual:



As imagens do jogo são baixadas dos arquivos ISO e verificadas quanto à compatibilidade - se anteriormente a imagem do arquivo do jogo foi verificada DURANTE o lançamento do emulador, este projeto verifica o tipo de imagem, seu nome correto e a capacidade de reprodução separadamente do processo de lançamento do jogo:



Salvar gerenciamento é fundamentalmente alterado. O projeto PCSX2 original tem um limite de 10 slots de arquivo por jogo, sem a capacidade de determinar a data e o progresso do salvamento:



Este projeto permite criar até 100 arquivos salvos por jogo durante o jogo. Cada arquivo salvo é identificado pela data da gravação, a duração da sessão do jogo salva, capturada pela imagem da tela:




Além das gravações criadas, quando o jogo é interrompido ou o programa é fechado, o estado atual do emulador é salvo no arquivo "Salvamento automático" - isso permite que você continue o jogo na próxima vez em que iniciar esse emulador, mesmo que o estado anterior do jogo não tenha sido salvo por engano. Além disso, o tempo para carregar dados de salvamentos foi reduzido - o projeto PCSX2 original requer o carregamento do BIOS, uma imagem do jogo e, em seguida, você precisa selecionar um arquivo salvo - o tempo de carregamento pode ser de até 30 segundos. Este projeto reduz o tempo de carregamento economizado para 3-5 segundos.


Os cartões de memória deste projeto podem ser gerenciados de uma maneira mais "flexível":



Os cartões de memória podem ser criados durante a operação do emulador e alternados de um cartão de memória para outro para carregar ou salvar dados nos jogos durante o processo do jogo. Os nomes dos arquivos criados dos cartões de memória são gerados com base no nome do jogo e no número de identificação exclusivo do disco - para cada jogo atual, apenas os cartões de memória "próprios" estão disponíveis.


Controlador de jogo


Este projeto permite alternar o tipo de controle nos jogos do toque para o controlador físico do jogo:




Captura


As funções de captura de imagem e vídeo são implementadas no projeto PCSX2 original de forma limitada e sem um estudo cuidadoso da interface do usuário, essa funcionalidade pode ser perdida. Neste projeto, reescrevi a solução para capturar a imagem do jogo usando o novo SDK e coloquei os botões de controle necessários em cima da imagem do jogo:



A qualidade da compactação de imagens individuais está em um nível fixo. A qualidade da gravação do processo de videogame "ao vivo" pode ser configurada na faixa de 10% a 99%. Os nomes dos arquivos criados são gerados com base no nome do jogo e no valor atual do tempo. A jogabilidade de vídeo e áudio é gravada em formatos compatíveis com arquivos mp4. Um painel de controle separado permite visualizar imagens e vídeos durante uma pausa:





Configurações gerais


Além de controlar a jogabilidade, há um painel de configurações gerais: "Modo de exibição", "Modo de controle", "Instalar uma janela em cima de tudo", "Qualidade de compactação de vídeo", "Desativar modo widescreen", "Tradução atual". O "modo de exibição" permite alternar a área de desenho do jogo da tela cheia para a "janela"



"Modo de controle" permite alternar o circuito de controle do botão para o toque




O restante das configurações é fácil de entender.


Conclusão


Este projeto percorreu um longo caminho desde a versão original do emulador PCSX2, mas ainda não deixou o status da versão de teste. O código fonte é publicado no emulador GitHub: OmegaRed e CodeProject: Omega Red PS2 .

Source: https://habr.com/ru/post/pt415851/


All Articles