1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef ULTIMA8_WORLD_CREATEITEMPROCESS_H
24 #define ULTIMA8_WORLD_CREATEITEMPROCESS_H
25 
26 #include "ultima/ultima8/kernel/process.h"
27 #include "ultima/ultima8/misc/classtype.h"
28 
29 namespace Ultima {
30 namespace Ultima8 {
31 
32 class CreateItemProcess : public Process {
33 public:
34 	// p_dynamic_class stuff
35 	ENABLE_RUNTIME_CLASSTYPE()
36 
37 	CreateItemProcess();
38 	CreateItemProcess(uint32 shape, uint32 frame, uint16 quality,
39 	                  uint16 flags, uint16 npcnum, uint16 mapnum,
40 	                  uint32 extendedflags, int32 x, int32 y, int32 z);
41 	~CreateItemProcess(void) override;
42 
43 	void run() override;
44 
45 	bool loadData(Common::ReadStream *rs, uint32 version);
46 	void saveData(Common::WriteStream *ws) override;
47 
48 protected:
49 	uint32 _shape;
50 	uint32 _frame;
51 	uint16 _quality;
52 	uint16 _flags;
53 	uint16 _npcNum;
54 	uint16 _mapNum;
55 	uint32 _extendedFlags;
56 	int32 _x, _y, _z;
57 };
58 
59 } // End of namespace Ultima8
60 } // End of namespace Ultima
61 
62 #endif
63