/
ClassFunctions.lua
7219 lines (5628 loc) · 224 KB
/
ClassFunctions.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Actor = {}
--- This adds a wrapper state around the Actor, which is like wrapping the Actor in an ActorFrame, except that you can use it on any actor, and add or remove wrapper states in response to things that happen while the screen is being used. (wrapping an Actor in an ActorFrame normally requires setting it up before the screen starts)
--- The ActorFrame that is returned is the wrapper state, for convenience.
--- An Actor can have any number of wrapper states. Use GetWrapperState to access wrapper states for the actor.
---@return ActorFrame
function Actor:AddWrapperState() end
--- Returns the number of wrapper states the actor has.
---@return ActorFrame
function Actor:GetNumWrapperStates() end
--- Returns the wrapper state at index i. Think of wrapper states with a higher index as being "further out". Actor is inside Wrapper 1, Wrapper 1 is inside Wrapper 2, Wrapper 2 is inside Wrapper 3, and so on.
---@return ActorFrame
---@param i integer
function Actor:GetWrapperState(i) end
--- Removes the wrapper state at index i.
---@param i integer
function Actor:RemoveWrapperState(i) end
--- Returns the Actor's parent, or nil if it doesn't have one.
---@return Actor
function Actor:GetParent() end
--- Returns the Actor's fake parent, or nil if it doesn't have one.
---@return Actor
function Actor:GetFakeParent() end
--- Sets the Actor's fake parent to p, or clears it if p is nil.
---@param p Actor
function Actor:SetFakeParent(p) end
--- Returns the Actor's visibility.
---@return boolean
function Actor:GetVisible() end
--- Returns the Actor's x position.
---@return float
function Actor:GetX() end
--- Returns the Actor's y position.
---@return float
function Actor:GetY() end
--- Returns the Actor's z position.
---@return float
function Actor:GetZ() end
--- Returns what the Actor's x position will be when it reaches its destination tween state.
---@return float
function Actor:GetDestX() end
--- Returns what the Actor's y position will be when it reaches its destination tween state.
---@return float
function Actor:GetDestY() end
--- Returns what the Actor's z position will be when it reaches its destination tween state.
---@return float
function Actor:GetDestZ() end
--- Returns the Actor's zoom.
---@return float
function Actor:GetZoom() end
--- Returns the Actor's X zoom.
---@return float
function Actor:GetZoomX() end
--- Returns the Actor's Y zoom.
---@return float
function Actor:GetZoomY() end
--- Returns the Actor's Z zoom.
---@return float
function Actor:GetZoomZ() end
--- Sets Texture Filtering for an Actor to b.
---@return void
---@param b boolean
function Actor:SetTextureFiltering(b) end
--- Plays the commands that follow at an accelerated rate (fRate * fRate), where fRate is in seconds.
---@return void
---@param fRate float
function Actor:accelerate(fRate) end
--- Adds a command to the Actor.
---@return void
---@param sName string
---@param cmd ActorCommand
function Actor:addcommand(sName,cmd) end
--- Adds rot to the Actor's current x rotation.
---@return void
---@param rot float
function Actor:addrotationx(rot) end
--- Adds rot to the Actor's current y rotation.
---@return void
---@param rot float
function Actor:addrotationy(rot) end
--- Adds rot to the Actor's current z rotation.
---@return void
---@param rot float
function Actor:addrotationz(rot) end
--- Adds xPos to the Actor's current x position.
---@return void
---@param xPos float
function Actor:addx(xPos) end
--- Adds yPos to the Actor's current y position.
---@return void
---@param yPos float
function Actor:addy(yPos) end
--- Adds zPos to the Actor's current z position.
---@return void
---@param zPos float
function Actor:addz(zPos) end
--- [02 Actor.lua] Sets the alignment of an Actor, where h and v are in the range 0..1.
---@return void
---@param h float
---@param v float
function Actor:align(h,v) end
--- Sets whether or not the Actor should animate.
---@return void
---@param b boolean
function Actor:animate(b) end
--- Sets the Actor's aux value. (This can be a solution for coupling data with an Actor.)
---@return void
---@param fAux float
function Actor:aux(fAux) end
--- If true, cull the Actor's back faces. See also: Actor:cullmode.
---@return void
---@param b boolean
function Actor:backfacecull(b) end
--- Sets the Actor's base alpha to fAlpha, where fAlpha is in the range 0..1.
---@return void
---@param fAlpha float
function Actor:basealpha(fAlpha) end
--- Sets the Actor's base X rotation to rot.
---@return void
---@param rot float
function Actor:baserotationx(rot) end
--- Sets the Actor's base Y rotation to rot.
---@return void
---@param rot float
function Actor:baserotationy(rot) end
--- Sets the Actor's base Z rotation to rot.
---@return void
---@param rot float
function Actor:baserotationz(rot) end
--- Sets the Actor's base zoom to zoom.
---@return void
---@param zoom float
function Actor:basezoom(zoom) end
--- Sets the Actor's base X zoom to zoom.
---@return void
---@param zoom float
function Actor:basezoomx(zoom) end
--- Sets the Actor's base Y zoom to zoom.
---@return void
---@param zoom float
function Actor:basezoomy(zoom) end
--- Sets the Actor's base Z zoom to zoom.
---@return void
---@param zoom float
function Actor:basezoomz(zoom) end
--- Sets the Actor to use the specified blend mode.
---@return void
---@param mode BlendMode
function Actor:blend(mode) end
--- Makes the Actor bob up and down. Can use effectmagnitude to define different bobbing behavior.
---@return void
function Actor:bob() end
--- Makes the Actor bounce, similar to bob but with one point acting as the ground. Can use effectmagnitude to define different bouncing behavior (with effectmagnitude values relating to x, y, and z movement).
---@return void
function Actor:bounce() end
--- [02 Actor.lua]
---@return void
---@param time float
function Actor:bouncebegin(time) end
--- [02 Actor.lua]
---@return void
---@param time float
function Actor:bounceend(time) end
--- [02 Actor.lua] Centers an Actor on the screen. (equivalent to x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y)
---@return void
function Actor:Center() end
--- [02 Actor.lua] Centers an Actor on the X axis. (equivalent to x,SCREEN_CENTER_X)
---@return void
function Actor:CenterX() end
--- [02 Actor.lua] Centers an Actor on the y axis. (equivalent to y,SCREEN_CENTER_Y)
---@return void
function Actor:CenterY() end
--- Determines if the z-buffer should be cleared or not.
---@return void
---@param bClear boolean
function Actor:clearzbuffer(bClear) end
--- [02 Actor.lua] Combines multiple interpolators for complex tweens. tweens
--- can either be a string like "linear,0.25,accelerate,0.75" or
--- a table with tween information { {Type="linear", Percent=0.25, Bezier=nil}, {Type="accelerate", Percent=0.75, Bezier=nil} }
---@return void
---@param length float
---@param tweens string
function Actor:compound(length,tweens) end
--- Crops percent of the Actor from the bottom, where percent is in the range 0..1.
---@return void
---@param percent float
function Actor:cropbottom(percent) end
--- Crops percent of the Actor from the left, where percent is in the range 0..1.
---@return void
---@param percent float
function Actor:cropleft(percent) end
--- Crops percent of the Actor from the right, where percent is in the range 0..1.
---@return void
---@param percent float
function Actor:cropright(percent) end
--- Crops percent of the Actor from the top, where percent is in the range 0..1.
---@return void
---@param percent float
function Actor:croptop(percent) end
--- Sets the Actor's cull mode to mode.
---@return void
---@param mode CullMode
function Actor:cullmode(mode) end
--- Plays the commands that follow at an decelerated rate (1 - (1-fRate) * (1-fRate)), where fRate is in seconds.
---@return void
---@param fRate float
function Actor:decelerate(fRate) end
--- Set the Actor's diffuse color to c.
---@return void
---@param c color
function Actor:diffuse(c) end
--- Sets the Actor's alpha level to fAlpha, where fAlpha is in the range 0..1.
---@return void
---@param fAlpha float
function Actor:diffusealpha(fAlpha) end
--- Makes the Actor switch between two colors immediately. See Themerdocs/effect_colors.txt for an example.
---@return void
function Actor:diffuseblink() end
--- Sets the Actor's bottom edge color to c.
---@return void
function Actor:diffusebottomedge() end
--- Set the Actor's diffuse color to c, ignoring any alpha value in c.
---@return void
---@param c color
function Actor:diffusecolor(c) end
--- Sets the Actor's left edge color to c.
---@return void
---@param c color
function Actor:diffuseleftedge(c) end
--- Sets the Actor's lower left corner color to c.
---@return void
---@param c color
function Actor:diffuselowerleft(c) end
--- Sets the Actor's lower right corner color to c.
---@return void
---@param c color
function Actor:diffuselowerright(c) end
--- Makes the Actor switch between two colors, jumping back to the first after reaching the second. See Themerdocs/effect_colors.txt for an example.
---@return void
function Actor:diffuseramp() end
--- Sets the Actor's right edge color to c.
---@return void
---@param c color
function Actor:diffuserightedge(c) end
--- Makes the Actor shift between two colors smoothly. See Themerdocs/effect_colors.txt for an example.
---@return void
function Actor:diffuseshift() end
--- Sets the Actor's top edge color to c.
---@return void
---@param c color
function Actor:diffusetopedge(c) end
--- Sets the Actor's upper left corner color to c.
---@return void
---@param c color
function Actor:diffuseupperleft(c) end
--- Sets the Actor's upper right corner color to c.
---@return void
---@param c color
function Actor:diffuseupperright(c) end
--- Tells the Actor to draw itself.
---@return void
function Actor:Draw() end
--- Sets the Actor's draworder to iOrder, where larger values display first.
---@return void
---@param iOrder integer
function Actor:draworder(iOrder) end
--- [02 Actor.lua] (Added in sm-ssc)
---@return void
---@param time float
function Actor:drop(time) end
--- [02 Actor.lua]
---@return void
---@param time float
---@param fEase float
function Actor:ease(time,fEase) end
--- Set the Actor's effect clock to s.
---@return void
---@param s string
function Actor:effectclock(s) end
--- Sets the first effect color to c.
---@return void
---@param c color
function Actor:effectcolor1(c) end
--- Sets the second effect color to c.
---@return void
---@param c color
function Actor:effectcolor2(c) end
--- Set the Actor's effect magnitude in each direction to the given values.
---@return void
---@param fX float
---@param fY float
---@param fZ float
function Actor:effectmagnitude(fX,fY,fZ) end
--- Set the Actor's effect offset to fTime. The offset is added to the time into the effect before calculating percent_through_effect.
---@return void
---@param fTime float
function Actor:effectoffset(fTime) end
--- Set the Actor's effect period to fTime.
---@return void
---@param fTime float
function Actor:effectperiod(fTime) end
--- Set the Actor's effect timing.
--- hold_at_zero is before hold_at_full in the argument list for compatibility. A future version will probably swap them because it makes more sense to have hold_at_full come before hold_at_zero.
--- All effect timings must be greater than or equal to zero, at least one of them must be greater than zero.
--- The effect timing controls how long it takes an effect to cycle and how long it spends in each phase.
--- Depending on the effect clock, the actor's time into effect is updated every frame. That time is then translated into a percent_through_effect using the parameters to this function.
--- ramp_to_half is the amount of time for percent_through_effect to reach 0.5.
--- hold_at_half is the amount of time percent_through_effect will stay at 0.5.
--- ramp_to_full is the amount of time percent_through_effect will take to go from 0.5 to 1.0.
--- hold_at_full is the amount of time percent_through_effect will stay at 1.0.
--- After reaching the end of hold_at_full, percent_through_effect stays at 0 until hold_at_zero is over.
--- The different effects use percent_through_effect in different ways. Some use it to calculate percent_between_colors with this sine wave: sin((percent_through_effect + 0.25f) * 2 * PI ) / 2 + 0.5f
--- Some effects check the internal boolean blink_on. blink_on is true if percent_through_effect is greater than 0.5 and false if percent_through_effect is less than or equal to 0.5.
--- Check the effect functions for individual explanations: diffuseblink, diffuseshift, glowblink, glowshift, glowramp, rainbow, wag, bounce, bob, pulse, spin, vibrate.
---@return void
---@param ramp_to_half float
---@param hold_at_half float
---@param ramp_to_full float
---@param hold_at_zero float
---@param hold_at_full float
function Actor:effecttiming(ramp_to_half,hold_at_half,ramp_to_full,hold_at_zero,hold_at_full) end
--- Set the hold_at_full part of the effect timing while leaving the others unchanged.
---@return void
---@param hold_at_full float
function Actor:effect_hold_at_full(hold_at_full) end
--- Fades percent of the Actor from the bottom where percent is in the range 0..1.
---@return void
---@param percent float
function Actor:fadebottom(percent) end
--- Fades percent of the Actor from the left where percent is in the range 0..1.
---@return void
---@param percent float
function Actor:fadeleft(percent) end
--- Fades percent of the Actor from the right where percent is in the range 0..1.
---@return void
---@param percent float
function Actor:faderight(percent) end
--- Fades percent of the Actor from the top where percent is in the range 0..1.
---@return void
---@param percent float
function Actor:fadetop(percent) end
--- Finishes up an Actor's tween immediately.
---@return void
function Actor:finishtweening() end
--- [02 Actor.lua] Stretches an Actor to fill the entire screen.
---@return void
function Actor:FullScreen() end
--- Returns the Actor's aux value.
---@return float
function Actor:getaux() end
--- Returns the Actor's base X zoom value.
---@return float
function Actor:GetBaseZoomX() end
--- Returns the Actor's base Y zoom value.
---@return float
function Actor:GetBaseZoomY() end
--- Returns the Actor's base Z zoom value.
---@return float
function Actor:GetBaseZoomZ() end
--- Returns true if the Actor has a command named sCmdName.
---@return boolean
---@param sCmdName string
function Actor:GetCommand(sCmdName) end
--- Returns the Actor's current diffuse color.
---@return color
function Actor:GetDiffuse() end
--- Returns the Actor's current diffusealpha.
---@return float
function Actor:GetDiffuseAlpha() end
--- Returns the Actor's current effect delta.
---@return float
function Actor:GetEffectDelta() end
--- Returns the Actor's current effect magnitude as three floats (not one; I hate Lua.xsd).
---@return float
function Actor:geteffectmagnitude() end
--- Returns the Actor's current glow color.
---@return color
function Actor:GetGlow() end
--- Returns the Actor's horizontal alignment as a number in the range 0..1.
---@return float
function Actor:GetHAlign() end
--- Returns the Actor's name.
---@return string
function Actor:GetName() end
--- Returns the number of states the Actor has.
---@return integer
function Actor:GetNumStates() end
--- Returns the Actor's current height.
---@return float
function Actor:GetHeight() end
--- Returns the Actor's current X rotation.
---@return float
function Actor:GetRotationX() end
--- Returns the Actor's current Y rotation.
---@return float
function Actor:GetRotationY() end
--- Returns the Actor's current Z rotation.
---@return float
function Actor:GetRotationZ() end
--- Returns the number of seconds into the currently running effect (e.g. diffuseshift, bob).
---@return float
function Actor:GetSecsIntoEffect() end
--- Returns how much time is remaining for the current tween.
---@return float
function Actor:GetTweenTimeLeft() end
--- Returns the Actor's vertical alignment as a number in the range 0..1.
---@return float
function Actor:GetVAlign() end
--- Returns the Actor's current width.
---@return float
function Actor:GetWidth() end
--- Returns the zoomed height of an Actor.
---@return float
function Actor:GetZoomedHeight() end
--- Returns the zoomed width of an Actor.
---@return float
function Actor:GetZoomedWidth() end
--- Returns true if this actor is currently set to use the effect delta for tweening.
---@return boolean
function Actor:get_tween_uses_effect_delta() end
--- Sets the Actor's glow color.
---@return void
---@param c color
function Actor:glow(c) end
--- Makes the Actor glow between two colors immediately. See Themerdocs/effect_colors.txt for an example.
---@return void
function Actor:glowblink() end
--- Makes the Actor glow between two colors smoothly, jumping back to the first at the end. See Themerdocs/effect_colors.txt for an example.
---@return void
function Actor:glowramp() end
--- Makes the Actor glow between two colors smoothly. See Themerdocs/effect_colors.txt for an example.
---@return void
function Actor:glowshift() end
--- Set the fractional horizontal alignment of the Actor according to fAlign which should be a float in the range 0..1. An alignment of 0 is left aligned while an alignment of 1 is right aligned. See horizalign for the common case.
---@return void
---@param fAlign float
function Actor:halign(fAlign) end
--- Sets the heading of this Actor to fHeading.
---@return void
---@param fHeading float
function Actor:heading(fHeading) end
--- Hides the Actor for the specified amount of time.
---@return void
---@param fTime float
function Actor:hibernate(fTime) end
--- [Deprecated] Compatibility alias for the hidden command, which was removed in sm-ssc. Use visible instead.
---@return void
---@param b boolean
function Actor:hidden(b) end
--- [02 Actor.lua] "Hide if b is true, but don't unhide if b is false."
---@return void
---@param b boolean
function Actor:hide_if(b) end
--- Set the horizontal alignment of the Actor according to align. See halign for fractional alignment.
---@return void
---@param align Enum @Horizalign Enum
function Actor:horizalign(align) end
--- Hurries up an Actor's tweening by factor.
---@return void
---@param factor float
function Actor:hurrytweening(factor) end
--- Plays the commands that follow at a normal rate, where fRate is in seconds.
---@return void
---@param fRate float
function Actor:linear(fRate) end
--- [02 Lyrics.lua] Plays the lyric command for the specified side ("Back" or "Front").
---@return void
---@param side string
function Actor:LyricCommand(side) end
--- Sets the Actor's name to sName.
---@return void
---@param sName string
function Actor:name(sName) end
--- Stops the Actor's movement. (Usually used for Sprites or Models.)
---@return void
function Actor:pause() end
--- Sets the pitch of this Actor to fPitch.
---@return void
---@param fPitch float
function Actor:pitch(fPitch) end
--- Starts the Actor's movement. (Usually used for Sprites or Models.)
---@return void
function Actor:play() end
--- Plays a command named sCommandName. params is passed to the command as an argument if it is a table.
---@return void
---@param sCommandName string
---@param params table
function Actor:playcommand(sCommandName,params) end
--- [02 Actor.lua] Sets the visibility of the Actor based on p being a human player.
---@return void
---@param p PlayerNumber
function Actor:player(p) end
--- Makes the Actor grow and shrink. Can use effectmagnitude to define different pulsing behavior.
---@return void
function Actor:pulse() end
--- Queues a command named sCommandName to be played.
---@return void
---@param sCommandName string
function Actor:queuecommand(sCommandName) end
--- Basically creates a command named !sMessageName (Note the ! at the beginning. The source code says this: "Hack: use "!" as a marker to broadcast a command, instead of playing a command, so we don't have to add yet another element to every tween state for this rarely-used command.")
---@return void
---@param sMessageName string
function Actor:queuemessage(sMessageName) end
--- Makes the Actor change colors continually using colors of the rainbow. Each channel follows a cosine wave, red starts at 0, green starts at 2pi/3, and blue starts at 4pi/3.
---@return void
function Actor:rainbow() end
--- Sets the roll of this Actor to fRoll.
---@return void
---@param fRoll float
function Actor:roll(fRoll) end
--- Set the Actor's rotation on the X axis to fAlign.
---@return void
---@param fRotation float
function Actor:rotationx(fRotation) end
--- Set the Actor's rotation on the Y axis to fAlign.
---@return void
---@param fRotation float
function Actor:rotationy(fRotation) end
--- Set the Actor's rotation on the Z axis to fAlign.
---@return void
---@param fRotation float
function Actor:rotationz(fRotation) end
--- [02 Actor.lua] An alternative version of scale_or_crop_background.
---@return void
function Actor:scale_or_crop_alternative() end
--- [02 Actor.lua]
---@return void
function Actor:scale_or_crop_background() end
--- Scales the Actor to cover a rectangle defined by the four float arguments.
---@return void
---@param fLeft float
---@param fTop float
---@param fRight float
---@param fBottom float
function Actor:scaletocover(fLeft,fTop,fRight,fBottom) end
--- Scales the Actor to fit inside a rectangle defined by the four float arguments.
---@return void
---@param fLeft float
---@param fTop float
---@param fRight float
---@param fBottom float
function Actor:scaletofit(fLeft,fTop,fRight,fBottom) end
--- Sets the height of the Actor.
---@return void
---@param height float
function Actor:SetHeight(height) end
--- Sets the size of the Actor.
---@return void
---@param width float
---@param height float
function Actor:setsize(width,height) end
--- [01 alias.lua] Alias for setsize.
---@return void
---@param width float
---@param height float
function Actor:SetSize(width,height) end
--- Sets a multi-framed Actor's state to iNewState.
---@return void
---@param iNewState integer
function Actor:setstate(iNewState) end
--- Sets the width of the Actor.
---@return void
---@param width float
function Actor:SetWidth(width) end
--- Use this to make the actor use the effect clock to tween instead of using the global frame delta.
---@param bool boolean
function Actor:set_tween_uses_effect_delta(bool) end
--- Sets the shadow's color to c.
---@return void
---@param c color
function Actor:shadowcolor(c) end
--- Sets the Actor's shadow length to fLength.
---@return void
---@param fLength float
function Actor:shadowlength(fLength) end
--- Sets the Actor's horizontal shadow length to fLength.
---@return void
---@param fLength float
function Actor:shadowlengthx(fLength) end
--- Sets the Actor's vertical shadow length to fLength.
---@return void
---@param fLength float
function Actor:shadowlengthy(fLength) end
--- Skews the Actor on the x axis by fAmount.
---@return void
---@param fAmount float
function Actor:skewx(fAmount) end
--- Skews the Actor on the y axis by fAmount.
---@return void
---@param fAmount float
function Actor:skewy(fAmount) end
--- Waits fSeconds before executing the next command.
---@return void
---@param fSeconds float
function Actor:sleep(fSeconds) end
--- [02 Actor.lua]
---@return void
---@param time float
function Actor:smooth(time) end
--- Tells the Actor to spin. Can use effectmagnitude to define different spinning behavior.
---@return void
function Actor:spin() end
--- Stops any effect the Actor has.
---@return void
function Actor:stopeffect() end
--- Stops any tweening.
---@return void
function Actor:stoptweening() end
--- Stretches the Actor to a rectangle of a specific size.
---@return void
---@param x1 float
---@param y1 float
---@param x2 float
---@param y2 float
function Actor:stretchto(x1,y1,x2,y2) end
--- Translates the texture of the actor by x and y.
---@return void
---@param x float
---@param y float
function Actor:texturetranslate(x,y) end
--- Determines if the Actor should use texture wrapping or not.
---@return void
---@param bWrap boolean
function Actor:texturewrapping(bWrap) end
--- Uses type to determine the tween to use. The type must be one of the TweenType enum values. If the type is note TweenType_Bezier, the params table is ignored. If the type is TweenType_Bezier, then the params table must have 4 or 8 numbers. 4 numbers in the params creates a 1 dimensional bezier curve, 8 numbers creates a 2 dimensional bezier curve.
--- It's usually more convenient to use Actor:linear, Actor:accelerate, and so on, rather than using Actor:tween directly.
---@param time float
---@param type Enum @TweenType Enum
---@param params table
function Actor:tween(time,type,params) end
--- Set the fractional vertical alignment of the Actor according to fAlign which should be a float in the range 0..1. An alignment of 0 is top aligned while an alignment of 1 is bottom aligned. See vertalign for the common case.
---@return void
---@param fAlign float
function Actor:valign(fAlign) end
--- Set the vertical alignment of the Actor according to align. See valign for fractional alignment.
---@return void
---@param align Enum @VertAlign Enum
function Actor:vertalign(align) end
--- Makes the Actor vibrate violently. Can use effectmagnitude to define different vibration behavior.
---@return void
function Actor:vibrate() end
--- Sets an Actor's visibility to b.
---@return void
---@param b boolean
function Actor:visible(b) end
--- Makes the Actor wag. Use effectmagnitude to define different wag behavior.
---@return void
function Actor:wag() end
--- Set the x position of the Actor to xPos.
---@return void
---@param xPos float
function Actor:x(xPos) end
--- Set the y position of the Actor to yPos.
---@return void
---@param yPos float
function Actor:y(yPos) end
--- Set the z position of the Actor to zPos.
---@return void
---@param zPos float
function Actor:z(zPos) end
--- Sets the z bias to fBias.
---@return void
---@param fBias float
function Actor:zbias(fBias) end
--- Enables/disables z-buffer depending on bUse.
---@return void
---@param bUse boolean
function Actor:zbuffer(bUse) end
--- Zooms the Actor to zoom scale.
---@return void
---@param zoom float
function Actor:zoom(zoom) end
--- Zooms the Actor on both the X and Y axis using zoomX and zoomY.
---@return void
---@param zoomX float
---@param zoomY float
function Actor:zoomto(zoomX,zoomY) end
--- Zooms the Actor to zoom height. See also: zoomy.
---@return void
---@param zoom float
function Actor:zoomtoheight(zoom) end
--- Zooms the Actor to zoom width. See also: zoomx.
---@return void
---@param zoom float
function Actor:zoomtowidth(zoom) end
--- Zooms the Actor to zoom scale on the X axis.
---@return void
---@param zoom float
function Actor:zoomx(zoom) end
--- Zooms the Actor to zoom scale on the Y axis.
---@return void
---@param zoom float
function Actor:zoomy(zoom) end
--- Zooms the Actor to zoom scale on the Z axis.
---@return void
---@param zoom float
function Actor:zoomz(zoom) end
--- Sets the z testing mode to write on pass if true, turns it off if false
---@return void
---@param bTest boolean
function Actor:ztest(bTest) end
--- Sets the z testing mode to testMode.
---@return void
---@param testMode Enum @ZTestMode enum
function Actor:ztestmode(testMode) end
--- Sets z writing to true or false based on bWrite.
---@return void
---@param bWrite boolean
function Actor:zwrite(bWrite) end
--- [02 Actor.lua] Plays the commands that follow using a bezier curve to determine the rate. The curve must have 4 or 8 elements. This is a convenience wrapper around calling Actor:tween with TweenType_Bezier.
---@param time float
---@param curve table
function Actor:bezier(time,curve) end
--- [02 Actor.lua] Stretches an Actor to cover the screen. (equivalent to stretchto,0,0,SCREEN_WIDTH,SCREEN_HEIGHT)
---@return void
function Actor:FullScreen() end
--- [02 Actor.lua] A customized version of pulse that is more appealing for on-beat effects.
---@return void
---@param fEffectPeriod float
function Actor:heartbeat(fEffectPeriod) end
--- [02 Actor.lua] Sets and Actor as a mask destination.
---@return void
function Actor:MaskDest() end
--- [02 Actor.lua] Sets an Actor as a mask source. (Also clears zbuffer; other mask sources need to not clear the zbuffer)
---@return void
function Actor:MaskSource() end
--- [02 Actor.lua] Make graphics their true size at any resolution.
---@return void
---@param f float
function Actor:Real(f) end
--- [02 Actor.lua] Scale things back up after they have already been scaled down.
---@return void
---@param f float
function Actor:RealInverse(f) end
--- [02 Actor.lua] A customized version of pulse that is more appealing for on-beat effects.
---@return void
---@param fEffectPeriod float
function Actor:thump(fEffectPeriod) end
--- Sets the x and y location of the Actor in one command.
---@return void
---@param actorX float
---@param actorY float
function Actor:xy(actorX,actorY) end
ActorFrame = {}
--- Adds a child to the ActorFrame from the specified path.
---@return boolean
---@param sPath string
function ActorFrame:AddChildFromPath(sPath) end
--- Sets the field of view for the ActorFrame.
---@return void
---@param fFOV float
function ActorFrame:fov(fFOV) end
--- Returns the child with a name of sName.
--- If there are multiple children with that name, returns an array of those children.
--- The table also acts as a pass through layer, function calls pass through to the last child of that name.
---@return Actor
---@param sName string
function ActorFrame:GetChild(sName) end
--- Returns a table of all the children in the ActorFrame.
--- The table is indexed by the names of the children.
--- If there are multiple children with the same name, the entry for that name is an array of those children.
--- The table also acts as a pass through layer, function calls pass through to the last child of that name.
---@return {Actor}
function ActorFrame:GetChildren() end
--- Gets the ActorFrame's Draw function.
---@return LuaReference
function ActorFrame:GetDrawFunction() end
--- Returns the number of children in the ActorFrame.
---@return integer
function ActorFrame:GetNumChildren() end
--- Gets the update function's rate.
---@return float
function ActorFrame:GetUpdateRate() end
--- Plays the sCommandName command on the ActorFrame's children.
---@return void
---@param sCommandName string
function ActorFrame:playcommandonchildren(sCommandName) end
--- Plays the sCommandName command on the ActorFrame's leaves.
---@return void
---@param sCommandName string
function ActorFrame:playcommandonleaves(sCommandName) end
--- Sets if the Actorframe should propagate commands to its children.
---@return void
---@param bPropagate boolean
function ActorFrame:propagate(bPropagate) end
--- [02 Actor.lua] Propagates a command to the ActorFrame's children.
---@return void
---@param cmd LuaReference
function ActorFrame:propagatecommand(cmd) end
--- Removes all the children from the ActorFrame.
---@return void
function ActorFrame:RemoveAllChildren() end
--- Removes the specified child from the ActorFrame.
---@return void
---@param sChild string