-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
251 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# Line specials | ||
|
||
ACE Engine supports some of ZDoom [line specials](https://zdoom.org/wiki/Action_specials). | ||
These new line specials are only available in Hexen map format or [decorate](decorate.md). | ||
|
||
## list | ||
|
||
Note: Some specials are not meant to be used in decorate and thus are only available in map. | ||
Note: Not all features of specified special might be supported. It is quite likely i forgot to document some limitations. | ||
|
||
- 1 `Polyobj_StartLine` | ||
- `lineid` is not supported | ||
- check [good to know](stuff.md) for limitations | ||
- 2 `Polyobj_RotateLeft` | ||
- 3 `Polyobj_RotateRight` | ||
- 4 `Polyobj_Move` | ||
- 7 `Polyobj_DoorSwing` | ||
- 8 `Polyobj_DoorSlide` | ||
- 10 `Door_Close` | ||
- 12 `Door_Raise` | ||
- 13 `Door_LockedRaise` | ||
- 15 `Autosave` | ||
- this does nothing in *netgame* | ||
- custom graphic for "saving" text can be provided in `WIAUTOSV` lump | ||
- 19 `Thing_Stop` | ||
- 20 `Floor_LowerByValue` | ||
- 23 `Floor_RaiseByValue` | ||
- 26 `Stairs_BuildDown` | ||
- 27 `Stairs_BuildUp` | ||
- 28 `Floor_RaiseAndCrush` | ||
- 31 `Stairs_BuildDownSync` | ||
- 32 `Stairs_BuildUpSync` | ||
- 35 `Floor_RaiseByValueTimes8` | ||
- 36 `Floor_LowerByValueTimes8` | ||
- 37 `Floor_MoveToValue` | ||
- 40 `Ceiling_LowerByValue` | ||
- 41 `Ceiling_RaiseByValue` | ||
- 44 `Ceiling_CrushStop` | ||
- 47 `Ceiling_MoveToValue` | ||
- 49 `GlassBreak` | ||
- spawning of `GlassJunk` is not supported | ||
- either disable junk spawning or set your own `type` | ||
- 53 `Line_SetTextureOffset` | ||
- only limited use for [decorate](decorate.md) | ||
- 55 `Line_SetBlocking` | ||
- supported bits are `1` `2` `4` and `32` | ||
- 62 `Plat_DownWaitUpStay` | ||
- 64 `Plat_UpWaitDownStay` | ||
- 70 `Teleport` | ||
- only `tid` is supported | ||
- only **one** destination **must** exist, **no** randomization | ||
- 71 `Teleport_NoFog` | ||
- only `tid` is supported | ||
- only **one** destination **must** exist, **no** randomization | ||
- 72 `ThrustThing` | ||
- 73 `DamageThing` | ||
- 74 `Teleport_NewMap` | ||
- 76 `TeleportOther` | ||
- 78 `TeleportInSector` | ||
- there are some edge case differences from ZDoom how things are selected | ||
- 97 `Ceiling_LowerAndCrushDist` | ||
- 99 `Floor_RaiseAndCrushDoom` | ||
- 100 `Scroll_Texture_Left` | ||
- 101 `Scroll_Texture_Right` | ||
- 102 `Scroll_Texture_Up` | ||
- 103 `Scroll_Texture_Down` | ||
- 110 `Light_RaiseByValue` | ||
- 111 `Light_LowerByValue` | ||
- 112 `Light_ChangeToValue` | ||
- 113 `Light_Fade` | ||
- 114 `Light_Glow` | ||
- 116 `Light_Strobe` | ||
- 117 `Light_Stop` | ||
- 119 `Thing_Damage` | ||
- `mod` is not supported | ||
- 121 `Line_SetIdentification` | ||
- only IDs up to 255 are supported | ||
- only flag `32` (midtex3d) is supported | ||
- 127 `Thing_SetSpecial` | ||
- 128 `ThrustThingZ` | ||
- 130 `Thing_Activate` | ||
- 131 `Thing_Deactivate` | ||
- 132 `Thing_Remove` | ||
- 133 `Thing_Destroy` | ||
- 134 `Thing_Projectile` | ||
- 135 `Thing_Spawn` | ||
- 136 `Thing_ProjectileGravity` | ||
- 137 `Thing_SpawnNoFog` | ||
- 139 `Thing_SpawnFacing` | ||
- 160 `Sector_Set3dFloor` | ||
- check [good to know](stuff.md) for limitations | ||
- 172 `Plat_UpNearestWaitDownStay` | ||
- 173 `NoiseAlert` | ||
- 176 `Thing_ChangeTID` | ||
- 179 `ChangeSkill` | ||
- 191 `SetPlayerProperty` | ||
- only `notarget` `fly` `fronzen` and `totallyfrozen` are supported | ||
- 195 `Ceiling_CrushRaiseAndStayA` | ||
- 196 `Ceiling_CrushAndRaiseA` | ||
- 198 `Ceiling_RaiseByValueTimes8` | ||
- 199 `Ceiling_LowerByValueTimes8` | ||
- 200 `Generic_Floor` | ||
- 201 `Generic_Ceiling` | ||
- 206 `Plat_DownWaitUpStayLip` | ||
- 212 `Sector_SetColor` | ||
- check [good to know](stuff.md) for limitations | ||
- 213 `Sector_SetFade` | ||
- check [good to know](stuff.md) for limitations | ||
- 225 `Scroll_Texture_Offsets` | ||
- 237 `ChangeCamera` | ||
- 239 `Floor_RaiseByValueTxTy` | ||
- 243 `Exit_Normal` | ||
- 244 `Exit_Secret` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# LOCKDEFS | ||
|
||
A subset of [ZDoom](https://zdoom.org/wiki/LOCKDEFS) `LOCKDEFS` is supported. | ||
|
||
## What does work | ||
|
||
- built-in doom locks **are** present | ||
- `clearlocks` | ||
- `lock` | ||
- `any` | ||
- `message` | ||
- `remotemessage` | ||
- `mapcolor` | ||
- `lockedsound` | ||
|
||
## Map color | ||
|
||
If you want to display locked door color in map you have to enable this feature in mod config. | ||
See [config](config.md) for more info. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Special sectors | ||
|
||
Only a very limited amount of sector specials is supported: | ||
|
||
- 26 `Stairs_Special1` | ||
- 27 `Stairs_Special2` | ||
- 82 `dDamage_LavaWimpy` | ||
- 83 `dDamage_LavaHefty` | ||
- 85 `hDamage_Sludge` | ||
- 115 `Damage_InstantDeath` | ||
- 196 `Sector_Heal` | ||
|
||
These are supported sector flags: | ||
|
||
- secret sector flag `1024` | ||
- damage flags `256` and `512` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# Various quiks and features | ||
|
||
ACE Engine is a hack for DOS Doom so i has various workrounds, speed optimizations and stuff. | ||
Here are some recommended things and good tips. | ||
|
||
## Precalculation | ||
|
||
Since palette color matching on 486 hardware is slow, some tables are better precalculated. | ||
Now, ACE Engine can calculate those but it would take ages on old hardware. This is something you won't even notice in DosBox. | ||
|
||
Main lump, `ACE_RNDR`, contains various transparency and color tables. This can be dumped to file using `-dumptables` command line parameter. | ||
This will generate `ACE_RNDR.LMP` which you can the import to your WAD file. | ||
|
||
Secondary lumps are various color and fog tables for sector light. | ||
Everytime you use [ColorSetter](https://zdoom.org/wiki/Classes:ColorSetter) or [FadeSetter](https://zdoom.org/wiki/Classes:FadeSetter) up to two new tables are required. | ||
These tables are generated by ACE Engine and can dumped using `savelight` command. Though, this has to be done for every level. | ||
This cheat code will create lump(s) with naming scheme like `+0F0F0E0.LMP`. Import **all** generated lumps to your WAD file. | ||
|
||
**You have to generate those tables verytime you change palette!** | ||
The best is to generate these tables last, just before releasing your WAD. | ||
|
||
## MAP format | ||
|
||
ACE Engine supports *Hexen map format*. Use of this format is *recommended* as it allows you to use all new features. | ||
|
||
## Polyobjects | ||
|
||
Polyobjects are supported with these exceptions: | ||
|
||
- polyobject ID `0` can **not** be used | ||
- only `Polyobj_StartLine` can be used to define polyobject | ||
|
||
## 3D floors | ||
|
||
Yes, 3D floors are supported with some limitations. Thouh heavy use is not recommended as each visible 3D floor have performance hit on rendering. | ||
|
||
- only `Y` offset of control line is supported | ||
- **always** set `X` offset to **zero** | ||
- only types `1` `2` and `3` are supported | ||
- type extra `4` `16` and `32` are also supported | ||
- only flag `64` is supported | ||
- `flag` 512 is forced and can't be removed | ||
- this causes different behavior to ZDoom with `FadeSetter` | ||
- rendering limitation for masked textures (= textures with holes) | ||
- **always** make sure total `Y` offset is never **negative** | ||
|
||
## Colored light and sector fog | ||
|
||
Use [ColorSetter](https://zdoom.org/wiki/Classes:ColorSetter) for colored sectors. | ||
Use [FadeSetter](https://zdoom.org/wiki/Classes:FadeSetter) for sector fog. | ||
If you use line special [Sector_SetColor](https://zdoom.org/wiki/Sector_SetColor) or [Sector_SetFade](https://zdoom.org/wiki/Sector_SetFade) in your map, this color or fade has to be already used in the map. Use dummy sectors with `ColorSetter` and `FadeSetter`. | ||
|
||
Use **only one** `ColorSetter` and `FadeSetter` per sector! (one of each type) | ||
`ColorSetter`s and `FadeSetter`s internaly **do not exist**! Giving those `thing id` for scripting has **no effect**! | ||
|
||
## Sector actions | ||
|
||
ACE Engine supports two sector action things. [Enter sector](https://zdoom.org/wiki/Classes:SecActEnter) and [exit sector](https://zdoom.org/wiki/Classes:SecActExit). | ||
Both actions support all four map flags. | ||
|
||
Use **only one** one of each type per sector! | ||
These things internaly **do not exist**! Giving those `thing id` for scripting has **no effect**! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# TERRAIN | ||
|
||
A subset of [ZDoom](https://zdoom.org/wiki/TERRAIN) `TERRAIN` is supported. | ||
|
||
## What does work | ||
|
||
### splash | ||
|
||
- `smallclass` | ||
- `smallclip` | ||
- **must** be set to **0** | ||
- `baseclass` | ||
- `chunkclass` | ||
- `chunkxvelshift` | ||
- `chunkyvelshift` | ||
- `chunkzvelshift` | ||
- `chunkbasezvel` | ||
- `sound` | ||
|
||
### terrain | ||
|
||
- `splash` | ||
- `liquid` | ||
- `friction` | ||
- `damagetype` | ||
- `damageamount` | ||
- `damagetimemask` | ||
- `allowprotection` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters