mirror of
https://github.com/TomHarte/CLK.git
synced 2024-10-17 17:25:18 +00:00
Ensured the missiles and ball don't attempt to enqueue. Because I don't think they're supposed to.
This commit is contained in:
parent
8c9062857c
commit
c898c8a99e
@ -725,7 +725,7 @@ template<class T> void TIA::draw_object_visible(T &object, const uint8_t collisi
|
|||||||
// an appropriate solution would probably be to capture the drawing request into a queue and honour them outside
|
// an appropriate solution would probably be to capture the drawing request into a queue and honour them outside
|
||||||
// this loop, clipped to the real output parameters. Assuming all state consumed by draw_pixels is captured,
|
// this loop, clipped to the real output parameters. Assuming all state consumed by draw_pixels is captured,
|
||||||
// and mutated now then also queueing resets and skips shouldn't be necessary.
|
// and mutated now then also queueing resets and skips shouldn't be necessary.
|
||||||
if(next_event_time > time_now)
|
if(object.enqueues && next_event_time > time_now)
|
||||||
{
|
{
|
||||||
if(start < time_now)
|
if(start < time_now)
|
||||||
{
|
{
|
||||||
|
@ -146,25 +146,6 @@ class TIA {
|
|||||||
bool is_moving;
|
bool is_moving;
|
||||||
|
|
||||||
Object() : is_moving(false) {};
|
Object() : is_moving(false) {};
|
||||||
|
|
||||||
void dequeue_pixels(uint8_t *const target, const uint8_t collision_identity, const int time_now)
|
|
||||||
{
|
|
||||||
// if(enqueued_start_ != enqueued_end_)
|
|
||||||
// {
|
|
||||||
// static_cast<T *>(this)->output_pixels(&target[enqueued_start_], enqueued_end_ - enqueued_start_, collision_identity);
|
|
||||||
// enqueued_end_ = enqueued_start_ = 0;
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
void enqueue_pixels(const int start, const int end)
|
|
||||||
{
|
|
||||||
// enqueued_start_ = start;
|
|
||||||
// enqueued_end_ = end;
|
|
||||||
static_cast<T *>(this)->skip_pixels(end - start);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
// int enqueued_start_, enqueued_end_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// player state
|
// player state
|
||||||
@ -178,6 +159,7 @@ class TIA {
|
|||||||
int graphic_index;
|
int graphic_index;
|
||||||
|
|
||||||
int pixel_position;
|
int pixel_position;
|
||||||
|
const bool enqueues = true;
|
||||||
|
|
||||||
inline void skip_pixels(const int count)
|
inline void skip_pixels(const int count)
|
||||||
{
|
{
|
||||||
@ -242,6 +224,7 @@ class TIA {
|
|||||||
struct HorizontalRun: public Object<HorizontalRun> {
|
struct HorizontalRun: public Object<HorizontalRun> {
|
||||||
int pixel_position;
|
int pixel_position;
|
||||||
int size;
|
int size;
|
||||||
|
const bool enqueues = false;
|
||||||
|
|
||||||
inline void skip_pixels(const int count)
|
inline void skip_pixels(const int count)
|
||||||
{
|
{
|
||||||
@ -264,6 +247,9 @@ class TIA {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dequeue_pixels(uint8_t *const target, const uint8_t collision_identity, const int time_now) {}
|
||||||
|
void enqueue_pixels(const int start, const int end) {}
|
||||||
|
|
||||||
HorizontalRun() : pixel_position(0), size(1) {}
|
HorizontalRun() : pixel_position(0), size(1) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user