Szurke NML Questions???

Discussions about the technical aspects of graphics development, including NewGRF tools and utilities.

Moderator: Graphics Moderators

User avatar
planetmaker
OpenTTD Developer
OpenTTD Developer
Posts: 9415
Joined: 07 Nov 2007 22:44
Location: Sol d

Re: Szurke NML Questions???

Post by planetmaker »

If you want to support anything else than 8bpp 1x sprites properly, then you need to update your NML to a 0.3.x version or a current development build. Mind that it also means that some other changes apply (see a rough overview here (0.2->0.3) and here (0.3->0.4, current development builds). I would actually recommend to go straight for the current development builds.

Szurke
Engineer
Engineer
Posts: 22
Joined: 28 Aug 2014 10:56

Re: Szurke NML Questions???

Post by Szurke »

Thank you! :bow: :bow:

I thought that, i have a newest version.

Now working!

Szurke
Engineer
Engineer
Posts: 22
Joined: 28 Aug 2014 10:56

Re: Szurke NML Questions???

Post by Szurke »

Hi guys!

I have a new problem: i wanna programing an industry with animation, but i don't find btw to.
Can sameone show me a code?

Transportman
Tycoon
Tycoon
Posts: 2743
Joined: 22 Feb 2011 18:34

Re: Szurke NML Questions???

Post by Transportman »

Is there a specific part you don't know? You need to use (nearby_tile_)animation_frame in a switch to get animated industries, but for the rest I don't know too much about industry programming.
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML

Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: Szurke NML Questions???

Post by Alberth »

I'd suggest having a look at YETI (which has nice technical documentation), and FIRS.
The NML documentation should be able to explain what variables you need to look for.
Being a retired OpenTTD developer does not mean I know what I am doing.

User avatar
Sylf
President
President
Posts: 958
Joined: 23 Nov 2010 21:25
Location: ::1

Re: Szurke NML Questions???

Post by Sylf »

Alberth wrote:YETI (which has nice technical documentation).
Here.
http://dev.openttdcoop.org/projects/yeti/wiki/Code

The sample code in that document may not match exactly to the version that's in the repository, but the basics of the animation is still the same.

User avatar
colossal404
Chief Executive
Chief Executive
Posts: 644
Joined: 07 Mar 2009 12:48
Location: Szeged, Hungary

Re: Szurke NML Questions???

Post by colossal404 »

I'm posting there to avoid getting a lot of new topic for a few questions, and because we are working together on the same projects with Szurke.
So, our question is (this time in a vehicle grf) that could we use two return values in one switch? Eg. if we want to combine two things, could we merge them in a switch?
Thanks for answers in advance!
Image

Eddi
Tycoon
Tycoon
Posts: 7479
Joined: 17 Jan 2007 00:14

Re: Szurke NML Questions???

Post by Eddi »

callbacks do a million different things. can you specify more what kind of things you want to combine?
You might not exactly be interested in Ferion, but if you are, have fun :)

User avatar
SaltMacaroni
Engineer
Engineer
Posts: 8
Joined: 20 Dec 2013 15:27
Skype: sosmakaroni
Location: Hungary, Budapest

Re: Szurke NML Questions???

Post by SaltMacaroni »

Hello!

This is my problem, but Colossal404 helping me, because my english is not good... :!:

I want combine two recolor_sprite. Two random switch result.

Thanks for helping me!
Image Drawer assistant & Coder

Donate: Hungarian GRF Maker Team
Image

User avatar
PikkaBird
Graphics Moderator
Graphics Moderator
Posts: 5472
Joined: 13 Sep 2004 13:21
Location: The Moon
Contact:

Re: Szurke NML Questions???

Post by PikkaBird »

So you want a random selection, each of which has a sprite and a recolour?

Certainly you can do that; If my reading of the documentation is correct, you need to point your colour_mapping callback to a random switch which is dependent on the random switch in your graphics chain.

User avatar
SaltMacaroni
Engineer
Engineer
Posts: 8
Joined: 20 Dec 2013 15:27
Skype: sosmakaroni
Location: Hungary, Budapest

Re: Szurke NML Questions???

Post by SaltMacaroni »

No.

I want to company color, and random color in one vehicle. So I made two "recolor_sprite" set.

Code: Select all

dark_blue1	 = reserve_sprites(1);	replace(	dark_blue1	)	{recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	}}
pale_green1	 = reserve_sprites(1);	replace(	pale_green1	)	{recolour_sprite{	0xC6..0xCD: 0x60..0x67;	}}
pink1	 = reserve_sprites(1);	replace(	pink1	)	{recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	}}
yellow1	 = reserve_sprites(1);	replace(	yellow1	)	{recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	}}
red1	 = reserve_sprites(1);	replace(	red1	)	{recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	}}
light_blue1	 = reserve_sprites(1);	replace(	light_blue1	)	{recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	}}
green1	 = reserve_sprites(1);	replace(	green1	)	{recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	}}
dark_green1	 = reserve_sprites(1);	replace(	dark_green1	)	{recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	}}
blue1	 = reserve_sprites(1);	replace(	blue1	)	{recolour_sprite{	0xC6..0xCD: 0x92..0x99;	}}
cream1	 = reserve_sprites(1);	replace(	cream1	)	{recolour_sprite{	0xC6..0xCD: 0x72..0x79;	}}
mauve1	 = reserve_sprites(1);	replace(	mauve1	)	{recolour_sprite{	0xC6..0xCD: 0x80..0x87;	}}
purple1	 = reserve_sprites(1);	replace(	purple1	)	{recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	}}
orange1	 = reserve_sprites(1);	replace(	orange1	)	{recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	}}
brown1	 = reserve_sprites(1);	replace(	brown1	)	{recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	}}
grey1	 = reserve_sprites(1);	replace(	grey1	)	{recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	}}
white1	 = reserve_sprites(1);	replace(	white1	)	{recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	}}

dark_blue2	 = reserve_sprites(1);	replace(	dark_blue2	)	{recolour_sprite{	0x50..0x57: 0xC6..0xCD;	}}
pale_green2	 = reserve_sprites(1);	replace(	pale_green2	)	{recolour_sprite{	0x50..0x57: 0x60..0x67;	}}
pink2	 = reserve_sprites(1);	replace(	pink2	)	{recolour_sprite{	0x50..0x57: 0x2A..0x31;	}}
yellow2	 = reserve_sprites(1);	replace(	yellow2	)	{recolour_sprite{	0x50..0x57: 0x3E..0x45;	}}
red2	 = reserve_sprites(1);	replace(	red2	)	{recolour_sprite{	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}}
light_blue2	 = reserve_sprites(1);	replace(	light_blue2	)	{recolour_sprite{	0x50..0x57: 0x9A..0xA1;	}}
green2	 = reserve_sprites(1);	replace(	green2	)	{recolour_sprite{	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}}
dark_green2	 = reserve_sprites(1);	replace(	dark_green2	)	{recolour_sprite{	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}}
blue2	 = reserve_sprites(1);	replace(	blue2	)	{recolour_sprite{	0x50..0x57: 0x92..0x99;	}}
cream2	 = reserve_sprites(1);	replace(	cream2	)	{recolour_sprite{	0x50..0x57: 0x72..0x79;	}}
mauve2	 = reserve_sprites(1);	replace(	mauve2	)	{recolour_sprite{	0x50..0x57: 0x80..0x87;	}}
purple2	 = reserve_sprites(1);	replace(	purple2	)	{recolour_sprite{	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}}
orange2	 = reserve_sprites(1);	replace(	orange2	)	{recolour_sprite{	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}}
brown2	 = reserve_sprites(1);	replace(	brown2	)	{recolour_sprite{	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}}
grey2	 = reserve_sprites(1);	replace(	grey2	)	{recolour_sprite{	0x50..0x57: 0x04..0x0B;	}}
white2	 = reserve_sprites(1);	replace(	white2	)	{recolour_sprite{	0x50..0x57: 0x08..0x0F;	}}

switch(FEAT_ROADVEHS, SELF, sw_rabas26_colour_cc, company_colour1){
	COLOUR_DARK_BLUE:	return dark_blue1;
	COLOUR_PALE_GREEN:	return pale_green1;
	COLOUR_PINK:		return pink1;
	COLOUR_YELLOW:		return yellow1;
	COLOUR_RED:			return red1;
	COLOUR_LIGHT_BLUE:	return light_blue1;
	COLOUR_GREEN:		return green1;
	COLOUR_DARK_GREEN:	return dark_green1;
	COLOUR_BLUE:		return blue1;
	COLOUR_CREAM:		return cream1;
	COLOUR_MAUVE:		return mauve1;
	COLOUR_PURPLE:		return purple1;
	COLOUR_ORANGE:		return orange1;
	COLOUR_BROWN:		return brown1;
	COLOUR_GREY:		return grey1;
	COLOUR_WHITE:		return white1;
}

random_switch(FEAT_ROADVEHS, SELF, rsw_rabas26_colour_random, bitmask(TRIGGER_VEHICLE_UNLOAD_ALL, TRIGGER_VEHICLE_ANY_LOAD, TRIGGER_ALL_NEEDED)){
	1: return	dark_blue2	;
	1: return	pale_green2	;
	1: return	pink2	;
	1: return	yellow2	;
	1: return	red2	;
	1: return	light_blue2	;
	1: return	green2	;
	1: return	dark_green2	;
	1: return	blue2	;
	1: return	cream2	;
	1: return	mauve2	;
	1: return	purple2	;
	1: return	orange2	;
	1: return	brown2	;
	1: return	grey2	;
	1: return	white2	;
}

switch(FEAT_ROADVEHS, SELF, sw_rabas26_colour_random2, cargo_type_in_veh){
	ENSP:  rsw_rabas26_colour_random + sw_rabas26_colour_cc
	CB_FAILED;
}
rsw_rabas26_colour_random + sw_rabas26_colour_cc; is my problem.
Image Drawer assistant & Coder

Donate: Hungarian GRF Maker Team
Image

frosch
OpenTTD Developer
OpenTTD Developer
Posts: 980
Joined: 20 Dec 2006 13:31
Location: Aschaffenburg

Re: Szurke NML Questions???

Post by frosch »

Recolouring always uses one recolour_sprite.
If you want to combine recolourings you have to provide a recolour_sprite for every combination.

However, you can make it a lot easier by using reserve_sprites(256) instead of reserve_sprites(1)

Code: Select all

myrecolours = reserve_sprites(256);
replace(myrecolours) {
  recolour_sprite{ ... }
  recolour_sprite{ ... }
  ...
  recolour_sprite{ ... }
}

switch(FEAT_ROADVEHS, SELF, sw_rabas26_colour_random2, cargo_type_in_veh){
   ENSP:  return myrecolours + company_colour1 + 16 * getbits(random_bits, 0, 4);
   CB_FAILED;
}
Note that random triggers (TRIGGER_VEHICLE_xxx) do not work within callbacks. You have to rerandomise in the graphics switch.
⢇⡸⢸⠢⡇⡇⢎⡁⢎⡱⢸⡱⢸⣭⠀⢸⢜⢸⢸⣀⢸⣀⢸⣭⢸⡱⠀⢰⠭⡆⣫⠰⣉⢸⢸⠀⢰⠭⡆⡯⡆⢹⠁⠀⢐⠰⡁

User avatar
SaltMacaroni
Engineer
Engineer
Posts: 8
Joined: 20 Dec 2013 15:27
Skype: sosmakaroni
Location: Hungary, Budapest

Re: Szurke NML Questions???

Post by SaltMacaroni »

I created your code version, but something is wrong.

Code: Select all

C:\Users\Bálint\Google Drive\NML\Trucks>nmlc -c --grf trucks.grf Trucks.nml
 [Knmlc ERROR: nmlc: An internal error has occurred:
nmlc-version: 0.4.1
Error:    (NameError) "global name 'expression' is not defined".
Command:  ['nmlc', '-c', '--grf', 'trucks.grf', 'Trucks.nml']
Location: File "nml\expression\functioncall.py", line 262, in builtin_getbits
Image Drawer assistant & Coder

Donate: Hungarian GRF Maker Team
Image

Transportman
Tycoon
Tycoon
Posts: 2743
Joined: 22 Feb 2011 18:34

Re: Szurke NML Questions???

Post by Transportman »

Which version of NML are you using? getbits only exists in NML 0.4.1 and newer.
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML

User avatar
SaltMacaroni
Engineer
Engineer
Posts: 8
Joined: 20 Dec 2013 15:27
Skype: sosmakaroni
Location: Hungary, Budapest

Re: Szurke NML Questions???

Post by SaltMacaroni »

I using 0.4.1 NML, but I update my NML to v5608:e60e3b517945 from 2015-05-10.

But it is still bad.

Code: Select all

C:\Users\Bálint\Google Drive\NML\Trucks>nmlc -c --grf trucks.grf Trucks.nml
 [Knmlc ERROR: nmlc: An internal error has occurred:
nmlc-version: v5608:e60e3b517945 from 2015-05-10
Error:    (NameError) "global name 'expression' is not defined".
Command:  ['nmlc', '-c', '--grf', 'trucks.grf', 'Trucks.nml']
Location: File "nml\expression\functioncall.py", line 262, in builtin_getbits
Image Drawer assistant & Coder

Donate: Hungarian GRF Maker Team
Image

Transportman
Tycoon
Tycoon
Posts: 2743
Joined: 22 Feb 2011 18:34

Re: Szurke NML Questions???

Post by Transportman »

Can you share the relevant part of your code? It does not sound like there is an error in your code, but just to be sure you use the correct syntax.
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML

User avatar
SaltMacaroni
Engineer
Engineer
Posts: 8
Joined: 20 Dec 2013 15:27
Skype: sosmakaroni
Location: Hungary, Budapest

Re: Szurke NML Questions???

Post by SaltMacaroni »

This is the vehicle full code, and all the recolour_sprite are in it, except cargotable and templates.

Code: Select all

//---------------------------Raba S26

spriteset(rabas26_purchase, "src/rabas26.png") {tmpl_purchase(0,0)}
spriteset(rabas26_depo, "src/rabas26.png") {tmpl_depo(0,0)}
spriteset(spriteset_rabas26_nyerges1, "src/rabas26.png") {tmpl_1(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}
spriteset(spriteset_rabas26_nyerges2, "src/rabas26.png") {tmpl_1(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}
spriteset(spriteset_rabas26_bilencs, "src/rabas26.png") {tmpl_1(5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}
spriteset(spriteset_rabas26_COAL1, "src/rabas26.png") {tmpl_1(1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}
spriteset(spriteset_rabas26_COAL2, "src/rabas26.png") {tmpl_1(2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}
spriteset(spriteset_rabas26_ENSP1, "src/rabas26.png") {tmpl_1(2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}
spriteset(spriteset_rabas26_ENSP2, "src/rabas26.png") {tmpl_1(3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}
spriteset(spriteset_rabas26_ENSP3, "src/rabas26.png") {tmpl_1(4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}


spritegroup spritegroup_rabas26_COAL {
    loaded:  [spriteset_rabas26_bilencs, spriteset_rabas26_COAL1, spriteset_rabas26_COAL2];
    loading: [spriteset_rabas26_bilencs, spriteset_rabas26_COAL1, spriteset_rabas26_COAL2];
}
switch (FEAT_ROADVEHS, SELF, sw_rabas26_COAL_spriteset, position_in_consist ) {
    1: spritegroup_rabas26_COAL;
    spriteset_rabas26_nyerges1;
}

myrecolours = reserve_sprites(256);
replace(myrecolours) {
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0xC6..0xCD;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0x60..0x67;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0x2A..0x31;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0x3E..0x45;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCA: 0xB3..0xB7; 0xCB..0xCD: 0xA4..0xA6;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0x9A..0xA1;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xC9: 0x52..0x55; 0xCA..0xCD: 0xCE..0xD1;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6: 0x60; 0xC7..0xCD: 0x59..0x5F;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0x92..0x99;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0x72..0x79;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0x80..0x87;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6: 0xAA; 0xC7..0xCD: 0x89..0x8F;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6: 0x40; 0xC7..0xCC: 0xC0..0xC5; 0xCD: 0x27;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xC7: 0x35..0x36; 0xC8..0xCD: 0x22..0x27;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0x04..0x0B;	0x50..0x57: 0x08..0x0F;	}
			
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0xC6..0xCD;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0x60..0x67;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0x2A..0x31;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0x3E..0x45;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x54: 0xB3..0xB7; 0x55..0x57: 0xA4..0xA6;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0x9A..0xA1;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x53: 0x52..0x55; 0x54..0x57: 0xCE..0xD1;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50: 0x60; 0x51..0x57: 0x59..0x5F;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0x92..0x99;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0x72..0x79;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0x80..0x87;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50: 0xAA; 0x51..0x57: 0x89..0x8F;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50: 0x40; 0x51..0x56: 0xC0..0xC5; 0x57: 0x27;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x51: 0x35..0x36; 0x52..0x57: 0x22..0x27;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0x04..0x0B;	}
recolour_sprite{	0xC6..0xCD: 0x08..0x0F;	0x50..0x57: 0x08..0x0F;	}
}

switch(FEAT_ROADVEHS, SELF, sw_rabas26_colour_random2, cargo_type_in_veh){
	ENSP:  return myrecolours + company_colour1 + 16 * getbits(random_bits, 0, 4);
	CB_FAILED;
}
switch (FEAT_ROADVEHS, SELF, sw_rabas26_colour_random, position_in_consist ) {
    1: sw_rabas26_colour_random2;
    CB_FAILED;
}

spritegroup spritegroup_rabas26_ENSP1 {
    loaded:  [spriteset_rabas26_ENSP1, spriteset_rabas26_ENSP2, spriteset_rabas26_ENSP2];
    loading: [spriteset_rabas26_ENSP1, spriteset_rabas26_ENSP2, spriteset_rabas26_ENSP2];
}
spritegroup spritegroup_rabas26_ENSP2 {
    loaded:  [spriteset_rabas26_ENSP1, spriteset_rabas26_ENSP3, spriteset_rabas26_ENSP3];
    loading: [spriteset_rabas26_ENSP1, spriteset_rabas26_ENSP3, spriteset_rabas26_ENSP3];
}
random_switch(FEAT_ROADVEHS, SELF, spritegroup_rabas26_ENSP_random, bitmask(TRIGGER_VEHICLE_UNLOAD_ALL, TRIGGER_VEHICLE_ANY_LOAD, TRIGGER_ALL_NEEDED)){
	independent: rsw_rabas26_colour_random;
	1: spritegroup_rabas26_ENSP1;
	1: spritegroup_rabas26_ENSP2;
}


switch (FEAT_ROADVEHS, SELF, sw_rabas26_ENSP_spriteset, position_in_consist ) {
    1: spritegroup_rabas26_ENSP_random;
    spriteset_rabas26_nyerges2;
}

switch (FEAT_ROADVEHS, SELF, sw_rabas26_articulated, extra_callback_info1) {
    1: item_rabas26;
    CB_RESULT_NO_MORE_ARTICULATED_PARTS;
}
switch (FEAT_ROADVEHS, SELF, sw_rabas26_length, position_in_consist) {
    1: 8;
    5;
}



item(FEAT_ROADVEHS, item_rabas26) {
	property {
        name:                           string(STR_rabas26_NAME);
        climates_available:             bitmask(CLIMATE_TEMPERATE, CLIMATE_ARCTIC, CLIMATE_TROPICAL);
        introduction_date:              date(1993,01,01);
        model_life:                     28;
        vehicle_life:                   15;
        cargo_allow_refit:       		[COAL, ENSP];
        loading_speed:                  6;
        cost_factor:                    111;
        running_cost_factor:            90;
        /* RV-specific properties */
        sprite_id:                      SPRITE_ID_NEW_ROADVEH; //enable new graphics
        speed:                          85 km/h;
        misc_flags:                     bitmask(ROADVEH_FLAG_2CC);
        refit_cost:                     0; // Refitting is free
        running_cost_base:              RUNNING_COST_ROADVEH;
        power:                          550 hp;
        weight:                         18 ton;
        cargo_capacity:                 24;
        sound_effect:                   SOUND_BUS_START_PULL_AWAY;
    }
	
	 /* Define graphics */
    graphics {
		articulated_part:        		sw_rabas26_articulated;
		additional_text: 				string(STR_rabas26_ADAT);
		length:                  		sw_rabas26_length;
		colour_mapping:					sw_rabas26_colour_random;
		purchase: 						rabas26_purchase;
		COAL:							sw_rabas26_COAL_spriteset;
		ENSP:							sw_rabas26_ENSP_spriteset;
		default:                 		sw_rabas26_COAL_spriteset;
    }
}	

//-------------------------------------------------------------------------------- Raba S26 End
Sorry for the long post. :oops:
Image Drawer assistant & Coder

Donate: Hungarian GRF Maker Team
Image

Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: Szurke NML Questions???

Post by Alberth »

It's an NML internal error, so it's NMLs fault no matter what.

But yes, it would be nice if you could make a simple grf to demonstrate the problem, it doesn't have to do anything useful, just reproduce the error.
(and with simple I mean 5-10 lines if that is possible).
Being a retired OpenTTD developer does not mean I know what I am doing.

frosch
OpenTTD Developer
OpenTTD Developer
Posts: 980
Joined: 20 Dec 2006 13:31
Location: Aschaffenburg

Re: Szurke NML Questions???

Post by frosch »

Please try again with NML v5621:
http://bundles.openttdcoop.org/nml/push/LATEST/
⢇⡸⢸⠢⡇⡇⢎⡁⢎⡱⢸⡱⢸⣭⠀⢸⢜⢸⢸⣀⢸⣀⢸⣭⢸⡱⠀⢰⠭⡆⣫⠰⣉⢸⢸⠀⢰⠭⡆⡯⡆⢹⠁⠀⢐⠰⡁

User avatar
SaltMacaroni
Engineer
Engineer
Posts: 8
Joined: 20 Dec 2013 15:27
Skype: sosmakaroni
Location: Hungary, Budapest

Re: Szurke NML Questions???

Post by SaltMacaroni »

The full code is 3 post before this.

The new NML is good, create GRF, but the GRF isnt workink good.

My plan is: the vehicle has got company_colour1 and one random color insted of company_color2.
Image Drawer assistant & Coder

Donate: Hungarian GRF Maker Team
Image

Post Reply

Return to “NewGRF Technical Discussions”

Who is online

Users browsing this forum: No registered users and 1 guest