diff options
| author | heavydemon21 <nielsstunnebrink1@gmail.com> | 2025-01-06 12:36:39 +0100 | 
|---|---|---|
| committer | heavydemon21 <nielsstunnebrink1@gmail.com> | 2025-01-06 12:36:39 +0100 | 
| commit | db644d1cb7543faff63379ff5f1e69ea0a703f93 (patch) | |
| tree | 26e6f96f69ec77d5b95e323730b6fbfe06baabd2 /src | |
| parent | 2c18e4a8178de0b84fe899faa5c897172235f271 (diff) | |
animator fix -_-
Diffstat (limited to 'src')
| -rw-r--r-- | src/crepe/system/AnimatorSystem.cpp | 20 | 
1 files changed, 10 insertions, 10 deletions
| diff --git a/src/crepe/system/AnimatorSystem.cpp b/src/crepe/system/AnimatorSystem.cpp index 1a30502..759d14c 100644 --- a/src/crepe/system/AnimatorSystem.cpp +++ b/src/crepe/system/AnimatorSystem.cpp @@ -26,22 +26,22 @@ void AnimatorSystem::frame_update() {  		duration_t frame_duration = 1000ms / ctx.fps;  		int cycle_end = (ctx.cycle_end == -1) ? a.grid_size.x : ctx.cycle_end; -		int total_frames = cycle_end - ctx.cycle_start; -		int curr_cycle_frame = (a.frame - ctx.cycle_start) % total_frames; -  		if (a.elapsed_time >= frame_duration) {  			a.elapsed_time = 0ms;  			a.frame++; +			if (a.frame == cycle_end) { +				a.frame = ctx.cycle_start; +				if (!ctx.looping) { +					a.active = false; +					continue; +				} +			}  		} -		if (!ctx.looping && a.frame >= cycle_end) { -			a.active = false; -			continue; -		} -		ctx.row = (ctx.cycle_start + curr_cycle_frame) % a.grid_size.x; -		//ctx.col = curr_cycle_frame / a.grid_size.x; +		ctx.row = ctx.cycle_start + a.frame;  		a.spritesheet.mask.x = ctx.row * a.spritesheet.mask.w; -		a.spritesheet.mask.y = ctx.col * a.spritesheet.mask.y; +		//a.spritesheet.mask.y = ctx.col * a.spritesheet.mask.y; +  	}  } |