diff --git a/Core/HLE/sceGe.cpp b/Core/HLE/sceGe.cpp index a044b6f0e9..203d014a41 100644 --- a/Core/HLE/sceGe.cpp +++ b/Core/HLE/sceGe.cpp @@ -103,8 +103,9 @@ public: ge_pending_cb.pop_front(); gpu->InterruptEnd(intrdata.listid); + // Seen in GoW. if (subintr >= 0) - WARN_LOG(HLE, "Ignoring interrupt for display list %d, already been released.", intrdata.listid); + DEBUG_LOG(HLE, "Ignoring interrupt for display list %d, already been released.", intrdata.listid); return false; } diff --git a/GPU/GLES/TransformPipeline.cpp b/GPU/GLES/TransformPipeline.cpp index 96cea5f6ec..d172b9ecd5 100644 --- a/GPU/GLES/TransformPipeline.cpp +++ b/GPU/GLES/TransformPipeline.cpp @@ -929,13 +929,14 @@ void TransformDrawEngine::DecodeVerts() { } } + int vertexCount = indexUpperBound - indexLowerBound + 1; // 3. Decode that range of vertex data. dec_->DecodeVerts(decoded + collectedVerts * (int)dec_->GetDecVtxFmt().stride, dc.verts, indexLowerBound, indexUpperBound); - collectedVerts += indexUpperBound - indexLowerBound + 1; + collectedVerts += vertexCount; // 4. Advance indexgen vertex counter. - indexGen.Advance(indexUpperBound - indexLowerBound + 1); + indexGen.Advance(vertexCount); i = lastMatch; } } @@ -1215,6 +1216,9 @@ rotateVBO: DecodeVerts(); gpuStats.numUncachedVertsDrawn += indexGen.VertexCount(); prim = indexGen.Prim(); + // Undo the strip optimization, not supported by the SW code yet. + if (prim == GE_PRIM_TRIANGLE_STRIP) + prim = GE_PRIM_TRIANGLES; DEBUG_LOG(G3D, "Flush prim %i SW! %i verts in one go", prim, indexGen.VertexCount()); SoftwareTransformAndDraw( diff --git a/GPU/GPUCommon.cpp b/GPU/GPUCommon.cpp index 437ce96f7b..91ec78786b 100644 --- a/GPU/GPUCommon.cpp +++ b/GPU/GPUCommon.cpp @@ -367,7 +367,6 @@ bool GPUCommon::InterpretList(DisplayList &list) double start = time_now_d(); currentList = &list; u32 op = 0; - prev = 0; gpuState = GPUSTATE_RUNNING; // I don't know if this is the correct place to zero this, but something @@ -390,6 +389,7 @@ bool GPUCommon::InterpretList(DisplayList &list) list.state = PSP_GE_DL_STATE_RUNNING; list.interrupted = false; + const bool dumpThisFrame = dumpThisFrame_; while (gpuState == GPUSTATE_RUNNING) { if (list.pc == list.stall) @@ -410,8 +410,9 @@ bool GPUCommon::InterpretList(DisplayList &list) u32 diff = op ^ gstate.cmdmem[cmd]; PreExecuteOp(op, diff); // TODO: Add a compiler flag to remove stuff like this at very-final build time. - if (dumpThisFrame_) { + if (dumpThisFrame) { char temp[256]; + u32 prev = Memory::ReadUnchecked_U32(list.pc - 4); GeDisassembleOp(list.pc, op, prev, temp); NOTICE_LOG(HLE, "%s", temp); } @@ -420,7 +421,6 @@ bool GPUCommon::InterpretList(DisplayList &list) ExecuteOp(op, diff); list.pc += 4; - prev = op; } UpdateCycles(list.pc - 4, list.pc); @@ -549,7 +549,8 @@ void GPUCommon::ExecuteOp(u32 op, u32 diff) { // Processed in GE_END. break; - case GE_CMD_END: + case GE_CMD_END: { + u32 prev = Memory::ReadUnchecked_U32(currentList->pc - 4); UpdateCycles(currentList->pc); switch (prev >> 24) { case GE_CMD_SIGNAL: @@ -675,6 +676,7 @@ void GPUCommon::ExecuteOp(u32 op, u32 diff) { break; } break; + } default: DEBUG_LOG(G3D,"DL Unknown: %08x @ %08x", op, currentList == NULL ? 0 : currentList->pc); @@ -697,6 +699,7 @@ void GPUCommon::DoState(PointerWrap &p) { currentList = &dls[currentID]; } p.Do(interruptRunning); + u32 prev; // TODO: kill. just didn't want to break states right now... p.Do(prev); p.Do(gpuState); p.Do(isbreak); diff --git a/GPU/GPUCommon.h b/GPU/GPUCommon.h index 0933f75129..89e38ad31b 100644 --- a/GPU/GPUCommon.h +++ b/GPU/GPUCommon.h @@ -41,7 +41,6 @@ protected: DisplayListQueue dlQueue; bool interruptRunning; - u32 prev; GPUState gpuState; bool isbreak; u64 drawCompleteTicks; diff --git a/UI/MenuScreens.cpp b/UI/MenuScreens.cpp index b778e005cb..031d00bd2d 100644 --- a/UI/MenuScreens.cpp +++ b/UI/MenuScreens.cpp @@ -291,11 +291,15 @@ void MenuScreen::render() { color = whiteAlpha(ease((time_now_d() - ginfo->timeIconWasLoaded) * 2)); } if (UITextureButton(ctx, (int)GEN_ID_LOOP(i), vgrid_recent, textureButtonWidth, textureButtonHeight, ginfo->iconTexture, ALIGN_LEFT, color, I_DROP_SHADOW)) { + UIEnd(); screenManager()->switchScreen(new EmuScreen(g_Config.recentIsos[i])); + return; } } else { if (UIButton((int)GEN_ID_LOOP(i), vgrid_recent, textureButtonWidth, textureButtonHeight, filename.c_str(), ALIGN_LEFT)) { + UIEnd(); screenManager()->switchScreen(new EmuScreen(g_Config.recentIsos[i])); + return; } } } @@ -900,8 +904,9 @@ void FileSelectScreen::render() { ILOG("Selected: %i : %s", list_.selected, boot_filename.c_str()); list_.selected = -1; g_Config.Save(); - + UIEnd(); screenManager()->switchScreen(new EmuScreen(boot_filename)); + return; } } diff --git a/UI/UIShader.cpp b/UI/UIShader.cpp index 098168ff2e..8401ce292c 100644 --- a/UI/UIShader.cpp +++ b/UI/UIShader.cpp @@ -99,6 +99,7 @@ void UIShader_Prepare() glstate.blend.enable(); glstate.blendFunc.set(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glstate.blendEquation.set(GL_FUNC_ADD); glstate.depthWrite.set(GL_TRUE); glstate.colorMask.set(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); diff --git a/lang/es_LA.ini b/lang/es_LA.ini new file mode 100644 index 0000000000..fa8ffe7756 --- /dev/null +++ b/lang/es_LA.ini @@ -0,0 +1,84 @@ +[MainMenu] +Load = Cargar +Settings = Configuración +Credits = Créditos +Exit = Salir +Recent = Recientes +[System] +Language = Lenguaje +System Settings = Config. del systema +Dynarec = Dynarec (JIT) +Fast Memory = Fast Memory (inestable) +Show Debug Statistics = Mostrar est. de depuración +Show FPS = Mostrar FPS +Encrypt Save = Cifrar Guardado +12HR Time Format = Formato 12HR +[Graphics] +Stretch to Display = Estrechar a la pantalla +Hardware Transform = Transformar Hardware +Buffered Rendering = Buffered Rendering +Frame Skipping = Salto de Frames +Media Engine = Motor MultiMedia +Graphics Settings = Config. Gráfica +Vertex Cache = Vertex Cache +Stream VBO = Stream VBO +Linear Filtering = Filtro Linear +Mipmapping = Mipmapping +2x = 2x Doblado de Resolución +Draw Wireframe = Draw Wireframe +[Pause] +Save State = Grabar Estado +Load State = Cargar Estado +Continue = Continuar +Settings = Configuración +Back to Menu = Volver al menú +[MainSettings] +Settings = Configuración +Audio = Audio +AudioDesc = Ajustar Config. Sonora +Graphics = Gráficos +GraphicsDesc = Ajustar Opciones Gráficas +System = Systema +SystemDesc = Encender Dynarec (JIT), Fast Memory +Controls = Controles +ControlsDesc = Controles en pantalla, Botones Grandes +Developer = Desarollo +DeveloperDesc = Opciones de desarrollo +[Developer] +Developer Tools = Herramientas de Desarrollo +Load language ini = Cargar lenguaje ini +Save language ini = Guardar lenguaje ini +Run CPU tests = Realizar tests de CPU +Dump frame to log = Dump frame to log +[Audio] +Audio Settings = Config. Sonora +Enable Sound = Activar Sonido +[Controls] +Controls Settings = Config. de Controles +OnScreen = Controles en pantalla +Large Controls = Botones Grandes +Show Analog Stick = Mostrar Palanca Análoga +Tilt = Inclinación Análoga (horizontal) +[General] +Back = Atras +Up = Arriba +[Dialog] +Back = Atras +Yes = Si +No = No +Enter = Confirmar +Select = Seleccionar +Delete = Borrar +Start = Comenzar +Finish = Terminar +Shift = Shift +New Save = Nuevos datos +Do you want to overwrite the data? = ¿Quiere reemplazar estos datos? +Saving = Grabando\nPor Favor espere... +Save completed = Grabado terminado +Loading = Cargando\nPor favor espere... +Load completed = Cargado terminado +There is no data = No hay datos +DeleteConfirm = Estos datos seran borrados.\n¿Está seguro/a qué quiere continuar? +Deleting = Borrando\nPor favor espere... +Delete completed = Borrado terminado diff --git a/lang/it_IT.ini b/lang/it_IT.ini index 3de128ae9d..9427d12850 100644 --- a/lang/it_IT.ini +++ b/lang/it_IT.ini @@ -1,59 +1,85 @@ [MainMenu] -Credits = Crediti -Exit = Uscita Load = Carica... Settings = Impostazioni +Credits = Crediti +Exit = Uscita Recent = Recente -[Developer] -Dump frame to log = Registra frame nel log -Load language ini = Carica ini del linguaggio -Run CPU tests = Inizia test CPU -Save language ini = Salva ini del linguaggio -Developer Tools = Strumenti Sviluppatori -[General] -Back = Torna -[MainSettings] -Audio = Audio -AudioDesc = Regola Impostazioni Audio -Controls = Controlli -ControlsDesc = Comandi Sullo Schermo, Pulsanti Larghi -Developer = Sviluppatore -DeveloperDesc = Avvia Test CPU, Registra Log Frame Successivo -Graphics = Grafica -GraphicsDesc = Cambia Impostazioni Grafiche -Settings = Impostazioni -System = Sistema -SystemDesc = Attiva Dynarec (JIT), Fast Memory [System] +Language = Lingua +System Settings = Impostazioni Sistema Dynarec = Dynarec (JIT) Fast Memory = Fast Memory (instabile) Show Debug Statistics = Mostra Statistiche Debug Show FPS = Mostra FPS +Button X is Enter = Il tasto X è Enter Encrypt Save = Salvataggio Criptato 12HR Time Format = Sistema Orario 12 Ore -System Settings = Impostazioni Sistema +[Graphics] +Stretch to Display = Adatta allo Schermo +Hardware Transform = Trasformazione Hardware +Buffered Rendering = Rendering a Tratti +Frame Skipping = Salto Frame +Media Engine = Media Engine +Graphics Settings = Impostazioni Grafiche +Vertex Cache = Cache Vertex +Stream VBO = Flusso VBO +Linear Filtering = Filtraggio Lineare +Mipmapping = Mipmapping +2X = 2x Risoluzione Render +Draw Wireframe = Mostra Wireframe (sperimentale) +[Pause] +Save State = Salva Stato +Load State = Carica Stato +Continue = Continua +Settings = Impostazioni +Back to Menu = Torna al Menu +[MainSettings] +Settings = Impostazioni +Audio = Audio +AudioDesc = Regola Impostazioni Audio +Graphics = Grafica +GraphicsDesc = Cambia Impostazioni Grafiche +System = Sistema +SystemDesc = Attiva Dynarec (JIT), Fast Memory +Controls = Controlli +ControlsDesc = Comandi Sullo Schermo, Pulsanti Larghi +Developer = Sviluppatore +DeveloperDesc = Test CPU, Crea Log Frame Successivo +[Developer] +Developer Tools = Strumenti Sviluppatori +Load language ini = Carica ini del linguaggio +Save language ini = Salva ini del linguaggio +Run CPU tests = Fai test CPU +Dump frame to log = Registra frame nel log [Audio] Audio Settings = Impostazioni Audio Enable Sound = Attiva Suono [Controls] Controls Settings = Impostazioni Controlli OnScreen = Comandi Tattili Sullo Schermo +Large Controls = Comandi Larghi +Show Analog Stick = Mostra Stick Analogico Tilt = Inclina ad Analogico (orizzontale) -[Graphics] -Draw Wireframe = Mostra Wireframe -2X = 2x Risoluzione Render -Buffered Rendering = Rendering a Tratti -Frame Skipping = Salto Frame -Graphics Settings = Impostazioni Grafiche -Hardware Transform = Trasformazione Hardware -Linear Filtering = Filtraggio Lineare -Media Engine = Media Engine -Mipmapping = Mipmapping -Stream VBO = Flusso VBO -Vertex Cache = Cache Vertex -Stretch to Display = Allarga allo Schermo -[Pause] -Back to Menu = Torna al Menu -Continue = Continua -Load State = Carica Stato -Save State = Salva Stato +[General] +Back = Torna +Up = Su +[Dialog] +Back = Torna +Yes = Si +No = No +Enter = Entra +Select = Seleziona +Delete = Elimina +Start = Inizia +Finish = Fine +Shift = Cambio +New Save = Nuovo Salvataggio +Do you want to overwrite the data? = Vuoi sovrascrivere i dati? +Saving = Salvataggio\nAttendere... +Save completed = Salvataggio completato +Loading = Caricamento\nAttendere... +Load completed = Caricamento completato +There is no data = Non ci sono dati +DeleteConfirm = Questo salvataggio sara eliminato.\nSiete sicuri di voler continuare? +Deleting = Eliminazione\nAttendere... +Delete completed = Eliminazione completata diff --git a/lang/nl_NL.ini b/lang/nl_NL.ini index 09dd59ccfc..e56c338f6c 100644 --- a/lang/nl_NL.ini +++ b/lang/nl_NL.ini @@ -1,84 +1,84 @@ [MainMenu] -Credits = Credits -Exit = Afsluiten Load = Laden... Settings = Instellingen -Recent = Recent gespeeld +Credits = Credits +Exit = Afsluiten +Recent = Recent +[System] +Language = Taal +System Settings = Systeeminstellingen +Dynarec = Dynarec (JIT) +Fast Memory = Fast Memory (onstabiel) +Show Debug Statistics = Debugstatistieken tonen +Show FPS = FPS tonen +Encrypt Save = Opslagdata versleutelen +12HR Time Format = 12-uur tijdsformaat +[Graphics] +Stretch to Display = Uitrekken naar scherm +Hardware Transform = Hardwaretransformatie +Buffered Rendering = Gebufferd renderen +Frame Skipping = Frames overslaan +Media Engine = Media-engine +Graphics Settings = Grafische instellingen +Vertex Cache = Vertex Cache +Stream VBO = VBO streamen +Linear Filtering = Lineaire filter +Mipmapping = Mipmapping +2X = Renderresolutie x2 +Draw Wireframe = Draadmodel tekenen +[Pause] +Save State = Opslagpunt opslaan +Load State = Opslagpunt laden +Continue = Doorgaan +Settings = Instellingen +Back to Menu = Terug naar menu +[MainSettings] +Settings = Instellingen +Audio = Geluid +AudioDesc = Pas de geluidsinstellingen aan +Graphics = Grafisch +GraphicsDesc = Pas de grafische instellingen aan +System = Systeem +SystemDesc = Zet Dynarec (JIT) aan, Fast Memory +Controls = Besturing +ControlsDesc = Schermbesturing, grote knoppen +Developer = Ontwikkelaar +DeveloperDesc = Voer CPU-test uit, plaats frame in log [Developer] -Dump frame to log = Dump beeld naar log -Load language ini = Laad taal ini -Run CPU tests = Begin CPU testen -Save language ini = Sla taal ini op -Developer Tools = Ontwikkelaars tools +Developer Tools = Ontwikkelaarsopties +Load language ini = Taal-ini laden +Save language ini = Taal-ini opslaan +Run CPU tests = CPU-testen uitvoeren +Dump frame to log = Frame in logboek plaatsen +[Audio] +Audio Settings = Geluidsinstellingen +Enable Sound = Geluid inschakelen +[Controls] +Controls Settings = Besturingsinstellingen +OnScreen = Aanraakbesturing op het scherm +Large Controls = Grote knoppen +Show Analog Stick = Analoge stick tonen +Tilt = Kantelen voor analoge besturing (horizontaal) [General] Back = Terug Up = Omhoog -[MainSettings] -Audio = Geluid -AudioDesc = Pas geluidsinstellingen aan -Controls = Besturing -ControlsDesc = Besturing op scherm, Grote knoppen -Developer = Ontwikkelaar -DeveloperDesc = Begin CPU testen, Dump beeld naar log -Graphics = Beeld -GraphicsDesc = Pas beeldinstellingen aan -Settings = Instellingen -System = Systeem -SystemDesc = Zet dynarec(JIT) aan, Snel geheugen -[System] -Dynarec = Dynarec (JIT) -Fast Memory = Snel geheugen (onstabiel) -Show Debug Statistics = Toon debug statistieken -Show FPS = Toon FPS -System Settings = Systeem instellingen -Language = Taal -Encrypt Save = Encrypteer savefile -12HR Time Format = 12uur Tijdsformaat -[Audio] -Audio Settings = Geluidsinstellingen -Enable Sound = Zet geluid uit/aan -[Controls] -Controls Settings = Besturingsinstellingen -OnScreen = Aanraak besturing op scherm -Tilt = Tillen voor analoge besturing (horizontaal) -Large Controls = Grote knoppen -Show Analog Stick = Toon Analog Stick -[Graphics] -2X = 2x Render Resolutie -Buffered Rendering = Gebufferde rendering -Frame Skipping = Beelden overslaan -Graphics Settings = Beeldinstellingen -Hardware Transform = Hardware transformatie -Linear Filtering = Lineaire filtering -Media Engine = Media Engine -Mipmapping = Mipmapping -Stream VBO = Stream VBO -Vertex Cache = Vertex Cache -Stretch to Display = Uitrekken tot beeldscherm -Draw Wireframe = Teken Wireframe -[Pause] -Back to Menu = Terug naar menu -Continue = Verder -Load State = Laad staat -Save State = Sla staat op -Settings = Instellingen [Dialog] -New Save = Nieuwe save -Yes = Ja -No = Neen -Enter = Enter Back = Terug -Do you want to overwrite the data? = Wil je de data overschrijven? -Saving = Opslaan\nWachten aub... -Save completed = Opslaan voltooid -Loading = Laden\nWachten aub... -There is no data = Er is geen data -DeleteConfirm = Deze save data zal worden verwijderd.\nBen je zeker dat je wil doorgaan? -Deleting = Verwijderen\nWachten aub... -Delete completed = Verwijderen voltooid -Load completed = Laden voltooid +Yes = Ja +No = Nee +Enter = Bevestigen +Select = Selecteren Delete = Verwijderen -Finish = Beëindigen -Select = Selecteer Start = Start +Finish = Voltooien Shift = Shift +New Save = Nieuwe data +Do you want to overwrite the data? = Wilt u de data overschrijven? +Saving = Bezig met opslaan...\nEen ogenblik geduld. +Save completed = Het opslaan is voltooid. +Loading = Bezig met laden...\nEen ogenblik geduld. +Load completed = Het laden is voltooid. +There is no data = Er zijn geen gegevens. +DeleteConfirm = De data zal worden verwijderd.\nWeet u zeker dat u wilt doorgaan? +Deleting = Verwijderen\nEen ogenblik geduld... +Delete completed = Het verwijderen is voltooid. diff --git a/native b/native index 7af60ebd51..0e96cfaa99 160000 --- a/native +++ b/native @@ -1 +1 @@ -Subproject commit 7af60ebd51d7cb33698490e9fd23d5c926f9291d +Subproject commit 0e96cfaa99d49d8161a0f26f1cc1fd5207dcf27f