/[projet1]/public/oric/demos/SlideShowDemo/code/main.c
Defence Force logotype

Diff of /public/oric/demos/SlideShowDemo/code/main.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1070 by dbug, Fri Jan 3 10:47:33 2014 UTC revision 1071 by dbug, Mon Jan 6 20:20:59 2014 UTC
# Line 11  extern void VSync(); Line 11  extern void VSync();
11  extern void Stop();  extern void Stop();
12    
13  // player.s  // player.s
14  extern unsigned char MusicLooped;  extern volatile unsigned char MusicPlaying;
15    extern unsigned int MusicLength;
16  extern Mym_Initialize();  extern Mym_Initialize();
17  extern Mym_ReInitialize();  extern Mym_ReInitialize();
18    
# Line 42  extern void* LoaderApiAddress; Line 43  extern void* LoaderApiAddress;
43  extern void SetLoadAddress();  extern void SetLoadAddress();
44  extern void LoadFile();  extern void LoadFile();
45    
46  void Pause()  void Pause(int delay)
47  {  {
48            int wasPlayingMusic=MusicPlaying;
49          int i;          int i;
50          for (i=0;i<50*5;i++)  
51            for (i=0;i<delay;i++)
52          {          {
53                  VSync();                  VSync();
54                    if (MusicPlaying!=wasPlayingMusic)
55                    {
56                            break;
57                    }
58          }          }
59  }  }
60    
61  extern void Player_SetMusic_Birthday();  extern void Player_SetMusic_Birthday();
62    
63  unsigned char CurrentMusic=LOADER_FIRST_MUSIC;  unsigned char CurrentMusic=0;
64    unsigned char CurrentPicture=0;
65    
66  /*  void RetroIntro()
 void PrintDescription(const char* author,const char* name)  
67  {  {
68          char* textLine;          // Load and play the music
69            LoaderApiEntryIndex=LOADER_INTRO_MUSIC;         // BeBop music
70            LoadFile();
71            MusicLength=50*3;               // 3 seconds
72            MusicLength=50*30;              // 3 seconds
73            MusicLength=50*20;              // 3 seconds
74            MusicLength=50*25;              // 3 seconds
75            //MusicLength=50*28;            // 3 seconds
76            MusicLength=50*24;              // 3 seconds
77            Mym_Initialize();
78    
79            for (LoaderApiEntryIndex=LOADER_FIRST_INTRO_PICTURE;LoaderApiEntryIndex<LOADER_LAST_INTRO_PICTURE;LoaderApiEntryIndex++)
80            {
81                    LoaderApiAddress=PictureLoadBuffer;
82                    SetLoadAddress();
83                    LoadFile();
84    
85          textLine=(char*)0xbb80+40*25;                  PictureTransitionUnroll();
         memset(textLine,32,40);  
86    
87          memcpy(textLine,author,strlen(author));                  Pause(50*4);
88          memcpy(textLine+20,name,strlen(name));          }
89    
90    
91            while (MusicPlaying);
92    
93            // Clear the screen again
94            memset((unsigned char*)0xa000,64,8000);
95  }  }
96  */  
97    
98  void main()  void main()
99  {  {
100          int y;          // Clear the screen
101          if (!is_overlay_enabled())          //memset((unsigned char*)0xa000,64,8000);
102          {          memset((unsigned char*)0x9900,0,0xbfe0-0x9900);
                 hires();  
         }  
         MusicLooped=1;  
103    
104          // Load the 6x8 font          // Load the 6x8 font
105          LoaderApiEntryIndex=LOADER_FONT_6x8_ARTDECO;          LoaderApiEntryIndex=LOADER_FONT_6x8_ARTDECO;
# Line 87  void main() Line 111  void main()
111          SetLoadAddress();          SetLoadAddress();
112          LoadFile();          LoadFile();
113    
 //while(1);  
   
         memset((unsigned char*)0xa000,64+1+4+16,8000);  
   
   
114          // Some basic inits          // Some basic inits
115          InitTransitionData();          InitTransitionData();
116    
117            // Install the IRQ handler
118          System_InstallIRQ_SimpleVbl();          System_InstallIRQ_SimpleVbl();
119    
120                              //TestScroller();          // Play the black & white retro intro
121                                  //while (1)          //RetroIntro();
                                 {  
                                 }  
   
         // Load and play the music  
         LoaderApiEntryIndex=LOADER_FIRST_MUSIC+2;  
         LoadFile();  
         Mym_ReInitialize();  
   
         /*  
         // Test load compressed file  
         LoaderApiEntryIndex=LOADER_COMPRESSED_TEST;  
         LoaderApiAddress=PictureLoadBuffer+8;  
         SetLoadAddress();  
         LoadFile();  
   
         PictureLoadBuffer[0]='L';  
         PictureLoadBuffer[1]='Z';  
         PictureLoadBuffer[2]='7';  
         PictureLoadBuffer[3]='7';  
         *((int*)(PictureLoadBuffer+4))=8000;            // Src size  
         *((int*)(PictureLoadBuffer+6))=8000;            // Dst size  
   
         Stop();  
         file_unpack((unsigned char*)0xa000,PictureLoadBuffer);  
         */  
122    
123            // Start the scroller
124            ScrollerInit();
125    
126          while (1)          while (1)
127          {                        {              
128                  /*                  // Change the music if necessary
129                  if (MusicLooped)                  if (!MusicPlaying)
130                  {                  {
                         poke(0xbb80+40*25,16 | ((peek(0xbb80+40*25)+1)&7) );  
                         //MusicPlaying=1;  
131                          if ( (CurrentMusic<LOADER_FIRST_MUSIC) || (CurrentMusic>=LOADER_LAST_MUSIC) )                          if ( (CurrentMusic<LOADER_FIRST_MUSIC) || (CurrentMusic>=LOADER_LAST_MUSIC) )
132                          {                          {
133                                  CurrentMusic=LOADER_FIRST_MUSIC;                                  CurrentMusic=LOADER_FIRST_MUSIC;
134                          }                          }
135                          LoaderApiEntryIndex=CurrentMusic;                          LoaderApiEntryIndex=CurrentMusic++;
136                          LoadFile();                          LoadFile();
137                          Mym_ReInitialize();                          Mym_Initialize();
                         ++CurrentMusic;  
138                  }                  }
139                  */  
140                            // Next picture
141                  for (LoaderApiEntryIndex=LOADER_FIRST_PICTURE;LoaderApiEntryIndex<LOADER_LAST_PICTURE;LoaderApiEntryIndex++)                  if ( (CurrentPicture<LOADER_FIRST_PICTURE) || (CurrentPicture>=LOADER_LAST_PICTURE) )
142                  {                  {
143                          LoaderApiAddress=PictureLoadBuffer;                          CurrentPicture=LOADER_FIRST_PICTURE;
144                          SetLoadAddress();                  }
145                          LoadFile();                  LoaderApiEntryIndex=CurrentPicture++;                  
146                    LoaderApiAddress=PictureLoadBuffer;
147                    SetLoadAddress();
148                    LoadFile();
149    
150                          //memcpy((unsigned char*)0xa000,PictureLoadBuffer,8000);                  PictureDoTransition();
151                          //PictureTransitionFromTopAndBottom();                  //PictureTransitionVenicianStore();
                         //PictureTransitionVenicianStore();  
                         //PictureTransitionUnroll();  
                         //PrintDescription("Twilighte","Barbitoric");  
                         //PrintDescription();  
                         PictureDoTransition();  
152    
153                          Pause();                  Pause(50*15);
                 }  
154    
155                  VSync();                  VSync();
156          }          }

Legend:
Removed from v.1070  
changed lines
  Added in v.1071

  ViewVC Help
Powered by ViewVC 1.1.26