mirror of
https://github.com/Relintai/voxelman.git
synced 2025-01-25 15:09:18 +01:00
Better way of handling the previous improvement. It will actually work now properly aswell.
This commit is contained in:
parent
f9d13c611f
commit
d08da0375a
@ -646,18 +646,18 @@ void VoxelChunk::build_prioritized() {
|
||||
void VoxelChunk::_build_step() {
|
||||
ERR_FAIL_COND(!has_next_phase());
|
||||
|
||||
while (has_next_phase() && build_phase() && !_abort_build)
|
||||
while (has_next_phase() && build_phase())
|
||||
;
|
||||
|
||||
//call the next non-threaded phase aswell
|
||||
if (has_next_phase() && !_abort_build)
|
||||
if (has_next_phase())
|
||||
build_phase();
|
||||
}
|
||||
|
||||
void VoxelChunk::_build_threaded(void *_userdata) {
|
||||
VoxelChunk *vc = (VoxelChunk *)_userdata;
|
||||
|
||||
while (vc->has_next_phase() && vc->build_phase() && !vc->_abort_build)
|
||||
while (vc->has_next_phase() && vc->build_phase())
|
||||
;
|
||||
}
|
||||
|
||||
@ -665,6 +665,9 @@ bool VoxelChunk::build_phase() {
|
||||
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
if (_abort_build)
|
||||
return false;
|
||||
|
||||
set_build_phase_done(false);
|
||||
|
||||
return call("_build_phase", _current_build_phase);
|
||||
|
Loading…
Reference in New Issue
Block a user