Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: code/object/objectsnd.cpp
- ===================================================================
- --- code/object/objectsnd.cpp (revision 7762)
- +++ code/object/objectsnd.cpp (working copy)
- @@ -423,10 +423,18 @@
- ship_info *sip = &Ship_info[Ships[closest_objp->instance].ship_info_index];
- game_snd *snd;
- - if (sip->flags & SIF_BOMBER)
- - snd = &Species_info[sip->species].snd_flyby_bomber;
- + // m!m allow flyby sounds to be defined in the ship class
- + if (sip->flyby_snd.sig >= 0)
- + {
- + snd = &sip->flyby_snd;
- + }
- else
- - snd = &Species_info[sip->species].snd_flyby_fighter;
- + {
- + if (sip->flags & SIF_BOMBER)
- + snd = &Species_info[sip->species].snd_flyby_bomber;
- + else
- + snd = &Species_info[sip->species].snd_flyby_fighter;
- + }
- // play da sound
- snd_play_3d(snd, &closest_objp->pos, &View_position);
- Index: code/ship/ship.cpp
- ===================================================================
- --- code/ship/ship.cpp (revision 7762)
- +++ code/ship/ship.cpp (working copy)
- @@ -1268,6 +1268,32 @@
- }
- }
- +void parse_flyby_snd(game_snd *gs)
- +{
- + int is_3d;
- + gs->sig = 0;
- +
- + stuff_string(gs->filename, F_NAME, MAX_FILENAME_LEN, ",");
- + if ( !stricmp(gs->filename,NOX("empty")) ) {
- + gs->filename[0] = 0;
- + advance_to_eoln(NULL);
- + return;
- + }
- + Mp++;
- + stuff_int(&gs->preload);
- + stuff_float(&gs->default_volume);
- + stuff_int(&is_3d);
- + if ( is_3d ) {
- + gs->flags |= GAME_SND_USE_DS3D;
- + stuff_int(&gs->min);
- + stuff_int(&gs->max);
- + } else {
- + gs->min = 0;
- + gs->max = 0;
- + }
- + advance_to_eoln(NULL);
- +}
- +
- /**
- * Puts values into a ship_info.
- */
- @@ -2630,6 +2656,15 @@
- //Parse optional sound to be used for end of a glide
- parse_sound("$GlideEndSnd:", &sip->glide_end_snd, sip->name);
- + if (optional_string("$FlybySnd:"))
- + {
- + parse_flyby_snd(&sip->flyby_snd);
- + }
- + else
- + {
- + sip->flyby_snd.sig = -1;
- + }
- +
- if(optional_string("$Closeup_pos:"))
- {
- stuff_vector(&sip->closeup_pos);
- Index: code/ship/ship.h
- ===================================================================
- --- code/ship/ship.h (revision 7762)
- +++ code/ship/ship.h (working copy)
- @@ -1374,6 +1374,8 @@
- SCP_vector<cockpit_display_info> displays;
- SCP_map<SCP_string, path_metadata> pathMetadata;
- +
- + game_snd flyby_snd;
- } ship_info;
- extern int Num_wings;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement