Giter Site home page Giter Site logo

[feature] SNDCHANN.2da handling about gemrb HOT 6 CLOSED

gemrb avatar gemrb commented on May 18, 2024
[feature] SNDCHANN.2da handling

from gemrb.

Comments (6)

skellytz avatar skellytz commented on May 18, 2024 1

Here's the full list based on my research:

NARRATIO - textscreen narrator

AREA_AMB - main ambients in the songs section; ambients in the ambients section flagged as looping and ignore radius

ACTIONS - open/close doors etc. (confusingly not the ACT_XXX sounds)

SWINGS - SWI_XX sounds; in-CRE soundset ATTACK slot

CASTING - spellcasting voices (BG1: CAS_PXXX, BG2: CHA_XXXX); casting completion sounds in SPL files

GUI - buttons around the UI etc.; inventory and container sounds; some special actions (e.g., Turn Undead, Bard's Song)

DIALOG - voiceovers in dialog; neutral in-CRE soundset slots (e.g., INITIAL_MEETING, SELECT_COMMON)

CHARACT0 - party member 1 (leader) soundset

CHARACT1 - party member 2 soundset

CHARACT2 - party member 3 soundset

CHARACT3 - party member 4 soundset

CHARACT4 - party member 5 soundset

CHARACT5 - party member 6 soundset

MONSTER - 2DA soundsets; hostile in-CRE soundset slots (e.g., BATTLE_CRY)

HITS - HIT_XXX sounds; some special actions (e.g., Hide in Shadows, Detect Traps, Disarm, Lockpick); spell effects using play sound opcode (#174); sounds in VVC files

MISSILE - sounds in PRO files

AMBIENTL - ambients flagged as looping

AMBIENTN - ambients not flagged as looping

WALKINGC - PC footsteps

WALKINGM - NPC/monster footsteps

ARMOR - ARM_XX sounds (tings and twangs as actors in armor move around)

from gemrb.

fizzet avatar fizzet commented on May 18, 2024

I've been working on this for a bit. I've got the basic setup working, but I'm not sure when I'll next find time to add the missing stuff.

What's still missing?

  • ambients
  • PST has an additional parameter REVERB in sndchann.2da
  • verification that we actually play all the sounds we do play on the correct channel.; there are quite a few I am not too sure about
  • add missing sounds (e.g., I don't think we play anything that's supposed to use ARMOR right now)

Should I rather push now, or wait until more complete?

from gemrb.

lynxlynxlynx avatar lynxlynxlynx commented on May 18, 2024

If it's already an improvement, I say push it. That loud Magic missile sound is annoying!

Ambients entries are all set to 100, so it's not that important to implement that.

PST also had some special handling of reverb, storing an ID in the songlist area (SongHeader.reverbID). Our EAX implementation does take it into account, but you can see in MapReverb::getReverbProperties that the volume column is not used yet anywhere. I guess volume and this sndchann global adjustment just need to scale the three flGain* values? @MarcelHB any thoughts?

And yes, the armor ones are missing.

from gemrb.

lynxlynxlynx avatar lynxlynxlynx commented on May 18, 2024

Very nicely done with 72404d8! I've added a todo to the first post, so it will be easier to complete.

from gemrb.

lynxlynxlynx avatar lynxlynxlynx commented on May 18, 2024

Swings are now implemented. They sometimes don't match the animation, but that's due to the fact that we don't use the combat bitmaps for round timing yet #92.

from gemrb.

lynxlynxlynx avatar lynxlynxlynx commented on May 18, 2024

Closing; the framework is there and the only missing piece has its own report.

from gemrb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.