forked from ZQuestClassic/ZQuestClassic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzasm-fixes-todo.txt
157 lines (130 loc) · 3.74 KB
/
zasm-fixes-todo.txt
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
ZASM/Instructions to Document, or to Revise
v31.09.19
////////////
/// DONE ///
////////////
Screen->TileWarpOverlayFlags/Screen->SideWarpOverlayFlags handle Combos Carry Over checkbox in the warp_dlg
probably should be bool arrays
int TileWarpOverlayFlags;
* Has to do with overlay of Link over/under combos (clipping?) with some warp types.
* Probably needs to be an array [4].
* Can we deduce wat this does and if it needs to be an array?
case 0: // tile warp
wtype = tmpscr[t].tilewarptype[index];
wdmap = tmpscr[t].tilewarpdmap[index];
wscr = tmpscr[t].tilewarpscr[index];
overlay = get_bit(&tmpscr[t].tilewarpoverlayflags,index)?1:0;
int CSet;
* ? The screen palette. ?
//* Changed to ->Palette
int SideWarpOverlayFlags;
* Carryover?
//////////////////////
/// NOW DOCUMENTED ///
//////////////////////
Screen-> ScriptEntry ScriptOccupancy and ExitScript appear to be totally
unused; presumably intended for screen scripts that run upon entering,
while occupying, and upon exiting a screen.
itemdata->CollectFlags references an unused variable, but it has this comment on it: A flagset that determines of the weapon can collect an item.
/////////////////
/// UNDECIDED ///
/////////////////
mapscr.valid (Screen->Valid):
set to mVERSION in readmaps, reset_scr
In zquest.cpp draw(), draw_block(), flood(), fill_4, and a bunch of other functions, it is |='d with mVALID
So, I'd say that Screen->Valid | mVERSION is always true, and
Screen->Valid | mVALID is true on INITIALIZED screens (i.e. screens where you have edited, which do not show as the default blank blue in ZQ)
Ah, and Screen->SideWarpIndex can be removed, as my Screen->SideWarpID[4] is array access for that var.
//! Will remove from Docs
/////////////
/// TO-DO ///
/////////////
Do we have SetContinueScreen() and SetContinueDMap() under Game-> yet?
...SetEntrancePoint() and SetContinuePoint as setters.
All size/override flags should be bool.
//to document, remove or amend
Screen-> and mapdata->
int Valid;
* ?
//* This seems fine? Is the ZASM incorrect? Is that what I'm reading?!
//To ADD
mapdata->Script (screen script)
mapdata->InitD (screen InitD)
all instances of the bitwise SizeFlags should become boolOverrideFlags[]
itemdata int CollectFlags;
* Unused? Intended to be a flagset used when running a collect script, or collecting a screen item.
//spritedata
int Tile;
* The tile used by the weapon sprite.
int Misc;
* The Misc Type. (or is this Type?)
int Type;
* The Misc Type. (or is this Misc?)
//combodata combo type bytes
int BlockNPC;
int BlockHole;
int BlockTrigger;
int BlockWeapon[32];
int ConveyorSpeedX;
int ConveyorSpeedY;
int SpawnNPC;
int SpawnNPCWhen;
int SpawnNPCChange;
int DirChange;
int DistanceChangeTiles;
int DiveItem;
int Dock;
int Fairy;
int FFCAttributeChange;
int DecorationTile;
int DecorationType;
int Hookshot;
int Ladder;
int LockBlock;
int LockBlockChange;
int Mirror;
int DamageAmount;
int DamageDelay;
int DamageType;
int MagicAmount;
int MagicDelay;
int MagicType;
int NoPushBlocks;
int Overhead;
int PlaceNPC;
int PushDir;
int PushDelay;
int PushHeavy;
int Pushed;
int Raft;
int ResetRoom;
int SavePoint;
int FreezeScreen;
int SecretCombo;
int Singular (self-only);
int SlowWalk;
int Statue;
int Step;
int StepChange;
int Strike[32];
int StrikeRemnants;
int StrikeRemnantsType;
int StrikeChange;
int StrikeItem;
int TouchItem;
int TouchStairs;
int TriggerType;
int TriggerSensitivity;
int Warp;
int WarpSensitivity;
int WarpDirect;
int WarpLocation;
int Water;
int Whistle;
int WinGame;
int BlockWeaponLevel;
//npc
int FrozenTile;
* Unimplemented at this time.
int FrozenCSet;
* Unimplemented at this time.