Browse Source

big things

shuvit 2 months ago
parent
commit
043d462c79
90 changed files with 908 additions and 370 deletions
  1. BIN
      __pycache__/_version.cpython-36.pyc
  2. BIN
      __pycache__/configobj.cpython-36.pyc
  3. 3
    0
      assets/bld1.blend
  4. 3
    0
      assets/bld_C.blend
  5. 3
    0
      assets/blda.blend
  6. 3
    0
      assets/bldb.blend
  7. 3
    0
      assets/car1.blend
  8. 1
    1
      assets/custom_shaders/custom_shader_utils.py
  9. 2
    2
      assets/materials/base_m_kit.blend
  10. 3
    0
      assets/materials/textures/Curbs_N.png
  11. 3
    0
      assets/materials/textures/GarageDoor_A.png
  12. 3
    0
      assets/materials/textures/GarageDoor_H.png
  13. 3
    0
      assets/materials/textures/GarageDoor_N.png
  14. 3
    0
      assets/materials/textures/OilDrum_A.png
  15. 3
    0
      assets/materials/textures/OilDrum_C.png
  16. 3
    0
      assets/materials/textures/OilDrum_N.png
  17. 3
    0
      assets/misc.blend
  18. 3
    0
      assets/roads.blend
  19. 3
    0
      assets/roads2.blend
  20. 3
    0
      assets/roads3.blend
  21. 3
    0
      assets/stop_sign.blend
  22. 3
    0
      assets/street_light.blend
  23. 3
    0
      assets/textures/crosswalk.png
  24. 3
    0
      assets/textures/double_yellow_line.png
  25. 3
    0
      assets/textures/lines_d.png
  26. 3
    0
      assets/textures/road_d.png
  27. 3
    0
      assets/textures/road_d_h.png
  28. 3
    0
      assets/textures/road_d_n.png
  29. 3
    0
      assets/textures/road_d_s.png
  30. 3
    0
      assets/textures/road_h.png
  31. 3
    0
      assets/textures/road_n.png
  32. 3
    0
      assets/textures/road_r.png
  33. 3
    0
      assets/textures/sidewalk_d.png
  34. 3
    0
      assets/textures/sidewalk_h.png
  35. 3
    0
      assets/textures/sidewalk_n.png
  36. 3
    0
      assets/textures/sidewalk_r.png
  37. 3
    0
      assets/textures/white_edge.png
  38. 3
    0
      assets/user1.blend
  39. 3
    0
      assets/user2 - Copy.blend
  40. BIN
      assets/user2 - goodblend
  41. 2
    2
      assets/user2.blend
  42. 3
    0
      assets/user2_old.blend
  43. 3
    0
      assets/user2_working.blend
  44. 3
    0
      assets/user2_working_b.blend
  45. 3
    0
      assets/user2bad.blend
  46. 1
    0
      assets/utils/bsp.map
  47. 1
    0
      assets/utils/height.map
  48. 3
    0
      assets/utils/park_creator19.blend
  49. 2
    2
      characters/annie.blend
  50. 5
    5
      characters/annie.ini
  51. 11
    11
      config.ini
  52. BIN
      custom_shaders/__pycache__/custom_shader_base.cpython-36.pyc
  53. BIN
      custom_shaders/__pycache__/custom_shader_utils.cpython-36.pyc
  54. BIN
      custom_shaders/__pycache__/wind.cpython-36.pyc
  55. 2
    2
      npc_walkers/larry.blend
  56. 3
    0
      roads.blend
  57. 1
    0
      scripts/Manager.py
  58. 70
    61
      scripts/Record.py
  59. 1
    1
      scripts/Startup.py
  60. 7
    3
      scripts/actionPlayer.py
  61. 31
    1
      scripts/actionsFSMlist.py
  62. 1
    1
      scripts/birds.py
  63. 3
    14
      scripts/camFSM.py
  64. 6
    3
      scripts/camera.py
  65. 230
    164
      scripts/controller2.py
  66. 22
    19
      scripts/grindV2.py
  67. 9
    3
      scripts/ragdoll.py
  68. 209
    0
      scripts/sound_man.py
  69. 6
    3
      scripts/walk.py
  70. 114
    63
      scripts/walker_states.py
  71. 12
    0
      scripts/water.py
  72. 2
    2
      shuvit.blend
  73. BIN
      shuvit.blend~1
  74. BIN
      six/__pycache__/__init__.cpython-36.pyc
  75. BIN
      six/__pycache__/six.cpython-36.pyc
  76. 3
    0
      sounds/grind_cement.wav
  77. 3
    0
      sounds/grind_cement_s.wav
  78. 3
    0
      sounds/grind_rail.wav
  79. 3
    0
      sounds/grind_rail_s.wav
  80. 2
    2
      sounds/land.wav
  81. 3
    0
      sounds/land_s.wav
  82. 3
    0
      sounds/pop.wav
  83. 3
    0
      sounds/pop_s.wav
  84. 2
    2
      sounds/revert.wav
  85. 3
    0
      sounds/revert2.wav
  86. 0
    3
      sounds/revert3.wav
  87. 3
    0
      sounds/roll.wav
  88. 3
    0
      sounds/roll_s.wav
  89. BIN
      tinytag/__pycache__/__init__.cpython-36.pyc
  90. BIN
      tinytag/__pycache__/tinytag.cpython-36.pyc

BIN
__pycache__/_version.cpython-36.pyc View File


BIN
__pycache__/configobj.cpython-36.pyc View File


+ 3
- 0
assets/bld1.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:7df19db4dd7dfda3631d980d1ba70842e84990dd32243e5c941a39b39e0cd5a9
3
+size 639776

+ 3
- 0
assets/bld_C.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:417fca36058536259e7ef53649cb697b7dd2a253822fa57d6bc25052103b519d
3
+size 7554648

+ 3
- 0
assets/blda.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:ebd9d08d3b7fae4f06994bee1bbc43674fdc6557f8e2bfab5a28796ac1fd7abd
3
+size 809480

+ 3
- 0
assets/bldb.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:35ed1e774df2f3ea295a61e5dadb00ebd4fa6e2ee89369cd8ce1b2fb21a2a256
3
+size 861072

+ 3
- 0
assets/car1.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:335091f63d4f159e1785328dcd07237c1534404184837d55ca83a9803c07042c
3
+size 2011016

+ 1
- 1
assets/custom_shaders/custom_shader_utils.py View File

@@ -58,7 +58,7 @@ def update_light_settings(shader, scene, names=["lightType", "lightDistance", "l
58 58
         shader.setUniform1f(names[1] + "[%s]"%i, light.distance)
59 59
         
60 60
         color = light.color
61
-        energy = light.energy / 2
61
+        energy = light.energy
62 62
         shader.setUniform3f(names[2] + "[%s]"%i, color[0] * energy, color[1] * energy, color[2] * energy)
63 63
         
64 64
         spotsize = cos(radians(light.spotsize) * 0.5)

+ 2
- 2
assets/materials/base_m_kit.blend View File

@@ -1,3 +1,3 @@
1 1
 version https://git-lfs.github.com/spec/v1
2
-oid sha256:9a3613fd2f72fe67f6006e52509f8ce8a5308d2a8222bd1cc0808ab97c2bb695
3
-size 33048768
2
+oid sha256:4cd74693215f17375ec593ab1fb7d24dd67fa746ecc517a72275c7ba81ef939a
3
+size 43541408

+ 3
- 0
assets/materials/textures/Curbs_N.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:d89735a5916b97035d08f59cd1ea2d9f58949fe4aea0565654d163905520a25a
3
+size 231640

+ 3
- 0
assets/materials/textures/GarageDoor_A.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:5048c4605a259f1c3ebe817692e231df84ff1fa2748e760a80cdbd85b3698114
3
+size 435023

+ 3
- 0
assets/materials/textures/GarageDoor_H.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:b1dbb879020a7425ed531ba90bf05ebf441b813f77d0f0f93f0a60288251adfb
3
+size 75542

+ 3
- 0
assets/materials/textures/GarageDoor_N.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:a5cb92e17d5acb65729bf284516c213a0d1125e76d6ff5ccdf640085127f46f3
3
+size 116046

+ 3
- 0
assets/materials/textures/OilDrum_A.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:34f3a21080496d8de77736c825d880103119a3f402e1ba7e439be92986975c45
3
+size 120998

+ 3
- 0
assets/materials/textures/OilDrum_C.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:54cefd1b690d0077afbf4f619ca6dc741f0fd585ff0dc50e7617f61e9a227122
3
+size 441340

+ 3
- 0
assets/materials/textures/OilDrum_N.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:dee78532af4d3335d93457103ead218a713774c38a4d2261dc8b64a07f0a3d8d
3
+size 302685

+ 3
- 0
assets/misc.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:537ad5e3db1bab9e69af4479e73e934c48d9e7af9f993e48a00849fa0bd6c2dd
3
+size 53715124

+ 3
- 0
assets/roads.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:cc11997306b9a0be9e7cb38a9a92c8140eb02c949deafd71669da9444113d6a2
3
+size 82822100

+ 3
- 0
assets/roads2.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:fe97724ac952f4c88647943afcd64ad67ef06a6c2f012f8c722a042278ceed2e
3
+size 82725548

+ 3
- 0
assets/roads3.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:eff3b3a843bfbbe32e0565b9828f15c81fa58c5c6f0f23ca9fd44f32d4542bde
3
+size 113150952

+ 3
- 0
assets/stop_sign.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:b4b9bf56574fadfc8eb2c5d6f1ed92804c5937b189e65ffb30e4c751656be5f4
3
+size 562308

+ 3
- 0
assets/street_light.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:2466371550482abd80cd8f190c6edb73f5b2b5ba0a25171cd0bfc8e300cc31e8
3
+size 6767332

+ 3
- 0
assets/textures/crosswalk.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:9be69046e7684c7f5ca846973779789a8375e8061180cac51fe340c08b0c3d69
3
+size 133349

+ 3
- 0
assets/textures/double_yellow_line.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:681477ad07aeb72bd95c8fed581fc34eb0d2c867de1cad9d44f980c5da539b82
3
+size 59284

+ 3
- 0
assets/textures/lines_d.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:eb5b6df158bbb6927d15fb5fe7e66ad77c75ba2d78a53fbaeb23a427edd8e612
3
+size 1143772

+ 3
- 0
assets/textures/road_d.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:00297155289c9b5da81fee6560f0c4b160a4606468d25b24dc3e2a6c65dfdea1
3
+size 2433371

+ 3
- 0
assets/textures/road_d_h.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:afc981f0a98638b7a29ddd25a12e2cb88be5c1aeb361b022c843b92402b67223
3
+size 399921

+ 3
- 0
assets/textures/road_d_n.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:b1ead1245ac9bb14ddfa3ab648b4980b0a13050c1af1ccf09f7d7dff63ad5eab
3
+size 3251716

+ 3
- 0
assets/textures/road_d_s.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:ee553ff87b893d584a39d570d64918ea8ced0bbade35539a32c68eaef120f1c2
3
+size 754732

+ 3
- 0
assets/textures/road_h.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:cfd051c0e5b68679ed5e1a7191740b25ce6af943f216651cf2e4eeccfcb0bcf2
3
+size 920060

+ 3
- 0
assets/textures/road_n.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:92787108d1c58d0843be3a21b1737b40e56bf233b733ecbb69dd50e76a46ca34
3
+size 1594840

+ 3
- 0
assets/textures/road_r.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:302d0317170cac8d3c8c2b9972abfc7ad173ffab138e9ee1aabcd24ab66e6439
3
+size 2414316

+ 3
- 0
assets/textures/sidewalk_d.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:17edc4f58c5b22dfab788090fc98bebdbd799905b1cbf6048ad3da09450e7f11
3
+size 1964881

+ 3
- 0
assets/textures/sidewalk_h.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:d5f87761c0c7a12f6d9ecaaa780239a0b844e12ef6e5a51679a5000280879876
3
+size 603850

+ 3
- 0
assets/textures/sidewalk_n.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:f11a1ead1c0cdd65f1964e3ed37807576e925d66cafb43e74c346d19b70be23a
3
+size 1634123

+ 3
- 0
assets/textures/sidewalk_r.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:c7cfdff422fe2089232c9801f933d66c1a4bed42ff5876e8dd15c697cb0b878d
3
+size 692459

+ 3
- 0
assets/textures/white_edge.png View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:6a14ed3580368439a4d462fb99f53cb23f4b385c7713da23e0ab26cd06a314ac
3
+size 51548

+ 3
- 0
assets/user1.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:8f749d309a733ffec4b5c022bcc97efd626326c6c9ca7b8c14f5f48dbb30180f
3
+size 3072876

+ 3
- 0
assets/user2 - Copy.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:c50a27bf424176dd598105c13d29be8f773a6f580bdac498f8b29796ef9b2643
3
+size 63922652

BIN
assets/user2 - goodblend View File


+ 2
- 2
assets/user2.blend View File

@@ -1,3 +1,3 @@
1 1
 version https://git-lfs.github.com/spec/v1
2
-oid sha256:12d40b33cfb2f5e40d46a86b55ca8b89a97e209e31950ff50d1a08777a0d6c27
3
-size 4788020
2
+oid sha256:55ccbcfd7471751baddd78f3c758c42b6c531ca7bae09a608628e889fcd527dd
3
+size 6498608

+ 3
- 0
assets/user2_old.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:30554fe681901cd13de5a5ae3380bd83a5328f2909a95a1e5dc6ab34776cc51c
3
+size 4777216

+ 3
- 0
assets/user2_working.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:0d247901a62bb6010ba6b17b00746182abaf9567d11bd447f636d3367104a654
3
+size 5095432

+ 3
- 0
assets/user2_working_b.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:fe5bf37d0d69a9a6ce377ada85d078a1d299c7dfe1df40c26ca87a6e71ea5e6a
3
+size 5093604

+ 3
- 0
assets/user2bad.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:d4fc29e5e82b0f157ecdd700bc9122c2d45a86c449a3e5d5a90a934416272118
3
+size 64150232

+ 1
- 0
assets/utils/bsp.map
File diff suppressed because it is too large
View File


+ 1
- 0
assets/utils/height.map
File diff suppressed because it is too large
View File


+ 3
- 0
assets/utils/park_creator19.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:b8e57f9aab2a302eb19221da39079bc240e809ef4891f17e60e8b681c3c47f5b
3
+size 64138376

+ 2
- 2
characters/annie.blend View File

@@ -1,3 +1,3 @@
1 1
 version https://git-lfs.github.com/spec/v1
2
-oid sha256:afbf98261896bf782abcdf5ce5c09ba425f4c2fc5dec3a15a6c44bfc328fa02a
3
-size 4288452
2
+oid sha256:946def328b4993b48b80a5a35306bdac0c3b9a8d321a10b60c8624bb4c57275b
3
+size 4212932

+ 5
- 5
characters/annie.ini View File

@@ -4,13 +4,13 @@
4 4
 
5 5
 shirt_logo = 2
6 6
 
7
-shirt_color_r = 0.69
8
-shirt_color_g = 0.05
7
+shirt_color_r = 0.38
8
+shirt_color_g = 0.0
9 9
 shirt_color_b = 0
10 10
 
11
-shoe_color_r = 0.73
12
-shoe_color_g = 0.73
13
-shoe_color_b = 0.73
11
+shoe_color_r = 0.03
12
+shoe_color_g = 0.03
13
+shoe_color_b = 0.03
14 14
 #-----------------
15 15
 
16 16
 #deck settings

+ 11
- 11
config.ini View File

@@ -35,9 +35,9 @@ recorder_on = 1
35 35
 #######
36 36
 cam_height = -0.3
37 37
 focal_length = 16
38
-cam_min = 2.4
39
-cam_max = 5.0
40
-cch_targetHeight = 0.25
38
+cam_min = 2.2
39
+cam_max = 4.4
40
+cch_targetHeight = 0.3
41 41
 
42 42
 cam_walk_height = 0.8
43 43
 cam_walk_min = 2.4
@@ -54,13 +54,13 @@ character = annie
54 54
 
55 55
 shirt_logo = 2
56 56
 
57
-shirt_color_r = 0.29
58
-shirt_color_g = 0.31
59
-shirt_color_b = 0.28
57
+shirt_color_r = 0.38
58
+shirt_color_g = 0.0
59
+shirt_color_b = 0
60 60
 
61
-shoe_color_r = 0.73
62
-shoe_color_g = 0.73
63
-shoe_color_b = 0.73
61
+shoe_color_r = 0.03
62
+shoe_color_g = 0.03
63
+shoe_color_b = 0.03
64 64
 #-----------------
65 65
 
66 66
 #deck settings
@@ -93,7 +93,7 @@ wheel4_b = 0.21
93 93
 #brightness / contrast
94 94
 bc = 1
95 95
 BC_BRIGHTNESS = 1.03
96
-BC_CONTRAST = 1.0
96
+BC_CONTRAST = 1.06
97 97
 
98 98
 #HDR
99 99
 hdr = 1
@@ -121,7 +121,7 @@ FXAA_SPAN_MAX = 8.0
121 121
 #############
122 122
 sun_strength = 1.5
123 123
 ambient_strength = 0.57
124
-sun_rot_x = -0.05
124
+sun_rot_x = 0.05
125 125
 sun_rot_y = 0.05
126 126
 shadow_on = 0
127 127
 #------------

BIN
custom_shaders/__pycache__/custom_shader_base.cpython-36.pyc View File


BIN
custom_shaders/__pycache__/custom_shader_utils.cpython-36.pyc View File


BIN
custom_shaders/__pycache__/wind.cpython-36.pyc View File


+ 2
- 2
npc_walkers/larry.blend View File

@@ -1,3 +1,3 @@
1 1
 version https://git-lfs.github.com/spec/v1
2
-oid sha256:57e3bad63d8cfe5f046b442c98e8b04f4b0444d478716f5efc2f07a6f84cda36
3
-size 3686456
2
+oid sha256:0df1002d71bf91ba07c9afbac1aa41360803340218100d6a91a32eff732b0c4b
3
+size 3687104

+ 3
- 0
roads.blend View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:4fe769219c3ecc929016925b55fe2e6926287d93a921a569a61a4c45e2dbaa22
3
+size 82819680

+ 1
- 0
scripts/Manager.py View File

@@ -729,6 +729,7 @@ def main():
729 729
         n = int(round(n))
730 730
         #n = 10
731 731
         #print("n: ", n, "--", valueIndex, recording_cutoff)
732
+        #print(valueIndex, 'valueIndex from Manager.py', dict['frame'])
732 733
         #dict = logic.globalDict #Get the global dictionary
733 734
         dict['playhead'] = n 
734 735
           

+ 70
- 61
scripts/Record.py View File

@@ -4,6 +4,7 @@ from bge import logic
4 4
 from mathutils import Vector
5 5
 from SortData import *
6 6
 import boneRecord
7
+import sound_man
7 8
 
8 9
 cont = logic.getCurrentController()
9 10
 own = cont.owner
@@ -369,6 +370,10 @@ def loadData():
369 370
 
370 371
 
371 372
         boneRecord.Playback(valueIndex)
373
+        #sound_man.Playback(valueIndex)
374
+        own['sndmgr'].h_Playback(valueIndex)
375
+        #print(valueIndex, 'valueIndex from Record.py')
376
+        #print('recorder', valueIndex)
372 377
 
373 378
 
374 379
         # name, skateranim = readData.returnSkaterAnim(objIndex, valueIndex)
@@ -441,17 +446,17 @@ def loadData():
441 446
             own["objIndex"] = lengthSrollVol-2
442 447
         name, srollVol = readData.returnSrollVol(objIndex, valueIndex)
443 448
         name, srollPitch = readData.returnSrollPitch(objIndex, valueIndex)    
444
-        if name in scene.objects:
445
-            try:
446
-                cube = scene.objects["control_cube.002"]
447
-                srollVol = round(srollVol, 2)
448
-                act = cube.actuators["sroll"]
449
-                if srollVol < .12:
450
-                    act.volume = srollVol
451
-                    act.pitch = srollPitch
452
-                act.startSound()
453
-            except:
454
-                pass
449
+        # if name in scene.objects:
450
+        #     try:
451
+        #         cube = scene.objects["control_cube.002"]
452
+        #         srollVol = round(srollVol, 2)
453
+        #         act = cube.actuators["sroll"]
454
+        #         if srollVol < .12:
455
+        #             act.volume = srollVol
456
+        #             act.pitch = srollPitch
457
+        #         act.startSound()
458
+        #     except:
459
+        #         pass
455 460
 ###            
456 461
 #
457 462
     #-----grind cement-----#
@@ -464,18 +469,18 @@ def loadData():
464 469
             own["objIndex"] = lengthSgrind_cementVol-2
465 470
         name, sgrind_cementVol = readData.returnSgrind_cementVol(objIndex, valueIndex)
466 471
         name, sgrind_cementPitch = readData.returnSgrind_cementPitch(objIndex, valueIndex)    
467
-        if name in scene.objects:
468
-            try:
469
-                cube = scene.objects["control_cube.002"]
470
-                sgrind_cementVol = round(sgrind_cementVol, 2)
471
-                act = cube.actuators["grind_cement"]
472
-                if sgrind_cementVol < .2:
473
-                    act.volume = sgrind_cementVol
474
-                    act.pitch = sgrind_cementPitch
475
-                act.startSound()
472
+        # if name in scene.objects:
473
+        #     try:
474
+        #         cube = scene.objects["control_cube.002"]
475
+        #         sgrind_cementVol = round(sgrind_cementVol, 2)
476
+        #         act = cube.actuators["grind_cement"]
477
+        #         if sgrind_cementVol < .2:
478
+        #             act.volume = sgrind_cementVol
479
+        #             act.pitch = sgrind_cementPitch
480
+        #         act.startSound()
476 481
                 
477
-            except:
478
-                pass
482
+        #     except:
483
+        #         pass
479 484
 ###    
480 485
 #
481 486
     #-----grind rail-----#
@@ -488,18 +493,18 @@ def loadData():
488 493
             own["objIndex"] = lengthSgrind_railVol-2
489 494
         name, sgrind_railVol = readData.returnSgrind_railVol(objIndex, valueIndex)
490 495
         name, sgrind_railPitch = readData.returnSgrind_railPitch(objIndex, valueIndex)    
491
-        if name in scene.objects:
492
-            try:
493
-                cube = scene.objects["control_cube.002"]
494
-                sgrind_railVol = round(sgrind_railVol, 2)
495
-                act = cube.actuators["grind_rail"]
496
-                if sgrind_railVol < .2:
497
-                    act.volume = sgrind_railVol
498
-                    act.pitch = sgrind_railPitch
499
-                act.startSound()
500
-                #print("grindsound = ", sgrind_railVol, sgrind_railPitch)
501
-            except:
502
-                pass
496
+        # if name in scene.objects:
497
+        #     try:
498
+        #         cube = scene.objects["control_cube.002"]
499
+        #         sgrind_railVol = round(sgrind_railVol, 2)
500
+        #         act = cube.actuators["grind_rail"]
501
+        #         if sgrind_railVol < .2:
502
+        #             act.volume = sgrind_railVol
503
+        #             act.pitch = sgrind_railPitch
504
+        #         act.startSound()
505
+        #         #print("grindsound = ", sgrind_railVol, sgrind_railPitch)
506
+        #     except:
507
+        #         pass
503 508
 ###  
504 509
 #
505 510
     #-----pop sound-----#
@@ -511,24 +516,24 @@ def loadData():
511 516
         if objIndex < 0:
512 517
             own["objIndex"] = lengthSpopsound-2
513 518
         name, spopsound = readData.returnSpopsound(objIndex, valueIndex)   
514
-        if name in scene.objects:
515
-            #act = sound_empty.actuators["pop"]
516
-            try:
517
-                #cube = scene.objects[sound_empty]
518
-                spopsound = round(spopsound, 2)
519
-                act = cube.actuators["pop"]
520
-                #act = sound_empty.actuators["pop"]
521
-                if spopsound == 1:
522
-                    #act.volume_maximum = .7
523
-                    #act.is3D = True
524
-                    #act.distance_reference = 10.0
525
-                    #act.distance_maximum = 50.0
526
-                    act.volume = .6
527
-                    act.startSound()
528
-                #print("grindsound = ", spopsound, sgrind_railPitch)
529
-            except:
530
-                print("sound passed")
531
-                pass
519
+        # if name in scene.objects:
520
+        #     #act = sound_empty.actuators["pop"]
521
+        #     try:
522
+        #         #cube = scene.objects[sound_empty]
523
+        #         spopsound = round(spopsound, 2)
524
+        #         act = cube.actuators["pop"]
525
+        #         #act = sound_empty.actuators["pop"]
526
+        #         if spopsound == 1:
527
+        #             #act.volume_maximum = .7
528
+        #             #act.is3D = True
529
+        #             #act.distance_reference = 10.0
530
+        #             #act.distance_maximum = 50.0
531
+        #             act.volume = .6
532
+        #             act.startSound()
533
+        #         #print("grindsound = ", spopsound, sgrind_railPitch)
534
+        #     except:
535
+        #         print("sound passed")
536
+        #         pass
532 537
 ###
533 538
 #
534 539
     #-----land sound-----#
@@ -543,11 +548,11 @@ def loadData():
543 548
         if name in scene.objects:
544 549
             try:
545 550
                 cube = scene.objects["control_cube.002"]
546
-                slandsound = round(slandsound, 2)
547
-                act = cube.actuators["land"]
548
-                if slandsound == 1:
549
-                    act.volume = .6
550
-                    act.startSound()
551
+                # slandsound = round(slandsound, 2)
552
+                # act = cube.actuators["land"]
553
+                # if slandsound == 1:
554
+                #     act.volume = .6
555
+                #     act.startSound()
551 556
                 #print("grindsound = ", slandsound, sgrind_railPitch)
552 557
             except:
553 558
                 pass
@@ -678,9 +683,9 @@ def loadData():
678 683
             try:
679 684
                 #cube = scene.objects[sound_empty]
680 685
                 srevertsound = round(srevertsound, 2)
681
-                act = cube.actuators["revertSound"]
682
-                if srevertsound == 1:
683
-                    act.startSound()
686
+                #act = cube.actuators["revertSound"]
687
+                #if srevertsound == 1:
688
+                    #act.startSound()
684 689
                 #print("grindsound = ", spopsound, sgrind_railPitch)
685 690
             except:
686 691
                 print("sound passed")
@@ -691,6 +696,7 @@ def loadData():
691 696
 def main(recording_cutoff, cc):
692 697
     num = 1
693 698
     obj = scene.objects["control_cube.002"]
699
+    #own = scene.objects["Camera.003"]
694 700
     if num == 1:
695 701
         
696 702
     #for obj in scene.objects:
@@ -728,7 +734,10 @@ def main(recording_cutoff, cc):
728 734
         getData.savetdPosition(obj, recording_cutoff)
729 735
         getData.savetdOrientation(obj, recording_cutoff)
730 736
         getData.saveSrevertsound(obj, recording_cutoff)                                       
731
-        boneRecord.Record()    
737
+        boneRecord.Record() 
738
+        own['sndmgr'].Record()    
739
+
740
+        #print('recording cutoff', recording_cutoff)
732 741
          
733 742
 def breakOut():
734 743
     num = 1

+ 1
- 1
scripts/Startup.py View File

@@ -102,7 +102,7 @@ def main():
102 102
     dict['sunz'] = 1.0 
103 103
     dict['replay_loop_start'] = 0
104 104
     dict['replay_loop_end'] = 0
105
-    dict['replay_record_length'] = 2400 #7300
105
+    dict['replay_record_length'] = 7300#240 #1200 #7300
106 106
     dict['rp_keyframes'] = []
107 107
     dict['rp_positions'] = []
108 108
     dict['temp_list'] = []

+ 7
- 3
scripts/actionPlayer.py View File

@@ -139,7 +139,8 @@ state_a = ['reg_idle',
139 139
 'fak_judo',
140 140
 'fak_frigid',
141 141
 'fak_fsonefoot',
142
-'fak_onefoot']
142
+'fak_onefoot',
143
+'reg_back_invert']
143 144
 
144 145
 state_b = ['reg_jump',
145 146
 'reg_walk_air',
@@ -284,7 +285,7 @@ def main(cont):
284 285
 	aState = check_land(rA, aState, own)
285 286
 	newState = aState
286 287
 	og_state = own['aState']
287
-
288
+	#print(aState)
288 289
 	if aState in state_a:
289 290
 
290 291
 		action = getattr(actionsFSMlist, aState)
@@ -293,7 +294,10 @@ def main(cont):
293 294
 			actionPlayer(getattr(actionsFSMlist, intro))	
294 295
 		else:
295 296
 			actionPlayer(action)
296
-		newState = check_exit(aState, rA, timer, action)		
297
+		newState = check_exit(aState, rA, timer, action)
298
+
299
+		if aState == 'reg_back_invert':
300
+			print('fffffffffffffffffffffffffffffffff')		
297 301
 
298 302
 	elif aState in state_b:
299 303
 		action = getattr(actionsFSMlist, aState)

+ 31
- 1
scripts/actionsFSMlist.py View File

@@ -8,7 +8,7 @@ revertlist = ['revert1', 'revert2', 'fak_revert1', 'fak_revert2', 'revert3', 're
8 8
 
9 9
 reg_manuallist = ['reg_manual', 'reg_nmanual', 'fak_manual', 'fak_nmanual']
10 10
 
11
-reg_grindlist = ['reg_5050', 'reg_fsboard', 'reg_tailg', 'reg_tailgr', 'reg_tailgl', 'reg_noseg', 'reg_nosegr', 'reg_nosegl', 'reg_noseslide', 'reg_tailslide', 'reg_bsboard']
11
+reg_grindlist = ['reg_5050', 'reg_fsboard', 'reg_tailg', 'reg_tailgr', 'reg_tailgl', 'reg_noseg', 'reg_nosegr', 'reg_nosegl', 'reg_noseslide', 'reg_tailslide', 'reg_bsboard', 'reg_back_invert']
12 12
 
13 13
 fak_grindlist = ['fak_5050', 'fak_fsboard', 'fak_tailg', 'fak_tailgr', 'fak_tailgl', 'fak_noseg', 'fak_nosegr', 'fak_nosegl', 'fak_noseslide', 'fak_tailslide', 'fak_bsboard']
14 14
 
@@ -1632,7 +1632,37 @@ reg_wall_l = a_class(
1632 1632
 #**********************#
1633 1633
 
1634 1634
 
1635
+reg_back_invert_in = a_class(
1636
+	#player armature action name, start, end frames
1637
+	'reg_back_invert_in.001', 1, 30,
1638
+	#deck action name, start, end frames  
1639
+	'b_reg', 1, 30,
1640
+	#layer, speed, mode (0 = play, 1 = loop), blendin
1641
+	1, 1, 0, 10,
1642
+	#intro, length
1643
+	None, 0,
1644
+	#exits
1645
+	['reg_5050'],
1646
+	#force exit, frame
1647
+	'reg_5050', 19,
1648
+	#opposite
1649
+	'fak_5050')
1635 1650
 
1651
+reg_back_invert = a_class(
1652
+	#player armature action name, start, end frames
1653
+	'reg_back_invert_in.001', 30, 30,
1654
+	#deck action name, start, end frames  
1655
+	'b_reg', 1, 30,
1656
+	#layer, speed, mode (0 = play, 1 = loop), blendin
1657
+	1, .5, 0, 10,
1658
+	#intro, length
1659
+	'reg_back_invert_in', 30,
1660
+	#exits
1661
+	['reg_air', 'reg_roll'] + reg_fliplist,
1662
+	#force exit, frame
1663
+	None, 0,
1664
+	#opposite
1665
+	'fak_5050')
1636 1666
 
1637 1667
 
1638 1668
 

+ 1
- 1
scripts/birds.py View File

@@ -57,4 +57,4 @@ def main(cont, scene):
57 57
 
58 58
     life(own)    
59 59
     do_birds(scene, own, cont)  
60
-    print('birding')    
60
+    #print('birding')    

+ 3
- 14
scripts/camFSM.py View File

@@ -97,8 +97,10 @@ class RollCam(State):
97 97
         if self.FSM.stateLife > 60:
98 98
             dict = bge.logic.globalDict
99 99
             own = dict['p1c']
100
+            scene = bge.logic.getCurrentScene()
101
+            #dict['camera'].object = scene.objects['camobj']
100 102
             if own['grinding'] == True:
101
-                scene = bge.logic.getCurrentScene()
103
+                
102 104
                 ce = scene.objects['cam_helper2']
103 105
                 ce.worldPosition = own.worldPosition
104 106
                 ce.worldOrientation = own.worldOrientation
@@ -133,19 +135,6 @@ class RollCam(State):
133 135
                 ce.applyMovement([xval,yval,0], True)
134 136
                 dict['camera'].worldPosition = dict['camera'].worldPosition.lerp(ce.worldPosition, stre)
135 137
 
136
-
137
-
138
-                # cont = bge.logic.getCurrentController()
139
-                # scene = bge.logic.getCurrentScene()
140
-                # camActu = cont.actuators['Camera']
141
-                # #camActu.object = scene.objects[cobj]
142
-                # camActu.damping = 0
143
-                # #camActu.max = cmax
144
-                # #camActu.height = cheight
145
-                # cont.activate(camActu)
146
-
147
-
148
-            #activate_camera('camCube', 1.5, 3, 2)
149 138
             new_state = get_request_state(self.__class__.__name__)
150 139
 
151 140
             if new_state:

+ 6
- 3
scripts/camera.py View File

@@ -5,6 +5,7 @@ from mathutils import *
5 5
 scene = bge.logic.getCurrentScene()
6 6
 import camFSM
7 7
 import birds
8
+import sound_man
8 9
 
9 10
 def main(cont):
10 11
     #camFSM.main(cont)
@@ -155,11 +156,11 @@ def main(cont):
155 156
                 if cam.height < 2:
156 157
                     cam.height = cam_height + .1
157 158
                     cam.max = cam.max - .2
158
-                    print('small move', cam.height, dict['cam_height'])
159
+                    #print('small move', cam.height, dict['cam_height'])
159 160
                 elif cam.height >= 2 and cam.height < 4:
160 161
                     cam.height = cam_height + .05
161 162
                     cam.max = cam.max - .05
162
-                    print('big move')
163
+                    #print('big move')
163 164
 
164 165
     if dict['menu_idle_timer'] > 300:
165 166
         move_len = 2048
@@ -359,7 +360,9 @@ def main(cont):
359 360
             cam.max = new_max
360 361
         except:
361 362
             pass
363
+    #print(own.actuators['Camera'].object)        
362 364
     set_lens_dist()        
363 365
     get_cam_state()
364 366
     camFSM.main(cont)
365
-    birds.main(cont, scene)
367
+    birds.main(cont, scene)
368
+    sound_man.main(cont)

+ 230
- 164
scripts/controller2.py View File

@@ -10,6 +10,7 @@ from sys import platform
10 10
 from mathutils import Vector
11 11
 import mathutils
12 12
 import joytimers
13
+import sound_man
13 14
 
14 15
 def main():
15 16
     scene = bge.logic.getCurrentScene()
@@ -76,10 +77,10 @@ def main():
76 77
     pos = own.localPosition
77 78
     rot = own.getAxisVect([0.0, 0.0, 1.0])
78 79
     gray = cont.sensors["gRay"]
79
-    pop = cont.actuators["pop"]
80
+    #pop = cont.actuators["pop"]
80 81
     grindHit = own["grindHit"]
81
-    grindCement = cont.actuators["grind_cement"]
82
-    grindRail = cont.actuators["grind_rail"]
82
+    #grindCement = cont.actuators["grind_cement"]
83
+    #grindRail = cont.actuators["grind_rail"]
83 84
     grindSound = own["grindSound"]
84 85
     skater = scene.objects["Char4"]
85 86
     deck = scene.objects["b_deck"]
@@ -334,10 +335,11 @@ def main():
334 335
                 dist = dist * 2
335 336
                 if dist > 1:
336 337
                     dist = 1
337
-                own.actuators["land"].volume = dist
338
-                sact = own.actuators["land"]
339
-                sact.stopSound()
340
-                cont.activate(own.actuators["land"])
338
+                #own.actuators["land"].volume = dist
339
+                #sact = own.actuators["land"]                
340
+                #sact.stopSound()
341
+                #cont.activate(own.actuators["land"])
342
+                cam['sndmgr'].queue_sound(['land', own, cam])
341 343
                 own['land_sound'] = 1
342 344
             if grindDar == 1:
343 345
                 pass
@@ -770,7 +772,8 @@ def main():
770 772
             own['jump_timer'] = jump_timer
771 773
 
772 774
         if zvel < 7 and jump_timer == 60:
773
-            cont.activate(own.actuators["pop"])
775
+            cam['sndmgr'].queue_sound(['pop', own, cam])
776
+            #cont.activate(own.actuators["pop"])
774 777
             own['pop_sound'] = 1
775 778
             #print("jump")
776 779
             #
@@ -836,13 +839,15 @@ def main():
836 839
             if own["wallride"] == "R":
837 840
                 force = [0, 170, 0]
838 841
                 own.applyForce(force, True)
839
-                cont.activate(own.actuators["pop2"])
842
+                #cont.activate(own.actuators["pop2"])
843
+                cam['sndmgr'].queue_sound(['pop', own, cam])
840 844
                 jump_timer = 60
841 845
                 own['jump_timer'] = jump_timer
842 846
             if own["wallride"] == "L":
843 847
                 force = [0, -170, 0] #325
844 848
                 own.applyForce(force, True)
845
-                cont.activate(own.actuators["pop2"])
849
+                #cont.activate(own.actuators["pop2"])
850
+                cam['sndmgr'].queue_sound(['pop', own, cam])
846 851
                 jump_timer = 60
847 852
                 own['jump_timer'] = jump_timer
848 853
 
@@ -1796,72 +1801,102 @@ def main():
1796 1801
         if onGround and grindDar == 0 and own['invert_on'] == 0:
1797 1802
             num1 = .05
1798 1803
             num2 = .25
1804
+            v = .1
1805
+            p = 1
1799 1806
             if linVelocity.x <= -num1 and linVelocity.x >= num1:
1800
-                own.actuators["sroll"].volume = .0001
1801
-                cont.deactivate(own.actuators["sroll"])
1802
-                own.actuators["sroll"].stopSound()
1807
+                #own.actuators["sroll"].volume = .0001
1808
+                #cont.deactivate(own.actuators["sroll"])
1809
+                #own.actuators["sroll"].stopSound()
1810
+                cam['sndmgr'].stop_sound(['roll'])
1803 1811
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1804
-                own.actuators["sroll"].volume = .02
1805
-                own.actuators["sroll"].pitch = .65
1812
+                #own.actuators["sroll"].volume = .02
1813
+                #own.actuators["sroll"].pitch = .65
1814
+                v = .02
1815
+                p = .65
1806 1816
             num1 = .25
1807 1817
             num2 = .5
1808 1818
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1809
-                own.actuators["sroll"].volume = .03
1810
-                own.actuators["sroll"].pitch = .7
1819
+                #own.actuators["sroll"].volume = .03
1820
+                #own.actuators["sroll"].pitch = .7
1821
+                v = .03
1822
+                p = .7
1811 1823
             num1 = .5
1812 1824
             num2 = .75
1813 1825
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1814
-                own.actuators["sroll"].volume = .04
1815
-                own.actuators["sroll"].pitch = .75
1826
+                #own.actuators["sroll"].volume = .04
1827
+                #own.actuators["sroll"].pitch = .75
1828
+                v = .04
1829
+                p = .75
1816 1830
             num1 = .75
1817 1831
             num2 = 1
1818 1832
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1819
-                own.actuators["sroll"].volume = .05
1820
-                own.actuators["sroll"].pitch = .8
1833
+                #own.actuators["sroll"].volume = .05
1834
+                #own.actuators["sroll"].pitch = .8
1835
+                v = .05
1836
+                p = .8
1821 1837
             num1 = 1
1822 1838
             num2 = 1.5
1823 1839
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1824
-                own.actuators["sroll"].volume = .06
1825
-                own.actuators["sroll"].pitch = .85
1840
+                #own.actuators["sroll"].volume = .06
1841
+                #own.actuators["sroll"].pitch = .85
1842
+                v = .06
1843
+                p = .85
1826 1844
             num1 = 1.5
1827 1845
             num2 = 2
1828 1846
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1829
-                own.actuators["sroll"].volume = .07
1830
-                own.actuators["sroll"].pitch = .9
1847
+                #own.actuators["sroll"].volume = .07
1848
+                #own.actuators["sroll"].pitch = .9
1849
+                v = .07
1850
+                p = .9
1831 1851
             num1 = 2
1832 1852
             num2 = 3
1833 1853
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1834
-                own.actuators["sroll"].volume = .08
1835
-                own.actuators["sroll"].pitch = .95
1854
+                #own.actuators["sroll"].volume = .08
1855
+                #own.actuators["sroll"].pitch = .95
1856
+                v = .08
1857
+                p = .95
1836 1858
             num1 = 3
1837 1859
             num2 = 4
1838 1860
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1839
-                own.actuators["sroll"].volume = .09
1840
-                own.actuators["sroll"].pitch = 1
1861
+                #own.actuators["sroll"].volume = .09
1862
+                #own.actuators["sroll"].pitch = 1
1863
+                v = .09
1864
+                p = 1.0
1841 1865
             num1 = 4
1842 1866
             num2 = 5
1843 1867
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1844
-                own.actuators["sroll"].volume = .11
1845
-                own.actuators["sroll"].pitch = 1.05
1868
+                #own.actuators["sroll"].volume = .11
1869
+                #own.actuators["sroll"].pitch = 1.05
1870
+                v = .11
1871
+                p = 1.05
1846 1872
             num1 = 5
1847 1873
             num2 = 6
1848 1874
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
1849
-                own.actuators["sroll"].volume = .1
1850
-                own.actuators["sroll"].pitch = 1.1
1851
-            own.actuators['sroll'].mode = 2
1852
-            cont.activate(own.actuators["sroll"])
1875
+                #own.actuators["sroll"].volume = .1
1876
+                #own.actuators["sroll"].pitch = 1.1
1877
+                v = .1
1878
+                p = 1.1
1879
+            #own.actuators['sroll'].mode = 2
1880
+            #cont.activate(own.actuators["sroll"])
1881
+            v = v * 2
1882
+            cam['sndmgr'].queue_sound(['roll', own, cam, v, p])    
1883
+
1853 1884
         if grindDar == 1 or own['invert_on'] == 1:
1854
-            own.actuators["sroll"].volume = .0001
1855
-            cont.deactivate(own.actuators["sroll"])
1856
-            own.actuators["sroll"].stopSound()
1885
+            #own.actuators["sroll"].volume = .0001
1886
+            #cont.deactivate(own.actuators["sroll"])
1887
+            #own.actuators["sroll"].stopSound()
1888
+            cam['sndmgr'].stop_sound(['roll'])
1889
+
1857 1890
         #in air
1858 1891
         if not onGround:
1859
-            own.actuators["sroll"].volume = .0001
1860
-            cont.deactivate(own.actuators["sroll"])
1861
-            own.actuators["sroll"].stopSound()
1862
-        act = cont.actuators["sroll"]
1863
-        own['sroll_vol'] = act.volume
1864
-        own['sroll_pitch'] = act.pitch
1892
+            #own.actuators["sroll"].volume = .0001
1893
+            #cont.deactivate(own.actuators["sroll"])
1894
+            #own.actuators["sroll"].stopSound()
1895
+            cam['sndmgr'].stop_sound(['roll'])
1896
+        
1897
+        #act = cont.actuators["sroll"]
1898
+        #own['sroll_vol'] = act.volume
1899
+        #own['sroll_pitch'] = act.pitch
1865 1900
 
1866 1901
     def wheelroll():
1867 1902
         #still
@@ -1997,7 +2032,7 @@ def main():
1997 2032
     
1998 2033
             local = True # use world axis
1999 2034
             own.applyRotation( rotation, local)
2000
-            print('rotation = ', rotation)
2035
+            #print('rotation = ', rotation)
2001 2036
             if onGround:
2002 2037
                 #print("med turn")
2003 2038
                 if STANCE == 0:
@@ -2030,117 +2065,142 @@ def main():
2030 2065
                 vel = linVelocity.y
2031 2066
             else:
2032 2067
                 vel = 0
2033
-            if grindSound == "rail":
2034
-                cont.deactivate(own.actuators['grind_cement'])
2035
-                num1 = .000
2036
-                num2 = .05
2037
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2038
-                    own.actuators["grind_rail"].volume = .0001
2039
-                    own.actuators["grind_rail"].pitch = .6
2040
-                num1 = .05
2041
-                num2 = .25
2042
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2043
-                    own.actuators["grind_rail"].volume = .05
2044
-                    own.actuators["grind_rail"].pitch = .7
2045
-
2046
-                num1 = .25
2047
-                num2 = .5
2048
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2049
-                    own.actuators["grind_rail"].volume = .1
2050
-                    own.actuators["grind_rail"].pitch = .75
2051
-                num1 = .5
2052
-                num2 = .75
2053
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2054
-                    own.actuators["grind_rail"].volume = .14
2055
-                    own.actuators["grind_rail"].pitch = .8
2056
-                num1 = .75
2057
-                num2 = 1
2058
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2059
-                    own.actuators["grind_rail"].volume = .17
2060
-                    own.actuators["grind_rail"].pitch = .85
2061
-                num1 = 1
2062
-                num2 = 1.25
2063
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2064
-                    own.actuators["grind_rail"].volume = .18
2065
-                    own.actuators["grind_rail"].pitch = .9
2066
-                num1 = 1.25
2067
-                num2 = 2
2068
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2069
-                    own.actuators["grind_rail"].volume = .19
2070
-                    own.actuators["grind_rail"].pitch = .95
2071
-                num1 = 2
2072
-                num2 = 40
2073
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2074
-                    own.actuators["grind_rail"].volume = .19
2075
-                    own.actuators["grind_rail"].pitch = 1
2076
-                cont.activate(own.actuators['grind_rail'])
2077
-
2078
-            if grindSound == "concrete":
2079
-            #play sound
2080
-                cont.deactivate(own.actuators['grind_rail'])
2081
-                num1 = .000
2082
-                num2 = .05
2083
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2084
-                    own.actuators["grind_cement"].volume = .01
2085
-                    own.actuators["grind_cement"].pitch = .6
2086
-                num1 = .05
2087
-                num2 = .25
2088
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2089
-                    own.actuators["grind_cement"].volume = .05
2090
-                    own.actuators["grind_cement"].pitch = .7
2091
-
2092
-                num1 = .25
2093
-                num2 = .5
2094
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2095
-                    own.actuators["grind_cement"].volume = .1
2096
-                    own.actuators["grind_cement"].pitch = .75
2097
-                num1 = .5
2098
-                num2 = .75
2099
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2100
-                    own.actuators["grind_cement"].volume = .14
2101
-                    own.actuators["grind_cement"].pitch = .8
2102
-                num1 = .75
2103
-                num2 = 1
2104
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2105
-                    own.actuators["grind_cement"].volume = .17
2106
-                    own.actuators["grind_cement"].pitch = .85
2107
-                num1 = 1
2108
-                num2 = 1.25
2109
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2110
-                    own.actuators["grind_cement"].volume = .18
2111
-                    own.actuators["grind_cement"].pitch = .9
2112
-                num1 = 1.25
2113
-                num2 = 2
2114
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2115
-                    own.actuators["grind_cement"].volume = .19
2116
-                    own.actuators["grind_cement"].pitch = .95
2117
-                num1 = 2
2118
-                num2 = 40
2119
-                if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2120
-                    own.actuators["grind_cement"].volume = .19
2121
-                    own.actuators["grind_cement"].pitch = 1
2122
-                cont.activate(own.actuators['grind_cement'])
2068
+            v = .0001
2069
+            p = 1.0
2070
+            #if grindSound == "rail":
2071
+                #cont.deactivate(own.actuators['grind_cement'])
2072
+            num1 = .000
2073
+            num2 = .05
2074
+            if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2075
+                #own.actuators["grind_rail"].volume = .0001
2076
+                #own.actuators["grind_rail"].pitch = .6
2077
+                v = .00001
2078
+                p = .6
2079
+            num1 = .05
2080
+            num2 = .25
2081
+            if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2082
+                #own.actuators["grind_rail"].volume = .05
2083
+                #own.actuators["grind_rail"].pitch = .7
2084
+                v = .05
2085
+                p = .7
2086
+            num1 = .25
2087
+            num2 = .5
2088
+            if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2089
+                #own.actuators["grind_rail"].volume = .1
2090
+                #own.actuators["grind_rail"].pitch = .75
2091
+                v = .1
2092
+                p = .75
2093
+            num1 = .5
2094
+            num2 = .75
2095
+            if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2096
+                #own.actuators["grind_rail"].volume = .14
2097
+                #own.actuators["grind_rail"].pitch = .8
2098
+                v = .14
2099
+                p = .8
2100
+            num1 = .75
2101
+            num2 = 1
2102
+            if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2103
+                #own.actuators["grind_rail"].volume = .17
2104
+                #own.actuators["grind_rail"].pitch = .85
2105
+                v = .17
2106
+                p = .85
2107
+            num1 = 1
2108
+            num2 = 1.25
2109
+            if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2110
+                #own.actuators["grind_rail"].volume = .18
2111
+                #own.actuators["grind_rail"].pitch = .9
2112
+                v = .18
2113
+                p = .9
2114
+            num1 = 1.25
2115
+            num2 = 2
2116
+            if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2117
+                #own.actuators["grind_rail"].volume = .19
2118
+                #own.actuators["grind_rail"].pitch = .95
2119
+                v = .19
2120
+                p = .95
2121
+            num1 = 2
2122
+            num2 = 40
2123
+            if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2124
+                #own.actuators["grind_rail"].volume = .19
2125
+                #own.actuators["grind_rail"].pitch = 1
2126
+                v = .19
2127
+                p = 1.0
2128
+            #cont.activate(own.actuators['grind_rail'])
2129
+
2130
+            if grindSound == 'rail':
2131
+                cam['sndmgr'].queue_sound(['grind_rail', own, cam, v, p]) 
2132
+            elif grindSound == 'cement':
2133
+                cam['sndmgr'].queue_sound(['grind_cement', own, cam, v, p])     
2134
+
2135
+            # if grindSound == "concrete":
2136
+            # #play sound
2137
+            #     cont.deactivate(own.actuators['grind_rail'])
2138
+            #     num1 = .000
2139
+            #     num2 = .05
2140
+            #     if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2141
+            #         own.actuators["grind_cement"].volume = .01
2142
+            #         own.actuators["grind_cement"].pitch = .6
2143
+            #     num1 = .05
2144
+            #     num2 = .25
2145
+            #     if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2146
+            #         own.actuators["grind_cement"].volume = .05
2147
+            #         own.actuators["grind_cement"].pitch = .7
2148
+
2149
+            #     num1 = .25
2150
+            #     num2 = .5
2151
+            #     if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2152
+            #         own.actuators["grind_cement"].volume = .1
2153
+            #         own.actuators["grind_cement"].pitch = .75
2154
+            #     num1 = .5
2155
+            #     num2 = .75
2156
+            #     if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2157
+            #         own.actuators["grind_cement"].volume = .14
2158
+            #         own.actuators["grind_cement"].pitch = .8
2159
+            #     num1 = .75
2160
+            #     num2 = 1
2161
+            #     if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2162
+            #         own.actuators["grind_cement"].volume = .17
2163
+            #         own.actuators["grind_cement"].pitch = .85
2164
+            #     num1 = 1
2165
+            #     num2 = 1.25
2166
+            #     if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2167
+            #         own.actuators["grind_cement"].volume = .18
2168
+            #         own.actuators["grind_cement"].pitch = .9
2169
+            #     num1 = 1.25
2170
+            #     num2 = 2
2171
+            #     if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2172
+            #         own.actuators["grind_cement"].volume = .19
2173
+            #         own.actuators["grind_cement"].pitch = .95
2174
+            #     num1 = 2
2175
+            #     num2 = 40
2176
+            #     if (vel > num1 and vel < num2) or (vel < -num1 and vel > -num2):
2177
+            #         own.actuators["grind_cement"].volume = .19
2178
+            #         own.actuators["grind_cement"].pitch = 1
2179
+            #     cont.activate(own.actuators['grind_cement'])
2123 2180
         else:
2124
-            cont.deactivate(own.actuators['grind_cement'])
2125
-            cont.deactivate(own.actuators['grind_rail'])
2181
+            #cont.deactivate(own.actuators['grind_cement'])
2182
+            #cont.deactivate(own.actuators['grind_rail'])
2183
+            cam['sndmgr'].stop_sound(['grind_rail']) 
2184
+            cam['sndmgr'].stop_sound(['grind_cement']) 
2126 2185
 
2127 2186
     def record_grindsound():
2128
-        dropin = own['dropinTimer']
2129
-        lif = own['last_invert_frame']
2130
-        if grindHit == True and dropin == 0 and own['invert_on'] == 0 and own["LAST_GRIND"] == True and own["nogrindsound"] == 0 and (frame - lif > 13):
2131
-            if grindSound == "concrete":
2132
-                act = own.actuators["grind_cement"]
2133
-                own['grindcement_vol'] = act.volume
2134
-                own['grindcement_pitch'] = act.pitch
2135
-            elif grindSound == "rail":
2136
-                act = own.actuators["grind_rail"]
2137
-                own['grindrail_vol'] = act.volume
2138
-                own['grindrail_pitch'] = act.pitch
2139
-        if own["LAST_GRIND"] == False:
2140
-            own['grindcement_vol'] = 0
2141
-            own['grindcement_pitch'] = 0
2142
-            own['grindrail_vol'] = 0
2143
-            own['grindrail_pitch'] = 0
2187
+        pass
2188
+        # dropin = own['dropinTimer']
2189
+        # lif = own['last_invert_frame']
2190
+        # if grindHit == True and dropin == 0 and own['invert_on'] == 0 and own["LAST_GRIND"] == True and own["nogrindsound"] == 0 and (frame - lif > 13):
2191
+        #     if grindSound == "concrete":
2192
+        #         act = own.actuators["grind_cement"]
2193
+        #         own['grindcement_vol'] = act.volume
2194
+        #         own['grindcement_pitch'] = act.pitch
2195
+        #     elif grindSound == "rail":
2196
+        #         act = own.actuators["grind_rail"]
2197
+        #         own['grindrail_vol'] = act.volume
2198
+        #         own['grindrail_pitch'] = act.pitch
2199
+        # if own["LAST_GRIND"] == False:
2200
+        #     own['grindcement_vol'] = 0
2201
+        #     own['grindcement_pitch'] = 0
2202
+        #     own['grindrail_vol'] = 0
2203
+        #     own['grindrail_pitch'] = 0
2144 2204
 
2145 2205
     def grind():
2146 2206
         grindsound()
@@ -2449,10 +2509,11 @@ def main():
2449 2509
         wheel2.stopAction(2)
2450 2510
         wheel3.stopAction(2)
2451 2511
         wheel4.stopAction(2)
2452
-        cont.deactivate(own.actuators["sroll"])
2453
-        sact = own.actuators["sroll"]
2454
-        sact.volume = .0001
2455
-        own.actuators["sroll"].stopSound()
2512
+        #cont.deactivate(own.actuators["sroll"])
2513
+        #sact = own.actuators["sroll"]
2514
+        #sact.volume = .0001
2515
+        #own.actuators["sroll"].stopSound()
2516
+        cam['sndmgr'].stop_sound(['roll'])
2456 2517
         own['offboard_vel'] = own.linearVelocity
2457 2518
         own['walk_timer'] = 0
2458 2519
 
@@ -2582,7 +2643,8 @@ def main():
2582 2643
             else:
2583 2644
                 own['requestAction'] = 'fak_revert1'
2584 2645
         own['revert_timer'] = 20
2585
-        cont.activate(own.actuators["revertSound"])
2646
+        #cont.activate(own.actuators["revertSound"])
2647
+        cam['sndmgr'].queue_sound(['revert', own, cam])
2586 2648
         own['revert_sound'] = 1
2587 2649
         dict['trick_string'] = 'Revert'
2588 2650
 
@@ -2604,7 +2666,8 @@ def main():
2604 2666
             else:
2605 2667
                 own['requestAction'] = 'fak_revert2'
2606 2668
         own['revert_timer'] = 20
2607
-        cont.activate(own.actuators["revertSound"])
2669
+        #cont.activate(own.actuators["revertSound"])
2670
+        cam['sndmgr'].queue_sound(['revert', own, cam])
2608 2671
         own['revert_sound'] = 1
2609 2672
         dict['trick_string'] = 'Revert'
2610 2673
 
@@ -2626,7 +2689,8 @@ def main():
2626 2689
             else:
2627 2690
                 own['requestAction'] = 'fak_revert1'
2628 2691
         own['revert_timer'] = 20
2629
-        cont.activate(own.actuators["revertSound"])
2692
+        #cont.activate(own.actuators["revertSound"])
2693
+        cam['sndmgr'].queue_sound(['revert', own, cam])
2630 2694
         own['revert_sound'] = 1
2631 2695
         dict['trick_string'] = 'Revert'
2632 2696
 
@@ -2648,7 +2712,8 @@ def main():
2648 2712
             else:
2649 2713
                 own['requestAction'] = 'fak_revert2'
2650 2714
         own['revert_timer'] = 20
2651
-        cont.activate(own.actuators["revertSound"])
2715
+        #cont.activate(own.actuators["revertSound"])
2716
+        cam['sndmgr'].queue_sound(['revert', own, cam])
2652 2717
         own['revert_sound'] = 1
2653 2718
         dict['trick_string'] = 'Revert'
2654 2719
 
@@ -3344,9 +3409,10 @@ def main():
3344 3409
 
3345 3410
     #start button
3346 3411
     if stBut == True:
3347
-        own.actuators["sroll"].volume = .0001
3348
-        cont.deactivate(own.actuators["sroll"])
3349
-        own.actuators["sroll"].stopSound()
3412
+        #own.actuators["sroll"].volume = .0001
3413
+        #cont.deactivate(own.actuators["sroll"])
3414
+        #own.actuators["sroll"].stopSound()
3415
+        cam['sndmgr'].stop_sound(['roll'])
3350 3416
     if (stBut == False and dict['last_stBut'] == True) or dict['kb_en'] == 1:
3351 3417
         if own['pause_on'] == True:
3352 3418
             own['pause_on'] = False

+ 22
- 19
scripts/grindV2.py View File

@@ -246,8 +246,8 @@ def main():
246 246
         no_grind = 0
247 247
     if dict['lBump'] and dict['rBump']:
248 248
         no_grind = 1
249
-    elif dict['lBump']:
250
-        no_grind = 0        
249
+    elif (dict['lBump'] and not dict['rBump']) or (dict['rBump'] and not dict['lBump']):
250
+        no_grind = 0       
251 251
 #---------###########___###########-----------
252 252
 #start new                     #######
253 253
 ##----------##############----------############
@@ -333,7 +333,8 @@ def main():
333 333
         rot *= 100
334 334
 
335 335
         #print(own['inverting'])
336
-        if frames_grinding > 20 and own['inverting'] == False:
336
+        #if frames_grinding > 20 and own['inverting'] == False:
337
+        if frames_grinding > 20:    
337 338
             #print("setting stance")
338 339
             if (rot == 90 or rot == -270) and STANCE == True:
339 340
                 #print("90 fak stance")
@@ -643,14 +644,14 @@ def main():
643 644
     def invertpos(detectedObjects):
644 645
         minDist = None
645 646
         nearestObject = None
646
-        for obj in detectedObjects:
647
-            dist = own.getDistanceTo(obj)
648
-            if (minDist is None or dist < minDist):
649
-                nearestObject = obj
650
-                minDist = dist
651
-        if nearestObject != None:
652
-            own.linearVelocity.x = 0
653
-            own.linearVelocity.y = 0
647
+        # for obj in detectedObjects:
648
+        #     dist = own.getDistanceTo(obj)
649
+        #     if (minDist is None or dist < minDist):
650
+        #         nearestObject = obj
651
+        #         minDist = dist
652
+        # if nearestObject != None:
653
+        #     own.linearVelocity.x = 0
654
+        #     own.linearVelocity.y = 0
654 655
 
655 656
     #if grindDar.positive == False and grindTouch.triggered and grindold == 0 and dropin == 0 and grind_jump == 0 and own["grindoutturn"] == 0 and gt_cd == 0 and manual == 0 and no_grind == 0 and nearestObject != lastObject and own['grindjumpturn'] == 0 and own['gt_cd2'] == 0 and own['air_mover'] == False:
656 657
         #print("touching, no dar")
@@ -677,6 +678,7 @@ def main():
677 678
 #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
678 679
         #init grind
679 680
 
681
+        #print('invert on', invert_on)
680 682
         if invert_on:
681 683
             invertpos(detectedObjects)
682 684
             own['inverting'] = True
@@ -686,7 +688,8 @@ def main():
686 688
         grind_dist = .8#.6
687 689
         skipper = 0
688 690
         #print(lastobj.worldPosition)
689
-        if dist < grind_dist and dropin == 0 and manual == 0 and no_grind == 0 and own['grindoutturn'] == 0 and own['manual'] == 0 and own['gt_cd2'] < 40 and invert_on == False and own['air_mover'] == False and no_grind_pull == 0 and own['last_invert'] == False and own['grindjumpturn'] == 0 and grind_jump == 0 and (own['airup'] == 0 or dict['rBump'] == 1 or dict['lBump'] == 1):
691
+        #if dist < grind_dist and dropin == 0 and manual == 0 and no_grind == 0 and own['grindoutturn'] == 0 and own['manual'] == 0 and own['gt_cd2'] < 40 and invert_on == False and own['air_mover'] == False and no_grind_pull == 0 and own['last_invert'] == False and own['grindjumpturn'] == 0 and grind_jump == 0 and (own['airup'] == 0 or dict['rBump'] == 1 or dict['lBump'] == 1):
692
+        if dist < grind_dist and dropin == 0 and manual == 0 and no_grind == 0 and own['grindoutturn'] == 0 and own['manual'] == 0 and own['gt_cd2'] < 40 and own['air_mover'] == False and no_grind_pull == 0 and own['grindjumpturn'] == 0 and grind_jump == 0 and (own['airup'] == 0 or dict['rBump'] == 1 or dict['lBump'] == 1):            
690 693
             #print("grinding")
691 694
             grind_height_dif = (own.worldPosition[2] - nearestObject.worldPosition[2]) - .287
692 695
 
@@ -788,13 +791,13 @@ def main():
788 791
         minDist = None
789 792
         nearestObject = None
790 793
         print('doing invert funct')
791
-        for obj in invertObjs:
792
-            dist = own.getDistanceTo(obj)
793
-            if (minDist is None or dist < minDist):
794
-                nearestObject = obj
795
-                minDist = dist
796
-        vect = nearestObject.getAxisVect([1.0, 0.0, 0.0])
797
-        own.worldPosition = [nearestObject.worldPosition.x, nearestObject.worldPosition.y, nearestObject.worldPosition.z +.1]
794
+        # for obj in invertObjs:
795
+        #     dist = own.getDistanceTo(obj)
796
+        #     if (minDist is None or dist < minDist):
797
+        #         nearestObject = obj
798
+        #         minDist = dist
799
+        # vect = nearestObject.getAxisVect([1.0, 0.0, 0.0])
800
+        # own.worldPosition = [nearestObject.worldPosition.x, nearestObject.worldPosition.y, nearestObject.worldPosition.z +.1]
798 801
 
799 802
     def set_pregrind_vel():
800 803
         if grindDar.triggered == False and ray.triggered == False:

+ 9
- 3
scripts/ragdoll.py View File

@@ -134,7 +134,13 @@ def main():
134 134
             scene.objects[armature].stopAction(2)
135 135
             scene.objects[armature].stopAction(7)
136 136
             scene.objects[armature].update()
137
-            cont.actuators['Camera'].object = scene.objects['ragdoll_parent']
137
+            
138
+            #cont.actuators['Camera'].object = scene.objects['ragdoll_parent']
139
+            #scene.objects['control_cube.002'].worldPosition = scene.objects['control_cube.002'].worldPosition.lerp(scene.objects['ragdoll_parent'].worldPosition, .01)
140
+            scene.objects['control_cube.002'].worldPosition = scene.objects['ragdoll_parent'].worldPosition
141
+
142
+
143
+
138 144
             wp = scene.objects['camCube'].worldPosition - scene.objects['ragdoll_parent'].worldPosition
139 145
             wp = wp * .9
140 146
             cont.actuators['Camera'].height = 2.0
@@ -190,7 +196,7 @@ def main():
190 196
                 own.worldPosition.z += .4
191 197
                 cont.activate(cont.actuators['walk']) 
192 198
 
193
-            if dict['lUD'] < -.08:
199
+            if dict['lUD'] < -.08 and own['rd_incer'] > 200:
194 200
                 physBody = own['rd_rb']
195 201
                 excludes = ['npc_ed_arm_phys_hand.R', 'npc_ed_arm_phys_hand.L', 'npc_ed_arm_phys_forearm.fk.L', 'npc_ed_arm_phys_forearm.fk.R', 'npc_ed_arm_phys_upper_arm.fk.L', 'npc_ed_arm_phys_upper_arm.fk.R']
196 202
                 #excludes = []
@@ -215,7 +221,7 @@ def main():
215 221
                 scene.objects['npc_ed_arm_phys_clavicle.L'].applyForce([0,0,200], False)
216 222
                 scene.objects['npc_ed_arm_phys_clavicle.R'].applyForce([0,0,200], False)
217 223
 
218
-            if dict['rUD'] > .08:
224
+            if dict['rUD'] > .08 and own['rd_incer'] > 200:
219 225
                 scene.objects['npc_ed_arm_phys_master'].applyForce([0,600,0], True)
220 226
         else:
221 227
             update_rb(own['rd_rb'], scene)   

+ 209
- 0
scripts/sound_man.py View File

@@ -0,0 +1,209 @@
1
+#sound_man.py
2
+#shuvit sound effects manager
3
+
4
+import bge
5
+import aud
6
+
7
+def init_sounds(self):
8
+	#pop
9
+
10
+	self.pop = sounds('pop')
11
+	self.land = sounds('land')
12
+	self.roll = sounds('roll')
13
+	self.revert = sounds('revert')
14
+	self.roll.loop = True
15
+	self.grind_cement = sounds('grind_cement')
16
+	self.grind_cement.loop = True
17
+	self.grind_cement.pingpong = True
18
+	self.grind_rail = sounds('grind_rail')
19
+	self.grind_rail.loop = True
20
+	self.grind_rail.pingpong = True
21
+	#self.pop.name = 'pop'
22
+
23
+
24
+
25
+class sound_manager:
26
+	def __init__(self):
27
+		self.queue = []
28
+		self.history = []
29
+		self.h_queue = []
30
+		self.gd = bge.logic.globalDict
31
+		init_sounds(self)
32
+		#self.pop = sounds()
33
+
34
+	def queue_sound(self, sound):
35
+		self.queue.append(sound)
36
+
37
+	def remove_sound(self, sound):
38
+		self.queue.remove(sound)
39
+
40
+	def play_queue(self):
41
+		if self.queue is not []:
42
+			#pass
43
+			self.h_queue = self.queue.copy()
44
+			#print('og', self.h_queue, self.queue)
45
+			for ev in self.queue:
46
+				#get function from string at position 0 of event
47
+				result = getattr(self, ev[0])
48
+				#print(result)
49
+				#print(result.name)
50
+				if result.loop:
51
+					result.loop_play(ev[1], ev[2], ev[3], ev[4])
52
+				else:
53
+					result.play(ev[1], ev[2])
54
+
55
+				self.queue.remove(ev)
56
+			
57
+
58
+			self.queue = []	
59
+
60
+	def play_hist(self):
61
+		if self.h_queue is not []:
62
+			#pass
63
+			
64
+			for ev in self.h_queue:
65
+				#get function from string at position 0 of event
66
+				result = getattr(self, ev[0])
67
+				#print(result)
68
+				#print(result.name)
69
+				if result.name == 'roll':
70
+				#if result.loop:
71
+					result.loop_play(ev[1], ev[2], ev[3], ev[4])
72
+				else:
73
+					result.play(ev[1], ev[2])
74
+
75
+				#self.queue.remove(ev)				
76
+
77
+	def update(self):
78
+		self.play_queue()
79
+		#print('queued sounds', self.queue)
80
+
81
+	def stop_sound(self, sound):
82
+		c = getattr(self, sound[0])
83
+		if c.handle_buffered:
84
+			c.handle_buffered.stop()
85
+
86
+	def Record(self):
87
+		self.history.append(self.h_queue)
88
+		#self.history.insert(0, self.h_queue)
89
+		
90
+		#print(self.h_queue, 'appended to history')
91
+		#self.history.append(self.h_queue)
92
+		#print('appending', self.h_queue)
93
+		l = len(self.history)
94
+		if l > ((self.gd['replay_record_length'])):
95
+
96
+			self.history.pop(0)
97
+			#self.history.pop(self.gd['replay_record_length'])
98
+			#self.history.pop(0)
99
+		#print(l, 'history length', ((self.gd['replay_record_length']) -1))
100
+
101
+	def h_Playback(self, frame):
102
+		#frame *= 2
103
+		#frame = int(frame /2)
104
+		try:	
105
+			self.h_queue = self.history[frame]
106
+			#self.h_queue2 = self.history[frame-1]
107
+			#print(self.history[frame], self.queue, frame, 'replay queue')
108
+		except:
109
+			print('replay audio not playing', frame, len(self.history))
110
+		#print('h_queue', self.h_queue, frame)
111
+		if self.h_queue is not []:
112
+			for ev in self.h_queue:
113
+				result = getattr(self, ev[0])
114
+				#print('ev0', ev[0])
115
+				if result.loop:
116
+					#result.loop_play(ev[1], ev[2], ev[3], ev[4])
117
+					pass
118
+				else:
119
+					result.play(ev[1], ev[2])
120
+					#print('... playing', result.name, frame, len(self.history))
121
+		# if self.h_queue2 is not []:
122
+		# 	for ev in self.h_queue2:
123
+		# 		result = getattr(self, ev[0])
124
+		# 		if result.loop:
125
+		# 			result.loop_play(ev[1], ev[2], ev[3], ev[4])
126
+		# 		else:
127
+		# 			result.play(ev[1], ev[2])					
128
+
129
+
130
+		#print(self.history)
131
+
132
+class sounds(sound_manager):
133
+	def __init__(self, name):
134
+		self.name = name
135
+		self.obj = None
136
+		self.loop = False
137
+		self.pingpong = False
138
+		self.listener_obj = None
139
+		self.pitch = 1.0	
140
+		self.volume = 0.9
141
+		self.device = aud.device()
142
+		self.path = bge.logic.expandPath('//sounds')
143
+		self.factory = aud.Factory(self.path + '/' + self.name + '.wav')
144
+		self.factory_buffered = aud.Factory.buffer(self.factory)
145
+		self.handle_buffered = None
146
+		#self.handle = self.device.play(factory)
147
+
148
+	def play(self, obj, listener):
149
+		
150
+		scene = bge.logic.getCurrentScene()
151
+
152
+		self.device.distance_model = aud.AUD_DISTANCE_MODEL_LINEAR
153
+		self.device.listener_location = obj.worldPosition
154
+		self.device.listener_velocity = obj.getLinearVelocity()
155
+		self.device.volume = self.volume
156
+
157
+		handle_buffered = self.device.play(self.factory_buffered)
158
+		handle_buffered.relative = False
159
+		handle_buffered.location = listener.worldPosition
160
+		handle_buffered.velocity = listener.getLinearVelocity()
161
+		handle_buffered.distance_maximum = 50
162
+		handle_buffered.distance_reference = .1
163
+
164
+
165
+	def loop_play(self, obj, listener, v, p):
166
+		
167
+		scene = bge.logic.getCurrentScene()
168
+
169
+		self.device.distance_model = aud.AUD_DISTANCE_MODEL_LINEAR
170
+		self.device.listener_location = obj.worldPosition
171
+		self.device.listener_velocity = obj.getLinearVelocity()
172
+		#self.device.volume = self.volume
173
+		
174
+		if not self.handle_buffered or not self.handle_buffered.status:
175
+			self.handle_buffered = self.device.play(self.factory_buffered)
176
+		#print(self.handle_buffered.status)
177
+		self.factory_buffered.loop(-1)
178
+		
179
+		if self.pingpong:
180
+			self.factory_buffered.pingpong()
181
+		
182
+		self.handle_buffered.volume = v
183
+		self.handle_buffered.pitch = p
184
+		self.handle_buffered.relative = False
185
+		self.handle_buffered.location = listener.worldPosition
186
+		self.handle_buffered.velocity = listener.getLinearVelocity()
187
+		self.handle_buffered.distance_maximum = 50
188
+		self.handle_buffered.distance_reference = .1	
189
+		
190
+
191
+
192
+def main(cont):
193
+	own = cont.owner
194
+	if 'sound_man_inited' not in own:
195
+		own['sound_man_inited'] = True
196
+
197
+		sm = sound_manager()
198
+		own['sndmgr'] = sm
199
+
200
+	dict = bge.logic.globalDict
201
+	
202
+	#if not dict['playback']:
203
+		#own['sndmgr'].Record()
204
+	if not dict['playback']:
205
+		own['sndmgr'].update()
206
+
207
+	#if dict['playback']:
208
+		#own['sndmgr'].Playback()	
209
+	

+ 6
- 3
scripts/walk.py View File

@@ -374,7 +374,8 @@ def main(cont):
374 374
             print("start walking")
375 375
             own['walk_idling'] = 0
376 376
             if own['framenum'] > 100 and own['fall'] == False:
377
-                cont.activate(own.actuators['pop'])
377
+                #cont.activate(own.actuators['pop'])
378
+                camobj['sndmgr'].queue_sound(['pop', cube, camobj])
378 379
             own['getoffboard'] = False
379 380
             own["walk_idle_frame"] = own["framenum"]
380 381
             own['grindcement_vol'] = 0
@@ -382,7 +383,8 @@ def main(cont):
382 383
             own['grindrail_vol'] = 0
383 384
             own['grindrail_pitch'] = 0 
384 385
             own['sroll_vol'] = 0
385
-            own['sroll_pitch'] = 0   
386
+            own['sroll_pitch'] = 0 
387
+
386 388
             
387 389
             #camobj.worldPosition.z += 4              
388 390
             try:
@@ -1294,7 +1296,8 @@ def main(cont):
1294 1296
     #printplaying() 
1295 1297
 
1296 1298
     own.alignAxisToVect([0.0,0.0,1.0], 2, .03)
1297
-    own.actuators["sroll"].stopSound() 
1299
+    #own.actuators["sroll"].stopSound() 
1300
+    camobj['sndmgr'].stop_sound(['roll'])
1298 1301
     wheel1 = scene.objects["wheel1"]
1299 1302
     wheel2 = scene.objects["wheel2"]
1300 1303
     wheel3 = scene.objects["wheel3"]

+ 114
- 63
scripts/walker_states.py View File

@@ -43,41 +43,58 @@ class Target1(State):
43 43
 		self.target = 'larryTarget'
44 44
 		self.npcArm = self.own.children['npc']
45 45
 		self.scene = bge.logic.getCurrentScene()
46
-		self.actu = self.cont.actuators['Steering']
46
+		
47 47
 
48 48
 		nm = self.own['navMesh']
49
-		pt = nm.findPath(self.own.worldPosition, self.scene.objects[self.target].worldPosition)
50
-		print('path is', pt)		
51
-
52
-		if 'larryTarget' in self.scene.objects:
53
-				self.actu.target = self.target			
54
-				self.actu.velocity = 1.5
55
-				self.actu.turnspeed = 20
56
-				self.actu.facingMode = False
57
-				self.actu.navmesh = self.own['navMesh']
58
-				self.cont.activate(self.actu)
59
-
49
+		self.pt = nm.findPath(self.own.worldPosition, self.scene.objects[self.target].worldPosition)
50
+		
51
+		print('target1')
60 52
 		super(Target1, self).Enter()
61 53
 		
62 54
 	def Execute(self):
63 55
 		#print('Tracking target 1.', self.npcFSM.stateLife)
64 56
 		self.npcFSM.stateLife += 1
65
-		duration = 500
57
+		duration = 50000
58
+		#print('path', self.pt)
59
+
60
+		if len(self.pt) > 0:
61
+			target = self.pt[0]
62
+			vg = self.own.getVectTo(target)
63
+			dist = vg[0]
64
+			v = vg[1]
65
+			self.own.alignAxisToVect(v, 0, .5)
66
+			self.own.alignAxisToVect([0,0,1], 2, 1)
67
+			#print(dist)
68
+			if dist > 1.5:
69
+				x = 10
70
+				max_vel = 1.5
71
+				if self.own.linearVelocity.x < max_vel:
72
+					self.own.applyForce([x, 0, 5], True)
73
+			else:
74
+				self.pt.remove(self.pt[0])
75
+		else:
76
+			print('goal reached')	
77
+			self.npcFSM.ToTransition('toTarget2')	
78
+
79
+
80
+
81
+
66 82
 		if self.npcFSM.stateLife > duration:
67 83
 			num = randint(1,2)
68
-			if num == 1:
69
-				self.npcFSM.ToTransition('toTarget2')
70
-			elif num ==2:
71
-				self.npcFSM.ToTransition('toTarget3')	
72
-			else:
73
-				self.npcFSM.ToTransition('toIdle')
84
+			# if num == 1:
85
+			# 	self.npcFSM.ToTransition('toTarget2')
86
+			# elif num ==2:
87
+			# 	self.npcFSM.ToTransition('toTarget2')	
88
+			# else:
89
+			# 	self.npcFSM.ToTransition('toIdle')
74 90
 		else:	
75
-			self.cont.activate(self.actu)	
91
+			#self.cont.activate(self.actu)	
76 92
 			self.npcArm.playAction('g_walk2', 1,62, layer=2, play_mode=0, speed=.5)			
77 93
 			
78 94
 	def Exit(self):
79 95
 		#print('Finished target 1') 
80
-		self.cont.deactivate(self.actu) 
96
+		#self.cont.deactivate(self.actu) 
97
+		pass	
81 98
 
82 99
 class Target2(State):
83 100
 	def __init__(self,npcFSM):
@@ -91,38 +108,55 @@ class Target2(State):
91 108
 		self.target = 'larryTarget.001'
92 109
 		self.npcArm = self.own.children['npc']
93 110
 		self.scene = bge.logic.getCurrentScene()
94
-		self.actu = self.cont.actuators['Steering']
95
-
96
-		if 'larryTarget.001' in self.scene.objects:
97
-				self.actu.target = self.target			
98
-				#self.actu.velocity = 1.5
99
-				#self.actu.turnspeed = 20
100
-				#self.actu.facingMode = False
101
-				#self.actu.navmesh = self.own['navMesh']
102
-				#self.cont.activate(self.actu)
103
-
111
+		
112
+		nm = self.own['navMesh']
113
+		self.pt = nm.findPath(self.own.worldPosition, self.scene.objects[self.target].worldPosition)
114
+		print('target2')
104 115
 		super(Target2, self).Enter()
105 116
 		
106 117
 	def Execute(self):
107 118
 		#print('Tracking target 2.', self.npcFSM.stateLife)
108 119
 		self.npcFSM.stateLife += 1
109
-		duration = 1000
120
+		duration = 10000
121
+
122
+
123
+
124
+		if len(self.pt) > 0:
125
+			target = self.pt[0]
126
+			vg = self.own.getVectTo(target)
127
+			dist = vg[0]
128
+			v = vg[1]
129
+			self.own.alignAxisToVect(v, 0, .5)
130
+			self.own.alignAxisToVect([0,0,1], 2, 1)
131
+			#print(dist)
132
+			if dist > 1.5:
133
+				x = 10
134
+				max_vel = 1.5
135
+				if self.own.linearVelocity.x < max_vel:
136
+					self.own.applyForce([x, 0, 5], True)
137
+			else:
138
+				self.pt.remove(self.pt[0])
139
+		else:
140
+			print('goal reached')	
141
+			self.npcFSM.ToTransition('toTarget3')
142
+
110 143
 		if self.npcFSM.stateLife > duration:
111 144
 			num = randint(1,3)
112
-			if num == 1:
113
-				self.npcFSM.ToTransition('toTarget1')
114
-			elif num ==2:
115
-				self.npcFSM.ToTransition('toTarget3')	
116
-			else:
117
-				self.npcFSM.ToTransition('toIdle')
145
+			# if num == 1:
146
+			# 	self.npcFSM.ToTransition('toTarget3')
147
+			# elif num ==2:
148
+			# 	self.npcFSM.ToTransition('toTarget3')	
149
+			# else:
150
+			# 	self.npcFSM.ToTransition('toIdle')
118 151
 		else:		
119
-			self.cont.activate(self.actu)
152
+			#self.cont.activate(self.actu)
120 153
 			self.npcArm.playAction('g_walk2', 1,62, layer=2, play_mode=0, speed=.5)			
121 154
 							
122 155
 				
123 156
 	def Exit(self):
124 157
 		#print('Finished target 2') 
125
-		self.cont.deactivate(self.actu)          
158
+		#self.cont.deactivate(self.actu)          
159
+		pass
126 160
 		
127 161
 class Target3(State):
128 162
 	def __init__(self,npcFSM):
@@ -136,26 +170,41 @@ class Target3(State):
136 170
 		self.target = 'larryTarget.002'
137 171
 		self.npcArm = self.own.children['npc']
138 172
 		self.scene = bge.logic.getCurrentScene()
139
-		self.actu = self.cont.actuators['Steering']
140
-
141
-		if 'larryTarget.002' in self.scene.objects:
142
-				self.actu.target = self.target			
143
-				#self.actu.velocity = 1.5
144
-				#self.actu.turnspeed = 20
145
-				#self.actu.facingMode = False
146
-				#self.actu.navmesh = self.own['navMesh']
147
-				self.cont.activate(self.actu)
173
+		
174
+		nm = self.own['navMesh']
175
+		self.pt = nm.findPath(self.own.worldPosition, self.scene.objects[self.target].worldPosition)
176
+		
177
+		print('target3')
148 178
 		super(Target3, self).Enter()
149 179
 
150 180
 		
151 181
 	def Execute(self):
152 182
 		self.npcFSM.stateLife += 1
153
-		duration = 1200
154
-		if self.npcFSM.stateLife > duration:
155
-			if not (randint(1,3) % 2):
156
-				self.npcFSM.ToTransition('toTarget1')
183
+		duration = 12000
184
+
185
+		if len(self.pt) > 0:
186
+			target = self.pt[0]
187
+			vg = self.own.getVectTo(target)
188
+			dist = vg[0]
189
+			v = vg[1]
190
+			self.own.alignAxisToVect(v, 0, .5)
191
+			self.own.alignAxisToVect([0,0,1], 2, 1)
192
+			#print(dist)
193
+			if dist > 1.5:
194
+				x = 10
195
+				max_vel = 1.5
196
+				if self.own.linearVelocity.x < max_vel:
197
+					self.own.applyForce([x, 0, 5], True)
157 198
 			else:
158
-				self.npcFSM.ToTransition('toTarget2')
199
+				self.pt.remove(self.pt[0])
200
+		else:
201
+			print('goal reached')	
202
+			self.npcFSM.ToTransition('toTarget1')	
203
+
204
+		if self.npcFSM.stateLife > duration:
205
+			
206
+			self.npcFSM.ToTransition('toTarget1')
207
+			
159 208
 		else:
160 209
 			cont = bge.logic.getCurrentController()
161 210
 			own = cont.owner
@@ -165,7 +214,8 @@ class Target3(State):
165 214
 
166 215
 	def Exit(self):
167 216
 		#print('Finished target 3') 
168
-		self.cont.deactivate(self.actu)              
217
+		#self.cont.deactivate(self.actu)              
218
+		pass
169 219
 		
170 220
 		
171 221
 class Idle(State):
@@ -187,8 +237,9 @@ class Idle(State):
187 237
 		self.npcFSM.stateLife += 1
188 238
 		duration = 300
189 239
 		if self.npcFSM.stateLife > duration:
190
-			#num = randint(1,4)
191
-			self.npcFSM.ToTransition('toImpatient')
240
+			num = randint(1,4)
241
+			#self.npcFSM.ToTransition('toImpatient')
242
+			self.npcFSM.ToTransition('toTarget1')
192 243
 			# if num == 1:
193 244
 			# 	self.npcFSM.ToTransition('toTarget1')
194 245
 			# elif num == 2:
@@ -308,17 +359,17 @@ class Walker(Char):
308 359
 		self.npcFSM.AddState("Startup", Startup(self.npcFSM))
309 360
 		self.npcFSM.AddState("Idle", Idle(self.npcFSM))
310 361
 		self.npcFSM.AddState("Impatient", Impatient(self.npcFSM))
311
-		#self.npcFSM.AddState('Target1', Target1(self.npcFSM))
312
-		#self.npcFSM.AddState('Target3', Target3(self.npcFSM))
313
-		#self.npcFSM.AddState('Target2', Target2(self.npcFSM))
362
+		self.npcFSM.AddState('Target1', Target1(self.npcFSM))
363
+		self.npcFSM.AddState('Target3', Target3(self.npcFSM))
364
+		self.npcFSM.AddState('Target2', Target2(self.npcFSM))
314 365
 		
315 366
 		#TRANSITIONS
316 367
 		self.npcFSM.AddTransition('toStartup', Transition('Startup'))
317 368
 		self.npcFSM.AddTransition('toIdle', Transition('Idle'))
318 369
 		self.npcFSM.AddTransition('toImpatient', Transition('Impatient'))
319
-		#self.npcFSM.AddTransition('toTarget3', Transition('Target3'))
320
-		#self.npcFSM.AddTransition('toTarget1', Transition('Target1'))
321
-		#self.npcFSM.AddTransition('toTarget2', Transition('Target2'))
370
+		self.npcFSM.AddTransition('toTarget3', Transition('Target3'))
371
+		self.npcFSM.AddTransition('toTarget1', Transition('Target1'))
372
+		self.npcFSM.AddTransition('toTarget2', Transition('Target2'))
322 373
 		
323 374
 		
324 375
 		if self.npcFSM.curState == None:

+ 12
- 0
scripts/water.py View File

@@ -0,0 +1,12 @@
1
+import bge
2
+
3
+
4
+def update(cont):
5
+    cont = bge.logic.getCurrentController()
6
+    own = cont.owner
7
+    tex = own.meshes[0].materials[0].textures[1]
8
+    tex2 = own.meshes[0].materials[0].textures[0]    
9
+    tex3 = own.meshes[0].materials[0].textures[2]        
10
+    tex.uvOffset.x += .0001
11
+    tex2.uvOffset.x -= .0002
12
+    tex3.uvOffset.x -= .00015

+ 2
- 2
shuvit.blend View File

@@ -1,3 +1,3 @@
1 1
 version https://git-lfs.github.com/spec/v1
2
-oid sha256:b3d5a65ea5461f9fceb52ab49abace2b97f04065a1335d25ee9db1e8569d2f60
3
-size 138363804
2
+oid sha256:ddb30969c1abc34cdc454af5523e5a0a8cbd2d7c613ac143844b072ce482925a
3
+size 135574672

BIN
shuvit.blend~1 View File


BIN
six/__pycache__/__init__.cpython-36.pyc View File


BIN
six/__pycache__/six.cpython-36.pyc View File


+ 3
- 0
sounds/grind_cement.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:807390bd2ebd1be6926ccd5c834021a7f4cd0cfa79f06ab605caba34f5fcf7fe
3
+size 76080

+ 3
- 0
sounds/grind_cement_s.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:944c5f123c22eb80b8d8b634d669d114556fb0b2b92b3d1b3d1d83544bab12a9
3
+size 228152

+ 3
- 0
sounds/grind_rail.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:de27c26ecf7d24e44c271b4b4d2d6961da9aae5d9a3145f5c4173b6b1210c49c
3
+size 85000

+ 3
- 0
sounds/grind_rail_s.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:2dd9e26e9f4ffda056eb653123900a576994ec5f5a8a83024d05a680a54e29a0
3
+size 254912

+ 2
- 2
sounds/land.wav View File

@@ -1,3 +1,3 @@
1 1
 version https://git-lfs.github.com/spec/v1
2
-oid sha256:a19c3f7b6571f66d18a8827d6768967e2c4c342397a4bc2bd7f0ec85dfaed498
3
-size 137708
2
+oid sha256:3e33c74a93e9f1c36e7d1e61e7435baab5d5ee818a5f3e6eddd2fa09032aeb03
3
+size 68876

+ 3
- 0
sounds/land_s.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:a19c3f7b6571f66d18a8827d6768967e2c4c342397a4bc2bd7f0ec85dfaed498
3
+size 137708

+ 3
- 0
sounds/pop.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:b6ebb11abde5c721672e9f3e8c4ca19909c07e5ffacdf85ec44afab5c3c24df3
3
+size 82610

+ 3
- 0
sounds/pop_s.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:ae9ddd045e2380e60f117045bfd44f6fc2f0a83f38c04970d5647094a6ce7f40
3
+size 247742

+ 2
- 2
sounds/revert.wav View File

@@ -1,3 +1,3 @@
1 1
 version https://git-lfs.github.com/spec/v1
2
-oid sha256:ea86a92f9b681c48b70145466cd26343fa254f2598afe9fe9c893af77ddcf3b4
3
-size 174924
2
+oid sha256:0f49e512e7cead24cc73149341f98aafff83cb76a86b545cbd0f75d87ec20dd9
3
+size 60872

+ 3
- 0
sounds/revert2.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:ea86a92f9b681c48b70145466cd26343fa254f2598afe9fe9c893af77ddcf3b4
3
+size 174924

+ 0
- 3
sounds/revert3.wav View File

@@ -1,3 +0,0 @@
1
-version https://git-lfs.github.com/spec/v1
2
-oid sha256:be61e23e2b8a8551ee22a7a565437da3e8de735395b87396cd25eddc32dea249
3
-size 121700

+ 3
- 0
sounds/roll.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:03b2e10dbf993b98ce081d1d722f8e58ac35ac3881366ea60dd1520eb941522d
3
+size 978398

+ 3
- 0
sounds/roll_s.wav View File

@@ -0,0 +1,3 @@
1
+version https://git-lfs.github.com/spec/v1
2
+oid sha256:6b81ddcc5c79e17bcfeb3295367f9e4c8e73f212aeb83859063bb7866b859569
3
+size 2935106

BIN
tinytag/__pycache__/__init__.cpython-36.pyc View File


BIN
tinytag/__pycache__/tinytag.cpython-36.pyc View File


Loading…
Cancel
Save