-
Notifications
You must be signed in to change notification settings - Fork 1
/
cwall.cpp
72 lines (71 loc) · 2.63 KB
/
cwall.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "cwall.h"
//----------------------------------------------------------------------------------------------------
//êîíñòðóêòîð
//----------------------------------------------------------------------------------------------------
CWall::CWall()
{
}
//----------------------------------------------------------------------------------------------------
//äåñòðóêòîð
//----------------------------------------------------------------------------------------------------
CWall::~CWall()
{
}
//----------------------------------------------------------------------------------------------------
//çàãðóçêà
//----------------------------------------------------------------------------------------------------
void CWall::Load(FILE *file)
{
X1=LoadLong(file);
Y1=LoadLong(file);
X2=LoadLong(file);
Y2=LoadLong(file);
Frontier=false;
if (LoadLong(file)!=0) Frontier=true;
sWall_State.cTextureFollow_Up.Load(file);
sWall_State.cTextureFollow_Down.Load(file);
sWall_State.Switch=false;
if (LoadLong(file)!=0) sWall_State.Switch=true;
LoadCharArray(file,sWall_State.SwitchLabel,SECTOR_LABEL_SIZE);
}
//----------------------------------------------------------------------------------------------------
//çàïèñü
//----------------------------------------------------------------------------------------------------
void CWall::Save(FILE *file)
{
SaveLong(file,X1);
SaveLong(file,Y1);
SaveLong(file,X2);
SaveLong(file,Y2);
if (Frontier==true) SaveLong(file,1);
else SaveLong(file,0);
sWall_State.cTextureFollow_Up.Save(file);
sWall_State.cTextureFollow_Down.Save(file);
if (sWall_State.Switch==true) SaveLong(file,1);
else SaveLong(file,0);
SaveCharArray(file,sWall_State.SwitchLabel,SECTOR_LABEL_SIZE);
}
//----------------------------------------------------------------------------------------------------
//çàïèñü ïàðàìåòðîâ ñòåíû
//----------------------------------------------------------------------------------------------------
void CWall::SaveParam(FILE *file)
{
//ñîõðàíÿåì êîîðäèíàòû
SaveFloat(file,SCALE*X1);
SaveFloat(file,SCALE*Y1);
SaveFloat(file,SCALE*X2);
SaveFloat(file,SCALE*Y2);
//ñîõðàíÿåì, ÿâëÿåòñÿ ëè ñòåíà ëèíèåé ðàçäåëà
if (Frontier==true) SaveUChar(file,1);
else SaveUChar(file,0);
//ñîõðàíÿåì âåðõíþþ è íèæíþþ òåêñòóðó
sWall_State.cTextureFollow_Up.Save(file);
sWall_State.cTextureFollow_Down.Save(file);
//ñîõðàíÿåì, ÿâëÿåòñÿ ëè ñòåíà ïåðåêëþ÷àòåëåì
if (sWall_State.Switch==true)
{
SaveUChar(file,1);
SaveCharArray(file,sWall_State.SwitchLabel,SECTOR_LABEL_SIZE);
}
else SaveUChar(file,0);
}