notes.txt

(15 KB) Pobierz
Notes for new features in V1.05
===============================


IFeel support
-------------

If you have iFeel-compatibile mouse, you can turn the iFeel support on/off in the Players and Controls menu. If you wish to modify the .ifr effect files, they are located in the Data directory. The file "IFeel.txt" determines which effects are loaded for which mouse.


MOTD
----

Simply set the cvar ser_strMOTD.


Using SeriousEditor with mods
-----------------------------

SeriousEditor.exe will now accept input parameter +game, in the same way that SeriousSam.exe does, and it will be able to load the files from the Mod directory. 


Direct3D 8
----------

Support for D3D is finished, but there might be some issues with different hardware. Generally D3D is ~10% slower than OpenGL, but on some systems you might experience moderate speedups and/or compatiblity fixes. Feel free to experiment. It is recommended to install DirectX 8.1 version, but 8.0 will be sufficient, too.
Tools work in D3D mode too, but you might experience some trouble when using full-screen mode for testing. If possible, try not to use one API for SeriousEditor and other for full-screen testing inside the editor.
Console variables that controls API now have 3 prefixes; 'ogl_' for OpenGL control, 'd3d_' for Direct3D control, and 'gap_' for both APIs. Help is still available for almost every of these console variables ('help [cvar_name]'), and some of them can be controled thru 'advanced rendering' sub-menu.


Truform/N-Patches
-----------------

SSam now supports Truform (OpenGL) or N-Patches (Direct3D) in hardware. For the time being, only board that supports this feature is ATI Radeon 8500. You can control Truform usage thru 'advanced rendering' sub-menu or corresponding console variables. Keep in mind that Truform usage is enabled by default, but only for Truform-ready models. The catch is that SSam doesn't have any of such models, so you'll need to force Truform usage on all models with cvar '/gap_bForceTruform=1'.




Notes for new features in V1.04
===============================

Menu appearance changing (for mod coders only)
----------------------------------------------

  Serious Sam calls LCD functions from LCDDrawing.cpp, same as NETRICSA. Change LCDGetColor() to override colors used. Input is the original color and symbolic name of the item involved, output the color you would like. Item names are like: 'enabled unselected', 'slider box', 'bcg fill', etc.

Advanced server administration parameters for connecting clients, observers and VIPs
------------------------------------------------------------------------------------
Now, there are 4 different passwords configurable per server: 

1) net_strConnectPassword
Connection password still has same function as before - if the connection password is set, you gotta have it in order to connect to the server. 

2) net_strAdminPassword
Admin password is used for remote administration, either by a connect client (like before), or using RCon.exe. 
Note that now, using RCon.exe, you can administer a server remotely without connecting to it, so you need only the admin password for that.

3) net_strObserverPassword
If observer password is set, you need to know the password in order to be an observer. Note that if oberver password is set, but connection password is not, you can connect without knowing the password, but then you must play - i.e. you may not be an observer. This was implemented specially to limit server workload imposed by observers during competition matches.

4) net_strVIPPassword
You need to know this password in order to be able to connect as one of the VIPs on the server. net_iVIPReserve controls the number of client/player slots reserved for VIPs. So VIPs have the privilege to be able to connect even when the server is full, since there are reserved places waiting for them. VIPs have no administrative rights per se, just reserved places waiting for them to play.

Also, using net_iMaxObservers, you can now control maximum number of observers that can be connected at one time. Using net_iMaxClients, you control the maximum number of connections at one time. If net_iMaxClients is set to 0 (default), the number of connections is equal to the number of players. Using net_iMaxClients and net_iMaxObservers you can limit your server to some strange combinations if you want, like allowing 4 players, but only 2 connections (i.e. allow 2 split screen PC to connect, two players per PC).


Chat message notification sound
-------------------------------
Every time a chat message is printed on screen, Sounds\Menu\Chat.wav will be played. You can put any sample you want there.


Transparent polygons on world
-----------------------------
Just select 'transparent' on the Polygon property page. This is ideal for bars gratings and similar. In most cases you will want to set Passable off and Shootthrough on.


Batch command scripts
---------------------

All .ini files placed in directory Scripts\Commands are considered batch commands. They are executed in a similar mannar as .bat files in dos, by substituting parameters given on the command line for %1, %2, etc. See the four provided commands kick, rkick, list and rlist for examples. kick and list work locally and rkick and rlist remotely, on the server. 
Example:
-> /kick WiseGuy*

Just type /kick or /rkick for usage text. Note that with the batch scripts you don't have to type input parameters in parentheses and separated with commas like with functions. Just list them on the command line.

New console commands
--------------------

ListPlayers() gives you a subset of info from NetworkInfo(), but this is what most people need - just a list of players, without extra debugging data. 
KickByName() kicks the client by its player name, and supports wildcards. Also, it ignores color codes, so it is easier to kick people with decorated names.
Restart() works only for DedicatedServer, and it makes it restart from the first map in the sequence. 
NextMap() works only for DedicatedServer, and it makes it skip over to the next map. Using ded_strLevel, gam_ variables, and NextMap() you can adjust next map and parameters on the fly and then switch to it.


UDP-only RCon protocol and accompanying RCon program
----------------------------------------------------

Besides the old Admin() command, there is now a simple UDP-only RCon protocol available. Using RCon.exe, you can connect to a server and administer it without starting SeriousSam. Usage:

RCon.exe <serveraddress> <port> "<password>"

Example: 

C:\Program Files\Croteam\Serious Sam\Bin\> RCon.exe coolserver.mydomain.net 25600 "ImSoCool"

Note that you _must_ put the password in quotes!

Banning by ip and/or playername 
-------------------------------

ser_strIPMask and ser_strNameMask hold the banning masks for ip addresses and player names. Each line in the mask string is one ip address or name (or a wildcard) that will be forbidden to access the server. 
You can also use console functions AddIPMask(), RemIPMask(), AddNameMask() and RemNameMask() to change those masks. The functions just add or remove lines to the strings. 
Examples:

/AddIPMask("123.124.125.126");    // ban that one ip
/AddIPMask("192.168.*.*");        // ban the whole local subnet
/AddNameMask("John");             // john gets grounded
/AddNameMask("[EvilTeam]*");	// the evil team is not welcome on this server


ATI Truform support for models
------------------------------
Set ogl_iTruformLevel to a number greater than zero. Note Truform is supported on all ATI cards, but it is emulated in software on anything below Radeon2, so it will be very slow. 


Added transformation matrix for importing 3d objects
----------------------------------------------------
In model script, between SIZE and FLAT add keyword TRANSFORM, followed with 9 numbers. The numbers represent a transformation matrix (translation is not supported, only rotation, stretching and flipping). For example:
TRANSFORM 1 0 0  0 1 0  0 0 1
is identity transformation.

and:
TRANSFORM -1 0 0  0 1 0  0 0 1
flips the x axis.


Dynamically customizable model collision boxes per entity (for mod coders only)
-------------------------------------------------------------------------------
By overriding GetCollisionBoxParameters() virtual function, you can change sizes of each collision box for each entity. Note that you should never change the parameters of the current box dynamically, during the game, or you might end up beeing inside a wall. If you want to change box size, don't change the one that is your current. Change some other box and then switch to it using standard functions (CanChangeCollisionBoxNow() and ChangeCollisionBoxWhenPossible()). Generally, you should be able to do whatever you want using a simple double-buffering method.


Visibility Tweaks
-----------------

VisTweaks are special flags assigned to each sector and to each worldbase brush entity. They are used to hand-tune visibility calculations for non-zoning brushes. Normally, visibility calculations are 'conservative', meaning that you always see all brushes that are in your line of sight. However, in order to improve the frame rate, you would sometimes prefer to drop some brushes that could potentially be visible. Naturally, the results are not realistic, since some buildings that might be seen from some points in the level will not be rendered, but if the gamer doesn't notice, it may be acceptable.

There are two groups of flags: visibility bits (banks 0 and 1) and classification bits (banks 2 and 3). The bits are editable per sector of a zoning brush (in the Sector property page), and pe...
Zgłoś jeśli naruszono regulamin