Subversion Repository Public Repository

fonline_sdk

This repository has no backups
This repository's network speed is throttled to 100KB/sec

Changeset 393

Committed by cvet on Sun 07 Apr, 2013 15:25:23 +0000

Commit Message:

Исправлены баги связанные с некорректной работой сервера, клиента и маппера под операционной системой Linux.
Работоспособность протестирована на Ubuntu 12.10 под VirtualBox.
Все бинарники пересобраны с использованием GCC 4.7.2.

Оптимизирована работа OpenGL рендеринга, производительность увеличилась в два-три раза.
Проработан код рендеринга и шейдеров на предмет совместимости со старыми видеокартами (тестировалось на Radeon 9600).

Добавлены новые возможности по смене эффектов в клиенте с помощью функции SetEffect - см. _client_defines.fos, ‘Effect types’ и ‘Effect subtypes’.
Так же изменена спецификация функции SetEffect с
void SetEffect(int effectType, int effectSubtype, string@+ effectName)
на
bool SetEffect(int effectType, int effectSubtype, string@+ effectName, string@+ effectDefines = null)
string@+ effectDefines - директивы препрцессора для эффекта (null по умолчанию);
возвращаемое значение указывает на успешность загрузки и компиляции эффекта.

В скрипты клиента и маппера добавлена функция ‘bool __OpenGLRendering’, которая указывает какой рендеринг используется (true – OpenGL, false – Direct3D).

Исправлен механизм определения уже запущенного окна клиента.

Для клиента/маппера добавлены глобальные переменные
uint __FPS - текущий FPS;
uint __PingPeriod - период пинга сервера (равен 2000 мс по умолчанию);
uint __Ping - текущий пинг.

В нативные скрипты добавлена функция с помощью которой можно устанавливать обратные вызовы при логгировании
void ( * GameOptions::SetLogCallback )( void ( * function )( const char* ), bool enable );
void ( * function )( const char* ) - функция куда будут передаваться тексты лога;
bool enable - установить или убрать обратный вызов.

Клиентская скриптовая функция DrawHardcodedScreen теперь работает и с основными экранами клиента (CLIENT_MAIN_SCREEN_*).

В виду неактуальности убрана глобальная переменная ‘bool DisableDrawScreens’.

Added global server function 'uint GetRegisteredPlayers( array<uint>& ids, array<string>& names )' - returns length of arrays with clients. (by Wipe)

Fix for preprocessor’s line translation with multiline macros. Added full file name to output. (by Atom)

Preprocessor now implements evaluation of constant expressions using #if directive. (by Atom)

Changes

Added /Client/data/effects/2D_WithoutEgg.glsl

Added /Client/data/effects/Flush_RenderTarget.glsl

Added /Client/data/effects/Flush_RenderTargetMS.glsl

Removed /Client/data/effects/Flush_Shadow.glsl

Removed /Client/data/effects/Flush_Texture.glsl

Removed /Client/data/effects/Flush_TextureMS.glsl

Removed /Client/data/effects/Tile_Default.glsl

Modified /Client/FOnline Diff

Modified /Client/FOnline.exe Diff

Modified /Client/FOnline.pdb Diff

Modified /Client/FOnlineD3D.exe Diff

Modified /Client/FOnlineD3D.pdb Diff

Modified /Client/data/cache/default.cache Diff

Modified /Client/data/cache/localhost.4000.cache Diff

Modified /Client/data/cache/singleplayer.cache Diff

Modified /Client/data/effects/3D_Skinned.glsl Diff

Modified /Client/data/effects/Contour_Default.glsl Diff

Modified /Client/data/effects/Flush_Map_BlackWhite.glsl Diff

Modified /Client/data/effects/ReadMe.txt Diff

Modified /Server/FOnlineServer Diff

Modified /Server/FOnlineServer.exe Diff

Modified /Server/FOnlineServer.pdb Diff

Modified /Server/FOnlineServerDaemon Diff

Modified /Server/scripts/_client_defines.fos Diff

Modified /Server/scripts/client_gui.fos Diff

Modified /Server/scripts/client_main.fos Diff

Modified /Server/scripts/fonline.h Diff

Modified /Server/scripts/fonline_test.dll Diff

Modified /Server/scripts/fonline_test.so Diff

Modified /Server/scripts/fonline_test_client.dll Diff

Modified /Server/scripts/fonline_test_client.so Diff

Modified /Server/scripts/fonline_tla.dll Diff

Modified /Server/scripts/fonline_tla.so Diff

Modified /Server/scripts/fonline_tla_client.dll Diff

Modified /Server/scripts/fonline_tla_client.so Diff

Modified /Tools/ASCompiler/ASCompiler Diff

Modified /Tools/ASCompiler/ASCompiler.exe Diff

Modified /Tools/Mapper/Mapper Diff

Modified /Tools/Mapper/Mapper.exe Diff

Modified /Tools/Mapper/Mapper.pdb Diff

Modified /Tools/Mapper/MapperD3D.exe Diff

Modified /Tools/Mapper/MapperD3D.pdb Diff