diff --git a/bin/Langs/id_ID/pcsx2_Main.mo b/bin/Langs/id_ID/pcsx2_Main.mo
index 69d2d495d1..c8a073ff6b 100644
Binary files a/bin/Langs/id_ID/pcsx2_Main.mo and b/bin/Langs/id_ID/pcsx2_Main.mo differ
diff --git a/bin/Langs/it_IT/pcsx2_Iconized.mo b/bin/Langs/it_IT/pcsx2_Iconized.mo
index 32ba4ff622..d50b16913a 100644
Binary files a/bin/Langs/it_IT/pcsx2_Iconized.mo and b/bin/Langs/it_IT/pcsx2_Iconized.mo differ
diff --git a/bin/Langs/it_IT/pcsx2_Main.mo b/bin/Langs/it_IT/pcsx2_Main.mo
index b665f41fc1..85e8fdc8b8 100644
Binary files a/bin/Langs/it_IT/pcsx2_Main.mo and b/bin/Langs/it_IT/pcsx2_Main.mo differ
diff --git a/bin/Langs/pt_BR/pcsx2_Iconized.mo b/bin/Langs/pt_BR/pcsx2_Iconized.mo
index 6e2d964a68..d0c54bc17e 100644
Binary files a/bin/Langs/pt_BR/pcsx2_Iconized.mo and b/bin/Langs/pt_BR/pcsx2_Iconized.mo differ
diff --git a/bin/Langs/pt_BR/pcsx2_Main.mo b/bin/Langs/pt_BR/pcsx2_Main.mo
index a494ac5f95..d10753b099 100644
Binary files a/bin/Langs/pt_BR/pcsx2_Main.mo and b/bin/Langs/pt_BR/pcsx2_Main.mo differ
diff --git a/bin/launch_pcsx2_linux.sh b/bin/launch_pcsx2_linux.sh
index ac6ae783d7..9a86c366a2 100755
--- a/bin/launch_pcsx2_linux.sh
+++ b/bin/launch_pcsx2_linux.sh
@@ -15,9 +15,12 @@
# If not, see .
# This script is a small wrapper to the PCSX2 exectuable. The purpose is to
-# launch PCSX2 from the same repository every times.
+# 1/ launch PCSX2 from the same repository every times.
# Rationale: There is no guarantee on the directory when PCSX2 is launched from a shortcut.
# This behavior trigger the first time wizards everytime...
+# 2/ Change LD_LIBRARY_PATH to uses 3rdparty library
+# Rationale: It is nearly impossible to have the same library version on all systems. So the
+# easiest solution it to ship library used during the build.
current_script=$0
@@ -32,6 +35,33 @@ PWD_old=$PWD
# Go to the script directory
cd `dirname $current_script`
+# Allow to ship .so library with the build to avoid version issue
+if [ -e 3rdPartyLibs ]
+then
+ if [ -z $LD_LIBRARY_PATH ]
+ then
+ OLD_LD_LIBRARY_PATH=""
+ export LD_LIBRARY_PATH="./3rdPartyLibs"
+ else
+ OLD_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
+ export LD_LIBRARY_PATH="./3rdPartyLibs:$LD_LIBRARY_PATH"
+ fi
+fi
+
+# Test plugin depencencies
+if [ -x `which ldd` ]
+then
+ for plugin in `find plugins -iname "lib*.so"`
+ do
+ if [ `ldd $plugin | grep -c found` != 0 ]
+ then
+ echo "ERROR the plugin ($plugin) miss some dependencies"
+ echo " `ldd $plugin | grep found`"
+ echo ""
+ fi
+ done
+fi
+
# Launch PCSX2
if [ -x pcsx2 ]
then
@@ -43,5 +73,12 @@ else
exit 1
fi
-# Go back to the old directory
+# Be a good citizen. Restore the shell context
cd $PWD_old
+if [ -z $OLD_LD_LIBRARY_PATH ]
+then
+ unset LD_LIBRARY_PATH
+else
+ export LD_LIBRARY_PATH="$OLD_LD_LIBRARY_PATH"
+fi
+
diff --git a/locales/id_ID/pcsx2_Main.po b/locales/id_ID/pcsx2_Main.po
index cd667e6df0..60ff1dc3a2 100644
--- a/locales/id_ID/pcsx2_Main.po
+++ b/locales/id_ID/pcsx2_Main.po
@@ -2106,7 +2106,7 @@ msgid ""
"( '.ps2' will be added automatically)"
msgstr ""
"Pilih sebuah nama untuk duplikat\n"
-"\v('.ps2' akan otomatis ditambah)"
+"('.ps2' akan otomatis ditambah)"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:782
#, c-format
@@ -2133,7 +2133,7 @@ msgid ""
"( '.ps2' will be added automatically)"
msgstr ""
"Pilih sebuah nama untnuk memory card '%s'\n"
-"\v('.ps2' akan otomatis ditambah)"
+"('.ps2' akan otomatis ditambah)"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:844
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:856
diff --git a/locales/it_IT/pcsx2_Iconized.po b/locales/it_IT/pcsx2_Iconized.po
index 82343a8a7c..8b977b4f10 100644
--- a/locales/it_IT/pcsx2_Iconized.po
+++ b/locales/it_IT/pcsx2_Iconized.po
@@ -4,8 +4,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
-"POT-Creation-Date: 2012-04-07 11:42+0200\n"
-"PO-Revision-Date: 2011-10-05 21:01+0100\n"
+"POT-Creation-Date: 2012-06-18 20:23+0200\n"
+"PO-Revision-Date: 2012-06-06 19:18+0100\n"
"Last-Translator: Leucos\n"
"Language-Team: \n"
"Language: \n"
@@ -14,7 +14,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: pxE;pxEt\n"
"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-Basepath: trunk\\\n"
+"X-Poedit-Basepath: ..\\..\\..\\PCSX2 Checkout\n"
"X-Poedit-Language: Italian\n"
"X-Poedit-Country: ITALY\n"
"X-Poedit-SearchPath-0: pcsx2\n"
@@ -37,10 +37,10 @@ msgstr ""
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
msgstr ""
"Questo ricompilatore non è stato in grado di riservare la memoria contigua "
-"richiesta per le cache interne. Questo errore può essere causato da una "
-"memoria virtuale insufficiente, derivante da un file di swap troppo piccolo "
-"o disattivato, o da qualche altro programma che sta occupando molta memoria. "
-"Puoi anche provare a ridurre le dimensioni predefinite delle cache dei "
+"richiesta per le cache interne. Questo errore può essere causato da memoria "
+"virtuale insufficiente, causata da un file di swap troppo piccolo o "
+"disattivato, o da un altro programma che sta occupando molta memoria. Puoi "
+"anche provare a ridurre le dimensioni predefinite delle cache dei "
"ricompilatori di PCSX2, che si trovano in Impostazioni Host."
#: pcsx2/System.cpp:348
@@ -48,13 +48,13 @@ msgid "!Notice:EmuCore::MemoryForVM"
msgstr ""
"PCSX2 non è in grado di allocare la memoria necessaria per la macchina "
"virtuale PS2. Chiudi dei task in background che stanno occupando memoria e "
-"riprova."
+"prova di nuovo."
#: pcsx2/gui/AppInit.cpp:43
msgid "!Notice:Startup:NoSSE2"
msgstr ""
-"Attenzione: il tuo computer non supporta le SSE2, richieste da molti dei "
-"plugin e dei ricompilatori di PCSX2. Le tue opzioni saranno limitate e "
+"Attenzione: il tuo computer non supporta le SSE2 che sono richieste da molti "
+"dei plugin e dei ricompilatori di PCSX2. Le tue opzioni saranno limitate e "
"l'emulazione sarà *molto* lenta."
#: pcsx2/gui/AppInit.cpp:162
@@ -66,10 +66,10 @@ msgstr ""
#: pcsx2/gui/AppInit.cpp:211
msgid "!Notice:RecompilerInit:Footer"
msgstr ""
-"Nota: i ricompilatori non sono necessari per l'esecuzione di PCSX, però, di "
-"solito, migliorano nettamente la velocità di emulazione. Se gli errori "
-"saranno risolti, sarà necessario riabilitare manualmente i ricompilatori "
-"elencati qui sopra."
+"Nota: i ricompilatori non sono necessari per l'esecuzione di PCSX2, ma di "
+"solito permettono di migliorare nettamente la velocità di emulazione. Se gli "
+"errori saranno risolti, sarà necessario riabilitare manualmente i "
+"ricompilatori elencati qui sopra."
#: pcsx2/gui/AppMain.cpp:546
msgid "!Notice:BiosDumpRequired"
@@ -85,7 +85,7 @@ msgstr ""
#: pcsx2/gui/AppMain.cpp:629
msgid "!Notice Error:Thread Deadlock Actions"
msgstr ""
-"'Ignora' per continuare ad attendere la risposta del thread.\n"
+"'Ignora' consente di continuare ad attendere la risposta del thread.\n"
"'Annulla' per tentare di annullare il thread.\n"
"'Termina' per chiudere PCSX2 immediatamente.\n"
" "
@@ -97,7 +97,7 @@ msgstr ""
"account utente ne abbia i permessi per la scrittura -- oppure riavvia PCSX2 "
"con privilegi più elevati (amministratore), questo dovrebbe garantire a "
"PCSX2 la facoltà di creare in modo autonomo le proprie cartelle. Se non "
-"possiedi privilegi elevati in questo computer, dovrai passare alla Modalità "
+"possiedi privilegi elevati in questo computer, dovrai utilizzare la Modalità "
"Documenti Utente (fai clic sul pulsante qui sotto)."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:181
@@ -125,8 +125,8 @@ msgid "!Wizard:Welcome"
msgstr ""
"Questa Procedura Guidata ti aiuterà nella configurazione dei plugin, delle "
"memory card e del BIOS.\n"
-"Se si tratta della prima volta che installi PCSX2 è consigliato che\n"
-"tu consulti la Guida alla Configurazione ed il file leggimi."
+"Se si tratta della prima volta che installi PCSX2 è consigliata la\n"
+"consulatazione della Guida alla Configurazione ed del file leggimi."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:140
msgid "!Wizard:Bios:Tutorial"
@@ -155,9 +155,10 @@ msgstr ""
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:41
msgid "!Panel:Mcd:EnableEjection"
msgstr ""
-"Evita la corruzione delle memory card forzando i giochi a reindicizzare il "
-"contenuto della scheda dopo il caricamento di un salvataggio di stato. "
-"Potrebbe non essere compatibile con tutti i giochi (Guitar Hero)."
+"Consente di evitare la corruzione delle memory card forzando i giochi a "
+"reindicizzare il contenuto della scheda dopo il caricamento di un "
+"salvataggio di stato. Potrebbe non essere compatibile con tutti i giochi "
+"(Guitar Hero)."
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:33
msgid "!Panel:StuckThread:Heading"
@@ -170,7 +171,7 @@ msgid "!Panel:HasHacksOverrides"
msgstr ""
"Attenzione! Stai eseguendo PCSX2 con le opzioni da riga di comando che "
"sovrascrivono le impostazioni configurate.\n"
-"Queste opzioni da riga di comando non saranno mostrate nella finestra delle "
+"Le opzioni da riga di comando non saranno mostrate nella finestra delle "
"impostazioni,\n"
"e saranno disabilitate se applicherai qualche modifica."
@@ -179,7 +180,7 @@ msgid "!Panel:HasPluginsOverrides"
msgstr ""
"Attenzione! Stai eseguendo PCSX2 con le opzioni da riga di comando che "
"sovrascrivono le impostazioni dei plugin e/o le cartelle configurate.\n"
-"Queste opzioni da riga di comando non saranno mostrate nella finestra delle "
+"Le opzioni da riga di comando non saranno mostrate nella finestra delle "
"impostazioni,\n"
"e saranno disabilitate se applicherai qualche modifica."
@@ -202,7 +203,8 @@ msgid "!Notice:Tooltip:Presets:Checkbox"
msgstr ""
"Le Preimpostazioni applicano SpeedHack, alcune opzioni dei ricompilatori per "
"aumentare la velocità.\n"
-"I GameFix ('Patch') importanti noti saranno applicati automaticamente.\n"
+"I GameFix ('Patch') importanti conosciuti saranno applicati "
+"automaticamente.\n"
"\n"
"--> Deseleziona per modificare automaticamente le impostazioni (utilizzando "
"la Preimpostazione corrente come base)"
@@ -487,15 +489,15 @@ msgstr ""
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:97
msgid "!Panel:Speedhacks:Overview"
msgstr ""
-"Gli SpeedHack generalmente migliorano la velocità di emulazione ma possono "
-"causare glitch, audio corrotto e rilevazioni FPS non corrette. Se hai "
-"problemi di emulazione, prima di tutto disattiva le opzioni di questo "
-"pannello."
+"Generalmente gli SpeedHack consentono di migliorare la velocità "
+"dell'emulazione, ma possono causare glitch, audio corrotto e rilevazioni FPS "
+"non corrette. Se hai problemi di emulazione, per prima cosa prova a "
+"disattivare le opzioni in questo pannello."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:129
msgid "!ContextTip:Speedhacks:EECycleRate Slider"
msgstr ""
-"Impostando i valori più elevati di questa slider si riduce di fatto la "
+"Impostando i valori più elevati di questo slider si riduce di fatto la "
"frequenza della CPU core R5900 dell'EmotionEngine portando a grossi aumenti "
"di velocità in quei giochi che non riescono ad utilizzare il pieno "
"potenziale dell'hardware della PS2."
@@ -503,7 +505,7 @@ msgstr ""
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:150
msgid "!ContextTip:Speedhacks:VUCycleStealing Slider"
msgstr ""
-"Questa slider controlla l'ammontare di cicli che l'unità VU 'ruba' "
+"Questo slider controlla l'ammontare di cicli che l'unità VU 'ruba' "
"all'EmotionEngine. \n"
"Valori più alti aumentano il numero di cicli 'rubati' dall'EE per ogni "
"microprogramma VU eseguito dal gioco."
@@ -511,10 +513,10 @@ msgstr ""
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
msgid "!ContextTip:Speedhacks:vuFlagHack"
msgstr ""
-"Aggiorna le Flag di stato solo nei blocchi che le leggeranno, invece che "
-"ogni volta. Questo va bene \n"
-"per la maggior parte dei casi e superVU fa qualcosa del genere in maniera "
-"predefinita."
+"Le Flag di stato saranno aggiornate solo nei blocchi che le leggeranno, "
+"invece che ogni volta. Questo va \n"
+"bene per la maggior parte dei casi e superVU fa qualcosa del genere in "
+"maniera predefinita."
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
msgid "!ContextTip:Speedhacks:vuThread"
@@ -555,8 +557,8 @@ msgstr ""
#: pcsx2/gui/Panels/VideoPanel.cpp:37
msgid "!ContextTip:Framelimiter:Disable"
msgstr ""
-"Nota che quando il Limitatore Fotogrammi è disattivato anche le modalità "
-"Turbo e Rallentatore non saranno più disponibili."
+"Quando il Limitatore Fotogrammi è disattivato anche le modalità Turbo e "
+"Rallentatore non saranno più disponibili."
#: pcsx2/gui/Panels/VideoPanel.cpp:227
msgid "!Panel:Frameskip:Heading"
diff --git a/locales/it_IT/pcsx2_Main.po b/locales/it_IT/pcsx2_Main.po
index e37d5a0b2c..2bbcdd56ca 100644
--- a/locales/it_IT/pcsx2_Main.po
+++ b/locales/it_IT/pcsx2_Main.po
@@ -4,8 +4,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
-"POT-Creation-Date: 2012-05-07 17:46+0200\n"
-"PO-Revision-Date: 2011-10-05 21:01+0100\n"
+"POT-Creation-Date: 2012-06-18 20:23+0200\n"
+"PO-Revision-Date: 2012-06-06 19:17+0100\n"
"Last-Translator: Leucos\n"
"Language-Team: \n"
"Language: \n"
@@ -14,7 +14,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;pxL;_d;pxDt;_t;pxLt\n"
"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-Basepath: trunk\\\n"
+"X-Poedit-Basepath: ..\\..\\..\\PCSX2 Checkout\n"
"X-Poedit-Language: Italian\n"
"X-Poedit-Country: ITALY\n"
"X-Poedit-SearchPath-0: pcsx2\n"
@@ -752,8 +752,8 @@ msgid ""
"Classic black color scheme for people who enjoy having text seared into "
"their optic nerves."
msgstr ""
-"Schema di colore nero classico, per la gente che si diverte ad avere il "
-"testo marchiato a fuoco nei propri nervi ottici."
+"Schema classico a colore nero, per la gente che si diverte ad avere il testo "
+"marchiato a fuoco nei propri nervi ottici."
#: pcsx2/gui/ConsoleLogger.cpp:424
msgid "Dark theme"
@@ -975,7 +975,7 @@ msgstr "Utilizza la compressione NTFS per la creazione di questa Memory Card."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:195
msgid "8 MB [most compatible]"
-msgstr "8 MiB [la più compatibile]"
+msgstr "8 MB [la più compatibile]"
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:195
msgid ""
@@ -995,7 +995,7 @@ msgstr ""
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:199
msgid "16 MB"
-msgstr "16 MiB"
+msgstr "16 MB"
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:199
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:203
@@ -1009,16 +1009,16 @@ msgstr ""
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:204
msgid "16 and 32 MB cards have roughly the same compatibility factor."
msgstr ""
-"Le memory card da 16 e 32 MiB hanno grosso modo lo stesso fattore di "
+"Le memory card da 16 e 32 MB hanno grosso modo lo stesso fattore di "
"compatibilità."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:203
msgid "32 MB"
-msgstr "32 MiB"
+msgstr "32 MB"
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:207
msgid "64 MB"
-msgstr "64 MiB"
+msgstr "64 MB"
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:207
msgid ""
@@ -1061,7 +1061,7 @@ msgstr ""
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:90
msgid "Welcome to PCSX2!"
-msgstr "Benvenuti in PCSX2!"
+msgstr "Benvenuto in PCSX2!"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:104
msgid "Configuration Guides (online)"
@@ -1109,8 +1109,7 @@ msgstr "Gestore Memory Card"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:112
msgid "Drag cards to or from PS2-ports"
-msgstr ""
-"Puoi trascinare le memory card da e sulle porte PS2 per inserirle/espellerle."
+msgstr "Trascina le memory card da e sulle porte PS2 per inserirle/espellerle."
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:113
msgid ""
@@ -1743,7 +1742,7 @@ msgid ""
"Click the Browse button to select a different folder where PCSX2 will look "
"for PS2 BIOS roms."
msgstr ""
-"Fai clic il pulsante Sfoglia per selezionare la cartella dove PCSX2 cercherà "
+"Fai clic il pulsante Sfoglia per scegliere la cartella dove PCSX2 cercherà "
"le ROM del BIOS PS2."
#: pcsx2/gui/Panels/BiosSelectorPanel.cpp:113
@@ -1778,7 +1777,7 @@ msgstr "Positivo"
#: pcsx2/gui/Panels/CpuPanel.cpp:32
msgid "Chop / Zero"
-msgstr "Taglia / Zero"
+msgstr "Tronca / Zero"
#: pcsx2/gui/Panels/CpuPanel.cpp:37
msgid "None"
@@ -2399,8 +2398,8 @@ msgstr "Configura..."
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:379
msgid "Click the Browse button to select a different folder for PCSX2 plugins."
msgstr ""
-"Fai clic sul pulsante Sfoglia per selezionare una cartella differente "
-"contenente i plugin di PCSX2."
+"Fai clic sul pulsante Sfoglia per scegliere la cartella che contiene i "
+"plugin di PCSX2."
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:481
#, c-format
@@ -2496,7 +2495,7 @@ msgstr ""
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:188
msgid "Enable Wait Loop Detection"
-msgstr "Attiva rilevamento ciclo d'inattività (Wait Loop Detection)"
+msgstr "Attiva rilevamento ciclo d'attesa (Wait Loop Detection)"
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:189
msgid ""
@@ -2527,8 +2526,8 @@ msgid ""
"Click the Browse button to select a different folder containing PCSX2 visual "
"themes."
msgstr ""
-"Fai clic sul pulsante Sfoglia per selezionare una cartella diversa "
-"contenente i Temi di PCSX2."
+"Fai clic sul pulsante Sfoglia per scegliere la cartella che contiente i Temi "
+"di PCSX2."
#: pcsx2/gui/Panels/ThemeSelectorPanel.cpp:49
msgid "Select a visual theme:"
@@ -2638,18 +2637,16 @@ msgid "Framelimiter"
msgstr "Limitatore Fotogrammi"
#: pcsx2/gui/SysState.cpp:283
-#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr ""
-"Impossibile caricare il salvataggio di stato. Appartiene ad una versione "
-"sconosciuta o non supportata."
+"Impossibile caricare questo salvataggio di stato. Appartiene ad una versione "
+"non supportata."
#: pcsx2/gui/SysState.cpp:290
-#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr ""
-"Impossibile caricare il salvataggio di stato. Appartiene ad una versione "
-"sconosciuta o non supportata."
+"Impossibile caricare questo salvataggio di stato. Appartiene ad una versione "
+"non supportata."
#: pcsx2/gui/SysState.cpp:326
msgid "There is no active virtual machine state to download or save."
diff --git a/locales/pt_BR/pcsx2_Iconized.po b/locales/pt_BR/pcsx2_Iconized.po
index 4388add8e3..eada8eeda7 100644
--- a/locales/pt_BR/pcsx2_Iconized.po
+++ b/locales/pt_BR/pcsx2_Iconized.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.7\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
-"POT-Creation-Date: 2012-04-07 11:42+0200\n"
-"PO-Revision-Date: 2011-09-11 23:09-0300\n"
+"POT-Creation-Date: 2012-06-18 20:23+0200\n"
+"PO-Revision-Date: 2012-06-03 10:08-0300\n"
"Last-Translator: Rafael Ferreira \n"
"Language-Team: \n"
"Language: \n"
@@ -20,7 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: BRAZIL\n"
-"X-Poedit-Basepath: trunk\\\n"
+"X-Poedit-Basepath: pcsx2\\\n"
"X-Poedit-SearchPath-0: pcsx2\n"
"X-Poedit-SearchPath-1: common\n"
@@ -42,23 +42,23 @@ msgstr ""
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
msgstr ""
"Esse recompilador não conseguiu reservar memória contígua necessária para os "
-"caches internos. Esse erro pode ter sido causado por baixo recurso de "
-"memória virtual, como um arquivo swap pequeno ou desabilitado, ou por outro "
-"programa que está ocupando muita memória. Você pode também tentar reduzir os "
-"tamanhos padrões de cache para todos recompiladores do PCSX2, encontrado nas "
-"Configurações do Host."
+"caches internos. Esse erro pode ser causado por baixo recurso de memória "
+"virtual, como um arquivo de memória swap pequeno ou desabilitado, ou por "
+"outro programa que está ocupando muita memória. Você pode também tentar "
+"reduzir os tamanhos padrões de caches para todos recompiladores do PCSX2, "
+"encontrado nas Configurações do Host."
#: pcsx2/System.cpp:348
msgid "!Notice:EmuCore::MemoryForVM"
msgstr ""
-"PCSX2 não conseguiu alocar memória necessária para a máquina virtual do PS2. "
-"Finalize algumas tarefas que estejam utilizando muita memória e tente "
+"PCSX2 não conseguiu alocar a memória necessária para a máquina virtual do "
+"PS2. Feche algumas tarefas que estejam utilizando muita memória e tente "
"novamente."
#: pcsx2/gui/AppInit.cpp:43
msgid "!Notice:Startup:NoSSE2"
msgstr ""
-"Aviso: Seu computador não suporta SSE2, o qual é requerido por muitos plug-"
+"Aviso: Seu computador não suporta SSE2, o qual é necessário por muitos plug-"
"ins e recompiladores do PCSX2. Suas opções serão limitadas e a emulação será "
"*bem* lenta."
@@ -71,10 +71,10 @@ msgstr ""
#: pcsx2/gui/AppInit.cpp:211
msgid "!Notice:RecompilerInit:Footer"
msgstr ""
-"Nota: Recompiladores não são necessários para que o PCSX2 rode, porém eles "
-"normalmente melhoram substancialmente a velocidade de emulação. Talvez você "
-"tenha que ativar novamente os recompiladores listados acima, se você "
-"resolver os erros."
+"Nota: Recompiladores não são necessários para que o PCSX2 funcione, porém "
+"eles normalmente melhoram substancialmente a velocidade de emulação. Talvez "
+"você tenha que ativar novamente os recompiladores listados acima, se você "
+"solucionar os erros."
#: pcsx2/gui/AppMain.cpp:546
msgid "!Notice:BiosDumpRequired"
@@ -88,15 +88,15 @@ msgid "!Notice Error:Thread Deadlock Actions"
msgstr ""
"\"Ignorar\" para continuar esperando pela resposta da thread.\n"
"\"Cancelar\" para tentar cancelar a thread.\n"
-"\"Terminar\" para finalizar PCSX2 imediatamente."
+"\"Terminar\" para sair do PCSX2 imediatamente."
#: pcsx2/gui/AppUserMode.cpp:57
msgid "!Notice:PortableModeRights"
msgstr ""
-"Por favor certifique-se que essas pastas sejam criadas e que sua conta de "
-"usuário possui permissões de escrita a elas -- ou rode novamente o PCSX2 com "
-"permissões elevadas (administrador), o que deveria permitir ao PCSX2 a "
-"habilidade para criar ele mesmo as pastas necessárias. Se você não tem "
+"Por favor certifique-se de que essas pastas tenham sido criadas e que sua "
+"conta de usuário possui permissões de escrita a elas -- ou rode novamente o "
+"PCSX2 com permissões elevadas (administrador), o que deveria permitir ao "
+"PCSX2 a habilidade para criar as pastas necessárias. Se você não tem "
"permissões elevadas nesse computador, então você vai precisar alternar para "
"o modo de Documentos do Usuário (clique no botão abaixo)"
@@ -104,7 +104,7 @@ msgstr ""
msgid "!ContextTip:ChangingNTFS"
msgstr ""
"Compressão NTFS pode ser alterada manualmente a qualquer tempo usando as "
-"propriedades do arquivo no Windows Explorer."
+"propriedades de arquivo no Windows Explorer."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:49
msgid "!ContextTip:Folders:Settings"
@@ -220,8 +220,8 @@ msgstr ""
"manualmente após essa operação.\n"
"\n"
"AVISO!! Clique OK para excluir *TODAS* configurações do %s e forçar "
-"finalização do aplicativo, perdendo todo progresso em emulação. Você tem "
-"certeza absoluta?\n"
+"finalização do aplicativo, perdendo todo progresso da emulação. Você tem "
+"absoluta certeza?\n"
"\n"
"(nota: configurações dos plug-ins não serão afetadas)"
diff --git a/locales/pt_BR/pcsx2_Main.po b/locales/pt_BR/pcsx2_Main.po
index 2e49b8451d..6339bfead6 100644
--- a/locales/pt_BR/pcsx2_Main.po
+++ b/locales/pt_BR/pcsx2_Main.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.7\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
-"POT-Creation-Date: 2012-05-07 17:46+0200\n"
-"PO-Revision-Date: 2011-09-11 23:09-0300\n"
+"POT-Creation-Date: 2012-06-18 20:23+0200\n"
+"PO-Revision-Date: 2012-06-03 10:07-0300\n"
"Last-Translator: Rafael Ferreira \n"
"Language-Team: \n"
"Language: \n"
@@ -20,7 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: BRAZIL\n"
-"X-Poedit-Basepath: trunk\\\n"
+"X-Poedit-Basepath: pcsx2\\\n"
"X-Poedit-SearchPath-0: pcsx2\n"
"X-Poedit-SearchPath-1: common\n"
@@ -47,7 +47,7 @@ msgid ""
"drivers, services, or may simply have insufficient memory or resources to "
"meet PCSX2's lofty needs."
msgstr ""
-"Falha de mapeamento de memória virtual! Seu sistema pode ter conflito com "
+"Falha de mapeamento da memória virtual! Seu sistema pode ter conflitos nos "
"drivers de dispositivos, serviços ou simplesmente tem memória ou recursos "
"insuficientes para atender as majestosas necessidades do PCSX2."
@@ -80,8 +80,8 @@ msgid ""
"Unexpected end of file or stream encountered. File is probably truncated or "
"corrupted."
msgstr ""
-"Encontrado final de arquivo ou fluxo não esperado. O arquivo provavelmente "
-"está truncado ou corrupto."
+"Encontrado final de arquivo ou de fluxo não esperado. O arquivo "
+"provavelmente está truncado ou corrompido."
#: common/src/Utilities/ThreadTools.cpp:41
msgid "Threading activity: start, detach, sync, deletion, etc."
@@ -110,7 +110,7 @@ msgstr "Formato de arquivo de imagem ISO não reconhecido."
msgid "Cannot load ELF binary image. The file may be corrupt or incomplete."
msgstr ""
"Não foi possível carregar a imagem binária ELF. O arquivo pode estar "
-"corrupto ou incompleto."
+"corrompido ou incompleto."
#: pcsx2/Elfheader.cpp:268
msgid ""
@@ -118,8 +118,8 @@ msgid ""
"image type or a bug in PCSX2 ISO image support."
msgstr ""
"Se está carregando a partir de uma imagem ISO, esse erro pode ter sido "
-"causado por um tipo de imagem ISO não suportada ou um bug do PCSX2 no "
-"suporte de imagem ISO."
+"causado por um tipo de imagem ISO sem suporte ou um bug do PCSX2 no suporte "
+"de imagem ISO."
#: pcsx2/MTGS.cpp:859
msgid ""
@@ -131,7 +131,8 @@ msgstr "A thread MTGS não está respondendo enquanto espera o plug-in GS abrir.
msgid ""
"The savestate cannot be loaded, as it appears to be corrupt or incomplete."
msgstr ""
-"O savestate não pôde ser carregado, pois parece estar corrupto ou incompleto."
+"O savestate não pôde ser carregado, pois parece estar corrompido ou "
+"incompleto."
#: pcsx2/PluginManager.cpp:719
#, c-format
@@ -139,7 +140,7 @@ msgid ""
"%s plugin failed to open. Your computer may have insufficient resources, or "
"incompatible hardware/drivers."
msgstr ""
-"Plug-in %s falhou em carregar. Seu computador deve ter recursos "
+"Plug-in de %s falhou em carregar. Seu computador deve ter recursos "
"insuficientes, ou hardware/drivers incompatíveis."
#: pcsx2/PluginManager.cpp:726
@@ -148,19 +149,19 @@ msgid ""
"%s plugin failed to initialize. Your system may have insufficient memory or "
"resources needed."
msgstr ""
-"Plug-in %s falhou em inicializar. Seu sistema deve ter memória insuficiente "
-"ou recursos faltando."
+"Plug-in de %s falhou em inicializar. Seu sistema deve ter memória "
+"insuficiente ou recursos faltando."
#: pcsx2/PluginManager.cpp:832
#, c-format
msgid "The configured %s plugin file was not found"
-msgstr "O arquivo do plug-in %s configurado não foi encontrado"
+msgstr "O arquivo do plug-in de %s configurado não foi encontrado"
#: pcsx2/PluginManager.cpp:836
#, c-format
msgid "The configured %s plugin file is not a valid dynamic library"
msgstr ""
-"O arquivo do plug-in %s configurado não é uma biblioteca dinâmica válida"
+"O arquivo do plug-in de %s configurado não é uma biblioteca dinâmica válida"
#: pcsx2/PluginManager.cpp:854
#, c-format
@@ -168,22 +169,22 @@ msgid ""
"The configured %s plugin is not a PCSX2 plugin, or is for an older "
"unsupported version of PCSX2."
msgstr ""
-"O plug-in %s configurado não é um plug-in de PCSX2, ou é para uma versão "
-"antiga e não suportada do PCSX2."
+"O plug-in de %s configurado não é um plug-in de PCSX2, ou é para uma versão "
+"antiga e sem suporte do PCSX2."
#: pcsx2/PluginManager.cpp:879
msgid ""
"The plugin reports that your hardware or software/drivers are not supported."
msgstr ""
-"O plug-in relata que o seu hardware o software/drivers não são suportados."
+"O plug-in relata que seu hardware ou seus software/drivers são suportados."
#: pcsx2/PluginManager.cpp:900
msgid ""
"Configured plugin is not a PCSX2 plugin, or is for an older unsupported "
"version of PCSX2."
msgstr ""
-"Plug-in configurado não é um plugin de PCSX2, ou é para uma versão antiga e "
-"não suportada do PCSX2."
+"O plug-in definido não é um plug-in de PCSX2, ou é para uma versão antiga e "
+"sem suporte do PCSX2."
#: pcsx2/PluginManager.cpp:926
#, c-format
@@ -191,12 +192,12 @@ msgid ""
"Configured %s plugin is not a valid PCSX2 plugin, or is for an older "
"unsupported version of PCSX2."
msgstr ""
-"Plug-in %s configurado não é um plug-in válido de PCXSX2, ou é para uma "
-"versão antiga ou não suportada do PCSX2."
+"O Plug-in de %s definido não é um plug-in válido de PCXSX2, ou é para uma "
+"versão antiga ou sem suporte do PCSX2."
#: pcsx2/PluginManager.cpp:1355
msgid "Internal Memorycard Plugin failed to initialize."
-msgstr "Plug-in de Cartão de Memória interno falhou em inicializar."
+msgstr "O plug-in de Cartão de Memória interno falhou na inicialização."
#: pcsx2/PluginManager.cpp:1752
msgid "Unloaded Plugin"
@@ -206,11 +207,11 @@ msgstr "Plug-in descarregado"
msgid "Cannot load savestate. It is of an unknown or unsupported version."
msgstr ""
"Não foi possível carregar o savestate. Ele é de uma versão desconhecida ou "
-"não suportada."
+"sem suporte."
#: pcsx2/SourceLog.cpp:96
msgid "Dumps detailed information for PS2 executables (ELFs)."
-msgstr "Extrai informação detalhada de executáveis (ELFs) de PS2."
+msgstr "Extrai informações detalhadas de executáveis (ELFs) de PS2."
#: pcsx2/SourceLog.cpp:101
msgid ""
@@ -234,12 +235,12 @@ msgstr "Exibe os logs de depuração de DECI2 (processador EE)"
#: pcsx2/SourceLog.cpp:145
msgid "SYSCALL and DECI2 activity."
-msgstr "Atividade de SYSCALL e DECI2"
+msgstr "Atividade do SYSCALL e do DECI2."
#: pcsx2/SourceLog.cpp:151
msgid "Direct memory accesses to unknown or unmapped EE memory space."
msgstr ""
-"Acesso direto a memória para espaço de memória EE desconhecido ou não "
+"Acesso direto à memória para espaço de memória EE desconhecido ou não "
"mapeado."
#: pcsx2/SourceLog.cpp:157 pcsx2/SourceLog.cpp:276
@@ -268,13 +269,13 @@ msgid ""
"All known hardware register accesses (very slow!); not including sub filter "
"options below."
msgstr ""
-"Acessos a todos registradores de hardware (muito lento!); não inclusas "
+"Acessos a todos registradores de hardware (muito lento!); não inclusas as "
"opções de sub-filtros abaixo."
#: pcsx2/SourceLog.cpp:193 pcsx2/SourceLog.cpp:294
msgid "Logs only unknown, unmapped, or unimplemented register accesses."
msgstr ""
-"Registra somente acessos não conhecidos, não mapeados ou não implementados "
+"Registra somente acessos não conhecidos, não mapeados ou não implementados "
"de registradores."
#: pcsx2/SourceLog.cpp:199 pcsx2/SourceLog.cpp:300
@@ -284,17 +285,17 @@ msgstr "Registra somente registradores relacionados a DMA."
#: pcsx2/SourceLog.cpp:205
msgid "IPU activity: hardware registers, decoding operations, DMA status, etc."
msgstr ""
-"Atividade IPU: registradores de hardware, operações de decodificação, status "
-"de DMA, etc."
+"Atividade do IPU: registradores de hardware, operações de decodificação, "
+"estado de DMA, etc."
#: pcsx2/SourceLog.cpp:211
msgid "All GIFtag parse activity; path index, tag type, etc."
msgstr ""
-"Todas atividade de análise do GIFtag; índice de caminho, tipo de tag, etc."
+"Todas atividades de análise do GIFtag: índice de caminho, tipo de tag, etc."
#: pcsx2/SourceLog.cpp:217
msgid "All VIFcode processing; command, tag style, interrupts."
-msgstr "Todo processamento de VIFcode; comando, estilo de tag, interrupções."
+msgstr "Todo processamento de VIFcode: comando, estilo de tag, interrupções."
#: pcsx2/SourceLog.cpp:223
msgid "All processing involved in Path3 Masking"
@@ -302,7 +303,7 @@ msgstr "Todo processamento envolvido no Path3 Masking"
#: pcsx2/SourceLog.cpp:229
msgid "Scratchpad's MFIFO activity."
-msgstr "Atividade MFIFO do Bloco de Rascunho."
+msgstr "Atividades do bloco de rascunho do MFIFO."
#: pcsx2/SourceLog.cpp:235
msgid "Actual data transfer logs, bus right arbitration, stalls, etc."
@@ -322,16 +323,16 @@ msgstr "Extrai vários dados de processamento de VIF e VIFcode."
#: pcsx2/SourceLog.cpp:253
msgid "Dumps various GIF and GIFtag parsing data."
-msgstr "Extrai vários dados de análise de GIF e GIFtag."
+msgstr "Extrai vários dados de análise do GIF e do GIFtag."
#: pcsx2/SourceLog.cpp:264
msgid "SYSCALL and IRX activity."
-msgstr "Atividade SYSCALL e IRX."
+msgstr "Atividades do SYSCALL e do IRX."
#: pcsx2/SourceLog.cpp:270
msgid "Direct memory accesses to unknown or unmapped IOP memory space."
msgstr ""
-"Acessos direto a memória para espaço de memória IOP não conhecido ou não "
+"Acessos direto à memória para espaço de memória do IOP não conhecido ou não "
"mapeado."
#: pcsx2/SourceLog.cpp:282
@@ -342,14 +343,14 @@ msgstr "Desmontagem das instruções do co-processador GPU do IOP."
msgid ""
"All known hardware register accesses, not including the sub-filters below."
msgstr ""
-"Acessos a todos registradores de hardware conhecidos, não incluso os sub-"
+"Acessos a todos registradores de hardware conhecidos, não inclusos os sub-"
"filtros abaixo."
#: pcsx2/SourceLog.cpp:306
msgid "Memorycard reads, writes, erases, terminators, and other processing."
msgstr ""
-"Leituras, escritas, exclusão, exterminadores e outros processamentos de "
-"cartão de memória."
+"Leituras, escritas, exclusão, terminadores e outros processamentos de cartão "
+"de memória."
#: pcsx2/SourceLog.cpp:312
msgid "Gamepad activity on the SIO."
@@ -453,7 +454,7 @@ msgstr "usar modo tela cheia do GS"
#: pcsx2/gui/AppInit.cpp:241
msgid "use windowed GS mode"
-msgstr "user modo janelado do GS"
+msgstr "usar modo janela do GS"
#: pcsx2/gui/AppInit.cpp:243
msgid "disables display of the gui while running games"
@@ -571,7 +572,7 @@ msgstr "&Próximo >"
#: pcsx2/gui/AppInit.cpp:685
msgid "< &Back"
-msgstr "< Voltar"
+msgstr "< &Voltar"
#: pcsx2/gui/AppInit.cpp:686
msgid "&Back"
@@ -583,11 +584,11 @@ msgstr "&Concluir"
#: pcsx2/gui/AppInit.cpp:688
msgid "&Yes"
-msgstr "Sim"
+msgstr "&Sim"
#: pcsx2/gui/AppInit.cpp:689
msgid "&No"
-msgstr "Não"
+msgstr "&Não"
#: pcsx2/gui/AppInit.cpp:690
msgid "Browse"
@@ -599,7 +600,7 @@ msgstr "&Salvar"
#: pcsx2/gui/AppInit.cpp:692
msgid "Save &As..."
-msgstr "&Salvar Como..."
+msgstr "Salvar &Como..."
#: pcsx2/gui/AppInit.cpp:693
msgid "&Help"
@@ -611,7 +612,7 @@ msgstr "&Página Inicial"
#: pcsx2/gui/AppInit.cpp:696
msgid "Show about dialog"
-msgstr "Exibir informações sobre PCSX2."
+msgstr "Exibe informações sobre o PCSX2."
#: pcsx2/gui/AppMain.cpp:87
msgid ""
@@ -645,7 +646,7 @@ msgstr "Pressione Ok para ir para o Painel de Configuração de BIOS."
#: pcsx2/gui/AppMain.cpp:626
msgid "PCSX2 Unresponsive Thread"
-msgstr "Thread de PCSX2 não respondendo"
+msgstr "Thread de PCSX2 não está respondendo"
#: pcsx2/gui/AppMain.cpp:636
msgid "Terminate"
@@ -665,11 +666,11 @@ msgstr "Procurar..."
#: pcsx2/gui/AppUserMode.cpp:99
msgid "The following folders exist, but are not writable:"
-msgstr "A seguinte pasta existe, mas não permite escrita:"
+msgstr "A pasta existe, mas não permite escrita:"
#: pcsx2/gui/AppUserMode.cpp:104
msgid "The following folders are missing and cannot be created:"
-msgstr "A seguinte pasta não foi encontrada e não pode ser criada:"
+msgstr "A pasta não foi encontrada e não pode ser criada:"
#: pcsx2/gui/AppUserMode.cpp:144
#, c-format
@@ -711,8 +712,7 @@ msgstr "Pergunta sobre armazanento de log"
#: pcsx2/gui/ConsoleLogger.cpp:413
msgid "Fits a lot of log in a microcosmically small area."
-msgstr ""
-"Armazena um muito conteúdo de log em uma área microscopicamente pequena."
+msgstr "Armazena um conteúdo de log em uma área microscopicamente pequena."
#: pcsx2/gui/ConsoleLogger.cpp:413
msgid "Small"
@@ -770,12 +770,12 @@ msgstr "Sempre no Topo"
msgid ""
"When checked the log window will be visible over other foreground windows."
msgstr ""
-"Quando marcado, a janela de registro estará visível sobre outras janelas de "
+"Quando marcado, a janela de logs estará visível sobre outras janelas de "
"primeiro plano."
#: pcsx2/gui/ConsoleLogger.cpp:430
msgid "&Save..."
-msgstr "Salvar..."
+msgstr "&Salvar..."
#: pcsx2/gui/ConsoleLogger.cpp:430
msgid "Save log contents to file"
@@ -795,7 +795,7 @@ msgstr "Aparência"
#: pcsx2/gui/ConsoleLogger.cpp:435
msgid "&Close"
-msgstr "Fechar"
+msgstr "Fe&char"
#: pcsx2/gui/ConsoleLogger.cpp:435
msgid "Close this log window; contents are preserved"
@@ -807,7 +807,7 @@ msgstr "Desenvolvimento/Detalhado"
#: pcsx2/gui/ConsoleLogger.cpp:439
msgid "Shows PCSX2 developer logs"
-msgstr "Exibe logs de desenvolvedor do PCSX2"
+msgstr "Exibe logs de desenvolvimento do PCSX2"
#: pcsx2/gui/ConsoleLogger.cpp:440
msgid "CDVD reads"
@@ -835,16 +835,16 @@ msgstr "Desativa todos filtros de origem de log."
#: pcsx2/gui/ConsoleLogger.cpp:460
msgid "&Log"
-msgstr "Log"
+msgstr "&Log"
#: pcsx2/gui/ConsoleLogger.cpp:461
msgid "&Sources"
-msgstr "Fontes"
+msgstr "Fonte&s"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:35
#, c-format
msgid "About %s"
-msgstr "Sobre %s"
+msgstr "Sobre o %s"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55
msgid "Betatesting"
@@ -987,7 +987,7 @@ msgid ""
"This is the standard Sony-provisioned size, and is supported by all games "
"and BIOS versions."
msgstr ""
-"Esse é o tamanho padrão provido pela Sony e é suportado por todos jogos e "
+"Esse é o tamanho padrão provido pela Sony e tem suporte em todos jogos e "
"versões de BIOS."
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:196
@@ -1051,7 +1051,7 @@ msgstr "Configurações"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:81
msgid "Language selector"
-msgstr "Seleção de Idioma"
+msgstr "Seleção di Idioma"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:84
msgid ""
@@ -1067,11 +1067,11 @@ msgstr "Bem-vindo ao PCSX2!"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:104
msgid "Configuration Guides (online)"
-msgstr "Guias de configuração (online)"
+msgstr "Guia de Configuração (online)"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:108
msgid "Readme / FAQ (Offline/PDF)"
-msgstr "Readme / FAQ (offline/PDF)"
+msgstr "Readme / FAQ (Offline/PDF)"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:117
#, c-format
@@ -1097,7 +1097,7 @@ msgstr "Sobrescrever"
#: pcsx2/gui/Dialogs/LogOptionsDialog.cpp:27
msgid "Trace Logging"
-msgstr "Log de rastreamento"
+msgstr "Log de Rastreamento"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:40
msgid "Auto-eject memory cards when loading savestates"
@@ -1109,7 +1109,7 @@ msgstr "Gerenciador de Cartão de Memória"
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:112
msgid "Drag cards to or from PS2-ports"
-msgstr "Arraste cartões para Portas-PS2 ou a partir delas."
+msgstr "Arraste cartões para Portas-PS2, ou a partir delas."
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:113
msgid ""
@@ -1127,12 +1127,12 @@ msgstr "Primeiras Configurações do PCSX2"
#, c-format
msgid "%s is starting from a new or unknown folder and needs to be configured."
msgstr ""
-"%s está iniciando a partir de uma pasta nova ou não conhecida e precisa ser "
-"configurado."
+"%s está inicializando a partir de uma pasta nova ou não conhecida e precisa "
+"ser configurado."
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:28
msgid "PCSX2 Thread is not responding"
-msgstr "A Thread PCSX2 não está respondendo"
+msgstr "A Thread do PCSX2 não está respondendo"
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:36
msgid "Config Overrides Warning"
@@ -1213,7 +1213,7 @@ msgstr "Pressione Terminar para matar %s imediatamente."
#: pcsx2/gui/ExecutorThread.cpp:434
msgid "Terminate App"
-msgstr "Terminar aplicativo"
+msgstr "Terminar Aplicativo"
#: pcsx2/gui/FrameForGS.cpp:384
msgid "GS Output is Disabled!"
@@ -1233,7 +1233,7 @@ msgstr "Carregar estado"
#: pcsx2/gui/GlobalCommands.cpp:394
msgid "Loads a virtual machine state from the current slot."
-msgstr "Carrega o estado da máquina virtual do slot atual."
+msgstr "Carrega um estado de máquina virtual do slot atual."
#: pcsx2/gui/GlobalCommands.cpp:399
msgid "Load State Backup"
@@ -1241,7 +1241,7 @@ msgstr "Carregar estado backup"
#: pcsx2/gui/GlobalCommands.cpp:400
msgid "Loads virtual machine state backup for current slot."
-msgstr "Carrega o estado backup da máquina virtual no slot atual."
+msgstr "Carrega estado backup da máquina virtual no slot atual."
#: pcsx2/gui/GlobalCommands.cpp:405
msgid "Cycle to next slot"
@@ -1261,7 +1261,7 @@ msgstr "Altera o slot de save atual num estilo -1!"
#: pcsx2/gui/IsoDropTarget.cpp:57
msgid "Drag and Drop Error"
-msgstr "Erro em Pegar e Arrastar"
+msgstr "Erro no Pegar e Arrastar"
#: pcsx2/gui/IsoDropTarget.cpp:58
#, c-format
@@ -1269,12 +1269,12 @@ msgid ""
"It is an error to drop multiple files onto a %s window. One at a time "
"please, thank you."
msgstr ""
-"Esse é um erro em arrastar múltiplos arquivos para a janela %s. Um por vez "
-"por favor, obrigado."
+"É um erro arrastar múltiplos arquivos para a janela de %s. Um por vez por "
+"favor, obrigado."
#: pcsx2/gui/IsoDropTarget.cpp:89 pcsx2/gui/MainMenuClicks.cpp:342
msgid "Confirm PS2 Reset"
-msgstr "Confirmar reinício do PS2"
+msgstr "Confirmar reset do PS2"
#: pcsx2/gui/IsoDropTarget.cpp:91
#, c-format
@@ -1309,23 +1309,23 @@ msgstr "Console para Entrada/Saída padrão"
#: pcsx2/gui/MainFrame.cpp:338
msgid "&System"
-msgstr "Sistema"
+msgstr "&Sistema"
#: pcsx2/gui/MainFrame.cpp:339
msgid "CD&VD"
-msgstr "CDVD"
+msgstr "CD&VD"
#: pcsx2/gui/MainFrame.cpp:340
msgid "&Config"
-msgstr "Configuração"
+msgstr "&Configuração"
#: pcsx2/gui/MainFrame.cpp:341
msgid "&Misc"
-msgstr "Diversos"
+msgstr "&Misc"
#: pcsx2/gui/MainFrame.cpp:343
msgid "&Debug"
-msgstr "Depuração"
+msgstr "&Depuração"
#: pcsx2/gui/MainFrame.cpp:355
#, c-format
@@ -1427,15 +1427,15 @@ msgstr "Use essa opção pra carregar as configurações de BIOS do PS2 virtual.
#: pcsx2/gui/MainFrame.cpp:457
msgid "Emulation &Settings"
-msgstr "&Configurações de Emulação"
+msgstr "Configuraçõe&s de Emulação"
#: pcsx2/gui/MainFrame.cpp:458
msgid "&Memory cards"
-msgstr "&Cartões de Memória"
+msgstr "Cartões de &Memória"
#: pcsx2/gui/MainFrame.cpp:459
msgid "&Plugin/BIOS Selector"
-msgstr "Seleção de Plug-in/BIOS"
+msgstr "Seleção de &Plug-in/BIOS"
#: pcsx2/gui/MainFrame.cpp:460 pcsx2/gui/Panels/GameDatabasePanel.cpp:346
msgid "Game Database Editor"
@@ -1490,7 +1490,7 @@ msgstr "Sobre..."
#: pcsx2/gui/MainFrame.cpp:508
msgid "Logging..."
-msgstr "Logging..."
+msgstr "Registro de Logs..."
#: pcsx2/gui/MainFrame.cpp:585
msgid "Pause"
@@ -1515,7 +1515,7 @@ msgstr "Pausar/Resumir"
#: pcsx2/gui/MainFrame.cpp:599
msgid "No emulation state is active; cannot suspend or resume."
msgstr ""
-"Nenhum estado de emulação está ativo; Não foi possível suspender ou resumir."
+"Nenhum estado de emulação está ativo; não foi possível suspender ou resumir."
#: pcsx2/gui/MainFrame.cpp:608
msgid "Restart"
@@ -1523,7 +1523,7 @@ msgstr "Reiniciar"
#: pcsx2/gui/MainFrame.cpp:609
msgid "Simulates hardware reset of the PS2 virtual machine."
-msgstr "Simula reset de hardware da máquina virtual do PS2."
+msgstr "Simula reinício de hardware da máquina virtual do PS2."
#: pcsx2/gui/MainFrame.cpp:614
msgid "No emulation state is active; boot something first."
@@ -1535,7 +1535,7 @@ msgstr "Reiniciar CDVD (completo)"
#: pcsx2/gui/MainFrame.cpp:623
msgid "Hard reset of the active VM."
-msgstr "Hard reset da VM ativa."
+msgstr "Reinício forçado da VM ativa."
#: pcsx2/gui/MainFrame.cpp:627
msgid "Boot CDVD (full)"
@@ -1592,7 +1592,7 @@ msgstr "Configurações do Plug-in..."
#: pcsx2/gui/MainFrame.cpp:720
#, c-format
msgid "Opens the %s plugin's advanced settings dialog."
-msgstr "Abre o janela de configurações avançadas do plug-in %s."
+msgstr "Abre a janela de configurações avançadas do plug-in de %s."
#: pcsx2/gui/MainMenuClicks.cpp:112
msgid "Reset all settings?"
@@ -1605,8 +1605,8 @@ msgstr "Confirmar alteração de imagem ISO"
#: pcsx2/gui/MainMenuClicks.cpp:146
msgid "Do you want to swap discs or boot the new image (via system reset)?"
msgstr ""
-"Você quer trocar discos ou carregar a nova imagem (via reinicialização do "
-"sistema)"
+"Você quer trocar discos ou carregar a nova imagem (por meio de "
+"reinicialização do sistema)"
#: pcsx2/gui/MainMenuClicks.cpp:148 pcsx2/gui/MainMenuClicks.cpp:194
msgid "Swap Disc"
@@ -1614,7 +1614,7 @@ msgstr "Trocar Disco"
#: pcsx2/gui/MainMenuClicks.cpp:184
msgid "Confirm CDVD source change"
-msgstr "Confirme alteração da fonte do CDVD"
+msgstr "Confirmar alteração da fonte do CDVD"
#: pcsx2/gui/MainMenuClicks.cpp:187
#, c-format
@@ -1625,7 +1625,7 @@ msgstr "Você selecionou a troca da fonte de CDVD de %s para %s."
msgid "Do you want to swap discs or boot the new image (system reset)?"
msgstr ""
"Você quer trocar discos ou carregar a nova imagem (reinicialização do "
-"sistema)"
+"sistema)?"
#: pcsx2/gui/MainMenuClicks.cpp:261
#, c-format
@@ -1710,7 +1710,7 @@ msgstr "Nome de arquivo vazio ou muito curto"
#: pcsx2/gui/MemoryCardFile.cpp:530
msgid "File name outside of required directory"
-msgstr "Nome de arquivo fora do diretório requerido"
+msgstr "Nome de arquivo fora do diretório esperado"
#: pcsx2/gui/MemoryCardFile.cpp:536
msgid "File name already exists"
@@ -2242,7 +2242,7 @@ msgstr "Renomear cartão..."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:1056
msgid "Duplicate card ..."
-msgstr "Cartão duplicado ..."
+msgstr "Duplicar Cartão ..."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:1057
msgid "Rename card ..."
@@ -2295,11 +2295,11 @@ msgstr "Sim"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:169
msgid "[-- Unused cards --]"
-msgstr "[-- Cartões não usados --]"
+msgstr "[-- não usados --]"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:171
msgid "[-- No unused cards --]"
-msgstr "[-- Nenhum cartão não usado --]"
+msgstr "[-- Nenhum não usado --]"
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:33
msgid "Usermode Selection"
@@ -2311,7 +2311,7 @@ msgstr "Documentos do Usuário (recommendado)"
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:51
msgid "Location: "
-msgstr "Localização:"
+msgstr "Localização: "
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:55
msgid "Custom folder:"
@@ -2322,8 +2322,8 @@ msgid ""
"This setting may require administration privileges from your operating "
"system, depending on how your system is configured."
msgstr ""
-"Essa configuração pode requerir privilégios administrativos do seus sistema "
-"operacional, dependendo de como seu sistema está configurado."
+"Essa configuração pode precisar de privilégios administrativos do seus "
+"sistema operacional, dependendo de como seu sistema está configurado."
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:66
#, c-format
@@ -2631,22 +2631,18 @@ msgid "Framelimiter"
msgstr "Limitador de Frames"
#: pcsx2/gui/SysState.cpp:283
-#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr ""
-"Não foi possível carregar o savestate. Ele é de uma versão desconhecida ou "
-"não suportada."
+"Não foi possível carregar o savestate. Ele é de uma versão sem suporte."
#: pcsx2/gui/SysState.cpp:290
-#, fuzzy
msgid "Cannot load this savestate. The state is an unsupported version."
msgstr ""
-"Não foi possível carregar o savestate. Ele é de uma versão desconhecida ou "
-"não suportada."
+"Não foi possível carregar o savestate. Ele é de uma versão sem suporte."
#: pcsx2/gui/SysState.cpp:326
msgid "There is no active virtual machine state to download or save."
-msgstr "Não há estado de máquina virtual ativo para baixar ou salvar"
+msgstr "Não há estado de máquina virtual ativa para baixar ou salvar"
#: pcsx2/gui/SysState.cpp:520
msgid ""
@@ -2654,9 +2650,9 @@ msgid ""
"may have been created by an older unsupported version of PCSX2, or it may be "
"corrupted."
msgstr ""
-"O savestate não pode ser carregado pois não é um arquivo gzip válido. Ele "
-"pode ter sido criado por uma versão mais antiga e não suportada do PCSX2, "
-"ou pode estar corrupto."
+"O savestate não pode ser carregado porque não é um arquivo gzip válido. Ele "
+"pode ter sido criado por uma versão mais antiga e sem suporte do PCSX2, ou "
+"pode estar corrompido."
#: pcsx2/gui/SysState.cpp:579
msgid "This file is not a valid PCSX2 savestate. See the logfile for details."
@@ -2669,12 +2665,12 @@ msgid ""
"This savestate cannot be loaded due to missing critical components. See the "
"log file for details."
msgstr ""
-"O savestate não pode ser carregado por estar faltando componentes críticos. "
+"O savestate não pôde ser carregado por estar faltando componentes críticos. "
"Veja o arquivo de log para mais detalhes."
#: pcsx2/gui/i18n.cpp:63
msgid " (default)"
-msgstr "(padrão)"
+msgstr " (padrão)"
#: pcsx2/ps2/BiosTools.cpp:83 pcsx2/ps2/BiosTools.cpp:151
msgid "The selected BIOS file is not a valid PS2 BIOS. Please re-configure."
diff --git a/locales/templates/pcsx2_Iconized.pot b/locales/templates/pcsx2_Iconized.pot
index b7b818eff7..8b46999448 100644
--- a/locales/templates/pcsx2_Iconized.pot
+++ b/locales/templates/pcsx2_Iconized.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
-"POT-Creation-Date: 2012-06-02 09:42+0200\n"
+"POT-Creation-Date: 2012-06-25 22:57+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/locales/templates/pcsx2_Main.pot b/locales/templates/pcsx2_Main.pot
index f08fdbd640..80f882fc8f 100644
--- a/locales/templates/pcsx2_Main.pot
+++ b/locales/templates/pcsx2_Main.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PCSX2 0.9.9\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
-"POT-Creation-Date: 2012-06-02 09:42+0200\n"
+"POT-Creation-Date: 2012-06-25 22:57+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/plugins/GSdx/CMakeLists.txt b/plugins/GSdx/CMakeLists.txt
index b6fa45ae4e..629ea4c9ad 100644
--- a/plugins/GSdx/CMakeLists.txt
+++ b/plugins/GSdx/CMakeLists.txt
@@ -10,6 +10,7 @@ endif(NOT TOP_CMAKE_WAS_SOURCED)
set(Output GSdx-0.1.16)
set(CommonFlags
+ -DOGL_MT_HACK
-D_LINUX
-fno-operator-names
-mpreferred-stack-boundary=2
@@ -49,6 +50,10 @@ if(CMAKE_BUILD_TYPE STREQUAL Release)
add_definitions(${CommonFlags} ${SDLFlags} ${OptimizationFlags} -W)
endif(CMAKE_BUILD_TYPE STREQUAL Release)
+if(XDG_STD)
+ add_definitions(-DXDG_STD)
+endif(XDG_STD)
+
set(GSdxSources
GPU.cpp
GPUDrawScanline.cpp
diff --git a/plugins/GSdx/GS.cpp b/plugins/GSdx/GS.cpp
index dc7dd5c13c..c16b69317a 100644
--- a/plugins/GSdx/GS.cpp
+++ b/plugins/GSdx/GS.cpp
@@ -55,7 +55,11 @@ extern bool RunLinuxDialog();
#define PS2E_X86 0x01 // 32 bit
#define PS2E_X86_64 0x02 // 64 bit
+#ifdef OGL_MT_HACK
+GSRenderer* s_gs = NULL;
+#else
static GSRenderer* s_gs = NULL;
+#endif
static void (*s_irq)() = NULL;
static uint8* s_basemem = NULL;
static int s_renderer = -1;
@@ -437,39 +441,36 @@ EXPORT_C GSwriteCSR(uint32 csr)
EXPORT_C GSreadFIFO(uint8* mem)
{
-#ifdef _LINUX
+#ifdef OGL_MT_HACK
// FIXME: double check which thread call this function
// See fifo2 issue below
- if (theApp.GetConfig("renderer", 0) / 3 == 4) {
- fprintf(stderr, "Disable FIFO1 on opengl\n");
- }
+#ifdef OGL_DEBUG
+ if (theApp.GetConfig("renderer", 0) / 3 == 4) fprintf(stderr, "Disable FIFO1 on opengl\n");
+#endif
s_gs->m_wnd.AttachContext();
#endif
s_gs->ReadFIFO(mem, 1);
-#ifdef _LINUX
+#ifdef OGL_MT_HACK
s_gs->m_wnd.DetachContext();
#endif
}
EXPORT_C GSreadFIFO2(uint8* mem, uint32 size)
{
-#ifdef _LINUX
+#ifdef OGL_MT_HACK
// FIXME called from EE core thread not MTGS which cause
// invalidate data for opengl
- if (theApp.GetConfig("renderer", 0) / 3 == 4) {
#ifdef OGL_DEBUG
- fprintf(stderr, "Disable FIFO2(%d) on opengl\n", size);
+ if (theApp.GetConfig("renderer", 0) / 3 == 4) fprintf(stderr, "Disable FIFO2(%d) on opengl\n", size);
#endif
- //return;
- }
s_gs->m_wnd.AttachContext();
#endif
s_gs->ReadFIFO(mem, size);
-#ifdef _LINUX
+#ifdef OGL_MT_HACK
s_gs->m_wnd.DetachContext();
#endif
}
diff --git a/plugins/GSdx/GSRendererOGL.cpp b/plugins/GSdx/GSRendererOGL.cpp
index 9aa25b62f9..426e49341f 100644
--- a/plugins/GSdx/GSRendererOGL.cpp
+++ b/plugins/GSdx/GSRendererOGL.cpp
@@ -205,7 +205,8 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour
vs_sel.tme = PRIM->TME;
vs_sel.fst = PRIM->FST;
- vs_sel.logz = dev->HasDepth32() ? 0 : m_logz ? 1 : 0;
+ //vs_sel.logz = dev->HasDepth32() ? 0 : m_logz ? 1 : 0;
+ vs_sel.logz = m_logz ? 1 : 0;
//OGL vs_sel.rtcopy = !!rtcopy;
vs_sel.rtcopy = false;
diff --git a/plugins/GSdx/GSState.cpp b/plugins/GSdx/GSState.cpp
index 4e8f24086c..898b19279f 100644
--- a/plugins/GSdx/GSState.cpp
+++ b/plugins/GSdx/GSState.cpp
@@ -23,6 +23,13 @@
#include "GSState.h"
#include "GSdx.h"
+#ifdef OGL_MT_HACK
+
+#include "GSRendererOGL.h"
+extern GSRenderer* s_gs;
+
+#endif
+
//#define Offset_ST // Fixes Persona3 mini map alignment which is off even in software rendering
GSState::GSState()
@@ -1252,6 +1259,9 @@ void GSState::GIFRegHandlerTRXDIR(const GIFReg* RESTRICT r)
break;
case 1: // local -> host
m_tr.Init(m_env.TRXPOS.SSAX, m_env.TRXPOS.SSAY);
+#ifdef OGL_MT_HACK
+ s_gs->m_wnd.DetachContext();
+#endif
break;
case 2: // local -> local
Move();
@@ -1756,6 +1766,9 @@ static hash_map s_tags;
template void GSState::Transfer(const uint8* mem, uint32 size)
{
GSPerfMonAutoTimer pmat(&m_perfmon);
+#ifdef OGL_MT_HACK
+ s_gs->m_wnd.AttachContext();
+#endif
const uint8* start = mem;
diff --git a/plugins/GSdx/GSTextureFXOGL.cpp b/plugins/GSdx/GSTextureFXOGL.cpp
index ef354d7758..1eb11535a6 100644
--- a/plugins/GSdx/GSTextureFXOGL.cpp
+++ b/plugins/GSdx/GSTextureFXOGL.cpp
@@ -86,6 +86,7 @@ void GSDeviceOGL::SetupVS(VSSelector sel, const VSConstantBuffer* cb)
if(i == m_vs.end())
{
std::string macro = format("#define VS_BPPZ %d\n", sel.bppz)
+ + format("#define VS_LOGZ %d\n", sel.logz)
+ format("#define VS_TME %d\n", sel.tme)
+ format("#define VS_FST %d\n", sel.fst)
+ format("#define VS_RTCOPY %d\n", sel.rtcopy);
diff --git a/plugins/GSdx/GSWnd.cpp b/plugins/GSdx/GSWnd.cpp
index aee95c24ba..dce7f4d66a 100644
--- a/plugins/GSdx/GSWnd.cpp
+++ b/plugins/GSdx/GSWnd.cpp
@@ -213,7 +213,7 @@ void GSWnd::HideFrame()
#else
GSWnd::GSWnd()
- : m_window(NULL), m_Xwindow(0), m_XDisplay(NULL)
+ : m_window(NULL), m_Xwindow(0), m_XDisplay(NULL), m_ctx_attached(false)
{
}
@@ -278,16 +278,23 @@ bool GSWnd::CreateContext(int major, int minor)
if (!m_context) return false;
XSync( m_XDisplay, false);
+ return true;
}
void GSWnd::AttachContext()
{
- glXMakeCurrent(m_XDisplay, m_Xwindow, m_context);
+ if (!IsContextAttached()) {
+ glXMakeCurrent(m_XDisplay, m_Xwindow, m_context);
+ m_ctx_attached = true;
+ }
}
void GSWnd::DetachContext()
{
- glXMakeCurrent(m_XDisplay, None, NULL);
+ if (IsContextAttached()) {
+ glXMakeCurrent(m_XDisplay, None, NULL);
+ m_ctx_attached = false;
+ }
}
void GSWnd::CheckContext()
diff --git a/plugins/GSdx/GSWnd.h b/plugins/GSdx/GSWnd.h
index 6e2967fad0..763d127976 100644
--- a/plugins/GSdx/GSWnd.h
+++ b/plugins/GSdx/GSWnd.h
@@ -103,6 +103,7 @@ class GSWnd
Window m_Xwindow;
Display* m_XDisplay;
+ bool m_ctx_attached;
bool m_managed;
int m_renderer;
GLXContext m_context;
@@ -115,6 +116,7 @@ public:
bool Attach(void* handle, bool managed = true);
void Detach();
bool IsManaged() const {return m_managed;}
+ bool IsContextAttached() const { return m_ctx_attached; }
Display* GetDisplay();
void* GetHandle() {return (void*)m_Xwindow;}
diff --git a/plugins/GSdx/linux_replay.cpp b/plugins/GSdx/linux_replay.cpp
index fad26cd6e4..2c674e7766 100644
--- a/plugins/GSdx/linux_replay.cpp
+++ b/plugins/GSdx/linux_replay.cpp
@@ -34,8 +34,28 @@ void help()
int main ( int argc, char *argv[] )
{
- if ( argc != 3 ) help();
+ if ( argc == 3) {
+ GSsetSettingsDir(argv[1]);
+ GSReplay(argv[2], 12);
+ } else if ( argc == 2) {
+#ifdef XDG_STD
+ std::string home("HOME");
+ char * val = getenv( home.c_str() );
+ if (val == NULL) {
+ fprintf(stderr, "Failed to get the home dir\n");
+ help();
+ }
+
+ std::string ini_dir(val);
+ ini_dir += "/.config/pcsx2/inis";
+
+ GSsetSettingsDir(ini_dir.c_str());
+ GSReplay(argv[1], 12);
+#else
+ fprintf(stderr, "default ini dir only supported on XDG\n");
+ help();
+#endif
+ } else
+ help();
- GSsetSettingsDir(argv[1]);
- GSReplay(argv[2], 12);
}
diff --git a/plugins/GSdx/res/tfx.glsl b/plugins/GSdx/res/tfx.glsl
index 16d28a9450..6dcc2bf93d 100644
--- a/plugins/GSdx/res/tfx.glsl
+++ b/plugins/GSdx/res/tfx.glsl
@@ -87,22 +87,24 @@ void vs_main()
// input granularity is 1/16 pixel, anything smaller than that won't step drawing up/left by one pixel
// example: 133.0625 (133 + 1/16) should start from line 134, ceil(133.0625 - 0.05) still above 133
- // Greg TEST
- //float logz = log2(1+float(z))/32 * 0.999f;
- //vec4 p = vec4(i_p, logz, 0) - vec4(0.05f, 0.05f, 0, 0);
-
vec4 p = vec4(i_p, z, 0) - vec4(0.05f, 0.05f, 0, 0);
vec4 final_p = p * VertexScale - VertexOffset;
// FIXME
// FLIP vertically
final_p.y *= -1.0f;
+ if(VS_LOGZ == 1)
+ {
+ final_p.z = log2(1.0f + float(z)) / 32.0f;
+ }
+
VSout.p = final_p;
gl_Position = final_p; // NOTE I don't know if it is possible to merge POSITION_OUT and gl_Position
#if VS_RTCOPY
VSout.tp = final_p * vec4(0.5, -0.5, 0, 0) + 0.5;
#endif
+
if(VS_TME != 0)
{
if(VS_FST != 0)
diff --git a/plugins/zzogl-pg/opengl/ZZGl.h b/plugins/zzogl-pg/opengl/ZZGl.h
index e33997a041..de7b0a4335 100644
--- a/plugins/zzogl-pg/opengl/ZZGl.h
+++ b/plugins/zzogl-pg/opengl/ZZGl.h
@@ -185,7 +185,18 @@ namespace FB
static __forceinline void Create()
{
+ assert(buf == 0);
glGenFramebuffersEXT(1, &buf);
+ if (buf == 0)
+ ZZLog::Error_Log("Failed to create the renderbuffer.");
+ }
+
+ static __forceinline void Delete()
+ {
+ if (buf != 0) {
+ glDeleteFramebuffersEXT(1, &buf);
+ buf = 0;
+ }
}
static __forceinline void Bind()
diff --git a/plugins/zzogl-pg/opengl/ZZoglCRTC.cpp b/plugins/zzogl-pg/opengl/ZZoglCRTC.cpp
index 570e7432a0..b741650914 100644
--- a/plugins/zzogl-pg/opengl/ZZoglCRTC.cpp
+++ b/plugins/zzogl-pg/opengl/ZZoglCRTC.cpp
@@ -657,7 +657,7 @@ inline void RenderCheckForMemory(tex0Info& texframe, list& listT
float4 valpha = RenderGetForClip(texframe.psm, CRTC_RENDER);
ZZshGLSetTextureParameter(curr_ppsCRTC()->prog, curr_ppsCRTC()->sMemory, vb[0].pmemtarg->ptex->tex, "CRTC memory");
- RenderCreateInterlaceTex(texframe.th, CRTC_RENDER_TARG);
+ RenderCreateInterlaceTex(texframe.th, CRTC_RENDER);
ZZshSetPixelShader(curr_ppsCRTC()->prog);
DrawTriangleArray();
diff --git a/plugins/zzogl-pg/opengl/ZZoglCreate.cpp b/plugins/zzogl-pg/opengl/ZZoglCreate.cpp
index e3b5af23c9..5d9ee071db 100644
--- a/plugins/zzogl-pg/opengl/ZZoglCreate.cpp
+++ b/plugins/zzogl-pg/opengl/ZZoglCreate.cpp
@@ -496,11 +496,6 @@ bool ZZCreate(int _width, int _height)
FB::Create();
- if (FB::buf == 0)
- {
- ZZLog::Error_Log("Failed to create the renderbuffer.");
- }
-
GL_REPORT_ERRORD();
FB::Bind();
@@ -803,7 +798,7 @@ bool ZZCreate(int _width, int _height)
}
else
{
- ZZLog::Debug_Log("In final init!");
+ ZZLog::Debug_Log("Error In final init!");
return false;
}
}
@@ -834,7 +829,10 @@ void ZZDestroy()
}
#ifdef GLSL4_API
- delete vertex_array;
+ if (vertex_array != NULL) {
+ delete vertex_array;
+ vertex_array = NULL;
+ }
#endif
g_nCurVBOIndex = 0;
@@ -878,6 +876,8 @@ void ZZDestroy()
safe_delete(font_p);
+ FB::Delete();
+
GLWin.ReleaseContext();
mapGLExtensions.clear();
diff --git a/plugins/zzogl-pg/opengl/ZZoglShaders.h b/plugins/zzogl-pg/opengl/ZZoglShaders.h
index a74a6480d2..f6e8be6af9 100644
--- a/plugins/zzogl-pg/opengl/ZZoglShaders.h
+++ b/plugins/zzogl-pg/opengl/ZZoglShaders.h
@@ -110,7 +110,9 @@ const ZZshParamInfo qZero = {ShName:"", type:ZZ_UNDEFINED, fvalue:{0}, sampler:
const ZZshShaderLink sZero = {link: NULL, isFragment: false};
inline bool ZZshActiveParameter(ZZshParameter param) {return (param > -1); }
+#ifndef GLSL4_API
#define SAFE_RELEASE_PROG(x) { /*don't know what to do*/ }
+#endif
// ---------------------------
@@ -351,11 +353,21 @@ struct SamplerParam {
assert(unit >= 0);
assert(unit < 11);
if (texid) {
+ // Unfortunately there is a nastly corner case
+ // 1/ Attach a texture to the unit
+ // 2/ delete the texture
+ // 3/ recreate a texture (with same id)
+ // 4/ => texture need to be reattached again...
+#if 0
if (g_current_texture_bind[unit] != texid) {
glActiveTexture(GL_TEXTURE0 + unit);
glBindTexture(target, texid);
g_current_texture_bind[unit] = texid;
}
+#else
+ glActiveTexture(GL_TEXTURE0 + unit);
+ glBindTexture(target, texid);
+#endif
}
}
@@ -616,7 +628,28 @@ struct VERTEXSHADER
bool IsDualContext(ZZshParameter param) { return false;}
void set_context(uint new_context) { context = new_context * NOCONTEXT;}
+
+ void release_prog() {
+ if(program) {
+ glDeleteProgram(program);
+ program = 0;
+ }
+ }
};
+#endif
+
+#ifdef GLSL4_API
+#define SAFE_RELEASE_PROG(x) { \
+ if ((x.link) != NULL) { \
+ if (x.isFragment) { \
+ FRAGMENTSHADER* shader = (FRAGMENTSHADER*)x.link; \
+ shader->release_prog(); \
+ } else { \
+ VERTEXSHADER* shader = (VERTEXSHADER*)x.link; \
+ shader->release_prog(); \
+ } \
+ } \
+}
#endif
extern VERTEXSHADER pvsBitBlt;
diff --git a/plugins/zzogl-pg/opengl/ZZoglShadersGLSL4.cpp b/plugins/zzogl-pg/opengl/ZZoglShadersGLSL4.cpp
index 5b9ab9c89d..ef2bd92b32 100644
--- a/plugins/zzogl-pg/opengl/ZZoglShadersGLSL4.cpp
+++ b/plugins/zzogl-pg/opengl/ZZoglShadersGLSL4.cpp
@@ -113,8 +113,6 @@ extern bool s_bWriteDepth;
const char* ShaderCallerName = "";
const char* ShaderHandleName = "";
-ZZshProgram CompiledPrograms[MAX_ACTIVE_SHADERS][MAX_ACTIVE_SHADERS] = {{0}};
-
// new for GLSL4
GSUniformBufferOGL *constant_buffer;
GSUniformBufferOGL *common_buffer;
@@ -124,7 +122,7 @@ static bool dirty_common_buffer = true;
static bool dirty_vertex_buffer = true;
static bool dirty_fragment_buffer = true;
-GSVertexBufferStateOGL *vertex_array;
+GSVertexBufferStateOGL *vertex_array = NULL;
COMMONSHADER g_cs;
static GLuint s_pipeline = 0;
@@ -227,6 +225,14 @@ void ZZshExitCleaning() {
delete vertex_buffer;
delete fragment_buffer;
+ dirty_fragment_buffer = true;
+ dirty_vertex_buffer = true;
+ dirty_common_buffer = true;
+ g_current_ps = 0;
+ g_current_vs = 0;
+ for (uint i = 0; i < 11; i++)
+ g_current_texture_bind[i] = 0;
+
glDeleteProgramPipelines(1, &s_pipeline);
}
diff --git a/plugins/zzogl-pg/opengl/ps2hw_gl4.glsl b/plugins/zzogl-pg/opengl/ps2hw_gl4.glsl
index 889f482067..f9e36e0902 100644
--- a/plugins/zzogl-pg/opengl/ps2hw_gl4.glsl
+++ b/plugins/zzogl-pg/opengl/ps2hw_gl4.glsl
@@ -334,7 +334,7 @@ float2 ps2addr(float2 coord)
half4 tex2DPS_32(float2 tex0)
{
- return texture(g_sMemory, ps2memcoord(tex0).xy);
+ return texture(g_sMemory, ps2memcoord(tex0));
}
// use when texture is not tiled -- shader 1
@@ -653,7 +653,7 @@ half4 BilinearBitBlt(float2 tex0)
}
void BitBltPS() {
- FragData0 = texture(g_sMemory, ps2memcoord(PSin.tex.xy).xy)*g_fOneColor.xxxy;
+ FragData0 = texture(g_sMemory, ps2memcoord(PSin.tex.xy))*g_fOneColor.xxxy;
}
// used when AA
@@ -719,7 +719,7 @@ void CRTCInterPS() {
// simpler
void CRTCInterPS_Nearest() {
float finter = texture(g_sInterlace, PSin.z.yy).x * g_fOneColor.z + g_fOneColor.w + g_fc0.w;
- half4 c = texture(g_sMemory, ps2memcoord(PSin.tex.xy).xy);
+ half4 c = texture(g_sMemory, ps2memcoord(PSin.tex.xy));
c.w = (c.w * g_fOneColor.x + g_fOneColor.y)*finter;
FragData0 = c;
}
@@ -733,7 +733,7 @@ void CRTCPS() {
// simpler
void CRTCPS_Nearest() {
- half4 c = texture(g_sMemory, ps2memcoord(PSin.tex.xy).xy);
+ half4 c = texture(g_sMemory, ps2memcoord(PSin.tex.xy));
c.w = c.w * g_fOneColor.x + g_fOneColor.y;
FragData0 = c;
}
@@ -742,14 +742,14 @@ void CRTC24InterPS() {
float finter = texture(g_sInterlace, PSin.z.yy).x * g_fOneColor.z + g_fOneColor.w + g_fc0.w;
float2 filtcoord = trunc(PSin.tex.xy) * g_fInvTexDims.xy + g_fInvTexDims.zw;
- half4 c = texture(g_sMemory, ps2memcoord(filtcoord).xy);
+ half4 c = texture(g_sMemory, ps2memcoord(filtcoord));
c.w = (c.w * g_fOneColor.x + g_fOneColor.y)*finter;
FragData0 = c;
}
void CRTC24PS() {
float2 filtcoord = trunc(PSin.tex.xy) * g_fInvTexDims.xy + g_fInvTexDims.zw;
- half4 c = texture(g_sMemory, ps2memcoord(filtcoord).xy);
+ half4 c = texture(g_sMemory, ps2memcoord(filtcoord));
c.w = c.w * g_fOneColor.x + g_fOneColor.y;
FragData0 = c;
}
@@ -763,7 +763,7 @@ void ZeroDebugPS() {
}
void ZeroDebug2PS() {
- vec2 xy = ps2memcoord(fract(PSin.tex.xy/PSin.tex.z)).xy * vec2(1/4096.0f, 1/48.0f);
+ vec2 xy = ps2memcoord(fract(PSin.tex.xy/PSin.tex.z)) * vec2(1/4096.0f, 1/48.0f);
FragData0 = vec4(xy.x, xy.y, 0.0, 0.5);
}