- Fixed: The Sequence pointer in ASoundSequenceSlot was not declared as

a pointer and it was missing both read and write barriers.


SVN r845 (trunk)
This commit is contained in:
Christoph Oelckers 2008-03-23 22:19:04 +00:00
parent a6e9accedb
commit 5ccb358875
2 changed files with 10 additions and 2 deletions

View file

@ -1,4 +1,6 @@
March 23, 2008 (Changes by Graf Zahl) March 23, 2008 (Changes by Graf Zahl)
- Fixed: The Sequence pointer in ASoundSequenceSlot was not declared as
a pointer and it was missing both read and write barriers.
- Fixed: The sector translators must clear unused bits because they might - Fixed: The sector translators must clear unused bits because they might
render a sector's special inoperable. render a sector's special inoperable.
- Expanded the args for MAPINFO special actions to 32 bit integers as in - Expanded the args for MAPINFO special actions to 32 bit integers as in

View file

@ -71,13 +71,18 @@
class ASoundSequenceSlot : public AActor class ASoundSequenceSlot : public AActor
{ {
DECLARE_STATELESS_ACTOR (ASoundSequenceSlot, AActor) DECLARE_STATELESS_ACTOR (ASoundSequenceSlot, AActor)
HAS_OBJECT_POINTERS
public: public:
void Serialize (FArchive &arc); void Serialize (FArchive &arc);
DSeqNode *Sequence; TObjPtr<DSeqNode> Sequence;
}; };
IMPLEMENT_STATELESS_ACTOR (ASoundSequenceSlot, Any, -1, 0) IMPLEMENT_POINTY_CLASS(ASoundSequenceSlot)
DECLARE_POINTER(Sequence)
END_POINTERS
BEGIN_STATELESS_DEFAULTS (ASoundSequenceSlot, Any, -1, 0)
PROP_Flags (MF_NOSECTOR|MF_NOBLOCKMAP) PROP_Flags (MF_NOSECTOR|MF_NOBLOCKMAP)
PROP_Flags3 (MF3_DONTSPLASH) PROP_Flags3 (MF3_DONTSPLASH)
END_DEFAULTS END_DEFAULTS
@ -149,6 +154,7 @@ void ASoundSequence::PostBeginPlay ()
{ {
master = Spawn<ASoundSequenceSlot> (0, 0, 0, NO_REPLACE); master = Spawn<ASoundSequenceSlot> (0, 0, 0, NO_REPLACE);
master->Sequence = SN_StartSequence (master, slot, 0); master->Sequence = SN_StartSequence (master, slot, 0);
GC::WriteBarrier(master, master->Sequence);
} }
master->Sequence->AddChoice (args[0], SEQ_ENVIRONMENT); master->Sequence->AddChoice (args[0], SEQ_ENVIRONMENT);
Destroy (); Destroy ();