diff --git a/doc/doc_files/nav_bottom.html b/doc/doc_files/nav_bottom.html
index 750a119..fa8c826 100644
--- a/doc/doc_files/nav_bottom.html
+++ b/doc/doc_files/nav_bottom.html
@@ -2087,6 +2087,10 @@ ul, #myUL {
GetWorld3DTimeStep
+SetSceneFog
+
+GetSceneFog
+
diff --git a/rcbasic_build/.~lock.rcbasic4_changes.ods# b/rcbasic_build/.~lock.rcbasic4_changes.ods#
index 8f7bca4..def14c8 100644
--- a/rcbasic_build/.~lock.rcbasic4_changes.ods#
+++ b/rcbasic_build/.~lock.rcbasic4_changes.ods#
@@ -1 +1 @@
-,n00b,fedora,23.11.2024 11:50,file:///home/n00b/.config/libreoffice/4;
\ No newline at end of file
+,n00b,fedora,25.11.2024 14:22,file:///home/n00b/.config/libreoffice/4;
\ No newline at end of file
diff --git a/rcbasic_build/intern_inc/switch_cases.h b/rcbasic_build/intern_inc/switch_cases.h
index 9ef07b0..246a60f 100644
--- a/rcbasic_build/intern_inc/switch_cases.h
+++ b/rcbasic_build/intern_inc/switch_cases.h
@@ -865,6 +865,8 @@ rc_setWorld3DMaxSubSteps( SETWORLD3DMAXSUBSTEPS_STEPS )
rc_setWorld3DTimeStep( SETWORLD3DTIMESTEP_TS )
rc_getWorld3DMaxSubSteps( )
rc_getWorld3DTimeStep( )
+rc_setSceneFog( SETSCENEFOG_COLOR, SETSCENEFOG_FOG_TYPE, SETSCENEFOG_START_VAL, SETSCENEFOG_END_VAL, SETSCENEFOG_DENSITY, SETSCENEFOG_PIXELFOG, SETSCENEFOG_RANGEFOG )
+rc_getSceneFog( &GETSCENEFOG_COLOR, &GETSCENEFOG_FOG_TYPE, &GETSCENEFOG_START_VAL, &GETSCENEFOG_END_VAL, &GETSCENEFOG_DENSITY, &GETSCENEFOG_PIXELFOG, &GETSCENEFOG_RANGEFOG )
rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR )
rc_stopParticleEmitter( STOPPARTICLEEMITTER_ACTOR )
rc_setParticleDirection( SETPARTICLEDIRECTION_ACTOR, SETPARTICLEDIRECTION_X, SETPARTICLEDIRECTION_Y, SETPARTICLEDIRECTION_Z )
diff --git a/rcbasic_build/intern_lib/scene.bas b/rcbasic_build/intern_lib/scene.bas
index 468099c..dba040d 100644
--- a/rcbasic_build/intern_lib/scene.bas
+++ b/rcbasic_build/intern_lib/scene.bas
@@ -6,3 +6,5 @@ sub SetWorld3DMaxSubSteps( steps )
sub SetWorld3DTimeStep( ts )
function GetWorld3DMaxSubSteps()
function GetWorld3DTimeStep()
+Sub SetSceneFog(color, fog_type, start_val, end_val, density, pixelFog, rangeFog)
+Sub GetSceneFog(ByRef color, ByRef fog_type, ByRef start_val, ByRef end_val, ByRef density, ByRef pixelFog, ByRef rangeFog)
diff --git a/rcbasic_build/main.cpp b/rcbasic_build/main.cpp
index 4d61c39..d64958d 100755
--- a/rcbasic_build/main.cpp
+++ b/rcbasic_build/main.cpp
@@ -919,7 +919,7 @@ int main(int argc, char * argv[])
bool clean_after_build = false;
//DEBUG START
- //rc_filename = "/home/n00b/Projects/RCBASIC4/rcbasic_runtime/bin/Release/unittest.bas";
+ rc_filename = "/home/n00b/projects/bu/constraint_demo/main.bas";
//DEBUG END
//enable_presets = true;
diff --git a/rcbasic_build/main.rc_asm b/rcbasic_build/main.rc_asm
index 657fde6..0dcf450 100644
--- a/rcbasic_build/main.rc_asm
+++ b/rcbasic_build/main.rc_asm
@@ -11,55 +11,587 @@ preset !6
preset !7
preset$ !2
preset !11
-preset !12
-preset !13
.code
-dim_tfield !1 !0 !0 !0 n0 n0 n0
-mov n0 8
-dim_tfield !2 !2 !0 !1 n0 n0 n0
-dim_tfield !2 !0 !1 !0 n0 n0 n0
-mov n0 6
-dim_type1 !2 !2 n0
-mov n0 4
-dim_type1 !3 !2 n0
-mov n0 4
-dim_type1 !4 !2 n0
-mov n0 3
-mov n1 6
-obj_usr_init1 !2 n0
-obj_usr1 !0 n1
-obj_usr_n !0
-obj_usr_get n2
-mov n3 13
-mov_r n2 n3
+.data
+label cam_control
+preset !13
+func !194
+pop n0
+mov !13 n0
+mov n0 119
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:0->CONDITION:0
+mov n0 !12
+mov !0 n0
+func !181
+mov n0 0
+mov n1 0
+mov n2 10
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !844
+jmp @ENDIF:0
+label ELSE:0->CONDITION:0
+mov n0 115
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:0->CONDITION:1
+mov n0 !12
+mov !0 n0
+func !181
+mov n0 0
+mov n1 0
+mov n2 -10
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !844
+label ELSE:0->CONDITION:1
+label ENDIF:0
+mov n0 97
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:1->CONDITION:0
+mov n0 !12
+mov !0 n0
+func !181
+mov n0 -10
+mov n1 0
+mov n2 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !844
+jmp @ENDIF:1
+label ELSE:1->CONDITION:0
+mov n0 100
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:1->CONDITION:1
+mov n0 !12
+mov !0 n0
+func !181
+mov n0 10
+mov n1 0
+mov n2 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !844
+label ELSE:1->CONDITION:1
+label ENDIF:1
+mov n0 114
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:2->CONDITION:0
+mov n0 !12
+mov !0 n0
+func !181
+preset !14
+preset !15
+preset !16
+mov n0 !14
+mov n1 !15
+mov n2 !16
+ptr !0 n0
+ptr !1 n1
+ptr !2 n2
+func !843
+pop_ptr !3
+mov n0 !14
+mov n1 !15
+mov n2 10
+mov n3 !16
+add n1 n2
+mov !0 n0
+mov !1 n1
+mov !2 n3
+func !842
+jmp @ENDIF:2
+label ELSE:2->CONDITION:0
+mov n0 102
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:2->CONDITION:1
+mov n0 !12
+mov !0 n0
+func !181
+preset !17
+preset !18
+preset !19
+mov n0 !17
+mov n1 !18
+mov n2 !19
+ptr !0 n0
+ptr !1 n1
+ptr !2 n2
+func !843
+pop_ptr !3
+mov n0 !17
+mov n1 !18
+mov n2 10
+mov n3 !19
+sub n1 n2
+mov !0 n0
+mov !1 n1
+mov !2 n3
+func !842
+label ELSE:2->CONDITION:1
+label ENDIF:2
+mov n0 1073741906
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:3->CONDITION:0
+mov n0 !12
+mov !0 n0
+func !181
+mov n0 1
+mov n1 0
+mov n2 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !847
+jmp @ENDIF:3
+label ELSE:3->CONDITION:0
+mov n0 1073741905
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:3->CONDITION:1
+mov n0 !12
+mov !0 n0
+func !181
+mov n0 -1
+mov n1 0
+mov n2 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !847
+label ELSE:3->CONDITION:1
+label ENDIF:3
+mov n0 1073741904
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:4->CONDITION:0
+mov n0 !12
+mov !0 n0
+func !181
+preset !20
+preset !21
+preset !22
+mov n0 !20
+mov n1 !21
+mov n2 !22
+ptr !0 n0
+ptr !1 n1
+ptr !2 n2
+func !846
+pop_ptr !3
+mov n0 -1
+mov n1 !20
+mov n2 0
+mov n3 0
+mul n0 n1
+mov !0 n0
+mov !1 n2
+mov !2 n3
+func !847
+mov n0 0
+mov n1 -1
+mov n2 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !847
+mov n0 !20
+mov n1 0
+mov n2 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !847
+jmp @ENDIF:4
+label ELSE:4->CONDITION:0
+mov n0 1073741903
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:4->CONDITION:1
+mov n0 !12
+mov !0 n0
+func !181
+preset !23
+preset !24
+preset !25
+mov n0 !23
+mov n1 !24
+mov n2 !25
+ptr !0 n0
+ptr !1 n1
+ptr !2 n2
+func !846
+pop_ptr !3
+mov n0 !23
+mov n1 !24
+mov n2 1
+mov n3 !25
+add n1 n2
+mov !0 n0
+mov !1 n1
+mov !2 n3
+func !845
+label ELSE:4->CONDITION:1
+label ENDIF:4
+mov n0 !13
+mov !0 n0
+func !181
+return
+.code
+mov n0 640
+mov !26 n0
+mov n0 480
+mov !27 n0
+mov n0 0
+mov !28 n0
+mov n0 1
+mov !29 n0
mov$ s0 @0
-print$ s0
-mov n0 3
-mov n1 6
-obj_usr_init1 !3 n0
-obj_usr1 !0 n1
-obj_usr_n !0
-obj_usr_get n2
-print n2
-println
+mov n0 !26
+mov n1 !27
+mov n2 !28
+mov n3 !29
+mov$ !0 s0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+func !124
+pop n4
mov n0 0
-obj_usr_init1 !2 n0
-obj_usr_get u0
+mov n1 0
+mov n2 !26
+mov n3 !27
+mov n4 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+mov !4 n4
+func !176
+pop n5
+mov !30 n5
+mov n0 !26
+mov n1 !27
+mov n2 0
+mov n3 0
+mov n4 !26
+mov n5 !27
+mov n6 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+mov !4 n4
+mov !5 n5
+mov !6 n6
+func !174
+pop n7
+mov !31 n7
+mov n0 10
+mov !0 n0
+func !634
+pop n1
+mov !32 n1
+mov n0 !32
+mov n1 0
+mov !0 n0
+mov !1 n1
+func !945
+pop n2
+mov !33 n2
+mov n0 !33
+mov n1 1
+mov !0 n0
+mov !1 n1
+func !975
+mov n0 !33
+mov n1 0
+mov n2 200
+mov n3 0
+mov !0 n1
+mov !1 n2
+mov !2 n3
+func !208
+pop n4
+mov !0 n0
+mov !1 n4
+func !965
+mov n0 !32
+mov n1 50
+mov n2 1
+mov n3 50
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+func !648
+mov n0 !32
+mov n1 1
+mov !0 n0
+mov !1 n1
+func !679
+mov n0 !32
+mov n1 1
+mov n2 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !677
+mov n0 !32
+mov n1 0
+mov n2 0
+mov n3 45
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+func !651
+mov n0 10
+mov !0 n0
+func !634
+pop n1
+mov !34 n1
+mov n0 !34
+mov n1 0
+mov !0 n0
+mov !1 n1
+func !945
+pop n2
+mov !35 n2
+mov n0 !35
+mov n1 1
+mov !0 n0
+mov !1 n1
+func !975
+mov n0 !35
+mov n1 0
+mov n2 120
+mov n3 0
+mov !0 n1
+mov !1 n2
+mov !2 n3
+func !208
+pop n4
+mov !0 n0
+mov !1 n4
+func !965
+mov n0 !34
+mov n1 100
+mov n2 1
+mov n3 100
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+func !648
+mov n0 !34
+mov n1 1
+mov !0 n0
+mov !1 n1
+func !679
+mov n0 !34
+mov n1 1
+mov n2 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !677
+mov n0 !32
+mov n1 0
+mov n2 300
+mov n3 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+func !645
+mov n0 30
+mov !0 n0
+func !635
+pop n1
+mov !36 n1
+mov n0 !36
+mov n1 0
+mov !0 n0
+mov !1 n1
+func !945
+pop n2
+mov !37 n2
+mov n0 !37
+mov n1 1
+mov !0 n0
+mov !1 n1
+func !975
+mov n0 !37
+mov n1 200
+mov n2 0
+mov n3 0
+mov !0 n1
+mov !1 n2
+mov !2 n3
+func !208
+pop n4
+mov !0 n0
+mov !1 n4
+func !965
+mov n0 !36
+mov n1 0
+mov n2 300
+mov n3 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+func !645
+mov n0 !36
+mov n1 1
+mov !0 n0
+mov !1 n1
+func !679
+mov n0 !36
+mov n1 2
+mov n2 10
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !677
+mov n0 !36
+mov n1 !38
+mov n2 !39
+mov n3 !40
+mov !0 n0
+ptr !1 n1
+ptr !2 n2
+ptr !3 n3
+func !683
+pop_ptr !3
+mov n0 !36
+mov n1 !38
+mov n2 !39
+mov n3 30
+mov n4 !40
+mul n2 n3
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n4
+func !682
+mov n0 !36
+mov n1 0
+mov n2 0
+mov n3 20
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+func !706
+mov n0 !36
+mov n1 !32
+mov n2 0
+mov n3 120
+mov n4 0
+mov n5 0
+mov n6 0
+mov n7 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+mov !3 n3
+mov !4 n4
+mov !5 n5
+mov !6 n6
+mov !7 n7
+func !735
+pop n8
+mov !41 n8
+mov n0 !30
+mov !0 n0
+func !181
+mov n0 -560
+mov n1 150
+mov n2 -608
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !842
mov n0 0
-obj_usr_init1 !3 n0
-obj_usr_get u1
-uref_ptr !0 u0
-uref_ptr !1 u1
-func !17
-pop_ptr !2
-mov$ s0 @10
-print$ s0
-mov n0 3
-mov n1 6
-obj_usr_init1 !3 n0
-obj_usr1 !0 n1
-obj_usr_n !0
-obj_usr_get n2
-print n2
-println
+mov n1 40
+mov n2 0
+mov !0 n0
+mov !1 n1
+mov !2 n2
+func !845
+func !122
+pop n0
+mov !42 n0
+label main.#WHILE:0
+mov n0 !42
+mov n1 1000
+func !122
+pop n2
+sub n2 n0
+cmp n2 n1
+mov n3 %LESS_FLAG
+while n3 @main.#WEND:0
+func !173
+jmp @main.#WHILE:0
+label main.#WEND:0
+label main.#WHILE:1
+mov n0 27
+mov !0 n0
+func !241
+pop n1
+not n1
+while n1 @main.#WEND:1
+mov n0 49
+mov !0 n0
+func !241
+pop n1
+cmp n1 0
+je @ELSE:5->CONDITION:0
+mov n0 !41
+mov !0 n0
+func !744
+label ELSE:5->CONDITION:0
+label ENDIF:5
+mov n0 !30
+mov !12 n0
+push n0
+gosub @cam_control
+pop n0
+func !128
+jmp @main.#WHILE:1
+label main.#WEND:1
end
diff --git a/rcbasic_build/main.rc_data b/rcbasic_build/main.rc_data
index 8738bdd..9b977f7 100644
--- a/rcbasic_build/main.rc_data
+++ b/rcbasic_build/main.rc_data
@@ -1,11 +1,33 @@
-5
+10
2
+0
+18446744073709551590
+0
+0
+0
+43
3
-0
-0
-0
-0
-14
-3
-5
-0
+2
+22
+cam_control 0 1
+ELSE:0->CONDITION:0 285 1
+ELSE:0->CONDITION:1 517 1
+ENDIF:0 517 1
+ELSE:1->CONDITION:0 758 1
+ELSE:1->CONDITION:1 990 1
+ENDIF:1 990 1
+ELSE:2->CONDITION:0 1412 1
+ELSE:2->CONDITION:1 1825 1
+ENDIF:2 1825 1
+ELSE:3->CONDITION:0 2066 1
+ELSE:3->CONDITION:1 2298 1
+ENDIF:3 2298 1
+ELSE:4->CONDITION:0 2942 1
+ELSE:4->CONDITION:1 3355 1
+ENDIF:4 3355 1
+main.#WHILE:0 4587 0
+main.#WEND:0 4725 0
+main.#WHILE:1 4725 0
+ELSE:5->CONDITION:0 4924 0
+ENDIF:5 4924 0
+main.#WEND:1 5003 0
diff --git a/rcbasic_build/main_str_data.sdata b/rcbasic_build/main_str_data.sdata
index d1796a8..99e120f 100644
Binary files a/rcbasic_build/main_str_data.sdata and b/rcbasic_build/main_str_data.sdata differ
diff --git a/rcbasic_build/rc_builtin.h b/rcbasic_build/rc_builtin.h
index 5380450..bb63ef6 100755
--- a/rcbasic_build/rc_builtin.h
+++ b/rcbasic_build/rc_builtin.h
@@ -2692,6 +2692,22 @@ void init_embedded_functions()
add_embedded_arg("ts", ID_TYPE_NUM);
embed_function("GetWorld3DMaxSubSteps", ID_TYPE_FN_NUM);
embed_function("GetWorld3DTimeStep", ID_TYPE_FN_NUM);
+ embed_function("SetSceneFog", ID_TYPE_SUB);
+ add_embedded_arg("color", ID_TYPE_NUM);
+ add_embedded_arg("fog_type", ID_TYPE_NUM);
+ add_embedded_arg("start_val", ID_TYPE_NUM);
+ add_embedded_arg("end_val", ID_TYPE_NUM);
+ add_embedded_arg("density", ID_TYPE_NUM);
+ add_embedded_arg("pixelFog", ID_TYPE_NUM);
+ add_embedded_arg("rangeFog", ID_TYPE_NUM);
+ embed_function("GetSceneFog", ID_TYPE_SUB);
+ add_embedded_arg("color", ID_TYPE_BYREF_NUM);
+ add_embedded_arg("fog_type", ID_TYPE_BYREF_NUM);
+ add_embedded_arg("start_val", ID_TYPE_BYREF_NUM);
+ add_embedded_arg("end_val", ID_TYPE_BYREF_NUM);
+ add_embedded_arg("density", ID_TYPE_BYREF_NUM);
+ add_embedded_arg("pixelFog", ID_TYPE_BYREF_NUM);
+ add_embedded_arg("rangeFog", ID_TYPE_BYREF_NUM);
embed_function("startParticleEmitter", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("stopParticleEmitter", ID_TYPE_SUB);
diff --git a/rcbasic_build/rcbasic.dbgi b/rcbasic_build/rcbasic.dbgi
index 974818a..2d33821 100644
--- a/rcbasic_build/rcbasic.dbgi
+++ b/rcbasic_build/rcbasic.dbgi
@@ -1,43 +1 @@
-embedded_functions.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/conio.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/arrays.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/math.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/strings.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/stacks.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/files.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/directories.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/datetime.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/window.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/canvas.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/prim2d.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/images.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/keyboard.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/audio.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/joystick.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/gfxconsole.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/text.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/touch.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/network.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/video.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/system.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/matrix.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/process.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/clipboard.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/textedit.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/sprites.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/sprite_animation.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/sprite_physics.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/joint2D.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/tilemaps.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/mesh.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor_animation.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor_physics.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/constraint3D.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/camera.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/scene.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/particles.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/lights.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/terrain.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/water.bas
-/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/materials.bas
+/home/n00b/projects/bu/constraint_demo/main.bas
diff --git a/rcbasic_build/rcbasic.dbgs b/rcbasic_build/rcbasic.dbgs
index a7fdf18..5eec72c 100644
--- a/rcbasic_build/rcbasic.dbgs
+++ b/rcbasic_build/rcbasic.dbgs
@@ -1,2100 +1,31 @@
-S main #fs0 0
-S main.Fprint txt$ 0
-S main.Input$ prompt$ 0
-BN main #fn0 0
-BN main.ArrayDim id 0
-BS main.StringArrayDim id$ 0
-BN main.NumberArrayDim id 0
-BN main.ArraySize id 0
-N main #fn1 1
-N main.ArraySize array_dim 1
-BS main.StringArraySize id$ 0
-N main.StringArraySize array_dim 0
-BN main.NumberArraySize id 0
-N main.NumberArraySize array_dim 1
-BN main.NumberArrayCopy src 0
-BN main.NumberArrayCopy dst 1
-BS main.StringArrayCopy src$ 0
-BS main #fs1 1
-BS main.StringArrayCopy dst$ 1
-BN main.ArrayCopy src 0
-BN main.ArrayCopy dst 1
-BN main.NumberArrayFill src 0
-N main.NumberArrayFill fdata 1
-BS main.StringArrayFill src$ 0
-S main.StringArrayFill fdata$ 1
-BN main.ArrayFill src 0
-N main.ArrayFill fdata 1
-BU main #fu0 0
-BU main.TypeArrayDim id 0
-BU main.TypeArraySize id 0
-N main.TypeArraySize array_dim 0
-BU main.TypeArrayCopy src 0
-BU main #fu1 1
-BU main.TypeArrayCopy dst 1
-BU main.TypeArrayFill src 0
-U main.TypeArrayFill fdata 1
-N main.Abs n 0
-N main.Acos n 0
-N main.AndBit a 0
-N main.AndBit b 1
-N main.Asin n 0
-N main.Atan n 0
-N main.Bin$ n 0
-N main.CInt32 i 0
-N main.CInt64 i 0
-N main.Cos n 0
-N main.Degrees r 0
-N main.Exp n 0
-N main.Frac n 0
-N main.Hex$ n 0
-S main.HexVal n$ 0
-N main.Int n 0
-N main.Log n 0
-N main.Max a 0
-N main.Max b 1
-N main.Min a 0
-N main.Min b 1
-N main.OrBit a 0
-N main.OrBit b 1
-N main.Radians d 0
-N main.Randomize n 0
-N main.Rand n 0
-N main.Round n 0
-N main.Sign n 0
-N main.Sin n 0
-N main.Sqrt n 0
-N main.Tan n 0
-N main.XOrBit a 0
-N main.XOrBit b 1
-N main.GetLineIntersection p0_x 0
-N main.GetLineIntersection p0_y 1
-N main #fn2 2
-N main.GetLineIntersection p1_x 2
-N main #fn3 3
-N main.GetLineIntersection p1_y 3
-N main #fn4 4
-N main.GetLineIntersection p2_x 4
-N main #fn5 5
-N main.GetLineIntersection p2_y 5
-N main #fn6 6
-N main.GetLineIntersection p3_x 6
-N main #fn7 7
-N main.GetLineIntersection p3_y 7
-BN main #fn8 8
-BN main.GetLineIntersection i_x 8
-BN main #fn9 9
-BN main.GetLineIntersection i_y 9
-N main.Interpolate min_a 0
-N main.Interpolate max_a 1
-N main.Interpolate mid_a 2
-N main.Interpolate min_b 3
-N main.Interpolate max_b 4
-N main.ATan2 y 0
-N main.ATan2 x 1
-N main.PointInQuad x 0
-N main.PointInQuad y 1
-N main.PointInQuad x1 2
-N main.PointInQuad y1 3
-N main.PointInQuad x2 4
-N main.PointInQuad y2 5
-N main.PointInQuad x3 6
-N main.PointInQuad y3 7
-N main.PointInQuad x4 8
-N main.PointInQuad y4 9
-N main.PointInTri x 0
-N main.PointInTri y 1
-N main.PointInTri x1 2
-N main.PointInTri y1 3
-N main.PointInTri x2 4
-N main.PointInTri y2 5
-N main.PointInTri x3 6
-N main.PointInTri y3 7
-N main.Distance2D x1 0
-N main.Distance2D y1 1
-N main.Distance2D x2 2
-N main.Distance2D y2 3
-N main.Distance3D x1 0
-N main.Distance3D y1 1
-N main.Distance3D z1 2
-N main.Distance3D x2 3
-N main.Distance3D y2 4
-N main.Distance3D z2 5
-N main.GetCircleLineIntersection circle_x 0
-N main.GetCircleLineIntersection circle_y 1
-N main.GetCircleLineIntersection radius 2
-N main.GetCircleLineIntersection x1 3
-N main.GetCircleLineIntersection y1 4
-N main.GetCircleLineIntersection x2 5
-N main.GetCircleLineIntersection y2 6
-BN main.GetCircleLineIntersection ix1 7
-BN main.GetCircleLineIntersection iy1 8
-BN main.GetCircleLineIntersection ix2 9
-BN main #fn10 10
-BN main.GetCircleLineIntersection iy2 10
-BN main.GetLinePlaneIntersection line_point 0
-BN main.GetLinePlaneIntersection line_direction 1
-BN main.GetLinePlaneIntersection plane_point_1 2
-BN main.GetLinePlaneIntersection plane_point_2 3
-BN main.GetLinePlaneIntersection plane_point_3 4
-BN main.GetLinePlaneIntersection intersection 5
-S main.Asc c$ 0
-N main.Chr$ n 0
-S main.Insert$ src$ 0
-S main.Insert$ tgt$ 1
-N main.Insert$ pos 0
-S main.InStr src$ 0
-S main.InStr substr$ 1
-S main.Lcase$ src$ 0
-S main.Left$ src$ 0
-N main.Left$ n 0
-S main.Length src$ 0
-S main.Len src$ 0
-S main.Ltrim$ src$ 0
-S main.Mid$ src$ 0
-N main.Mid$ start 0
-N main.Mid$ n 1
-S main.ReplaceSubstr$ src$ 0
-S main.ReplaceSubstr$ rpc$ 1
-N main.ReplaceSubstr$ pos 0
-S main.Replace$ src$ 0
-S main.Replace$ tgt$ 1
-S main #fs2 2
-S main.Replace$ rpc$ 2
-S main.Reverse$ src$ 0
-S main.Right$ src$ 0
-N main.Right$ n 0
-S main.Rtrim$ src$ 0
-S main.StringFill$ src$ 0
-N main.StringFill$ n 0
-N main.Str$ n 0
-N main.Str_F$ n 0
-N main.Str_S$ n 0
-S main.Tally src$ 0
-S main.Tally substr$ 1
-S main.Trim$ src$ 0
-S main.Ucase$ src$ 0
-S main.Val n$ 0
-S main.Size s$ 0
-S main.BufferFromString s$ 0
-BN main.BufferFromString buffer 0
-BN main.StringFromBuffer$ buffer 0
-N main.StringFromBuffer$ buffer_size 1
-N main.ClearStack_N num_stack 0
-N main.ClearStack_S str_stack 0
-N main.DeleteStack_N num_stack 0
-N main.DeleteStack_S str_stack 0
-N main.Push_N num_stack 0
-N main.Push_N n 1
-N main.Pop_N num_stack 0
-N main.Push_S str_stack 0
-S main.Push_S s$ 0
-N main.Pop_S$ str_stack 0
-N main.Stack_Size_N num_stack 0
-N main.Stack_Size_S str_stack 0
-S main.OpenFile fileName$ 0
-N main.OpenFile mode 0
-N main.CloseFile stream 0
-N main.ReadByte stream 0
-N main.WriteByte stream 0
-N main.WriteByte byte 1
-N main.ReadLine$ stream 0
-N main.Write stream 0
-S main.Write txt$ 0
-N main.WriteLine stream 0
-S main.WriteLine txt$ 0
-S main.CopyFile src$ 0
-S main.CopyFile dst$ 1
-S main.RemoveFile fileName$ 0
-S main.FileExists fileName$ 0
-S main.MoveFile src$ 0
-S main.MoveFile dst$ 1
-S main.RenameFile src$ 0
-S main.RenameFile dst$ 1
-S main.FileLength fileName$ 0
-N main.Tell stream 0
-N main.Seek stream 0
-N main.Seek pos 1
-N main.EOF stream 0
-N main.WriteByteBuffer stream 0
-BN main.WriteByteBuffer buf 1
-N main.WriteByteBuffer buf_size 2
-N main.ReadByteBuffer stream 0
-BN main.ReadByteBuffer buf 1
-N main.ReadByteBuffer buf_size 2
-S main.ChangeDir p$ 0
-S main.DirExists p$ 0
-S main.MakeDir p$ 0
-S main.RemoveDir p$ 0
-N main.Easter$ year 0
-N main.Wait m_sec 0
-S main.OpenWindow title$ 0
-N main.OpenWindow w 0
-N main.OpenWindow h 1
-N main.OpenWindow fullscreen 2
-N main.OpenWindow vsync 3
-S main.OpenWindowEx title$ 0
-N main.OpenWindowEx x 0
-N main.OpenWindowEx y 1
-N main.OpenWindowEx w 2
-N main.OpenWindowEx h 3
-N main.OpenWindowEx mode 4
-N main.OpenWindowEx aa 5
-N main.OpenWindowEx stencil_buffer 6
-N main.OpenWindowEx vsync 7
-N main.SetClearColor c 0
-S main.SetWindowTitle title$ 0
-N main.SetWindowPosition x 0
-N main.SetWindowPosition y 1
-BN main.GetWindowPosition x 0
-BN main.GetWindowPosition y 1
-N main.SetWindowSize w 0
-N main.SetWindowSize h 1
-BN main.GetWindowSize w 0
-BN main.GetWindowSize h 1
-N main.SetWindowMinSize w 0
-N main.SetWindowMinSize h 1
-BN main.GetWindowMinSize w 0
-BN main.GetWindowMinSize h 1
-N main.SetWindowMaxSize w 0
-N main.SetWindowMaxSize h 1
-BN main.GetWindowMaxSize w 0
-BN main.GetWindowMaxSize h 1
-N main.SetWindowFullscreen flag 0
-N main.SetWindowBordered flag 0
-N main.WindowClip x 0
-N main.WindowClip y 1
-N main.WindowClip w 2
-N main.WindowClip h 3
-N main.SetWindowIcon slot 0
-N main.SetWindowAutoClose exit_on_close 0
-N main.SetWindowResizable flag 0
-N main.WindowMode visible 0
-N main.WindowMode fullscreen 1
-N main.WindowMode resizable 2
-N main.WindowMode borderless 3
-N main.WindowMode highDPI 4
-N main.GrabInput flag 0
-N main.SetWindowAlwaysOnTop flag 0
-N main.SetMouseRelative flag 0
-N main.FlashWindow flag 0
-N main.OpenCanvas w 0
-N main.OpenCanvas h 1
-N main.OpenCanvas viewport_x 2
-N main.OpenCanvas viewport_y 3
-N main.OpenCanvas viewport_w 4
-N main.OpenCanvas viewport_h 5
-N main.OpenCanvas mode 6
-N main.CloseCanvas c_num 0
-N main.OpenCanvas3D viewport_x 0
-N main.OpenCanvas3D viewport_y 1
-N main.OpenCanvas3D viewport_w 2
-N main.OpenCanvas3D viewport_h 3
-N main.OpenCanvas3D mode 4
-N main.SetCanvasVisible c_num 0
-N main.SetCanvasVisible flag 1
-N main.CanvasIsVisible c_num 0
-N main.SetCanvasViewport cnum 0
-N main.SetCanvasViewport x 1
-N main.SetCanvasViewport y 2
-N main.SetCanvasViewport w 3
-N main.SetCanvasViewport h 4
-N main.GetCanvasViewport c_num 0
-BN main.GetCanvasViewport x 1
-BN main.GetCanvasViewport y 2
-BN main.GetCanvasViewport w 3
-BN main.GetCanvasViewport h 4
-N main.Canvas c_num 0
-N main.SetCanvasOffset c_num 0
-N main.SetCanvasOffset x 1
-N main.SetCanvasOffset y 2
-N main.GetCanvasOffset c_num 0
-BN main.GetCanvasOffset x 1
-BN main.GetCanvasOffset y 2
-N main.GetCanvasSize c_num 0
-BN main.GetCanvasSize w 1
-BN main.GetCanvasSize h 2
-N main.SetCanvasAlpha c_num 0
-N main.SetCanvasAlpha a 1
-N main.GetCanvasAlpha c_num 0
-N main.SetCanvasColorMod c_num 0
-N main.SetCanvasColorMod c 1
-N main.GetCanvasColorMod c_num 0
-N main.CloneCanvas c_num 0
-N main.CloneCanvas mode 1
-N main.SetCanvasZ c_num 0
-N main.SetCanvasZ z 1
-N main.CanvasZ c_num 0
-N main.CanvasClip x 0
-N main.CanvasClip y 1
-N main.CanvasClip w 2
-N main.CanvasClip h 3
-N main.SetCanvasPhysics2D c_num 0
-N main.SetCanvasPhysics2D state 1
-N main.OpenCanvasSpriteLayer viewport_x 0
-N main.OpenCanvasSpriteLayer viewport_y 1
-N main.OpenCanvasSpriteLayer viewport_w 2
-N main.OpenCanvasSpriteLayer viewport_h 3
-N main.Circle x 0
-N main.Circle y 1
-N main.Circle radius 2
-N main.CircleFill x 0
-N main.CircleFill y 1
-N main.CircleFill radius 2
-N main.Ellipse x 0
-N main.Ellipse y 1
-N main.Ellipse rx 2
-N main.Ellipse ry 3
-N main.EllipseFill x 0
-N main.EllipseFill y 1
-N main.EllipseFill rx 2
-N main.EllipseFill ry 3
-N main.FloodFill x 0
-N main.FloodFill y 1
-N main.GetPixel x 0
-N main.GetPixel y 1
-N main.SetColor c 0
-N main.Line x1 0
-N main.Line y1 1
-N main.Line x2 2
-N main.Line y2 3
-N main.Poly n 0
-BN main.Poly x 1
-BN main.Poly y 2
-N main.Rect x 0
-N main.Rect y 1
-N main.Rect w 2
-N main.Rect h 3
-N main.RectFill x 0
-N main.RectFill y 1
-N main.RectFill w 2
-N main.RectFill h 3
-N main.RGB r 0
-N main.RGB g 1
-N main.RGB b 2
-N main.RGBA r 0
-N main.RGBA g 1
-N main.RGBA b 2
-N main.RGBA a 3
-N main.Pset x 0
-N main.Pset y 1
-S main.LoadImage img$ 0
-S main.LoadImageEx img$ 0
-N main.LoadImageEx colkey 0
-N main.createImage w 0
-N main.createImage h 1
-BN main.createImage buffer 2
-N main.createImageEx w 0
-N main.createImageEx h 1
-BN main.createImageEx buffer 2
-N main.createImageEx color 3
-N main.BufferFromImage slot 0
-BN main.BufferFromImage buffer 1
-N main.ImageExists slot 0
-N main.ColorKey slot 0
-N main.ColorKey c 1
-N main.setBilinearFilter flag 0
-N main.CopyImage img_id 0
-N main.DeleteImage slot 0
-N main.SetImageAlpha slot 0
-N main.SetImageAlpha a 1
-N main.GetImageAlpha img_id 0
-N main.GetImageSize slot 0
-BN main.GetImageSize w 1
-BN main.GetImageSize h 2
-N main.SetBlendMode blend_mode 0
-N main.SetImageColorMod slot 0
-N main.SetImageColorMod c 1
-N main.GetImageColorMod slot 0
-N main.DrawImage slot 0
-N main.DrawImage x 1
-N main.DrawImage y 2
-N main.DrawImage_Blit slot 0
-N main.DrawImage_Blit x 1
-N main.DrawImage_Blit y 2
-N main.DrawImage_Blit src_x 3
-N main.DrawImage_Blit src_y 4
-N main.DrawImage_Blit src_w 5
-N main.DrawImage_Blit src_h 6
-N main.DrawImage_BlitEx slot 0
-N main.DrawImage_BlitEx x 1
-N main.DrawImage_BlitEx y 2
-N main.DrawImage_BlitEx w 3
-N main.DrawImage_BlitEx h 4
-N main.DrawImage_BlitEx src_x 5
-N main.DrawImage_BlitEx src_y 6
-N main.DrawImage_BlitEx src_w 7
-N main.DrawImage_BlitEx src_h 8
-N main.DrawImage_Rotate slot 0
-N main.DrawImage_Rotate x 1
-N main.DrawImage_Rotate y 2
-N main.DrawImage_Rotate angle 3
-N main.DrawImage_RotateEx slot 0
-N main.DrawImage_RotateEx x 1
-N main.DrawImage_RotateEx y 2
-N main.DrawImage_RotateEx src_x 3
-N main.DrawImage_RotateEx src_y 4
-N main.DrawImage_RotateEx src_w 5
-N main.DrawImage_RotateEx src_h 6
-N main.DrawImage_RotateEx angle 7
-N main.DrawImage_Zoom slot 0
-N main.DrawImage_Zoom x 1
-N main.DrawImage_Zoom y 2
-N main.DrawImage_Zoom zx 3
-N main.DrawImage_Zoom zy 4
-N main.DrawImage_ZoomEx slot 0
-N main.DrawImage_ZoomEx x 1
-N main.DrawImage_ZoomEx y 2
-N main.DrawImage_ZoomEx src_x 3
-N main.DrawImage_ZoomEx src_y 4
-N main.DrawImage_ZoomEx src_w 5
-N main.DrawImage_ZoomEx src_h 6
-N main.DrawImage_ZoomEx zx 7
-N main.DrawImage_ZoomEx zy 8
-N main.DrawImage_Rotozoom slot 0
-N main.DrawImage_Rotozoom x 1
-N main.DrawImage_Rotozoom y 2
-N main.DrawImage_Rotozoom angle 3
-N main.DrawImage_Rotozoom zx 4
-N main.DrawImage_Rotozoom zy 5
-N main.DrawImage_RotozoomEx slot 0
-N main.DrawImage_RotozoomEx x 1
-N main.DrawImage_RotozoomEx y 2
-N main.DrawImage_RotozoomEx src_x 3
-N main.DrawImage_RotozoomEx src_y 4
-N main.DrawImage_RotozoomEx src_w 5
-N main.DrawImage_RotozoomEx src_h 6
-N main.DrawImage_RotozoomEx angle 7
-N main.DrawImage_RotozoomEx zx 8
-N main.DrawImage_RotozoomEx zy 9
-N main.DrawImage_Flip slot 0
-N main.DrawImage_Flip x 1
-N main.DrawImage_Flip y 2
-N main.DrawImage_Flip h 3
-N main.DrawImage_Flip v 4
-N main.DrawImage_FlipEx slot 0
-N main.DrawImage_FlipEx x 1
-N main.DrawImage_FlipEx y 2
-N main.DrawImage_FlipEx src_x 3
-N main.DrawImage_FlipEx src_y 4
-N main.DrawImage_FlipEx src_w 5
-N main.DrawImage_FlipEx src_h 6
-N main.DrawImage_FlipEx h 7
-N main.DrawImage_FlipEx v 8
-N main.Key key_code 0
-BN main.GetMouse x 0
-BN main.GetMouse y 1
-BN main.GetMouse mb1 2
-BN main.GetMouse mb2 3
-BN main.GetMouse mb3 4
-N main.MouseButton mb 0
-BN main.GetMouseWheel x_axis 0
-BN main.GetMouseWheel y_axis 1
-BN main.GetGlobalMouse x 0
-BN main.GetGlobalMouse y 1
-BN main.GetGlobalMouse mb1 2
-BN main.GetGlobalMouse mb2 3
-BN main.GetGlobalMouse mb3 4
-N main.WarpMouse x 0
-N main.WarpMouse y 1
-N main.WarpMouseGlobal x 0
-N main.WarpMouseGlobal y 1
-N main.SetMouseZone x 0
-N main.SetMouseZone y 1
-N main.SetMouseZone w 2
-N main.SetMouseZone h 3
-BN main.CreateSound buffer 0
-N main.CreateSound buffer_size 1
-N main.CreateSound vol 2
-S main.LoadSound snd_file$ 0
-S main.LoadMusic music_file$ 0
-N main.PlaySound slot 0
-N main.PlaySound channel 1
-N main.PlaySound loops 2
-N main.PlaySoundTimed slot 0
-N main.PlaySoundTimed channel 1
-N main.PlaySoundTimed loops 2
-N main.PlaySoundTimed ms 3
-N main.PlayMusic mLoops 0
-N main.PauseSound channel 0
-N main.ResumeSound channel 0
-N main.DeleteSound slot 0
-N main.FadeMusicIn fade_time 0
-N main.FadeMusicIn loops 1
-N main.FadeMusicOut fade_time 0
-N main.SetMusicVolume vol 0
-N main.SetMusicPosition pos 0
-N main.SetSoundChannels max_channels 0
-N main.SoundExists slot 0
-N main.SetChannelVolume channel 0
-N main.SetChannelVolume vol 1
-N main.GetChannelVolume channel 0
-N main.SetSoundVolume slot 0
-N main.SetSoundVolume vol 1
-N main.GetSoundVolume slot 0
-N main.StopSound channel 0
-N main.SetChannelPanning channel 0
-N main.SetChannelPanning left_value 1
-N main.SetChannelPanning right_value 2
-N main.SetChannelDistance channel 0
-N main.SetChannelDistance dist_value 1
-N main.ChannelIsPlaying channel 0
-N main.ChannelIsPaused channel 0
-BN main.QueryAudioSpec freq 0
-BN main.QueryAudioSpec format 1
-BN main.QueryAudioSpec channels 2
-N main.SetChannelSpacePosition channel 0
-N main.SetChannelSpacePosition angle 1
-N main.SetChannelSpacePosition distance 2
-N main.NumJoyAxes joy_num 0
-N main.NumJoyButtons joy_num 0
-N main.NumJoyHats joy_num 0
-N main.NumJoyTrackBalls joy_num 0
-N main.JoyAxis joy_num 0
-N main.JoyAxis joy_axis 1
-N main.JoyButton joy_num 0
-N main.JoyButton joy_button 1
-N main.JoyHat joy_num 0
-N main.JoyHat joy_hat 1
-N main.GetJoyTrackBall joy_num 0
-N main.GetJoyTrackBall ball 1
-BN main.GetJoyTrackBall dx 2
-BN main.GetJoyTrackBall dy 3
-N main.JoyName$ joy_num 0
-N main.JoystickIsConnected joy_num 0
-N main.JoyRumblePlay joy_num 0
-N main.JoyRumblePlay strength 1
-N main.JoyRumblePlay duration 2
-N main.JoyRumbleStop joy_num 0
-N main.JoystickIsHaptic joy_num 0
-S main.LoadFont fnt_file$ 0
-N main.LoadFont font_size 0
-N main.DeleteFont slot 0
-N main.FontExists slot 0
-N main.SetFont slot 0
-S main.DrawText txt$ 0
-N main.DrawText x 0
-N main.DrawText y 1
-S main.GetTextSize txt$ 0
-BN main.GetTextSize w 0
-BN main.GetTextSize h 1
-S main.TextWidth txt$ 0
-S main.TextHeight txt$ 0
-BN main.GetTouch status 0
-BN main.GetTouch x 1
-BN main.GetTouch y 2
-BN main.GetTouch dx 3
-BN main.GetTouch dy 4
-BN main.GetMultiTouch status 0
-BN main.GetMultiTouch x 1
-BN main.GetMultiTouch y 2
-BN main.GetMultiTouch fingers 3
-BN main.GetMultiTouch dist 4
-BN main.GetMultiTouch theta 5
-N main.GetTouchFinger finger 0
-BN main.GetTouchFinger x 1
-BN main.GetTouchFinger y 2
-BN main.GetTouchFinger pressure 3
-N main.GetAccel accel_num 0
-BN main.GetAccel x 1
-BN main.GetAccel y 2
-BN main.GetAccel z 3
-N main.AccelName$ accel_num 0
-N main.GetGyro gyro_num 0
-BN main.GetGyro x 1
-BN main.GetGyro y 2
-BN main.GetGyro z 3
-N main.GyroName$ gyro_num 0
-N main.CheckSockets timeout_ms 0
-N main.TCP_SocketReady socket 0
-N main.UDP_SocketReady socket 0
-S main.TCP_OpenSocket host$ 0
-N main.TCP_OpenSocket port 0
-N main.TCP_CloseSocket socket 0
-N main.TCP_RemoteHost socket 0
-N main.TCP_RemotePort socket 0
-N main.TCP_GetData socket 0
-N main.TCP_GetData numBytes 1
-BS main.TCP_GetData sData$ 0
-N main.TCP_SendData socket 0
-S main.TCP_SendData sData$ 0
-N main.TCP_AcceptSocket server 0
-N main.TCP_AcceptSocket client 1
-N main.UDP_OpenSocket port 0
-N main.UDP_CloseSocket socket 0
-N main.UDP_GetData socket 0
-BS main.UDP_GetData host$ 0
-BN main.UDP_GetData port 1
-BS main.UDP_GetData sData$ 1
-N main.UDP_RemoteHost$ socket 0
-N main.UDP_RemotePort socket 0
-N main.UDP_SendData socket 0
-S main.UDP_SendData host$ 0
-N main.UDP_SendData port 1
-S main.UDP_SendData sData$ 1
-S main.LoadVideo vid$ 0
-N main.PlayVideo vLoops 0
-N main.SetVideoPosition pos 0
-S main.GetVideoStats vFile$ 0
-BN main.GetVideoStats vLen 0
-BN main.GetVideoStats vfps 1
-BN main.GetVideoStats frame_w 2
-BN main.GetVideoStats frame_h 3
-N main.SetVideoDrawRect x 0
-N main.SetVideoDrawRect y 1
-N main.SetVideoDrawRect w 2
-N main.SetVideoDrawRect h 3
-BN main.GetVideoDrawRect x 0
-BN main.GetVideoDrawRect y 1
-BN main.GetVideoDrawRect w 2
-BN main.GetVideoDrawRect h 3
-BN main.GetVideoSize w 0
-BN main.GetVideoSize h 1
-N main.SetVideoVolume vol 0
-S main.System cmd$ 0
-N main.Command$ arg 0
-S main.Env$ v$ 0
-S main.SetEnv var$ 0
-S main.SetEnv value$ 1
-S main.PrefPath$ org_name$ 0
-S main.PrefPath$ app_name$ 1
-S main.Android_JNI_Message$ arg$ 0
-S main.Runtime_Utility_Message$ arg$ 0
-N main.GetDesktopDisplayMode index 0
-BN main.GetDesktopDisplayMode w 1
-BN main.GetDesktopDisplayMode h 2
-BN main.GetDesktopDisplayMode freq 3
-BN main.GetPowerInfo status 0
-BN main.GetPowerInfo secs 1
-BN main.GetPowerInfo pct 2
-S main.EvalJS$ js_code$ 0
-S main.SystemReturnStdOut$ cmd$ 0
-S main.OpenURL url$ 0
-S main.MessageBox title$ 0
-S main.MessageBox msg$ 1
-N main.DimMatrix m_rows 0
-N main.DimMatrix m_cols 1
-N main.DeleteMatrix mA 0
-N main.AddMatrix mA 0
-N main.AddMatrix mB 1
-N main.AddMatrix mC 2
-N main.AugmentMatrix mA 0
-N main.AugmentMatrix mB 1
-N main.AugmentMatrix mC 2
-N main.CopyMatrix mA 0
-N main.CopyMatrix mB 1
-N main.InsertMatrixColumns mA 0
-N main.InsertMatrixColumns c 1
-N main.InsertMatrixColumns num_cols 2
-N main.InsertMatrixRows mA 0
-N main.InsertMatrixRows r 1
-N main.InsertMatrixRows num_rows 2
-N main.MultiplyMatrix mA 0
-N main.MultiplyMatrix mB 1
-N main.MultiplyMatrix mC 2
-N main.CubeMatrix mA 0
-N main.CubeMatrix mB 1
-N main.DeleteMatrixColumns mA 0
-N main.DeleteMatrixColumns c 1
-N main.DeleteMatrixColumns num_cols 2
-N main.DeleteMatrixRows mA 0
-N main.DeleteMatrixRows r 1
-N main.DeleteMatrixRows num_rows 2
-N main.ClearMatrix mA 0
-N main.ClearMatrixColumns mA 0
-N main.ClearMatrixColumns c 1
-N main.ClearMatrixColumns num_cols 2
-N main.ClearMatrixRows mA 0
-N main.ClearMatrixRows r 1
-N main.ClearMatrixRows num_rows 2
-N main.FillMatrix mA 0
-N main.FillMatrix v 1
-N main.FillMatrixColumns mA 0
-N main.FillMatrixColumns c 1
-N main.FillMatrixColumns num_cols 2
-N main.FillMatrixColumns v 3
-N main.FillMatrixRows mA 0
-N main.FillMatrixRows r 1
-N main.FillMatrixRows num_rows 2
-N main.FillMatrixRows v 3
-N main.CopyMatrixColumns mA 0
-N main.CopyMatrixColumns mB 1
-N main.CopyMatrixColumns c 2
-N main.CopyMatrixColumns num_cols 3
-N main.CopyMatrixRows mA 0
-N main.CopyMatrixRows mB 1
-N main.CopyMatrixRows r 2
-N main.CopyMatrixRows num_rows 3
-N main.SetIdentityMatrix mA 0
-N main.SetIdentityMatrix n 1
-N main.SolveMatrix mA 0
-N main.SolveMatrix mB 1
-N main.SolveMatrix mC 2
-N main.IsEqualMatrix mA 0
-N main.IsEqualMatrix mB 1
-N main.IsEqualMatrix tolerance 2
-N main.Determinant mA 0
-N main.AdjointMatrix mA 0
-N main.AdjointMatrix mB 1
-N main.InvertMatrix mA 0
-N main.InvertMatrix mB 1
-N main.MatrixFromBuffer mA 0
-N main.MatrixFromBuffer r 1
-N main.MatrixFromBuffer c 2
-BN main.MatrixFromBuffer buffer 3
-BN main.BufferFromMatrix buffer 0
-N main.BufferFromMatrix mA 1
-N main.RandomizeMatrix mA 0
-N main.RandomizeMatrix vmin 1
-N main.RandomizeMatrix vmax 2
-N main.MatrixValue mA 0
-N main.MatrixValue r 1
-N main.MatrixValue c 2
-N main.SetMatrixValue mA 0
-N main.SetMatrixValue r 1
-N main.SetMatrixValue c 2
-N main.SetMatrixValue v 3
-N main.ScalarMatrix mA 0
-N main.ScalarMatrix mB 1
-N main.ScalarMatrix s_value 2
-N main.ScalarMatrixColumns mA 0
-N main.ScalarMatrixColumns mB 1
-N main.ScalarMatrixColumns c 2
-N main.ScalarMatrixColumns num_cols 3
-N main.ScalarMatrixColumns s_value 4
-N main.ScalarMatrixRows mA 0
-N main.ScalarMatrixRows mB 1
-N main.ScalarMatrixRows r 2
-N main.ScalarMatrixRows num_rows 3
-N main.ScalarMatrixRows s_value 4
-N main.SquareMatrix mA 0
-N main.SquareMatrix mB 1
-N main.CofactorMatrix mA 0
-N main.CofactorMatrix r 1
-N main.CofactorMatrix c 2
-N main.SubtractMatrix mA 0
-N main.SubtractMatrix mB 1
-N main.SubtractMatrix mC 2
-N main.SwapMatrix mA 0
-N main.SwapMatrix mB 1
-N main.SwapMatrixColumn mA 0
-N main.SwapMatrixColumn C1 1
-N main.SwapMatrixColumn C2 2
-N main.SwapMatrixRow mA 0
-N main.SwapMatrixRow R1 1
-N main.SwapMatrixRow R2 2
-N main.TransposeMatrix mA 0
-N main.TransposeMatrix mB 1
-N main.UnAugmentMatrix mA 0
-N main.UnAugmentMatrix mB 1
-N main.UnAugmentMatrix mC 2
-N main.ZeroMatrix mA 0
-N main.GetMatrixSize mA 0
-BN main.GetMatrixSize r 1
-BN main.GetMatrixSize c 2
-N main.IncrementMatrixRows mA 0
-N main.IncrementMatrixRows mB 1
-N main.IncrementMatrixRows r 2
-N main.IncrementMatrixRows num_rows 3
-N main.IncrementMatrixRows value 4
-N main.IncrementMatrixColumns mA 0
-N main.IncrementMatrixColumns mB 1
-N main.IncrementMatrixColumns c 2
-N main.IncrementMatrixColumns num_cols 3
-N main.IncrementMatrixColumns value 4
-N main.JoinMatrixRows mA 0
-N main.JoinMatrixRows mB 1
-N main.JoinMatrixRows mC 2
-N main.JoinMatrixColumns mA 0
-N main.JoinMatrixColumns mB 1
-N main.JoinMatrixColumns mC 2
-N main.ClipMatrix mA 0
-N main.ClipMatrix r 1
-N main.ClipMatrix c 2
-N main.ClipMatrix num_rows 3
-N main.ClipMatrix num_cols 4
-N main.ClipMatrix mB 5
-N main.SetMatrixTranslation mA 0
-N main.SetMatrixTranslation x 1
-N main.SetMatrixTranslation y 2
-N main.SetMatrixTranslation z 3
-N main.SetMatrixRotation mA 0
-N main.SetMatrixRotation x 1
-N main.SetMatrixRotation y 2
-N main.SetMatrixRotation z 3
-N main.SetMatrixScale mA 0
-N main.SetMatrixScale x 1
-N main.SetMatrixScale y 2
-N main.SetMatrixScale z 3
-N main.GetMatrixTranslation mA 0
-BN main.GetMatrixTranslation x 1
-BN main.GetMatrixTranslation y 2
-BN main.GetMatrixTranslation z 3
-N main.GetMatrixRotation mA 0
-BN main.GetMatrixRotation x 1
-BN main.GetMatrixRotation y 2
-BN main.GetMatrixRotation z 3
-N main.GetMatrixScale mA 0
-BN main.GetMatrixScale x 1
-BN main.GetMatrixScale y 2
-BN main.GetMatrixScale z 3
-S main.SetClipboardText txt$ 0
-S main.ReadInput_SetText txt$ 0
-N main.ReadInput_ToggleBackspace flag 0
-N main.CreateSprite img 0
-N main.CreateSprite frame_w 1
-N main.CreateSprite frame_h 2
-N main.DeleteSprite sprite 0
-N main.SetSpritePosition sprite 0
-N main.SetSpritePosition x 1
-N main.SetSpritePosition y 2
-N main.TranslateSprite sprite 0
-N main.TranslateSprite x 1
-N main.TranslateSprite y 2
-N main.GetSpritePosition sprite 0
-BN main.GetSpritePosition x 1
-BN main.GetSpritePosition y 2
-N main.SpriteX sprite 0
-N main.SpriteY sprite 0
-N main.SetSpriteRotation sprite 0
-N main.SetSpriteRotation angle 1
-N main.RotateSprite sprite 0
-N main.RotateSprite angle 1
-N main.GetSpriteRotation sprite 0
-N main.SetSpriteScale sprite 0
-N main.SetSpriteScale x 1
-N main.SetSpriteScale y 2
-N main.ScaleSprite sprite 0
-N main.ScaleSprite x 1
-N main.ScaleSprite y 2
-N main.GetSpriteScale sprite 0
-BN main.GetSpriteScale x 1
-BN main.GetSpriteScale y 2
-N main.SetSpriteZ sprite 0
-N main.SetSpriteZ z 1
-N main.SpriteZ sprite 0
-N main.GetSpriteSize sprite 0
-BN main.GetSpriteSize w 1
-BN main.GetSpriteSize h 2
-N main.SpriteWidth sprite 0
-N main.SpriteHeight sprite 0
-N main.SetSpriteVisible sprite 0
-N main.SetSpriteVisible flag 1
-N main.SpriteIsVisible sprite 0
-N main.SetSpriteSolid sprite 0
-N main.SetSpriteSolid flag 1
-N main.SpriteIsSolid sprite 0
-N main.SetSpriteType sprite 0
-N main.SetSpriteType sprite_type 1
-N main.GetSpriteType sprite 0
-N main.SetSpriteSource sprite 0
-N main.SetSpriteSource img 1
-N main.GetSpriteSource sprite 0
-N main.CreateSpriteAnimation sprite 0
-N main.CreateSpriteAnimation anim_length 1
-N main.CreateSpriteAnimation speed 2
-N main.SetSpriteFrame sprite 0
-N main.SetSpriteFrame frame 1
-N main.GetSpriteFrame sprite 0
-N main.SetSpriteAnimationFrame sprite 0
-N main.SetSpriteAnimationFrame animation 1
-N main.SetSpriteAnimationFrame anim_frame 2
-N main.SetSpriteAnimationFrame frame 3
-N main.GetSpriteAnimationFrame sprite 0
-N main.GetSpriteAnimationFrame animation 1
-N main.GetSpriteAnimationFrame anim_frame 2
-N main.SetSpriteAnimationLength sprite 0
-N main.SetSpriteAnimationLength animation 1
-N main.SetSpriteAnimationLength anim_length 2
-N main.GetSpriteAnimationLength sprite 0
-N main.GetSpriteAnimationLength animation 1
-N main.SetSpriteAnimationSpeed sprite 0
-N main.SetSpriteAnimationSpeed animation 1
-N main.SetSpriteAnimationSpeed speed 2
-N main.GetSpriteAnimationSpeed sprite 0
-N main.GetSpriteAnimationSpeed animation 1
-N main.SetSpriteAnimation sprite 0
-N main.SetSpriteAnimation animation 1
-N main.SetSpriteAnimation num_loops 2
-N main.GetSpriteAnimation sprite 0
-N main.GetSpriteCurrentAnimationFrame sprite 0
-N main.NumSpriteAnimationLoops sprite 0
-N main.SpriteAnimationIsPlaying sprite 0
-N main.DeleteSpriteAnimation sprite 0
-N main.DeleteSpriteAnimation animation 1
-N main.getSpriteCenter spr_id 0
-BN main.getSpriteCenter x 1
-BN main.getSpriteCenter y 2
-N main.setSpriteLinearVelocity spr_id 0
-N main.setSpriteLinearVelocity x 1
-N main.setSpriteLinearVelocity y 2
-N main.getSpriteLinearVelocity spr_id 0
-BN main.getSpriteLinearVelocity x 1
-BN main.getSpriteLinearVelocity y 2
-N main.setSpriteAngularVelocity spr_id 0
-N main.setSpriteAngularVelocity av 1
-N main.getSpriteAngularVelocity spr_id 0
-N main.applySpriteForce spr_id 0
-N main.applySpriteForce fX 1
-N main.applySpriteForce fY 2
-N main.applySpriteForce pX 3
-N main.applySpriteForce pY 4
-N main.applySpriteCentralForce spr_id 0
-N main.applySpriteCentralForce x 1
-N main.applySpriteCentralForce y 2
-N main.applySpriteTorque spr_id 0
-N main.applySpriteTorque torque 1
-N main.applySpriteLinearImpulse spr_id 0
-N main.applySpriteLinearImpulse iX 1
-N main.applySpriteLinearImpulse iY 2
-N main.applySpriteLinearImpulse pX 3
-N main.applySpriteLinearImpulse pY 4
-N main.applySpriteAngularImpulse spr_id 0
-N main.applySpriteAngularImpulse impulse 1
-N main.getSpriteMass spr_id 0
-N main.getSpriteInertia spr_id 0
-N main.getSpriteWorldPoint spr_id 0
-N main.getSpriteWorldPoint lX 1
-N main.getSpriteWorldPoint lY 2
-BN main.getSpriteWorldPoint x 3
-BN main.getSpriteWorldPoint y 4
-N main.getSpriteWorldVector spr_id 0
-N main.getSpriteWorldVector lX 1
-N main.getSpriteWorldVector lY 2
-BN main.getSpriteWorldVector x 3
-BN main.getSpriteWorldVector y 4
-N main.getSpriteLocalPoint spr_id 0
-N main.getSpriteLocalPoint wX 1
-N main.getSpriteLocalPoint wY 2
-BN main.getSpriteLocalPoint x 3
-BN main.getSpriteLocalPoint y 4
-N main.getSpriteLocalVector spr_id 0
-N main.getSpriteLocalVector wX 1
-N main.getSpriteLocalVector wY 2
-BN main.getSpriteLocalVector x 3
-BN main.getSpriteLocalVector y 4
-N main.getSpriteLinearVelocityFromLocalPoint spr_id 0
-N main.getSpriteLinearVelocityFromLocalPoint pX 1
-N main.getSpriteLinearVelocityFromLocalPoint pY 2
-BN main.getSpriteLinearVelocityFromLocalPoint x 3
-BN main.getSpriteLinearVelocityFromLocalPoint y 4
-N main.getSpriteLinearVelocityFromWorldPoint spr_id 0
-N main.getSpriteLinearVelocityFromWorldPoint wX 1
-N main.getSpriteLinearVelocityFromWorldPoint wY 2
-BN main.getSpriteLinearVelocityFromWorldPoint x 3
-BN main.getSpriteLinearVelocityFromWorldPoint y 4
-N main.getSpriteLinearDamping spr_id 0
-N main.setSpriteLinearDamping spr_id 0
-N main.setSpriteLinearDamping linearDamping 1
-N main.getSpriteAngularDamping spr_id 0
-N main.setSpriteAngularDamping spr_id 0
-N main.setSpriteAngularDamping angularDamping 1
-N main.getSpriteGravityScale spr_id 0
-N main.setSpriteGravityScale spr_id 0
-N main.setSpriteGravityScale g_scale 1
-N main.setSpriteBullet spr_id 0
-N main.setSpriteBullet flag 1
-N main.spriteIsBullet spr_id 0
-N main.setSpriteSleepAllowed spr_id 0
-N main.setSpriteSleepAllowed flag 1
-N main.spriteSleepAllowed spr_id 0
-N main.setSpriteAwake spr_id 0
-N main.setSpriteAwake flag 1
-N main.spriteIsAwake spr_id 0
-N main.setSpriteFixedRotation spr_id 0
-N main.setSpriteFixedRotation flag 1
-N main.spriteIsFixedRotation spr_id 0
-N main.SetSpriteDensity spr_id 0
-N main.SetSpriteDensity density 1
-N main.GetSpriteDensity spr_id 0
-N main.SetSpriteFriction spr_id 0
-N main.SetSpriteFriction friction 1
-N main.GetSpriteFriction spr_id 0
-N main.SetSpriteRestitution spr_id 0
-N main.SetSpriteRestitution restitution 1
-N main.GetSpriteRestitution spr_id 0
-N main.SetSpriteRestitutionThreshold spr_id 0
-N main.SetSpriteRestitutionThreshold threshold 1
-N main.GetSpriteRestitutionThreshold spr_id 0
-N main.GetSpriteAABB spr_id 0
-BN main.GetSpriteAABB x1 1
-BN main.GetSpriteAABB y1 2
-BN main.GetSpriteAABB x2 3
-BN main.GetSpriteAABB y2 4
-N main.SetGravity2D x 0
-N main.SetGravity2D y 1
-BN main.GetGravity2D x 0
-BN main.GetGravity2D y 1
-N main.SetWorld2DTimeStep ts 0
-N main.SetWorld2DVelocityIterations v 0
-N main.SetWorld2DPositionIterations p 0
-N main.SetWorld2DAutoClearForces flag 0
-N main.createDistanceJoint spriteA 0
-N main.createDistanceJoint spriteB 1
-N main.createDistanceJoint aX 2
-N main.createDistanceJoint aY 3
-N main.createDistanceJoint bX 4
-N main.createDistanceJoint bY 5
-N main.createDistanceJoint collide_connect 6
-N main.createFrictionJoint spriteA 0
-N main.createFrictionJoint spriteB 1
-N main.createFrictionJoint x 2
-N main.createFrictionJoint y 3
-N main.createFrictionJoint collide_connect 4
-N main.createGearJoint jointA 0
-N main.createGearJoint jointB 1
-N main.createGearJoint g_ratio 2
-N main.createGearJoint collide_connect 3
-N main.createMotorJoint spriteA 0
-N main.createMotorJoint spriteB 1
-N main.createMotorJoint collide_connect 2
-N main.createPrismaticJoint spriteA 0
-N main.createPrismaticJoint spriteB 1
-N main.createPrismaticJoint aX 2
-N main.createPrismaticJoint aY 3
-N main.createPrismaticJoint axisX 4
-N main.createPrismaticJoint axisY 5
-N main.createPrismaticJoint collide_connect 6
-N main.createPulleyJoint spriteA 0
-N main.createPulleyJoint spriteB 1
-N main.createPulleyJoint gaX 2
-N main.createPulleyJoint gaY 3
-N main.createPulleyJoint gbX 4
-N main.createPulleyJoint gbY 5
-N main.createPulleyJoint aX 6
-N main.createPulleyJoint aY 7
-N main.createPulleyJoint bX 8
-N main.createPulleyJoint bY 9
-N main.createPulleyJoint j_ratio 10
-N main #fn11 11
-N main.createPulleyJoint collide_connect 11
-N main.createRevoluteJoint spriteA 0
-N main.createRevoluteJoint spriteB 1
-N main.createRevoluteJoint x 2
-N main.createRevoluteJoint y 3
-N main.createRevoluteJoint collide_connect 4
-N main.createWeldJoint spriteA 0
-N main.createWeldJoint spriteB 1
-N main.createWeldJoint x 2
-N main.createWeldJoint y 3
-N main.createWeldJoint collide_connect 4
-N main.createWheelJoint spriteA 0
-N main.createWheelJoint spriteB 1
-N main.createWheelJoint aX 2
-N main.createWheelJoint aY 3
-N main.createWheelJoint axisX 4
-N main.createWheelJoint axisY 5
-N main.createWheelJoint collide_connect 6
-N main.getJointWorldAnchorA joint_id 0
-BN main.getJointWorldAnchorA x 1
-BN main.getJointWorldAnchorA y 2
-N main.getJointWorldAnchorB joint_id 0
-BN main.getJointWorldAnchorB x 1
-BN main.getJointWorldAnchorB y 2
-N main.getJointReactionForce joint_id 0
-N main.getJointReactionForce inv_dt 1
-BN main.getJointReactionForce x 2
-BN main.getJointReactionForce y 3
-N main.getJointReactionTorque joint_id 0
-N main.getJointReactionTorque inv_dt 1
-N main.getJointLocalAnchorA joint_id 0
-BN main.getJointLocalAnchorA x 1
-BN main.getJointLocalAnchorA y 2
-N main.getJointLocalAnchorB joint_id 0
-BN main.getJointLocalAnchorB x 1
-BN main.getJointLocalAnchorB y 2
-N main.setJointLength joint_id 0
-N main.setJointLength jlen 1
-N main.getJointLength joint_id 0
-N main.setJointMinLength joint_id 0
-N main.setJointMinLength jlen 1
-N main.getJointMinLength joint_id 0
-N main.setJointMaxLength joint_id 0
-N main.setJointMaxLength jlen 1
-N main.getJointMaxLength joint_id 0
-N main.getJointCurrentLength joint_id 0
-N main.setJointStiffness joint_id 0
-N main.setJointStiffness stiffness 1
-N main.getJointStiffness joint_id 0
-N main.setJointDamping joint_id 0
-N main.setJointDamping damping 1
-N main.getJointDamping joint_id 0
-N main.setJointMaxForce joint_id 0
-N main.setJointMaxForce force 1
-N main.getJointMaxForce joint_id 0
-N main.setJointMaxTorque joint_id 0
-N main.setJointMaxTorque torque 1
-N main.getJointMaxTorque joint_id 0
-N main.setJointCorrectionFactor joint_id 0
-N main.setJointCorrectionFactor factor 1
-N main.getJointCorrectionFactor joint_id 0
-N main.setJointRatio joint_id 0
-N main.setJointRatio j_ratio 1
-N main.getJointRatio joint_id 0
-N main.setJointLinearOffset joint_id 0
-N main.setJointLinearOffset x 1
-N main.setJointLinearOffset y 2
-N main.getJointLinearOffset joint_id 0
-BN main.getJointLinearOffset x 1
-BN main.getJointLinearOffset y 2
-N main.setJointAngularOffset joint_id 0
-N main.setJointAngularOffset angleOffset 1
-N main.getJointAngularOffset joint_id 0
-N main.getJointLocalAxisA joint_id 0
-BN main.getJointLocalAxisA x 1
-BN main.getJointLocalAxisA y 2
-N main.getJointReferenceAngle joint_id 0
-N main.getJointTranslation joint_id 0
-N main.getJointSpeed joint_id 0
-N main.jointIsLimitEnabled joint_id 0
-N main.enableJointLimit joint_id 0
-N main.enableJointLimit flag 1
-N main.getJointLowerLimit joint_id 0
-N main.getJointUpperLimit joint_id 0
-N main.setJointLimits joint_id 0
-N main.setJointLimits lower_limit 1
-N main.setJointLimits upper_limit 2
-N main.jointMotorIsEnabled joint_id 0
-N main.enableJointMotor joint_id 0
-N main.enableJointMotor flag 1
-N main.setJointMotorSpeed joint_id 0
-N main.setJointMotorSpeed speed 1
-N main.getJointMotorSpeed joint_id 0
-N main.setJointMaxMotorForce joint_id 0
-N main.setJointMaxMotorForce force 1
-N main.getJointMaxMotorForce joint_id 0
-N main.getJointMotorForce joint_id 0
-N main.getJointMotorForce inv_dt 1
-N main.setJointMaxMotorTorque joint_id 0
-N main.setJointMaxMotorTorque torque 1
-N main.getJointMaxMotorTorque joint_id 0
-N main.getJointMotorTorque joint_id 0
-N main.getJointMotorTorque inv_dt 1
-N main.getJointGroundAnchorA joint_id 0
-BN main.getJointGroundAnchorA x 1
-BN main.getJointGroundAnchorA y 2
-N main.getJointGroundAnchorB joint_id 0
-BN main.getJointGroundAnchorB x 1
-BN main.getJointGroundAnchorB y 2
-N main.getJointLengthA joint_id 0
-N main.getJointLengthB joint_id 0
-N main.getJointCurrentLengthA joint_id 0
-N main.getJointCurrentLengthB joint_id 0
-N main.setJointOrigin joint_id 0
-N main.setJointOrigin x 1
-N main.setJointOrigin y 2
-N main.getJointAngle joint_id 0
-N main.getJointLinearSpeed joint_id 0
-N main.getJointAngularSpeed joint_id 0
-N main.DeleteJoint joint_id 0
-N main.CreateTileSet img_id 0
-N main.CreateTileSet tile_w 1
-N main.CreateTileSet tile_h 2
-N main.SetTileAnimationLength tileset 0
-N main.SetTileAnimationLength base_tile 1
-N main.SetTileAnimationLength num_frames 2
-N main.GetTileAnimationLength tileset 0
-N main.GetTileAnimationLength base_tile 1
-N main.SetTileAnimationFrame tileset 0
-N main.SetTileAnimationFrame base_tile 1
-N main.SetTileAnimationFrame anim_frame 2
-N main.SetTileAnimationFrame tile_frame 3
-N main.GetTileAnimationFrame tileset 0
-N main.GetTileAnimationFrame base_tile 1
-N main.GetTileAnimationFrame anim_frame 2
-N main.SetTileAnimationSpeed tileset 0
-N main.SetTileAnimationSpeed base_tile 1
-N main.SetTileAnimationSpeed speed 2
-N main.GetTileAnimationSpeed tileset 0
-N main.GetTileAnimationSpeed base_tile 1
-N main.CreateTileMap tileset 0
-N main.CreateTileMap widthInTiles 1
-N main.CreateTileMap heightInTiles 2
-N main.SetTileMapSize tilemap 0
-N main.SetTileMapSize widthInTiles 1
-N main.SetTileMapSize heightInTiles 2
-N main.GetTileMapSize tilemap 0
-BN main.GetTileMapSize widthInTiles 1
-BN main.GetTileMapSize heightInTiles 2
-N main.SetTile tilemap 0
-N main.SetTile tile 1
-N main.SetTile x 2
-N main.SetTile y 3
-N main.GetTile tilemap 0
-N main.GetTile x 1
-N main.GetTile y 2
-N main.FillTile tilemap 0
-N main.FillTile tile 1
-N main.FillTile x 2
-N main.FillTile y 3
-N main.FillTile widthInTiles 4
-N main.FillTile heightInTiles 5
-N main.DrawTileMap tilemap 0
-N main.DrawTileMap x 1
-N main.DrawTileMap y 2
-N main.DrawTileMap w 3
-N main.DrawTileMap h 4
-N main.DrawTileMap offset_x 5
-N main.DrawTileMap offset_y 6
-S main.LoadMesh mesh_file$ 0
-N main.DeleteMesh mesh 0
-N main.AddMeshBuffer mesh 0
-N main.AddMeshBuffer vertex_count 1
-BN main.AddMeshBuffer vertex_data 2
-BN main.AddMeshBuffer normal_data 3
-BN main.AddMeshBuffer uv_data 4
-N main.AddMeshBuffer index_count 5
-BN main.AddMeshBuffer index_data 6
-S main.LoadMeshFromArchive archive$ 0
-S main.LoadMeshFromArchive mesh_file$ 1
-N main.CreatePlaneMesh w 0
-N main.CreatePlaneMesh h 1
-N main.CreatePlaneMesh tileCount_w 2
-N main.CreatePlaneMesh tileCount_h 3
-S main.LoadAN8 an8_file$ 0
-N main.LoadMeshFromAN8 an8_project 0
-S main.LoadMeshFromAN8 an8_scene$ 0
-N main.GetNumAN8Scenes an8_project 0
-N main.GetAN8SceneName$ an8_project 0
-N main.GetAN8SceneName$ scene_num 1
-N main.CreateAnimatedActor mesh 0
-N main.CreateOctreeActor mesh 0
-N main.CreateCubeActor cube_size 0
-N main.CreateSphereActor radius 0
-N main.CreateWaterActor mesh 0
-N main.CreateWaterActor waveHeight 1
-N main.CreateWaterActor waveSpeed 2
-N main.CreateWaterActor waveLength 3
-S main.CreateTerrainActor hmap_file$ 0
-N main.CreateParticleActor particle_type 0
-N main.DeleteActor actor 0
-N main.GetActorTransform actor 0
-N main.GetActorTransform matrix 1
-N main.SetActorPosition actor 0
-N main.SetActorPosition x 1
-N main.SetActorPosition y 2
-N main.SetActorPosition z 3
-N main.TranslateActorLocal actor 0
-N main.TranslateActorLocal x 1
-N main.TranslateActorLocal y 2
-N main.TranslateActorLocal z 3
-N main.TranslateActorWorld actor 0
-N main.TranslateActorWorld x 1
-N main.TranslateActorWorld y 2
-N main.TranslateActorWorld z 3
-N main.GetActorPosition actor 0
-BN main.GetActorPosition x 1
-BN main.GetActorPosition y 2
-BN main.GetActorPosition z 3
-N main.SetActorScale actor 0
-N main.SetActorScale x 1
-N main.SetActorScale y 2
-N main.SetActorScale z 3
-N main.ScaleActor actor 0
-N main.ScaleActor x 1
-N main.ScaleActor y 2
-N main.ScaleActor z 3
-N main.GetActorScale actor 0
-BN main.GetActorScale x 1
-BN main.GetActorScale y 2
-BN main.GetActorScale z 3
-N main.SetActorRotation actor 0
-N main.SetActorRotation x 1
-N main.SetActorRotation y 2
-N main.SetActorRotation z 3
-N main.RotateActor actor 0
-N main.RotateActor x 1
-N main.RotateActor y 2
-N main.RotateActor z 3
-N main.GetActorRotation actor 0
-BN main.GetActorRotation x 1
-BN main.GetActorRotation y 2
-BN main.GetActorRotation z 3
-N main.SetActorVisible actor 0
-N main.SetActorVisible flag 1
-N main.ActorIsVisible actor 0
-N main.SetActorAutoCulling actor 0
-N main.SetActorAutoCulling cull_type 1
-N main.GetActorAutoCulling actor 0
-N main.AddActorShadow actor 0
-N main.RemoveActorShadow actor 0
-N main.ActorExists actor 0
-N main.CreateActorAnimation actor 0
-N main.CreateActorAnimation start_frame 1
-N main.CreateActorAnimation end_frame 2
-N main.CreateActorAnimation speed 3
-N main.SetActorAnimation actor 0
-N main.SetActorAnimation animation 1
-N main.SetActorAnimation num_loops 2
-N main.SetActorAnimationSpeed actor 0
-N main.SetActorAnimationSpeed animation 1
-N main.SetActorAnimationSpeed speed 2
-N main.SetActorAnimationFrames actor 0
-N main.SetActorAnimationFrames animation 1
-N main.SetActorAnimationFrames start_frame 2
-N main.SetActorAnimationFrames end_frame 3
-N main.GetActorCurrentAnimation actor 0
-N main.GetActorAnimationSpeed actor 0
-N main.GetActorAnimationSpeed animation 1
-N main.GetActorAnimationStartFrame actor 0
-N main.GetActorAnimationStartFrame animation 1
-N main.GetActorAnimationEndFrame actor 0
-N main.GetActorAnimationEndFrame animation 1
-N main.SetActorFrame actor 0
-N main.SetActorFrame frame 1
-N main.GetActorFrame actor 0
-N main.ActorAnimationIsPlaying actor 0
-N main.NumActorAnimationLoops actor 0
-N main.SetActorMD2Animation actor 0
-N main.SetActorMD2Animation anim 1
-N main.SetActorMD2Animation num_loops 2
-N main.SetActorMD2AnimationByName actor 0
-S main.SetActorMD2AnimationByName anim_name$ 0
-N main.SetActorMD2AnimationByName num_loops 1
-N main.DeleteActorAnimation actor 0
-N main.DeleteActorAnimation animation 1
-N main.SetGravity3D x 0
-N main.SetGravity3D y 1
-N main.SetGravity3D z 2
-BN main.GetGravity3D x 0
-BN main.GetGravity3D y 1
-BN main.GetGravity3D z 2
-N main.SetActorCollisionShape actor 0
-N main.SetActorCollisionShape shape_type 1
-N main.SetActorCollisionShape mass 2
-N main.GetActorCollisionShape actor 0
-N main.SetActorSolid actor 0
-N main.SetActorSolid flag 1
-N main.ActorIsSolid actor 0
-N main.GetActorCollision actor1 0
-N main.GetActorCollision actor2 1
-N main.SetActorGravity actor 0
-N main.SetActorGravity x 1
-N main.SetActorGravity y 2
-N main.SetActorGravity z 3
-N main.GetActorGravity actor 0
-BN main.GetActorGravity x 1
-BN main.GetActorGravity y 2
-BN main.GetActorGravity z 3
-N main.setActorDamping actor 0
-N main.setActorDamping lin_damping 1
-N main.setActorDamping ang_damping 2
-N main.getActorLinearDamping actor 0
-N main.getActorAngularDamping actor 0
-N main.getActorLinearSleepThreshold actor 0
-N main.getActorAngularSleepThreshold actor 0
-N main.applyActorDamping actor 0
-N main.applyActorDamping timeStep 1
-N main.setActorMassProperties actor 0
-N main.setActorMassProperties mass 1
-N main.setActorMassProperties inertia_x 2
-N main.setActorMassProperties inertia_y 3
-N main.setActorMassProperties inertia_z 4
-N main.getActorLinearFactor actor 0
-BN main.getActorLinearFactor x 1
-BN main.getActorLinearFactor y 2
-BN main.getActorLinearFactor z 3
-N main.setActorLinearFactor actor 0
-N main.setActorLinearFactor x 1
-N main.setActorLinearFactor y 2
-N main.setActorLinearFactor z 3
-N main.getActorInverseMass actor 0
-N main.integrateActorVelocities actor 0
-N main.integrateActorVelocities v_step 1
-N main.applyActorCentralForceLocal actor 0
-N main.applyActorCentralForceLocal x 1
-N main.applyActorCentralForceLocal y 2
-N main.applyActorCentralForceLocal z 3
-N main.applyActorCentralForceWorld actor 0
-N main.applyActorCentralForceWorld x 1
-N main.applyActorCentralForceWorld y 2
-N main.applyActorCentralForceWorld z 3
-N main.getActorTotalForce actor 0
-BN main.getActorTotalForce x 1
-BN main.getActorTotalForce y 2
-BN main.getActorTotalForce z 3
-N main.getActorTotalTorque actor 0
-BN main.getActorTotalTorque x 1
-BN main.getActorTotalTorque y 2
-BN main.getActorTotalTorque z 3
-N main.getActorInverseInertiaDiagLocal actor 0
-BN main.getActorInverseInertiaDiagLocal x 1
-BN main.getActorInverseInertiaDiagLocal y 2
-BN main.getActorInverseInertiaDiagLocal z 3
-N main.setActorInverseInertiaDiagLocal actor 0
-N main.setActorInverseInertiaDiagLocal x 1
-N main.setActorInverseInertiaDiagLocal y 2
-N main.setActorInverseInertiaDiagLocal z 3
-N main.setActorSleepThresholds actor 0
-N main.setActorSleepThresholds linear 1
-N main.setActorSleepThresholds angular 2
-N main.applyActorTorqueLocal actor 0
-N main.applyActorTorqueLocal x 1
-N main.applyActorTorqueLocal y 2
-N main.applyActorTorqueLocal z 3
-N main.applyActorTorqueWorld actor 0
-N main.applyActorTorqueWorld x 1
-N main.applyActorTorqueWorld y 2
-N main.applyActorTorqueWorld z 3
-N main.applyActorForceLocal actor 0
-N main.applyActorForceLocal x 1
-N main.applyActorForceLocal y 2
-N main.applyActorForceLocal z 3
-N main.applyActorForceLocal rel_x 4
-N main.applyActorForceLocal rel_y 5
-N main.applyActorForceLocal rel_z 6
-N main.applyActorForceWorld actor 0
-N main.applyActorForceWorld x 1
-N main.applyActorForceWorld y 2
-N main.applyActorForceWorld z 3
-N main.applyActorForceWorld rel_x 4
-N main.applyActorForceWorld rel_y 5
-N main.applyActorForceWorld rel_z 6
-N main.applyActorCentralImpulseLocal actor 0
-N main.applyActorCentralImpulseLocal x 1
-N main.applyActorCentralImpulseLocal y 2
-N main.applyActorCentralImpulseLocal z 3
-N main.applyActorCentralImpulseWorld actor 0
-N main.applyActorCentralImpulseWorld x 1
-N main.applyActorCentralImpulseWorld y 2
-N main.applyActorCentralImpulseWorld z 3
-N main.applyActorTorqueImpulseLocal actor 0
-N main.applyActorTorqueImpulseLocal x 1
-N main.applyActorTorqueImpulseLocal y 2
-N main.applyActorTorqueImpulseLocal z 3
-N main.applyActorTorqueImpulseWorld actor 0
-N main.applyActorTorqueImpulseWorld x 1
-N main.applyActorTorqueImpulseWorld y 2
-N main.applyActorTorqueImpulseWorld z 3
-N main.applyActorImpulseLocal actor 0
-N main.applyActorImpulseLocal x 1
-N main.applyActorImpulseLocal y 2
-N main.applyActorImpulseLocal z 3
-N main.applyActorImpulseLocal rel_x 4
-N main.applyActorImpulseLocal rel_y 5
-N main.applyActorImpulseLocal rel_z 6
-N main.applyActorImpulseWorld actor 0
-N main.applyActorImpulseWorld x 1
-N main.applyActorImpulseWorld y 2
-N main.applyActorImpulseWorld z 3
-N main.applyActorImpulseWorld rel_x 4
-N main.applyActorImpulseWorld rel_y 5
-N main.applyActorImpulseWorld rel_z 6
-N main.clearActorForces actor 0
-N main.updateActorInertiaTensor actor 0
-N main.getActorCenter actor 0
-BN main.getActorCenter x 1
-BN main.getActorCenter y 2
-BN main.getActorCenter z 3
-N main.getActorRotationQ actor 0
-BN main.getActorRotationQ x 1
-BN main.getActorRotationQ y 2
-BN main.getActorRotationQ z 3
-BN main.getActorRotationQ w 4
-N main.getActorLinearVelocityWorld actor 0
-BN main.getActorLinearVelocityWorld x 1
-BN main.getActorLinearVelocityWorld y 2
-BN main.getActorLinearVelocityWorld z 3
-N main.getActorAngularVelocityWorld actor 0
-BN main.getActorAngularVelocityWorld x 1
-BN main.getActorAngularVelocityWorld y 2
-BN main.getActorAngularVelocityWorld z 3
-N main.setActorLinearVelocityLocal actor 0
-N main.setActorLinearVelocityLocal x 1
-N main.setActorLinearVelocityLocal y 2
-N main.setActorLinearVelocityLocal z 3
-N main.setActorLinearVelocityWorld actor 0
-N main.setActorLinearVelocityWorld x 1
-N main.setActorLinearVelocityWorld y 2
-N main.setActorLinearVelocityWorld z 3
-N main.setActorAngularVelocityLocal actor 0
-N main.setActorAngularVelocityLocal x 1
-N main.setActorAngularVelocityLocal y 2
-N main.setActorAngularVelocityLocal z 3
-N main.setActorAngularVelocityWorld actor 0
-N main.setActorAngularVelocityWorld x 1
-N main.setActorAngularVelocityWorld y 2
-N main.setActorAngularVelocityWorld z 3
-N main.getActorVelocityInLocalPoint actor 0
-N main.getActorVelocityInLocalPoint rel_x 1
-N main.getActorVelocityInLocalPoint rel_y 2
-N main.getActorVelocityInLocalPoint rel_z 3
-BN main.getActorVelocityInLocalPoint x 4
-BN main.getActorVelocityInLocalPoint y 5
-BN main.getActorVelocityInLocalPoint z 6
-N main.getActorLinearVelocityLocal actor 0
-BN main.getActorLinearVelocityLocal x 1
-BN main.getActorLinearVelocityLocal y 2
-BN main.getActorLinearVelocityLocal z 3
-N main.getActorAngularVelocityLocal actor 0
-BN main.getActorAngularVelocityLocal x 1
-BN main.getActorAngularVelocityLocal y 2
-BN main.getActorAngularVelocityLocal z 3
-N main.getActorAABB actor 0
-BN main.getActorAABB min_x 1
-BN main.getActorAABB min_y 2
-BN main.getActorAABB min_z 3
-BN main.getActorAABB max_x 4
-BN main.getActorAABB max_y 5
-BN main.getActorAABB max_z 6
-N main.computeActorImpulseDenominator actor 0
-N main.computeActorImpulseDenominator pos_x 1
-N main.computeActorImpulseDenominator pos_y 2
-N main.computeActorImpulseDenominator pos_z 3
-N main.computeActorImpulseDenominator normal_x 4
-N main.computeActorImpulseDenominator normal_y 5
-N main.computeActorImpulseDenominator normal_z 6
-N main.computeActorAngularImpulseDenominator actor 0
-N main.computeActorAngularImpulseDenominator x 1
-N main.computeActorAngularImpulseDenominator y 2
-N main.computeActorAngularImpulseDenominator z 3
-N main.setActorAngularFactor actor 0
-N main.setActorAngularFactor x 1
-N main.setActorAngularFactor y 2
-N main.setActorAngularFactor z 3
-N main.getActorAngularFactor actor 0
-BN main.getActorAngularFactor x 1
-BN main.getActorAngularFactor y 2
-BN main.getActorAngularFactor z 3
-N main.computeActorGyroImpulseLocal actor 0
-N main.computeActorGyroImpulseLocal dt 1
-BN main.computeActorGyroImpulseLocal x 2
-BN main.computeActorGyroImpulseLocal y 3
-BN main.computeActorGyroImpulseLocal z 4
-N main.computeActorGyroImpulseWorld actor 0
-N main.computeActorGyroImpulseWorld dt 1
-BN main.computeActorGyroImpulseWorld x 2
-BN main.computeActorGyroImpulseWorld y 3
-BN main.computeActorGyroImpulseWorld z 4
-N main.getActorLocalInertia actor 0
-BN main.getActorLocalInertia x 1
-BN main.getActorLocalInertia y 2
-BN main.getActorLocalInertia z 3
-N main.SetActorSleepState actor 0
-N main.SetActorSleepState state 1
-N main.createPointConstraint actorA 0
-N main.createPointConstraint pxA 1
-N main.createPointConstraint pyA 2
-N main.createPointConstraint pzA 3
-N main.createPointConstraintEx actorA 0
-N main.createPointConstraintEx actorB 1
-N main.createPointConstraintEx pxA 2
-N main.createPointConstraintEx pyA 3
-N main.createPointConstraintEx pzA 4
-N main.createPointConstraintEx pxB 5
-N main.createPointConstraintEx pyB 6
-N main.createPointConstraintEx pzB 7
-N main.setPointPivotA constraint_id 0
-N main.setPointPivotA x 1
-N main.setPointPivotA y 2
-N main.setPointPivotA z 3
-N main.setPointPivotB constraint_id 0
-N main.setPointPivotB x 1
-N main.setPointPivotB y 2
-N main.setPointPivotB z 3
-N main.createHingeConstraint actorA 0
-N main.createHingeConstraint frameA 1
-N main.createHingeConstraint useReferenceFrameA 2
-N main.createHingeConstraintEx actorA 0
-N main.createHingeConstraintEx actorB 1
-N main.createHingeConstraintEx frameA 2
-N main.createHingeConstraintEx frameB 3
-N main.createHingeConstraintEx useReferenceFrameA 4
-N main.createSlideConstraint actorA 0
-N main.createSlideConstraint frameInB_matrix 1
-N main.createSlideConstraint useLinearReferenceFrameA 2
-N main.createSlideConstraintEx actorA 0
-N main.createSlideConstraintEx actorB 1
-N main.createSlideConstraintEx frameInA_matrix 2
-N main.createSlideConstraintEx frameInB_matrix 3
-N main.createSlideConstraintEx useLinearReferenceFrameA 4
-N main.createConeConstraint actorA 0
-N main.createConeConstraint rbAFrame_matrix 1
-N main.createConeConstraintEx actorA 0
-N main.createConeConstraintEx actorB 1
-N main.createConeConstraintEx rbAFrame_matrix 2
-N main.createConeConstraintEx rbBFrame_matrix 3
-N main.deleteConstraint constraint_id 0
-N main.getConstraintFrameOffsetA constraint_id 0
-BN main.getConstraintFrameOffsetA x 1
-BN main.getConstraintFrameOffsetA y 2
-BN main.getConstraintFrameOffsetA z 3
-BN main.getConstraintFrameOffsetA rx 4
-BN main.getConstraintFrameOffsetA ry 5
-BN main.getConstraintFrameOffsetA rz 6
-N main.getConstraintFrameOffsetB constraint_id 0
-BN main.getConstraintFrameOffsetB x 1
-BN main.getConstraintFrameOffsetB y 2
-BN main.getConstraintFrameOffsetB z 3
-BN main.getConstraintFrameOffsetB rx 4
-BN main.getConstraintFrameOffsetB ry 5
-BN main.getConstraintFrameOffsetB rz 6
-N main.useConstraintFrameOffset constraint_id 0
-N main.useConstraintFrameOffset flag 1
-N main.getHingeAngle constraint_id 0
-N main.getHingeAngleEx constraint_id 0
-N main.getHingeAngleEx t_matrixA 1
-N main.getHingeAngleEx t_matrixB 2
-N main.getConstraintBreakingImpulseThreshold constraint_id 0
-N main.getConstraintAFrame constraint_id 0
-N main.getConstraintAFrame mA 1
-N main.getConstraintBFrame constraint_id 0
-N main.getConstraintBFrame mA 1
-N main.setHingeAxis constraint_id 0
-N main.setHingeAxis x 1
-N main.setHingeAxis y 2
-N main.setHingeAxis z 3
-N main.setConstraintBreakingImpulseThreshold constraint_id 0
-N main.setConstraintBreakingImpulseThreshold threshold 1
-N main.setConstraintFrames constraint_id 0
-N main.setConstraintFrames frameA_matrix 1
-N main.setConstraintFrames frameB_matrix 2
-N main.setHingeLimit constraint_id 0
-N main.setHingeLimit low 1
-N main.setHingeLimit high 2
-N main.setHingeLimit softness 3
-N main.setHingeLimit bias_factor 4
-N main.setHingeLimit relaxation_factor 5
-N main.setConeLimit constraint_id 0
-N main.setConeLimit swingSpan1 1
-N main.setConeLimit swingSpan2 2
-N main.setConeLimit twistSpan 3
-N main.setConeLimit softness 4
-N main.setConeLimit bias_factor 5
-N main.setConeLimit relaxation_factor 6
-N main.getHingeLimitBiasFactor constraint_id 0
-N main.getHingeLimitRelaxationFactor constraint_id 0
-N main.getHingeLimitSign constraint_id 0
-N main.getHingeSolveLimit constraint_id 0
-N main.useHingeReferenceFrameA constraint_id 0
-N main.useHingeReferenceFrameA flag 1
-N main.getConstraintAppliedImpulse constraint_id 0
-N main.getConstraintFixedActor constraint_id 0
-N main.getPointPivotA constraint_id 0
-BN main.getPointPivotA x 1
-BN main.getPointPivotA y 2
-BN main.getPointPivotA z 3
-N main.getPointPivotB constraint_id 0
-BN main.getPointPivotB x 1
-BN main.getPointPivotB y 2
-BN main.getPointPivotB z 3
-N main.getConstraintActorA constraint_id 0
-N main.getConstraintActorB constraint_id 0
-N main.setConstraintSolverIterations constraint_id 0
-N main.setConstraintSolverIterations num 1
-N main.getConeBiasFactor constraint_id 0
-N main.getConeDamping constraint_id 0
-N main.getConeFixThresh constraint_id 0
-N main.getConeLimit constraint_id 0
-N main.getConeLimit limit_index 1
-N main.getConstraintLimitSoftness constraint_id 0
-N main.getConstraintSolverIterations constraint_id 0
-N main.getConeAnglePoint constraint_id 0
-N main.getConeAnglePoint angle 1
-N main.getConeAnglePoint c_len 2
-BN main.getConeAnglePoint x 3
-BN main.getConeAnglePoint y 4
-BN main.getConeAnglePoint z 5
-N main.getConstraintAngularOnly constraint_id 0
-N main.getConeSolveSwingLimit constraint_id 0
-N main.getConeSolveTwistLimit constraint_id 0
-N main.getConeSwingSpan1 constraint_id 0
-N main.getConeSwingSpan2 constraint_id 0
-N main.getConeTwistAngle constraint_id 0
-N main.getConeTwistLimitSign constraint_id 0
-N main.getConeTwistSpan constraint_id 0
-N main.setConstraintAngularOnly constraint_id 0
-N main.setConstraintAngularOnly flag 1
-N main.setConeDamping constraint_id 0
-N main.setConeDamping damping 1
-N main.setConeFixThresh constraint_id 0
-N main.setConeFixThresh fixThresh 1
-N main.getSlideAnchorA constraint_id 0
-BN main.getSlideAnchorA x 1
-BN main.getSlideAnchorA y 2
-BN main.getSlideAnchorA z 3
-N main.getSlideAnchorB constraint_id 0
-BN main.getSlideAnchorB x 1
-BN main.getSlideAnchorB y 2
-BN main.getSlideAnchorB z 3
-N main.getSlideAngDepth constraint_id 0
-N main.getSlideAngularPos constraint_id 0
-N main.getSlideDampingDirAng constraint_id 0
-N main.getSlideDampingDirLin constraint_id 0
-N main.getSlideDampingLimAng constraint_id 0
-N main.getSlideDampingLimLin constraint_id 0
-N main.getSlideDampingOrthoAng constraint_id 0
-N main.getSlideDampingOrthoLin constraint_id 0
-N main.getSlideLinearPos constraint_id 0
-N main.getSlideLinDepth constraint_id 0
-N main.getSlideLowerAngLimit constraint_id 0
-N main.getSlideLowerLinLimit constraint_id 0
-N main.getSlideRestitutionDirAng constraint_id 0
-N main.getSlideRestitutionDirLin constraint_id 0
-N main.getSlideRestitutionLimAng constraint_id 0
-N main.getSlideRestitutionLimLin constraint_id 0
-N main.getSlideRestitutionOrthoAng constraint_id 0
-N main.getSlideRestitutionOrthoLin constraint_id 0
-N main.getSlideSoftnessDirAng constraint_id 0
-N main.getSlideSoftnessDirLin constraint_id 0
-N main.getSlideSoftnessLimAng constraint_id 0
-N main.getSlideSoftnessLimLin constraint_id 0
-N main.getSlideSoftnessOrthoAng constraint_id 0
-N main.getSlideSoftnessOrthoLin constraint_id 0
-N main.getSlideSolveAngLimit constraint_id 0
-N main.getSlideSolveLinLimit constraint_id 0
-N main.getSlideUpperAngLimit constraint_id 0
-N main.getSlideUpperLinLimit constraint_id 0
-N main.getSlideUseFrameOffset constraint_id 0
-N main.setSlideDampingDirAng constraint_id 0
-N main.setSlideDampingDirAng n 1
-N main.setSlideDampingDirLin constraint_id 0
-N main.setSlideDampingDirLin n 1
-N main.setSlideDampingLimAng constraint_id 0
-N main.setSlideDampingLimAng n 1
-N main.setSlideDampingLimLin constraint_id 0
-N main.setSlideDampingLimLin n 1
-N main.setSlideDampingOrthoAng constraint_id 0
-N main.setSlideDampingOrthoAng n 1
-N main.setSlideDampingOrthoLin constraint_id 0
-N main.setSlideDampingOrthoLin n 1
-N main.setSlideLowerAngLimit constraint_id 0
-N main.setSlideLowerAngLimit n 1
-N main.setSlideLowerLinLimit constraint_id 0
-N main.setSlideLowerLinLimit n 1
-N main.setSlideRestitutionDirAng constraint_id 0
-N main.setSlideRestitutionDirAng n 1
-N main.setSlideRestitutionDirLin constraint_id 0
-N main.setSlideRestitutionDirLin n 1
-N main.setSlideRestitutionLimAng constraint_id 0
-N main.setSlideRestitutionLimAng n 1
-N main.setSlideRestitutionLimLin constraint_id 0
-N main.setSlideRestitutionLimLin n 1
-N main.setSlideRestitutionOrthoAng constraint_id 0
-N main.setSlideRestitutionOrthoAng n 1
-N main.setSlideRestitutionOrthoLin constraint_id 0
-N main.setSlideRestitutionOrthoLin n 1
-N main.setSlideSoftnessDirAng constraint_id 0
-N main.setSlideSoftnessDirAng n 1
-N main.setSlideSoftnessDirLin constraint_id 0
-N main.setSlideSoftnessDirLin n 1
-N main.setSlideSoftnessLimAng constraint_id 0
-N main.setSlideSoftnessLimAng n 1
-N main.setSlideSoftnessLimLin constraint_id 0
-N main.setSlideSoftnessLimLin n 1
-N main.setSlideSoftnessOrthoAng constraint_id 0
-N main.setSlideSoftnessOrthoAng n 1
-N main.setSlideSoftnessOrthoLin constraint_id 0
-N main.setSlideSoftnessOrthoLin n 1
-N main.setSlideUpperAngLimit constraint_id 0
-N main.setSlideUpperAngLimit n 1
-N main.setSlideUpperLinLimit constraint_id 0
-N main.setSlideUpperLinLimit n 1
-N main.ConstraintExists constraint_id 0
-N main.SetCameraPosition x 0
-N main.SetCameraPosition y 1
-N main.SetCameraPosition z 2
-BN main.GetCameraPosition x 0
-BN main.GetCameraPosition y 1
-BN main.GetCameraPosition z 2
-N main.TranslateCamera x 0
-N main.TranslateCamera y 1
-N main.TranslateCamera z 2
-N main.SetCameraRotation x 0
-N main.SetCameraRotation y 1
-N main.SetCameraRotation z 2
-BN main.GetCameraRotation x 0
-BN main.GetCameraRotation y 1
-BN main.GetCameraRotation z 2
-N main.RotateCamera x 0
-N main.RotateCamera y 1
-N main.RotateCamera z 2
-N main.SetCameraFOV fov 0
-N main.SetCameraAspectRatio aspect 0
-N main.SetCameraFarValue zf 0
-N main.SetCameraNearValue zn 0
-N main.SetProjectionMatrix matA 0
-N main.SetProjectionMatrix projection_type 1
-N main.GetProjectionMatrix matA 0
-N main.GetWorldToViewportPosition x 0
-N main.GetWorldToViewportPosition y 1
-N main.GetWorldToViewportPosition z 2
-BN main.GetWorldToViewportPosition vx 3
-BN main.GetWorldToViewportPosition vy 4
-N main.AddSceneSkyBox img_top 0
-N main.AddSceneSkyBox img_bottom 1
-N main.AddSceneSkyBox img_left 2
-N main.AddSceneSkyBox img_right 3
-N main.AddSceneSkyBox img_front 4
-N main.AddSceneSkyBox img_back 5
-N main.AddSceneSkyDome img 0
-N main.AddSceneSkyDomeEx img 0
-N main.AddSceneSkyDomeEx horiRes 1
-N main.AddSceneSkyDomeEx vertRes 2
-N main.AddSceneSkyDomeEx txPercentage 3
-N main.AddSceneSkyDomeEx spherePercentage 4
-N main.AddSceneSkyDomeEx radius 5
-N main.SetWorld3DMaxSubSteps steps 0
-N main.SetWorld3DTimeStep ts 0
-N main.startParticleEmitter actor 0
-N main.stopParticleEmitter actor 0
-N main.setParticleDirection actor 0
-N main.setParticleDirection x 1
-N main.setParticleDirection y 2
-N main.setParticleDirection z 3
-N main.getParticleDirection actor 0
-BN main.getParticleDirection x 1
-BN main.getParticleDirection y 2
-BN main.getParticleDirection z 3
-N main.useParticleEveryMeshVertex actor 0
-N main.useParticleEveryMeshVertex flag 1
-N main.particleIsUsingEveryMeshVertex actor 0
-N main.setParticleNormalDirectionMod actor 0
-N main.setParticleNormalDirectionMod nd_mod 1
-N main.getParticleNormalDirectionMod actor 0
-N main.useParticleNormalDirection actor 0
-N main.useParticleNormalDirection flag 1
-N main.particleIsUsingNormalDirection actor 0
-N main.setParticleMesh actor 0
-N main.setParticleMesh mesh 1
-N main.setMinParticlesPerSecond actor 0
-N main.setMinParticlesPerSecond minParticlesPerSecond 1
-N main.getMinParticlesPerSecond actor 0
-N main.setMaxParticlesPerSecond actor 0
-N main.setMaxParticlesPerSecond maxParticlesPerSecond 1
-N main.getMaxParticlesPerSecond actor 0
-N main.setParticleMinStartColor actor 0
-N main.setParticleMinStartColor color 1
-N main.getParticleMinStartColor actor 0
-N main.setParticleMaxStartColor actor 0
-N main.setParticleMaxStartColor color 1
-N main.getParticleMaxStartColor actor 0
-N main.setParticleMinLife actor 0
-N main.setParticleMinLife minLife 1
-N main.getParticleMinLife actor 0
-N main.setParticleMaxLife actor 0
-N main.setParticleMaxLife maxLife 1
-N main.getParticleMaxLife actor 0
-N main.setParticleMaxAngle actor 0
-N main.setParticleMaxAngle maxAngle 1
-N main.getParticleMaxAngle actor 0
-N main.setParticleMinStartSize actor 0
-N main.setParticleMinStartSize w 1
-N main.setParticleMinStartSize h 2
-N main.getParticleMinStartSize actor 0
-BN main.getParticleMinStartSize w 1
-BN main.getParticleMinStartSize h 2
-N main.setParticleMaxStartSize actor 0
-N main.setParticleMaxStartSize w 1
-N main.setParticleMaxStartSize h 2
-N main.getParticleMaxStartSize actor 0
-BN main.getParticleMaxStartSize w 1
-BN main.getParticleMaxStartSize h 2
-N main.setParticleCenter actor 0
-N main.setParticleCenter x 1
-N main.setParticleCenter y 2
-N main.setParticleCenter z 3
-N main.getParticleCenter actor 0
-BN main.getParticleCenter x 1
-BN main.getParticleCenter y 2
-BN main.getParticleCenter z 3
-N main.setParticleRadius actor 0
-N main.setParticleRadius radius 1
-N main.getParticleRadius actor 0
-N main.setParticleRingThickness actor 0
-N main.setParticleRingThickness ringThickness 1
-N main.getParticleRingThickness actor 0
-N main.setParticleBox actor 0
-N main.setParticleBox min_x 1
-N main.setParticleBox min_y 2
-N main.setParticleBox min_z 3
-N main.setParticleBox max_x 4
-N main.setParticleBox max_y 5
-N main.setParticleBox max_z 6
-N main.getParticleBox actor 0
-BN main.getParticleBox min_x 1
-BN main.getParticleBox min_y 2
-BN main.getParticleBox min_z 3
-BN main.getParticleBox max_x 4
-BN main.getParticleBox max_y 5
-BN main.getParticleBox max_z 6
-N main.setParticleNormal actor 0
-N main.setParticleNormal x 1
-N main.setParticleNormal y 2
-N main.setParticleNormal z 3
-N main.getParticleNormal actor 0
-BN main.getParticleNormal x 1
-BN main.getParticleNormal y 2
-BN main.getParticleNormal z 3
-N main.setParticleLength actor 0
-N main.setParticleLength p_len 1
-N main.getParticleLength actor 0
-N main.useParticleOutlineOnly actor 0
-N main.useParticleOutlineOnly flag 1
-N main.particleIsUsingOutlineOnly actor 0
-N main.getParticleType actor 0
-N main.lightIsCastingShadow actor 0
-N main.getLightType actor 0
-N main.getLightRadius actor 0
-N main.setLightType actor 0
-N main.setLightType light_type 1
-N main.setLightRadius actor 0
-N main.setLightRadius radius 1
-N main.setLightShadowCast actor 0
-N main.setLightShadowCast flag 1
-N main.SetLightAmbientColor actor 0
-N main.SetLightAmbientColor color 1
-N main.GetLightAmbientColor actor 0
-N main.SetLightAttenuation actor 0
-N main.SetLightAttenuation l_constant 1
-N main.SetLightAttenuation l_linear 2
-N main.SetLightAttenuation l_quadratic 3
-N main.GetLightAttenuation actor 0
-BN main.GetLightAttenuation constant 1
-BN main.GetLightAttenuation linear 2
-BN main.GetLightAttenuation quadratic 3
-N main.SetLightDiffuseColor actor 0
-N main.SetLightDiffuseColor color 1
-N main.GetLightDiffuseColor actor 0
-N main.SetLightFalloff actor 0
-N main.SetLightFalloff falloff 1
-N main.GetLightFalloff actor 0
-N main.SetLightInnerCone actor 0
-N main.SetLightInnerCone angle 1
-N main.GetLightInnerCone actor 0
-N main.SetLightOuterCone actor 0
-N main.SetLightOuterCone angle 1
-N main.GetLightOuterCone actor 0
-N main.SetLightSpecularColor actor 0
-N main.SetLightSpecularColor color 1
-N main.GetLightSpecularColor actor 0
-N main.GetTerrainPatchAABB actor 0
-N main.GetTerrainPatchAABB patchX 1
-N main.GetTerrainPatchAABB patchZ 2
-BN main.GetTerrainPatchAABB minX 3
-BN main.GetTerrainPatchAABB minY 4
-BN main.GetTerrainPatchAABB minZ 5
-BN main.GetTerrainPatchAABB maxX 6
-BN main.GetTerrainPatchAABB maxY 7
-BN main.GetTerrainPatchAABB maxZ 8
-N main.GetTerrainPatchLOD actor 0
-N main.GetTerrainPatchLOD patchX 1
-N main.GetTerrainPatchLOD patchZ 2
-N main.GetTerrainHeight actor 0
-N main.GetTerrainHeight patchX 1
-N main.GetTerrainHeight patchZ 2
-N main.GetTerrainCenter actor 0
-BN main.GetTerrainCenter x 1
-BN main.GetTerrainCenter y 2
-BN main.GetTerrainCenter z 3
-N main.SetTerrainLODDistance actor 0
-N main.SetTerrainLODDistance LOD 1
-N main.SetTerrainLODDistance distance 2
-N main.ScaleTerrainTexture actor 0
-N main.ScaleTerrainTexture scale 1
-N main.ScaleTerrainTexture scale2 2
-N main.SetTerrainCameraMovementDelta actor 0
-N main.SetTerrainCameraMovementDelta delta 1
-N main.SetTerrainCameraRotationDelta actor 0
-N main.SetTerrainCameraRotationDelta delta 1
-N main.SetTerrainPatchLOD actor 0
-N main.SetTerrainPatchLOD patchX 1
-N main.SetTerrainPatchLOD patchZ 2
-N main.SetTerrainPatchLOD LOD 3
-N main.deleteMaterial material_id 0
-N main.setActorMaterial actor 0
-N main.setActorMaterial material_num 1
-N main.setActorMaterial material_id 2
-N main.getActorMaterial actor 0
-N main.getActorMaterial material_num 1
-N main.copyActorMaterial actor 0
-N main.copyActorMaterial material_num 1
-N main.copyMaterial smaterial_id 0
-N main.setMaterialTextureCanvas material_id 0
-N main.setMaterialTextureCanvas level 1
-N main.setMaterialTextureCanvas canvas_id 2
-N main.setMaterialAmbientColor material_id 0
-N main.setMaterialAmbientColor color 1
-N main.getMaterialAmbientColor material_id 0
-N main.setMaterialAntiAliasing material_id 0
-N main.setMaterialAntiAliasing aa 1
-N main.getMaterialAntiAliasing material_id 0
-N main.setMaterialBackfaceCulling material_id 0
-N main.setMaterialBackfaceCulling flag 1
-N main.getMaterialBackfaceCulling material_id 0
-N main.setMaterialBlendFactor material_id 0
-N main.setMaterialBlendFactor bf 1
-N main.getMaterialBlendFactor material_id 0
-N main.setMaterialBlendMode material_id 0
-N main.setMaterialBlendMode blend_mode 1
-N main.getMaterialBlendMode material_id 0
-N main.setMaterialColorMask material_id 0
-N main.setMaterialColorMask color_mask 1
-N main.getMaterialColorMask material_id 0
-N main.setMaterialColorMode material_id 0
-N main.setMaterialColorMode color_mode 1
-N main.getMaterialColorMode material_id 0
-N main.setMaterialDiffuseColor material_id 0
-N main.setMaterialDiffuseColor color 1
-N main.getMaterialDiffuseColor material_id 0
-N main.setMaterialEmissiveColor material_id 0
-N main.setMaterialEmissiveColor color 1
-N main.getMaterialEmissiveColor material_id 0
-N main.setMaterialFog material_id 0
-N main.setMaterialFog flag 1
-N main.getMaterialFog material_id 0
-N main.setMaterialFrontfaceCulling material_id 0
-N main.setMaterialFrontfaceCulling flag 1
-N main.getMaterialFrontfaceCulling material_id 0
-N main.setMaterialGouraudShading material_id 0
-N main.setMaterialGouraudShading flag 1
-N main.materialIsGouraudShaded material_id 0
-N main.materialIsAplhaBlend material_id 0
-N main.materialIsTransparent material_id 0
-N main.setMaterialLighting material_id 0
-N main.setMaterialLighting flag 1
-N main.materialIsLit material_id 0
-N main.setMaterialType material_id 0
-N main.setMaterialType mat_type 1
-N main.getMaterialType material_id 0
-N main.setMaterialNormalize material_id 0
-N main.setMaterialNormalize flag 1
-N main.materialIsNormalized material_id 0
-N main.setMaterialPointCloud material_id 0
-N main.setMaterialPointCloud flag 1
-N main.materialIsPointCloud material_id 0
-N main.setMaterialFlag material_id 0
-N main.setMaterialFlag material_flag 1
-N main.setMaterialFlag f_value 2
-N main.getMaterialFlag material_id 0
-N main.getMaterialFlag material_flag 1
-N main.setMaterialTexture material_id 0
-N main.setMaterialTexture level 1
-N main.setMaterialTexture img_id 2
-N main.setMaterialShininess material_id 0
-N main.setMaterialShininess shininess 1
-N main.getMaterialShininess material_id 0
-N main.setMaterialSpecularColor material_id 0
-N main.setMaterialSpecularColor color 1
-N main.getMaterialSpecularColor material_id 0
-N main.setMaterialThickness material_id 0
-N main.setMaterialThickness thickness 1
-N main.getMaterialThickness material_id 0
-N main.setMaterialWireframe material_id 0
-N main.setMaterialWireframe flag 1
-N main.materialIsWireframe material_id 0
-N main.setActorTexture actor 0
-N main.setActorTexture layer 1
-N main.setActorTexture image_id 2
-N main.getActorMaterialCount actor 0
-N main.setActorMaterialFlag actor 0
-N main.setActorMaterialFlag flag 1
-N main.setActorMaterialFlag flag_value 2
-N main.getActorMaterialFlag actor 0
-N main.getActorMaterialFlag material 1
-N main.getActorMaterialFlag flag 2
-N main.setActorMaterialType actor 0
-N main.setActorMaterialType material_type 1
-N main.getActorMaterialType actor 0
-N main.getActorMaterialType material 1
-N main.MaterialExists material 0
+N main.cam_control cam_canvas 12
+N main.cam_control current_canvas 13
+N main.cam_control.#IF:2 crx 14
+N main.cam_control.#IF:2 cry 15
+N main.cam_control.#IF:2 crz 16
+N main.cam_control.#ELSE:2->CONDITION:0 crx 17
+N main.cam_control.#ELSE:2->CONDITION:0 cry 18
+N main.cam_control.#ELSE:2->CONDITION:0 crz 19
+N main.cam_control.#IF:4 crx 20
+N main.cam_control.#IF:4 cry 21
+N main.cam_control.#IF:4 crz 22
+N main.cam_control.#ELSE:4->CONDITION:0 crx 23
+N main.cam_control.#ELSE:4->CONDITION:0 cry 24
+N main.cam_control.#ELSE:4->CONDITION:0 crz 25
+N main window_width 26
+N main window_height 27
+N main fullscreen 28
+N main vsync 29
+N main scene_canvas 30
+N main ui_canvas 31
+N main ground 32
+N main ground_material 33
+N main ground2 34
+N main ground2_material 35
+N main sphere 36
+N main sphere_material 37
+N main sphere_gx 38
+N main sphere_gy 39
+N main sphere_gz 40
+N main ground_sphere_constraint 41
+N main t 42
diff --git a/rcbasic_build/rcbasic4_changes.ods b/rcbasic_build/rcbasic4_changes.ods
index 24ecb62..c87afee 100644
Binary files a/rcbasic_build/rcbasic4_changes.ods and b/rcbasic_build/rcbasic4_changes.ods differ
diff --git a/rcbasic_build/rcbasic_build.depend b/rcbasic_build/rcbasic_build.depend
index 08d6280..e48e6c0 100755
--- a/rcbasic_build/rcbasic_build.depend
+++ b/rcbasic_build/rcbasic_build.depend
@@ -1,5 +1,5 @@
# depslib dependency file v1.0
-1728937556 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
+1732562668 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
@@ -54,7 +54,7 @@
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.h
-1729467369 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
+1732562642 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
"identifier.h"
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h
diff --git a/rcbasic_build/rcbasic_dev.txt b/rcbasic_build/rcbasic_dev.txt
index 1a59025..34fbca8 100644
--- a/rcbasic_build/rcbasic_dev.txt
+++ b/rcbasic_build/rcbasic_dev.txt
@@ -2686,6 +2686,22 @@ embed_function("SetWorld3DTimeStep", ID_TYPE_SUB);
add_embedded_arg("ts", ID_TYPE_NUM);
embed_function("GetWorld3DMaxSubSteps", ID_TYPE_FN_NUM);
embed_function("GetWorld3DTimeStep", ID_TYPE_FN_NUM);
+embed_function("SetSceneFog", ID_TYPE_SUB);
+add_embedded_arg("color", ID_TYPE_NUM);
+add_embedded_arg("fog_type", ID_TYPE_NUM);
+add_embedded_arg("start_val", ID_TYPE_NUM);
+add_embedded_arg("end_val", ID_TYPE_NUM);
+add_embedded_arg("density", ID_TYPE_NUM);
+add_embedded_arg("pixelFog", ID_TYPE_NUM);
+add_embedded_arg("rangeFog", ID_TYPE_NUM);
+embed_function("GetSceneFog", ID_TYPE_SUB);
+add_embedded_arg("color", ID_TYPE_BYREF_NUM);
+add_embedded_arg("fog_type", ID_TYPE_BYREF_NUM);
+add_embedded_arg("start_val", ID_TYPE_BYREF_NUM);
+add_embedded_arg("end_val", ID_TYPE_BYREF_NUM);
+add_embedded_arg("density", ID_TYPE_BYREF_NUM);
+add_embedded_arg("pixelFog", ID_TYPE_BYREF_NUM);
+add_embedded_arg("rangeFog", ID_TYPE_BYREF_NUM);
embed_function("startParticleEmitter", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("stopParticleEmitter", ID_TYPE_SUB);
diff --git a/rcbasic_build/rcbasic_dev2.txt b/rcbasic_build/rcbasic_dev2.txt
index 50ed645..0847494 100644
--- a/rcbasic_build/rcbasic_dev2.txt
+++ b/rcbasic_build/rcbasic_dev2.txt
@@ -2686,110 +2686,126 @@
#define SETWORLD3DTIMESTEP_TS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FN_GetWorld3DMaxSubSteps 865
#define FN_GetWorld3DTimeStep 866
-#define FN_startParticleEmitter 867
+#define FN_SetSceneFog 867
+#define SETSCENEFOG_COLOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSCENEFOG_FOG_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define SETSCENEFOG_START_VAL num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define SETSCENEFOG_END_VAL num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define SETSCENEFOG_DENSITY num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define SETSCENEFOG_PIXELFOG num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define SETSCENEFOG_RANGEFOG num_var[6].nref[0].value[ num_var[6].byref_offset ]
+#define FN_GetSceneFog 868
+#define GETSCENEFOG_COLOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETSCENEFOG_FOG_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETSCENEFOG_START_VAL num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETSCENEFOG_END_VAL num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define GETSCENEFOG_DENSITY num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define GETSCENEFOG_PIXELFOG num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define GETSCENEFOG_RANGEFOG num_var[6].nref[0].value[ num_var[6].byref_offset ]
+#define FN_startParticleEmitter 869
#define STARTPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_stopParticleEmitter 868
+#define FN_stopParticleEmitter 870
#define STOPPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleDirection 869
+#define FN_setParticleDirection 871
#define SETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleDirection 870
+#define FN_getParticleDirection 872
#define GETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_useParticleEveryMeshVertex 871
+#define FN_useParticleEveryMeshVertex 873
#define USEPARTICLEEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLEEVERYMESHVERTEX_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingEveryMeshVertex 872
+#define FN_particleIsUsingEveryMeshVertex 874
#define PARTICLEISUSINGEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleNormalDirectionMod 873
+#define FN_setParticleNormalDirectionMod 875
#define SETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLENORMALDIRECTIONMOD_ND_MOD num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleNormalDirectionMod 874
+#define FN_getParticleNormalDirectionMod 876
#define GETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useParticleNormalDirection 875
+#define FN_useParticleNormalDirection 877
#define USEPARTICLENORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLENORMALDIRECTION_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingNormalDirection 876
+#define FN_particleIsUsingNormalDirection 878
#define PARTICLEISUSINGNORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMesh 877
+#define FN_setParticleMesh 879
#define SETPARTICLEMESH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMESH_MESH num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setMinParticlesPerSecond 878
+#define FN_setMinParticlesPerSecond 880
#define SETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMINPARTICLESPERSECOND_MINPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMinParticlesPerSecond 879
+#define FN_getMinParticlesPerSecond 881
#define GETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaxParticlesPerSecond 880
+#define FN_setMaxParticlesPerSecond 882
#define SETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaxParticlesPerSecond 881
+#define FN_getMaxParticlesPerSecond 883
#define GETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinStartColor 882
+#define FN_setParticleMinStartColor 884
#define SETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinStartColor 883
+#define FN_getParticleMinStartColor 885
#define GETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxStartColor 884
+#define FN_setParticleMaxStartColor 886
#define SETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxStartColor 885
+#define FN_getParticleMaxStartColor 887
#define GETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinLife 886
+#define FN_setParticleMinLife 888
#define SETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINLIFE_MINLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinLife 887
+#define FN_getParticleMinLife 889
#define GETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxLife 888
+#define FN_setParticleMaxLife 890
#define SETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXLIFE_MAXLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxLife 889
+#define FN_getParticleMaxLife 891
#define GETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxAngle 890
+#define FN_setParticleMaxAngle 892
#define SETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXANGLE_MAXANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxAngle 891
+#define FN_getParticleMaxAngle 893
#define GETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinStartSize 892
+#define FN_setParticleMinStartSize 894
#define SETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getParticleMinStartSize 893
+#define FN_getParticleMinStartSize 895
#define GETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setParticleMaxStartSize 894
+#define FN_setParticleMaxStartSize 896
#define SETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getParticleMaxStartSize 895
+#define FN_getParticleMaxStartSize 897
#define GETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setParticleCenter 896
+#define FN_setParticleCenter 898
#define SETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleCenter 897
+#define FN_getParticleCenter 899
#define GETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setParticleRadius 898
+#define FN_setParticleRadius 900
#define SETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLERADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleRadius 899
+#define FN_getParticleRadius 901
#define GETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleRingThickness 900
+#define FN_setParticleRingThickness 902
#define SETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLERINGTHICKNESS_RINGTHICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleRingThickness 901
+#define FN_getParticleRingThickness 903
#define GETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleBox 902
+#define FN_setParticleBox 904
#define SETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2797,7 +2813,7 @@
#define SETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define SETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define SETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getParticleBox 903
+#define FN_getParticleBox 905
#define GETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2805,84 +2821,84 @@
#define GETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_setParticleNormal 904
+#define FN_setParticleNormal 906
#define SETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleNormal 905
+#define FN_getParticleNormal 907
#define GETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setParticleLength 906
+#define FN_setParticleLength 908
#define SETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLELENGTH_P_LEN num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleLength 907
+#define FN_getParticleLength 909
#define GETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useParticleOutlineOnly 908
+#define FN_useParticleOutlineOnly 910
#define USEPARTICLEOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLEOUTLINEONLY_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingOutlineOnly 909
+#define FN_particleIsUsingOutlineOnly 911
#define PARTICLEISUSINGOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getParticleType 910
+#define FN_getParticleType 912
#define GETPARTICLETYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_lightIsCastingShadow 911
+#define FN_lightIsCastingShadow 913
#define LIGHTISCASTINGSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLightType 912
+#define FN_getLightType 914
#define GETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLightRadius 913
+#define FN_getLightRadius 915
#define GETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setLightType 914
+#define FN_setLightType 916
#define SETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTTYPE_LIGHT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setLightRadius 915
+#define FN_setLightRadius 917
#define SETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTRADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setLightShadowCast 916
+#define FN_setLightShadowCast 918
#define SETLIGHTSHADOWCAST_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTSHADOWCAST_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetLightAmbientColor 917
+#define FN_SetLightAmbientColor 919
#define SETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightAmbientColor 918
+#define FN_GetLightAmbientColor 920
#define GETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightAttenuation 919
+#define FN_SetLightAttenuation 921
#define SETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTATTENUATION_L_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETLIGHTATTENUATION_L_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETLIGHTATTENUATION_L_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetLightAttenuation 920
+#define FN_GetLightAttenuation 922
#define GETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETLIGHTATTENUATION_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETLIGHTATTENUATION_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETLIGHTATTENUATION_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetLightDiffuseColor 921
+#define FN_SetLightDiffuseColor 923
#define SETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightDiffuseColor 922
+#define FN_GetLightDiffuseColor 924
#define GETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightFalloff 923
+#define FN_SetLightFalloff 925
#define SETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTFALLOFF_FALLOFF num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightFalloff 924
+#define FN_GetLightFalloff 926
#define GETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightInnerCone 925
+#define FN_SetLightInnerCone 927
#define SETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTINNERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightInnerCone 926
+#define FN_GetLightInnerCone 928
#define GETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightOuterCone 927
+#define FN_SetLightOuterCone 929
#define SETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTOUTERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightOuterCone 928
+#define FN_GetLightOuterCone 930
#define GETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightSpecularColor 929
+#define FN_SetLightSpecularColor 931
#define SETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightSpecularColor 930
+#define FN_GetLightSpecularColor 932
#define GETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetTerrainPatchAABB 931
+#define FN_GetTerrainPatchAABB 933
#define GETTERRAINPATCHAABB_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINPATCHAABB_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINPATCHAABB_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2892,191 +2908,191 @@
#define GETTERRAINPATCHAABB_MAXX num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define GETTERRAINPATCHAABB_MAXY num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define GETTERRAINPATCHAABB_MAXZ num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_GetTerrainPatchLOD 932
+#define FN_GetTerrainPatchLOD 934
#define GETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetTerrainHeight 933
+#define FN_GetTerrainHeight 935
#define GETTERRAINHEIGHT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINHEIGHT_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINHEIGHT_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetTerrainCenter 934
+#define FN_GetTerrainCenter 936
#define GETTERRAINCENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINCENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINCENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETTERRAINCENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetTerrainLODDistance 935
+#define FN_SetTerrainLODDistance 937
#define SETTERRAINLODDISTANCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINLODDISTANCE_LOD num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETTERRAINLODDISTANCE_DISTANCE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ScaleTerrainTexture 936
+#define FN_ScaleTerrainTexture 938
#define SCALETERRAINTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALETERRAINTEXTURE_SCALE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALETERRAINTEXTURE_SCALE2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetTerrainCameraMovementDelta 937
+#define FN_SetTerrainCameraMovementDelta 939
#define SETTERRAINCAMERAMOVEMENTDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINCAMERAMOVEMENTDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetTerrainCameraRotationDelta 938
+#define FN_SetTerrainCameraRotationDelta 940
#define SETTERRAINCAMERAROTATIONDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINCAMERAROTATIONDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetTerrainPatchLOD 939
+#define FN_SetTerrainPatchLOD 941
#define SETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETTERRAINPATCHLOD_LOD num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_createMaterial 940
-#define FN_deleteMaterial 941
+#define FN_createMaterial 942
+#define FN_deleteMaterial 943
#define DELETEMATERIAL_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorMaterial 942
+#define FN_setActorMaterial 944
#define SETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMATERIAL_MATERIAL_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterial 943
+#define FN_getActorMaterial 945
#define GETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_copyActorMaterial 944
+#define FN_copyActorMaterial 946
#define COPYACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_copyMaterial 945
+#define FN_copyMaterial 947
#define COPYMATERIAL_SMATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialTextureCanvas 946
+#define FN_setMaterialTextureCanvas 948
#define SETMATERIALTEXTURECANVAS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTEXTURECANVAS_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALTEXTURECANVAS_CANVAS_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setMaterialAmbientColor 947
+#define FN_setMaterialAmbientColor 949
#define SETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialAmbientColor 948
+#define FN_getMaterialAmbientColor 950
#define GETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialAntiAliasing 949
+#define FN_setMaterialAntiAliasing 951
#define SETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALANTIALIASING_AA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialAntiAliasing 950
+#define FN_getMaterialAntiAliasing 952
#define GETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBackfaceCulling 951
+#define FN_setMaterialBackfaceCulling 953
#define SETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBACKFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBackfaceCulling 952
+#define FN_getMaterialBackfaceCulling 954
#define GETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBlendFactor 953
+#define FN_setMaterialBlendFactor 955
#define SETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBLENDFACTOR_BF num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBlendFactor 954
+#define FN_getMaterialBlendFactor 956
#define GETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBlendMode 955
+#define FN_setMaterialBlendMode 957
#define SETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBLENDMODE_BLEND_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBlendMode 956
+#define FN_getMaterialBlendMode 958
#define GETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialColorMask 957
+#define FN_setMaterialColorMask 959
#define SETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALCOLORMASK_COLOR_MASK num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialColorMask 958
+#define FN_getMaterialColorMask 960
#define GETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialColorMode 959
+#define FN_setMaterialColorMode 961
#define SETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALCOLORMODE_COLOR_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialColorMode 960
+#define FN_getMaterialColorMode 962
#define GETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialDiffuseColor 961
+#define FN_setMaterialDiffuseColor 963
#define SETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialDiffuseColor 962
+#define FN_getMaterialDiffuseColor 964
#define GETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialEmissiveColor 963
+#define FN_setMaterialEmissiveColor 965
#define SETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALEMISSIVECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialEmissiveColor 964
+#define FN_getMaterialEmissiveColor 966
#define GETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFog 965
+#define FN_setMaterialFog 967
#define SETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFOG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialFog 966
+#define FN_getMaterialFog 968
#define GETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFrontfaceCulling 967
+#define FN_setMaterialFrontfaceCulling 969
#define SETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFRONTFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialFrontfaceCulling 968
+#define FN_getMaterialFrontfaceCulling 970
#define GETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialGouraudShading 969
+#define FN_setMaterialGouraudShading 971
#define SETMATERIALGOURAUDSHADING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALGOURAUDSHADING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsGouraudShaded 970
+#define FN_materialIsGouraudShaded 972
#define MATERIALISGOURAUDSHADED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_materialIsAplhaBlend 971
+#define FN_materialIsAplhaBlend 973
#define MATERIALISAPLHABLEND_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_materialIsTransparent 972
+#define FN_materialIsTransparent 974
#define MATERIALISTRANSPARENT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialLighting 973
+#define FN_setMaterialLighting 975
#define SETMATERIALLIGHTING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALLIGHTING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsLit 974
+#define FN_materialIsLit 976
#define MATERIALISLIT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialType 975
+#define FN_setMaterialType 977
#define SETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTYPE_MAT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialType 976
+#define FN_getMaterialType 978
#define GETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialNormalize 977
+#define FN_setMaterialNormalize 979
#define SETMATERIALNORMALIZE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALNORMALIZE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsNormalized 978
+#define FN_materialIsNormalized 980
#define MATERIALISNORMALIZED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialPointCloud 979
+#define FN_setMaterialPointCloud 981
#define SETMATERIALPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALPOINTCLOUD_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsPointCloud 980
+#define FN_materialIsPointCloud 982
#define MATERIALISPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFlag 981
+#define FN_setMaterialFlag 983
#define SETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALFLAG_F_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getMaterialFlag 982
+#define FN_getMaterialFlag 984
#define GETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setMaterialTexture 983
+#define FN_setMaterialTexture 985
#define SETMATERIALTEXTURE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTEXTURE_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALTEXTURE_IMG_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setMaterialShininess 984
+#define FN_setMaterialShininess 986
#define SETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALSHININESS_SHININESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialShininess 985
+#define FN_getMaterialShininess 987
#define GETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialSpecularColor 986
+#define FN_setMaterialSpecularColor 988
#define SETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialSpecularColor 987
+#define FN_getMaterialSpecularColor 989
#define GETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialThickness 988
+#define FN_setMaterialThickness 990
#define SETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTHICKNESS_THICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialThickness 989
+#define FN_getMaterialThickness 991
#define GETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialWireframe 990
+#define FN_setMaterialWireframe 992
#define SETMATERIALWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALWIREFRAME_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsWireframe 991
+#define FN_materialIsWireframe 993
#define MATERIALISWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorTexture 992
+#define FN_setActorTexture 994
#define SETACTORTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORTEXTURE_LAYER num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORTEXTURE_IMAGE_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterialCount 993
+#define FN_getActorMaterialCount 995
#define GETACTORMATERIALCOUNT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorMaterialFlag 994
+#define FN_setActorMaterialFlag 996
#define SETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIALFLAG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMATERIALFLAG_FLAG_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterialFlag 995
+#define FN_getActorMaterialFlag 997
#define GETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIALFLAG_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORMATERIALFLAG_FLAG num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setActorMaterialType 996
+#define FN_setActorMaterialType 998
#define SETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIALTYPE_MATERIAL_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getActorMaterialType 997
+#define FN_getActorMaterialType 999
#define GETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIALTYPE_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_MaterialExists 998
+#define FN_MaterialExists 1000
#define MATERIALEXISTS_MATERIAL num_var[0].nref[0].value[ num_var[0].byref_offset ]
diff --git a/rcbasic_build/rcbasic_dev3.txt b/rcbasic_build/rcbasic_dev3.txt
index f02741a..05794dc 100644
--- a/rcbasic_build/rcbasic_dev3.txt
+++ b/rcbasic_build/rcbasic_dev3.txt
@@ -2627,6 +2627,12 @@ case FN_GetWorld3DMaxSubSteps: //Number Function
case FN_GetWorld3DTimeStep: //Number Function
rc_push_num(rc_getWorld3DTimeStep( ));
break;
+case FN_SetSceneFog: //Sub Procedure
+ rc_setSceneFog( SETSCENEFOG_COLOR, SETSCENEFOG_FOG_TYPE, SETSCENEFOG_START_VAL, SETSCENEFOG_END_VAL, SETSCENEFOG_DENSITY, SETSCENEFOG_PIXELFOG, SETSCENEFOG_RANGEFOG );
+ break;
+case FN_GetSceneFog: //Sub Procedure
+ rc_getSceneFog( &GETSCENEFOG_COLOR, &GETSCENEFOG_FOG_TYPE, &GETSCENEFOG_START_VAL, &GETSCENEFOG_END_VAL, &GETSCENEFOG_DENSITY, &GETSCENEFOG_PIXELFOG, &GETSCENEFOG_RANGEFOG );
+ break;
case FN_startParticleEmitter: //Sub Procedure
rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR );
break;
diff --git a/rcbasic_runtime/main.cpp b/rcbasic_runtime/main.cpp
index ccc1239..000b157 100755
--- a/rcbasic_runtime/main.cpp
+++ b/rcbasic_runtime/main.cpp
@@ -4451,7 +4451,7 @@ int main(int argc, char * argv[])
}
else
{
- rc_intern_dirChange("/home/n00b/projects/rcbasic_alpha3/test_project");
+ rc_intern_dirChange("/home/n00b/projects/bu/constraint_demo");
}
#endif
//---------------
diff --git a/rcbasic_runtime/rc_defines.h b/rcbasic_runtime/rc_defines.h
index d20091e..73fdb7b 100755
--- a/rcbasic_runtime/rc_defines.h
+++ b/rcbasic_runtime/rc_defines.h
@@ -2689,110 +2689,126 @@
#define SETWORLD3DTIMESTEP_TS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FN_GetWorld3DMaxSubSteps 865
#define FN_GetWorld3DTimeStep 866
-#define FN_startParticleEmitter 867
+#define FN_SetSceneFog 867
+#define SETSCENEFOG_COLOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSCENEFOG_FOG_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define SETSCENEFOG_START_VAL num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define SETSCENEFOG_END_VAL num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define SETSCENEFOG_DENSITY num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define SETSCENEFOG_PIXELFOG num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define SETSCENEFOG_RANGEFOG num_var[6].nref[0].value[ num_var[6].byref_offset ]
+#define FN_GetSceneFog 868
+#define GETSCENEFOG_COLOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETSCENEFOG_FOG_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETSCENEFOG_START_VAL num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETSCENEFOG_END_VAL num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define GETSCENEFOG_DENSITY num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define GETSCENEFOG_PIXELFOG num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define GETSCENEFOG_RANGEFOG num_var[6].nref[0].value[ num_var[6].byref_offset ]
+#define FN_startParticleEmitter 869
#define STARTPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_stopParticleEmitter 868
+#define FN_stopParticleEmitter 870
#define STOPPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleDirection 869
+#define FN_setParticleDirection 871
#define SETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleDirection 870
+#define FN_getParticleDirection 872
#define GETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_useParticleEveryMeshVertex 871
+#define FN_useParticleEveryMeshVertex 873
#define USEPARTICLEEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLEEVERYMESHVERTEX_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingEveryMeshVertex 872
+#define FN_particleIsUsingEveryMeshVertex 874
#define PARTICLEISUSINGEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleNormalDirectionMod 873
+#define FN_setParticleNormalDirectionMod 875
#define SETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLENORMALDIRECTIONMOD_ND_MOD num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleNormalDirectionMod 874
+#define FN_getParticleNormalDirectionMod 876
#define GETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useParticleNormalDirection 875
+#define FN_useParticleNormalDirection 877
#define USEPARTICLENORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLENORMALDIRECTION_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingNormalDirection 876
+#define FN_particleIsUsingNormalDirection 878
#define PARTICLEISUSINGNORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMesh 877
+#define FN_setParticleMesh 879
#define SETPARTICLEMESH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMESH_MESH num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setMinParticlesPerSecond 878
+#define FN_setMinParticlesPerSecond 880
#define SETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMINPARTICLESPERSECOND_MINPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMinParticlesPerSecond 879
+#define FN_getMinParticlesPerSecond 881
#define GETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaxParticlesPerSecond 880
+#define FN_setMaxParticlesPerSecond 882
#define SETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaxParticlesPerSecond 881
+#define FN_getMaxParticlesPerSecond 883
#define GETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinStartColor 882
+#define FN_setParticleMinStartColor 884
#define SETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinStartColor 883
+#define FN_getParticleMinStartColor 885
#define GETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxStartColor 884
+#define FN_setParticleMaxStartColor 886
#define SETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxStartColor 885
+#define FN_getParticleMaxStartColor 887
#define GETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinLife 886
+#define FN_setParticleMinLife 888
#define SETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINLIFE_MINLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinLife 887
+#define FN_getParticleMinLife 889
#define GETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxLife 888
+#define FN_setParticleMaxLife 890
#define SETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXLIFE_MAXLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxLife 889
+#define FN_getParticleMaxLife 891
#define GETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxAngle 890
+#define FN_setParticleMaxAngle 892
#define SETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXANGLE_MAXANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxAngle 891
+#define FN_getParticleMaxAngle 893
#define GETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinStartSize 892
+#define FN_setParticleMinStartSize 894
#define SETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getParticleMinStartSize 893
+#define FN_getParticleMinStartSize 895
#define GETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setParticleMaxStartSize 894
+#define FN_setParticleMaxStartSize 896
#define SETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getParticleMaxStartSize 895
+#define FN_getParticleMaxStartSize 897
#define GETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setParticleCenter 896
+#define FN_setParticleCenter 898
#define SETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleCenter 897
+#define FN_getParticleCenter 899
#define GETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setParticleRadius 898
+#define FN_setParticleRadius 900
#define SETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLERADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleRadius 899
+#define FN_getParticleRadius 901
#define GETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleRingThickness 900
+#define FN_setParticleRingThickness 902
#define SETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLERINGTHICKNESS_RINGTHICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleRingThickness 901
+#define FN_getParticleRingThickness 903
#define GETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleBox 902
+#define FN_setParticleBox 904
#define SETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2800,7 +2816,7 @@
#define SETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define SETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define SETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getParticleBox 903
+#define FN_getParticleBox 905
#define GETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2808,84 +2824,84 @@
#define GETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_setParticleNormal 904
+#define FN_setParticleNormal 906
#define SETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleNormal 905
+#define FN_getParticleNormal 907
#define GETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setParticleLength 906
+#define FN_setParticleLength 908
#define SETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLELENGTH_P_LEN num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleLength 907
+#define FN_getParticleLength 909
#define GETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useParticleOutlineOnly 908
+#define FN_useParticleOutlineOnly 910
#define USEPARTICLEOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLEOUTLINEONLY_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingOutlineOnly 909
+#define FN_particleIsUsingOutlineOnly 911
#define PARTICLEISUSINGOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getParticleType 910
+#define FN_getParticleType 912
#define GETPARTICLETYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_lightIsCastingShadow 911
+#define FN_lightIsCastingShadow 913
#define LIGHTISCASTINGSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLightType 912
+#define FN_getLightType 914
#define GETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLightRadius 913
+#define FN_getLightRadius 915
#define GETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setLightType 914
+#define FN_setLightType 916
#define SETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTTYPE_LIGHT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setLightRadius 915
+#define FN_setLightRadius 917
#define SETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTRADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setLightShadowCast 916
+#define FN_setLightShadowCast 918
#define SETLIGHTSHADOWCAST_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTSHADOWCAST_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetLightAmbientColor 917
+#define FN_SetLightAmbientColor 919
#define SETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightAmbientColor 918
+#define FN_GetLightAmbientColor 920
#define GETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightAttenuation 919
+#define FN_SetLightAttenuation 921
#define SETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTATTENUATION_L_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETLIGHTATTENUATION_L_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETLIGHTATTENUATION_L_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetLightAttenuation 920
+#define FN_GetLightAttenuation 922
#define GETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETLIGHTATTENUATION_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETLIGHTATTENUATION_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETLIGHTATTENUATION_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetLightDiffuseColor 921
+#define FN_SetLightDiffuseColor 923
#define SETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightDiffuseColor 922
+#define FN_GetLightDiffuseColor 924
#define GETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightFalloff 923
+#define FN_SetLightFalloff 925
#define SETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTFALLOFF_FALLOFF num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightFalloff 924
+#define FN_GetLightFalloff 926
#define GETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightInnerCone 925
+#define FN_SetLightInnerCone 927
#define SETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTINNERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightInnerCone 926
+#define FN_GetLightInnerCone 928
#define GETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightOuterCone 927
+#define FN_SetLightOuterCone 929
#define SETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTOUTERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightOuterCone 928
+#define FN_GetLightOuterCone 930
#define GETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightSpecularColor 929
+#define FN_SetLightSpecularColor 931
#define SETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightSpecularColor 930
+#define FN_GetLightSpecularColor 932
#define GETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetTerrainPatchAABB 931
+#define FN_GetTerrainPatchAABB 933
#define GETTERRAINPATCHAABB_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINPATCHAABB_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINPATCHAABB_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2895,193 +2911,193 @@
#define GETTERRAINPATCHAABB_MAXX num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define GETTERRAINPATCHAABB_MAXY num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define GETTERRAINPATCHAABB_MAXZ num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_GetTerrainPatchLOD 932
+#define FN_GetTerrainPatchLOD 934
#define GETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetTerrainHeight 933
+#define FN_GetTerrainHeight 935
#define GETTERRAINHEIGHT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINHEIGHT_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINHEIGHT_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetTerrainCenter 934
+#define FN_GetTerrainCenter 936
#define GETTERRAINCENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINCENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINCENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETTERRAINCENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetTerrainLODDistance 935
+#define FN_SetTerrainLODDistance 937
#define SETTERRAINLODDISTANCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINLODDISTANCE_LOD num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETTERRAINLODDISTANCE_DISTANCE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ScaleTerrainTexture 936
+#define FN_ScaleTerrainTexture 938
#define SCALETERRAINTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALETERRAINTEXTURE_SCALE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALETERRAINTEXTURE_SCALE2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetTerrainCameraMovementDelta 937
+#define FN_SetTerrainCameraMovementDelta 939
#define SETTERRAINCAMERAMOVEMENTDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINCAMERAMOVEMENTDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetTerrainCameraRotationDelta 938
+#define FN_SetTerrainCameraRotationDelta 940
#define SETTERRAINCAMERAROTATIONDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINCAMERAROTATIONDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetTerrainPatchLOD 939
+#define FN_SetTerrainPatchLOD 941
#define SETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETTERRAINPATCHLOD_LOD num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_createMaterial 940
-#define FN_deleteMaterial 941
+#define FN_createMaterial 942
+#define FN_deleteMaterial 943
#define DELETEMATERIAL_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorMaterial 942
+#define FN_setActorMaterial 944
#define SETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMATERIAL_MATERIAL_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterial 943
+#define FN_getActorMaterial 945
#define GETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_copyActorMaterial 944
+#define FN_copyActorMaterial 946
#define COPYACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_copyMaterial 945
+#define FN_copyMaterial 947
#define COPYMATERIAL_SMATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialTextureCanvas 946
+#define FN_setMaterialTextureCanvas 948
#define SETMATERIALTEXTURECANVAS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTEXTURECANVAS_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALTEXTURECANVAS_CANVAS_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setMaterialAmbientColor 947
+#define FN_setMaterialAmbientColor 949
#define SETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialAmbientColor 948
+#define FN_getMaterialAmbientColor 950
#define GETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialAntiAliasing 949
+#define FN_setMaterialAntiAliasing 951
#define SETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALANTIALIASING_AA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialAntiAliasing 950
+#define FN_getMaterialAntiAliasing 952
#define GETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBackfaceCulling 951
+#define FN_setMaterialBackfaceCulling 953
#define SETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBACKFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBackfaceCulling 952
+#define FN_getMaterialBackfaceCulling 954
#define GETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBlendFactor 953
+#define FN_setMaterialBlendFactor 955
#define SETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBLENDFACTOR_BF num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBlendFactor 954
+#define FN_getMaterialBlendFactor 956
#define GETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBlendMode 955
+#define FN_setMaterialBlendMode 957
#define SETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBLENDMODE_BLEND_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBlendMode 956
+#define FN_getMaterialBlendMode 958
#define GETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialColorMask 957
+#define FN_setMaterialColorMask 959
#define SETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALCOLORMASK_COLOR_MASK num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialColorMask 958
+#define FN_getMaterialColorMask 960
#define GETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialColorMode 959
+#define FN_setMaterialColorMode 961
#define SETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALCOLORMODE_COLOR_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialColorMode 960
+#define FN_getMaterialColorMode 962
#define GETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialDiffuseColor 961
+#define FN_setMaterialDiffuseColor 963
#define SETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialDiffuseColor 962
+#define FN_getMaterialDiffuseColor 964
#define GETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialEmissiveColor 963
+#define FN_setMaterialEmissiveColor 965
#define SETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALEMISSIVECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialEmissiveColor 964
+#define FN_getMaterialEmissiveColor 966
#define GETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFog 965
+#define FN_setMaterialFog 967
#define SETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFOG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialFog 966
+#define FN_getMaterialFog 968
#define GETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFrontfaceCulling 967
+#define FN_setMaterialFrontfaceCulling 969
#define SETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFRONTFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialFrontfaceCulling 968
+#define FN_getMaterialFrontfaceCulling 970
#define GETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialGouraudShading 969
+#define FN_setMaterialGouraudShading 971
#define SETMATERIALGOURAUDSHADING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALGOURAUDSHADING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsGouraudShaded 970
+#define FN_materialIsGouraudShaded 972
#define MATERIALISGOURAUDSHADED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_materialIsAplhaBlend 971
+#define FN_materialIsAplhaBlend 973
#define MATERIALISAPLHABLEND_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_materialIsTransparent 972
+#define FN_materialIsTransparent 974
#define MATERIALISTRANSPARENT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialLighting 973
+#define FN_setMaterialLighting 975
#define SETMATERIALLIGHTING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALLIGHTING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsLit 974
+#define FN_materialIsLit 976
#define MATERIALISLIT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialType 975
+#define FN_setMaterialType 977
#define SETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTYPE_MAT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialType 976
+#define FN_getMaterialType 978
#define GETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialNormalize 977
+#define FN_setMaterialNormalize 979
#define SETMATERIALNORMALIZE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALNORMALIZE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsNormalized 978
+#define FN_materialIsNormalized 980
#define MATERIALISNORMALIZED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialPointCloud 979
+#define FN_setMaterialPointCloud 981
#define SETMATERIALPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALPOINTCLOUD_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsPointCloud 980
+#define FN_materialIsPointCloud 982
#define MATERIALISPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFlag 981
+#define FN_setMaterialFlag 983
#define SETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALFLAG_F_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getMaterialFlag 982
+#define FN_getMaterialFlag 984
#define GETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setMaterialTexture 983
+#define FN_setMaterialTexture 985
#define SETMATERIALTEXTURE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTEXTURE_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALTEXTURE_IMG_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setMaterialShininess 984
+#define FN_setMaterialShininess 986
#define SETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALSHININESS_SHININESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialShininess 985
+#define FN_getMaterialShininess 987
#define GETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialSpecularColor 986
+#define FN_setMaterialSpecularColor 988
#define SETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialSpecularColor 987
+#define FN_getMaterialSpecularColor 989
#define GETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialThickness 988
+#define FN_setMaterialThickness 990
#define SETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTHICKNESS_THICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialThickness 989
+#define FN_getMaterialThickness 991
#define GETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialWireframe 990
+#define FN_setMaterialWireframe 992
#define SETMATERIALWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALWIREFRAME_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsWireframe 991
+#define FN_materialIsWireframe 993
#define MATERIALISWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorTexture 992
+#define FN_setActorTexture 994
#define SETACTORTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORTEXTURE_LAYER num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORTEXTURE_IMAGE_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterialCount 993
+#define FN_getActorMaterialCount 995
#define GETACTORMATERIALCOUNT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorMaterialFlag 994
+#define FN_setActorMaterialFlag 996
#define SETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIALFLAG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMATERIALFLAG_FLAG_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterialFlag 995
+#define FN_getActorMaterialFlag 997
#define GETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIALFLAG_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORMATERIALFLAG_FLAG num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setActorMaterialType 996
+#define FN_setActorMaterialType 998
#define SETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIALTYPE_MATERIAL_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getActorMaterialType 997
+#define FN_getActorMaterialType 999
#define GETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIALTYPE_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_MaterialExists 998
+#define FN_MaterialExists 1000
#define MATERIALEXISTS_MATERIAL num_var[0].nref[0].value[ num_var[0].byref_offset ]
diff --git a/rcbasic_runtime/rc_func130_cases.h b/rcbasic_runtime/rc_func130_cases.h
index 07ce805..cf4e6c1 100644
--- a/rcbasic_runtime/rc_func130_cases.h
+++ b/rcbasic_runtime/rc_func130_cases.h
@@ -2627,6 +2627,12 @@ case FN_GetWorld3DMaxSubSteps: //Number Function
case FN_GetWorld3DTimeStep: //Number Function
rc_push_num(rc_getWorld3DTimeStep( ));
break;
+case FN_SetSceneFog: //Sub Procedure
+ rc_setSceneFog( SETSCENEFOG_COLOR, SETSCENEFOG_FOG_TYPE, SETSCENEFOG_START_VAL, SETSCENEFOG_END_VAL, SETSCENEFOG_DENSITY, SETSCENEFOG_PIXELFOG, SETSCENEFOG_RANGEFOG );
+ break;
+case FN_GetSceneFog: //Sub Procedure
+ rc_getSceneFog( &GETSCENEFOG_COLOR, &GETSCENEFOG_FOG_TYPE, &GETSCENEFOG_START_VAL, &GETSCENEFOG_END_VAL, &GETSCENEFOG_DENSITY, &GETSCENEFOG_PIXELFOG, &GETSCENEFOG_RANGEFOG );
+ break;
case FN_startParticleEmitter: //Sub Procedure
rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR );
break;
diff --git a/rcbasic_runtime/rc_gfx.h b/rcbasic_runtime/rc_gfx.h
index 31f448a..f928a67 100644
--- a/rcbasic_runtime/rc_gfx.h
+++ b/rcbasic_runtime/rc_gfx.h
@@ -325,7 +325,7 @@ bool rc_windowOpenEx(std::string title, int x, int y, int w, int h, uint32_t win
rc_canvas.push_back(back_buffer);
rc_physics3D.world = createIrrBulletWorld(device, true, false);
- rc_physics3D.TimeStamp = device->getTimer()->getTime();
+ rc_physics3D.TimeStamp = SDL_GetTicks(); //device->getTimer()->getTime();
rc_physics3D.maxSubSteps = 1;
rc_physics3D.fixedTimeStep = irr::f32(1.) / irr::f64(60.);
@@ -3050,8 +3050,10 @@ int rc_canvasClip(int x, int y, int w, int h)
void rc_preUpdate()
{
//3D World Update
- rc_physics3D.DeltaTime = device->getTimer()->getTime() - rc_physics3D.TimeStamp;
- rc_physics3D.TimeStamp = device->getTimer()->getTime();
+ //rc_physics3D.DeltaTime = device->getTimer()->getTime() - rc_physics3D.TimeStamp;
+ //rc_physics3D.TimeStamp = device->getTimer()->getTime();
+ rc_physics3D.DeltaTime = SDL_GetTicks() - rc_physics3D.TimeStamp;
+ rc_physics3D.TimeStamp = SDL_GetTicks();
rc_physics3D.world->stepSimulation(rc_physics3D.DeltaTime*0.001f, rc_physics3D.maxSubSteps, rc_physics3D.fixedTimeStep);
for(int i = 0; i < rc_canvas.size(); i++)
@@ -3460,8 +3462,10 @@ bool rc_update()
if(!hasPreUpdated)
{
- rc_physics3D.DeltaTime = device->getTimer()->getTime() - rc_physics3D.TimeStamp;
- rc_physics3D.TimeStamp = device->getTimer()->getTime();
+ //rc_physics3D.DeltaTime = device->getTimer()->getTime() - rc_physics3D.TimeStamp;
+ //rc_physics3D.TimeStamp = device->getTimer()->getTime();
+ rc_physics3D.DeltaTime = SDL_GetTicks() - rc_physics3D.TimeStamp;
+ rc_physics3D.TimeStamp = SDL_GetTicks();
rc_physics3D.world->stepSimulation(rc_physics3D.DeltaTime*0.001f, rc_physics3D.maxSubSteps, rc_physics3D.fixedTimeStep);
}
diff --git a/rcbasic_runtime/rc_os_defines.h b/rcbasic_runtime/rc_os_defines.h
index b73a342..c4814d6 100755
--- a/rcbasic_runtime/rc_os_defines.h
+++ b/rcbasic_runtime/rc_os_defines.h
@@ -2,7 +2,7 @@
#define RC_OS_DEFINES_H_INCLUDED
//USED FOR TESTING ONLY
-//#define RC_TESTING
+#define RC_TESTING
//I am checking Android first since I think it also defines __linux__
diff --git a/rcbasic_runtime/rc_physics3D_base.h b/rcbasic_runtime/rc_physics3D_base.h
index e1adbae..1c66080 100644
--- a/rcbasic_runtime/rc_physics3D_base.h
+++ b/rcbasic_runtime/rc_physics3D_base.h
@@ -42,4 +42,30 @@ double rc_getWorld3DTimeStep()
return rc_physics3D.fixedTimeStep;
}
+void rc_setSceneFog (Uint32 color, int fog_type, double start_val, double end_val, double density, bool pixelFog, bool rangeFog)
+{
+ if(VideoDriver)
+ VideoDriver->setFog(irr::video::SColor(color), (irr::video::E_FOG_TYPE)fog_type, start_val, end_val, density, pixelFog, rangeFog);
+}
+
+void rc_getSceneFog (double* color, double* fog_type, double* start_val, double* end_val, double* density, double* pixelFog, double* rangeFog)
+{
+ irr::video::SColor col;
+ irr::video::E_FOG_TYPE ftype;
+ irr::f32 sv, ev, den;
+ bool pf, rf;
+ if(VideoDriver)
+ {
+ VideoDriver->getFog(col, ftype, sv, ev, den, pf, rf);
+
+ *color = (double)col.color;
+ *fog_type = (double)( (irr::video::E_FOG_TYPE) ftype);
+ *start_val = (double)sv;
+ *end_val = (double)ev;
+ *density = (double)den;
+ *pixelFog = (double)( pf ? 1.0 : 0.0 );
+ *rangeFog = (double)( rf ? 1.0 : 0.0 );
+ }
+}
+
#endif // RC_PHYSICS3D_BASE_H_INCLUDED
diff --git a/rcbasic_runtime/rcbasic_runtime.depend b/rcbasic_runtime/rcbasic_runtime.depend
index 9d644c0..fbb8ccd 100755
--- a/rcbasic_runtime/rcbasic_runtime.depend
+++ b/rcbasic_runtime/rcbasic_runtime.depend
@@ -1,5 +1,5 @@
# depslib dependency file v1.0
-1732450472 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
+1733023264 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
"rc_os_defines.h"
@@ -32,10 +32,10 @@
"rc_func130_cases.h"
-1732450897 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
+1733023264 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
-1732393499 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
+1732562642 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_stdlib.h
"rc_os_defines.h"
@@ -1247,7 +1247,7 @@
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.h
-1732450927 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
+1733023077 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
"SDL.h"
@@ -2272,7 +2272,7 @@
"rc_gfx_core.h"
-1732393499 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
+1732562642 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
1724469097 source:/home/n00b/Projects/irrBullet/src/irrBullet.cpp
"irrBullet.h"
@@ -2514,7 +2514,7 @@
"rc_sprite2D.h"
"rc_gfx_core.h"
-1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_physics3D_base.h
+1732560585 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_physics3D_base.h
"rc_gfx_core.h"
1731727404 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h