|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
One new feature of Free Hero Mesh beyond Hero Mesh can be "bizarro world" (not fully implemented yet). The intention is something similar to the bizarro world in the [http://escape.spacebar.org/win32/escape.txt|Escape] game. So far this is just a draft.
Objects in the bizarro world have the features:
* Invisible (maybe can be changed so that some way to make them visible?)
* Not seen by ObjTopAt, ObjBottomAt, ObjClassAt, HeightAt, VolumeAt, and Broadcast (and the variants of Broadcast that are not mentioned below); however, FlushClass and FlushObj do affect the bizarro world
* Does not receive the automatic KEY, BEGIN_TURN, and END_TURN events
* ObjDir, ObjBelow, and ObjAbove see only bizarro objects when executed from a bizarro object and otherwise see only non-bizarro objects
* Movement in the bizarro world does not interact with the normal world and vice versa
* CollisionLayers are separate for the bizarro world than the normal world
New commands:
* Bizarro: Read/write the OF_BIZARRO flag (if possible).
* BizarroObjBottomAt: Bottom bizarro object at location.
* BizarroObjClassAt: Bizarro object of class at location.
* BizarroObjTopAt: Top bizarro object at location.
* BizarroHeightAt: Largest height of bizarro objects at location.
* BizarroSwap: Swap two objects if one is in the bizarro world and the other isn't, and if calling the BIZARRO_SWAP messages on each both returns zero, and it wouldn't cause conflicts with CollisionLayers.
* BizarroSwapAt: Call the BIZARRO_SWAP messages on all objects at the location. If changing the OF_BIZARRO flag of all objects that BIZARRO_SWAP returns zero would not cause conflicts with CollisionLayers, perform those changes.
* BizarroVolumeAt: Largest volume of bizarro objects at location.
* FullBroadcast: Similar to Broadcast but affects the bizarro world in addition to the normal world.
* FullBroadcastEx
* FullBroadcastSum
* FullBroadcastSumEx
New messages:
* BIZARRO_SWAP: Called when BizarroSwap or BizarroSwapAt is executed.
|