1 /***************************************************************************
2     Attract Mode: Animated OutRun Logo Graphic
3 
4     The logo is built from multiple sprite components.
5 
6     Copyright Chris White.
7     See license.txt for more details.
8 ***************************************************************************/
9 
10 #pragma once
11 
12 class OLogo
13 {
14 public:
15 	OLogo();
16 	~OLogo();
17 	void enable(int16_t y);
18     void disable();
19 	void tick();
20     void blit();
21 
22 private:
23 	// Palm Tree Frame Addresses
24     uint32_t palm_frames[8];
25 
26 	// Background Palette Entries
27 	static const uint8_t bg_pal[];
28 
29     uint8_t entry_start;
30 
31     // Y Offset To Draw Logo At
32     int16_t y_off;
33 
34 	void setup_sprite1();
35 	void setup_sprite2();
36 	void setup_sprite3();
37 	void setup_sprite4();
38 	void setup_sprite5();
39 	void setup_sprite6();
40 	void setup_sprite7();
41 
42 	void sprite_logo_bg();
43 	void sprite_logo_car();
44 	void sprite_logo_bird1();
45 	void sprite_logo_bird2();
46 	void sprite_logo_road();
47 	void sprite_logo_palm();
48 	void sprite_logo_text();
49 };
50 
51 extern OLogo ologo;