Jump to content


Community Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About jdm

  • Rank
  1. My work in #599 adds the ability to set the seed to a given value, ensuring that all proxies appear the same. It should be pretty easy to use that to fix the cases you mention.
  2. 23:40 <jdm> k776: do we need to consider looping sounds? 23:40 <jdm> having never heard the sound in 0ad, I'm just guessing here, but ambient sounds typically loop 23:42 <k776> jdm: Good point 23:42 <jdm> so, here's a strawman for dealing with ambient sounds: 23:43 <jdm> the ambient stack contains all possible ambient sounds that could ever be used 23:43 <jdm> the game loop investigates the terrain within a certain distance of the camera 23:43 <jdm> marks the appropriate ambient sounds as active 23:44 <jdm> and some special code notes sounds that are active that were not previous 23:44 <jdm> *previously 23:44 <jdm> and fades them in, and fades out sounds that are no longer active but used to be This could be implemented as part of a general ambient sound API that is exposed. Maybe it could exist within the proposed system by manipulating the priorities of the sounds in the stack and adding a fadeIn value to each sound in the ambient stack.
  3. Priority is amorphous in relation to async stacks, or perhaps just underspecified. Sync stacks obviously only play a single sound at a time, but async stacks play multiple ones. For an async stack, does a new sound of higher priority cause all existing lower priority sounds to be interrupted, or does the priority only affect its insertion position and all sounds in the stack are mixed together? If the former, it should be specified that only the sounds of the highest priority in a stack are played concurrently in an async stack. I also think that multiple (or single, or concurrent) would be a clearer name than async.
  4. Also, how does this interact with positional sound? The ambient and action sounds presumably are only valid for a particular area of the map at a given point in time; it feels like there should be an optional link to an entity from which a position is obtained and the gain adjusted based on distance from the camera. Also missing: default priority information.
  5. "If another track is playing, the same time is used to fadeOut the playing track." I assume this means cross-fade instead of fade out, followed by fade in?
  6. You can expose member functions of C++ components to JS fairly easily. See examples in source/simulation2/components/ICmp*.cpp - the macros BEGIN_INTERFACE_WRAPPER, DEFINE_INTERFACE_METHOD_#, and END_INTERFACE_WRAPPER are your friend.
  7. The special unit in the Regicide/Herocide modes could provide a significant bonus to nearby allied units, giving the player an incentive to have the unit be out near the front lines of combat.
  8. Interestingly enough, on Snow Leopard the full screen mode works but windowed mode is completely broken.
  • Create New...