Commit Graph
4076 Commits
Author SHA1 Message Date
aurhat 9c0f99f2a1 Cleanup
Remarks:
1. Changed order in keycmds lets to keep alphabetical order in saved.cfg .
2. Earlier long information in docs about arguments of command could be
invisible for low aspect ratio (example: "weapon" command), now it's fixed.
2015-07-04 11:30:58 +02:00
ac-stef fe686b603c fix updatefollowplayer
give "availability" priority over persistent spectating
2015-06-25 01:13:06 +02:00
ac-stef ffd7a64cdc fix tempfile path handling
A path can not pass findfile() twice.
(And "tmp" has no path delimiters to fix.)
2015-06-23 23:16:14 +02:00
aurhat d82b54de7e Show CN on HUD, if name of spectated player is a duplicate 2015-06-23 20:03:00 +02:00
aurhat 0197cea1ea Fix initial values of botsshoot and idlebots
Before values of botsshoot and idlebots were showed wrong, when bot mode
wasn't earlier triggered, and later these values were overwrote after
start of bot mode (thx harps).
2015-06-21 10:36:36 +02:00
aurhat c1b10536c6 Don't duplicate bot names (almost) 2015-06-21 10:36:19 +02:00
aurhat dc1b920820 Cleanup bot code (server related) 2015-06-21 10:36:08 +02:00
aurhat 9613098697 Cleanup bot code 2015-06-21 10:34:07 +02:00
ac-stef 38c563dfd6 add command getvarrange
getvarrange <what> <varname>
  Gets range attribute <what> for builtin variable <varname>.

  what
    one of "min", "max" or "default"

  varname
    name of any builtin variable (integer or float)

DOCREF getvarrange
2015-06-13 22:16:52 +02:00
ac-stef fe6f9e92a7 tab and formfeed cleanup 2015-06-10 14:28:50 +02:00
ac-stef f3e72b8fb7 remove gettext
DOCREF gettext
2015-06-10 14:28:50 +02:00
ac-stef 0b940be8a0 remove gettext from cubescript 2015-06-10 14:28:50 +02:00
ac-stef cf2c37e3da add tab char to richtext filter
translate "\t" to a tab character
2015-06-10 14:28:42 +02:00
ac-stef cb9169ab0a remove double filtering of richtext
cubescript quotes ("") already filter richtext
2015-06-10 14:27:52 +02:00
ac-stef d3cdec0708 allow persistent menu selections
menuselectionpersistent
  Enables persistent selections for the currently displayed menu and also
  restores a previously saved selection. Probably most efficient inside
  "menuinit". The position is restored during execution of this command,
  so the menu entry has to already exist and the alias with the last
  position has to be read from saved.cfg. In autmatically created menus
  it may be necessary to execute the command with a short delay (see
  examples in this commit).

DOCREF menuselectionpersistent
2015-06-10 14:22:11 +02:00
ac-stef bdf53a5ab8 show preview of textures during editing
When textures of the map geometry are changed, five textures around the
current pick from the "last used" stack are shown. The texture assigned
to the "sky" slot is not shown. Instead, a plain blue rectangle is used.

hudtexttl
  Time to show texture preview (in milliseconds).

DOCREF hudtexttl
2015-06-10 14:22:11 +02:00
ac-stef 4e3c40c3be clean up texture boxes in menus
too many copies of the same few lines...
2015-06-10 14:22:11 +02:00
ac-stef 3bd73a8fa4 cleanup entity scaling 2015-06-10 14:22:11 +02:00
ac-stef 148719c0f7 add script command for menu items with alternate fonts
Also: add '\a' to the list of escaped characters and remove storage of
  unneeded "filename".

mitemaltfont <altfont> <text> <action> <hoveraction> <desc>
  Displays a menu line with a text which may contain chars from an
  alternate font.

  altfont
    Name of the alternate font.

  text
    Content of menu line. Chars from the alternate font have to be marked
    with "\a". Alternate font chars have no width and are just rendered
    above the following text. Use spaces to counter that.

  action, hoveraction, desc
    Same function as with other menu lines.

DOCREF menuitemaltfont
2015-06-10 14:12:43 +02:00
aurhat 842f120915 Fix and improve showing minimap and radar icons
Added features on minimap/radar:
1. local player is visible only when he doesn't follow;
2. player followed (watched) in third person point of view is visible
and his team too;
3. fix issue #99 ;
4. fix map position on radar, when player is followed in 3rd person pov -
before map didn't move with the followed player.
2015-06-07 14:24:14 +02:00
ac-stef cf2ae06de6 remove lightscale variable
DOCREF lightscale
2015-06-05 16:01:03 +02:00
ac-stef 11dc8202fa cleanup 2015-06-05 16:01:03 +02:00
ac-stef 6be832db4f better map model rotation
Create the rotation matrix with quaternions to avoid gimbal lock. The
matrix is created in a way, which has pitch and yaw behave as before.

Some of the quaternion code is borrowed from sauer, some from Q47 of the
Quaternions FAQ at http://vamos.sourceforge.net/matrixfaq.htm.
2015-06-05 16:00:03 +02:00
ac-stef 3d1f7d9b95 fix mapmodel occlusion when using pitch and roll
may need a bit more work, though
2015-06-05 16:00:03 +02:00
ac-stef fc0c6347f9 add lighting info to the cube inspector 2015-06-05 16:00:03 +02:00
ac-stef 7a7a8da310 experimental: add per-slot mapmodel scale factors
4th parameter of the "mapmodel" command is now a scale factor between
0.25 and 4.0. Values outside that range (like the dummy zero from old
map config files) are interpreted as 1.0
Scaling does not affect the clipping, which has to be adjusted manually.

DOCREF mapmodel editmapmodelslot
2015-06-05 16:00:02 +02:00
ac-stef 4fc8321330 set packages/audio/ambient as base directory for map sounds
Once a map uses automapcfg, only mapsounds in ambient/ will be played.
This is to keep menus and scripts clean of the prefix "ambient/".
2015-06-05 16:00:02 +02:00
ac-stef b54d9876a8 ask for replacement texture when deleting used texture slot
deletetextureslot <texture slot number> <"purge"> <replacement slot>
  Deletes an unused texture slot. If "purge" is specified as second
  argument, it also deletes an used slot. All mapmodels that use that
  texture as skin are changed to default skin. All world geometry, which
  uses the texture, is instead set to use slot #255 or a specified
  replacement slot. Slots below #5 always require "purge", no matter if
  they are in use (default slots). Also enables automapconfig.

DOCREF deletetextureslot
2015-06-05 16:00:02 +02:00
ac-stef b5187531a3 fix memory leak in gettexturelist 2015-06-05 16:00:02 +02:00
ac-stef d78002e167 texture preview display for menus
chmenutexture <menu name> <texture path>
  Displays a texture on the right side of a menu.

menutexturesize <size factor>
  Changes the size of textures displayed in menus. Mostly for testing
  purposes.

DOCREF chmenutexture menutexturesize
2015-06-05 16:00:02 +02:00
ac-stef 1b2e944754 add script commands to support texture and sound config menus
textureslotusagelist <what>
  Return a list of 256 numbers representing the number of uses for every
  texture slot. If <what> is "onlygeometry", uses as map model skin do
  not count. If <what> is "onlymodels", the uses in map geometry do not
  count.

gettextureorigin <path>
  Returns the location where the texture actually can be found. The
  possibilities are:
    "official": texture was found in the working directory, which
                indicates an official texture.
    "custom":   texture was found in the profile directory, which means,
                the texture is either manually installed or downloaded.
    "package dir #x": texture was found in a mod directory.
    "<file not found>": that.

textureslotbyname <texture path>
  Returns the list of numbers of all texture slots which use that texture
  file.

edittexturestack <floor|wall|ceiling> <texture slot number>
  Puts a texture slot in a "last used" list up front. The first
  parameter picks the list, the second parameter is the texture
  slot number to be used for the next edit

getautomapconfig
  Returns "1" if automapconfig is already enabled, "0" otherwise.

getmapsoundorigin <path>
  Returns the location where the map sound file actually can be found. The
  possibilities are:
    "official": the sound file was found in the working directory, which
                indicates an official mapsound.
    "custom":   the file was found in the profile directory, which means,
                the mapsound is either manually installed or downloaded.
    "package dir #x": mapsound was found in a mod directory.
    "<file not found>": that.

mapsoundslotbyname <mapsound path>
  Returns the list of numbers of all mapsound slots which use that texture
  file.

getmapsoundlist
  Returns a list of all *.wav and *.ogg files below packages/audio/ambient.

DOCREF textureslotusagelist gettextureorigin textureslotbyname
DOCREF edittexturestack getautomapconfig
DOCREF getmapsoundorigin mapsoundslotbyname getmapsoundlist
2015-06-05 16:00:02 +02:00
ac-stef fb3a04d5da add access to location where findfile() found the file
"findfilelocation" contains the location, where the file was found.
Not a nice solution, but nice enough :)

Note: if the location is FFL_WORKDIR, the existence of the file has not
actually been checked yet.
2015-06-05 16:00:02 +02:00
ac-stef 00fab48b94 change names of map model attribute commands
The command mapmodelattributes is now more appropriately named
"getmapmodelattributes", and the former "getmapmodelattributes" is now
named "listallmapmodelattributes".

DOCREF listallmapmodelattributes getmapmodelattributes
2015-06-05 16:00:02 +02:00
ac-stef 4b1c4f466f new command menurenderoffset
Moves a menu away from the middle of the screen. Values of "100" represent
half the screen width and height.

  menurenderoffset x-offset y-offset

DOCREF menurenderoffset
2015-06-05 16:00:02 +02:00
ac-stef ca7fbe9f19 minor fix 2015-06-05 16:00:02 +02:00
ac-stef 4c148b8f0b fix rendering of mapmodel clips 2015-06-05 16:00:01 +02:00
ac-stef acb26e23a0 cleanup menus.cpp
Place the command macro near the function body. Makes it easier to keep
command signature and function prototype in sync.
2015-06-05 16:00:01 +02:00
ac-stef 107a563e99 pin selection of closest entity in map editor
Pressing the middle mouse button toggles a pin on the "closest entity"
selector. The HUD will indicate the lock by showing "pinned" instead of
"closest" entity. All actions, that would otherwise affect the closest
entity, will affect the pinned entity instead. Deleting the locked entity
will unlock it.

toggleclosestentpin
  Toggles the pin on the "closest ent" selector. Bound to MOUSE3
  by default.

DOCREF togglelockclosestent
2015-06-05 16:00:01 +02:00
ac-stef d74296a6df experimental: allow factors up to 4 for hires textures
The performance drop is quite small and can completely be disabled by
"hirestextures 0", if needed.

May be revoked, if mappers have no use for it. Just assume this feature to
stay, if textures emerge, which benefit from factor 4 over factor 2.

DOCREF texture
2015-06-05 16:00:01 +02:00
ac-stef 3bdd199ad2 include and translate texture slots during copy&paste
When blocks of map geometry are copy-pasted between maps (or xmaps), this
commit translates the texture slot numbers between different texture
config sets. Missing textures are assigned a slot in the target map.

When texture slots are added, automapconfig gets enabled.

If the paste gets removed by the undo function, the newly assigned texture
slots will NOT be removed. This is by design.
2015-06-05 16:00:01 +02:00
ac-stef 779df670fe fix scaled world textures (a.k.a hires textures)
Until now, every texture file was only loaded once after game start. When
a subsequent use of an already in use texture required a different
scaling factor, the texture was not reloaded. Simultaneous use of one
texture file with different scaling factors was completely impossible.

Now, the scaling factor is treated as part of the file name. Therefore, a
texture will be loaded again, if it is needed in a different scaling
factor.

Also: using out of range scaling factors with the "texture" command now
results in an error message. Some map config authors don't use the command
properly...

Also: removed the unneeded createtexturefromsurface()
2015-06-05 16:00:01 +02:00
aurhat e64c2350d0 Increase speed of rewind
The commit increases very much speed of demo rewind and also prevents
AC freeze for gamespeed = 1000.
It may degrade physics for gamespeed = 1000 on very low end machines.
2015-06-05 13:37:25 +02:00
ac-stef 2f1fc1c9c8 cleanup formatted output of entity attributes 2015-05-27 15:47:05 +02:00
ac-stef aa4e6e837c add deleted entities to xmaps 2015-05-27 15:47:05 +02:00
ac-stef 79f78711bd automatically reduce showstats when dbgpos is set
Reduces "showstats 2" to "showstats 1" when dbgpos is set to "1".

DOCREF showstats dbgpos
2015-05-27 15:47:05 +02:00
ac-stef 95680b699c add undelete for entities
BACKSPACE in combination with editmeta (LCTRL) now undeletes the last
deleted entity. BACKSPACE in combination with editmeta2 (LSHIFT) brings
up the menu "deleted entities".

The edit menu now has a submenu "deleted entities" which lists all
deleted entities and undeletes the selected one.

undelent [<index>]
  If no index is specified, the last deleted entity is restored. If an
  index is given, the specified entity from the list of deleted entities
  is restored.

getdeletedentities
  Returns a list of deleted entities. Each line contains the entity type,
  the position and all seven attributes.

unlistdeletedentity [<which>]
  If <which> is a number, the specified entry from the list of deleted
  entities gets removed. If <which> is "all", the whole list of deleted
  entities gets deleted. If <which> is "last" the last deleted entity is
  removed from the list of deleted entities.
  Returns the number of entities on the list of deleted entities (even if
  the parameter <which> was unknown or not specified).

DOCREF undelent getdeletedentities unlistdeletedentity
2015-05-27 15:47:05 +02:00
ac-stef edd94fb931 tilted and rotated clip entities
Attribute 7 of clip- and plclip-entities now allows four different shapes
for the clips:

  0: basic rectangular (like in older AC versions)
  1: tilted in direction of x-axis
  2: tilted in direction of y-axis
  3: rotated by 45 degrees

The shapes 1 and 2 use the value of attr6 as slope angle.

The player only can walk upwards a tilted clip, if the height (attr4) is
at least 0.6 cubes. Slopes steeper than 5.0 can not be walked up (same
maximum step size as for sloped map geometry).

Mappers, please keep in mind: especially tilted clips are more expensive
than regular clips, but they are much cheaper than stairs built from a
bunch of regular clips. Large and small clips cost exactly the same, so
try to combine clips to keep the total number down.
2015-05-27 15:47:05 +02:00
ac-stef 8fa90bef67 clarify clamp() 2015-05-27 15:47:05 +02:00
ac-stef c9ef46062f finish attr5..7 and highres entity attributes
* some cleanups in editing.cpp (putting COMMAND to the function, removing
  unnecessary COMMANDF)
* upgrade transformclipentities for floating point clip entities
* changed some entity commands to float attributes

entproperty <attribute index> <attribute increment> [<unscaled flag>]
  index and increment work like before, but increment is now a float for
  some attributes. If unscaled is "1", increment is applied as unscaled
  integer, which means, it will change float attributes at their highest
  resolution.

getentattr <attribute index> [<unscaled flag>]
  Works like before, but returns float values for some attributes. If
  unscaled is "1", raw integer values (representing the highest resolution)
  are returned.

entset <type> <attr1> <attr2> <attr3> <attr4>
  Works like before, but some attributes may be specified as floats.

editentity <...>
  Now uses float values for some attributes. Return values also may be
  float.

DOCREF newent entproperty getentattr entset editentity
2015-05-27 15:47:05 +02:00
ac-stef 4117ff73d7 output warning for problematic map model config parameters 2015-05-27 15:47:05 +02:00