Szurke NML Questions???
Moderator: Graphics Moderators
- planetmaker
- OpenTTD Developer
- Posts: 9432
- Joined: 07 Nov 2007 22:44
- Location: Sol d
Re: Szurke NML Questions???
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.
OpenTTD: manual | online content | translations | Wanted contributions and patches
#openttdcoop: blog | wiki | public server | DevZone | NewGRF web translator
DevZone - home of the free NewGRFs: OpenSFX | OpenMSX | OpenGFX | Swedish Rails | OpenGFX+ Trains|RV|Industries|Airports|Landscape | NML
Re: Szurke NML Questions???
Thank you!
I thought that, i have a newest version.
Now working!


I thought that, i have a newest version.
Now working!
Re: Szurke NML Questions???
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?
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?
-
- Tycoon
- Posts: 2792
- Joined: 22 Feb 2011 18:34
Re: Szurke NML Questions???
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
Re: Szurke NML Questions???
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.
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.
Re: Szurke NML Questions???
Here.Alberth wrote:YETI (which has nice technical documentation).
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.
- colossal404
- Chief Executive
- Posts: 652
- Joined: 07 Mar 2009 12:48
- Location: Szeged, Hungary
Re: Szurke NML Questions???
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!
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!
Re: Szurke NML Questions???
callbacks do a million different things. can you specify more what kind of things you want to combine?
- SaltMacaroni
- Engineer
- Posts: 8
- Joined: 20 Dec 2013 15:27
- Skype: sosmakaroni
- Location: Hungary, Budapest
Re: Szurke NML Questions???
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!
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!
Re: Szurke NML Questions???
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.
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.
- SaltMacaroni
- Engineer
- Posts: 8
- Joined: 20 Dec 2013 15:27
- Skype: sosmakaroni
- Location: Hungary, Budapest
Re: Szurke NML Questions???
No.
I want to company color, and random color in one vehicle. So I made two "recolor_sprite" set.
rsw_rabas26_colour_random + sw_rabas26_colour_cc; is my problem.
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;
}
Re: Szurke NML Questions???
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)
Note that random triggers (TRIGGER_VEHICLE_xxx) do not work within callbacks. You have to rerandomise in the graphics switch.
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;
}
⢇⡸⢸⠢⡇⡇⢎⡁⢎⡱⢸⡱⢸⣭⠀⢸⢜⢸⢸⣀⢸⣀⢸⣭⢸⡱⠀⢰⠭⡆⣫⠰⣉⢸⢸⠀⢰⠭⡆⡯⡆⢹⠁⠀⢐⠰⡁
- SaltMacaroni
- Engineer
- Posts: 8
- Joined: 20 Dec 2013 15:27
- Skype: sosmakaroni
- Location: Hungary, Budapest
Re: Szurke NML Questions???
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
-
- Tycoon
- Posts: 2792
- Joined: 22 Feb 2011 18:34
Re: Szurke NML Questions???
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
- SaltMacaroni
- Engineer
- Posts: 8
- Joined: 20 Dec 2013 15:27
- Skype: sosmakaroni
- Location: Hungary, Budapest
Re: Szurke NML Questions???
I using 0.4.1 NML, but I update my NML to v5608:e60e3b517945 from 2015-05-10.
But it is still bad.
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
-
- Tycoon
- Posts: 2792
- Joined: 22 Feb 2011 18:34
Re: Szurke NML Questions???
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
- SaltMacaroni
- Engineer
- Posts: 8
- Joined: 20 Dec 2013 15:27
- Skype: sosmakaroni
- Location: Hungary, Budapest
Re: Szurke NML Questions???
This is the vehicle full code, and all the recolour_sprite are in it, except cargotable and templates.
Sorry for the long post. 
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

Re: Szurke NML Questions???
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).
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.
Re: Szurke NML Questions???
Please try again with NML v5621:
http://bundles.openttdcoop.org/nml/push/LATEST/
http://bundles.openttdcoop.org/nml/push/LATEST/
⢇⡸⢸⠢⡇⡇⢎⡁⢎⡱⢸⡱⢸⣭⠀⢸⢜⢸⢸⣀⢸⣀⢸⣭⢸⡱⠀⢰⠭⡆⣫⠰⣉⢸⢸⠀⢰⠭⡆⡯⡆⢹⠁⠀⢐⠰⡁
- SaltMacaroni
- Engineer
- Posts: 8
- Joined: 20 Dec 2013 15:27
- Skype: sosmakaroni
- Location: Hungary, Budapest
Re: Szurke NML Questions???
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.
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.
Who is online
Users browsing this forum: No registered users and 10 guests