InstallerNotes 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. ------------------------ RELEASE 1.0.0 ---------------------------------
  2. * We now have working exporters for Max5, Max6, Max7, Maya5, Maya6
  3. * The Max exporter is dramatically improved:
  4. - it now includes support for character studio.
  5. - the polygon winding bug has been fixed.
  6. * Panda no longer requires any registry keys or environment
  7. variables. This means it is now possible to:
  8. - run panda directly from a compact disc
  9. - install multiple copies of panda on a single machine
  10. - install panda by copying the tree from another computer
  11. Note that the installer does add the panda 'bin' directory to
  12. your PATH, and it does store an uninstall key in the registry,
  13. but neither of these is needed for panda to function.
  14. * The 'makepanda' build system is now capable of building
  15. prepackaged games for Windows. These prepackaged games are simply
  16. copies of panda with the game code included, some of the
  17. unnecessary stuff stripped out, and some changes to the start
  18. menu. See "Airblade - Installer" on the panda downloads page
  19. for an example.
  20. * All of the sample programs have been tested. The ones that didn't
  21. work have been removed, the ones that do work have been (lightly)
  22. documented.
  23. * This is the first release to include not just a binary installer
  24. for windows, but:
  25. - a binary installer (RPM) for Fedora 2
  26. - a binary installer (RPM) for Fedora 3
  27. - a binary installer (RPM) for Redhat 9
  28. - a binary installer for windows, as always
  29. - a source tar-ball for linux
  30. - a source zip-file for windows
  31. ------------------------ RELEASE 2004-12-13 ---------------------------------
  32. * Basic server-client networking support is back in Panda3D. There is a
  33. networking sample in the samples directory. This uses the Panda3d
  34. distributed object system.The README file will explain how to run this.
  35. Documentation of this if forthcoming.
  36. * Panda3d now reduces the number of environment variables such that only 2
  37. are needed now - PRC_PATH and PLAYER.
  38. * GraphicsChannel and GraphicsLayer class have been removed from the
  39. panda/src/display directory. Most Panda applications won't need to be
  40. changed, since most applications simply use ShowBase.py (which has been
  41. adjustedappropriately) to open a window and do the initial setup. For
  42. those rare applications where you need to create your own DisplayRegions,
  43. the makeDisplayRegion() interface has been moved from GraphicsLayer to
  44. GraphicsWindow (actually, to GraphicsOutput, which is the base class of
  45. GraphicsWindow). You can modify your application to call
  46. base.win.makeDisplayRegion() accordingly. If you have something like
  47. displayRegion.getLayer(), replace it with displayRegion.getWindow()
  48. instead.
  49. * Effective with the current version of Panda, the way that HPR angles are
  50. calculated will be changing. The change will make a difference to existing
  51. code or databases that store a hard-coded rotation as a HPR, but only when
  52. R is involved, or both H and P are involved together. That is to say more
  53. precisely, HPR angles with (R != 0 || (H != 0 && P != 0)) now represent a
  54. different rotation than they used to. If you find some legacy code that no
  55. longer works correctly (e.g. it introduces crazy rotations), try putting
  56. the following in your Config.prc file:
  57. temp-hpr-fix 0
  58. To turn off the correct behavior and return to the old, broken behavior.
  59. Note that a longer-term solution will be to represent the HPR angles
  60. correctly in all legacy code. The function oldToNewHpr() is provided to
  61. aid this transition.
  62. * PandaNode definition has been changed to support setting an
  63. into_collide_mask for any arbitrary node, in particular for any GeomNode.
  64. It used to be that only CollisionNodes had an into_collide_mask. This
  65. change obviates the need for CollisionNode::set_collide_geom(), which is
  66. now a deprecated interface and will be removed at some point in the future.
  67. Details:
  68. There's now a NodePath::set_collide_mask() and
  69. NodePath::get_collide_mask(), which operate on all CollisionNodes and
  70. GeomNodes at and below the current node. By default, set_collide_mask()
  71. will replace the entire collide mask, but you may also specify (via a
  72. second parameter) the subset of bits that are to be changed; other bits
  73. will be left alone. You can also specify a particular type of node to
  74. modify via a third parameter, e.g. you can adjust the masks for GeomNodes
  75. or CollisionNodes only.
  76. The NodePath set_collide_mask() interface changes the into_collide_mask.
  77. Those familiar with the collision system will recall that a CollisionNode
  78. (but only a CollisionNode) also has a from_collide_mask. The
  79. from_collide_mask of the active mover is compared with the into_collide_mask
  80. of each object in the world; a collision is only possible if there are some
  81. bits in common.
  82. It used to be that only other CollisionNodes had an into_collide_mask. A
  83. mover would only test for collisions with CollisionNodes that matched its
  84. collide_mask. If you wanted to make your mover detect collisions with
  85. visible geometry which had no into_collide_mask, you had to call
  86. set_collide_geom(1). This allowed the mover to detect collisions with *all*
  87. visible geometry; it was either an all-or-none thing.
  88. Now that GeomNodes also have an into_collide_mask, there's no longer a need
  89. for set_collide_geom(). A mover will detect collisions with any
  90. CollisionNodes or GeomNodes that match its collide_mask. This means, for
  91. the purposes of collision detection, you can use CollisionNodes and
  92. GeomNodes pretty much interchangeably; simply set the appropriate bits on
  93. the objects you want to collide with, regardless of whether they are
  94. invisible collision solids or visible geometry.
  95. (This should not be taken as a license to avoid using CollisionNodes
  96. altogether. The intersection computation with visible geometry is still
  97. less efficient than the same computation with collision solids. And visible
  98. geometry tends to be many times more complex than is strictly necessary for
  99. collisions.)
  100. There's one more detail: every GeomNode, by default, has one bit set on in
  101. its collide_mask, unless it is explicitly turned off. This bit is
  102. GeomNode::get_default_collide_mask(). This bit is provided for the
  103. convenience of programmers who still want the old behavior of
  104. set_collide_geom(): it allows you to easily create a CollisionNode that
  105. will collide with all visible geometry in the world.
  106. Along the same lines, there's also CollisionNode::get_default_collide_mask(),
  107. which is 0x000fffff. This is the default mask that is created for a new
  108. CollisionNode (and it does not include the bit reserved for GeomNodes,
  109. above). Previously, a new CollisionNode would have all bits on by default.
  110. ------------------------ RELEASE 2004-11-11 -----------------------------------
  111. * Multiple mice can now be used with Panda3D. showbase has a list called
  112. pointerWatcherNodes. The first mouse on this list is the system mouse. The
  113. getMouseX() and getMouseY() will return coordinates relative to the
  114. application window. The rest of the mice on the list will give raw mouse
  115. positions and will change when they are moved on the screen.
  116. In addition there are new events for mouse buttons. Each mouse will be have
  117. a corresponding event. mouse1 will send mousedev1-mouse1, mousedev1-mouse2
  118. and mousedev1-mouse3 events. mouse2 and any other mouse attached
  119. will send similar events mousedev2-mouse1 etc.
  120. The old mouse buttons work too. mouse1, mouse2, mouse3 events will be
  121. triggered if that button is pressed on any mouse
  122. ------------------------ RELEASE 2004-10-13 -----------------------------------
  123. General
  124. * Release notes: Each release will now have an entry associated with
  125. it in this document. This will be updated in reverse-chronological order.
  126. Panda3D
  127. * Distributed with this release is a working version of the SceneEditor
  128. created in Spring 2004 at the ETC. Documentation will be forthcoming on the
  129. website. This can be found in <InstallPath>/SceneEditor
  130. * The latest version of FMOD is distributed with this release. The latest
  131. version is 3.73.
  132. * AudioSound object now allows more types of sound. These include wma and
  133. ogg vorbis formats. This is valid when using the fmod sound system. Midi,
  134. Mod, s3m, it, xm and such sequencer type file formats are not supported.
  135. Exception - Midi files can be played. This is not fully implemented.
  136. * A bug in SoundInterval is fixed. SoundInterval looping would incorrectly
  137. add a minimum of 1.5 seconds to the sound. This has been fixed. Sound
  138. looping problems in general should be fixed. Midi's still don't support
  139. looping through the AudioSound object. They should loop through
  140. SoundIntervals though.
  141. * Cg support has been added to Panda3D. Documentation for this is
  142. forthcoming.