All CVars, mapinfo variables, and playerinfo/playerpawn variables are gone.
A Camera actor named 'SpectatorCamera' is defined in warsrc/static/zscript/actors/shared/camera.zs
The following new flag bits were defined in the 'DViewPosition' struct for use with actor->ViewPos in src/playsim/actor.h:
VPSF_ALLOWOUTOFBOUNDS = 1 << 3, // Allow viewpoint to go out of bounds (hardware renderer only).
VPSF_ORTHOGRAPHIC = 1 << 4, // Use orthographic projection.
VPSF_ISOMETRICSPRITES = 1 << 5, // Displace sprites towards camera and don't billboard (drawn from isometric perspective).
Basically, spawn a SpectatorCamera actor with the appropriate flags and set it to player.camera.
See example template: https://www.mediafire.com/file/fv8rytayjt9l6g1/isometric_actor_wads.zip/file
Has been tested with multiplayer death and disconnection (and respawns). Not tested with portals.
Still only works with hardware renderer (mostly). But should be compatible with older mods and libraries.
Revert "Restored r_orthographic behavior."
This reverts commit 26908f5bc5.
Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."
This reverts commit dc897eacc0.
Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."
This reverts commit d2c2c93cf1.
This also adds the `r_actorspriteshadowalpha` and `r_actorspriteshadowfadeheight`
cvars for greater control (only effective in hardware renderers).
These are set to 0.5 and 0 by default, which means this fading behavior
is disabled by default.
When enabled, this has two benefits:
- It becomes easier for the player to judge an entity's height since
the shadow opacity now gives this information.
- Entities that are far high above the ground no longer cast a shadow,
which looked strange.
* these circumvented all internal texture replacement logic. Texture objects should only be resolved right before drawing them
* added an explicit ‚tilebackground‘ option for the summary screen to fix problems with bad decision logic based on incorrect texture type checks. Automatic tiling no longer depends on texture type, but solely on size.
* added a DrawTexture variant that can be passed a texture ID instead of a pointer
- Offset: The offset from the actor's view to move the camera about.
- Flags: (Default is -1, which means don't change flags)
- VPSF_ABSOLUTEOFFSET: Don't include actor angles in calculation.
- VPSF_ABSOLUTEPOS: Position is absolute, and disables all transformations. Modders are responsible for being portal aware!
Notes:
- `ViewPos` in Actor will be `null` until A_SetViewPos is called for the first time.
**Issues:**
- Hiding sprite while in portal incomplete.
* let CASTSPRITESHADOW act as an override for render style checks. If this is set we can assume that a shadow is desired regardless of style.
* reordered code to do the more costly checks only when needed.
* exclude sprites which are not either opaque or use regular blended translucency from casting shadows.
* exclude wall and flat sprites from casting shadows.
In both of these cases the shadow math is unable to produce anything useful that doesn't look off.
* Added ViewAngle/Pitch/Roll properties to actors.
- These are offsets for camera angles that allow turning the camera without affecting aim or movement direction.
- Added A_SetView<Angle/Pitch/Roll>, which will set the view direction.
- Added ABSVIEWANGLES flag, used to make the view absolute instead of an offset.
* Converted functions to be direct-native.