Have Fun!
RobP
Have Fun!
RobP
I have to say that I’m very pleased with Microsoft’s swift conclusion to this issue.
They have determined that Sojour is not a virus and will be removing it from their definitions.
Here is a screenshot of the feedback:

I guess that once your Window’s Defender apps get the latest definitions, Sojour will be back to being treated as a normal application 🙂
Have Fun
RobP
I have just had a report that Sojour’s installers, including its earlier versions are now being flagged as a virus by Windows Defender. Anyone having installed the earlier versions will know there is nothing untoward.
However, I have now managed to replicate this myself:

This is as a result of a false positive from, I suspect, the obfuscator that I’m using to obfuscate the code.
Sojour is safe, it’s just standard .net code – in fact, Sojour doesn’t even have any DRM, so I’m unsure why its suddenly getting flagged.
I have submitted Sojour’s latest installer to Microsoft for evaluation to get them to white list it again:

Alas, it is now a waiting game for Microsoft to perform their analysis.
I’ll let you good folk know when this is done.
Regards
RobP
This version contains a number of fixes and enhancements.
The biggest enhancement has been the provision of custom token sizes on a per map basis (as opposed to relying on Sojour’s in built auto-sizing mechanism).
To achieve this the Map Scale Assistant has had considerable under-the-hood changes made to it. These changes should make it easier to use. Any alterations are now seen in real-time on the map, the cancel button will now undo all alterations, and each registration pane will now automatically update its defaults with information from the current map.
In addition, all the drag and drop code for map tokens has been significantly reworked to make the dragged tokens better represent their originating tokens. For example orientation and custom scaling are now taken into account!
Here is the full list of fixes and enhancements:
RPG-300 Occasional crash when using the drawing tools.
RPG-301 Give users the ability to pick a default token size for a map.
RPG-302 The tilt registration button (and others) need to be disabled during registration.
RPG-303 Maps were initialising an unnecessary vertex buffer – this should increase the max map size that can be imported! (This was a hold-over from Ancient Armies)
RPG-304 Resized tokens drag image is not the same size.
RPG-305 Alt GR and other modifier keys are being mis-read by Sojour due to Windows mis-reporting them. I got this fixed by replacing the Windows code with Direct-X. This should help non-English customers to be able to access their Nation’s custom characters without triggering many of Sojour’s auto-formatting features.
RPG-306 Rotated drag cursors don’t match token orientation
Another minor enhancement has been to the iconography for some of the mapping toolbar buttons – can you spot the differences? 🙂

Hopefully, you’ll agree that the new buttons look better!
Alas, I have had to make a slight change to one of the map’s mouse wheel commands. Something I don’t like to do as users get to learn the shortcuts and automatically apply them. Changes such as this can trip them up.
In the past you used <ctrl> mouse-wheel over a token to resize it, and the mouse-wheel over a token to change its heading. These two have now been swapped around. So, mouse-wheel to resize and <ctrl> mouse-wheel to rotate.
This change was necessary to make the token size adjustments in the Map Scale Assistant flow more smoothly and I’d rather that the assistant and the map used the same shortcuts, hence the change.
I won’t go through the changes of the Map Scale Assistant as they are extensive. Instead, I have provided a video that has been uploaded to You-Tube that covers off the new functionality :
I hope you all like the enhancements and fixes
Have Fun!
RobP
Sojour, by default, automatically sizes tokens based on the map’s scaling. For smaller maps the chosen scale is generally a 1 metre radius for the token – or its imperial equivalent for imperial maps.
As your maps get larger, Sojour automatically increases the size of the tokens to ensure that they are always easily visible.
If Sojour didn’t do this, your tokens would be almost invisible on a larger map. For example, imagine a 1 metre token on a map measuring 100km by 100km – you’d never see the token, unless you zoom right in!
Whilst the token auto-sizing works for the most part, there will be occasions when users will want very specific token sizes. A typical use-case would be where an imported map had hex sizes that don’t quite gel with Sojour’s auto-sized tokens.
Sojour has always had the ability to allow users to manually change individual token sizes after they are dragged to the map, but this can be a hassle. To that end I have added a feature where you can optionally choose to register a specific token size with a map!
This new feature has been added to a greatly enhanced map registration assistant.
The assistant now features an additional 4th page right at the end called ‘Set default token size’:

This forth page is set to use Sojour’s default token auto-sizing as the majority of users will want to use this feature.
However, you are now offered the choice of registering your own token sizes by switching off ‘Auto Size Tokens’:

Clicking the ‘Register custom token size directly on the map!’ button results in this:

Existing tokens are hidden and a ‘Scale Me!’ token is added to the map. This token can be resized with the mouse wheel and it can also be moved around if you need to accurately place it before scaling it.
Once you are happy with the size of your token, just click the red ‘Click here to accept token size from map!’ button on the assistant. This will hide the test token and re-show the existing tokens at their new size. It will also update the assistant page with the new token size:

In this example I have made the default token size considerably larger. If you are not happy with the size, simply take another measurement or re-tick the ‘Auto Size Token’ checkbox to re-enable automatic token sizing.
Custom token sizes are bound to a specific map, so each map can have its own sizes.
Newly dragged tokens will automatically adopt your chosen custom size.
Relative sizes work too. If you have a token that’s set to twice the relative size, it will be twice your custom size when dragged to the map!
There have been many more under-the-hood changes to the ‘Map Scale Assistant’ including the ability to default all assistant pages to the current map’s existing registration settings (if registered) plus all changes in the assistant are now immediately shown on the map for instant feedback. Clicking ‘cancel’ will revert things back to the way they were before you opened the assistant.
There’s still a few more things to do, like tidying up the UI and doing a lot of testing to make sure custom token scaling works in all scenarios – but we are nearly there! I’m guessing this new feature (plus other fixes) will be out in the next week or two.
In the mean time, have fun!
RobP
This version of Sojour starts to take advantage of Sojour’s 3d mapping engine.
With it you can choose to toggle the tilt of any map by the number of degrees set in Sojour’s Map Settings:

Tilt can be toggled on and off using this button:

Here is Runequest’s Sartar map with tilt turned on:

With the tilt on, you can zoom in and travel over the map, which almost feels like you are flying across the map. In addition, all tokens and map markers are projected into that 3d space:

Tilt can be toggled independently for each map and Sojour will remember if that map was tilted. eg If you reload a tilted map it will appear tilted.
Sojour’s tilt system has one more cunning trick up its sleeve and that’s the ability to register precise custom tilts. These enable you to define per-map custom tilts that are remembered by Sojour.
Maps with custom tilts are not affected by the global tilt settings. Once a custom tilt has been allocated to a map, it stays with that map until cleared. These maps can have their tilts toggled on and off just like other maps, the only difference is that it will be to their custom angle rather than the global one.
So why would one use custom tilts?
One of the main reasons to use custom tilts is for 2d isometric maps. Consider this one from Mongoose Traveller:

These kind of maps can be quite hard to role play on. Luckily Sojour provides a solution! All you need do is register a custom tilt for this map! To do this click this button:

Clicking it results in this 3d alignment cursor appearing:

Blue is ‘Up’ and the red and the green lines have to be aligned with your map’s grid using either <Shift> Mouse wheel or <Ctrl> Mouse wheel. The 3d alignment cursor looks like this when properly aligned:

Once the cursor is aligned like this, simply left click the mouse button. Sojour will then calculate the exact tilt required to work with the isometric drawing of this map. It will then tilt the map accordingly:

When one zooms in and moves around the map, the tilt of the 2d isometric map creates an uncanny 3d effect – almost like it is a real 3d map!

It doesn’t show up very well in this still image, so I recommend you watch the You-Tube video at the end of this post!
Custom tilted maps can have their tilts toggled on and off like other maps. But unlike other maps, their tilt angle will always be the one that’s registered for them and not the global one.
Custom tilts can be removed either by re-registering another tilt or by using the ‘Clear Map Tilt’ button below:

This button will be disabled for maps that don’t have custom tilts allocated to them.
To fully appreciate tilted maps, you need to see them moving. To that end, I highly recommend watching this video below:
That’s it for this update!
Have Fun!
RobP
This is a minor enhancement request by a customer as promised in the last blog post 🙂
Up till now, if the date or time changed in the campaign calendar, Sojour would inject this kind of text into the active journal:

The above output is still an option.
However, you can now pop into Sojour’s Settings where you will be presented with a new setting:

The default option is ‘None’ and this results in the journal output shown above.
However, you can choose to have Sojour also add the current Short Date or Long Date as you have defined it in your campaign calendar!
For our example we are using the Gloranthan Calendar and its Short and Long date are defined as follows:

Here is the journal output when time is pushed forward by 5 hours with the ‘Short Date’ option enabled:

And here it is when time is pushed forward 4 hours with the ‘Long Date’ option enabled:

That’s it for this mini update! I hope you like it!
As I have said in my videos, Sojour is a collaborative project. The moment you buy it, you join the team and can request new features. If I think it’s a good idea it will go in! So don’t be shy!
Don’t worry the 3d map tilt technology is coming soon 🙂
Have Fun!
RobP
The bad news first…
This week I decided to stop work on dark mode for Sojour. It was a really big decision to make, but I feel it is the right one.
So why have I abandoned dark mode?
There are numerous reasons. But the core issue is that the Microsoft technologies I’m using do not support adding a dark mode, or changing windows colours to anything other than grey.
It’s been a frustrating experience because the controls I’m using have property’s like BackgroundColor, but in true Microsoft fashion, they don’t work.
The result has been a project that has been eating up a disproportionate amount of my time, which has resulted in few updates getting to you folks other than bug fix releases.
Just getting simple things like the tabbed controls to change colour cost a week and even then they still had issues.
Even worse, I was having to put in some real hacks to get around some of the issues. These technical hacks were destroying Sojour’s fine internal architecture.
But even with the hacks in place, I still ran into issues, some of which can’t be fixed. For example take scroll bars:

If you like your scrollbars in grey – great, but changing them to any other colour is pretty much impossible without re-writing most of Microsoft’s controls from scratch (many of them have their own built in scroll bars).
Then I discovered that disabled text has a fixed colour too:

Here the ‘Set Heading’ text is really hard to read because of its colouration. This is due to the button being disabled. The colour you are seeing is not the colour I set it to. If I re-enable the button, the text appears in the colours that I actually programmed:

Alas, I have no control over the disabled control colours.
At this point I realised that if I were to proceed, I would literally have to replace every single Microsoft control with one of my own. This would take years. Plus the results would be sub-optimal and fill Sojour’s architecture with more hacks than I would feel comfortable with.
Abandoning dark mode was not an easy decision to make as I had already invested a significant amount of time and effort into it and I know that many of my customers were looking forward to having it implemented.
Does this mean dark mode is off table and will never get implemented?
No, is the short answer.
I have been spending time learning the very latest Microsoft UI technology called WinUI3. WinUI3 supports dark mode natively. Yes, this is a re-write, but it will be a re-write that will take less time than trying to cajole WinForms into dark mode and the results will be far superior.
As a result, my intent is to upgrade Sojour to WinUI3 at some point in the future. When that happens, it will get Dark Mode more or less for free. This update will be free for all existing customers.
Onto the good news…
I spent today experimenting with a new feature for the maps. As I mentioned in a previous post, Sojour’s maps use my own custom graphics engine called Ionian, and that graphics engine is in fact a 3d engine…
As a result I have been experimenting with a feature where one can align Sojour’s maps into the same plane that they were drawn in. This feature helps 2d isometric maps come alive!
Here are some early screenshots:


What these static images don’t convey is the odd effect the map tilt has on the 2d drawn isometric map when panned and zoomed. It makes the drawn 2d features pop and seem much more 3d!
All I did was press a new button to register this 2d starship plan’s drawn plane so that Sojour could then tilt the map to exactly match that plane (one of the advantages of using a 3d engine!). The effect is a much more 3d look and feel for these kind of maps!
I have also spent some significant time on the Calendars system. One of my tasks was to work out how to enable them to model rolling calendars. That was a real tricky problem to figure out, but I think I now have a technical solution that should address this issue.
Also, expect table updates too. There are two new table types I will be adding….
Rather than release everything in one big bang, I will be sending the changes up as and when they are done so that I can get immediate feedback.
I will also be releasing a myriad of other minor improvements that customers have requested. In fact I’m expecting a new release drop some time next week.
Apologies for dropping dark mode, I really did not want to do it. But I don’t think you folks would have been happy with the lack of updates and you would certainly not have been happy with the suboptimal end results. Plus, in my case, I would have been saddled with a system that would no longer be easy to work on due to the number of hacks that would be present.
I hope you folks can understand the reason for the decision.
In the meantime happy gaming!
RobP
It’s been a little while since the last post. Although I haven’t had too much free time, I have managed to sink in around 16 hours and 30 mins into implementing a dark mode for Sojour. Dark mode will be part of the v1.2 release which includes 9 other planned enhancements!

Although I’m making progress, it is taking a huge amount of time and effort because the underlying technology I’m using doesn’t really support it. The results are also not up to my usual high standards, but alas, this is the best that can be done with WinForms – the tech Sojour currently uses.
There is still a long way to go, but I’ll post some in-progress images to show where we are.
The first two images are Sojour in ‘Light’ mode:


Nothing too surprising there – other than some minor controls changes .
Sojour’s settings now have a dark mode option:

Clicking this tick box and hitting the Ok button results in Sojour looking like this:

This first screenshot doesn’t look too bad, but one of the things that needs doing is updating the assets browser iconography to better match the darker mode.
Just to get to this point took a lot of effort and low level coding as many of the windows controls – like the tabbed controls, ignore colour settings!
This is what the journal panel looks like:

The big issue here are that the journal’s text colour will need to be auto updated to make it easier to read in dark mode. It then needs to be able to revert back to its original colouration when back in light mode. This is the job I’m currently working on.
In addition, the scroll bar on the right of the journal is not respecting darkmode at all! This is another issue with the WinForms framework I’m using – one cannot set the scroll bar colours. I am looking at a solution for this, but like the tabs, its going to involve some really tricky low level coding.
Once that’s done, I will need to update all of Sojour’s windows to support dark mode. Right now they have all had their code updated to support mode switching. However, I will need to go through each window and manually add various settings to make the colours change as required.
In conjunction with the above coding, I have also been learning two sets of new cutting edge technologies. One of these is Winui3. The intent is that once Sojour v1.2 has been released, Sojour will go for a full rewrite using Winui3 and a new graphics engine.
The reason for the change is that I want windows theme modes to be properly supported, plus I want to update the look and feel of Sojour to be more modern.
A rewrite will also provide numerous other benefits too.
Firstly the Winui3 framework has a route to producing cross platform versions of Sojour for both OSX on the Mac and Linux too. I have had many potential customers ask if Sojour could be made available on these platforms!
Secondly, the update will allow me to produce a 64 bit version of Sojour which will have many benefits with regard to maximum map sizes and performance – not that the current Sojour is a slouch – just view the videos!
Winui3 also has the advantage that it is DPI aware. This will allow Sojour to look great over a much wider range of desktop resolutions and DPI settings.
The final advantage is one of risk reduction. Sojour uses some pretty old technology because the project came about accidently from Ancient Armies, another project I’m working on.
Using old technology always runs the risk of it being made incompatible by latest operating system changes. Whilst unlikely, as the technology Sojour uses is still widely used, I’d still feel happier seeing Sojour using the latest and greatest technology that’s available!
As with all Sojour updates, the v1.2 release and the rewrite will be free for all existing customers!
Thank you all for buying Sojour! 🙂
Happy Gaming!
RobP
This release contains no changes or fixes for Sojour itself. The only alterations are to the installer. It addresses issue RPG-276.
Prior to this version, a very small number of customers (4!) were experiencing this error after installing Sojour:

It’s caused by Direct-X failing to install properly and failing silently whilst the Sojour installer is running.
Thanks to great customer feedback, the problem has been traced to the customer’s computers not having .net 3.5 installed.
The installer now checks to see if this .net framework is installed. If it isn’t, this message will be displayed:

It’s then up to the customer to go to the indicated link and download .net 3.5 before installing Sojour (this has been added as a pre-req on the store page).
Sojour’s installer will then abandon the installation until .net 3.5 is installed.
The link for .net 3.5 installer for those that need it is: https://www.microsoft.com/en-GB/download/details.aspx?id=21 .
Clicking it will take you to this page:

Just click the indicated button to download the .net 3.5 framework installer.
Once downloaded you should see this file in your downloads folder:

Just double click it to run Microsoft’s installer. Once it is running select this option:

Once installation has completed, you will then be able to run Sojour’s installer without any error messages:

I have tested this fix in a Virtual Machine hosting Windows 10 Home edition and it does all seem to work.
Obviously, I’ll continue to answer any other technical queries should you run into them during installation. But with version 1.1.15.0, I’m not expecting to see any 🙂
Have fun!
RobP