11let width = 800
22let height = 450
33let position = Raylib.Vector3. create 0.0 0.0 0.0
4+ let asset_path (filename : string ) =
5+ Raylib. get_application_directory() ^ filename
46
57let setup () =
68 let open Raylib in
@@ -12,13 +14,14 @@ let setup () =
1214 (Vector3. create 0.0 1.0 0.0 )
1315 45.0 CameraProjection. Perspective
1416 in
15- let model = load_model " resources/guy/guy.iqm" in
16- let texture = load_texture " resources/guy/guytex.png" in
17+ let path = asset_path(" " ) in
18+ let model = load_model (path ^ " ./resources/guy/guy.iqm" ) in
19+ let texture = load_texture (path ^ " ./resources/guy/guytex.png" ) in
1720 set_material_texture
1821 (CArray. get (Model. materials model) 0 |> addr)
1922 MaterialMapIndex. Albedo texture;
2023
21- let anims = load_model_animations " resources/guy/guyanim.iqm" in
24+ let anims = load_model_animations (path ^ " ./ resources/guy/guyanim.iqm" ) in
2225
2326 disable_cursor () ;
2427 set_target_fps 60 ;
@@ -34,10 +37,10 @@ let rec loop camera model anims frame_counter =
3437 | false ->
3538 let open Raylib in
3639 update_camera (addr camera) CameraMode. First_person ;
40+ let anims0 = CArray. get anims 0 in
3741 let frame_counter =
3842 if is_key_down Key. Space then (
3943 let frame_counter = succ frame_counter in
40- let anims0 = CArray. get anims 0 in
4144 update_model_animation model anims0 frame_counter;
4245 if frame_counter > = ModelAnimation. frame_count anims0 then 0
4346 else frame_counter)
@@ -57,14 +60,16 @@ let rec loop camera model anims frame_counter =
5760 CArray. iter
5861 (fun bone ->
5962 draw_cube (Transform. translation bone) 0.2 0.2 0.2 Color. red)
60- (ModelAnimation. frame_poses_at ( CArray. get anims 0 ) frame_counter);
63+ (ModelAnimation. frame_poses_at anims0 frame_counter);
6164 draw_grid 10 1.0 ;
6265
6366 end_mode_3d () ;
6467
6568 draw_text " PRESS SPACE to PLAY MODEL ANIMATION" 10 10 20 Color. maroon;
6669 draw_text " (c) Guy IQM 3D model by @culacant" (width - 200 ) (height - 20 )
6770 10 Color. gray;
71+ let anim_name = ModelAnimation. name anims0 in
72+ draw_text (" animation: " ^ anim_name) 10 32 20 Color. maroon;
6873 end_drawing () ;
6974 loop camera model anims frame_counter
7075
0 commit comments