module CSounds use CIActionReference implicit none public ! Input vars ! Output vars integer :: Sounds%MP1s integer :: Sounds%MP2s integer :: Sounds%MP3s integer :: Sounds%RTs integer :: Sounds%DwFws integer :: Sounds%DwRevs integer :: Sounds%DwBrakes integer :: Sounds%ChokePumps integer :: Sounds%GasThroughChokes integer :: Sounds%KoomeyAirPumps integer :: Sounds%KoomeyElectricPumps logical :: Sounds%RtGearCrashs logical :: Sounds%DwGearCrashs logical :: Sounds%FloorCollisions logical :: Sounds%CrownCollisions logical :: Sounds%DwClutchs logical :: Sounds%Blowers logical :: Sounds%BlowerMp1s logical :: Sounds%BlowerMp2s logical :: Sounds%BlowerMp3s logical :: Sounds%BlowerRts logical :: Sounds%BlowerDws logical :: Sounds%BlowerStarts logical :: Sounds%BlowerShutdowns logical :: Sounds%ElectricPumps procedure (ActionInteger), pointer :: SoundMP1Ptr procedure (ActionInteger), pointer :: SoundMP2Ptr procedure (ActionInteger), pointer :: SoundMP3Ptr procedure (ActionInteger), pointer :: SoundRTPtr procedure (ActionInteger), pointer :: SoundDwFwPtr procedure (ActionInteger), pointer :: SoundDwRevPtr procedure (ActionInteger), pointer :: SoundDwBrakePtr procedure (ActionInteger), pointer :: SoundChokePumpPtr procedure (ActionInteger), pointer :: SoundGasThroughChokePtr procedure (ActionInteger), pointer :: SoundKoomeyAirPumpPtr procedure (ActionInteger), pointer :: SoundKoomeyElectricPumpPtr procedure (ActionBool), pointer :: SoundRtGearCrashPtr procedure (ActionBool), pointer :: SoundDwGearCrashPtr procedure (ActionBool), pointer :: SoundFloorCollisionPtr procedure (ActionBool), pointer :: SoundCrownCollisionPtr procedure (ActionBool), pointer :: SoundDwClutchPtr procedure (ActionBool), pointer :: SoundBlowerPtr procedure (ActionBool), pointer :: SoundBlowerMp1Ptr procedure (ActionBool), pointer :: SoundBlowerMp2Ptr procedure (ActionBool), pointer :: SoundBlowerMp3Ptr procedure (ActionBool), pointer :: SoundBlowerRtPtr procedure (ActionBool), pointer :: SoundBlowerDwPtr procedure (ActionBool), pointer :: SoundBlowerStartPtr procedure (ActionBool), pointer :: SoundBlowerShutdownPtr procedure (ActionBool), pointer :: SoundElectricPumpPtr private :: SoundMP1Ptr, SoundMP2Ptr, SoundMP3Ptr, SoundRTPtr, SoundDwFwPtr, SoundDwRevPtr,SoundDwBrakePtr,SoundChokePumpPtr,SoundGasThroughChokePtr,SoundKoomeyAirPumpPtr, & SoundKoomeyElectricPumpPtr, SoundRtGearCrashPtr,SoundDwGearCrashPtr,SoundFloorCollisionPtr,SoundCrownCollisionPtr,SoundDwClutchPtr,SoundBlowerPtr, & SoundBlowerMp1Ptr, SoundBlowerMp2Ptr,SoundBlowerMp3Ptr,SoundBlowerRtPtr,SoundBlowerDwPtr,SoundBlowerStartPtr,SoundBlowerShutdownPtr,SoundElectricPumpPtr contains subroutine SetSoundMP1(v) implicit none integer, intent(inout) :: v !if(associated(SoundMP1Ptr)) call SoundMP1Ptr(v) Sounds%MP1s = v end subroutine subroutine SetSoundMP2(v) implicit none integer, intent(inout) :: v !if(associated(SoundMP2Ptr)) call SoundMP2Ptr(v) Sounds%MP2s = v end subroutine subroutine SetSoundMP3(v) implicit none integer, intent(inout) :: v !if(associated(SoundMP3Ptr)) call SoundMP3Ptr(v) Sounds%MP3s = v end subroutine subroutine SetSoundRT(v) implicit none integer, intent(inout) :: v !if(associated(SoundRTPtr)) call SoundRTPtr(v) Sounds%RTs = v end subroutine subroutine SetSoundDwFw(v) implicit none integer, intent(inout) :: v !if(associated(SoundDwFwPtr)) call SoundDwFwPtr(v) Sounds%DwFws = v end subroutine subroutine SetSoundDwRev(v) implicit none integer, intent(inout) :: v !if(associated(SoundDwRevPtr)) call SoundDwRevPtr(v) Sounds%DwRevs = v end subroutine subroutine SetSoundDwBrake(v) implicit none integer, intent(inout) :: v !if(associated(SoundDwBrakePtr)) call SoundDwBrakePtr(v) Sounds%DwBrakes = v end subroutine subroutine SetSoundChokePump(v) implicit none integer, intent(inout) :: v !if(associated(SoundChokePumpPtr)) call SoundChokePumpPtr(v) Sounds%ChokePumps = v end subroutine subroutine SetSoundGasThroughChoke(v) implicit none integer, intent(inout) :: v !if(associated(SoundGasThroughChokePtr)) call SoundGasThroughChokePtr(v) Sounds%GasThroughChokes = v end subroutine subroutine SetSoundKoomeyAirPump(v) implicit none integer, intent(inout) :: v !if(associated(SoundKoomeyAirPumpPtr)) call SoundKoomeyAirPumpPtr(v) Sounds%KoomeyAirPumps = v end subroutine subroutine SetSoundKoomeyElectricPump(v) implicit none integer, intent(inout) :: v !if(associated(SoundKoomeyElectricPumpPtr)) call SoundKoomeyElectricPumpPtr(v) Sounds%KoomeyElectricPumps = v end subroutine subroutine SetSoundRtGearCrash(v) implicit none logical, intent(inout) :: v !if(associated(SoundRtGearCrashPtr)) call SoundRtGearCrashPtr(v) Sounds%RtGearCrashs = v end subroutine subroutine SetSoundDwGearCrash(v) implicit none logical, intent(inout) :: v !if(associated(SoundDwGearCrashPtr)) call SoundDwGearCrashPtr(v) Sounds%DwGearCrashs = v end subroutine subroutine SetSoundFloorCollision(v) implicit none logical, intent(inout) :: v !if(associated(SoundFloorCollisionPtr)) call SoundFloorCollisionPtr(v) Sounds%FloorCollisions = v end subroutine subroutine SetSoundCrownCollision(v) implicit none logical, intent(inout) :: v !if(associated(SoundCrownCollisionPtr)) call SoundCrownCollisionPtr(v) Sounds%CrownCollisions = v end subroutine subroutine SetSoundDwClutch(v) implicit none logical, intent(inout) :: v !if(associated(SoundDwClutchPtr)) call SoundDwClutchPtr(v) Sounds%DwClutchs = v end subroutine subroutine SetSoundBlower(v) implicit none logical, intent(inout) :: v !if(associated(SoundBlowerPtr)) call SoundBlowerPtr(v) Sounds%Blowers = v end subroutine subroutine SetSoundBlowerMP1(v) implicit none logical, intent(inout) :: v !if(associated(SoundBlowerMp1Ptr)) call SoundBlowerMp1Ptr(v) Sounds%BlowerMp1s = v end subroutine subroutine SetSoundBlowerMP2(v) implicit none logical, intent(inout) :: v !if(associated(SoundBlowerMp2Ptr)) call SoundBlowerMp2Ptr(v) Sounds%BlowerMp2s = v end subroutine subroutine SetSoundBlowerMP3(v) implicit none logical, intent(inout) :: v !if(associated(SoundBlowerMp3Ptr)) call SoundBlowerMp3Ptr(v) Sounds%BlowerMp3s = v end subroutine subroutine SetSoundBlowerRT(v) implicit none logical, intent(inout) :: v !if(associated(SoundBlowerRtPtr)) call SoundBlowerRtPtr(v) Sounds%BlowerRts = v end subroutine subroutine SetSoundBlowerDW(v) implicit none logical, intent(inout) :: v !if(associated(SoundBlowerDwPtr)) call SoundBlowerDwPtr(v) Sounds%BlowerDws = v end subroutine subroutine SetSoundBlowerStart(v) implicit none logical, intent(inout) :: v !if(associated(SoundBlowerStartPtr)) call SoundBlowerStartPtr(v) Sounds%BlowerStarts = v end subroutine subroutine SetSoundBlowerShutdown(v) implicit none logical, intent(inout) :: v !if(associated(SoundBlowerShutdownPtr)) call SoundBlowerShutdownPtr(v) Sounds%BlowerShutdowns = v end subroutine subroutine SetSoundElectricPump(v) implicit none logical, intent(inout) :: v !if(associated(SoundElectricPumpPtr)) call SoundElectricPumpPtr(v) Sounds%ElectricPumps = v end subroutine subroutine SubscribeSoundMP1(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundMP1 !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundMP1' :: SubscribeSoundMP1 implicit none procedure (ActionInteger) :: v SoundMP1Ptr => v end subroutine subroutine SubscribeSoundMP2(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundMP2 !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundMP2' :: SubscribeSoundMP2 implicit none procedure (ActionInteger) :: v SoundMP2Ptr => v end subroutine subroutine SubscribeSoundMP3(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundMP3 !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundMP3' :: SubscribeSoundMP3 implicit none procedure (ActionInteger) :: v SoundMP3Ptr => v end subroutine subroutine SubscribeSoundRT(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundRT !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundRT' :: SubscribeSoundRT implicit none procedure (ActionInteger) :: v SoundRTPtr => v end subroutine subroutine SubscribeSoundDwFw(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundDwFw !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundDwFw' :: SubscribeSoundDwFw implicit none procedure (ActionInteger) :: v SoundDwFwPtr => v end subroutine subroutine SubscribeSoundDwRev(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundDwRev !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundDwRev' :: SubscribeSoundDwRev implicit none procedure (ActionInteger) :: v SoundDwRevPtr => v end subroutine subroutine SubscribeSoundDwBrake(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundDwBrake !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundDwBrake' :: SubscribeSoundDwBrake implicit none procedure (ActionInteger) :: v SoundDwBrakePtr => v end subroutine subroutine SubscribeSoundChokePump(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundChokePump !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundChokePump' :: SubscribeSoundChokePump implicit none procedure (ActionInteger) :: v SoundChokePumpPtr => v end subroutine subroutine SubscribeSoundGasThroughChoke(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundGasThroughChoke !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundGasThroughChoke' :: SubscribeSoundGasThroughChoke implicit none procedure (ActionInteger) :: v SoundGasThroughChokePtr => v end subroutine subroutine SubscribeSoundKoomeyAirPump(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundKoomeyAirPump !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundKoomeyAirPump' :: SubscribeSoundKoomeyAirPump implicit none procedure (ActionInteger) :: v SoundKoomeyAirPumpPtr => v end subroutine subroutine SubscribeSoundKoomeyElectricPump(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundKoomeyElectricPump !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundKoomeyElectricPump' :: SubscribeSoundKoomeyElectricPump implicit none procedure (ActionInteger) :: v SoundKoomeyElectricPumpPtr => v end subroutine subroutine SubscribeSoundRtGearCrash(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundRtGearCrash !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundRtGearCrash' :: SubscribeSoundRtGearCrash implicit none procedure (ActionBool) :: v SoundRtGearCrashPtr => v end subroutine subroutine SubscribeSoundDwGearCrash(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundDwGearCrash !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundDwGearCrash' :: SubscribeSoundDwGearCrash implicit none procedure (ActionBool) :: v SoundDwGearCrashPtr => v end subroutine subroutine SubscribeSoundFloorCollision(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundFloorCollision !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundFloorCollision' :: SubscribeSoundFloorCollision implicit none procedure (ActionBool) :: v SoundFloorCollisionPtr => v end subroutine subroutine SubscribeSoundCrownCollision(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundCrownCollision !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundCrownCollision' :: SubscribeSoundCrownCollision implicit none procedure (ActionBool) :: v SoundCrownCollisionPtr => v end subroutine subroutine SubscribeSoundDwClutch(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundDwClutch !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundDwClutch' :: SubscribeSoundDwClutch implicit none procedure (ActionBool) :: v SoundDwClutchPtr => v end subroutine subroutine SubscribeSoundBlower(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundBlower !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundBlower' :: SubscribeSoundBlower implicit none procedure (ActionBool) :: v SoundBlowerPtr => v end subroutine subroutine SubscribeSoundBlowerMp1(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundBlowerMp1 !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundBlowerMp1' :: SubscribeSoundBlowerMp1 implicit none procedure (ActionBool) :: v SoundBlowerMp1Ptr => v end subroutine subroutine SubscribeSoundBlowerMp2(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundBlowerMp2 !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundBlowerMp2' :: SubscribeSoundBlowerMp2 implicit none procedure (ActionBool) :: v SoundBlowerMp2Ptr => v end subroutine subroutine SubscribeSoundBlowerMp3(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundBlowerMp3 !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundBlowerMp3' :: SubscribeSoundBlowerMp3 implicit none procedure (ActionBool) :: v SoundBlowerMp3Ptr => v end subroutine subroutine SubscribeSoundBlowerRt(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundBlowerRt !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundBlowerRt' :: SubscribeSoundBlowerRt implicit none procedure (ActionBool) :: v SoundBlowerRtPtr => v end subroutine subroutine SubscribeSoundBlowerDw(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundBlowerDw !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundBlowerDw' :: SubscribeSoundBlowerDw implicit none procedure (ActionBool) :: v SoundBlowerDwPtr => v end subroutine subroutine SubscribeSoundBlowerStart(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundBlowerStart !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundBlowerStart' :: SubscribeSoundBlowerStart implicit none procedure (ActionBool) :: v SoundBlowerStartPtr => v end subroutine subroutine SubscribeSoundBlowerShutdown(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundBlowerShutdown !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundBlowerShutdown' :: SubscribeSoundBlowerShutdown implicit none procedure (ActionBool) :: v SoundBlowerShutdownPtr => v end subroutine subroutine SubscribeSoundElectricPump(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeSoundElectricPump !DEC$ ATTRIBUTES ALIAS: 'SubscribeSoundElectricPump' :: SubscribeSoundElectricPump implicit none procedure (ActionBool) :: v SoundElectricPumpPtr => v end subroutine ! Input routines ! Output routines integer function GetSoundMP1() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundMP1 !DEC$ ATTRIBUTES ALIAS: 'GetSoundMP1' :: GetSoundMP1 implicit none GetSoundMP1 = Sounds%MP1s end function integer function GetSoundMP2() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundMP2 !DEC$ ATTRIBUTES ALIAS: 'GetSoundMP2' :: GetSoundMP2 implicit none GetSoundMP2 = Sounds%MP2s end function integer function GetSoundMP3() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundMP3 !DEC$ ATTRIBUTES ALIAS: 'GetSoundMP3' :: GetSoundMP3 implicit none GetSoundMP3 = Sounds%MP3s end function integer function GetSoundRT() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundRT !DEC$ ATTRIBUTES ALIAS: 'GetSoundRT' :: GetSoundRT implicit none GetSoundRT = Sounds%RTs end function integer function GetSoundDwFw() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundDwFw !DEC$ ATTRIBUTES ALIAS: 'GetSoundDwFw' :: GetSoundDwFw implicit none GetSoundDwFw = Sounds%DwFws end function integer function GetSoundDwRev() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundDwRev !DEC$ ATTRIBUTES ALIAS: 'GetSoundDwRev' :: GetSoundDwRev implicit none GetSoundDwRev = Sounds%DwRevs end function integer function GetSoundDwBrake() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundDwBrake !DEC$ ATTRIBUTES ALIAS: 'GetSoundDwBrake' :: GetSoundDwBrake implicit none GetSoundDwBrake = Sounds%DwBrakes end function integer function GetSoundChokePump() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundChokePump !DEC$ ATTRIBUTES ALIAS: 'GetSoundChokePump' :: GetSoundChokePump implicit none GetSoundChokePump = Sounds%ChokePumps end function integer function GetSoundGasThroughChoke() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundGasThroughChoke !DEC$ ATTRIBUTES ALIAS: 'GetSoundGasThroughChoke' :: GetSoundGasThroughChoke implicit none GetSoundGasThroughChoke = Sounds%GasThroughChokes end function integer function GetSoundKoomeyAirPump() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundKoomeyAirPump !DEC$ ATTRIBUTES ALIAS: 'GetSoundKoomeyAirPump' :: GetSoundKoomeyAirPump implicit none GetSoundKoomeyAirPump = Sounds%KoomeyAirPumps end function integer function GetSoundKoomeyElectricPump() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundKoomeyElectricPump !DEC$ ATTRIBUTES ALIAS: 'GetSoundKoomeyElectricPump' :: GetSoundKoomeyElectricPump implicit none GetSoundKoomeyElectricPump = Sounds%KoomeyElectricPumps end function logical function GetSoundRtGearCrash() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundRtGearCrash !DEC$ ATTRIBUTES ALIAS: 'GetSoundRtGearCrash' :: GetSoundRtGearCrash implicit none GetSoundRtGearCrash = Sounds%RtGearCrashs end function logical function GetSoundDwGearCrash() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundDwGearCrash !DEC$ ATTRIBUTES ALIAS: 'GetSoundDwGearCrash' :: GetSoundDwGearCrash implicit none GetSoundDwGearCrash = Sounds%DwGearCrashs end function logical function GetSoundFloorCollision() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundFloorCollision !DEC$ ATTRIBUTES ALIAS: 'GetSoundFloorCollision' :: GetSoundFloorCollision implicit none GetSoundFloorCollision = Sounds%FloorCollisions end function logical function GetSoundCrownCollision() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundCrownCollision !DEC$ ATTRIBUTES ALIAS: 'GetSoundCrownCollision' :: GetSoundCrownCollision implicit none GetSoundCrownCollision = Sounds%CrownCollisions end function logical function GetSoundDwClutch() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundDwClutch !DEC$ ATTRIBUTES ALIAS: 'GetSoundDwClutch' :: GetSoundDwClutch implicit none GetSoundDwClutch = Sounds%DwClutchs end function logical function GetSoundBlower() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundBlower !DEC$ ATTRIBUTES ALIAS: 'GetSoundBlower' :: GetSoundBlower implicit none GetSoundBlower = Sounds%Blowers end function logical function GetSoundBlowerMp1() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundBlowerMp1 !DEC$ ATTRIBUTES ALIAS: 'GetSoundBlowerMp1' :: GetSoundBlowerMp1 implicit none GetSoundBlowerMp1 = Sounds%BlowerMp1s end function logical function GetSoundBlowerMp2() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundBlowerMp2 !DEC$ ATTRIBUTES ALIAS: 'GetSoundBlowerMp2' :: GetSoundBlowerMp2 implicit none GetSoundBlowerMp2 = Sounds%BlowerMp2s end function logical function GetSoundBlowerMp3() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundBlowerMp3 !DEC$ ATTRIBUTES ALIAS: 'GetSoundBlowerMp3' :: GetSoundBlowerMp3 implicit none GetSoundBlowerMp3 = Sounds%BlowerMp3s end function logical function GetSoundBlowerRt() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundBlowerRt !DEC$ ATTRIBUTES ALIAS: 'GetSoundBlowerRt' :: GetSoundBlowerRt implicit none GetSoundBlowerRt = Sounds%BlowerRts end function logical function GetSoundBlowerDw() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundBlowerDw !DEC$ ATTRIBUTES ALIAS: 'GetSoundBlowerDw' :: GetSoundBlowerDw implicit none GetSoundBlowerDw = Sounds%BlowerDws end function logical function GetSoundBlowerStart() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundBlowerStart !DEC$ ATTRIBUTES ALIAS: 'GetSoundBlowerStart' :: GetSoundBlowerStart implicit none GetSoundBlowerStart = Sounds%BlowerStarts end function logical function GetSoundBlowerShutdown() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundBlowerShutdown !DEC$ ATTRIBUTES ALIAS: 'GetSoundBlowerShutdown' :: GetSoundBlowerShutdown implicit none GetSoundBlowerShutdown = Sounds%BlowerShutdowns end function logical function GetSoundElectricPump() !DEC$ ATTRIBUTES DLLEXPORT :: GetSoundElectricPump !DEC$ ATTRIBUTES ALIAS: 'GetSoundElectricPump' :: GetSoundElectricPump implicit none GetSoundElectricPump = Sounds%ElectricPumps end function end module CSounds