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); }