Downloads containing ezstar.j2as

Downloads
Name Author Game Mode Rating
TSF with JJ2+ Only: Faster-Than-Light StarshipFeatured Download ThunDerDraGon Capture the flag 9 Download file

File preview

  1. #include "MLLE-Include-1.4.asc"
  2. const bool MLLESetupSuccessful = MLLE::Setup();
  3. #pragma require "ezstar.j2l"
  4.  
  5. jjPAL standard;
  6.  
  7. void onLevelLoad() {
  8.  
  9.         removeSpritePaletteReferences();
  10.         standard.load("Diam2.j2t");  
  11.         jjObjectPresets[OBJECT::FULLENERGY].behavior = StillPickup;
  12.         jjWeapons[WEAPON::GUN8].comesFromGunCrates = true;
  13.         jjWeapons[WEAPON::GUN9].comesFromGunCrates = true;
  14.      
  15. }
  16.  
  17. void onLevelBegin() {
  18.         jjPalette.copyFrom(16, 40, 16, standard, 1);
  19.         jjPalette.copyFrom(59, 37, 59, standard, 1);
  20.         jjPalette.apply();
  21.  
  22. }
  23.  
  24. void onMain() {
  25.        
  26.         if (jjGetModOrder() == 31 && jjMusicFileName == "babylon.s3m")
  27.                 jjSetModPosition(0, 0, false);
  28. }
  29.  
  30. void removeSpritePaletteReferences() {
  31.         array<int> mapping(256);
  32.         for (int i = 1; i < 96; i++) {
  33.                 jjPALCOLOR color = jjPalette.color[i];
  34.                 int best = 0x40000;
  35.                 for (int j = 96; j < 256; j++) {
  36.                         jjPALCOLOR match = jjPalette.color[j];
  37.                         int red = int(match.red) - color.red;
  38.                         int green = int(match.green) - color.green;
  39.                         int blue = int(match.blue) - color.blue;
  40.                         int dist = red * red + green * green + blue * blue;
  41.                         if (dist < best) {
  42.                                 best = dist;
  43.                                 mapping[i] = j;
  44.                         }
  45.                 }
  46.         }
  47.         for (int i = 96; i < 256; i++) {
  48.                 mapping[i] = i;
  49.         }
  50.         for (uint i = 1; i < jjTileCount; i++) {
  51.                 jjPIXELMAP tile(i);
  52.                 for (int j = 0; j < 32; j++) {
  53.                         for (int k = 0; k < 32; k++) {
  54.                                 tile[k, j] = mapping[tile[k, j]];
  55.                         }              
  56.                 }
  57.                 tile.save(i, true);
  58.         }
  59. }
  60.  
  61. void StillPickup(jjOBJ@ obj) {
  62.         obj.behave(BEHAVIOR::PICKUP);
  63.         obj.xPos = obj.xOrg;
  64. }
  65.