Free Hero Mesh

Artifact [647eb49b37]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.

Artifact 647eb49b37e5cf2b541aa540e0709695eb243a85:

Wiki page [bizarro world] by zzo38 on 2018-09-02 21:55:37.
D 2018-09-02T21:55:37.237
L bizarro\sworld
P 6c12858c862a7540d4fab0625af4c3780e81948c
U zzo38
W 2084
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.
  *  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.

Z 400dfc338c96faf10cf24192a2439f38