adding a real ui for the tile viewer

This commit is contained in:
Clément Le Bihan
2021-05-26 00:44:37 +02:00
parent 19ca618857
commit 85ac1422e2
4 changed files with 114 additions and 47 deletions
+2 -1
View File
@@ -37,6 +37,8 @@ namespace ComSquare::Debugger
int nbTilesDrawn = 0;
int resetX = bufX;
int it = 0;
for (auto &i : buffer)
i.fill(0);
for (uint24_t i = 0; i < fmin(this->_ram->getSize(), this->_renderSize); i += 2, it++) {
if (bufX > 128 || bufY > 128)
@@ -50,7 +52,6 @@ namespace ComSquare::Debugger
}
if (nbTilesDrawn && nbTilesDrawn % this->_nbColumns == 0) {
nbTilesDrawn = 0;
//break;
resetX = this->_offsetX;
bufX = resetX;
bufY += PPU::Tile::NbPixelsHeight;
+3 -2
View File
@@ -23,14 +23,15 @@ namespace ComSquare::Debugger
: _window(new ClosableWindow<TileViewer>(*this, &TileViewer::disableViewer)),
_snes(snes),
_ui(),
_ppu(ppu)
_ppu(ppu),
_tileRenderer()
{
this->_window->setContextMenuPolicy(Qt::NoContextMenu);
this->_window->setAttribute(Qt::WA_QuitOnClose, false);
this->_window->setAttribute(Qt::WA_DeleteOnClose);
this->_ui.setupUi(this->_window);
this->_sfWidget = std::make_unique<Renderer::QtSFML>(this->_ui.tab);
//this->_sfWidget = std::make_unique<Renderer::QtSFML>(this->_ui.tab);
this->_window->show();
QEvent::registerEventType();
}
+4 -2
View File
@@ -18,7 +18,7 @@ namespace ComSquare::PPU
#include "Renderer/QtRenderer/QtSFML.hpp"
#include "../../../ui/ui_tileView.h"
#include "Ram/Ram.hpp"
#include "TileRenderer.hpp"
namespace ComSquare::Debugger
{
@@ -35,7 +35,9 @@ namespace ComSquare::Debugger
//! @brief A reference to the ppu
ComSquare::PPU::PPU &_ppu;
//! @brief the window
std::unique_ptr<Renderer::QtSFML> _sfWidget;
//std::unique_ptr<Renderer::QtSFML> _sfWidget;
TileRenderer _tileRenderer;
public:
//! @brief Called when the window is closed. Turn off the debugger.
void disableViewer();
+105 -42
View File
@@ -20,50 +20,113 @@
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<property name="tabsClosable">
<bool>false</bool>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>my truc</string>
</attribute>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Tab 2</string>
</attribute>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>250</x>
<y>170</y>
<width>83</width>
<height>25</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>PushButton</string>
<string>SFML window here :)</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_2">
<property name="geometry">
<rect>
<x>150</x>
<y>160</y>
<width>83</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</widget>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Address</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="Address"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>SIze (bytes)</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="ByteSize">
<property name="enabled">
<bool>true</bool>
</property>
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>5000</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Columns</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSpinBox" name="NbColumns">
<property name="specialValueText">
<string/>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>16</number>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Format</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QComboBox" name="BppFormat">
<property name="currentText">
<string>2 bpp</string>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<property name="placeholderText">
<string>hjhu</string>
</property>
<property name="frame">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>2 bpp</string>
</property>
</item>
<item>
<property name="text">
<string>4 bpp</string>
</property>
</item>
<item>
<property name="text">
<string>8 bpp</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout"/>
</item>
</layout>
</item>
</layout>
</widget>
@@ -73,7 +136,7 @@
<x>0</x>
<y>0</y>
<width>577</width>
<height>27</height>
<height>24</height>
</rect>
</property>
</widget>