Browse Source

big things

shuvit 4 years 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

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

+ 3
- 0
assets/bld_C.blend View File

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

+ 3
- 0
assets/blda.blend View File

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

+ 3
- 0
assets/bldb.blend View File

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

+ 3
- 0
assets/car1.blend View File

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
         shader.setUniform1f(names[1] + "[%s]"%i, light.distance)
58
         shader.setUniform1f(names[1] + "[%s]"%i, light.distance)
59
         
59
         
60
         color = light.color
60
         color = light.color
61
-        energy = light.energy / 2
61
+        energy = light.energy
62
         shader.setUniform3f(names[2] + "[%s]"%i, color[0] * energy, color[1] * energy, color[2] * energy)
62
         shader.setUniform3f(names[2] + "[%s]"%i, color[0] * energy, color[1] * energy, color[2] * energy)
63
         
63
         
64
         spotsize = cos(radians(light.spotsize) * 0.5)
64
         spotsize = cos(radians(light.spotsize) * 0.5)

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

1
 version https://git-lfs.github.com/spec/v1
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

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

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

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

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

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

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

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

+ 3
- 0
assets/misc.blend View File

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

+ 3
- 0
assets/roads.blend View File

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

+ 3
- 0
assets/roads2.blend View File

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

+ 3
- 0
assets/roads3.blend View File

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

+ 3
- 0
assets/stop_sign.blend View File

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

+ 3
- 0
assets/street_light.blend View File

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

+ 3
- 0
assets/user1.blend View File

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

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

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
 version https://git-lfs.github.com/spec/v1
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

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

+ 3
- 0
assets/user2_working.blend View File

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

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

+ 3
- 0
assets/user2bad.blend View File

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

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

+ 2
- 2
characters/annie.blend View File

1
 version https://git-lfs.github.com/spec/v1
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
 
4
 
5
 shirt_logo = 2
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
 shirt_color_b = 0
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
 #deck settings
16
 #deck settings

+ 11
- 11
config.ini View File

35
 #######
35
 #######
36
 cam_height = -0.3
36
 cam_height = -0.3
37
 focal_length = 16
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
 cam_walk_height = 0.8
42
 cam_walk_height = 0.8
43
 cam_walk_min = 2.4
43
 cam_walk_min = 2.4
54
 
54
 
55
 shirt_logo = 2
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
 #deck settings
66
 #deck settings
93
 #brightness / contrast
93
 #brightness / contrast
94
 bc = 1
94
 bc = 1
95
 BC_BRIGHTNESS = 1.03
95
 BC_BRIGHTNESS = 1.03
96
-BC_CONTRAST = 1.0
96
+BC_CONTRAST = 1.06
97
 
97
 
98
 #HDR
98
 #HDR
99
 hdr = 1
99
 hdr = 1
121
 #############
121
 #############
122
 sun_strength = 1.5
122
 sun_strength = 1.5
123
 ambient_strength = 0.57
123
 ambient_strength = 0.57
124
-sun_rot_x = -0.05
124
+sun_rot_x = 0.05
125
 sun_rot_y = 0.05
125
 sun_rot_y = 0.05
126
 shadow_on = 0
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
 version https://git-lfs.github.com/spec/v1
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

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

+ 1
- 0
scripts/Manager.py View File

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

+ 70
- 61
scripts/Record.py View File

4
 from mathutils import Vector
4
 from mathutils import Vector
5
 from SortData import *
5
 from SortData import *
6
 import boneRecord
6
 import boneRecord
7
+import sound_man
7
 
8
 
8
 cont = logic.getCurrentController()
9
 cont = logic.getCurrentController()
9
 own = cont.owner
10
 own = cont.owner
369
 
370
 
370
 
371
 
371
         boneRecord.Playback(valueIndex)
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
         # name, skateranim = readData.returnSkaterAnim(objIndex, valueIndex)
379
         # name, skateranim = readData.returnSkaterAnim(objIndex, valueIndex)
441
             own["objIndex"] = lengthSrollVol-2
446
             own["objIndex"] = lengthSrollVol-2
442
         name, srollVol = readData.returnSrollVol(objIndex, valueIndex)
447
         name, srollVol = readData.returnSrollVol(objIndex, valueIndex)
443
         name, srollPitch = readData.returnSrollPitch(objIndex, valueIndex)    
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
     #-----grind cement-----#
462
     #-----grind cement-----#
464
             own["objIndex"] = lengthSgrind_cementVol-2
469
             own["objIndex"] = lengthSgrind_cementVol-2
465
         name, sgrind_cementVol = readData.returnSgrind_cementVol(objIndex, valueIndex)
470
         name, sgrind_cementVol = readData.returnSgrind_cementVol(objIndex, valueIndex)
466
         name, sgrind_cementPitch = readData.returnSgrind_cementPitch(objIndex, valueIndex)    
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
     #-----grind rail-----#
486
     #-----grind rail-----#
488
             own["objIndex"] = lengthSgrind_railVol-2
493
             own["objIndex"] = lengthSgrind_railVol-2
489
         name, sgrind_railVol = readData.returnSgrind_railVol(objIndex, valueIndex)
494
         name, sgrind_railVol = readData.returnSgrind_railVol(objIndex, valueIndex)
490
         name, sgrind_railPitch = readData.returnSgrind_railPitch(objIndex, valueIndex)    
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
     #-----pop sound-----#
510
     #-----pop sound-----#
511
         if objIndex < 0:
516
         if objIndex < 0:
512
             own["objIndex"] = lengthSpopsound-2
517
             own["objIndex"] = lengthSpopsound-2
513
         name, spopsound = readData.returnSpopsound(objIndex, valueIndex)   
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
     #-----land sound-----#
539
     #-----land sound-----#
543
         if name in scene.objects:
548
         if name in scene.objects:
544
             try:
549
             try:
545
                 cube = scene.objects["control_cube.002"]
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
                 #print("grindsound = ", slandsound, sgrind_railPitch)
556
                 #print("grindsound = ", slandsound, sgrind_railPitch)
552
             except:
557
             except:
553
                 pass
558
                 pass
678
             try:
683
             try:
679
                 #cube = scene.objects[sound_empty]
684
                 #cube = scene.objects[sound_empty]
680
                 srevertsound = round(srevertsound, 2)
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
                 #print("grindsound = ", spopsound, sgrind_railPitch)
689
                 #print("grindsound = ", spopsound, sgrind_railPitch)
685
             except:
690
             except:
686
                 print("sound passed")
691
                 print("sound passed")
691
 def main(recording_cutoff, cc):
696
 def main(recording_cutoff, cc):
692
     num = 1
697
     num = 1
693
     obj = scene.objects["control_cube.002"]
698
     obj = scene.objects["control_cube.002"]
699
+    #own = scene.objects["Camera.003"]
694
     if num == 1:
700
     if num == 1:
695
         
701
         
696
     #for obj in scene.objects:
702
     #for obj in scene.objects:
728
         getData.savetdPosition(obj, recording_cutoff)
734
         getData.savetdPosition(obj, recording_cutoff)
729
         getData.savetdOrientation(obj, recording_cutoff)
735
         getData.savetdOrientation(obj, recording_cutoff)
730
         getData.saveSrevertsound(obj, recording_cutoff)                                       
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
 def breakOut():
742
 def breakOut():
734
     num = 1
743
     num = 1

+ 1
- 1
scripts/Startup.py View File

102
     dict['sunz'] = 1.0 
102
     dict['sunz'] = 1.0 
103
     dict['replay_loop_start'] = 0
103
     dict['replay_loop_start'] = 0
104
     dict['replay_loop_end'] = 0
104
     dict['replay_loop_end'] = 0
105
-    dict['replay_record_length'] = 2400 #7300
105
+    dict['replay_record_length'] = 7300#240 #1200 #7300
106
     dict['rp_keyframes'] = []
106
     dict['rp_keyframes'] = []
107
     dict['rp_positions'] = []
107
     dict['rp_positions'] = []
108
     dict['temp_list'] = []
108
     dict['temp_list'] = []

+ 7
- 3
scripts/actionPlayer.py View File

139
 'fak_judo',
139
 'fak_judo',
140
 'fak_frigid',
140
 'fak_frigid',
141
 'fak_fsonefoot',
141
 'fak_fsonefoot',
142
-'fak_onefoot']
142
+'fak_onefoot',
143
+'reg_back_invert']
143
 
144
 
144
 state_b = ['reg_jump',
145
 state_b = ['reg_jump',
145
 'reg_walk_air',
146
 'reg_walk_air',
284
 	aState = check_land(rA, aState, own)
285
 	aState = check_land(rA, aState, own)
285
 	newState = aState
286
 	newState = aState
286
 	og_state = own['aState']
287
 	og_state = own['aState']
287
-
288
+	#print(aState)
288
 	if aState in state_a:
289
 	if aState in state_a:
289
 
290
 
290
 		action = getattr(actionsFSMlist, aState)
291
 		action = getattr(actionsFSMlist, aState)
293
 			actionPlayer(getattr(actionsFSMlist, intro))	
294
 			actionPlayer(getattr(actionsFSMlist, intro))	
294
 		else:
295
 		else:
295
 			actionPlayer(action)
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
 	elif aState in state_b:
302
 	elif aState in state_b:
299
 		action = getattr(actionsFSMlist, aState)
303
 		action = getattr(actionsFSMlist, aState)

+ 31
- 1
scripts/actionsFSMlist.py View File

8
 
8
 
9
 reg_manuallist = ['reg_manual', 'reg_nmanual', 'fak_manual', 'fak_nmanual']
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
 fak_grindlist = ['fak_5050', 'fak_fsboard', 'fak_tailg', 'fak_tailgr', 'fak_tailgl', 'fak_noseg', 'fak_nosegr', 'fak_nosegl', 'fak_noseslide', 'fak_tailslide', 'fak_bsboard']
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
 #**********************#
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
 
57
 
58
     life(own)    
58
     life(own)    
59
     do_birds(scene, own, cont)  
59
     do_birds(scene, own, cont)  
60
-    print('birding')    
60
+    #print('birding')    

+ 3
- 14
scripts/camFSM.py View File

97
         if self.FSM.stateLife > 60:
97
         if self.FSM.stateLife > 60:
98
             dict = bge.logic.globalDict
98
             dict = bge.logic.globalDict
99
             own = dict['p1c']
99
             own = dict['p1c']
100
+            scene = bge.logic.getCurrentScene()
101
+            #dict['camera'].object = scene.objects['camobj']
100
             if own['grinding'] == True:
102
             if own['grinding'] == True:
101
-                scene = bge.logic.getCurrentScene()
103
+                
102
                 ce = scene.objects['cam_helper2']
104
                 ce = scene.objects['cam_helper2']
103
                 ce.worldPosition = own.worldPosition
105
                 ce.worldPosition = own.worldPosition
104
                 ce.worldOrientation = own.worldOrientation
106
                 ce.worldOrientation = own.worldOrientation
133
                 ce.applyMovement([xval,yval,0], True)
135
                 ce.applyMovement([xval,yval,0], True)
134
                 dict['camera'].worldPosition = dict['camera'].worldPosition.lerp(ce.worldPosition, stre)
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
             new_state = get_request_state(self.__class__.__name__)
138
             new_state = get_request_state(self.__class__.__name__)
150
 
139
 
151
             if new_state:
140
             if new_state:

+ 6
- 3
scripts/camera.py View File

5
 scene = bge.logic.getCurrentScene()
5
 scene = bge.logic.getCurrentScene()
6
 import camFSM
6
 import camFSM
7
 import birds
7
 import birds
8
+import sound_man
8
 
9
 
9
 def main(cont):
10
 def main(cont):
10
     #camFSM.main(cont)
11
     #camFSM.main(cont)
155
                 if cam.height < 2:
156
                 if cam.height < 2:
156
                     cam.height = cam_height + .1
157
                     cam.height = cam_height + .1
157
                     cam.max = cam.max - .2
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
                 elif cam.height >= 2 and cam.height < 4:
160
                 elif cam.height >= 2 and cam.height < 4:
160
                     cam.height = cam_height + .05
161
                     cam.height = cam_height + .05
161
                     cam.max = cam.max - .05
162
                     cam.max = cam.max - .05
162
-                    print('big move')
163
+                    #print('big move')
163
 
164
 
164
     if dict['menu_idle_timer'] > 300:
165
     if dict['menu_idle_timer'] > 300:
165
         move_len = 2048
166
         move_len = 2048
359
             cam.max = new_max
360
             cam.max = new_max
360
         except:
361
         except:
361
             pass
362
             pass
363
+    #print(own.actuators['Camera'].object)        
362
     set_lens_dist()        
364
     set_lens_dist()        
363
     get_cam_state()
365
     get_cam_state()
364
     camFSM.main(cont)
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
 from mathutils import Vector
10
 from mathutils import Vector
11
 import mathutils
11
 import mathutils
12
 import joytimers
12
 import joytimers
13
+import sound_man
13
 
14
 
14
 def main():
15
 def main():
15
     scene = bge.logic.getCurrentScene()
16
     scene = bge.logic.getCurrentScene()
76
     pos = own.localPosition
77
     pos = own.localPosition
77
     rot = own.getAxisVect([0.0, 0.0, 1.0])
78
     rot = own.getAxisVect([0.0, 0.0, 1.0])
78
     gray = cont.sensors["gRay"]
79
     gray = cont.sensors["gRay"]
79
-    pop = cont.actuators["pop"]
80
+    #pop = cont.actuators["pop"]
80
     grindHit = own["grindHit"]
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
     grindSound = own["grindSound"]
84
     grindSound = own["grindSound"]
84
     skater = scene.objects["Char4"]
85
     skater = scene.objects["Char4"]
85
     deck = scene.objects["b_deck"]
86
     deck = scene.objects["b_deck"]
334
                 dist = dist * 2
335
                 dist = dist * 2
335
                 if dist > 1:
336
                 if dist > 1:
336
                     dist = 1
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
                 own['land_sound'] = 1
343
                 own['land_sound'] = 1
342
             if grindDar == 1:
344
             if grindDar == 1:
343
                 pass
345
                 pass
770
             own['jump_timer'] = jump_timer
772
             own['jump_timer'] = jump_timer
771
 
773
 
772
         if zvel < 7 and jump_timer == 60:
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
             own['pop_sound'] = 1
777
             own['pop_sound'] = 1
775
             #print("jump")
778
             #print("jump")
776
             #
779
             #
836
             if own["wallride"] == "R":
839
             if own["wallride"] == "R":
837
                 force = [0, 170, 0]
840
                 force = [0, 170, 0]
838
                 own.applyForce(force, True)
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
                 jump_timer = 60
844
                 jump_timer = 60
841
                 own['jump_timer'] = jump_timer
845
                 own['jump_timer'] = jump_timer
842
             if own["wallride"] == "L":
846
             if own["wallride"] == "L":
843
                 force = [0, -170, 0] #325
847
                 force = [0, -170, 0] #325
844
                 own.applyForce(force, True)
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
                 jump_timer = 60
851
                 jump_timer = 60
847
                 own['jump_timer'] = jump_timer
852
                 own['jump_timer'] = jump_timer
848
 
853
 
1796
         if onGround and grindDar == 0 and own['invert_on'] == 0:
1801
         if onGround and grindDar == 0 and own['invert_on'] == 0:
1797
             num1 = .05
1802
             num1 = .05
1798
             num2 = .25
1803
             num2 = .25
1804
+            v = .1
1805
+            p = 1
1799
             if linVelocity.x <= -num1 and linVelocity.x >= num1:
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
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
             num1 = .25
1816
             num1 = .25
1807
             num2 = .5
1817
             num2 = .5
1808
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
             num1 = .5
1823
             num1 = .5
1812
             num2 = .75
1824
             num2 = .75
1813
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
             num1 = .75
1830
             num1 = .75
1817
             num2 = 1
1831
             num2 = 1
1818
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
             num1 = 1
1837
             num1 = 1
1822
             num2 = 1.5
1838
             num2 = 1.5
1823
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
             num1 = 1.5
1844
             num1 = 1.5
1827
             num2 = 2
1845
             num2 = 2
1828
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
             num1 = 2
1851
             num1 = 2
1832
             num2 = 3
1852
             num2 = 3
1833
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
             num1 = 3
1858
             num1 = 3
1837
             num2 = 4
1859
             num2 = 4
1838
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
             num1 = 4
1865
             num1 = 4
1842
             num2 = 5
1866
             num2 = 5
1843
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
             num1 = 5
1872
             num1 = 5
1847
             num2 = 6
1873
             num2 = 6
1848
             if (linVelocity.x > num1 and linVelocity.x < num2) or (linVelocity.x < -num1 and linVelocity.x > -num2):
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
         if grindDar == 1 or own['invert_on'] == 1:
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
         #in air
1890
         #in air
1858
         if not onGround:
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
     def wheelroll():
1901
     def wheelroll():
1867
         #still
1902
         #still
1997
     
2032
     
1998
             local = True # use world axis
2033
             local = True # use world axis
1999
             own.applyRotation( rotation, local)
2034
             own.applyRotation( rotation, local)
2000
-            print('rotation = ', rotation)
2035
+            #print('rotation = ', rotation)
2001
             if onGround:
2036
             if onGround:
2002
                 #print("med turn")
2037
                 #print("med turn")
2003
                 if STANCE == 0:
2038
                 if STANCE == 0:
2030
                 vel = linVelocity.y
2065
                 vel = linVelocity.y
2031
             else:
2066
             else:
2032
                 vel = 0
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
         else:
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
     def record_grindsound():
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
     def grind():
2205
     def grind():
2146
         grindsound()
2206
         grindsound()
2449
         wheel2.stopAction(2)
2509
         wheel2.stopAction(2)
2450
         wheel3.stopAction(2)
2510
         wheel3.stopAction(2)
2451
         wheel4.stopAction(2)
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
         own['offboard_vel'] = own.linearVelocity
2517
         own['offboard_vel'] = own.linearVelocity
2457
         own['walk_timer'] = 0
2518
         own['walk_timer'] = 0
2458
 
2519
 
2582
             else:
2643
             else:
2583
                 own['requestAction'] = 'fak_revert1'
2644
                 own['requestAction'] = 'fak_revert1'
2584
         own['revert_timer'] = 20
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
         own['revert_sound'] = 1
2648
         own['revert_sound'] = 1
2587
         dict['trick_string'] = 'Revert'
2649
         dict['trick_string'] = 'Revert'
2588
 
2650
 
2604
             else:
2666
             else:
2605
                 own['requestAction'] = 'fak_revert2'
2667
                 own['requestAction'] = 'fak_revert2'
2606
         own['revert_timer'] = 20
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
         own['revert_sound'] = 1
2671
         own['revert_sound'] = 1
2609
         dict['trick_string'] = 'Revert'
2672
         dict['trick_string'] = 'Revert'
2610
 
2673
 
2626
             else:
2689
             else:
2627
                 own['requestAction'] = 'fak_revert1'
2690
                 own['requestAction'] = 'fak_revert1'
2628
         own['revert_timer'] = 20
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
         own['revert_sound'] = 1
2694
         own['revert_sound'] = 1
2631
         dict['trick_string'] = 'Revert'
2695
         dict['trick_string'] = 'Revert'
2632
 
2696
 
2648
             else:
2712
             else:
2649
                 own['requestAction'] = 'fak_revert2'
2713
                 own['requestAction'] = 'fak_revert2'
2650
         own['revert_timer'] = 20
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
         own['revert_sound'] = 1
2717
         own['revert_sound'] = 1
2653
         dict['trick_string'] = 'Revert'
2718
         dict['trick_string'] = 'Revert'
2654
 
2719
 
3344
 
3409
 
3345
     #start button
3410
     #start button
3346
     if stBut == True:
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
     if (stBut == False and dict['last_stBut'] == True) or dict['kb_en'] == 1:
3416
     if (stBut == False and dict['last_stBut'] == True) or dict['kb_en'] == 1:
3351
         if own['pause_on'] == True:
3417
         if own['pause_on'] == True:
3352
             own['pause_on'] = False
3418
             own['pause_on'] = False

+ 22
- 19
scripts/grindV2.py View File

246
         no_grind = 0
246
         no_grind = 0
247
     if dict['lBump'] and dict['rBump']:
247
     if dict['lBump'] and dict['rBump']:
248
         no_grind = 1
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
 #start new                     #######
252
 #start new                     #######
253
 ##----------##############----------############
253
 ##----------##############----------############
333
         rot *= 100
333
         rot *= 100
334
 
334
 
335
         #print(own['inverting'])
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
             #print("setting stance")
338
             #print("setting stance")
338
             if (rot == 90 or rot == -270) and STANCE == True:
339
             if (rot == 90 or rot == -270) and STANCE == True:
339
                 #print("90 fak stance")
340
                 #print("90 fak stance")
643
     def invertpos(detectedObjects):
644
     def invertpos(detectedObjects):
644
         minDist = None
645
         minDist = None
645
         nearestObject = None
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
     #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
     #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
         #print("touching, no dar")
657
         #print("touching, no dar")
677
 #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
678
 #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
678
         #init grind
679
         #init grind
679
 
680
 
681
+        #print('invert on', invert_on)
680
         if invert_on:
682
         if invert_on:
681
             invertpos(detectedObjects)
683
             invertpos(detectedObjects)
682
             own['inverting'] = True
684
             own['inverting'] = True
686
         grind_dist = .8#.6
688
         grind_dist = .8#.6
687
         skipper = 0
689
         skipper = 0
688
         #print(lastobj.worldPosition)
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
             #print("grinding")
693
             #print("grinding")
691
             grind_height_dif = (own.worldPosition[2] - nearestObject.worldPosition[2]) - .287
694
             grind_height_dif = (own.worldPosition[2] - nearestObject.worldPosition[2]) - .287
692
 
695
 
788
         minDist = None
791
         minDist = None
789
         nearestObject = None
792
         nearestObject = None
790
         print('doing invert funct')
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
     def set_pregrind_vel():
802
     def set_pregrind_vel():
800
         if grindDar.triggered == False and ray.triggered == False:
803
         if grindDar.triggered == False and ray.triggered == False:

+ 9
- 3
scripts/ragdoll.py View File

134
             scene.objects[armature].stopAction(2)
134
             scene.objects[armature].stopAction(2)
135
             scene.objects[armature].stopAction(7)
135
             scene.objects[armature].stopAction(7)
136
             scene.objects[armature].update()
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
             wp = scene.objects['camCube'].worldPosition - scene.objects['ragdoll_parent'].worldPosition
144
             wp = scene.objects['camCube'].worldPosition - scene.objects['ragdoll_parent'].worldPosition
139
             wp = wp * .9
145
             wp = wp * .9
140
             cont.actuators['Camera'].height = 2.0
146
             cont.actuators['Camera'].height = 2.0
190
                 own.worldPosition.z += .4
196
                 own.worldPosition.z += .4
191
                 cont.activate(cont.actuators['walk']) 
197
                 cont.activate(cont.actuators['walk']) 
192
 
198
 
193
-            if dict['lUD'] < -.08:
199
+            if dict['lUD'] < -.08 and own['rd_incer'] > 200:
194
                 physBody = own['rd_rb']
200
                 physBody = own['rd_rb']
195
                 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']
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
                 #excludes = []
202
                 #excludes = []
215
                 scene.objects['npc_ed_arm_phys_clavicle.L'].applyForce([0,0,200], False)
221
                 scene.objects['npc_ed_arm_phys_clavicle.L'].applyForce([0,0,200], False)
216
                 scene.objects['npc_ed_arm_phys_clavicle.R'].applyForce([0,0,200], False)
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
                 scene.objects['npc_ed_arm_phys_master'].applyForce([0,600,0], True)
225
                 scene.objects['npc_ed_arm_phys_master'].applyForce([0,600,0], True)
220
         else:
226
         else:
221
             update_rb(own['rd_rb'], scene)   
227
             update_rb(own['rd_rb'], scene)   

+ 209
- 0
scripts/sound_man.py View File

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
             print("start walking")
374
             print("start walking")
375
             own['walk_idling'] = 0
375
             own['walk_idling'] = 0
376
             if own['framenum'] > 100 and own['fall'] == False:
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
             own['getoffboard'] = False
379
             own['getoffboard'] = False
379
             own["walk_idle_frame"] = own["framenum"]
380
             own["walk_idle_frame"] = own["framenum"]
380
             own['grindcement_vol'] = 0
381
             own['grindcement_vol'] = 0
382
             own['grindrail_vol'] = 0
383
             own['grindrail_vol'] = 0
383
             own['grindrail_pitch'] = 0 
384
             own['grindrail_pitch'] = 0 
384
             own['sroll_vol'] = 0
385
             own['sroll_vol'] = 0
385
-            own['sroll_pitch'] = 0   
386
+            own['sroll_pitch'] = 0 
387
+
386
             
388
             
387
             #camobj.worldPosition.z += 4              
389
             #camobj.worldPosition.z += 4              
388
             try:
390
             try:
1294
     #printplaying() 
1296
     #printplaying() 
1295
 
1297
 
1296
     own.alignAxisToVect([0.0,0.0,1.0], 2, .03)
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
     wheel1 = scene.objects["wheel1"]
1301
     wheel1 = scene.objects["wheel1"]
1299
     wheel2 = scene.objects["wheel2"]
1302
     wheel2 = scene.objects["wheel2"]
1300
     wheel3 = scene.objects["wheel3"]
1303
     wheel3 = scene.objects["wheel3"]

+ 114
- 63
scripts/walker_states.py View File

43
 		self.target = 'larryTarget'
43
 		self.target = 'larryTarget'
44
 		self.npcArm = self.own.children['npc']
44
 		self.npcArm = self.own.children['npc']
45
 		self.scene = bge.logic.getCurrentScene()
45
 		self.scene = bge.logic.getCurrentScene()
46
-		self.actu = self.cont.actuators['Steering']
46
+		
47
 
47
 
48
 		nm = self.own['navMesh']
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
 		super(Target1, self).Enter()
52
 		super(Target1, self).Enter()
61
 		
53
 		
62
 	def Execute(self):
54
 	def Execute(self):
63
 		#print('Tracking target 1.', self.npcFSM.stateLife)
55
 		#print('Tracking target 1.', self.npcFSM.stateLife)
64
 		self.npcFSM.stateLife += 1
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
 		if self.npcFSM.stateLife > duration:
82
 		if self.npcFSM.stateLife > duration:
67
 			num = randint(1,2)
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
 		else:	
90
 		else:	
75
-			self.cont.activate(self.actu)	
91
+			#self.cont.activate(self.actu)	
76
 			self.npcArm.playAction('g_walk2', 1,62, layer=2, play_mode=0, speed=.5)			
92
 			self.npcArm.playAction('g_walk2', 1,62, layer=2, play_mode=0, speed=.5)			
77
 			
93
 			
78
 	def Exit(self):
94
 	def Exit(self):
79
 		#print('Finished target 1') 
95
 		#print('Finished target 1') 
80
-		self.cont.deactivate(self.actu) 
96
+		#self.cont.deactivate(self.actu) 
97
+		pass	
81
 
98
 
82
 class Target2(State):
99
 class Target2(State):
83
 	def __init__(self,npcFSM):
100
 	def __init__(self,npcFSM):
91
 		self.target = 'larryTarget.001'
108
 		self.target = 'larryTarget.001'
92
 		self.npcArm = self.own.children['npc']
109
 		self.npcArm = self.own.children['npc']
93
 		self.scene = bge.logic.getCurrentScene()
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
 		super(Target2, self).Enter()
115
 		super(Target2, self).Enter()
105
 		
116
 		
106
 	def Execute(self):
117
 	def Execute(self):
107
 		#print('Tracking target 2.', self.npcFSM.stateLife)
118
 		#print('Tracking target 2.', self.npcFSM.stateLife)
108
 		self.npcFSM.stateLife += 1
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
 		if self.npcFSM.stateLife > duration:
143
 		if self.npcFSM.stateLife > duration:
111
 			num = randint(1,3)
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
 		else:		
151
 		else:		
119
-			self.cont.activate(self.actu)
152
+			#self.cont.activate(self.actu)
120
 			self.npcArm.playAction('g_walk2', 1,62, layer=2, play_mode=0, speed=.5)			
153
 			self.npcArm.playAction('g_walk2', 1,62, layer=2, play_mode=0, speed=.5)			
121
 							
154
 							
122
 				
155
 				
123
 	def Exit(self):
156
 	def Exit(self):
124
 		#print('Finished target 2') 
157
 		#print('Finished target 2') 
125
-		self.cont.deactivate(self.actu)          
158
+		#self.cont.deactivate(self.actu)          
159
+		pass
126
 		
160
 		
127
 class Target3(State):
161
 class Target3(State):
128
 	def __init__(self,npcFSM):
162
 	def __init__(self,npcFSM):
136
 		self.target = 'larryTarget.002'
170
 		self.target = 'larryTarget.002'
137
 		self.npcArm = self.own.children['npc']
171
 		self.npcArm = self.own.children['npc']
138
 		self.scene = bge.logic.getCurrentScene()
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
 		super(Target3, self).Enter()
178
 		super(Target3, self).Enter()
149
 
179
 
150
 		
180
 		
151
 	def Execute(self):
181
 	def Execute(self):
152
 		self.npcFSM.stateLife += 1
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
 			else:
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
 		else:
208
 		else:
160
 			cont = bge.logic.getCurrentController()
209
 			cont = bge.logic.getCurrentController()
161
 			own = cont.owner
210
 			own = cont.owner
165
 
214
 
166
 	def Exit(self):
215
 	def Exit(self):
167
 		#print('Finished target 3') 
216
 		#print('Finished target 3') 
168
-		self.cont.deactivate(self.actu)              
217
+		#self.cont.deactivate(self.actu)              
218
+		pass
169
 		
219
 		
170
 		
220
 		
171
 class Idle(State):
221
 class Idle(State):
187
 		self.npcFSM.stateLife += 1
237
 		self.npcFSM.stateLife += 1
188
 		duration = 300
238
 		duration = 300
189
 		if self.npcFSM.stateLife > duration:
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
 			# if num == 1:
243
 			# if num == 1:
193
 			# 	self.npcFSM.ToTransition('toTarget1')
244
 			# 	self.npcFSM.ToTransition('toTarget1')
194
 			# elif num == 2:
245
 			# elif num == 2:
308
 		self.npcFSM.AddState("Startup", Startup(self.npcFSM))
359
 		self.npcFSM.AddState("Startup", Startup(self.npcFSM))
309
 		self.npcFSM.AddState("Idle", Idle(self.npcFSM))
360
 		self.npcFSM.AddState("Idle", Idle(self.npcFSM))
310
 		self.npcFSM.AddState("Impatient", Impatient(self.npcFSM))
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
 		#TRANSITIONS
366
 		#TRANSITIONS
316
 		self.npcFSM.AddTransition('toStartup', Transition('Startup'))
367
 		self.npcFSM.AddTransition('toStartup', Transition('Startup'))
317
 		self.npcFSM.AddTransition('toIdle', Transition('Idle'))
368
 		self.npcFSM.AddTransition('toIdle', Transition('Idle'))
318
 		self.npcFSM.AddTransition('toImpatient', Transition('Impatient'))
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
 		if self.npcFSM.curState == None:
375
 		if self.npcFSM.curState == None:

+ 12
- 0
scripts/water.py View File

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
 version https://git-lfs.github.com/spec/v1
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

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

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

+ 3
- 0
sounds/grind_rail.wav View File

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

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

+ 2
- 2
sounds/land.wav View File

1
 version https://git-lfs.github.com/spec/v1
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

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

+ 3
- 0
sounds/pop.wav View File

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

+ 3
- 0
sounds/pop_s.wav View File

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

+ 2
- 2
sounds/revert.wav View File

1
 version https://git-lfs.github.com/spec/v1
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

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

+ 0
- 3
sounds/revert3.wav View File

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

+ 3
- 0
sounds/roll.wav View File

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

+ 3
- 0
sounds/roll_s.wav View File

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