Advertisement
Guest User

Untitled

a guest
Apr 11th, 2013
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. diff --git a/Nasal/joystick.nas b/Nasal/joystick.nas
  2. index 9ed5eb2..59aa76c 100644
  3. --- a/Nasal/joystick.nas
  4. +++ b/Nasal/joystick.nas
  5. @@ -1,6 +1,7 @@
  6. # Joystick configuration library.
  7. var DIALOGROOT = "/sim/gui/dialogs/joystick-config";
  8. var MAX_AXES = 8;
  9. +var MAX_NASALS = 8;
  10. var MAX_BUTTONS = 24;
  11.  
  12. # Hash of the custom axis/buttons
  13. @@ -630,6 +631,23 @@ var readConfig = func(dialog_root="/sim/gui/dialogs/joystick-config") {
  14. btn.removeChild("original_binding");
  15. }
  16. }
  17. +
  18. + # Set up Nasal code.
  19. + var nasals = js.getChildren("nasal");
  20. +
  21. + for (var nasal = 0; nasal < MAX_NASALS; nasal = nasal + 1) {
  22. + var nas = props.globals.getNode(dialog_root ~ "/nasal[" ~ nasal ~ "]", 1);
  23. + nas.remove();
  24. + nas = props.globals.getNode(dialog_root ~ "/nasal[" ~ nasal ~ "]", 1);
  25. +
  26. + # Note that we can't simply use an index into the buttons array
  27. + # as that doesn't work for a sparsley populated set of buttons.
  28. + # E.g. one with n="3"
  29. + var a = js.getNode("nasal[" ~ nasal ~ "]");
  30. + if (a != nil) {
  31. + props.copy(a, nas.getNode("original_script", 1));
  32. + }
  33. + }
  34. }
  35.  
  36. var writeConfig = func(dialog_root="/sim/gui/dialogs/joystick-config", reset=0) {
  37. @@ -646,6 +664,14 @@ var writeConfig = func(dialog_root="/sim/gui/dialogs/joystick-config", reset=0)
  38. } else {
  39. config.getNode("name", 1).setValue(id);
  40. }
  41. +
  42. +
  43. + var nasals = props.globals.getNode(dialog_root).getChildren("nasal");
  44. + forindex (var nas; nasals) {
  45. + var nasalscript = config.getNode("nasal[" ~ nas ~ "]", 1);
  46. + props.copy(props.globals.getNode(dialog_root ~ "/nasal[" ~ nas ~ "]/original_script", 1), nasalscript);
  47. + }
  48. +
  49.  
  50. var axes = props.globals.getNode(dialog_root).getChildren("axis");
  51. forindex (var axis; axes) {
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement