- updated pt translation (thanks to almosthumane)
- Added/updated some Themes by Ilya B
- Added a random wallpaper loading at loading screen (see wallpapers.txt in Res/graphics)
- Saving decks and collection should now be a bit more secure (attempt at minimizing issue 393)
This commit is contained in:
wagic.the.homebrew@gmail.com
2010-05-02 12:49:36 +00:00
parent c26f453b16
commit 755bb04475
54 changed files with 304 additions and 176 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

@@ -0,0 +1,7 @@
wallpapers/final_saga1.jpg
wallpapers/final_saga2.jpg
wallpapers/final_saga3.jpg
wallpapers/wagic1.png
graphics/shop.jpg
themes/Classic/backdrop.jpg
themes/Jade/backdrop.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

View File

@@ -1,19 +1,20 @@
#LANG:Portugues #LANG:Portugues
#Tradução em Português PT para Wagic 0.10.1, #Tradu??o em Portugu?s PT para Wagic 0.10.1,
#traduzido por Nuno "Vesgo" Santos #traduzido por Nuno "Vesgo" Santos
#Renomeie este arquivo para "_lang.txt ou substitua pt por _lang no nome do arquivo para jogar Wagic em português #Corrigido para o release 2001 por almosthumane
#Renomeie este arquivo para "_lang.txt ou substitua pt por _lang no nome do arquivo para jogar Wagic em portugu?s
#Note to translators: #Note to translators:
# - Cards' names and types are translated here (see bottom of the file) # - Cards' names and types are translated here (see bottom of the file)
# - Cards' rules text is translated in a separate file: Res\lang\pt_cards.txt # - Cards' rules text is translated in a separate file: Res\lang\pt_cards.txt
# - Translations are case sensitive # - Translations are case sensitive
# - Limitation: Special characters that are not in the limited 128 ASCII # - Limitation: Special characters that are not in the limited 128 ASCII
# set can not be used, the game won't display them. # set can not be used, the game won't display them.
# - DO NOT TRANSLATE ANYTHING in the _cards.dat files. # - DO NOT TRANSLATE ANYTHING in the _cards.dat files.
########################## ##########################
# USER INTERFACE: # # USER INTERFACE: #
########################## ##########################
Yes=Sim Yes=Sim
@@ -24,8 +25,8 @@ Save & Back to Main Menu=Salvar e voltar ao Menu
Back to Main Menu=Voltar ao Menu Back to Main Menu=Voltar ao Menu
Back to main menu=Voltar ao Menu Back to main menu=Voltar ao Menu
# Note: There's no sense in providing a translation for "Cancel" # Note: There's no sense in providing a translation for "Cancel"
# here, since there's a spell of this name, and the translation # here, since there's a spell of this name, and the translation
# of this spell will override anything we set here. # of this spell will override anything we set here.
# Simple Pad: # Simple Pad:
Spacebar=Barra de espacos Spacebar=Barra de espacos
@@ -35,15 +36,15 @@ Confirm=Confirmar
########################## ##########################
# MAIN MENU # # MAIN MENU #
########################## ##########################
# Engine initialization: # Engine initialization:
LOADING SET: %s=A CARREGAR SET: %s LOADING SET: %s=A CARREGAR EXPANCAO: %s
# Main menu: # Main menu:
Play=Jogar Play=Jogar
Deck Editor=Editor de Deck Deck Editor=Editor de Baralho
Shop=Loja Shop=Loja
Options=Opcoes Options=Opcoes
Exit=Sair Exit=Sair
@@ -53,26 +54,26 @@ Exit=Sair
Database: %i cards=Base dados: %i cartas Database: %i cards=Base dados: %i cartas
# Scrolling messages: # Scrolling messages:
You have a %i%% victory ratio with Deck%i=Tem um racio de vitoria de %i%% com o Deck %i You have a %i%% victory ratio with Deck%i=Tem um racio de vitoria de %i%% com o baralho %i
You have played %i games with Deck%i=Jogou %i partidas com o Deck %i You have played %i games with Deck%i=Jogou %i partidas com o baralho %i
You have played a total of %i games=Jogou um total de %i partidas You have played a total of %i games=Jogou um total de %i partidas
Unlock the difficult mode for more challenging duels!=Desbloqueia o modo de Dificuldade para duelos mais competitivos! Unlock the difficult mode for more challenging duels!=Desbloqueia o modo de Dificuldade para duelos mais competitivos!
Interested in playing Momir Basic? You'll have to unlock it first :)=Interessado em jogar Momir Basic? Desbloqueia-o primeiro! :) Interested in playing Momir Basic? You'll have to unlock it first :)=Interessado em jogar Momir Basic? Desbloqueia-o primeiro! :)
You haven't unlocked the random deck mode yet=Ainda nao desbloqueou o modo de Deck "Aleatorio" You haven't unlocked the random deck mode yet=Ainda nao desbloqueou o modo de baralho "Aleatorio"
You haven't unlocked the evil twin mode yet=Ainda nao desbloqueou o modo "Evil Twin" You haven't unlocked the evil twin mode yet=Ainda nao desbloqueou o modo "Evil Twin"
You have unlocked %i expansions out of %i=Desbloqueou %i expansoes de um total de %i You have unlocked %i expansions out of %i=Desbloqueou %i expansoes de um total de %i
You have a total of %i cards in your collection=Tem um total de %i cartas na sua coleccao You have a total of %i cards in your collection=Tem um total de %i cartas na sua coleccao
The cards in your collection have an average value of %i credits=A sua coleccao tem um valor medio de %i creditos The cards in your collection have an average value of %i credits=A sua coleccao tem um valor medio de %i creditos
The shopkeeper would buy your entire collection for around %i credits=O vendedor da loja compraria a sua coleccao por %i creditos The shopkeeper would buy your entire collection for around %i credits=O vendedor da loja compra a sua coleccao completa por %i creditos
You currently have %i credits=Actualmente tem %i creditos You currently have %i credits=Actualmente tem %i creditos
More cards and mods at http://wololo.net/wagic=Mais cartas e mods em http://wololo.net/wagic More cards and mods at http://wololo.net/wagic=Mais cartas e mods em http://wololo.net/wagic
These stats will be updated next time you run Wagic=Estas estatisticas serao actualizadas da proxima vez que iniciar Wagic These stats will be updated next time you run Wagic=Estas estatisticas serao actualizadas da proxima vez que iniciar Wagic
# Number of players menu: # Number of players menu:
1 Player=1 jogador 1 Player=1 Jogador
2 Players=2 jogadores 2 Players=2 Jogadores
Demo=Demo Demo=Demonstracao
Test Suite=Modo de teste Test Suite=Modo de Teste
# Game type menu: # Game type menu:
Classic=Classico Classic=Classico
@@ -81,11 +82,11 @@ Random 1 Color=Aleatorio (1 cor)
Random 2 Colors=Aleatorio (2 cores) Random 2 Colors=Aleatorio (2 cores)
# Player deck menu: # Player deck menu:
Choose a Deck=Escolher Deck Choose a Deck=Escolher baralho
Create your Deck!=Criar Deck! Create your Deck!=Criar baralho!
Premade G/R=Pre-construido G/R Premade G/R=Pre-construido G/R
NO DECK AVAILABLE,=Sem Deck disponivel, NO DECK AVAILABLE,=Sem baralho disponivel,
PRESS CIRCLE TO GO TO THE DECK EDITOR!=PRESSIONE CIRCULO PARA EDITOR DE DECK! PRESS CIRCLE TO GO TO THE DECK EDITOR!=PRESSIONE CIRCULO PARA EDITOR DE BARALHO!
# Opponent deck menu: # Opponent deck menu:
Choose Opponent=Escolher Adversario Choose Opponent=Escolher Adversario
@@ -93,57 +94,57 @@ Choose Opponent=Escolher Adversario
(hard)=(***) (hard)=(***)
Random=Aleatorio Random=Aleatorio
Evil Twin=Evil Twin Evil Twin=Evil Twin
LOADING DECKS=A CARREGAR DECKS LOADING DECKS=A CARREGAR BARALHOS
########################## ##########################
# DUEL # # DUEL #
########################## ##########################
# Players: # Players:
Player 1=jogador 1 Player 1=jogador 1
Player 2=jogador 2 Player 2=jogador 2
# Turns & Priority: # Turns & Priority:
your turn=O seu turno your turn=O seu turno
opponent's turn=turno do oponente opponent's turn=turno do Adversario
opponent plays=oponente joga opponent plays=Adversario joga
you play=Voce joga you play=Voce joga
# Phases & Steps: # Phases & Steps:
Untap=Desvirar Untap=Fase de Desvirar
Upkeep=Manutencao Upkeep=Fase de Manutencao
Draw=Compra Draw=Compra
Main phase 1=1 fase principal Main phase 1=1a Fase Principal
Combat begins=Inicio combate Combat begins=Inicio Combate
Attackers=Atacantes Attackers=Atacantes
Blockers=Bloqueadores Blockers=Bloqueadores
Combat damage=Dano combate Combat damage=Dano de Combate
Combat ends=Fim combate Combat ends=Fim Combate
Main phase 2=2 fase principal Main phase 2=2a Fase Principal
End=Etapa final End=Final do Turno
Cleanup=Limpeza Cleanup=Limpeza
# Interrupts: # Interrupts:
Interrupt?=Magica Interrupcao? Interrupt?=Magica Interrupcao?
X Interrupt - 0 No - [] No to All=X Sim - 0 Nao - [] Nao a todos X Interrupt - 0 No - [] No to All=X Sim - 0 Nao - [] Nao a Todas
X Interrupt - 0 No=X Sim - 0 Nao X Interrupt - 0 No=X Sim - 0 Nao
# Stack: # Stack:
Deals %i damage to=Causa %i dano a: Deals %i damage to=Causa %i dano a:
is exiled=<EFBFBD>Eexilado is exiled=?Exilado
Player %i draws %i card=Jogador %i compra %i carta Player %i draws %i card=Jogador %i compra %i carta
goes to graveyard=vai para o cemiterio goes to graveyard=vai para o cemiterio
%s goes to graveyard=%s vai para o cemiterio %s goes to graveyard=%s vai para o cemiterio
# Abilities: # Abilities:
Ability=Abilidade Ability=Habilidade
Attacker=Atacante Attacker=Atacante
Blocker=Bloqueador Blocker=Bloqueador
Copy=Copiar Copy=Copiar
Cycling=Reciclar Cycling=Reciclar
Damage=Dano Damage=Dano
Deathtouch=Toque mortúƒero Deathtouch=Toque mortifero
Destroy=Destroi Destroy=Destroi
Draw=Comprar Draw=Comprar
Equip=Equipar Equip=Equipar
@@ -151,13 +152,13 @@ Fizzle=Impedir
Life=Vida Life=Vida
Momir=Momir Momir=Momir
Move=Mover Move=Mover
Put into play=Colocar em jogo Put into play=Colocar em Jogo
# Regenerate gets its translation from the card of the same name # Regenerate gets its translation from the card of the same name
Tap=Virar Tap=Virar
# Untap gets its translation from the phase of the same name # Untap gets its translation from the phase of the same name
# Abilities (special cases): # Abilities (special cases):
Add =Adicionar Add =Adicionar
white=branco white=branco
blue=azul blue=azul
black=preto black=preto
@@ -169,20 +170,20 @@ mana=mana
sacrifice=Sacrificar sacrifice=Sacrificar
# End of Match / Victory screen: # End of Match / Victory screen:
Difficulty Bonus=Bonus de dificuldade Difficulty Bonus=Bonus de Dificuldade
'Live dangerously and you live right' Bonus=Bonus de Ousadia 'Live dangerously and you live right' Bonus=Bonus de Ousadia
Life Delta Bonus=Bonus de vida Life Delta Bonus=Bonus de Vida
'Decree of Theophilus' Bonus=Bonus 'Decreto de Theophilus' 'Decree of Theophilus' Bonus=Bonus do 'Decreto de Theophilus'
Miller Bonus=Bonus de moleiro Miller Bonus=Bonus de Moleiro
'Fast and Furious' Bonus=Bonus 'Velocidade Furiosa' 'Fast and Furious' Bonus=Bonus de 'Velocidade Furiosa'
Victory=Vitoria Victory=Vitoria
Task: %s=Tarefa: %s Task: %s=Tarefa: %s
Credits per minute: %i=Creditos por minuto: %i Credits per minute: %i=Creditos por minuto: %i
Game length: %i seconds=Tempo de jogo: %i segundos Game length: %i turns (%i seconds)=Tempo de jogo: %i turnos (%i segundos)
Congratulations! You earn %i credits=Parabens! Ganhou %i creditos! Congratulations! You earn %i credits=Parabens! Ganhou %i creditos!
You have been defeated=Foi derrotado! You have been defeated=Foi derrotado!
Player %i wins (%i)=Jogador %i vence (%i) Player %i wins (%i)=Jogador %i vence (%i)
Please check your deck (not enough cards?)=Verificar Deck - Sem cartas suficientes? Please check your deck (not enough cards?)=Verificar Baralho - Sem cartas suficientes?
Please support this project!=Suporte este projecto! Please support this project!=Suporte este projecto!
Wagic is free, open source, and developed on the little free time I have=Wagic e gratuito, open source, e desenvolvido no meu tempo livre Wagic is free, open source, and developed on the little free time I have=Wagic e gratuito, open source, e desenvolvido no meu tempo livre
If you enjoy this game, please consider donating a few bucks=Se gosta deste jogo, por favor considere doar algum dinheiro If you enjoy this game, please consider donating a few bucks=Se gosta deste jogo, por favor considere doar algum dinheiro
@@ -190,68 +191,71 @@ If you enjoy this game, please consider donating a few bucks=Se gosta deste jogo
Thanks in advance for your support.=Obrigado pelo seu suporte. Thanks in advance for your support.=Obrigado pelo seu suporte.
# Error Messages: # Error Messages:
AN ERROR OCCURRED, CHECK FILE NAMES=Ocorreu um erro, verifique nome dos ficheiros AN ERROR OCCURRED, CHECK FILE NAMES=OCORREU UM ERRO, VERIFIQUE NOME DOS FICHEIROS
########################## ##########################
# DECK EDITOR # # DECK EDITOR #
########################## ##########################
# Deck editor menu: # Deck editor menu:
--NEW--=--Novo-- --NEW--=--Novo--
Filter by...=Filtrar por...
Save=Salvar Save=Salvar
Save & Rename=Salvar e Renomear Save & Rename=Salvar e Renomear
Switch decks without saving=Trocar Decks sem salvar Switch decks without saving=Trocar Baralhos sem salvar
*Complete collection & reset*=*Completar coleccao e reiniciar* *Complete collection & reset*=*Completar coleccao e reiniciar*
Rename deck=Renomear Deck Rename deck=Renomear Baralho
# Info layer - directional keys: # Info layer - directional keys:
Prev. color=Cor anterior Prev. edition=Cor anterior
Next color=Cor seguinte Next edition=Cor seguinte
Prev.=ant. Prev.=Ant.
Next=prox. Next=Prox.
card=carta card=Carta
cards=cartas cards=Cartas
# Info layer - symbol keys: # Info layer - symbol keys:
Toggle Images=Activar imagens Toggle Images=Activar Imagens
View Collection=Ver coleccao View Collection=Ver Coleccao
View Deck=Ver Deck View Deck=Ver Baralho
Add card=Adicionar carta Add card=Adic. Carta
Remove card=Remover carta Remove card=Remover Carta
Sell card=Vender carta Sell card=Vender Carta
# Info layer - explanations: # Info layer - explanations:
Use SQUARE to view collection,=Usar [] para ver coleccao Use SQUARE to view collection,=Usar [] para ver Coleccao
Use SQUARE to view your deck,=Usar [] para ver Deck Use SQUARE to view your deck,=Usar [] para ver Baralho
Press L/R to cycle through=Pressionar L/R para navegar Press L/R to cycle through=Pressionar L/R para Navegar
deck statistics.=estatisticas do Deck. deck statistics.=Estatisticas do Baralho.
# Other strings: # Other strings:
Collection=coleccao Collection=Coleccao
Deck=Deck Deck=Baralho
No Card=Sem carta No Card=Sem carta
Your Deck: %i cards=O seu Deck: %i cartas Your Deck: %i cards=O seu Baralho: %i cartas
menu=Menu menu=Menu
in: collection=in: coleccao filter=Filtro
in: deck=in: Deck in: collection=in: Coleccao
in: deck=in: Baralho
# Statistics - page 1: # Statistics - page 1:
Statistics Summary=Resumo de estatisticas Statistics Summary=Resumo de Estatisticas
Lands=Terrenos Lands=Terrenos
Creatures=Criaturas Creatures=Criaturas
Spells=magicas Spells=Magicas
Instants=Instantaneas Instants=Instantaneas
Enchantments=Encantamentos Enchantments=Encantamentos
Sorceries=feiticos Sorceries=Feiticos
Average converted mana cost=Custo md. mana convertido Average converted mana cost=Custo md. Mana Convertido
Probabilities=Probabilidades Probabilities=Probabilidades
No land in 1st hand=S/ terreno na 1 Mao No land in 1st hand=S/ terreno na 1a Mao
No land in 9 cards=S/ terreno em 9 cartas No land in 9 cards=S/ terreno em 9 cartas
No creatures in 1st hand=S/ criaturas na 1 Mao No creatures in 1st hand=S/ criaturas na 1 Mao
Playgame statistics=Estatisticas de jogo Playgame statistics=Estatisticas de Jogo
Games played=Partidas jogadas Games played=Partidas Jogadas
Victory ratio=Racio de vitoria Victory ratio=Racio de Vitoria
Total price (credits)=Preco total (creditos) Total price (credits)=Preco Total (Creditos)
# Statistics - page 2: # Statistics - page 2:
Mana cost detail=Detalhe custo de mana Mana cost detail=Detalhe custo de mana
@@ -266,7 +270,7 @@ Mana cost detail - Creatures=Detalhe custo mana - Criaturas
Creature counts per mana cost:=Contagem de criaturas por custo mana: Creature counts per mana cost:=Contagem de criaturas por custo mana:
# Statistics - page 4: # Statistics - page 4:
Mana cost detail - Spells=Detalhe custo mana - Magicas Mana cost detail - Spells=Detalhe custo mana - Magicas
Non-creature spell counts per mana cost:=Contagem de nao-criaturas por custo mana: Non-creature spell counts per mana cost:=Contagem de nao-criaturas por custo mana:
# Statistics - page 5: # Statistics - page 5:
@@ -277,7 +281,7 @@ BL - Basic lands=TB - Terrenos basicos
NB=TE NB=TE
NB - Non-basic lands=TE - Terrenos Especiais NB - Non-basic lands=TE - Terrenos Especiais
O=O O=O
O - Other (non-land) manasources=O - Outra (Nao-terreno) fonte mana O - Other (non-land) manasources=O - Outra (Nao-terreno) Fonte de Mana
T=T T=T
T - Totals=T - Totais T - Totals=T - Totais
@@ -297,26 +301,27 @@ No creatures in first n cards:=S/ criaturas nas primeiras n cartas:
Victory statistics=Estatisticas de vitoria Victory statistics=Estatisticas de vitoria
Victories against AI:=Vitorias contra IA: Victories against AI:=Vitorias contra IA:
Games played: %i=Partidas jogadas: %i Games played: %i=Partidas jogadas: %i
Victory ratio: %i%%=racio de vitoria: %i%% Victory ratio: %i%%=racio de vitoria: %i%%
########################## ##########################
# SHOP # # SHOP #
########################## ##########################
credits: %i=creditos: %i credits: %i=Creditos: %i
[]:other cards=[]:outras cartas []:other cards=[]:Outras Cartas
See available tasks=Ver tarefas disponiveis See available tasks=Ver Tarefas Disponiveis
*Steal 1,000 credits*=*Roubar 1.000 creditos* Steal 1,000 credits=*Roubar 1.000 creditos*
Check task board=Ver Missoes
Ask about...=Pedir Cartas
########################## ##########################
# TASKS: # # TASKS: #
########################## ##########################
Task Board=Lista de Tarefas Task Board=Lista de Tarefas
There are no tasks that need to be done. Come again tomorrow.=Nao existem tarefas. Volte amanha. There are no tasks that need to be done. Come again tomorrow.=Nao existem tarefas. Volte amanha.
Days left: %i=Dias a faltar: %i Days left: %i=Dias Restantes: %i
Reward: %i=Premio: %i Reward: %i=Premio: %i
You have to defeat %s before it causes too much harm.=Tem que derrotar %s antes que cause danos. You have to defeat %s before it causes too much harm.=Tem que derrotar %s antes que cause danos.
Please defeat %s as soon as possible.=Por favor, derrote %s o mais cedo possivel. Please defeat %s as soon as possible.=Por favor, derrote %s o mais cedo possivel.
@@ -330,21 +335,67 @@ Defeat %s and make sure it doesn't take more than %i turns.=Derrote %s no maximo
Defeat %s, in a duel no longer than %i turns.=Derrote %s em duelo que nao tenha mais de %i turnos. Defeat %s, in a duel no longer than %i turns.=Derrote %s em duelo que nao tenha mais de %i turnos.
Delay %s for %i turns=Atrase %s durante %i turnos Delay %s for %i turns=Atrase %s durante %i turnos
Defeat %s before turn %i=Derrote %s antes do %i turno Defeat %s before turn %i=Derrote %s antes do %i turno
Defeat any opponent, having at least %i lives in the end.=Derrote qualque oponente, tendo no minimo %i pontos de vida no final.
Win flawlessly (%i lives)=Ganhe sem falhas (%i vidas) Win flawlessly (%i lives)=Ganhe sem falhas (%i vidas)
Reach Invulnerability (%i lives)=Alcance Invulnerabiliade (%i vidas) Reach Invulnerability (%i lives)=Alcance Invulnerabiliade (%i vidas)
Reach Immortality! (%i lives)=Alcance Imortalidade! (%i vidas) Reach Immortality! (%i lives)=Alcance Imortalidade! (%i vidas)
Bury %i %s cards to your opponent's graveyard and defeat him.=Enterre %i cartas de %s do adversario e derrote-o. Bury %i %s cards to your opponent's graveyard and defeat him.=Enterre %i %scartas do adversario e derrote-o.
Tame the nature (%i)=Controle a natureza (%i) Tame the nature (%i)=Controle a natureza (%i)
Evaporation (%i)=Evaporacao (%i) Evaporation (%i)=Evaporacao (%i)
Bring the order (%i)=Traga ordem (%i) Bring the order (%i)=Traga ordem (%i)
Exorcism (%i)=Exorcismo (%i) Exorcism (%i)=Exorcismo (%i)
Dusk (%i)=Amanhecer (%i) Dusk (%i)=Amanhecer (%i)
Selective disaster (%i)=Desastre selectivo (%i) Selective disaster (%i)=Desastre selectivo (%i)
##
Necropotence (%i)=Necropotencia (%i)
Win a game with at least %i black cards in your hand.=Ganhe um jogo tendo pelo menos %i cartas negras na m?o.
Reach Invulnerability (%i life)=Atingir a Invulnerabilidade(%i de vida)
Defeat any opponent, having at least %i life in the end. =Derrote qualque adversario, tendo no minimo %i de vida no final.
Return to shop=Regressar a Loja
##########################
# FILTER: #
##########################
Add filter=Adicionar filtro#not translated
Clear=Limpar
Done=OK
Cards...=Cartas...
Set=Expansao
Color=Cor
Type=Tipo
Subtype=Subtipo
Rarity=Raridade
Mana Cost=Custo de Mana
Basic Ability=Habilidade Basica
Mana Ability=Habilidade de Mana
Power=Poder
Toughness=Resistencia
First Letter=Primeira Letra
#not translated
White=Branco
Blue=Azul
Black=Preto
Red=Vermelho
Green=Verde
Exclusively White=Exclusivamente Branca
Exclusively Blue=Exclusivamente Azul
Exclusively Black=Exclusivamente Preta
Exclusively Red=Exclusivamente Vermelha
Exclusively Green=Exclusivamente Verde
Artifact=Artefacto
Artifact Creature=Criatura Artefacto
Enchantment=Encantamento
Instant=M?gica Instantanea
Land=Terreno
Legendary=Lendaria
Sorcery=Feiti?o
########################## ##########################
# OPTIONS # # OPTIONS #
########################## ##########################
# Options tab: # Options tab:
@@ -359,47 +410,60 @@ Normal=Normal
Hard=Medio Hard=Medio
Harder=Dificil Harder=Dificil
Evil=Diabolico Evil=Diabolico
Display InGame extra information=Mostrar informacao extra no jogo Display InGame extra information=Mostrar Informacao Extra enquanto Joga
Enable cheat mode=Ligar modo de batota Enable cheat mode=Ligar Modo de Batota
Seconds to pause for an Interrupt=Segundos a pausar para Interrupcao Seconds to pause for an Interrupt=Segundos a Pausar para Interrupcao
Interrupt my abilities=Interromper as minhas habilidades Economic Difficuly=Dificuldade Financeira
Interrupt my spells=Interromper as minhas magicas Luck=A Sorte
Interrupt opponent's end of turn=Interromper final de turno do oponente Easy=Facil
Interrupt my abilities=Interromper as minhas Habilidades
Interrupt my spells=Interromper as minhas Magicas
Interrupt opponent's end of turn=Interromper Final de Turno do Adversario
# Game tab: # Game tab:
Game=Jogo Game=Jogo
Interface Options=Opcoes de interface Interface Options=Opcoes de Interface
Language=Lingua Language=Lingua
Closed hand=Mao fechada Closed hand=Mao
visible=visivel visible=Visivel
invisible=invisivel invisible=Escondida
Hand direction=Direccao da Mao Hand direction=Direccao da Mao
horizontal=horizontal horizontal=Horizontal
vertical=vertical vertical=Vertical
Mana display=Mostrar mana Mana display=Mostrar Mana
Simple=simples Simple=Simples
Eye candy=Eye candy Eye candy=Sofiticado
Both=Ambos Both=Ambos
Reverse left and right triggers=Trocar botoes L/R Reverse left and right triggers=Trocar botoes L/R
Disable card image loading=Desligar imagem de carta Disable card image loading=Desligar imagem de carta
User=Utilizador User=Utilizador
User Options=Opcoes de utilizador User Options=Opcoes de Utilizador
Credits: %i=creditos: %i Credits: %i=Creditos: %i
Cards: %i=Cartas: %i Cards: %i=Cartas: %i
Sets: %i (of %i)=Expansoes: %i (de %i) Sets: %i (of %i)=Expansoes: %i (de %i)
Theme: %s=Tema: %s Theme: %s=Tema: %s
Artist: %s=Artista: %s Artist: %s=Artista: %s
Default=Padrao Default=Padrao
New Profile=Novo perfil New Profile=Novo perfil
Use this Profile=Usar este perfil Use this Profile=Usar este Perfil
Use this Theme=Usar este Tema Use this Theme=Usar este Tema
#Advanced Tab
Advanced=Avancadas
Advanced Options=Opcoes Avancadas
1: 100% Supported=1: Excelentes (100% OK)
0: Borderline (99% OK)=0: Boas (99% OK)
-1: Crappy (bugs)=-1: Fracas (com erros)
-2: Unsupported=-2: Nao suportadas
-3: Dangerous (risk of crash)=-3: Perigosas (Risco de crash)
# Credits tab: # Credits tab:
Credits=creditos Credits=Creditos
########################## ##########################
# CREDITS # # CREDITS #
########################## ##########################
# The game currently does not translate its credits screen. # The game currently does not translate its credits screen.
@@ -415,32 +479,32 @@ Credits=creditos
#Thanks to everyone who contributes code/content on the forums!=Danke auch an alle, die in den Foren Code, Karten, Grafiken usw. beigetragen haben! #Thanks to everyone who contributes code/content on the forums!=Danke auch an alle, die in den Foren Code, Karten, Grafiken usw. beigetragen haben!
#Developed with the JGE++ Library (http://jge.khors.com)=Entwickelt mit der JGE++ Bibliothek (http://jge.khors.com) #Developed with the JGE++ Library (http://jge.khors.com)=Entwickelt mit der JGE++ Bibliothek (http://jge.khors.com)
#Player's avatar from http://mathieuchoinet.blogspot.com, under CC License=Spieler-Avatar von http://mathieuchoinet.blogspot.com, unter CC-Lizenz #Player's avatar from http://mathieuchoinet.blogspot.com, under CC License=Spieler-Avatar von http://mathieuchoinet.blogspot.com, unter CC-Lizenz
#Background picture and some art from the KDE project, www.kde.org=Hintergrundbild und einige Grafiken vom KDE project, www.kde.org #Background picture and some art from the KDE project, http://www.kde.org=Hintergrundbild und einige Grafiken vom KDE project, http://www.kde.org
#SFX From www.soundsnap.com=Soundeffekte von www.soundsnap.com #SFX From http://www.soundsnap.com=Soundeffekte von http://www.soundsnap.com
#Music by Celestial Aeon Project, http://www.jamendo.com=Musik von Celestial Aeon Project, http://www.jamendo.com #Music by Celestial Aeon Project, http://www.jamendo.com=Musik von Celestial Aeon Project, http://www.jamendo.com
#This work is not related to or endorsed by Wizards of the Coast, Inc=Dieses Programm steht in keiner Beziehung zu und wird nicht unterstuetzt von Wizards of the Coast, Inc. #This work is not related to or endorsed by Wizards of the Coast, Inc=Dieses Programm steht in keiner Beziehung zu und wird nicht unterstuetzt von Wizards of the Coast, Inc.
#Please support this project with donations at http://wololo.net/wagic=Bitte unterstuetze dieses Projekt mit Spenden auf http://wololo.net/wagic #Please support this project with donations at http://wololo.net/wagic=Bitte unterstuetze dieses Projekt mit Spenden auf http://wololo.net/wagic
########################## ##########################
# TROPHY ROOM: # # TROPHY ROOM: #
########################## ##########################
Achievements=Conquistas Achievements=Conquistas
Difficulty Modes=Modos de dificuldade Difficulty Modes=Modos de Dificuldade
Achieved a 66% victory ratio.=Alcancado racio de 66% de vitorias. Achieved a 66% victory ratio.=Alcancado racio de 66% de vitorias
Momir Mode=Modo Momir Momir Mode=Modo Momir
Won with exactly 8 lands.=Ganho com exactamente 8 terrenos. Won with exactly 8 lands.=Ganhou com exactamente 8 terrenos
Evil Twin Mode=Modo 'Evil Twin' Evil Twin Mode=Modo 'Evil Twin'
Won with same army size.=Ganho com mesmo tamanho de Exercito. Won with same army size.=Ganhou com exercito equivalente
Random Deck Mode=Modo Deck Aleatorio Random Deck Mode=Modo Baralho Aleatorio
Won against a higher difficulty.=Ganho contra dificuldade superior. Won against a higher difficulty.=Ganhou contra dificuldade superior
Valuable Collection=coleccao de valor Valuable Collection=Coleccao de Valor
Collection valued over 10,000c.=coleccao avaliada em mais de 10.000c. Collection valued over 10,000c.=Coleccao Avaliada em mais de 10.000c
Collection Info=Informacao da coleccao Collection Info=Informacao da Coleccao
Card Spoiler=Amostra de cartas Card Spoiler=Cartas
%i locked sets remain.=%i Sets por desbloquear. %i locked sets remain.=%i expans?es por desbloquear
Unlocked all %i sets.=Desbloqueados %i Sets. Unlocked all %i sets.=Desbloqueadas %i Expansoes
Back to Trophies=Regressar aos Trofeus Back to Trophies=Regressar aos Trofeus
@@ -453,26 +517,60 @@ Total Value: %ic=Valor total: %ic
Total Cards (including duplicates): %i=Total de cartas (inc. duplicadas): %i Total Cards (including duplicates): %i=Total de cartas (inc. duplicadas): %i
Unique Cards: %i=Cartas unicas: %i Unique Cards: %i=Cartas unicas: %i
Most Duplicates: %i (%s)=Mais duplicadas: %i (%s) Most Duplicates: %i (%s)=Mais duplicadas: %i (%s)
Favorite Set: %s=Set Favorito: %s Favorite Set: %s=Expansao Favorita: %s
Highest Mana Cost: %i (%s)=Custo de mana mais alto: %i (%s) Highest Mana Cost: %i (%s)=Custo de mana mais alto: %i (%s)
Most Powerful: %i (%s)=Mais poderosa: %i (%s) Most Powerful: %i (%s)=Mais poderosa: %i (%s)
Toughest: %i (%s)=Mais dificil: %i (%s) Toughest: %i (%s)=Mais dificil: %i (%s)
########################## ##########################
# CARD DATA: RARITY # # CARD DATA: RARITY #
########################## ##########################
%s Common=%s Comum %s Common=%s Comum
%s Uncommon=%s Incomum %s Uncommon=%s Incomum
%s Rare=%s Rara %s Rare=%s Rara
%s Mythic=%s Mitica %s Mythic=%s Mitica
%S Special Rarity=%s Raridade Especial
########################## ##########################
# NOTES: # # NOTES: #
########################## ##########################
Artist: %s=Artista: %s
Cancel=Cancelar
Closed hand=Mao
Credits=Creditos
Disable card images=Nao mostar imagens
Disable screen transitions=Nao fazer transicoes de ecra
Display InGame extra information=Mostrar informacao extra
English=Ingles
Eye candy=Sofisticado
Game=Jogo
General Options=Opcoes gerais
Hand direction=Direcao da mao
Key Bindings=Teclado
Language=Linguagem
Mana display=Informa??o de mana
Minimum Card Grade=Usar Cartas
Mute=Som desligado
New Profile=Novo Perfil
New binding...=Nova tecla...
No=Nao
Reverse left and right triggers=Inverter gatilho esquerdo com o direito
SFX volume=Volume dos efeitos
Seconds to pause for an Interrupt=Segundos a Parar por Interrupcao
Settings=Configuracoes
The following options require a restart.=As opcoes segintes requerem um reinicio
Theme: %s=Tema: %s
Use this Language=Usar esta lingua
Use this Theme=Usar este tema
User=Utilizador
User Options=Opcoes do Utilizador
invisible=Escondida
vertical=Vertical

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -0,0 +1 @@
FS2

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -0,0 +1 @@
Ilya B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -28,6 +28,7 @@ class GameStateMenu: public GameState, public JGuiListener
char nbcardsStr[400]; char nbcardsStr[400];
vector<string> langs; vector<string> langs;
vector<string> primitives; vector<string> primitives;
string wallpaper;
int primitivesLoadCounter; int primitivesLoadCounter;
DIR *mDip; DIR *mDip;
@@ -50,6 +51,7 @@ class GameStateMenu: public GameState, public JGuiListener
void listPrimitives(); void listPrimitives();
void genNbCardsStr(); //computes the contents of nbCardsStr void genNbCardsStr(); //computes the contents of nbCardsStr
void ensureMGuiController(); //creates the MGuiController if it doesn't exist void ensureMGuiController(); //creates the MGuiController if it doesn't exist
string loadRandomWallpaper(); //loads a list of string of textures that can be randolmy shown on the loading screen
public: public:
GameStateMenu(GameApp* parent); GameStateMenu(GameApp* parent);
virtual ~GameStateMenu(); virtual ~GameStateMenu();

View File

@@ -5,16 +5,15 @@
//#define DOLOG //#define DOLOG
#ifdef DOLOG #ifdef DOLOG
#define LOG(x) Logger::Log(x);
#else
#define LOG(x)
#endif
#define LOG_FILE RESPATH"/debug.txt" #define LOG_FILE RESPATH"/debug.txt"
class Logger{ class Logger{
public: public:
static void Log(const char * text); static void Log(const char * text);
}; };
#define LOG(x) Logger::Log(x);
#else
#define LOG(x)
#endif
#endif #endif

View File

@@ -46,6 +46,11 @@ GameApp::GameApp(): JApp()
nbUpdates = 0; nbUpdates = 0;
totalFPS = 0; totalFPS = 0;
#endif #endif
#ifdef DOLOG
remove(LOG_FILE);
#endif
mScreenShotCount = 0; mScreenShotCount = 0;
for (int i=0; i < GAME_STATE_MAX ; i++) for (int i=0; i < GAME_STATE_MAX ; i++)
@@ -112,7 +117,7 @@ void GameApp::Create()
LOG("Loading Textures"); LOG("Loading Textures");
LOG("--Loading menuicons.png"); LOG("--Loading menuicons.png");
resources.RetrieveTexture("menuicons.png",RETRIEVE_MANAGE); resources.RetrieveTexture("menuicons.png",RETRIEVE_MANAGE);
LOG("---Gettings menuicons.png quads");
//Creating thes quad in this specific order allows us to have them in the correct order to call them by integer id //Creating thes quad in this specific order allows us to have them in the correct order to call them by integer id
manaIcons[Constants::MTG_COLOR_GREEN] = resources.RetrieveQuad("menuicons.png", 2 + 0*36, 38, 32, 32, "c_green",RETRIEVE_MANAGE); manaIcons[Constants::MTG_COLOR_GREEN] = resources.RetrieveQuad("menuicons.png", 2 + 0*36, 38, 32, 32, "c_green",RETRIEVE_MANAGE);
manaIcons[Constants::MTG_COLOR_BLUE] = resources.RetrieveQuad("menuicons.png", 2 + 1*36, 38, 32, 32, "c_blue",RETRIEVE_MANAGE); manaIcons[Constants::MTG_COLOR_BLUE] = resources.RetrieveQuad("menuicons.png", 2 + 1*36, 38, 32, 32, "c_blue",RETRIEVE_MANAGE);
@@ -125,7 +130,7 @@ void GameApp::Create()
for (int i = sizeof(manaIcons)/sizeof(manaIcons[0]) - 1; i >= 0; --i) manaIcons[i]->SetHotSpot(16,16); for (int i = sizeof(manaIcons)/sizeof(manaIcons[0]) - 1; i >= 0; --i) manaIcons[i]->SetHotSpot(16,16);
LOG("--Loading Other Textures"); LOG("--Loading back.jpg");
resources.RetrieveTexture("back.jpg",RETRIEVE_MANAGE); resources.RetrieveTexture("back.jpg",RETRIEVE_MANAGE);
JQuad * jq = resources.RetrieveQuad("back.jpg", 0, 0, 0, 0, "back",RETRIEVE_MANAGE); JQuad * jq = resources.RetrieveQuad("back.jpg", 0, 0, 0, 0, "back",RETRIEVE_MANAGE);
if (jq) jq->SetHotSpot(jq->mWidth/2, jq->mHeight/2); if (jq) jq->SetHotSpot(jq->mWidth/2, jq->mHeight/2);
@@ -133,12 +138,14 @@ void GameApp::Create()
resources.RetrieveTexture("back_thumb.jpg",RETRIEVE_MANAGE); resources.RetrieveTexture("back_thumb.jpg",RETRIEVE_MANAGE);
resources.RetrieveQuad("back_thumb.jpg", 0, 0, MTG_MINIIMAGE_WIDTH, MTG_MINIIMAGE_HEIGHT, "back_thumb",RETRIEVE_MANAGE); resources.RetrieveQuad("back_thumb.jpg", 0, 0, MTG_MINIIMAGE_WIDTH, MTG_MINIIMAGE_HEIGHT, "back_thumb",RETRIEVE_MANAGE);
LOG("--Loading particles.png");
resources.RetrieveTexture("particles.png",RETRIEVE_MANAGE); resources.RetrieveTexture("particles.png",RETRIEVE_MANAGE);
jq = resources.RetrieveQuad("particles.png", 0, 0, 32, 32, "particles",RETRIEVE_MANAGE); jq = resources.RetrieveQuad("particles.png", 0, 0, 32, 32, "particles",RETRIEVE_MANAGE);
jq->SetHotSpot(16,16); jq->SetHotSpot(16,16);
jq = resources.RetrieveQuad("particles.png", 64, 0, 32, 32, "stars",RETRIEVE_MANAGE); jq = resources.RetrieveQuad("particles.png", 64, 0, 32, 32, "stars",RETRIEVE_MANAGE);
jq->SetHotSpot(16,16); jq->SetHotSpot(16,16);
LOG("--Loading fonts");
resources.LoadJLBFont("simon",11); resources.LoadJLBFont("simon",11);
resources.GetJLBFont("simon")->SetTracking(-1); resources.GetJLBFont("simon")->SetTracking(-1);
resources.LoadJLBFont("f3",16); resources.LoadJLBFont("f3",16);
@@ -146,6 +153,7 @@ void GameApp::Create()
resources.LoadJLBFont("smallface", 7); resources.LoadJLBFont("smallface", 7);
LOG("--Loading various textures");
resources.RetrieveTexture("phasebar.png",RETRIEVE_MANAGE); resources.RetrieveTexture("phasebar.png",RETRIEVE_MANAGE);
resources.RetrieveTexture("wood.png",RETRIEVE_MANAGE); resources.RetrieveTexture("wood.png",RETRIEVE_MANAGE);
resources.RetrieveTexture("gold.png",RETRIEVE_MANAGE); resources.RetrieveTexture("gold.png",RETRIEVE_MANAGE);

View File

@@ -362,13 +362,10 @@ void GameObserver::cardClick (MTGCardInstance * card, Targetable * object){
int result; int result;
if (card) { if (card) {
if (card == cardWaitingForTargets){ if (card == cardWaitingForTargets){
LOG("attempt to close targetting");
int _result = targetChooser->ForceTargetListReady(); int _result = targetChooser->ForceTargetListReady();
if (_result){ if (_result){
result = TARGET_OK_FULL; result = TARGET_OK_FULL;
}else{ }else{
LOG("...but we cant!\n");
result = targetChooser->targetsReadyCheck(); result = targetChooser->targetsReadyCheck();
} }
}else{ }else{

View File

@@ -249,9 +249,6 @@ void GameStateDuel::Update(float dt)
loadTestSuitePlayers(); loadTestSuitePlayers();
mGamePhase = DUEL_STATE_PLAY; mGamePhase = DUEL_STATE_PLAY;
testSuite->initGame(); testSuite->initGame();
char buf[4096];
sprintf(buf, "nb cards in player2's graveyard : %i\n",mPlayers[1]->game->graveyard->nb_cards);
LOG(buf);
}else{ }else{
if (!game){ if (!game){
mGamePhase = DUEL_STATE_ERROR; mGamePhase = DUEL_STATE_ERROR;
@@ -391,7 +388,6 @@ void GameStateDuel::Update(float dt)
void GameStateDuel::Render() void GameStateDuel::Render()
{ {
JLBFont * mFont = resources.GetJLBFont(Constants::MAIN_FONT); JLBFont * mFont = resources.GetJLBFont(Constants::MAIN_FONT);
LOG("Start Render\n");
JRenderer * r = JRenderer::GetInstance(); JRenderer * r = JRenderer::GetInstance();
r->ClearScreen(ARGB(0,0,0,0)); r->ClearScreen(ARGB(0,0,0,0));
@@ -466,7 +462,6 @@ void GameStateDuel::Render()
if(menu) if(menu)
menu->Render(); menu->Render();
} }
LOG("End Render\n");
} }
void GameStateDuel::ButtonPressed(int controllerId, int controlId) void GameStateDuel::ButtonPressed(int controllerId, int controlId)

View File

@@ -160,6 +160,8 @@ void GameStateMenu::Start(){
if(currentState == MENU_STATE_MAJOR_MAINMENU){ if(currentState == MENU_STATE_MAJOR_MAINMENU){
currentState = currentState | MENU_STATE_MINOR_FADEIN; currentState = currentState | MENU_STATE_MINOR_FADEIN;
} }
wallpaper = "";
} }
void GameStateMenu::genNbCardsStr(){ void GameStateMenu::genNbCardsStr(){
@@ -280,6 +282,28 @@ void GameStateMenu::End()
SAFE_DELETE(mGuiController); SAFE_DELETE(mGuiController);
} }
string GameStateMenu::loadRandomWallpaper() {
if (wallpaper.size())
return wallpaper;
vector<string> wallpapers;
std::ifstream file("Res/graphics/wallpapers.txt");
if (!file) return wallpaper;
string s;
while (std::getline(file,s)) {
if (!s.size()) continue;
if (s[s.size()-1] == '\r') s.erase(s.size()-1); //Handle DOS files
wallpapers.push_back(s);
}
int rnd = rand() % (wallpapers.size());
wallpaper = wallpapers[rnd];
return wallpaper;
}
string GameStateMenu::getLang(string s){ string GameStateMenu::getLang(string s){
if (!s.size()) return ""; if (!s.size()) return "";
if (s[s.size()-1] == '\r') s.erase(s.size()-1); //Handle DOS files if (s[s.size()-1] == '\r') s.erase(s.size()-1); //Handle DOS files
@@ -530,8 +554,17 @@ void GameStateMenu::Render()
} }
if (mSplash) if (mSplash)
renderer->RenderQuad(mSplash,0,0); renderer->RenderQuad(mSplash,0,0);
else {
string wp = loadRandomWallpaper();
if (wp.size()) {
JTexture * wpTex = resources.RetrieveTexture(wp);
if (wpTex) {
JQuad * wpQuad = resources.RetrieveTempQuad(wp);
renderer->RenderQuad(wpQuad,0,0,0,SCREEN_WIDTH_F / wpQuad->mWidth, SCREEN_HEIGHT_F / wpQuad->mHeight);
}
}
}
char text[512]; char text[512];
mFont->SetColor(ARGB(255,255,255,255));
if (mCurrentSetName[0]) { if (mCurrentSetName[0]) {
sprintf(text, _("LOADING SET: %s").c_str(), mCurrentSetName); sprintf(text, _("LOADING SET: %s").c_str(), mCurrentSetName);
}else{ }else{
@@ -540,7 +573,10 @@ void GameStateMenu::Render()
else else
sprintf(text,"LOADING..."); sprintf(text,"LOADING...");
} }
mFont->DrawString(text,SCREEN_WIDTH/2,SCREEN_HEIGHT/2,JGETEXT_CENTER); mFont->SetColor(ARGB(170,0,0,0));
mFont->DrawString(text,SCREEN_WIDTH/2 + 2 ,SCREEN_HEIGHT - 50 + 2,JGETEXT_CENTER);
mFont->SetColor(ARGB(255,255,255,255));
mFont->DrawString(text,SCREEN_WIDTH/2,SCREEN_HEIGHT - 50,JGETEXT_CENTER);
}else{ }else{
mFont = resources.GetJLBFont(Constants::MAIN_FONT); mFont = resources.GetJLBFont(Constants::MAIN_FONT);
PIXEL_TYPE colors[] = PIXEL_TYPE colors[] =

View File

@@ -1,5 +1,7 @@
#include "../include/config.h" #include "../include/config.h"
#include "../include/Logger.h" #include "../include/Logger.h"
#ifdef DOLOG
#include <iostream> #include <iostream>
#include <fstream> #include <fstream>
using namespace std; using namespace std;
@@ -21,3 +23,5 @@ void Logger::Log(const char * text){
#endif #endif
} }
#endif

View File

@@ -2350,16 +2350,11 @@ other solutions need to be provided for abilities that add mana (ex: mana flare)
AManaProducer::AManaProducer(int id, MTGCardInstance * card, Targetable * t, ManaCost * _output, ManaCost * _cost , int doTap, int who):ActivatedAbilityTP(id, card,t,_cost,doTap,who){ AManaProducer::AManaProducer(int id, MTGCardInstance * card, Targetable * t, ManaCost * _output, ManaCost * _cost , int doTap, int who):ActivatedAbilityTP(id, card,t,_cost,doTap,who){
LOG("==Creating ManaProducer Object");
aType = MTGAbility::MANA_PRODUCER; aType = MTGAbility::MANA_PRODUCER;
cost = _cost; cost = _cost;
output = _output; output = _output;
menutext = ""; menutext = "";
LOG("==ManaProducer Object Creation successful !");
} }
int AManaProducer::isReactingToClick(MTGCardInstance * _card, ManaCost * mana){ int AManaProducer::isReactingToClick(MTGCardInstance * _card, ManaCost * mana){
@@ -2446,10 +2441,8 @@ AManaProducer::AManaProducer(int id, MTGCardInstance * card, Targetable * t, Man
AManaProducer::~AManaProducer(){ AManaProducer::~AManaProducer(){
LOG("==Destroying ManaProducer Object");
SAFE_DELETE(cost); SAFE_DELETE(cost);
SAFE_DELETE(output); SAFE_DELETE(output);
LOG("==Destroying ManaProducer Object Successful!");
} }
AManaProducer * AManaProducer::clone() const{ AManaProducer * AManaProducer::clone() const{

View File

@@ -20,12 +20,9 @@ MTGCardInstance MTGCardInstance::ExtraRules[] = {MTGCardInstance(), MTGCardInsta
MTGCardInstance::MTGCardInstance(): CardPrimitive(), MTGCard(), Damageable(0), view(NULL){ MTGCardInstance::MTGCardInstance(): CardPrimitive(), MTGCard(), Damageable(0), view(NULL){
LOG("==Creating MTGCardInstance==");
initMTGCI(); initMTGCI();
LOG("==Creating MTGCardInstance Successful==");
} }
MTGCardInstance::MTGCardInstance(MTGCard * card, MTGPlayerCards * arg_belongs_to): CardPrimitive(card->data),MTGCard(card), Damageable(card->data->getToughness()), view(NULL){ MTGCardInstance::MTGCardInstance(MTGCard * card, MTGPlayerCards * arg_belongs_to): CardPrimitive(card->data),MTGCard(card), Damageable(card->data->getToughness()), view(NULL){
LOG("==Creating MTGCardInstance==");
initMTGCI(); initMTGCI();
model = card; model = card;
attacker = 0; attacker = 0;
@@ -37,8 +34,6 @@ MTGCardInstance::MTGCardInstance(MTGCard * card, MTGPlayerCards * arg_belongs_to
defenser = NULL; defenser = NULL;
banding = NULL; banding = NULL;
life = toughness; life = toughness;
LOG("==Creating MTGCardInstance Successful==");
} }
void MTGCardInstance::copy(MTGCardInstance * card){ void MTGCardInstance::copy(MTGCardInstance * card){
@@ -80,10 +75,8 @@ void MTGCardInstance::copy(MTGCardInstance * card){
} }
MTGCardInstance::~MTGCardInstance(){ MTGCardInstance::~MTGCardInstance(){
LOG("==Deleting MTGCardInstance==");
SAFE_DELETE(counters); SAFE_DELETE(counters);
SAFE_DELETE(previous); SAFE_DELETE(previous);
LOG("==Deleting MTGCardInstance Succesfull==");
} }
int MTGCardInstance::init(){ int MTGCardInstance::init(){

View File

@@ -687,7 +687,9 @@ int MTGDeck::remove(MTGCard * card){
} }
int MTGDeck::save(){ int MTGDeck::save(){
std::ofstream file(filename.c_str()); string tmp = filename;
tmp.append(".tmp"); //not thread safe
std::ofstream file(tmp.c_str());
char writer[512]; char writer[512];
if (file){ if (file){
#if defined (WIN32) || defined (LINUX) #if defined (WIN32) || defined (LINUX)
@@ -716,6 +718,8 @@ int MTGDeck::save(){
} }
} }
file.close(); file.close();
std::remove(filename.c_str());
rename(tmp.c_str(),filename.c_str());
} }
DeckMetaDataList::decksMetaData->invalidate(filename); DeckMetaDataList::decksMetaData->invalidate(filename);
return 1; return 1;

View File

@@ -11,24 +11,18 @@ MTGPutInPlayRule::MTGPutInPlayRule(int _id):MTGAbility(_id, NULL){
int MTGPutInPlayRule::isReactingToClick(MTGCardInstance * card, ManaCost * mana){ int MTGPutInPlayRule::isReactingToClick(MTGCardInstance * card, ManaCost * mana){
Player * player = game->currentlyActing(); Player * player = game->currentlyActing();
Player * currentPlayer = game->currentPlayer; Player * currentPlayer = game->currentPlayer;
LOG("CANPUTINPLAY- check if card belongs to current player\n");
if (!player->game->hand->hasCard(card)) return 0; if (!player->game->hand->hasCard(card)) return 0;
LOG("CANPUTINPLAY- check if card is land or can be played\n");
if (card->hasType("land")){ if (card->hasType("land")){
LOG("CANPUTINPLAY- card is land - check if can be played\n");
if (player == currentPlayer && currentPlayer->canPutLandsIntoPlay && (game->currentGamePhase == Constants::MTG_PHASE_FIRSTMAIN || game->currentGamePhase == Constants::MTG_PHASE_SECONDMAIN)){ if (player == currentPlayer && currentPlayer->canPutLandsIntoPlay && (game->currentGamePhase == Constants::MTG_PHASE_FIRSTMAIN || game->currentGamePhase == Constants::MTG_PHASE_SECONDMAIN)){
LOG("CANPUTINPLAY- Land, ok\n");
return 1; return 1;
} }
}else if ((card->hasType("instant")) || card->has(Constants::FLASH) || (player == currentPlayer && !game->isInterrupting && (game->currentGamePhase == Constants::MTG_PHASE_FIRSTMAIN || game->currentGamePhase == Constants::MTG_PHASE_SECONDMAIN))){ }else if ((card->hasType("instant")) || card->has(Constants::FLASH) || (player == currentPlayer && !game->isInterrupting && (game->currentGamePhase == Constants::MTG_PHASE_FIRSTMAIN || game->currentGamePhase == Constants::MTG_PHASE_SECONDMAIN))){
LOG("CANPUTINPLAY- correct time to play\n");
ManaCost * playerMana = player->getManaPool(); ManaCost * playerMana = player->getManaPool();
ManaCost * cost = card->getManaCost(); ManaCost * cost = card->getManaCost();
#ifdef WIN32 #ifdef WIN32
cost->Dump(); cost->Dump();
#endif #endif
if (playerMana->canAfford(cost)){ if (playerMana->canAfford(cost)){
LOG("CANPUTINPLAY- ManaCost ok\n");
return 1; return 1;
} }
} }
@@ -41,7 +35,6 @@ int MTGPutInPlayRule::reactToClick(MTGCardInstance * card){
ManaCost * cost = card->getManaCost(); ManaCost * cost = card->getManaCost();
if (cost->isExtraPaymentSet()){ if (cost->isExtraPaymentSet()){
if (!game->targetListIsSet(card)){ if (!game->targetListIsSet(card)){
LOG("CANPUTINPLAY- Targets not chosen yet\n");
return 0; return 0;
} }
}else{ }else{
@@ -279,11 +272,8 @@ int MTGMomirRule::isReactingToClick(MTGCardInstance * card, ManaCost * mana){
if (alreadyplayed) return 0; if (alreadyplayed) return 0;
Player * player = game->currentlyActing(); Player * player = game->currentlyActing();
Player * currentPlayer = game->currentPlayer; Player * currentPlayer = game->currentPlayer;
LOG("CANPUTINPLAY- check if card belongs to current player\n");
if (!player->game->hand->hasCard(card)) return 0; if (!player->game->hand->hasCard(card)) return 0;
LOG("CANPUTINPLAY- check if card is land or can be played\n");
if (player == currentPlayer && !game->isInterrupting && (game->currentGamePhase == Constants::MTG_PHASE_FIRSTMAIN || game->currentGamePhase == Constants::MTG_PHASE_SECONDMAIN)){ if (player == currentPlayer && !game->isInterrupting && (game->currentGamePhase == Constants::MTG_PHASE_FIRSTMAIN || game->currentGamePhase == Constants::MTG_PHASE_SECONDMAIN)){
LOG("CANPUTINPLAY- correct time to play\n");
return 1; return 1;
} }
return 0; return 0;