?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1. #!/usr/bin/perl
  2. use strict;
  3. my $str;
  4. my @arr;
  5. my @arr2;
  6. my $out;
  7.  
  8. my %functions= ('memset' => '((void(*)(void *, u8, u16))',
  9.                 'memcpy' => '((void(*)(void *, void *, u16))',
  10.                 'border' => '((void(*)(u8))',
  11.                 'vsync' => '((void(*)(void))',
  12.                 'joystick' => '((u8(*)(void))',
  13.                 'draw_tile_key' => '((void(*)(u8,u8,u16))',
  14.                 'draw_tile' => '((void(*)(u8,u8,u16))',
  15.                 'keyboard' => '((void(*)(u8*))',
  16.                 'mouse_pos' => '((u8(*)(u8*,u8*))',
  17.                 'mouse_set' => '((void(*)(u8,u8))',
  18.                 'mouse_clip' => '((void(*)(u8,u8,u8,u8))',
  19.                 'mouse_delta' => '((u8(*)(i8*,i8*))',
  20.                 'sfx_play' => '((void(*)(u8,u8))',
  21.                 'sfx_stop' => '((void(*)(void))',
  22.                 'music_play' => '((void(*)(u8))',
  23.                 'music_stop' => '((void(*)(void))',
  24.                 'sample_play' => '((void(*)(u8))',
  25.                 'rand16' => '((u16(*)(void))',
  26.                 'pal_clear' => '((void(*)(void))',
  27.                 'pal_select' => '((void(*)(u8))',
  28.                 'pal_bright' => '((void(*)(u8))',
  29.                 'pal_col' => '((void(*)(u8,u8))',
  30.                 'pal_copy' => '((void(*)(u8,u8*))',
  31.                 'pal_custom' => '((void(*)(u8*))',
  32.                 'draw_image' => '((void(*)(u8,u8,u8))',
  33.                 'draw_image_extra' => '((void(*)(u8,u8,u8,u8,u8))',
  34.                 'clear_screen' => '((void(*)(u8))',
  35.                 'swap_screen' => '((void(*)(void))',
  36.                 'select_image' => '((void(*)(u8))',
  37.                 'color_key' => '((void(*)(u8))',
  38.                 'set_sprite' => '((void(*)(u8,u8,u8,u16))',
  39.                 'sprites_start' => '((void(*)(void))',
  40.                 'sprites_stop' => '((void(*)(void))',
  41.                 'time' => '((u32(*)(void))',
  42.                 'delay' => '((void(*)(u16))',
  43.                 'texfilename' => '((void(*)(u16))',
  44.                 'changescrpg' => '((void(*)(u16))');
  45.  
  46.  
  47.  
  48.  
  49. open FIL,$ARGV[0];
  50. open OUT,">functions.h";
  51.  
  52. while($str=<FIL>){
  53.         chomp $str;
  54.         if(length($str)<5){
  55.                 next;
  56.         }
  57.         @arr = split(/:/, $str);
  58.         if($#arr+1!=2){
  59.                 print $str." WRONG FORMAT\n";
  60.                 next;
  61.         }
  62.         @arr2 = split(/ /, $arr[1]);
  63.         if($#arr2+1!=3){
  64.                 print $str." WRONG FORMAT\n";
  65.                 next;
  66.         }
  67.         if(exists($functions{$arr[0]})){
  68.                 $out="#define ".$arr[0]." ".$functions{$arr[0]}." ".$arr2[2].")\n";
  69.         } else {
  70.                 $out="#define ".uc($arr[0])." ".$arr2[2]."\n";
  71.         }
  72.         print OUT $out;
  73. }
  74.