editor.form 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611
  1. form particleEditor
  2. {
  3. theme = res/editor.theme
  4. autoWidth = true
  5. autoHeight = true
  6. consumeInputEvents = false
  7. // Vsync checkbox
  8. checkBox vsync
  9. {
  10. style = iconNoBorder
  11. size = 100, 35
  12. position = 165, 5
  13. imageSize = 30, 30
  14. text = VSYNC
  15. checked = true
  16. consumeInputEvents = true
  17. }
  18. container leftSide
  19. {
  20. style = noBorder
  21. layout = LAYOUT_VERTICAL
  22. width = 160
  23. autoHeight = true
  24. consumeInputEvents = true
  25. container saveLoad
  26. {
  27. style = basic
  28. size = 160, 100
  29. consumeInputEvents = true
  30. layout = LAYOUT_VERTICAL
  31. button save
  32. {
  33. consumeInputEvents = true
  34. style = buttonStyle
  35. width = 140
  36. height = 40
  37. x = 100
  38. text = Save
  39. }
  40. button load : save
  41. {
  42. x = 200
  43. text = Load
  44. }
  45. }
  46. // Image settings
  47. container image
  48. {
  49. style = basic
  50. size = 160, 200
  51. consumeInputEvents = true
  52. layout = LAYOUT_VERTICAL
  53. label
  54. {
  55. style = title
  56. size = 150, 30
  57. text = Image
  58. }
  59. image sprite
  60. {
  61. style = image
  62. path = res/fire.png
  63. size = 140, 140
  64. }
  65. container imageSettings
  66. {
  67. style = noBorder
  68. size = 160, 230
  69. consumeInputEvents = true
  70. layout = LAYOUT_VERTICAL
  71. radioButton additive
  72. {
  73. style = radio
  74. text = Additive
  75. group = blendMode
  76. size = 140, 25
  77. imageSize = 25, 25
  78. selected = true
  79. }
  80. radioButton transparent : additive
  81. {
  82. text = Transparent
  83. selected = false
  84. }
  85. radioButton multiply : transparent
  86. {
  87. text = Multiply
  88. selected = false
  89. }
  90. radioButton opaque : transparent
  91. {
  92. text = Opaque
  93. selected = false
  94. }
  95. container
  96. {
  97. style = noBorder
  98. autoWidth = true
  99. height = 30
  100. label
  101. {
  102. style = noBorder
  103. text = Frame Count:
  104. size = 100, 25
  105. }
  106. textBox frameCount
  107. {
  108. consumeInputEvents = true
  109. style = textBox
  110. text = 1
  111. size = 45, 22
  112. position = 100, 0
  113. }
  114. }
  115. container
  116. {
  117. style = noBorder
  118. autoWidth = true
  119. height = 30
  120. label
  121. {
  122. style = noBorder
  123. text = Frame Width:
  124. size = 100, 25
  125. }
  126. textBox frameWidth
  127. {
  128. consumeInputEvents = true
  129. style = textBox
  130. text = 1
  131. size = 45, 22
  132. position = 100, 0
  133. }
  134. }
  135. container
  136. {
  137. style = noBorder
  138. autoWidth = true
  139. height = 30
  140. label
  141. {
  142. style = noBorder
  143. text = Frame Height:
  144. size = 100, 25
  145. }
  146. textBox frameHeight
  147. {
  148. consumeInputEvents = true
  149. style = textBox
  150. text = 1
  151. size = 45, 22
  152. position = 100, 0
  153. }
  154. }
  155. button updateFrames
  156. {
  157. style = buttonStyle
  158. width = 140
  159. height = 40
  160. text = Update
  161. }
  162. }
  163. }
  164. // Emission settings
  165. container emission
  166. {
  167. style = basic
  168. layout = LAYOUT_VERTICAL
  169. size = 160, 200
  170. consumeInputEvents = true
  171. // Burst emission
  172. button emit
  173. {
  174. style = buttonStyle
  175. position = 0, 50
  176. size = 140, 40
  177. text = Emit
  178. }
  179. // Emission rate
  180. slider emissionRate
  181. {
  182. style = noBorder
  183. size = 140, 50
  184. orientation = HORIZONTAL
  185. min = 1
  186. max = 500
  187. value = 100
  188. step = 1
  189. text = Emission Rate
  190. textAlignment = ALIGN_TOP_HCENTER
  191. valueTextVisible = true
  192. valueTextAlignment = ALIGN_BOTTOM_HCENTER
  193. valueTextPrecision = 2
  194. }
  195. slider burstSize : emissionRate
  196. {
  197. text = Burst Size
  198. value = 20
  199. max = 50
  200. step = 1
  201. }
  202. // Start / Stop Emitter
  203. checkBox started
  204. {
  205. style = iconNoBorder
  206. size = 140, 40
  207. imageSize = 35, 35
  208. text = Running
  209. checked = true
  210. }
  211. }
  212. button reset
  213. {
  214. consumeInputEvents = true
  215. style = buttonStyle
  216. width = 160
  217. height = 40
  218. text = Reset
  219. }
  220. }
  221. container particleProperties
  222. {
  223. style = particleProps
  224. alignment = ALIGN_TOP_RIGHT
  225. width = 210
  226. autoHeight = true
  227. layout = LAYOUT_VERTICAL
  228. scroll = SCROLL_VERTICAL
  229. scrollBarsAutoHide = false
  230. consumeInputEvents = true
  231. // Particle Size
  232. label titleSize
  233. {
  234. style = title
  235. size = 150, 30
  236. text = Particle Size
  237. }
  238. slider startMin
  239. {
  240. style = noBorder
  241. size = 150, 50
  242. orientation = HORIZONTAL
  243. min = 0
  244. max = 10
  245. value = 1
  246. step = 0.1
  247. text = Min Begin
  248. textAlignment = ALIGN_TOP_HCENTER
  249. valueTextVisible = true
  250. valueTextAlignment = ALIGN_BOTTOM_HCENTER
  251. valueTextPrecision = 2
  252. }
  253. slider startMax : startMin
  254. {
  255. text = Max Begin
  256. }
  257. slider endMin : startMin
  258. {
  259. text = Min End
  260. }
  261. slider endMax : startMin
  262. {
  263. text = Max End
  264. }
  265. // Energy
  266. label titleEnergy : titleSize
  267. {
  268. text = Energy
  269. }
  270. slider energyMin
  271. {
  272. style = noBorder
  273. size = 150, 50
  274. orientation = HORIZONTAL
  275. min = 0
  276. max = 5000
  277. text = Min
  278. textAlignment = ALIGN_TOP_HCENTER
  279. valueTextVisible = true
  280. valueTextAlignment = ALIGN_BOTTOM_HCENTER
  281. valueTextPrecision = 2
  282. consumeInputEvents = false
  283. }
  284. slider energyMax : energyMin
  285. {
  286. text = Max
  287. }
  288. // Start color
  289. label titleStartColor : titleSize
  290. {
  291. text = Start Color
  292. }
  293. slider startRed
  294. {
  295. style = noBorder
  296. size = 150, 50
  297. orientation = HORIZONTAL
  298. min = 0
  299. max = 1
  300. text = Red
  301. textAlignment = ALIGN_TOP_HCENTER
  302. valueTextVisible = true
  303. valueTextAlignment = ALIGN_BOTTOM_HCENTER
  304. valueTextPrecision = 2
  305. consumeInputEvents = false
  306. }
  307. slider startGreen : startRed
  308. {
  309. text = Green
  310. }
  311. slider startBlue : startRed
  312. {
  313. text = Blue
  314. }
  315. slider startAlpha : startRed
  316. {
  317. text = Alpha
  318. }
  319. // End color
  320. label titleEndColor : titleSize
  321. {
  322. text = End Color
  323. }
  324. slider endRed : startRed
  325. {
  326. }
  327. slider endGreen : startGreen
  328. {
  329. }
  330. slider endBlue : startBlue
  331. {
  332. }
  333. slider endAlpha : startAlpha
  334. {
  335. }
  336. // Position
  337. label titlePosition : titleSize
  338. {
  339. text = Position
  340. }
  341. slider posX : startRed
  342. {
  343. min = -2
  344. max = 2
  345. step = 0.1
  346. text = X
  347. }
  348. slider posY : posX
  349. {
  350. text = Y
  351. }
  352. slider posZ : posX
  353. {
  354. text = Z
  355. }
  356. // Position variance
  357. label titlePositionVar : titleSize
  358. {
  359. text = Position Var.
  360. }
  361. slider posVarX : startRed
  362. {
  363. min = 0
  364. max = 10
  365. text = X
  366. }
  367. slider posVarY : posVarX
  368. {
  369. text = Y
  370. }
  371. slider posVarZ : posVarX
  372. {
  373. text = Z
  374. }
  375. // Initial velocity
  376. label titleVelocity : titleSize
  377. {
  378. text = Velocity
  379. }
  380. slider velocityX : posVarX
  381. {
  382. min = -10
  383. max = 10
  384. text = X
  385. }
  386. slider velocityY : velocityX
  387. {
  388. text = Y
  389. }
  390. slider velocityZ : velocityX
  391. {
  392. text = Z
  393. }
  394. // Velocity variance
  395. label titleVelocityVar : titleSize
  396. {
  397. text = Velocity Var.
  398. }
  399. slider velocityVarX : posVarX
  400. {
  401. }
  402. slider velocityVarY : posVarY
  403. {
  404. }
  405. slider velocityVarZ : posVarZ
  406. {
  407. }
  408. // Acceleration
  409. label titleAcceleration : titleSize
  410. {
  411. text = Accel.
  412. }
  413. slider accelX : velocityX
  414. {
  415. text = X
  416. }
  417. slider accelY : accelX
  418. {
  419. text = Y
  420. }
  421. slider accelZ : accelX
  422. {
  423. text = Z
  424. }
  425. // Acceleration variance
  426. label titleAccelerationVar : titleSize
  427. {
  428. text = Accel. Var.
  429. }
  430. slider accelVarX : posVarX
  431. {
  432. text = X
  433. }
  434. slider accelVarY : posVarX
  435. {
  436. text = Y
  437. }
  438. slider accelVarZ : posVarX
  439. {
  440. text = Z
  441. }
  442. // Local rotation speed
  443. label titleSpinSpeed : titleSize
  444. {
  445. text = Spin Speed
  446. }
  447. slider spinSpeedMin : velocityX
  448. {
  449. text = Min
  450. }
  451. slider spinSpeedMax : spinSpeedMin
  452. {
  453. text = Max
  454. }
  455. // Rotation axis
  456. label titleRotationAxis : titleSize
  457. {
  458. text = Axis Rotation
  459. }
  460. slider axisX : startRed
  461. {
  462. text = X
  463. }
  464. slider axisY : axisX
  465. {
  466. text = Y
  467. }
  468. slider axisZ : axisX
  469. {
  470. text = Z
  471. }
  472. // Rotation axis variance
  473. label titleRotationAxisVar : titleSize
  474. {
  475. text = Axis Var.
  476. }
  477. slider axisVarX : axisX
  478. {
  479. text = X
  480. }
  481. slider axisVarY : axisVarX
  482. {
  483. text = Y
  484. }
  485. slider axisVarZ : axisVarX
  486. {
  487. text = Z
  488. }
  489. // Axis rotation speed
  490. label titleRotationSpeed : titleSize
  491. {
  492. text = Rotation Speed
  493. }
  494. slider rotationSpeedMin : velocityX
  495. {
  496. text = Min
  497. }
  498. slider rotationSpeedMax : rotationSpeedMin
  499. {
  500. text = Max
  501. }
  502. }
  503. // Camera Zoom
  504. container zoom
  505. {
  506. style = noBorder
  507. size = 160, 50
  508. consumeInputEvents = true
  509. alignment = ALIGN_BOTTOM_HCENTER
  510. button zoomIn
  511. {
  512. style = buttonStyle
  513. size = 80, 50
  514. text = Zoom In
  515. }
  516. button zoomOut : zoomIn
  517. {
  518. position = 80, 0
  519. text = Zoom Out
  520. }
  521. }
  522. }