Split cargos and cargo subtypes in the refit window

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

Post Reply
Terkhen
OpenTTD Developer
OpenTTD Developer
Posts: 1034
Joined: 11 Sep 2008 07:32
Location: Spain

Split cargos and cargo subtypes in the refit window

Post by Terkhen »

This patch tries to make finding the wanted cargo subtype in the refit window easier by showing subtypes in a separate list. Since this change could affect some NewGRF sets in unforeseen ways, it could use some testing with different NewGRF configurations. Any feedback will be welcome! :D

Below this text are some screenshots, you can find the diff file and a win32 build in the next post.
Attachments
split_refit_1.png
split_refit_1.png (78.02 KiB) Viewed 11591 times
split_refit_2.png
split_refit_2.png (69.77 KiB) Viewed 11591 times
split_refit_3.png
split_refit_3.png (64.1 KiB) Viewed 11591 times
Last edited by Terkhen on 23 Apr 2010 18:58, edited 1 time in total.
Terkhen
OpenTTD Developer
OpenTTD Developer
Posts: 1034
Joined: 11 Sep 2008 07:32
Location: Spain

Re: Split cargos and cargo subtypes in the refit window

Post by Terkhen »

Diff file and win32 build:
Attachments
split_refit_r19699.diff
(17.75 KiB) Downloaded 235 times
split_refit_win32_r19700.rar
(3.09 MiB) Downloaded 250 times
maquinista
Tycoon
Tycoon
Posts: 1828
Joined: 10 Jul 2006 00:43
Location: Spain

Re: Split cargos and cargo subtypes in the refit window

Post by maquinista »

Awesome patch.

I have a question: It's possible to enable cargo subtypes for locomotives without cargo? It would be awesome to let the user to chose between various liveries of the locomotive.
Sorry if my english is too poor, I want learn it, but it isn't too easy.[/list][/size]
2007Alain2007
Chief Executive
Chief Executive
Posts: 658
Joined: 11 Nov 2007 12:06
Contact:

Re: Split cargos and cargo subtypes in the refit window

Post by 2007Alain2007 »

Dose this refit the hole train or parts of it?
For Community Integrated Version http://code.google.com/p/civopenttd/
Terkhen
OpenTTD Developer
OpenTTD Developer
Posts: 1034
Joined: 11 Sep 2008 07:32
Location: Spain

Re: Split cargos and cargo subtypes in the refit window

Post by Terkhen »

maquinista wrote:It's possible to enable cargo subtypes for locomotives without cargo? It would be awesome to let the user to chose between various liveries of the locomotive.
To my knowlegde, you need a dummy special cargo to do that (like NARS regearing).
2007Alain2007 wrote:Dose this refit the hole train or parts of it?
That behaviour is not changed by this patch (it will work exactly as it does in 1.0.0 / trunk).
2007Alain2007
Chief Executive
Chief Executive
Posts: 658
Joined: 11 Nov 2007 12:06
Contact:

Re: Split cargos and cargo subtypes in the refit window

Post by 2007Alain2007 »

Thank you Terkhen for getting back to me
For Community Integrated Version http://code.google.com/p/civopenttd/
User avatar
ColdIce
Transport Coordinator
Transport Coordinator
Posts: 306
Joined: 25 Apr 2006 10:22
Location: Bucharest

Re: Split cargos and cargo subtypes in the refit window

Post by ColdIce »

Works with:

Aviators aircraft (version tested 1.7)
World Airliners
Long Vehicles V4
Japanese Train Set 2.1a (Shinkansen - 0 Series, 100, 700, 200 and some DMU from normal railtype)
Planeset 1.5.3 (A380 L, Antonov An-124 Ruslan L, Boeing 747 L, Boeing 747 L EUD, Boeing 777 L Passangers only, Douglas DC-6 S Passangers only, Boeing Commercial Chinook H Goods only)



Grf sets with no refitting subtypes:

2cc trainset 1.0.1
2cc chimaera
Hankyu rail set
Japanese Maglev Set 0.1
Spain Set Taster 1.28
UK Renewal Train Set v3.04 and add-ons0.4
Dutch Trainset Alpha 1.1
HEQS r318
Newships
A New Monorail Set 0.3


i didnt find any problems. tested one set at the time. i will try other sets later.
Last edited by ColdIce on 24 Apr 2010 09:37, edited 9 times in total.
The rest is confetti!
Terkhen
OpenTTD Developer
OpenTTD Developer
Posts: 1034
Joined: 11 Sep 2008 07:32
Location: Spain

Re: Split cargos and cargo subtypes in the refit window

Post by Terkhen »

What do you mean with "No support"? No support for refitting inside the set, or no support from this patch?
User avatar
ColdIce
Transport Coordinator
Transport Coordinator
Posts: 306
Joined: 25 Apr 2006 10:22
Location: Bucharest

Re: Split cargos and cargo subtypes in the refit window

Post by ColdIce »

I mean that the window doesnt split. No support from this pacth.
Attachments
refit.png
refit.png (23.08 KiB) Viewed 11449 times
The rest is confetti!
Terkhen
OpenTTD Developer
OpenTTD Developer
Posts: 1034
Joined: 11 Sep 2008 07:32
Location: Spain

Re: Split cargos and cargo subtypes in the refit window

Post by Terkhen »

Those cargos have no refitting subtypes: the window does not need to split for them.
maquinista
Tycoon
Tycoon
Posts: 1828
Joined: 10 Jul 2006 00:43
Location: Spain

Re: Split cargos and cargo subtypes in the refit window

Post by maquinista »

This patch is awesome, It removes the clutter in the refit window when you have passengers and tourists.
Attachments
Window without patch.
Window without patch.
Chundworth Transport, 5th Jan 1995.png (62.58 KiB) Viewed 11403 times
Window with patch.
Window with patch.
Chundworth Transport, 1st Feb 1995.png (57.23 KiB) Viewed 11403 times
Sorry if my english is too poor, I want learn it, but it isn't too easy.[/list][/size]
Kogut
Tycoon
Tycoon
Posts: 2493
Joined: 26 Aug 2009 06:33
Location: Poland

Re: Split cargos and cargo subtypes in the refit window

Post by Kogut »

Is it planned to include it into trunk?
Correct me If I am wrong - PM me if my English is bad
AIAI - AI for OpenTTD
Terkhen
OpenTTD Developer
OpenTTD Developer
Posts: 1034
Joined: 11 Sep 2008 07:32
Location: Spain

Re: Split cargos and cargo subtypes in the refit window

Post by Terkhen »

Not at its current state. There were some talks about this patch on the IRC channel and the conclusion was that a tree view would suit this feature better. I don't plan to code that view until I finish some university work, so don't expect news about this feature on my part in the next few months. As always: anyone should feel free to work on this.
User avatar
ChillCore
Tycoon
Tycoon
Posts: 2822
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Split cargos and cargo subtypes in the refit window

Post by ChillCore »

Hello Therken,

You may probably already have read about it but I will report anyway.
Unfortunately I have found a way to crash you patch.

If you have the refit window open the game crashes while removing the wagons from the locomotive.
I could reproduce it in your patch against r19699 as well as in my patchpack.
In clean trunk the refit window is cleared of options. In your patch not resulting in the crash.
If you want I can provide a crashlog but the bug is very easy to reproduce so I think it is not necessary. Do ask for one if you feel otherwise.

In my bumped version (see chill's patchpack v8) it is sometimes impossible to select refit options until the refit gui is resized.
This I could not reproduce in your clean patch against r19699. It is possible that I have forgotten something or did something wrong while bumping so you may want to ignore this.
I just mention it for completeness.

Also in my current patchpak (not posted yet) the patch needs some adjustment to current trunk which I have not yet done completely ... so I did not test yet against current trunk.

All of the above tested with NARS 2.03 from the ingame content download while refitting woodwagons.

Regards,
ChillCore.

ps: Good luck with your university work
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
Terkhen
OpenTTD Developer
OpenTTD Developer
Posts: 1034
Joined: 11 Sep 2008 07:32
Location: Spain

Re: Split cargos and cargo subtypes in the refit window

Post by Terkhen »

That crash is probably caused by a wrong list of cargos after altering the train. If this is the case, the issue can be solved by calling InvalidateWindowData(..., ..., 0) for this window at Train::ConsistChanged(). Thank you for the report, I'll take it into account when I redo this patch.
User avatar
ChillCore
Tycoon
Tycoon
Posts: 2822
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Split cargos and cargo subtypes in the refit window

Post by ChillCore »

Thank you, for the hint it is fixed now.
Here is what I changed at the end of Train::ConsistChanged(bool same_lenght) in train cmd.cpp.

Code: Select all

from
-----
	if (this->IsFrontEngine()) {
		this->UpdateAcceleration();
		SetWindowDirty(WC_VEHICLE_DETAILS, this->index);
-		InvalidateWindowData(WC_VEHICLE_REFIT, this->index);
-	}

into:
----
	if (this->IsFrontEngine()) {
		this->UpdateAcceleration();
		SetWindowDirty(WC_VEHICLE_DETAILS, this->index);
+	}
+	/* Always invalidate the refit gui data when consist changes. */
+	InvalidateWindowData(WC_VEHICLE_REFIT, this->index);

Should the vehicle details move too or can they stay where they are ?
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
User avatar
Vaulter
Traffic Manager
Traffic Manager
Posts: 185
Joined: 21 Dec 2004 05:35
Skype: andrey-zaharov
Location: St. Petersburg, Russia
Contact:

Re: Split cargos and cargo subtypes in the refit window

Post by Vaulter »

Here is fix for bug with scrolled down cargo matrix:
at

Code: Select all

RefitWindow::OnClick

Code: Select all

case VRW_SUBTYPE_MATRIX: { // Subtype listbox.
should be

Code: Select all

uint position = (y / (int)this->resize.step_height) + this->vscroll2.GetPosition();
not this->vscroll.GetPosition();
:idea:
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: Ahrefs [Bot] and 18 guests