Advertisement
Sparen

example paste

May 31st, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.53 KB | None | 0 0
  1. let bSpell = false;
  2. @Initialize {
  3. CallBG;
  4. SetAutoDeleteObject(true);
  5. SetCameraPerspectiveClip(10, 4500);
  6. }
  7.  
  8. @MainLoop{
  9. let objScene = GetEnemyBossSceneObjectID();
  10. if (objScene != ID_INVALID && ObjEnemyBossScene_GetInfo(objScene, INFO_IS_SPELL)) {
  11. bSpell = true;
  12. } else {
  13. bSpell = false;
  14. }
  15. yield;
  16. }
  17.  
  18. task CallBG {
  19. TNormalBackground;
  20. TSpellBackground;
  21. }
  22.  
  23. task TNormalBackground {
  24. SetFogEnable(true);
  25. SetFogParam(400, 2000, 192, 255, 255); //set once
  26.  
  27. let path1 = GetCurrentScriptDirectory() ~ "img/s2a.jpg";
  28. let path2 = GetCurrentScriptDirectory() ~ "img/Gradient2.png";
  29. let path3 = GetCurrentScriptDirectory() ~ "img/Gradient.png";
  30. let path4 = GetCurrentScriptDirectory() ~ "img/s2c.jpg";
  31. let path5 = GetCurrentScriptDirectory() ~ "img/s2b.jpg";
  32. let path5a = GetCurrentScriptDirectory() ~ "img/s2ba.png";
  33. let path6 = GetCurrentScriptDirectory() ~ "img/bgfog.png";
  34. let path7 = GetCurrentScriptDirectory() ~ "img/s2d.png";
  35.  
  36. let cameracount = 0;
  37.  
  38. SetCameraFocusX(0);
  39. SetCameraFocusY(0);
  40. SetCameraFocusZ(90);
  41. SetCameraRadius(300);
  42. SetCameraElevationAngle(285);
  43. SetCameraAzimuthAngle(90);
  44. let ypos = 0;
  45. let ypos2 = 0;
  46.  
  47. let obj4 = ObjPrim_Create(OBJ_SPRITE_2D); //background
  48. ObjRender_SetBlendType(obj4, BLEND_ALPHA);
  49. Obj_SetRenderPriority(obj4, 0.20);
  50. ObjPrim_SetTexture(obj4, path1);
  51. ObjSprite2D_SetSourceRect(obj4, 0, 0, 720, 480);
  52. ObjSprite2D_SetDestCenter(obj4);
  53. ObjRender_SetPosition(obj4, 384/2, 448/2 - 148, 1);
  54. ObjRender_SetAlpha(obj4, GetCommonData("StageBGAlpha", 0));
  55. ObjRender_SetScaleXYZ(obj4, 0.75, 0.75, 1);
  56. //ObjRender_SetColor(obj4, 192, 192, 192);
  57.  
  58. let obj5 = ObjPrim_Create(OBJ_SPRITE_3D); //Gravel
  59. ObjRender_SetBlendType(obj5, BLEND_ALPHA);
  60. Obj_SetRenderPriority(obj5, 0.20);
  61. ObjPrim_SetTexture(obj5, path5);
  62. ObjSprite3D_SetSourceRect(obj5, 0, 0, 512*16, 512*16);
  63. ObjSprite3D_SetDestRect(obj5, -512*2, -512*2, 512*2, 512*2);
  64. ObjRender_SetAlpha(obj5, GetCommonData("StageBGAlpha", 0));
  65.  
  66. let obj1 = ObjPrim_Create(OBJ_SPRITE_3D); //water
  67. ObjRender_SetBlendType(obj1, BLEND_ALPHA);
  68. Obj_SetRenderPriority(obj1, 0.20);
  69. ObjPrim_SetTexture(obj1, path4);
  70. ObjSprite3D_SetSourceRect(obj1, 0, 0, 512*16, 512*16);
  71. ObjSprite3D_SetDestRect(obj1, -512*2, -512*2, -512*2 + 320, 512*2);
  72. ObjRender_SetAlpha(obj1, GetCommonData("StageBGAlpha", 0));
  73. ObjRender_SetX(obj1, 1112); //1024 is halfway down screen
  74.  
  75. let obj1a = ObjPrim_Create(OBJ_SPRITE_3D); //water
  76. ObjRender_SetBlendType(obj1a, BLEND_ALPHA);
  77. Obj_SetRenderPriority(obj1a, 0.20);
  78. ObjPrim_SetTexture(obj1a, path4);
  79. ObjSprite3D_SetSourceRect(obj1a, 0, 0, 512*16, 512*16);
  80. ObjSprite3D_SetDestRect(obj1a, -512*2, -512*2, -512*2 + 320, 512*2);
  81. ObjRender_SetAlpha(obj1a, GetCommonData("StageBGAlpha", 0));
  82. ObjRender_SetX(obj1a, 1112); //1024 is halfway down screen
  83.  
  84. let obj5a = ObjPrim_Create(OBJ_SPRITE_3D); //Gravel border
  85. ObjRender_SetBlendType(obj5a, BLEND_ALPHA);
  86. Obj_SetRenderPriority(obj5a, 0.20);
  87. ObjPrim_SetTexture(obj5a, path5a);
  88. ObjSprite3D_SetSourceRect(obj5a, 0, 0, 512, 512);
  89. ObjSprite3D_SetDestRect(obj5a, -64, -512*2, 64, 512*2);
  90. ObjRender_SetAlpha(obj5a, GetCommonData("StageBGAlpha", 0));
  91. ObjRender_SetX(obj5a, 92); //1024 is halfway down screen
  92.  
  93. let obj7 = ObjPrim_Create(OBJ_SPRITE_3D); //grass
  94. ObjRender_SetBlendType(obj7, BLEND_ALPHA);
  95. Obj_SetRenderPriority(obj7, 0.20);
  96. ObjPrim_SetTexture(obj7, path7);
  97. ObjSprite3D_SetSourceRect(obj7, 0, 0, 512, 512*16);
  98. ObjSprite3D_SetDestRect(obj7, -256, -512*2, 256, 512*2);
  99. ObjRender_SetAlpha(obj7, GetCommonData("StageBGAlpha", 0));
  100. ObjRender_SetX(obj7, -256); //1024 is halfway down screen
  101.  
  102. let obj6 = ObjPrim_Create(OBJ_SPRITE_3D); //Fog
  103. ObjRender_SetBlendType(obj6, BLEND_SUBTRACT);
  104. Obj_SetRenderPriority(obj6, 0.22);
  105. ObjPrim_SetTexture(obj6, path6);
  106. ObjSprite3D_SetSourceRect(obj6, 0, 0, 512, 512*3);
  107. ObjSprite3D_SetDestRect(obj6, -512, -512*2, 512, 512*2);
  108. ObjRender_SetAlpha(obj6, GetCommonData("StageBGAlpha", 0));
  109. ObjRender_SetZ(obj6, 0);
  110. ObjRender_SetColor(obj6, 0, 0, 0);
  111.  
  112. let obj2 = ObjPrim_Create(OBJ_SPRITE_2D); //gradient bottom
  113. ObjRender_SetBlendType(obj2, BLEND_ALPHA);
  114. Obj_SetRenderPriority(obj2, 0.21);
  115. ObjPrim_SetTexture(obj2, path2);
  116. ObjRender_SetAngleXYZ(obj2, 0, 0, 0);
  117. ObjSprite2D_SetSourceRect(obj2, 0, 0, 512*3, 512);
  118. ObjSprite2D_SetDestRect(obj2, -512, -32, 512*2, 448+32);
  119. ObjRender_SetColor(obj2, 96, 160, 160);
  120. ObjRender_SetAlpha(obj2, 128);
  121.  
  122. let obj3 = ObjPrim_Create(OBJ_SPRITE_2D); //gradient top
  123. ObjRender_SetBlendType(obj3, BLEND_ALPHA);
  124. Obj_SetRenderPriority(obj3, 0.21);
  125. ObjPrim_SetTexture(obj3, path3);
  126. ObjSprite2D_SetSourceRect(obj3, 0, 0, 512*3, 512);
  127. ObjSprite2D_SetDestRect(obj3, -512, -32, 512*2, 448+32);
  128. //ObjRender_SetColor(obj3, 195, 195, 255);//see below for coloring
  129. ObjRender_SetAlpha(obj3, 192);
  130.  
  131. let frameInvisible = 0;
  132. loop {
  133. if (bSpell) { //TRANSITION TO SPELL BACKGROUND. VERY IMPORTANT
  134. frameInvisible++;
  135. if (frameInvisible >= 60) { //Transition to spell
  136. Obj_SetVisible(obj4, false);
  137. Obj_SetVisible(obj1, false);
  138. Obj_SetVisible(obj1a, false);
  139. Obj_SetVisible(obj2, false);
  140. Obj_SetVisible(obj3, false);
  141. Obj_SetVisible(obj5, false);
  142. Obj_SetVisible(obj5a, false);
  143. Obj_SetVisible(obj6, false);
  144. Obj_SetVisible(obj7, false);
  145. }
  146. } else {
  147. frameInvisible = 0;
  148. Obj_SetVisible(obj1, true);
  149. Obj_SetVisible(obj1a, true);
  150. Obj_SetVisible(obj2, true);
  151. Obj_SetVisible(obj3, true);
  152. Obj_SetVisible(obj4, true);
  153. Obj_SetVisible(obj5, true);
  154. Obj_SetVisible(obj5a, true);
  155. Obj_SetVisible(obj6, true);
  156. Obj_SetVisible(obj7, true);
  157. }
  158.  
  159. //Insert 3D Magic for clouds here.
  160. ObjSprite3D_SetSourceRect(obj1, 0 + ypos, -ypos*8, 512*16 + ypos, 512*16 - ypos*8); //Scrolls the water
  161. ObjSprite3D_SetSourceRect(obj1a, 0 - ypos, -ypos*4, 512*16 - ypos, 512*16 - ypos*4); //Scrolls the water
  162. ObjSprite3D_SetSourceRect(obj5, 0, ypos*2, 512*16, 512*16 + ypos*2); //Scrolls the gravel
  163. ObjSprite3D_SetSourceRect(obj5a, 0, ypos*2, 512, 512*16 + ypos*2); //Scrolls the gravel
  164. ObjSprite3D_SetSourceRect(obj6, 0, -ypos2*0.25, 512*4, 512*4 - ypos2*0.25); //Scrolls the background fog
  165. ObjSprite3D_SetSourceRect(obj7, 0, ypos*2, 512, 512*16 + ypos*2); //Scrolls the grass
  166.  
  167. ObjRender_SetAlpha(obj1, GetCommonData("StageBGAlpha", 255)/2); //partially transparent
  168. ObjRender_SetAlpha(obj1a, GetCommonData("StageBGAlpha", 255)/2); //partially transparent
  169. ObjRender_SetAlpha(obj4, GetCommonData("StageBGAlpha", 255));
  170. ObjRender_SetAlpha(obj5, GetCommonData("StageBGAlpha", 255));
  171. ObjRender_SetAlpha(obj5a, GetCommonData("StageBGAlpha", 255));
  172. ObjRender_SetAlpha(obj6, GetCommonData("StageBGAlpha", 255));
  173. ObjRender_SetAlpha(obj7, GetCommonData("StageBGAlpha", 255));
  174.  
  175. ObjRender_SetColor(obj3, 128 + 24*cos(cameracount), 232 + 24*cos(cameracount*1.5), 172 + 24*sin(cameracount));
  176.  
  177. ypos++;
  178. ypos2++;
  179. if (ypos > 2048){ypos = 0;}
  180. if (ypos2 > 2048){ypos2 = 0;}
  181. cameracount++;
  182. yield;
  183. }
  184. }
  185.  
  186. task TSpellBackground {
  187. let path1 = GetCurrentScriptDirectory() ~ "img/sp2a.png";
  188. let path2 = GetCurrentScriptDirectory() ~ "img/sp2b.png";
  189. let path3 = GetCurrentScriptDirectory() ~ "img/bgfog.png";
  190. let path4 = GetCurrentScriptDirectory() ~ "img/sp7a.png";
  191.  
  192. let obj5 = ObjPrim_Create(OBJ_SPRITE_2D);
  193. ObjRender_SetBlendType(obj5, BLEND_ADD_ARGB);
  194. Obj_SetRenderPriority(obj5, 0.21);
  195. ObjPrim_SetTexture(obj5, path2);
  196. ObjSprite2D_SetSourceRect(obj5, 0, 0, 512, 512);
  197. ObjSprite2D_SetDestRect(obj5, -256, -256, 256, 256);
  198. ObjRender_SetPosition(obj5, 384/2, 448/2, 1);
  199.  
  200. let obj6 = ObjPrim_Create(OBJ_SPRITE_2D);
  201. ObjRender_SetBlendType(obj6, BLEND_ADD_ARGB);
  202. Obj_SetRenderPriority(obj6, 0.21);
  203. ObjPrim_SetTexture(obj6, path4);
  204. ObjSprite2D_SetSourceRect(obj6, 0, 0, 512, 512);
  205. ObjSprite2D_SetDestRect(obj6, -256, -256, 256, 256);
  206. ObjRender_SetPosition(obj6, 384/2, 448/2, 1);
  207.  
  208. let obj1 = ObjPrim_Create(OBJ_SPRITE_2D);
  209. ObjRender_SetBlendType(obj1, BLEND_ADD_ARGB);
  210. Obj_SetRenderPriority(obj1, 0.21);
  211. ObjPrim_SetTexture(obj1, path1);
  212. ObjSprite2D_SetSourceRect(obj1, 0, 0, 512, 512);
  213. ObjSprite2D_SetDestRect(obj1, -256, -256, 256, 256);
  214. ObjRender_SetPosition(obj1, 384/2, 448/2, 1);
  215.  
  216. let obj2 = ObjPrim_Create(OBJ_SPRITE_2D);
  217. ObjRender_SetBlendType(obj2, BLEND_ADD_ARGB);
  218. Obj_SetRenderPriority(obj2, 0.21);
  219. ObjPrim_SetTexture(obj2, path1);
  220. ObjSprite2D_SetSourceRect(obj2, 0, 0, 512, 512);
  221. ObjSprite2D_SetDestRect(obj2, -256, -256, 256, 256);
  222. ObjRender_SetPosition(obj2, 384/2, 448/2, 1);
  223.  
  224. let obj3 = ObjPrim_Create(OBJ_SPRITE_2D);
  225. ObjRender_SetBlendType(obj3, BLEND_SUBTRACT);
  226. Obj_SetRenderPriority(obj3, 0.21);
  227. ObjPrim_SetTexture(obj3, path3);
  228. ObjSprite2D_SetSourceRect(obj3, 0, 0, 339, 225);
  229. ObjSprite2D_SetDestRect(obj3, 0, 0, 512*2, 512*4);
  230.  
  231. let obj4 = ObjPrim_Create(OBJ_SPRITE_2D);
  232. ObjRender_SetBlendType(obj4, BLEND_ALPHA);
  233. Obj_SetRenderPriority(obj4, 0.21);
  234. ObjPrim_SetTexture(obj4, path3);
  235. ObjSprite2D_SetSourceRect(obj4, 0, 0, 339, 225);
  236. ObjSprite2D_SetDestRect(obj4, 0, 0, 512*2, 512*4);
  237.  
  238. let frame = 0;
  239. let alpha = 0;
  240.  
  241. //Unchanging Alpha values and Colors - pull things from loop() that don't need refreshing each frame
  242. ObjRender_SetAlpha(obj1, 192);
  243. ObjRender_SetAlpha(obj2, 192);
  244. ObjRender_SetColor(obj3, 255 - 0, 255 - 255, 255 - 255); //remember that it's subtractive blend
  245. ObjRender_SetAlpha(obj5, 255);
  246. ObjRender_SetAlpha(obj6, 255);
  247.  
  248. loop {
  249. if(bSpell) { //Transition from stage background
  250. alpha = 255;
  251. } else {
  252. alpha = 0; //If no longer spell
  253. }
  254.  
  255. Obj_SetVisible(obj1, alpha > 0);
  256. ObjRender_SetAngleZ(obj1, -frame);
  257.  
  258. Obj_SetVisible(obj2, alpha > 0);
  259. ObjRender_SetAngleZ(obj2, frame);
  260.  
  261. Obj_SetVisible(obj3, alpha > 0); //fog
  262. ObjSprite2D_SetSourceRect(obj3, 0, 0 + (frame*2)%1024, 512*2, 512*4 + (frame*2)%1024);
  263.  
  264. Obj_SetVisible(obj4, alpha > 0); //fog
  265. ObjSprite2D_SetSourceRect(obj4, 0, 0 - (frame*4)%1024, 512*2, 512*4 - (frame*4)%1024);
  266.  
  267. Obj_SetVisible(obj5, alpha > 0);
  268. ObjRender_SetAlpha(obj5, 150 + 105*cos(frame*4));
  269.  
  270. Obj_SetVisible(obj6, alpha > 0);
  271. ObjRender_SetAlpha(obj6, 150 + 105*cos(frame*4));
  272.  
  273. if (GetCommonData("Boss", 0) == 1) { //Taro
  274. Obj_SetVisible(obj5, alpha > 0); //DON'T SAY TRUE. Make sure the check is there.
  275. ObjRender_SetColor(obj4, 0, 0, 64);
  276. Obj_SetVisible(obj6, false);
  277. }
  278. if (GetCommonData("Boss", 0) == 8) { //Gen
  279. Obj_SetVisible(obj5, false);
  280. ObjRender_SetColor(obj4, 0, 48, 48);
  281. Obj_SetVisible(obj6, alpha > 0); //DON'T SAY TRUE. Make sure the check is there.
  282. }
  283.  
  284. frame++;
  285. yield;
  286. }
  287. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement