Quick debrief just going over the main things.
Dark Savant has very little left. Looks like he's pulling back to Porto-Novo to make his final stand in that city/area, because his northern empire is now lost.
Expected DS to leave Antananarivo empty (or 1 defender) this turn so I made sure to have a galley in range to drop infantry into it. That also won back the plains tile in its BFC which was quickly re-roaded to provide extra movement for my units.
Forgot to take a picture but DS pulled all his knights into Porto-Novo to heal along with his remaining catapults. This leaves Dar es Salaam almost empty and without reinforcements next turn (other than his 2-pop whip). Instead of sending all my knights north I'm taking the opportunity to march on and capture the city. Other than the longbow it only has an injured knight and a catapult right now.
Porto-Novo culture will cover the road between west and east, but I'll be able to send units back and forth using the lake and two forts. Catfish has reached 100 culture, which means that I will own the hill tile next turn after taking his nearby cities. At that point I can quickly ferry units across the channel to defend Dar es Salaam and also quickly attack DS' remaining southern cities. This is all working out very well.
Lagos has just 2 catapults in garrison so even if he's whipped something in the fog to reinforce it I have enough units to capture it next turn.
I've also started preparing some drop-offs with galleys to the north to not have to wade through his cultural defense. We've most likely reached the point where he's broken and I will capture cities every turn. The musket+urukku hill "bait" worked out perfectly, this is much better than him still having 80+ cats and 30+knights with other stuff just hiding in cities. My losses were mostly outdated and cheap units).
Forgot to address the war weariness, but it's almost non-existant. I think 4 unhappy in my size 19 city, but nothing of the sort in the 10-14 size ones.