Free Hero Mesh

Changes To bizarro world
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.

Changes to "bizarro world" between 2018-09-02 21:52:33 and 2018-09-02 21:55:37

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
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).
  *  BizarroHeightAt: Largest height of bizarro objects at location.
  *  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.