diff --git a/extras/ACS/BlanKart_ACS.cfg b/extras/ACS/BlanKart_ACS.cfg index 76360c0e8..ac821aedd 100644 --- a/extras/ACS/BlanKart_ACS.cfg +++ b/extras/ACS/BlanKart_ACS.cfg @@ -803,10 +803,6 @@ keywords Returns the best position of all non-CPU players.\n Intended for branching camera movement in podium maps."; - PodiumFinish = "void PodiumFinish(void)\n - Brings up final Grand Prix results screen in podium maps.\n - Does nothing in standard maps."; - SetLineRenderStyle = "void SetLineRenderStyle(int tag, int blend, fixed alpha)\n Changes the rendering of the tagged linedefs' middle textures.\n - tag: The linedef tag to change.\n @@ -849,18 +845,17 @@ keywords Ends the level. - showintermission: Whether to show the results screen. If omitted, use the default behavior."; - Music_Play = "void Music_Play(str tune, [bool onlyforactivator])\n - Play a tune. If it's already playing, restarting from the beginning.\n - - tune: The ID of the tune. Note: this is separate from the music lump.\n - - onlyforactivator: Only play the tune for the activator (if activator is a player)."; + Music_Play = "void Music_Play(str song, [bool onlyforactivator])\n + Play a song. If it's already playing, restarting from the beginning.\n + - song: The name of the song lump, without 'O_' at the beginning and without a file extension.\n + - onlyforactivator: Only play the song for the activator (if activator is a player)."; Music_StopAll = "void Music_StopAll([bool onlyforactivator])\n - Stop every tune that is currently playing.\n + Stop the music that is currently playing.\n - onlyforactivator: Only stop for the activator (if activator is a player)."; - Music_Remap = "void Music_Remap(str tune, str song, [bool onlyforactivator])\n - Change the actual song lump that a tune will play.\n - - tune: The ID of the tune.\n + Music_Remap = "void Music_Remap(str song, [bool onlyforactivator])\n + Change the song thats playing while keeping its position.\n - song: The name of the song lump, without 'O_' at the beginning and without a file extension.\n - onlyforactivator: Only remap for the activator (if activator is a player)."; @@ -869,61 +864,6 @@ keywords - fade: Time (tics) to fade between full volume and silence.\n - duration: Silent duration (tics) (not including fade in and fade out), -1 = infinite (default if omitted)."; - Freeze = "void Freeze(bool value)\n - Pauses or unpauses the level's thinkers.\n - - value: True to freeze, false to unfreeze."; - - Dialogue_SetSpeaker = "void Dialogue_SetSpeaker(str character, int sprite)\n - Display a new dialogue box, using a player skin.\n - - character: The name of the skin to use.\n - - sprite: Which frame of the TALK sprite to display."; - - Dialogue_SetCustomSpeaker = "void Dialogue_SetCustomSpeaker(str nametag, str graphic, [str color, str voice])\n - Display a new dialogue box, using a custom nametag, graphic, and voice.\n - - nametag: The name to display on the dialogue box.\n - - graphic: The name of the graphic lump to display.\n - - color: The name of a skincolor to use for the graphic. Defaults to 'None'.\n - - voice: The name of the voice sound effect to use. Defaults to 'sfx_ktalk'."; - - Dialogue_NewText = "void Dialogue_NewText(str text)\n - Set the text to start displaying on the current dialogue box.\n - - text: The contents of the dialogue box."; - - Dialogue_WaitForDismiss = "void Dialogue_WaitForDismiss(void)\n - Pause the current script until the current dialogue box\n - has been dismissed by the player."; - - Dialogue_WaitForText = "void Dialogue_WaitForText(void)\n - Pause the current script until the current dialogue box\n - finishes rendering all of its text."; - - Dialogue_NewDismissText = "void Dialogue_NewDismissText(str text)\n - Sets new text to display on the dialogue box, and then waits for\n - the player to dismiss it. This is exactly equivalent to calling\n - Dialogue_NewText and then Dialogue_WaitForDismiss immediately after.\n - - text: The contents of the dialogue box."; - - Dialogue_AutoDismiss = "void Dialogue_AutoDismiss(void)\n - Dismisses the current dialogue (including from other threads)."; - - AddMessage = "void AddMessage(str message, bool interrupt, bool persist)\n - Display a message at the top of every player's HUD.\n - - message: Text of the message.\n - - interrupt: True to interrupt other messages, False to display when they're done.\n - - persist: True to last forever (Tutorial objectives), False to disappear after a time limit."; - - AddMessageForPlayer = "void AddMessageForPlayer(str message, bool interrupt, bool persist)\n - Display a message at the top of the triggering player's HUD.\n - - message: Text of the message.\n - - interrupt: True to interrupt other messages, False to display when they're done.\n - - persist: True to last forever (Tutorial objectives), False to disappear after a time limit."; - - ClearPersistentMessages = "void ClearPersistentMessages(void)\n - Remove all HUD messages (AddMessage, AddMessageForPlayer) that are set to persist, for all players.\n"; - - ClearPersistentMessagesForPlayer = "void ClearPersistentMessagesForPlayer(void)\n - Remove the triggering player's HUD messages (AddMessage, AddMessageForPlayer) that are set to persist.\n"; - FinishLine = "void FinishLine([bool flip])\n Increments the current lap of the activating player, like when crossing the finish line.\n If called from an activating line and from the wrong side, then it will decrement a lap instead.\n @@ -949,9 +889,6 @@ keywords - BOT_CONTROLLER_FASTFALL: Bots will try to fastfall when they're in the air.\n - forcedir: Force the bots to drive in an exact angle. Requires BOT_CONTROLLER_FORCEDIR to be set."; - DismountFlyingObject = "void DismountFlyingObject(void)\n - Makes the activator player dismount their Dead Line Rocket or Rideroid."; - GetLineProperty = "any GetLineProperty(int tag, int property)\n Gets the value of a line property directly.\n - tag: The line tag to retrieve the property from. 0 uses the activating line, if it exists.\n diff --git a/extras/ACS/lib/inc/ACS/bkspecial.acs b/extras/ACS/lib/inc/ACS/bkspecial.acs index 8c7df628b..997176af2 100644 --- a/extras/ACS/lib/inc/ACS/bkspecial.acs +++ b/extras/ACS/lib/inc/ACS/bkspecial.acs @@ -298,7 +298,7 @@ special void -500:CameraWait(1, int), int -501:PodiumPosition(0), - void -502:PodiumFinish(0), + //void -502:PodiumFinish(0), void -503:SetLineRenderStyle(3, int, int, fixed), void -504:MapWarp(2, str, bool), int -505:AddBot(0, str, int, int), diff --git a/src/acs/call-funcs.cpp b/src/acs/call-funcs.cpp index f1d25ee7b..d941898b7 100644 --- a/src/acs/call-funcs.cpp +++ b/src/acs/call-funcs.cpp @@ -3189,7 +3189,7 @@ bool CallFunc_ExitLevel(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::W /*-------------------------------------------------- bool CallFunc_MusicPlay(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::Word argC) - Play a tune. If it's already playing, restart from the + Play a song. If it's already playing, restart from the beginning. --------------------------------------------------*/ bool CallFunc_MusicPlay(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::Word argC) @@ -3204,7 +3204,7 @@ bool CallFunc_MusicPlay(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::W return false; } - S_ChangeMusicEx(map->getString(argV[0])->str, 0, false, mapmusposition, 0, 0); + S_ChangeMusicEx(map->getString(argV[0])->str, 0, true, mapmusposition, 0, 0); return false; } @@ -3232,22 +3232,22 @@ bool CallFunc_MusicStopAll(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM /*-------------------------------------------------- bool CallFunc_MusicRemap(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::Word argC) - Change the actual song lump that a tune will play. + Change the song while keeping the same music posititon. --------------------------------------------------*/ bool CallFunc_MusicRemap(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::Word argC) { ACSVM::MapScope *map = thread->scopeMap; + UINT32 lastmapmusposition = mapmusposition; - // 0: str tune - id for the tune to play - // 1: str song - lump name for the song to map to - // 2: [bool foractivator] - only do this if the activator is a player and is being viewed + // 0: str song - lump name for the song to map to + // 1: [bool foractivator] - only do this if the activator is a player and is being viewed - if (argC > 2 && argV[2] && !ACS_ActivatorIsLocal(thread)) + if (argC > 1 && argV[1] && !ACS_ActivatorIsLocal(thread)) { return false; } - S_ChangeMusicEx(map->getString(argV[1])->str, 0, false, mapmusposition, 0, 0); + S_ChangeMusicEx(map->getString(argV[0])->str, 0, true, lastmapmusposition, 0, 0); return false; }