palAct->setCheckable(true);
connect(palAct, SIGNAL(triggered()), this, SLOT(SetPAL()));
- blurAct = new QAction(QIcon(":/res/generic.png"), tr("Blur"), this);
+ blurAct = new QAction(QIcon(":/res/blur.png"), tr("Blur"), this);
blurAct->setStatusTip(tr("Sets OpenGL rendering to GL_NEAREST"));
blurAct->setCheckable(true);
connect(blurAct, SIGNAL(triggered()), this, SLOT(ToggleBlur()));
frameAdvanceAct->setShortcut(QKeySequence(tr("F7")));
connect(frameAdvanceAct, SIGNAL(triggered()), this, SLOT(FrameAdvance()));
- fullScreenAct = new QAction(QIcon(":/res/generic.png"), tr("F&ull Screen"), this);
+ fullScreenAct = new QAction(QIcon(":/res/fullscreen.png"), tr("F&ull Screen"), this);
fullScreenAct->setShortcut(QKeySequence(tr("F9")));
+ fullScreenAct->setCheckable(true);
connect(fullScreenAct, SIGNAL(triggered()), this, SLOT(ToggleFullScreen()));
// Debugger Actions
- memBrowseAct = new QAction(QIcon(":/res/generic.png"), tr("Memory Browser"), this);
+ memBrowseAct = new QAction(QIcon(":/res/tool-memory.png"), tr("Memory Browser"), this);
memBrowseAct->setStatusTip(tr("Shows the Jaguar memory browser window"));
// memBrowseAct->setCheckable(true);
connect(memBrowseAct, SIGNAL(triggered()), this, SLOT(ShowMemoryBrowserWin()));
- cpuBrowseAct = new QAction(QIcon(":/res/generic.png"), tr("CPU Browser"), this);
+ cpuBrowseAct = new QAction(QIcon(":/res/tool-cpu.png"), tr("CPU Browser"), this);
cpuBrowseAct->setStatusTip(tr("Shows the Jaguar CPU browser window"));
// memBrowseAct->setCheckable(true);
connect(cpuBrowseAct, SIGNAL(triggered()), this, SLOT(ShowCPUBrowserWin()));
- opBrowseAct = new QAction(QIcon(":/res/generic.png"), tr("OP Browser"), this);
+ opBrowseAct = new QAction(QIcon(":/res/tool-op.png"), tr("OP Browser"), this);
opBrowseAct->setStatusTip(tr("Shows the Jaguar OP browser window"));
// memBrowseAct->setCheckable(true);
connect(opBrowseAct, SIGNAL(triggered()), this, SLOT(ShowOPBrowserWin()));
- m68kDasmBrowseAct = new QAction(QIcon(":/res/generic.png"), tr("68K Listing Browser"), this);
+ m68kDasmBrowseAct = new QAction(QIcon(":/res/tool-68k-dis.png"), tr("68K Listing Browser"), this);
m68kDasmBrowseAct->setStatusTip(tr("Shows the 68K disassembly browser window"));
// memBrowseAct->setCheckable(true);
connect(m68kDasmBrowseAct, SIGNAL(triggered()), this, SLOT(ShowM68KDasmBrowserWin()));
- riscDasmBrowseAct = new QAction(QIcon(":/res/generic.png"), tr("RISC Listing Browser"), this);
+ riscDasmBrowseAct = new QAction(QIcon(":/res/tool-risc-dis.png"), tr("RISC Listing Browser"), this);
riscDasmBrowseAct->setStatusTip(tr("Shows the RISC disassembly browser window"));
// memBrowseAct->setCheckable(true);
connect(riscDasmBrowseAct, SIGNAL(triggered()), this, SLOT(ShowRISCDasmBrowserWin()));
// Some machines can't handle this, so we give them the option to disable it. :-)
if (!plzDontKillMyComputer)
{
- // Random hash & trash
- // We try to simulate an untuned tank circuit here... :-)
- for(uint32_t x=0; x<videoWidget->rasterWidth; x++)
- {
- for(uint32_t y=0; y<videoWidget->rasterHeight; y++)
+ // Random hash & trash
+ // We try to simulate an untuned tank circuit here... :-)
+ for(uint32_t x=0; x<videoWidget->rasterWidth; x++)
{
- videoWidget->buffer[(y * videoWidget->textureWidth) + x]
- = (rand() & 0xFF) << 8 | (rand() & 0xFF) << 16 | (rand() & 0xFF) << 24;
+ for(uint32_t y=0; y<videoWidget->rasterHeight; y++)
+ {
+ videoWidget->buffer[(y * videoWidget->textureWidth) + x]
+ = (rand() & 0xFF) << 8 | (rand() & 0xFF) << 16 | (rand() & 0xFF) << 24;
+ }
}
}
- }
}
else
{
showUntunedTankCircuit = true;
// This is just in case the ROM we were playing was in a narrow or wide field mode,
// so the untuned tank sim doesn't look wrong. :-)
+ DACPauseAudioThread();
TOMReset();
}
else
WriteLog("GUI: Resetting Jaguar...\n");
JaguarReset();
+ DACPauseAudioThread(false);
}
}
videoWidget->updateGL();
}
+
+ // Pause/unpause any running/non-running threads...
+ DACPauseAudioThread(!running);
}
// NOTE: Really should check here to see which dimension constrains the other.
// Right now, we assume that height is the constraint.
int newWidth = (int)(aspectRatio * (double)r.height());
+ videoWidget->offset = (r.width() - newWidth) / 2;
+ videoWidget->fullscreen = true;
+ videoWidget->outputWidth = newWidth;
- videoWidget->setFixedSize(newWidth, r.height());
+// videoWidget->setFixedSize(newWidth, r.height());
+ videoWidget->setFixedSize(r.width(), r.height());
showFullScreen();
}
else
{
+ // Reset the video widget to windowed mode
+ videoWidget->offset = 0;
+ videoWidget->fullscreen = false;
menuBar()->show();
statusBar()->show();
showNormal();