| version 1.2 | | version 1.3 |
|---|
| | |
| * Functions for managing the pig files. | | * Functions for managing the pig files. |
| * | | * |
| * $Log$ | | * $Log$ |
| | | * Revision 1.3 1999/11/15 10:44:42 sekmu |
| | | * added calls to altsound.c for loading new sounds |
| | | * |
| * Revision 1.2 1999/10/07 22:40:29 donut | | * Revision 1.2 1999/10/07 22:40:29 donut |
| * shareware fixes | | * shareware fixes |
| * | | * |
| | |
| #include "newmenu.h" | | #include "newmenu.h" |
| #include "custom.h" | | #include "custom.h" |
| | | |
| | | //added 11/13/99 by Victor Rachels for alternate sounds |
| | | #include "altsound.h" |
| | | //end this section addition - VR |
| | | |
| int piggy_is_substitutable_bitmap( char * name, char * subst_name ); | | int piggy_is_substitutable_bitmap( char * name, char * subst_name ); |
| | | |
| //#define NO_DUMP_SOUNDS 1 //if set, dump bitmaps but not sounds | | //#define NO_DUMP_SOUNDS 1 //if set, dump bitmaps but not sounds |
| | |
| strncpy( AllSounds[Num_sound_files].name, name, 12 ); | | strncpy( AllSounds[Num_sound_files].name, name, 12 ); |
| hashtable_insert( &AllDigiSndNames, AllSounds[Num_sound_files].name, Num_sound_files ); | | hashtable_insert( &AllDigiSndNames, AllSounds[Num_sound_files].name, Num_sound_files ); |
| GameSounds[Num_sound_files] = *snd; | | GameSounds[Num_sound_files] = *snd; |
| | | |
| | | //added/moved on 11/13/99 by Victor Rachels to ready for changing freq |
| | | //#ifdef ALLEGRO |
| | | GameSounds[Num_sound_files].bits = snd->bits; |
| | | GameSounds[Num_sound_files].freq = snd->freq; |
| | | |
| #ifdef ALLEGRO | | #ifdef ALLEGRO |
| GameSounds[Num_sound_files].bits = 8; | | //end this section move - VR |
| GameSounds[Num_sound_files].freq = 11025; | | |
| GameSounds[Num_sound_files].priority = 128; | | GameSounds[Num_sound_files].priority = 128; |
| GameSounds[Num_sound_files].loop_start = 0; | | GameSounds[Num_sound_files].loop_start = 0; |
| GameSounds[Num_sound_files].loop_end = GameSounds[Num_sound_files].len; | | GameSounds[Num_sound_files].loop_end = GameSounds[Num_sound_files].len; |
| | |
| #endif | | #endif |
| GameSounds[i].data = NULL; | | GameSounds[i].data = NULL; |
| SoundOffset[i] = 0; | | SoundOffset[i] = 0; |
| | | |
| | | //added on 11/13/99 by Victor Rachels to ready for changing freq |
| | | GameSounds[i].bits = 0; |
| | | GameSounds[i].freq = 0; |
| | | //end this section addition - VR |
| } | | } |
| | | |
| for (i=0; i<MAX_BITMAP_FILES; i++ ) { | | for (i=0; i<MAX_BITMAP_FILES; i++ ) { |
| | |
| bogus_sound.length = 64*64; | | bogus_sound.length = 64*64; |
| #endif | | #endif |
| bogus_sound.data = bogus_data; | | bogus_sound.data = bogus_data; |
| | | //added on 11/13/99 by Victor Rachels to ready for changing freq |
| | | bogus_sound.freq = 11025; |
| | | bogus_sound.bits = 8; |
| | | //end this section addition - VR |
| GameBitmapOffset[0] = 0; | | GameBitmapOffset[0] = 0; |
| } | | } |
| | | |
| | |
| } | | } |
| | | |
| for (i=0; i<N_sounds; i++ ) { | | for (i=0; i<N_sounds; i++ ) { |
| | | //added on 11/13/99 by Victor Rachels to add alt soundfiles |
| | | if(use_alt_sounds && use_alt_sound(i)) |
| | | { |
| | | char *altfname; |
| | | altfname = load_alt_sound_info(i,&temp_sound); |
| | | piggy_register_sound(&temp_sound,altfname,1); |
| | | SoundOffset[Num_sound_files] = 0; |
| | | #ifdef ALLEGRO |
| | | sbytes += temp_sound.len; |
| | | #else |
| | | sbytes += temp_sound.length; |
| | | #endif |
| | | } |
| | | else |
| | | { |
| cfread( &sndh, sizeof(DiskSoundHeader), 1, Piggy_fp ); | | cfread( &sndh, sizeof(DiskSoundHeader), 1, Piggy_fp ); |
| | | |
| //size -= sizeof(DiskSoundHeader); | | //size -= sizeof(DiskSoundHeader); |
| #ifdef ALLEGRO | | #ifdef ALLEGRO |
| temp_sound.len = sndh.length; | | temp_sound.len = sndh.length; |
| #else | | #else |
| temp_sound.length = sndh.length; | | temp_sound.length = sndh.length; |
| #endif | | #endif |
| | | |
| | | //added on 11/13/99 by Victor Rachels to ready for changing freq |
| | | temp_sound.bits = 8; |
| | | temp_sound.freq = 11025; |
| | | //end this section addition - VR |
| temp_sound.data = (ubyte *)(sndh.offset + header_size + (sizeof(int)*2)+Pigdata_start); | | temp_sound.data = (ubyte *)(sndh.offset + header_size + (sizeof(int)*2)+Pigdata_start); |
| SoundOffset[Num_sound_files] = sndh.offset + header_size + (sizeof(int)*2)+Pigdata_start; | | SoundOffset[Num_sound_files] = sndh.offset + header_size + (sizeof(int)*2)+Pigdata_start; |
| #ifdef SHAREWARE | | #ifdef SHAREWARE |
| | |
| piggy_register_sound( &temp_sound, temp_name_read, 1 ); | | piggy_register_sound( &temp_sound, temp_name_read, 1 ); |
| sbytes += sndh.length; | | sbytes += sndh.length; |
| //mprintf(( 0, "%d bytes of sound\n", sbytes )); | | //mprintf(( 0, "%d bytes of sound\n", sbytes )); |
| | | |
| | | } // - VR - link to alt sound stuff |
| } | | } |
| | | |
| SoundBits = malloc( sbytes + 16 ); | | SoundBits = malloc( sbytes + 16 ); |
| | |
| for (i=0; i<Num_sound_files; i++ ) { | | for (i=0; i<Num_sound_files; i++ ) { |
| digi_sound *snd = &GameSounds[i]; | | digi_sound *snd = &GameSounds[i]; |
| | | |
| if ( SoundOffset[i] > 0 ) { | | //added on 11/13/99 by Victor Rachels to use alternate sounds |
| | | if ( use_alt_sounds && use_alt_sound(i) ) |
| | | { |
| | | snd->data = ptr; |
| | | load_alt_sound(i,snd); |
| | | #ifdef ALLEGRO |
| | | ptr += snd->len; |
| | | sbytes += snd->len; |
| | | #else |
| | | ptr += snd->length; |
| | | sbytes += snd->length; |
| | | #endif |
| | | } |
| | | else if ( SoundOffset[i] > 0 ) { |
| | | //end this section addition - VR |
| if ( piggy_is_needed(i) ) { | | if ( piggy_is_needed(i) ) { |
| cfseek( Piggy_fp, SoundOffset[i], SEEK_SET ); | | cfseek( Piggy_fp, SoundOffset[i], SEEK_SET ); |
| | | |