diff --git a/icon.ico b/icon.ico new file mode 100644 index 0000000..fbd014d Binary files /dev/null and b/icon.ico differ diff --git a/master changelog.md b/master changelog.md index 4ca4946..4c5458b 100644 --- a/master changelog.md +++ b/master changelog.md @@ -5,6 +5,7 @@ Since December 2022, this changelog shows only past changes. See patchnotes.md for info on the most recent patch! # Table of Contents +- [11 July 2026](#11-july-2026) - [3 July 2026](#3-july-2026) - [19 June 2026](#19-june-2026) - [24 May 2026](#24-may-2026) @@ -116,6 +117,39 @@ See patchnotes.md for info on the most recent patch! - [13 August 2020](#13-august-2020) - [12 August 2020](#12-august-2020) +# 11 July 2026 +## Year 4, month 7, patch 2 + +## Patch goals +- Continue technical improvements for the Throneroom stage! +- Further improve audiovisuals +- [Subscribe on ko-fi](https://ko-fi.com/pr0nogoandveeq7) to get a sneak peek of the incoming changes! + +# Core changes + +## Bugfixes +- **Stability:** + - Resolved all remaining floating point use cases, eliminating known causes of several desyncs (c. Veeq7, Pr0nogo, Jesse; b. Jesse, TheBeaver99, Neblime, BtyB, 3crow, Lucifirius, Doglived, IAMtheWHEATofGOD) + - *Not all desyncs have been eliminated, but you should see a significant reduction, especially in games not featuring Askosi!* + - *Many working systems may have been made buggy by this huge change. We need testing for that! Please help report crashes or buggy behavior.* + - *Huge shout-out to Veeq7 for being the primary workhorse of this change, and special thanks to Jesse who helped get the ball rolling. The donors are also greatly appreciated!* + - Prospectively fixed rare AI crash related to retreating some units (r. iliektoeatgrass, c. DarkenedFantasies) +- **Gameplay:** + - Terran and Askosi workers can no longer increment construction attempts remotely (r. HonMonO & Kenoli) + - **Magister** Stellar Enforcement timer now refreshes on attack (r. Kenoli) + - **Cikralisk**s can now attack from garrisons (r. Kenoli) + - Askosi workers can no longer work on Terran structures (r. Kenoli) + - Askosi workers no longer ignore right-click commands on completed structures (r. Kenoli) + +## Audiovisuals +- Launch screen splash art has been updated +- Adjusted sprite for: + - Cipher, Function, Gauntlet, Cosmoscope +- New almost-built frame for: + - Arch, Cipher, Function, Gauntlet, Cosmoscope, Lotiro +- New sound effect for: + - Domain passive proc + # 3 July 2026 ## Year 4, month 7, patch 1 diff --git a/mpq/arr/images.txt b/mpq/arr/images.txt index 8a8e136..7d218bb 100644 --- a/mpq/arr/images.txt +++ b/mpq/arr/images.txt @@ -193,10 +193,10 @@ Pylon Shadow Lattice Lattice Warp Flash Lattice Shadow -Shield Battery -Shield Battery Overlay -Shield Battery Warp Flash -Shield Battery Shadow +Bulwark +Bulwark Overlay +Bulwark Warp Flash +Bulwark Shadow Stargate Stargate Overlay Stargate Warp Flash diff --git a/mpq/arr/units.datex b/mpq/arr/units.datex index a77c46a..0336eae 100644 Binary files a/mpq/arr/units.datex and b/mpq/arr/units.datex differ diff --git a/mpq/glue/options/plistlrg_options.pcx b/mpq/glue/options/plistlrg_options.pcx new file mode 100644 index 0000000..8caf960 Binary files /dev/null and b/mpq/glue/options/plistlrg_options.pcx differ diff --git a/mpq/glue/options/tab_highlight.pcx b/mpq/glue/options/tab_highlight.pcx new file mode 100644 index 0000000..b6a0657 Binary files /dev/null and b/mpq/glue/options/tab_highlight.pcx differ diff --git a/mpq/rez/glumain.bin b/mpq/rez/glumain.bin index 9b109a5..9bdef69 100644 Binary files a/mpq/rez/glumain.bin and b/mpq/rez/glumain.bin differ diff --git a/mpq/rez/gluoptions.bin b/mpq/rez/gluoptions.bin new file mode 100644 index 0000000..d5e83e7 Binary files /dev/null and b/mpq/rez/gluoptions.bin differ diff --git a/mpq/rez/options/tab-misc.bin b/mpq/rez/options/tab-misc.bin new file mode 100644 index 0000000..8a683ff Binary files /dev/null and b/mpq/rez/options/tab-misc.bin differ diff --git a/mpq/rez/options/tab-ui.bin b/mpq/rez/options/tab-ui.bin new file mode 100644 index 0000000..2a0c381 Binary files /dev/null and b/mpq/rez/options/tab-ui.bin differ diff --git a/mpq/scripts/iscript_askosi.bin b/mpq/scripts/iscript_askosi.bin index 338440f..becad58 100644 Binary files a/mpq/scripts/iscript_askosi.bin and b/mpq/scripts/iscript_askosi.bin differ diff --git a/mpq/scripts/iscript_askosi.txt b/mpq/scripts/iscript_askosi.txt index ea80f56..884957c 100644 --- a/mpq/scripts/iscript_askosi.txt +++ b/mpq/scripts/iscript_askosi.txt @@ -2241,7 +2241,7 @@ BountySpecialState1: goto SkryrokorLocal00 BountyAlmostBuilt: - playfram 0 + playfram 4 goto SkryrokorLocal00 BountyBuilt: @@ -2484,7 +2484,7 @@ ProsceniumSpecialState1: goto SkryrokorLocal00 ProsceniumAlmostBuilt: - playfram 0 + playfram 2 goto SkryrokorLocal00 ProsceniumBuilt: @@ -4488,9 +4488,9 @@ PhontisGndAttkToIdle: PhontisDeath: playsnd 533 # Protoss\Scout\PScDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) wait 2 - lowsprul 1065 0 0 # Askosi Unit Rubble (cm\a\a-rubble-tiny.grp) + lowsprul 1007 0 0 # Askosi Structure Rubble (Small) (cm\a\a-rubble-small.grp) wait 1 end @@ -4784,7 +4784,7 @@ DormingeSpecialState1: goto SkryrokorLocal00 DormingeAlmostBuilt: - playfram 0 + playfram 8 goto SkryrokorLocal00 DormingeBuilt: @@ -4927,7 +4927,7 @@ Walking [NONE] WalkingToIdle [NONE] SpecialState1 [NONE] SpecialState2 [NONE] -AlmostBuilt SkryrokorLocal00 +AlmostBuilt DomainAlmostBuilt Built DomainBuilt Landing [NONE] LiftOff [NONE] @@ -4951,7 +4951,12 @@ DomainDeath: wait 1 end +DomainAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + DomainBuilt: + playfram 0 imgol 1820 0 0 # Architect weaponfire channel goto SkryrokorLocal00 diff --git a/mpq/scripts/iscript_protoss.bin b/mpq/scripts/iscript_protoss.bin index 26c08fb..0bfba8d 100644 Binary files a/mpq/scripts/iscript_protoss.bin and b/mpq/scripts/iscript_protoss.bin differ diff --git a/mpq/scripts/iscript_protoss.txt b/mpq/scripts/iscript_protoss.txt index 15159fe..4e55ff9 100644 --- a/mpq/scripts/iscript_protoss.txt +++ b/mpq/scripts/iscript_protoss.txt @@ -2487,7 +2487,7 @@ NexusWarpIn: # 181 Nexus Overlay (protoss\pneGlow.grp) .headerstart IsId 178 -Type 24 +Type 27 Init NexusOverlayInit Death Generic_Wait1End GndAttkInit [NONE] @@ -2514,6 +2514,8 @@ Unused3 [NONE] StarEditInit [NONE] Disable Generic_Wait1End Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 .headerend # ----------------------------------------------------------------------------- # @@ -2613,7 +2615,7 @@ WardenWarpIn: # 189 Pylon (protoss\pylon.grp) .headerstart IsId 181 -Type 21 +Type 27 Init PylonInit Death PylonDeath GndAttkInit [NONE] @@ -2636,6 +2638,12 @@ LiftOff [NONE] IsWorking SkryrokorLocal00 WorkingToIdle SkryrokorLocal00 WarpIn PylonWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 .headerend # ----------------------------------------------------------------------------- # @@ -2769,12 +2777,12 @@ RoboticsFacilityEnable: # ----------------------------------------------------------------------------- # # This header is used by images.dat entries: -# 195 Shield Battery (protoss\sbattery.grp) +# 195 Bulwark (protoss\sbattery.grp) .headerstart IsId 183 Type 27 -Init ShieldBatteryInit -Death ShieldBatteryDeath +Init BulwarkInit +Death BulwarkDeath GndAttkInit [NONE] AirAttkInit [NONE] Unused1 [NONE] @@ -2789,47 +2797,47 @@ WalkingToIdle [NONE] SpecialState1 [NONE] SpecialState2 [NONE] AlmostBuilt [NONE] -Built ShieldBatteryBuilt +Built BulwarkBuilt Landing [NONE] LiftOff [NONE] IsWorking SkryrokorLocal00 WorkingToIdle SkryrokorLocal00 -WarpIn ShieldBatteryWarpIn +WarpIn BulwarkWarpIn Unused3 [NONE] StarEditInit [NONE] Disable SkryrokorLocal00 Burrow [NONE] UnBurrow [NONE] -Enable ShieldBatteryBuilt +Enable BulwarkBuilt .headerend # ----------------------------------------------------------------------------- # -ShieldBatteryInit: - imgul 198 0 0 # Shield Battery Shadow (protoss\pbaShad.grp) +BulwarkInit: + imgul 198 0 0 # Bulwark Shadow (protoss\pbaShad.grp) playfram 0x00 # Frame set 0 goto SkryrokorLocal00 -ShieldBatteryDeath: +BulwarkDeath: playsnd 7 # Misc\ExploLrg.wav imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) wait 3 end -ShieldBatteryBuilt: - imgol 196 0 0 # Shield Battery Overlay (protoss\pbaGlow.grp) +BulwarkBuilt: + imgol 196 0 0 # Bulwark Overlay (protoss\pbaGlow.grp) goto SkryrokorLocal00 -ShieldBatteryWarpIn: +BulwarkWarpIn: imgol 197 0 0 # Shileld Battery Warp Flash (protoss\sbattery.grp) goto SkryrokorLocal00 # ----------------------------------------------------------------------------- # # This header is used by images.dat entries: -# 196 Shield Battery Overlay (protoss\pbaGlow.grp) +# 196 Bulwark Overlay (protoss\pbaGlow.grp) .headerstart IsId 184 -Type 24 -Init ShieldBatteryOverlayInit +Type 27 +Init BulwarkOverlayInit Death Generic_Wait1End GndAttkInit [NONE] AirAttkInit [NONE] @@ -2848,21 +2856,23 @@ AlmostBuilt [NONE] Built [NONE] Landing [NONE] LiftOff [NONE] -IsWorking ShieldBatteryOverlayIsWorking -WorkingToIdle ShieldBatteryOverlayInit +IsWorking BulwarkOverlayIsWorking +WorkingToIdle BulwarkOverlayInit WarpIn SkryrokorLocal00 Unused3 [NONE] StarEditInit [NONE] Disable Generic_Wait1End Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 .headerend # ----------------------------------------------------------------------------- # -ShieldBatteryOverlayInit: +BulwarkOverlayInit: playfram 0x00 goto SkryrokorLocal00 -ShieldBatteryOverlayIsWorking: +BulwarkOverlayIsWorking: playsnd 481 # Protoss\Bldg\PbaAct00.wav playfram 1 wait 2 @@ -2880,7 +2890,7 @@ ShieldBatteryOverlayIsWorking: wait 2 playfram 2 wait 2 - goto ShieldBatteryOverlayIsWorking + goto BulwarkOverlayIsWorking # ----------------------------------------------------------------------------- # # This header is used by images.dat entries: diff --git a/mpq/unit/cm/a/bounty-damage.lof b/mpq/unit/cm/a/bounty-damage.lof index d0ae196..50a98bd 100644 Binary files a/mpq/unit/cm/a/bounty-damage.lof and b/mpq/unit/cm/a/bounty-damage.lof differ diff --git a/mpq/unit/cm/a/bounty-shadow.grp b/mpq/unit/cm/a/bounty-shadow.grp index fd17af9..52da751 100644 Binary files a/mpq/unit/cm/a/bounty-shadow.grp and b/mpq/unit/cm/a/bounty-shadow.grp differ diff --git a/mpq/unit/cm/a/bounty.grp b/mpq/unit/cm/a/bounty.grp index ad11881..8fe0d31 100644 Binary files a/mpq/unit/cm/a/bounty.grp and b/mpq/unit/cm/a/bounty.grp differ diff --git a/mpq/unit/cm/a/domain-damage.lof b/mpq/unit/cm/a/domain-damage.lof index 0701377..76822f3 100644 Binary files a/mpq/unit/cm/a/domain-damage.lof and b/mpq/unit/cm/a/domain-damage.lof differ diff --git a/mpq/unit/cm/a/domain-shadow.grp b/mpq/unit/cm/a/domain-shadow.grp index 8231714..55efbe3 100644 Binary files a/mpq/unit/cm/a/domain-shadow.grp and b/mpq/unit/cm/a/domain-shadow.grp differ diff --git a/mpq/unit/cm/a/domain.grp b/mpq/unit/cm/a/domain.grp index bc34ae5..cb6dc2b 100644 Binary files a/mpq/unit/cm/a/domain.grp and b/mpq/unit/cm/a/domain.grp differ diff --git a/mpq/unit/cm/a/dorminge-damage.lof b/mpq/unit/cm/a/dorminge-damage.lof index 4354d54..0973ed2 100644 Binary files a/mpq/unit/cm/a/dorminge-damage.lof and b/mpq/unit/cm/a/dorminge-damage.lof differ diff --git a/mpq/unit/cm/a/dorminge-shadow.grp b/mpq/unit/cm/a/dorminge-shadow.grp index 387cb28..ca080f4 100644 Binary files a/mpq/unit/cm/a/dorminge-shadow.grp and b/mpq/unit/cm/a/dorminge-shadow.grp differ diff --git a/mpq/unit/cm/a/dorminge.grp b/mpq/unit/cm/a/dorminge.grp index d969ebd..5289b8c 100644 Binary files a/mpq/unit/cm/a/dorminge.grp and b/mpq/unit/cm/a/dorminge.grp differ diff --git a/mpq/unit/cm/a/insurant-shadow.grp b/mpq/unit/cm/a/insurant-shadow.grp index 195495d..297aff8 100644 Binary files a/mpq/unit/cm/a/insurant-shadow.grp and b/mpq/unit/cm/a/insurant-shadow.grp differ diff --git a/mpq/unit/cm/a/insurant.grp b/mpq/unit/cm/a/insurant.grp index 4f6adfb..88db944 100644 Binary files a/mpq/unit/cm/a/insurant.grp and b/mpq/unit/cm/a/insurant.grp differ diff --git a/mpq/unit/cm/a/missionary-shadow.grp b/mpq/unit/cm/a/missionary-shadow.grp index daf16fd..fdcc413 100644 Binary files a/mpq/unit/cm/a/missionary-shadow.grp and b/mpq/unit/cm/a/missionary-shadow.grp differ diff --git a/mpq/unit/cm/a/missionary.grp b/mpq/unit/cm/a/missionary.grp index 4e09342..73543f7 100644 Binary files a/mpq/unit/cm/a/missionary.grp and b/mpq/unit/cm/a/missionary.grp differ diff --git a/mpq/unit/cm/a/proselyte-shadow.grp b/mpq/unit/cm/a/proselyte-shadow.grp index 8291cc0..24acf44 100644 Binary files a/mpq/unit/cm/a/proselyte-shadow.grp and b/mpq/unit/cm/a/proselyte-shadow.grp differ diff --git a/mpq/unit/cm/a/proselyte.grp b/mpq/unit/cm/a/proselyte.grp index 1ac0480..e072c21 100644 Binary files a/mpq/unit/cm/a/proselyte.grp and b/mpq/unit/cm/a/proselyte.grp differ diff --git a/mpq/unit/cm/a/vicar-shadow.grp b/mpq/unit/cm/a/vicar-shadow.grp index 19d6bb3..ad0a466 100644 Binary files a/mpq/unit/cm/a/vicar-shadow.grp and b/mpq/unit/cm/a/vicar-shadow.grp differ diff --git a/mpq/unit/cm/a/vicar.grp b/mpq/unit/cm/a/vicar.grp index 6f83fdb..77ed125 100644 Binary files a/mpq/unit/cm/a/vicar.grp and b/mpq/unit/cm/a/vicar.grp differ diff --git a/mpq/unit/wirefram/grpwire.grp b/mpq/unit/wirefram/grpwire.grp index 8977fba..8d06d90 100644 Binary files a/mpq/unit/wirefram/grpwire.grp and b/mpq/unit/wirefram/grpwire.grp differ diff --git a/mpq/unit/wirefram/wirefram.grp b/mpq/unit/wirefram/wirefram.grp index 58a28d9..8283f6b 100644 Binary files a/mpq/unit/wirefram/wirefram.grp and b/mpq/unit/wirefram/wirefram.grp differ diff --git a/patchnotes.md b/patchnotes.md index 88342e8..8ac6fc2 100644 --- a/patchnotes.md +++ b/patchnotes.md @@ -1,5 +1,5 @@ -# 11 July 2026 -## Year 4, month 7, patch 2 +# 18 July 2026 +## Year 4, month 7, patch 3 ## Patch goals - Continue technical improvements for the Throneroom stage! @@ -8,26 +8,29 @@ # Core changes +## Misc +- Window name is now set to `Cosmonarchy` (c. Jesse) +- Window icon now uses Cosmonarchy's logo (c. Jesse) + +## Main menu +- An options menu has been added to the main menu, courtesy of Jesse! + - This menu currently allows modifying many config options. + - *More options, including default game options, will be added eventually!* + ## Bugfixes - **Stability:** - - Resolved all remaining floating point use cases, eliminating known causes of several desyncs (c. Veeq7, Pr0nogo, Jesse; b. Jesse, TheBeaver99, Neblime, BtyB, 3crow, Lucifirius, Doglived, IAMtheWHEATofGOD) - - *Not all desyncs have been eliminated, but you should see a significant reduction, especially in games not featuring Askosi!* - - *Many working systems may have been made buggy by this huge change. We need testing for that! Please help report crashes or buggy behavior.* - - *Huge shout-out to Veeq7 for being the primary workhorse of this change, and special thanks to Jesse who helped get the ball rolling. The donors are also greatly appreciated!* - - Prospectively fixed rare AI crash related to retreating some units (r. iliektoeatgrass, c. DarkenedFantasies) - - **Known issue:** Lakizilisk return spines behave improperly. + - Fixed an occasional issue with "go to max range" attacks, further resolving UB + - Properly fixed a rare CPU fleeing issue that caused crashes (r. iliektoeatgrass, c. DarkenedFantasies) - **Gameplay:** - - Terran and Askosi workers can no longer increment construction attempts remotely (r. HonMonO & Kenoli) - - **Magister** Stellar Enforcement timer now refreshes on attack (r. Kenoli) - - **Cikralisk**s can now attack from garrisons (r. Kenoli) - - Askosi workers can no longer work on Terran structures (r. Kenoli) - - Askosi workers no longer ignore right-click commands on completed structures (r. Kenoli) + - **Bulwark**s can no longer proc Astral Splendor while being salvaged +- **Audiovisuals:** + - Fixed error printouts when salvaging on **Nexus**, **Pylon**, and **Bulwark** with the **Dyad** (r. Slav) ## Audiovisuals -- Launch screen splash art has been updated -- Adjusted sprite for: - - Cipher, Function, Gauntlet, Cosmoscope -- New almost-built frame for: - - Arch, Cipher, Function, Gauntlet, Cosmoscope, Lotiro -- New sound effect for: - - Domain passive proc \ No newline at end of file +- Updated sprites for: + - Proselyte, Missionary, Vicar, Insurant +- Adjusted death sequence for Phontis +- Added almost-built frame for: + - Bounty, Dorminge, Proscenium, Domain +- Updated construction frames for: + - Bounty, Dorminge \ No newline at end of file diff --git a/plugins/gptp.qdp b/plugins/gptp.qdp index 3d106b6..6264360 100644 Binary files a/plugins/gptp.qdp and b/plugins/gptp.qdp differ