mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r4817) - NewGRF: allow partial support for parameter retrieval in action D.
This commit is contained in:
parent
03b96da61b
commit
bd28390b2e
14
newgrf.c
14
newgrf.c
|
@ -2292,10 +2292,12 @@ static void ParamSet(byte *buf, int len)
|
||||||
* - it OR A PARAMETER WITH HIGHER NUMBER has been set to any value by
|
* - it OR A PARAMETER WITH HIGHER NUMBER has been set to any value by
|
||||||
* an earlier action D */
|
* an earlier action D */
|
||||||
if (oper & 0x80) {
|
if (oper & 0x80) {
|
||||||
if (_cur_grffile->param_end < target)
|
if (target < 0x80 && target < _cur_grffile->param_end) {
|
||||||
oper &= 0x7F;
|
DEBUG(grf, 7) ("Param %u already defined, skipping.", target);
|
||||||
else
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
oper &= 0x7F;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The source1 and source2 operands refer to the grf parameter number
|
/* The source1 and source2 operands refer to the grf parameter number
|
||||||
|
@ -2306,13 +2308,15 @@ static void ParamSet(byte *buf, int len)
|
||||||
if (src1 == 0xFF) {
|
if (src1 == 0xFF) {
|
||||||
src1 = data;
|
src1 = data;
|
||||||
} else {
|
} else {
|
||||||
src1 = _cur_grffile->param_end >= src1 ? _cur_grffile->param[src1] : 0;
|
uint32 temp;
|
||||||
|
src1 = GetParamVal(src1, &temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (src2 == 0xFF) {
|
if (src2 == 0xFF) {
|
||||||
src2 = data;
|
src2 = data;
|
||||||
} else {
|
} else {
|
||||||
src2 = _cur_grffile->param_end >= src2 ? _cur_grffile->param[src2] : 0;
|
uint32 temp;
|
||||||
|
src2 = GetParamVal(src2, &temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: You can access the parameters of another GRF file by using
|
/* TODO: You can access the parameters of another GRF file by using
|
||||||
|
|
Loading…
Reference in New Issue