add feedback from bobToolz::patch operations fails

This commit is contained in:
Garux 2021-10-21 19:55:37 +03:00
parent 512d14736c
commit 03d3dfccad
2 changed files with 17 additions and 28 deletions

View File

@ -444,7 +444,7 @@ std::list<DPatch> DPatch::SplitCols(){
}
}
else {
//globalErrorStream() << "bobToolz SplitPatchRows: Patch has not enough rows for splitting.\n";
globalWarningStream() << "bobToolz SplitPatchCols: Patch has not enough columns for splitting.\n";
patchList.push_back( *this );
}
return patchList;
@ -476,6 +476,7 @@ std::list<DPatch> DPatch::SplitRows(){
}
else
{
globalWarningStream() << "bobToolz SplitPatchRows: Patch has not enough rows for splitting.\n";
patchList.push_back( *this );
}
return patchList;
@ -486,30 +487,20 @@ std::list<DPatch> DPatch::Split(){
if ( height >= 5 ) {
std::list<DPatch> patchColList = SplitCols();
for ( std::list<DPatch>::iterator patchesCol = patchColList.begin(); patchesCol != patchColList.end(); patchesCol++ )
{
if( width >= 5 ){
std::list<DPatch> patchRowList = ( *patchesCol ).SplitRows();
for ( std::list<DPatch>::iterator patchesRow = patchRowList.begin(); patchesRow != patchRowList.end(); patchesRow++ )
{
patchList.push_front( *patchesRow );
}
}
else{
patchList.push_front( *patchesCol );
}
if( width >= 5 ){
for( auto&& patchesCol : patchColList )
patchList.splice( patchList.cend(), patchesCol.SplitRows() );
}
else{
patchList.swap( patchColList );
}
}
else if ( width >= 5 ) {
std::list<DPatch> patchRowList = SplitRows();
for ( std::list<DPatch>::iterator patchesRow = patchRowList.begin(); patchesRow != patchRowList.end(); patchesRow++ )
{
patchList.push_front( *patchesRow );
}
patchList = SplitRows();
}
else
{
//globalErrorStream() << "bobToolz SplitPatchRows: Patch has not enough rows for splitting.\n";
globalWarningStream() << "bobToolz SplitPatch: Patch has not enough rows and columns for splitting.\n";
patchList.push_back( *this );
}
return patchList;

View File

@ -473,6 +473,7 @@ void DoMergePatches(){
delete newPatch;*/
if ( !newPatch ) {
globalErrorStream() << "bobToolz.mergePatch: Merge result would exceed max patch rows.\n";
}
else
{
@ -519,9 +520,8 @@ void DoSplitPatch() {
patch.LoadFromPatch( instance );
std::list<DPatch> patchList = patch.Split();
for ( std::list<DPatch>::iterator patches = patchList.begin(); patches != patchList.end(); patches++ ) {
( *patches ).BuildInRadiant( instance.path().parent().get_pointer() );
for ( auto&& p : patch.Split() ) {
p.BuildInRadiant( instance.path().parent().get_pointer() );
}
Path_deleteTop( instance.path() );
@ -549,9 +549,8 @@ void DoSplitPatchCols() {
patch.LoadFromPatch( instance );
std::list<DPatch> patchList = patch.SplitCols();
for ( std::list<DPatch>::iterator patches = patchList.begin(); patches != patchList.end(); patches++ ) {
( *patches ).BuildInRadiant( instance.path().parent().get_pointer() );
for ( auto&& p : patch.SplitCols() ) {
p.BuildInRadiant( instance.path().parent().get_pointer() );
}
Path_deleteTop( instance.path() );
@ -579,9 +578,8 @@ void DoSplitPatchRows() {
patch.LoadFromPatch( instance );
std::list<DPatch> patchList = patch.SplitRows();
for ( std::list<DPatch>::iterator patches = patchList.begin(); patches != patchList.end(); patches++ ) {
( *patches ).BuildInRadiant( instance.path().parent().get_pointer() );
for ( auto&& p : patch.SplitRows() ) {
p.BuildInRadiant( instance.path().parent().get_pointer() );
}
Path_deleteTop( instance.path() );