```PAINT SCRIPT






--------------------
--- PAINT SCRIPT ---
--------------------
---  FriaElAgua  ---
---     2023     ---
--------------------






--- SWEETIE-16 COLOR PALETTE by GrafxKid ---


       
##     R   G   B     HEX
 0 ->  26  28  44  #1a1c2c
 1 ->  93  39  93  #5d275d
 2 -> 177  62  83  #b13e53
 3 -> 239 125  87  #ef7d57
 4 -> 255 205 117  #ffcd75
 5 -> 167 240 112  #a7f070
 6 ->  56 183 100  #38b764
 7 ->  37 113 121  #257179
 8 ->  41  54 111  #29366f
 9 ->  59  93 201  #3b5dc9
10 ->  65 166 246  #41a6f6
11 -> 115 239 247  #73eff7
12 -> 244 244 244  #f4f4f4
13 -> 148 176 194  #94b0c2
14 ->  86 108 134  #566c86
15 ->  51  60  87  #333c57






--- COMMANDS ---



set ID ...

  sets ID if there are many values the 
  result is a string with concatenated
  values. this creates a new variable
  if it doesnt exist yet.



get ID1 ID2 CNT

  ID2 is IDENT/STRING

  Ex: 

    set a "I love you"
    set b a
    set c b
    get d c 0
    say d 			# prints "c"   
    get d c 1
    say d 			# prints "b" 
    get d c 2
    say d 			# prints "a" 
    get d c 3
    say d 			# prints "I love you" 
  


say ...

  prints a message.



add ID NID 

  adds NID to ID and store it to ID.



sub ID NID

  subtracts NID to ID and store it to ID.



mul ID NID

  multiplies NID to ID and store it to ID.



div ID NID

  divides ID by NID and store it to ID.



mod ID NID

  modulus divide ID by NID and store it to ID.



call LAB

  gosub to LAB label return using ret.



ret

  return to caller.



jmp LAB

  goto LAB label.



je LAB NID1 NID2

  jump to LAB label if NID1 is equal to NID2.



jne LAB NID1 NID2

  jump to LAB label if NID1 is not equal to NID2.



jl LAB NID1 NID2

  jump to LAB label if NID1 is less than NID2.



jle LAB NID1 NID2

  jump to LAB label if NID1 is less than 
  or equal to NID2.



jg LAB NID1 NID2

  jump to LAB label if NID1 is greater than NID2.



jge LAB NID1 NID2

  jump to LAB label if NID1 is greater than 
  or equal to NID2.



push ...

  pushes values to the stack.



pop ...

  pops values from the stack.



int ID NID

  converts NID to INTEGER and store it to ID.



flt ID NID

  converts NID to FLOAT and store it to ID.



str ID NID

  converts NID to STRING and store it to ID.



rns ID SNID ENID

  generates random integer from SNID to ENID
  and stores it to ID.



sin ID NID

  sine of NID and store it to ID.



cos ID NID

  cosine of NID and store it to ID.



tan ID NID

  tangent of NID and store it to ID.






--- DRAWING FUNCTIONS ---



pset x y s f

  draw a pixel to x,y with size of s and fill
  color of f.



clear f

  clears canvas with fill color of f.



oval x0 y0 x1 y1 f o w

  draws an oval inside a rectangle 
  x0,y0 and x1,y1 with a fill color of f
  and outline color of o and width of w.



line x0 y0 x1 y1 f w

  draws a line from x0,y0 to x1,y1 
  with a fill color of f and width of w.



arc x0 y0 x1 y1 s e f w

  draws an arc inside a rectangle 
  x0,y0 and x1,y1 starts with angle
  s and ends with angle e 3o'clock 
  clockwise with a fill color of f
  and width of w.



chord x0 y0 x1 y1 s e f o w

  draws a chord inside a rectangle 
  x0,y0 and x1,y1 starts with angle
  s and ends with angle e 3o'clock 
  clockwise with a fill color of f and
  and outline color of o and width of w.



pie x0 y0 x1 y1 s e f o w

  draws a pie inside a rectangle 
  x0,y0 and x1,y1 starts with angle
  s and ends with angle e 3o'clock 
  clockwise with a fill color of f and
  and outline color of o and width of w.



poly x0 y0 ... xn yn f o w

  draws a polygon from x0,y0 to xn,yn 
  fill color of f and and outline color 
  of o and width of w.