diff -r 9359a70df013 -r 3f7a95234d8a hedgewars/PascalExports.pas --- a/hedgewars/PascalExports.pas Sat Jul 24 23:23:10 2010 +0200 +++ b/hedgewars/PascalExports.pas Sun Jul 25 01:59:41 2010 +0200 @@ -13,14 +13,13 @@ unit PascalExports; interface -uses uKeys, GLunit, uWorld, uMisc, uConsole, uTeams, uConsts, uChat, uGears, hwengine; +uses uKeys, GLunit, uWorld, uMisc, uConsole, uTeams, uConsts, uChat, uGears, uSound, hwengine; {$INCLUDE "config.inc"} implementation {$IFDEF HWLIBRARY} -var xx, yy: LongInt; // retrieve protocol information procedure HW_versionInfo(netProto: PShortInt; versionStr: PPChar); cdecl; export; @@ -170,18 +169,24 @@ y^:= CursorPoint.Y; end; -procedure HW_saveCursor(reset: boolean); cdecl; export; +procedure HW_setPianoSound(snd: LongInt); cdecl; export; +var CurSlot, CurAmmo: LongWord; begin - if reset then - begin - CursorPoint.X:= xx; - CursorPoint.Y:= yy; - end - else - begin - xx:= CursorPoint.X; - yy:= CursorPoint.Y; - end; + CurSlot:= CurrentHedgehog^.CurSlot; + CurAmmo:= CurrentHedgehog^.CurAmmo; + // this most likely won't work in network game + if (CurrentHedgehog^.Ammo^[CurSlot, CurAmmo].AmmoType = amPiano) then + case snd of + 0: PlaySound(sndPiano0); + 1: PlaySound(sndPiano1); + 2: PlaySound(sndPiano2); + 3: PlaySound(sndPiano3); + 4: PlaySound(sndPiano4); + 5: PlaySound(sndPiano5); + 6: PlaySound(sndPiano6); + 7: PlaySound(sndPiano7); + else PlaySound(sndPiano8); + end; end; function HW_isAmmoOpen: boolean; cdecl; export; @@ -213,6 +218,11 @@ exit(false) end; +function HW_isPaused: boolean; cdecl; export; +begin + exit( isPaused ); +end; + procedure HW_setGrenadeTime(time: LongInt); cdecl; export; begin ParseCommand('/timer ' + inttostr(time), true);