Preciso de uma lista definida de diretórios, um ou mais por plataforma, de onde colocar os arquivos salvos no jogo e outros dados gerados no jogo . Com base na especificação do desenvolvedor do SO ou porque é de uso comum se não houver recomendação.
Forneça uma resposta por plataforma , com diretórios diferentes. Além disso, é melhor o exemplo de como obter o local do diretório em C ++ ou C , pois é o idioma que você terá mais dificuldade.
Localizações:
- Dados do jogo do jogador (jogos salvos, configuração).
- Dados compartilhados do jogo (como pontuação alta ou configuração para todos os usuários de computador).
- Dados temporários do jogo (também conhecido como diretório de cache).
Respostas:
Windows (Xp e seguintes)
Baseado em:
Esses locais pressupõem que o Windows esteja instalado no disco C :. Anexe seu próprio diretório com o nome do jogo ou a empresa do jogo e, em seguida, o nome do jogo nesses diretórios.
Se você usar o aplicativo estilo Metro do Windows 8 , precisará usar uma API específica em vez de tentar acessar os diretórios. Ler:
Dados do jogo do jogador
Windows Vista e seguintes:
Windows XP:
Você pode obter automaticamente o endereço correto dependente do nome de usuário, obtendo a
APPDATA
variável de ambiente .Padrão C (todos os compiladores):
Visual Studio 20xx ( evite o aviso getenv () dizendo que não é seguro ) - não no estilo Metro:
Impulsionar usuários : no momento em que escrevo esse boost.filesystem (que também é um rascunho da biblioteca de sistemas de arquivos proposto para o próximo padrão C ++), ainda não implementamos uma função para fornecer o diretório correto. No entanto, houve discussões sobre isso antes . Sinta-se à vontade para atualizar esta seção se as coisas mudarem.
Dados compartilhados do jogo
Windows Vista e seguintes:
Windows XP:
Você pode obter automaticamente o endereço correto obtendo a
PROGRAMDATA
variável de ambiente .Padrão C (todos os compiladores):
Visual Studio 20xx ( evite o aviso getenv () dizendo que não é seguro ) - não no estilo Metro:
Impulsionar usuários : no momento em que escrevo esse boost.filesystem (que também é um rascunho da biblioteca de sistemas de arquivos proposto para o próximo padrão C ++), ainda não implementamos uma função para fornecer o diretório correto. No entanto, houve discussões sobre isso antes . Sinta-se à vontade para atualizar esta seção se as coisas mudarem.
Dados temporários do jogo
Windows Vista e seguintes:
Windows XP:
Você pode obter automaticamente o endereço correto obtendo a
TEMP
variável de ambiente .Usuários do C ++ Boost : existe uma função boost.filesystem simples entre plataformas para esse
Padrão C (todos os compiladores):
Visual Studio 20xx ( evite o aviso getenv () dizendo que não é seguro ) - não no estilo Metro:
fonte
Mac OS
Baseado em:
No sistema operacional baseado em unix, o
~
diretório é localizado automaticamente no diretório inicial do usuário, onde estão os dados específicos do usuário. Isso significa que, independentemente do idioma, nessas plataformas, você pode acessar automaticamente essa pasta usando, em~
vez de usar uma função específica do SO. Observe também que esse/
é o caminho raiz de todo o sistema, não o caminho da raiz do disco principal.Anexe seu próprio diretório com o nome do jogo ou a empresa do jogo e, em seguida, o nome do jogo nesses diretórios.
Dados do jogo do jogador
A orientação da Apple é localizar os arquivos de salvamento e configuração para salvá-los automaticamente na nuvem, se disponível:
No entanto, é melhor (e usado com mais frequência) localizar esses arquivos em:
Apenas saiba que, nesse caso, os arquivos não serão salvos automaticamente na nuvem. Se você quiser que o jogador escolha, use a API da plataforma para fazê-lo escolher.
Dados compartilhados do jogo
Observe que não existe
~
, não é relativo à casa do usuário, mas à raiz do sistema.Dados temporários do jogo:
Se os dados não precisarem ser mantidos entre as execuções:
Se os dados precisarem ser mantidos entre as execuções;
Usuários do C ++ Boost : existe uma função boost.filesystem simples entre plataformas para esse
fonte
~/Documents
. Isso é para o usuário escolher organizar; você nunca deve gravar em um caminho fixo dentro de documentos. Seu jogo deve ser usado~/Library/Application Support/Your App Name/
para salvar e outros dados do usuário.Linux Debian (Ubuntu, Fedora, etc.)
Baseado em:
No sistema operacional baseado em unix, o diretório ~ é automaticamente localizado no diretório inicial do usuário, onde os dados específicos do usuário estão localizados. Isso significa que, independentemente do idioma, nessas plataformas, você pode acessar automaticamente esta pasta usando ~ em vez de usar uma função específica do SO. Observe também que / é o caminho raiz de todo o sistema, não o caminho da raiz do disco principal.
Anexe seu próprio diretório com o nome do jogo ou a empresa do jogo e, em seguida, o nome do jogo nesses diretórios.
Dados do jogo do jogador
Tradicionalmente, para o jogo Aquaria, seria:
Observe que diretórios e arquivos iniciados com
.
serão ocultados por padrão para o usuário.A maioria dos desktops agora tenta aderir à especificação XDG , que recomenda
ou
para configuração e savegames.
Se
$XDG_CONFIG_HOME
não estiver definido, use:ou
Isso ocorre principalmente para desorganizar o diretório inicial do usuário, além de permitir que os usuários executem vários perfis de um aplicativo, se acharem necessário. Existem também outros diretórios específicos do usuário dedicados na especificação.
Dados compartilhados do jogo
Os arquivos de configuração compartilhados devem estar localizados em
Dados temporários do jogo
fonte