mirror of
https://github.com/mkwong98/HDNes.git
synced 2024-05-10 16:45:24 -04:00
Improve screen tiles listing
Add option to show all tiles on the screen. Show screen shot name for unmatched tiles when All is selected
This commit is contained in:
parent
91141c5bb5
commit
5829aa53fb
|
@ -488,6 +488,11 @@ void fraHDNesImp::loadImage(){
|
|||
delete objDC;
|
||||
}
|
||||
|
||||
void fraHDNesImp::toggleShowAllTiles( wxCommandEvent& event ){
|
||||
loadScreenTiles();
|
||||
}
|
||||
|
||||
|
||||
void fraHDNesImp::loadScreenTiles(){
|
||||
bitmapE b;
|
||||
bitmapF c;
|
||||
|
@ -502,31 +507,51 @@ void fraHDNesImp::loadScreenTiles(){
|
|||
}
|
||||
|
||||
for(unsigned int i = 0; i < vid->packSize; i++){
|
||||
if(vid->editData[i] != BAD_ADDRESS){
|
||||
for(unsigned int j = 0; j < vid->etiledata[vid->editData[i]].bitmapP.size(); j++){
|
||||
if((vid->etiledata[vid->editData[i]].bitmapP[j].bitmapID == cboScreen->GetSelection()) || (cboScreen->GetSelection() == (cboScreen->GetCount() - 1))){
|
||||
c = vid->etiledata[vid->editData[i]].bitmapP[j];
|
||||
b.bitmapID = c.bitmapID;
|
||||
b.colors = c.colors;
|
||||
b.rawDat = c.rawDat;
|
||||
b.patternAddress = vid->etiledata[vid->editData[i]].patternAddress;
|
||||
b.x = c.x;
|
||||
b.y = c.y;
|
||||
b.brightness = c.brightness;
|
||||
v.push_back(b);
|
||||
if(chkShowAllTiles->GetValue() && (cboScreen->GetSelection() != (cboScreen->GetCount() - 1))){
|
||||
if(vid->allEditData[i] != BAD_ADDRESS){
|
||||
for(unsigned int j = 0; j < vid->allEtiledata[vid->allEditData[i]].bitmapP.size(); j++){
|
||||
if(vid->allEtiledata[vid->allEditData[i]].bitmapP[j].bitmapID == cboScreen->GetSelection()){
|
||||
c = vid->allEtiledata[vid->allEditData[i]].bitmapP[j];
|
||||
b.bitmapID = c.bitmapID;
|
||||
b.colors = c.colors;
|
||||
b.rawDat = c.rawDat;
|
||||
b.patternAddress = vid->allEtiledata[vid->allEditData[i]].patternAddress;
|
||||
b.x = c.x;
|
||||
b.y = c.y;
|
||||
b.brightness = c.brightness;
|
||||
v.push_back(b);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(vid->editData[i] != BAD_ADDRESS){
|
||||
for(unsigned int j = 0; j < vid->etiledata[vid->editData[i]].bitmapP.size(); j++){
|
||||
if((vid->etiledata[vid->editData[i]].bitmapP[j].bitmapID == cboScreen->GetSelection()) || (cboScreen->GetSelection() == (cboScreen->GetCount() - 1))){
|
||||
c = vid->etiledata[vid->editData[i]].bitmapP[j];
|
||||
b.bitmapID = c.bitmapID;
|
||||
b.colors = c.colors;
|
||||
b.rawDat = c.rawDat;
|
||||
b.patternAddress = vid->etiledata[vid->editData[i]].patternAddress;
|
||||
b.x = c.x;
|
||||
b.y = c.y;
|
||||
b.brightness = c.brightness;
|
||||
v.push_back(b);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(v.size() > 0){
|
||||
screenTileCache = (bitmapE*)malloc(v.size() * sizeof(bitmapE));
|
||||
for(unsigned int i = 0; i < v.size(); i++){
|
||||
bool tileFound = false;
|
||||
screenTileCache[i] = v[i];
|
||||
tiledisplay = to_string((long double)(screenTileCache[i].patternAddress)) + "," + vid->GetPaletteString(screenTileCache[i].colors);
|
||||
//check for custom tile
|
||||
if(vid->packData[v[i].patternAddress] != BAD_ADDRESS){
|
||||
TileData t = vid->tdata[vid->packData[v[i].patternAddress]];
|
||||
bool tileFound = false;
|
||||
for(unsigned int j = 0; j < t.bitmapP.size(); j++){
|
||||
if(t.bitmapP[j].colors.colorValues == v[i].colors.colorValues){
|
||||
if(romDat->chrPageCount > 0){
|
||||
|
@ -544,10 +569,16 @@ void fraHDNesImp::loadScreenTiles(){
|
|||
}
|
||||
}
|
||||
}
|
||||
if(t.defaultID != -1 && !tileFound){
|
||||
tiledisplay = tiledisplay + "-> Using default";
|
||||
if(!tileFound){
|
||||
if(t.defaultID != -1){
|
||||
tiledisplay = tiledisplay + "-> Using default";
|
||||
tileFound = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!tileFound && cboScreen->GetSelection() == (cboScreen->GetCount() - 1)){
|
||||
tiledisplay = tiledisplay + " @ " + vid->screenFileNameList[v[i].bitmapID];
|
||||
}
|
||||
lstScreenTiles->Append(wxString(tiledisplay.c_str(), wxConvUTF8), &screenTileCache[i]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,6 +79,8 @@ protected:
|
|||
void toggleAudioPack( wxCommandEvent& event );
|
||||
void removeImageFromPack( wxCommandEvent& event );
|
||||
void AddDarkMapping( wxCommandEvent& event );
|
||||
void toggleShowAllTiles( wxCommandEvent& event );
|
||||
|
||||
|
||||
public:
|
||||
fraHDNesImp();
|
||||
|
|
|
@ -663,6 +663,9 @@ fraHDNes::fraHDNes( wxWindow* parent, wxWindowID id, const wxString& title, cons
|
|||
optPackScale4 = new wxRadioButton( m_panel7, wxID_ANY, wxT("4x"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer39->Add( optPackScale4, 0, wxALL, 5 );
|
||||
|
||||
chkShowAllTiles = new wxCheckBox( m_panel7, wxID_ANY, wxT("Show all tiles in the screen shot"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer39->Add( chkShowAllTiles, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bSizer341->Add( bSizer39, 0, 0, 5 );
|
||||
|
||||
|
@ -1103,6 +1106,7 @@ fraHDNes::fraHDNes( wxWindow* parent, wxWindowID id, const wxString& title, cons
|
|||
optPackScale1->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( fraHDNes::setPackScale ), NULL, this );
|
||||
optPackScale2->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( fraHDNes::setPackScale ), NULL, this );
|
||||
optPackScale4->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( fraHDNes::setPackScale ), NULL, this );
|
||||
chkShowAllTiles->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( fraHDNes::toggleShowAllTiles ), NULL, this );
|
||||
cboScreen->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( fraHDNes::showScreenShot ), NULL, this );
|
||||
btnOptimizeScreenEdit->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( fraHDNes::optimizeScreenEdit ), NULL, this );
|
||||
lstScreenTiles->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( fraHDNes::screenTileSelected ), NULL, this );
|
||||
|
@ -1169,6 +1173,7 @@ fraHDNes::~fraHDNes()
|
|||
optPackScale1->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( fraHDNes::setPackScale ), NULL, this );
|
||||
optPackScale2->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( fraHDNes::setPackScale ), NULL, this );
|
||||
optPackScale4->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( fraHDNes::setPackScale ), NULL, this );
|
||||
chkShowAllTiles->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( fraHDNes::toggleShowAllTiles ), NULL, this );
|
||||
cboScreen->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( fraHDNes::showScreenShot ), NULL, this );
|
||||
btnOptimizeScreenEdit->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( fraHDNes::optimizeScreenEdit ), NULL, this );
|
||||
lstScreenTiles->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( fraHDNes::screenTileSelected ), NULL, this );
|
||||
|
|
|
@ -6975,11 +6975,11 @@
|
|||
<property name="name">bSizer341</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag"></property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer39</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
|
@ -7507,6 +7507,94 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Show all tiles in the screen shot</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">chkShowAllTiles</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnCheckBox">toggleShowAllTiles</event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
|
@ -8147,25 +8235,25 @@
|
|||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer33</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">4</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer36</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer37</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
|
@ -9779,11 +9867,11 @@
|
|||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer511</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
|
@ -9876,11 +9964,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="1">
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -9964,11 +10052,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="1">
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
|
|
@ -128,6 +128,7 @@ class fraHDNes : public wxFrame
|
|||
wxRadioButton* optPackScale1;
|
||||
wxRadioButton* optPackScale2;
|
||||
wxRadioButton* optPackScale4;
|
||||
wxCheckBox* chkShowAllTiles;
|
||||
wxStaticText* m_staticText25;
|
||||
wxChoice* cboScreen;
|
||||
wxButton* btnOptimizeScreenEdit;
|
||||
|
@ -228,6 +229,7 @@ class fraHDNes : public wxFrame
|
|||
virtual void loadPackData( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void savePackData( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void setPackScale( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void toggleShowAllTiles( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void showScreenShot( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void optimizeScreenEdit( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void screenTileSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
|
Loading…
Reference in a new issue