mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-26 05:51:20 +00:00
- fixed: the ambient sound things need both the args from the DoomEdNum mapping and the actual map.
This commit is contained in:
parent
772a572431
commit
bd95c5eadf
4 changed files with 77 additions and 70 deletions
|
@ -81,7 +81,7 @@ struct MapinfoEdMapItem
|
|||
{
|
||||
FName classname; // DECORATE is read after MAPINFO so we do not have the actual classes available here yet.
|
||||
short special;
|
||||
bool argsdefined;
|
||||
signed char argsdefined;
|
||||
int args[5];
|
||||
// These are for error reporting. We must store the file information because it's no longer available when these items get resolved.
|
||||
FString filename;
|
||||
|
@ -181,14 +181,14 @@ void FMapInfoParser::ParseDoomEdNums()
|
|||
editem.special = -1;
|
||||
}
|
||||
memset(editem.args, 0, sizeof(editem.args));
|
||||
editem.argsdefined = false;
|
||||
editem.argsdefined = 0;
|
||||
|
||||
int minargs = 0;
|
||||
int maxargs = 5;
|
||||
FString specialname;
|
||||
if (sc.CheckString(","))
|
||||
{
|
||||
editem.argsdefined = true; // mark args as used - if this is done we need to prevent assignment of map args in P_SpawnMapThing.
|
||||
editem.argsdefined = 5; // mark args as used - if this is done we need to prevent assignment of map args in P_SpawnMapThing.
|
||||
if (editem.special < 0) editem.special = 0;
|
||||
if (!sc.CheckNumber())
|
||||
{
|
||||
|
@ -221,7 +221,14 @@ void FMapInfoParser::ParseDoomEdNums()
|
|||
editem.args[i] = sc.Number;
|
||||
i++;
|
||||
if (!sc.CheckString(",")) break;
|
||||
// special check for the ambient sounds which combine the arg being set here with the ones on the mapthing.
|
||||
if (sc.CheckString("+"))
|
||||
{
|
||||
editem.argsdefined = i;
|
||||
break;
|
||||
}
|
||||
sc.MustGetNumber();
|
||||
|
||||
}
|
||||
if (specialname.IsNotEmpty() && (i < minargs || i > maxargs))
|
||||
{
|
||||
|
|
|
@ -283,7 +283,7 @@ struct FDoomEdEntry
|
|||
{
|
||||
const PClass *Type;
|
||||
short Special;
|
||||
bool ArgsDefined;
|
||||
signed char ArgsDefined;
|
||||
int Args[5];
|
||||
};
|
||||
|
||||
|
|
|
@ -4674,10 +4674,10 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
}
|
||||
|
||||
// copy args to mapthing so that we have them in one place for the rest of this function
|
||||
if (mentry->ArgsDefined)
|
||||
if (mentry->ArgsDefined > 0)
|
||||
{
|
||||
if (mentry->Type!= NULL) mthing->special = mentry->Special;
|
||||
memcpy(mthing->args, mentry->Args, sizeof(mthing->args));
|
||||
memcpy(mthing->args, mentry->Args, sizeof(mthing->args[0]) * mentry->ArgsDefined);
|
||||
}
|
||||
|
||||
int pnum = -1;
|
||||
|
|
|
@ -118,70 +118,70 @@ DoomEdNums
|
|||
9997 = SecActExit
|
||||
9998 = SecActEnter
|
||||
9999 = SecActHitFloor
|
||||
14001 = AmbientSound, 1
|
||||
14002 = AmbientSound, 2
|
||||
14003 = AmbientSound, 3
|
||||
14004 = AmbientSound, 4
|
||||
14005 = AmbientSound, 5
|
||||
14006 = AmbientSound, 6
|
||||
14007 = AmbientSound, 7
|
||||
14008 = AmbientSound, 8
|
||||
14009 = AmbientSound, 9
|
||||
14010 = AmbientSound, 10
|
||||
14011 = AmbientSound, 11
|
||||
14012 = AmbientSound, 12
|
||||
14013 = AmbientSound, 13
|
||||
14014 = AmbientSound, 14
|
||||
14015 = AmbientSound, 15
|
||||
14016 = AmbientSound, 16
|
||||
14017 = AmbientSound, 17
|
||||
14018 = AmbientSound, 18
|
||||
14019 = AmbientSound, 19
|
||||
14020 = AmbientSound, 20
|
||||
14021 = AmbientSound, 21
|
||||
14022 = AmbientSound, 22
|
||||
14023 = AmbientSound, 23
|
||||
14024 = AmbientSound, 24
|
||||
14025 = AmbientSound, 25
|
||||
14026 = AmbientSound, 26
|
||||
14027 = AmbientSound, 27
|
||||
14028 = AmbientSound, 28
|
||||
14029 = AmbientSound, 29
|
||||
14030 = AmbientSound, 30
|
||||
14031 = AmbientSound, 31
|
||||
14032 = AmbientSound, 32
|
||||
14033 = AmbientSound, 33
|
||||
14034 = AmbientSound, 34
|
||||
14035 = AmbientSound, 35
|
||||
14036 = AmbientSound, 36
|
||||
14037 = AmbientSound, 37
|
||||
14038 = AmbientSound, 38
|
||||
14039 = AmbientSound, 39
|
||||
14040 = AmbientSound, 40
|
||||
14041 = AmbientSound, 41
|
||||
14042 = AmbientSound, 42
|
||||
14043 = AmbientSound, 43
|
||||
14044 = AmbientSound, 44
|
||||
14045 = AmbientSound, 45
|
||||
14046 = AmbientSound, 46
|
||||
14047 = AmbientSound, 47
|
||||
14048 = AmbientSound, 48
|
||||
14049 = AmbientSound, 49
|
||||
14050 = AmbientSound, 50
|
||||
14051 = AmbientSound, 51
|
||||
14052 = AmbientSound, 52
|
||||
14053 = AmbientSound, 53
|
||||
14054 = AmbientSound, 54
|
||||
14055 = AmbientSound, 55
|
||||
14056 = AmbientSound, 56
|
||||
14057 = AmbientSound, 57
|
||||
14058 = AmbientSound, 58
|
||||
14059 = AmbientSound, 59
|
||||
14060 = AmbientSound, 60
|
||||
14061 = AmbientSound, 61
|
||||
14062 = AmbientSound, 62
|
||||
14063 = AmbientSound, 63
|
||||
14064 = AmbientSound, 64
|
||||
14001 = AmbientSound, 1, +
|
||||
14002 = AmbientSound, 2, +
|
||||
14003 = AmbientSound, 3, +
|
||||
14004 = AmbientSound, 4, +
|
||||
14005 = AmbientSound, 5, +
|
||||
14006 = AmbientSound, 6, +
|
||||
14007 = AmbientSound, 7, +
|
||||
14008 = AmbientSound, 8, +
|
||||
14009 = AmbientSound, 9, +
|
||||
14010 = AmbientSound, 10, +
|
||||
14011 = AmbientSound, 11, +
|
||||
14012 = AmbientSound, 12, +
|
||||
14013 = AmbientSound, 13, +
|
||||
14014 = AmbientSound, 14, +
|
||||
14015 = AmbientSound, 15, +
|
||||
14016 = AmbientSound, 16, +
|
||||
14017 = AmbientSound, 17, +
|
||||
14018 = AmbientSound, 18, +
|
||||
14019 = AmbientSound, 19, +
|
||||
14020 = AmbientSound, 20, +
|
||||
14021 = AmbientSound, 21, +
|
||||
14022 = AmbientSound, 22, +
|
||||
14023 = AmbientSound, 23, +
|
||||
14024 = AmbientSound, 24, +
|
||||
14025 = AmbientSound, 25, +
|
||||
14026 = AmbientSound, 26, +
|
||||
14027 = AmbientSound, 27, +
|
||||
14028 = AmbientSound, 28, +
|
||||
14029 = AmbientSound, 29, +
|
||||
14030 = AmbientSound, 30, +
|
||||
14031 = AmbientSound, 31, +
|
||||
14032 = AmbientSound, 32, +
|
||||
14033 = AmbientSound, 33, +
|
||||
14034 = AmbientSound, 34, +
|
||||
14035 = AmbientSound, 35, +
|
||||
14036 = AmbientSound, 36, +
|
||||
14037 = AmbientSound, 37, +
|
||||
14038 = AmbientSound, 38, +
|
||||
14039 = AmbientSound, 39, +
|
||||
14040 = AmbientSound, 40, +
|
||||
14041 = AmbientSound, 41, +
|
||||
14042 = AmbientSound, 42, +
|
||||
14043 = AmbientSound, 43, +
|
||||
14044 = AmbientSound, 44, +
|
||||
14045 = AmbientSound, 45, +
|
||||
14046 = AmbientSound, 46, +
|
||||
14047 = AmbientSound, 47, +
|
||||
14048 = AmbientSound, 48, +
|
||||
14049 = AmbientSound, 49, +
|
||||
14050 = AmbientSound, 50, +
|
||||
14051 = AmbientSound, 51, +
|
||||
14052 = AmbientSound, 52, +
|
||||
14053 = AmbientSound, 53, +
|
||||
14054 = AmbientSound, 54, +
|
||||
14055 = AmbientSound, 55, +
|
||||
14056 = AmbientSound, 56, +
|
||||
14057 = AmbientSound, 57, +
|
||||
14058 = AmbientSound, 58, +
|
||||
14059 = AmbientSound, 59, +
|
||||
14060 = AmbientSound, 60, +
|
||||
14061 = AmbientSound, 61, +
|
||||
14062 = AmbientSound, 62, +
|
||||
14063 = AmbientSound, 63, +
|
||||
14064 = AmbientSound, 64, +
|
||||
14065 = AmbientSound
|
||||
14066 = SoundSequence
|
||||
14067 = AmbientSoundNoGravity
|
||||
|
|
Loading…
Reference in a new issue