Skip to content

Commit dd354fe

Browse files
Add v24.11 release dev log (#25)
* Add initial blog post * Address comments * Apply suggestions * Add image * Update time
1 parent f55a58b commit dd354fe

File tree

2 files changed

+89
-0
lines changed

2 files changed

+89
-0
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
title: "OpenLoco version 24.11"
3+
tagline: "Release blog post"
4+
author: "Duncan Frost"
5+
date: 2024-11-28 20:20:00 +0000
6+
layout: single
7+
classes: wide
8+
categories: news
9+
10+
gallery:
11+
- url: /assets/img/24.11.NewTrains.png
12+
image_path: /assets/thumbs/24.11.NewTrains.png
13+
alt: "Seven new trains"
14+
title: "OpenGraphics initial release"
15+
16+
---
17+
18+
OpenLoco v24.11 is out! In this release we've added our initial OpenGraphics objects,
19+
finished all of the 'paint' code, and fixed a bunch of bugs.
20+
21+
For a complete summary of changes, please find the
22+
[OpenLoco changelog](https://github.com/OpenLoco/OpenLoco/releases/tag/v24.11) on GitHub.
23+
24+
## Assorted bug fixes (#2623, #2676, #2678, #2690, #2691, #2708, #2717, #2721, #2723, #2726, #2729, #2731, #2732, #2735, #2752, #2770)
25+
26+
It's been a real bumper month of bug fixes. Myself, @LeftOfZen, @AaronVanGeffen and new contributor
27+
@LeeSpork all fixed a bunch of crashes and bugs. Check the changelog for further details of all the
28+
fixes. Please do keep identifying bugs and crashes and reporting them on Discord or on Github. The
29+
main reason this month has had so many fixes is due to more reports rather than last months release
30+
being particularly bug prone. If there is a particular bug that you know about that hasn't been
31+
fixed, please raise the issue on Discord there might be a reason it can't be addressed or perhaps we
32+
have just forgotten about it.
33+
34+
## Add initial OpenGraphics objects (#2697)
35+
36+
@SteveEmfore has created 7 vehicle objects and @LeftOfZen created 14 cargo objects for the
37+
OpenGraphics project. The OpenGraphics project aims to create replacements for all vanilla
38+
objects. All of the objects will have slightly different names and look different but the stats of
39+
the vehicles will be identical to vanilla. It is planned that we will incrementally improve the
40+
objects. @DazWizzle has also created some road vehicles for the project but they were not ready for
41+
this initial release.
42+
43+
{% include gallery %}
44+
45+
Next month I plan to add basic asset pack support. The plan is that when the OpenLoco asset pack
46+
is enabled any newly created scenarios will automatically switch objects to use the OpenGraphics
47+
equivalent objects. Opening a save will not cause any object switching it will only work on
48+
starting new scenarios. For now the default asset pack will be vanilla so there will be no
49+
automatic object switching.
50+
51+
## Widget refactoring (#2674, #2675)
52+
53+
Continuing from last month @ZehMatt has been trying to improve the GUI widgets so that they work in
54+
a more logical way. There is still a good bit to do on this but it's slowly getting there. Once this
55+
work is complete we should be able to simplify how creating UI windows work making it easier to add
56+
new features.
57+
58+
## Misc audio refactoring (#2699, #2700)
59+
60+
New contributor @LeeSpork has been reworking the audio system this month. He has cleaned up and
61+
simplified the music playlist selection. Audio in general is one area where we have fully
62+
reimplemented all vanilla code so it is ripe for new features and general improvements. We look
63+
forward to seeing what @LeeSpork has in mind.
64+
65+
## Finish the paint functions (#2737, #2738, #2744, #2755, #2757)
66+
67+
@ZehMatt expressed an interest in improving how the 'paint' system worked. The one issue though
68+
was there was still one or two functions that hadn't been implemented preventing the improvements.
69+
After a quick review of what was outstanding I decided to bash out the final functions. The final
70+
functions were road stations, tram pylons, supports and bridges. Please be on the lookout for any
71+
display issues with those particular areas this release.
72+
73+
In the vanilla code the paint functions take up a huge percentage of the codebase: ~20%. It's a great
74+
milestone knowing that that is finally behind us. With this system finished expect a bunch of
75+
improvements in drawing over the coming months. For example we could: add multithreading support to greatly
76+
improve performance; or split the UI from the viewport to allow scaling the UI and viewport
77+
independently. Also with all this code implemented we know how everything is drawn in the game. If
78+
you are a mod creator we can tell you exactly in what situations an image is used. We could also
79+
add new drawing code for new mod features!
80+
81+
## Simulate and compare on CI (#2765)
82+
83+
To verify that we haven't accidentally changed the simulation of the game we like to run a couple
84+
of saves for a fixed amount of time. You can then compare the result against a reference. As the
85+
simulation is deterministic the two saves should always match. This has been very useful when
86+
implementing new game commands but as it's run locally by each developer it can often be forgotten.
87+
@ZehMatt decided to fix this by running this test on the CI server which builds the game. For now
88+
this can only be done after a change has been merged but at least we know straight away which pull
89+
request broke things.

assets/img/24.11.NewTrains.png

210 KB
Loading

0 commit comments

Comments
 (0)