diff -r 0135e64c6c66 -r c4fd2813b127 ChangeLog.txt --- a/ChangeLog.txt Wed May 16 18:22:28 2018 +0200 +++ b/ChangeLog.txt Wed Jul 31 23:14:27 2019 +0200 @@ -1,12 +1,433 @@ + features * bugfixes -====================== 0.9.25 ====================== +======================= ??? ======================== User Interface: + In-Game chat size can now be adjusted. Hold Ctrl and press -, + or = while in chat input. Hold shift for finer control. + The intial in-game chat size can be configured in the Frontend's "advanced" settings tab. +============== 1.0.0-dev (unreleased) ============== +Highlights: + + Campaigns now respect your team identity instead of overwriting it + + Single missions now support team selection and track your progress + + Challenges track the team's highscores + + Hand-drawn maps can now be scaled with slider + + Quick games are more random + + Homing bee can be used as secondary ammo + + Can change hedgehog order in The Specialists + + Turn transition is less hectic + + Various small HUD improvements + * Fix wrong key names being displayed in key selection + +Gameplay: + + Quick games are more random: More map types, random team size and difficulty + + Hand-drawn maps can now be scaled with slider + + Slightly longer delays between turns to make it easier to follow the game + + Track high scores in singleplayer challenges + + Show check mark for completed scenarios, challenges and trainings + + Training/challenge/scenario menu now supports team selection + + Most target practices now highlight position of next target (must be unlocked first) + + Homing bee can now be used as secondary ammo + + If bee target was placed in the dark area in a wrap world edge map, bee will first fly across border + + Teach computer players how to use extra time + * Fix hedgehogs being pushed around (and other collision bugs) when they overlap + * Fix homing bee flying weird if passing wrap world edge or target was placed beyond it + * Fix air mine not colliding with crates initially + * Fix buggy behaviour of time box if hog took damage or died before it arrived + * Fix poison damage not working in first round + * Use player-chosen team identity in campaigns and singleplayer missions + * Fix player-chosen teams ignoring custom team controls in campaigns + * Fix broken behaviour of airborne attacks when placed near bounce world edge + * Fix crate sometimes collected twice when switching to hedgehog that touches it + * Deny placement of piano beyond bounce world edge + * Fix laser sight not working properly when it starts out of map bounds + * Fix parachute making hog stuck or fast when bumping into wall while looking other way + * Add missing winner animation in single missions + * Fix hog floating when switching to moving hog + * Fix jump key not being ignored after placing girder or target + * Explode hog instantly when taking damage while dying + * Fix buggy hog when hog took damage during "idle" phase in kamikaze attack + +Styles and schemes: + + The Specialists: Unlock game scheme + + The Specialists: Add script parameter support to set custom specialists order + + Control, CTF_Blizzard: Display scores in stats screen + + CTF_Blizzard: Various minor graphical and text improvements + + Frenzy: Change ammo slots + + Continental supplies: Show continent in team bars + * Balanced Random Weapon: Fix Lua errors after using Time Box + * Racer: Fix racer ghost not getting reset after a skip + * Space Invasion: No longer allow to set start shield above shield limit + * Battalion, WxW: Crates drop between turns, when appropriate + * Battalion: Sudden Death effects are now like in the base game + * King Mode: Fix team sometimes not being killed properly if king drowned + * King Mode: Kill resurrected minions if king is not alive + * King Mode: Fix whole clan being killed if a king died + * King Mode: Fix king placement phase not working correctly with multiple teams in a clan + * HedgeEditor: Fix major FPS drop when there are a lot of objects + * Control: Fix score failure after using extra time + * Frenzy: Fix incorrect ammo slot numbers in ammo menu + * Continental supplies: Computer teams now select random continent + * WxW, Racer: Computer teams no longer block setup phase + * Mutant: Delete excess teams when a clan has more than one team + +A Classic Fairytale: + + Backstab: Disable utilities before traitor has been dealt with + * Backstab: Prevent attacking the cannibals before making the choice + * Backstab: Fix/tweak behaviour in 3rd enemy wave + * First blood: Fix Lua error when hitting Attack after failing the rope challenge + * First blood: Fix a cut scene being played twice in row + * The Shadow Falls: Fix Lua error when hog dies during choice phase + * The Shadow Falls: Fix mission getting stuck when hog dies after accepting offer, but before returning + * The Shadow Falls: Fix many other Lua errors when hogs die in certain situations + * General: Clear hazards around cyborg when it appears in cut scenes + * General: Disable Sudden Death for all missions + * Various minor tweaks and bugfixes + +A Space Adventure: + + Show your current records at mission start when re-playing one of the challenges + + Spacetrip: Move flowers of desert planet above cactus + + Searching in the dust: Enable skip in entire mission + + Getting to the device: Different ending when hero chose to battle in "Bad timing" mission + * Searching in the dust: Fix mission ending when all smugglers are dead + * Searching in the dust: Fix a lot of broken/stupid smuggler behaviours + * Chasing the blue hog: Fix player not losing the race when timing out while still having the rope + * Chasing the blue hog: Fix player winning if Crazy Runner died + * Bad timing: Win mission in "flee" variant if all enemy hogs are dead + * Getting to the device: Fix clan colors + * Fix errors when hero and enemies die in same turn + * Various minor tweaks and bugfixes + +Controls: + + Add control to unselect current weapon (no key chosen by default) + + Add support for 4th and 5th mouse buttons + + Allow to leave a control unused + + Reset zoom resets zoom to zoom level set in options + + Add control to display mines time and health crate health (default: O) + + Precise + Reset zoom resets zoom to 100% (instead of zoom in options) + + Precise + zoom in/out changes zoom in smaller steps + + Precise + volume up/down changes volume in smaller steps + + Precise + cursor move keys move camera slower + + New chat command: “/help room” (shows room chat commands within the game) + + Default demo fast-forward key changed from “S” to “F” + * Fix broken default keyboard controls for team chat and camera movement + +Graphics: + + Animate drill rockets + + New idle shoryuken animation + + Scatter molotov cocktail pieces + + Improve air plane effects when used with wrap or ocean world edge + * Fix speech bubbles overlapping in the wrong order + * Fix wrong ice beam angle if it goes diagonally up out of map through world wrap + * Fix double water splash when flying saucer drowns + * Fix odd floating pixels when wielding and rotating cleaver + * Fix parachute and birdy sometimes being drawn behind hedgehogs and objects + +Game HUD: + + Display current hog health (and related status icons) at top right corner + + Display laser sight icon above wind bar when laser sight utility is active + + Display selected weapon above hedgehog for some weapons/tools + + Change cursor of piano strike + + Colorize switching arrows, pointing arrow and target cross in clan color + + Skip ammo menu animation when playing with turn time of 10s or less + + Don't show crate spawn message for initial crates in missions + + Don't show hedgehog health if “invulnerable” game modifier is active + + Display player name of own teams in online games + + Show contour of flying saucer and air mines when in highly opaque water + + Remove visual clutter in cut scenes + + Add setting to set default/initial zoom + * Black clan color can now be used without visual problems + * Fix last 2 characters in demo chat being missing + * Hide most HUD elements in cinematic mode + * Don't show "F1", "F2", etc. in ammo menu if these aren't the actual slot keys + * Fix wind bar animation not looping properly + * Fix airplane line being drawn above many HUD elements + * Suppress “ is gone.” message at end of game + * Fix game engine ignoring appropriate number formatting of user language + * Fix buggy behaviour when entering speech bubble command in hog placement phase + +Translations: + + Complete: German, Polish + + Major updates: Chinese, Scottish Gaelic + + Credits page is now translatable + * Remove Arabic translation from release + +Frontend: + + Add button in main menu at top left corner to open credits page + + Restructure credits page + + More intelligent automatic mission selection in campaign screen + + New data directory for video thumbnails: Data/VideoThumbnails + + Display a warning when the same key is used multiple times + + Stats screen now hides empty sections + + Visual notification when someone joins the room online + + Display recommended max. hedgehog count for Perlin maps + + Various minor style tweaks + * Fix broken handling of /watch chat command on official server + * Fix renaming a video leading to loss of thumbnail after restart + * Fix controls list failing to display correct key names with regards to keyboard layout + * Fix force-locked schemes getting unlocked when changing map types + * Fix possible to select background-only or hidden themes indirectly by changing map type + * Disallow slash, backslash and colon characters in team and scheme names + +Sounds and voicepacks: + + sndYoohoo has been split to sndYoohoo and sndKiss + + Voice files sndPoisonCough and sndPoisonMoan are now optional (fall back to Default voicepack) + + Add taunt: sndFlyAway / Flyaway.ogg: When hedgehog flies off the map + + Add underwater sound for airplane + + Tweak some taunts: sndFirstBlood, sndLeaveMeAlone, sndCutItOut + * Fix English voicepack selection of team being overwritten when playing in non-English locale + +Theme customization + + Default fallback Sudden Death music of themes (fallback-sd-music) is now sdmusic.ogg + + Make rope stylable by theme: Support for RopeNode.png and rope-step in theme.cfg + Lua API: + + New call: SaveMissionVar(varname, value): Save value to mission variable (variable for non-campaign mission) + + New call: GetMissionVar(varname): Get value of mission variable + + New call: SetTurnTimePaused(isPaused): Call with true to pause turn time, false to unpause + + New call: GetTurnTimePaused(): Returns true if turn time is paused due to Lua + + New call: AddMissionTeam(color): Add mission team, i.e. the team selected by player in campaign/mission page. Returns , + + New call: AddMissionHog(health): Add a hedgehog for the mission team + + New call: SetTeamPassive(teamname, isPassive): Mark a team as passive. Passive teams do not play and are treated like frozen teams. + + New call: IsHogAlive(gear): Returns true if gear is a hegehog which is alive, not about to die and not hidden + + New call: SetAmmoSlot(ammoType, slot): Overwrite ammo slot of ammo type (use with care!) + + New return value: AddTeam returns , + + SetClanColor: Now accepts negative color argument for user clan color, like in AddTeam + + AddTeam: Append “_qau” to voicepack name to enable automatic selection of voicepack language + + ShowMission: Add new icons: hedgehog (10), flags (11) + + Utils library: New calls: getReadableChallengeRecord, updateChallengeRecord, integerSqrt, integerHypotenuse + + New callback: onGameResult(winningClan): Called when the game ends normally. winningClan = index of winning clan or -1 on draw + + New callback: onCaseDrop(gear): Called at the point where a crate MIGHT be dropped between turns. Gear is the crate gear or nil + + New callback: onHogSwitch(oldHog): Called when hog was switched with the “switch hedgehog” utility + + SendStat extension: Option to use predefined modes with siPointType: statMessage = "!POINTS", "!TIME", "!TIME0" to "!TIME3", "!CRATES", or "!EMPTY" + + SimpleMission: Add isMissionTeam attribute for teams + + SpeedShoppa/TargetPractice libraries: Remove custom hog and team info settings + + TargetPractice library: Add faceLeft parameter + + Params explode, poison in the SpawnFake*Crate functions now optional and default to false + + New global: InitHealth: Initial hog health value from game scheme (read-only) + + Animate library: AnimOutOfNowhere: destX and destY are now optional (default: current position) + * Fix SetClanColor causing crashes and severe rendering bugs + * Fix SetAmmoDelay not working properly when called after onGameStart + * Fix DismissTeam not clearing team properly + * SimpleMission: Fix Lua error spam when a custom goal fails + * gstWinner state is preserved after the game ended + * If there's a mission team, IsHogLocal now only returns true for hogs in the same clan as the mission team + +====================== 0.9.25 ====================== +HIGHLIGHTS: + + Complete overhaul of Continental supplies + + Can adjust weapon start and crate probabilities in Balanced Random Weapon + + Remove rubber duck + + New air mine features + + Rework team rankings + + Tied teams now rank equally + + Help button in main menu + + 19 new hedgehog taunts + + Many new Lua API features + * Functionality of controllers restored + * Fix at least 2 crashes + * Fixed some awkward network bugs which caused games to come to a standstill + * Many bugs related to the wrap world edge fixed (but not all) + * Sudden Death always came exactly 1 turn later than planned + +Game, gameplay: + + Increase hedgehog limit to 64 + + Remove rubber duck + + Shotgun, Desert Eagle, Sniper Rifle, Firepunch, Kamikaze, Whip and Baseball Bat can now hit air mines (and some other projectiles) + + Freezer can freeze air mines when they don't move too fast + + Air mines get stunned by getting shoved + + Shotgun shots can now pass through portals + * Fix hog being unable to walk after using sniper rifle without firing both shots + * Fix sine gun dealing damage to attacker if shooting up + * Hedgehog was able to drop more than 2 sticky mines if dropping first one from utility, then stop using utility + * Fix Sudden Death starting in the second turn of a round rather than the first + * Fix hammer and pickhammer not digging correctly at wrap world edge + * Fix drill rocket exploding when digging at bounce/wrap world edge + * Fix freezer ray not working through wrap world edge + * Fix freezer ray going through bounce world edge + * Fix freezer ray extending with low fuel usage when firing straight up/down while holding up/down key + * Fix cake walking through bounce world edge + * Fix cake walking through land when reaching wrap world edge + * Laser sight now works properly through wrap world edge + * Fix projectiles behaving incorrectly with land just behind the wrap world edge + * Fix bee weapon becoming unusable when hitting attack key in mid-air + * Fix hog sometimes getting stuck in land if roping very fast + * Fix seduction not stopping if hog took damage before attack was complete + * Limit hedgehog health to 268435455 to prevent some bugs + * Fix rare possibility that hog is resurrected and starts with 0 or negative health + +Game, controls and commands: + + Add new key to show mission panel (default: M) + + Add new key to cycle through timer values (default: N) + + Add default controls for controller (see README.md) + + Add chat command “/help”, displays help for chat commands + + Rename chat command “/team” to “/clan” (but “/team” still works) + * Functionality of controllers restored + * Fix crash when 2 or more controllers were connected + * Fix cursor teleporting to center after leaving game with a video recording + * Fix /hta, /hsa and /hya commands not writing message in chat + +Game, audiovisuals: + + Campaigns and missions now use the user's chosen custom clan colors + + New default brown clan color for better contrast + + Allow to change volume during pause + + Add sounds: flamethrower, landspray, idle freezer, shorykuen hit + + Add taunts: Amazing, Brilliant, Bugger, Cutitout, Drat, Excellent, Fire, Gonnagetyou, Grenade, + Hmm, Leavemealone, Ohdear, Ouch, Revenge, Runaway, Solong, Thisoneismine, Whatthe, + Watchthis + * Enemy/AI hogs now say “Hmm” on turn start instead of vowing for revenge (at least in most voice packs) + * Fix extreme amounts of droplets when shooting with minigun into ocean world edge + * Fix some flakes disappearing in world wrap worlds while moving camera + * Fix invisible projectile timer, attack bar, target on other side of wrap world edge + * Fix attack bar drawn over GUI elements + * Fix video recorder not working when game audio was disabled + * Fix teleport tooltip claiming it doesn't end turn in hog placing phase with inf. attack + * Prevent voices from being spoken directly before a victory voice + * Fix damage not being displayed if hog drowns in water with 100% opacity (like in Compost theme) + * Fix retreat timer appearing after using baseball bat or whip and immediately taking damage + * Fix musical effects of RC plane and piano not playing if music is enabled but sounds effects are disabled + +Frontend: + + Add help button in main menu (link to Hedgewars Wiki) + + Add setting to disable audio dampening when losing window focus + + Rework player rankings: Losing clans are now ranked in the reverse order they died + * Fix player rankings on round draw: Clans that died in the same turn now have the same rank + * Fix rare crash when aborting video encoding in progress + * Fix critical failure to cleanup teams list after rejoining game under certain conditions + * Fix displayed Sudden Death timeout being off by one + * Controllers are detected again + * Fix failure to shutdown game window properly after player got kicked + * No longer allow having schemes with equal names (case-insensitive) + * Refuse to load schemes which match the name of a default scheme + * No longer save default weapon schemes into file + * Pseudo player names in chat (like “[server]”) are no longer clickable + * Lobby/room: No longer allow opening context menu if no player selected + * Fix game window width/height setting being broken when using Arabic locale + +Server: + + Add “/help” chat command for command help + + Can now clear room greeting by using chat command “/greeting” without arguments + + Many new error and status messages for improved usability + * Fix many server messages being not translated + +Highlander: + * Fix all hogs receiving a free teleport after hog placement phase + * Fix hogs receiving air strikes in maps with border + +Racer/TechRacer: + * Fix rare bug in TechRacer causing crates and other objects to not appear on start of turn + * Fix ranking of teams if teams are tied + +Balanced Random Weapon: + + Can adjust weapon start and crate probabilities by using ammo scheme + +Random Weapon: + * Fix breakage when enabling per-hog ammo + +Mutant: + + Do not reduce mutant's health in Ready phase + + Play poison hurt sound when mutant is low on health + + Unlock game scheme + +Construction Mode: + * Fix girder/rubber cost not being updated correctly after selection + +Continental supplies: + + Continents are now selected before the game starts + + Continents give hog different start health + + Add Antarctica special: Upside-Down World (teleport to top of map) + + Major rewrite of ALL texts for better usability + + Add custom weapon tooltips + + Improve audiovisual effects + + Show message when hog receives new continent ammo + + Sabotaged hedgehogs also emit smoke when it's not their turn + + Can switch continent in reverse order with [Precise]+[Switch] + * Sabotage deals no damage in ready phase, while attacking or retreating + * Invulnerability now protects from sabotage damage + * Sabotage kills hog instantly when health reaches 0 + * Reliably prevent using of Lonely Cries and baseball bat specials when usage not allowed + * Don't explode Anno 1302, Medicine and Bouncy Boomerang if drowning + * Don't play “Missed” and “Laugh” taunt when those don't make sense + * Fix retreat timer not turning red for some weapons + +Space Invasion: + + Display round score in a separate row + + Keep round score displayed after round ends, remove round score announcer message + + If team scores are tied at the end, continue playing rounds with the tied teams until there's a winner + * Fix rare Lua error message spam at end of game + * Fix round score and other info numbers messing up after screen resize + * Fix kamikaze bonus not being shown + +Missions and styles: + * Basic Movement Training: Back jumps are now easier + * The Great Escape: Infinite attack mode did not work + * Shotgun/Sniper Rifle Target Practice: Suppress “X remaining” message + * Fix resurrection animation appearing at wrong position for some missions and styles + * Fix Lua error when playing any mission or style in Lithuanian language + +A Classic Fairytale: + * Fix clan membership of princess in some missions + * Mission 5: Tribe was not in same clan as Natives, screwing up stats a bit + +A Space Adventure: + + The big bang: Terrain types are easier to distinguish + + Hard Flying: Display current flying time next to team bar + * Hard Flying: Fix incorrect recorded time, was 6 seconds more than reality + * Searching in the Dust: Fix display error when destroying device crate + * Searching in the Dust: Don't take away control right above the pit near Sandy + * The big bang: Don't say "Missed" or "Yes, Sir!" when inappropriate + * The last Encounter: Fix clan membership of PAotH + +Themes: + + New Sudden Death water texture for CrazyMission theme + + Add dust flakes for Cheese and CrazyMission themes + + New land objects for Beach theme + * Fix repeating sun in Hoggywood theme + +Content creation: + + HWPs can be nested inside HWPs (1 layer deep only) + + Add-ons now support preview images for campaign missions + +Translations: + + Translations kept up-to-date: German, Polish + + Major translation updates: Russian, Japanese, Scottish Gaelic, Ukrainian + +Lua API: + * Deprecation: Setting TurnTimeLeft/ReadyTimeLeft directly is deprecated and will become useless in future. Use the setter functions below + * Deprecation: Symbols amDuck/gtDuck are deprecated, will be removed later. For now, they alias to amCreeper/gtCreeper + * Changed global: lfCurrentHog becomes lfCurHogCrate + + New call: SetTurnTimeLeft(newTurnTimeLeft): Set remaining turn time + + New call: SetReadyTimeLeft(newReadyTimeLeft): Set remaining ready time + New call: Retreat(time [, respectGetAwayTimeFactor): Force current turn into retreating mode + + New call: GetAmmoTimer(gearUid, ammoType): Returns current set timer for given ammoType and hog gear in ms. Returns nil for non-timerable ammo + + New call: EnableSwitchHog(): Enable hog switching + + New call: GetAmmo(ammoType): Returns ammo configuration (corresponds to SetAmmo) + + New call: GetVampiric(): Returns true if vampirism is currently active + + New call: GetLaserSight(): Returns true if laser sight (as utility) is currenctly active (ignoring sniper rifle) + + New call: IsHogHidden(gear): Returns true if hog is hidden + + New call: PlayMusicSound(soundId): Play a sound as replacement for the main background music + + New call: StopMusicSound(soundId): Stop a “music sound” and resume the regular music + + Changed call: AddTeam: 2nd param. color: Accepts negative value to use a default clan color from player settings + + Changed call: HedgewarsScriptLoad: 2nd param. mustExist. If false, it's allowed for the script to not exist + + Changed call: HedgewarsScriptLoad: Return true on success and false on failure + + Change callback: onGearResurrect: 2nd parameter for visual gear spawned at resurrect position (might be nil) + + New parameter: SetAmmoTexts: 5th param. showExtra: Set to false to hide texts like “Not yet available” + + New parameter: ShowMission: 6th param. forceDisplay: Set to true to prevent this particular mission panel to be hidden manually by player + + Can set custom team rank: Call SendStat with 1st param siTeamRank and 2nd param to the desired rank, as string. Must be called before siPlayerKills of the team for which this applies + + New Lua library: Achievements (currently only for internal use) + + Add sprite tint globals in Utilts library: U_LAND_TINT_NORMAL, U_LAND_TINT_ICE, U_LAND_TINT_INDESTRUCTIBLE and U_LAND_TINT_BOUNCY + + New globals: Infinite fly time for jetpack/Birdy by setting health to JETPACK_FUEL_INFINITE or BIRDY_ENERGY_INFINITE, respectively + + New global game variable: MaxCaseDrops. Max. number of crats which can be in game by crate drops + + New global: NO_CURSOR. Value of CursorX and CursorY if cursor is inactive + + New global: AMMO_INFINITE. Value for infinite ammo count for AddAmmo and other functions + + New global: MAX_HOG_HEALTH. Maximum possible hedgehog health + + New global: MAX_TURN_TIME. Maximum possible turn time + + New global: EXPLForceDraw. Flag for Explode function, forces land removal even with gfSolidLand on + + New global: INTERFACE. Type of the game interface: "desktop" for desktop, "touch" for touchscreen + + New globals: capcolDefault, capcolSetting: Default caption colors + * Animate library: Remove defunct follow argument for AnimVisualGear + * Fixed variable: TotalRounds was -1 (instead of 0) in first real round after hog placement phase + * Fixed variables: LeftX, RightX, TopY, LAND_WIDTH, LAND_HEIGHT were broken if onVisualGearAdd was defined + * AI sometimes intentionally shot hedgehogs with aihDoesntMatter set ====================== 0.9.24.1 ==================== * Fix crash when portable portal device is fired at reduced graphics quality @@ -91,6 +512,7 @@ * Capture the Flag: Fix many bugs caused by playing with >2 teams * Capture the Flag: Properly place flag when first hog uses kamikaze or TimeBox * Capture the Flag: Fix flag not being dropped when carrier uses piano strike + * Capture the Flag: Fix clan not winning if enemy was in time travel * CTF_Blizzard: Don't allow more than 2 clans. Excess hogs will be removed A Space Adventure: