HLFX.Ru Forum Страницы (11): « Первая ... « 3 4 5 6 [7] 8 9 10 11 »
Показать все 164 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Xash 0.91 build 1832 open beta-testing (https://hlfx.ru/forum/showthread.php?threadid=3257)


Отправлено fire64 13-04-2012 в 18:35:

C++ Source Code:
1
signed int __cdecl Initialize(const void *a1, int a2)
2
{
3
  signed int result; // eax@2
4
  const CHAR *v3; // esi@3
5
  HMODULE v4; // eax@5
6
  int v5; // eax@7
7
  HMODULE v6; // eax@13
8
  int v7; // eax@13
9
  int v8; // eax@15
10
  HMODULE v9; // eax@19
11
  int v10; // eax@21
12
  int v11; // esi@21
13
  HMODULE v12; // eax@25
14
  int v13; // eax@25
15
  int v14; // [sp+Ch] [bp-400h]@17
16
  const CHAR LibFileName; // [sp+20Ch] [bp-200h]@11
17
 
18
  memcpy(&dword_1A21BA0, a1, 0x214u);
19
  if ( a2 == 7 )
20
  {
21
    sub_1947C60();
22
    loc_1901000();
23
    v3 = "filesystem_stdio.dll";
24
    if ( dword_1A21C5C("-steam", 0) )
25
      v3 = "filesystem_steam.dll";
26
    v4 = (HMODULE)sub_1959EA0(v3);
27
    dword_1A21DB4 = v4;
28
    if ( v4 )
29
    {
30
      v5 = sub_1959F00(v4);
31
      if ( v5 )
32
      {
33
        dword_1A21DB8 = ((int (__cdecl *)(_DWORD, _DWORD))v5)("VFileSystem009", 0);
34
        if ( dword_1A21DB8 )
35
        {
36
          if ( dword_1A21D0C("cl_dlls/particleman.dll", &LibFileName, 512) )
37
          {
38
            v6 = (HMODULE)sub_1959EA0(&LibFileName);
39
            hLibModule = v6;
40
            v7 = sub_1959F00(v6);
41
            if ( v7 )
42
            {
43
              v8 = ((int (__cdecl *)(_DWORD, _DWORD))v7)("create_particleman", 0);
44
              dword_1A21DE0 = v8;
45
              if ( v8 )
46
              {
47
                (*(void (__thiscall **)(_DWORD, _DWORD))(*(_DWORD *)v8 + 4))(v8, &dword_1A21BA0);
48
                (*(void (__stdcall **)(_DWORD))(*(_DWORD *)dword_1A21DE0 + 24))(276);
49
                (*(void (__stdcall **)(_DWORD))(*(_DWORD *)dword_1A21DE0 + 24))(304);
50
              }
51
            }
52
            else
53
            {
54
              dword_1A21DE0 = 0;
55
              hLibModule = 0;
56
            }
57
          }
58
          else
59
          {
60
            dword_1A21DE0 = 0;
61
            hLibModule = 0;
62
          }
63
          if ( dword_1A21D0C("cl_dlls\\GameUI.dll", &v14, 512) )
64
          {
65
            v9 = (HMODULE)sub_1959EA0((LPCSTR)&v14);
66
            dword_1A21DBC = v9;
67
            if ( v9 )
68
            {
69
              v10 = sub_1959F00(v9);
70
              v11 = v10;
71
              if ( v10 )
72
              {
73
                dword_1A21DC8 = ((int (__cdecl *)(_DWORD, _DWORD))v10)("GameConsole003", 0);
74
                dword_1A21DC4 = ((int (__cdecl *)(_DWORD, _DWORD))v11)("GameUI007", 0);
75
                dword_1A21DC0 = ((int (__cdecl *)(_DWORD, _DWORD))v11)("CareerUI001", 0);
76
                dword_1A21DCC = ((int (__cdecl *)(_DWORD, _DWORD))v11)("MusicManager001", 0);
77
                if ( dword_1A21D0C("Bin/TrackerUI.dll", &v14, 512) )
78
                {
79
                  v12 = (HMODULE)sub_1959EA0((LPCSTR)&v14);
80
                  dword_1A21DD4 = v12;
81
                  v13 = sub_1959F00(v12);
82
                  if ( v13 )
83
                  {
84
                    dword_1A21DD8 = ((int (__cdecl *)(_DWORD, _DWORD))v13)("FriendsUser001", 0);
85
                    result = 1;
86
                  }
87
                  else
88
                  {
89
                    dword_1A21DD8 = 0;
90
                    dword_1A21DD4 = 0;
91
                    result = 1;
92
                  }
93
                }
94
                else
95
                {
96
                  dword_1A21DD8 = 0;
97
                  dword_1A21DD4 = 0;
98
                  result = 1;
99
                }
100
              }
101
              else
102
              {
103
                result = 0;
104
              }
105
            }
106
            else
107
            {
108
              result = 0;
109
            }
110
          }
111
          else
112
          {
113
            dword_1A21DD8 = 0;
114
            dword_1A21DD4 = 0;
115
            result = 1;
116
          }
117
        }
118
        else
119
        {
120
          result = 0;
121
        }
122
      }
123
      else
124
      {
125
        result = 0;
126
      }
127
    }
128
    else
129
    {
130
      result = 0;
131
    }
132
  }
133
  else
134
  {
135
    result = 0;
136
  }
137
  return result;
138
}

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Дядя Миша 13-04-2012 в 18:44:

Ну в целом - да. Весьма похоже, что контра пользует этот gameUI.
Но скажитъе пожалуйста, почему же в таком случае мы про унутреннее устройство этого GameUi не знаем вообще ничего? Ведь по идее это пользовательская библиотека. Ну, раз уж она лежит в папке cl_dlls.
Да и particleman.dll вообщем-то тоже. Но у нас к ней нету не то чтобы сорцев. У нас даже описаний интерфейсов нету. По-моему это самое натуральное издевательство.
ЗЫ. FiEctro как-то доставал описание интерфейса от GameUI, оно должно лежать где-то здесь, в соседних темах. Хотя этот gameUI наверняка захочет волшебную дллку filesystem_steam.dll ну или что-то в этом роде.
Учитывая, что это уже новый дизайн, в стиле хл2 и все библиотеки линкуются динамически.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено qpAHToMAS 13-04-2012 в 19:21:

particleman.dll в новых версиях клиента CS 1.6 даже не присутствует. На старых его еще удаляли — дым от дымовой гранаты пропадал, а сейчас все без него тип-топ.

code:
Protocol version 48 Exe version 1.1.2.6/2.0.0.0 (cstrike) Exe build: 16:05:41 Jun 15 2009 (4554)


Отправлено a-kush-er 13-04-2012 в 20:08:

Дядя Миша
билд 1874, в других билдах такого у меня не было.


Отправлено marikcool 13-04-2012 в 20:21:

Цитата:
qpAHToMAS писал:
particleman.dll в новых версиях клиента CS 1.6 даже не присутствует. На старых его еще удаляли — дым от дымовой гранаты пропадал, а сейчас все без него тип-то

он находится в valve/cl_dlls, и некуда не делся.

а если initilizite не вызывать а напрямую структуру закопировать
в &gEngfuncs (то есть в &dword_1A21BA0 - если это относительный адресс) ?


Отправлено Дядя Миша 14-04-2012 в 12:24:

a-kush-er у меня сейчас 1892 билд.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено underworlddemon 15-04-2012 в 12:49:

Цитата:
Дядя Миша писал:
у меня сейчас 1892 билд.

пока не выкладывал ?
в шапке темы гораздо более маленький билд


Отправлено Дядя Миша 15-04-2012 в 13:08:

Цитата:
underworlddemon писал:
пока не выкладывал ?

пока нет.
Да там мало что изменилось. Починил баг в меню, прикрутил раздельные регуляторы громкости для музыки и звуков, т.е. регулятор музыки больше не зависит от громкости звука в игре (как в хл). Исправил баг в звуковом движке, благодаря которому некоторые звуки внезапно начинали играть совсем не оттуда (например на карте e1m5 в римейке кваки) ну и выполнил первичную имплементацию расширенного клиентского интерфейса.
Из имплиминтированных функций:
pfnGetCvarList
pfnGetCmdList
pfnCvarName
pfnCmdName
pfnGetServerTime
pfnGetGravity
pfnPrecacheSprite
pfnSPR_DrawGeneric
LocalPlayerInfo_ValueForKey
pfnStartDynamicSound
pfnMP3_InitStream (флаг 1 я принял как LOOP)
pfnSys_FloatTime
pfnStartDynamicSound2
pfnFillRGBA2

вот такие пирожки.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 15-04-2012 в 17:00:

Цитата:
Дядя Миша писал:
Ну в целом - да. Весьма похоже, что контра пользует этот gameUI.

На этом GameUI.dll очень сильно завязаны всё менюшки в КС. Ну там настройки прицела и всякие другие мультиплеерные настроечки, отображение менюшек карьеры в Кондишн Зеро и проч.
Цитата:
Дядя Миша писал:
Но скажитъе пожалуйста, почему же в таком случае мы про унутреннее устройство этого GameUi не знаем вообще ничего? Ведь по идее это пользовательская библиотека. Ну, раз уж она лежит в папке cl_dlls.

Ну как бы если Валвэ ни то что не выпустили ни одного СДК под стим-версию, даже инфы о новых функциях не дали, то следовательно нет ничего и про GameUI. Там видимо всё тесно переплетено со стимовским интерфейсом, вот они и бояться, что чего-нибудь хакнут. Вообще странный подход - делать так много зависимостей пользовательских библиотек от библиотек системы цифровой дистрибьюции. Да ещё и таким образом, что от версии к версии что-нибудь изламывается, и клиент билда контры 2007 года не работает в движке версии 2008 года. При том, что кардинальных изменений в сам движок, как это было с ВОН-хл внесено не было.


Отправлено Дядя Миша 15-04-2012 в 17:31:

ну вот этот почерк - делать несовместимые версии, херить старые зависимости, вводить идиотские функции косвенно указывает на тот факт, что valve обновила состав погроммиздов, набрав молодых дурачков.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 15-04-2012 в 17:39:

>> ЗЫ. FiEctro как-то доставал описание интерфейса от GameUI, оно должно лежать где-то здесь, в соседних темах. Хотя этот gameUI наверняка захочет волшебную дллку filesystem_steam.dll ну или что-то в этом роде.

Оно лежит в единственном месте - у меня на винте. Я предлагал включить в СДК мол "чтобы было", но как грится интерфейс к успеху шел. А там не только для КС там и для КСКЗ было.

C++ Source Code:
1
//=======================================================================
2
//			Copyright XashXT Group 2010 ©
3
//=======================================================================
4
 
5
class IGameUI007 : public IBaseInterface
6
{
7
public:
8
  // virtual destructor from IBaseInterface
9
 
10
  // 0x04
11
  // Phil: Implementation detail: actual factorys are from unknown,
12
  //       vgui2.dll, filesystem.dll, gameui.dll, client.dll
13
  virtual bool Init( CreateInterfaceFn *factoryList, int numFactories ) = 0;
14
 
15
  // 0x08
16
  virtual void Start( struct cl_enginefuncs_s *enginefuncs, int interfaceVersion, IAppSystem *system ) = 0;
17
 
18
  // 0x0c
19
  virtual void Shutdown() = 0;
20
 
21
  // 0x10
22
  // Assuming this is the same as HL2 version...
23
  // Activates the menus, returns 0 if it doesn't want to handle it
24
  virtual int ActivateGameUI() = 0;
25
 
26
  // 0x14
27
  virtual void ActivateDemoUI() = 0;
28
 
29
  // 0x18
30
  virtual bool HasExclusiveInput() = 0;
31
 
32
  // 0x1c
33
  // Assuming this is the same as HL2 version...
34
  virtual void RunFrame() = 0;
35
 
36
  // 0x20
37
  virtual void ConnectToServer( const char *game, int IP, int port ) = 0;
38
 
39
  // 0x24
40
  virtual void DisconnectFromServer() = 0;
41
 
42
  // 0x28
43
  // Assuming this is the same as HL2 version...
44
  virtual void HideGameUI() = 0;
45
 
46
  // 0x2c
47
  // Assuming this is the same as HL2 version...
48
  virtual bool IsGameUIActive() = 0;
49
 
50
  // 0x30
51
  virtual void LoadingStarted( const char *resourceType, const char *resourceName ) = 0;
52
 
53
  // 0x34
54
  virtual void LoadingFinished( const char *resourceType, const char *resourceName ) = 0;
55
 
56
  // 0x38
57
  virtual void StartProgressBar( const char *progressType, int numProgressPoints ) = 0;
58
 
59
  // 0x3c
60
  virtual int ContinueProgressBar( int progressPoint, float progressFraction ) = 0;
61
 
62
  // 0x40
63
  virtual void StopProgressBar( bool bError, const char *failureReasonIfAny, const char *extendedReason ) = 0;
64
 
65
  // 0x44
66
  virtual int SetProgressBarStatusText( const char *statusText ) = 0;
67
 
68
  // 0x48
69
  virtual void Unknown1( void *u1 ) = 0;
70
 
71
  // 0x4c
72
  // Maybe progress bar image/time left?
73
  virtual void Unknown2( void *u1 ) = 0;
74
 
75
  // 0x50
76
  virtual void Unknown3( void *u1, void *u2 ) = 0;
77
 
78
  // 0x54
79
  virtual void Unknown4( void *u1, void *u2 ) = 0;
80
};
81
 
82
//-----------------------------------------------------------------------------
83
// Purpose: interface to game/dev console
84
// Phil: Only one difference between Source and GoldSrc versions.
85
//-----------------------------------------------------------------------------
86
class IGameConsole : public IBaseInterface
87
{
88
public:
89
  // activates the console, makes it visible and brings it to the foreground
90
  virtual void	Activate() = 0;
91
 
92
  virtual void	Initialize() = 0;
93
 
94
  // hides the console
95
  virtual void	Hide() = 0;
96
 
97
  // clears the console
98
  virtual void	Clear() = 0;
99
 
100
  // return true if the console has focus
101
  virtual bool	IsConsoleVisible() = 0;
102
 
103
  // prints a message to the console
104
  virtual void	Printf(const char *format, ...) = 0;
105
 
106
  // printes a debug message to the console
107
  virtual void	DPrintf(const char *format, ...) = 0;
108
 
109
  // printes a debug message to the console
110
  // Phil: This function is not present in GoldSrc
111
  // virtual void	ColorPrintf( Color& clr, const char *format, ...) = 0;
112
 
113
  virtual void	SetParent( VPANEL parent ) = 0;
114
};
115
 
116
#define GAMECONSOLE_INTERFACE_VERSION "GameConsole003"
117
 
118
//-----------------------------------------------------------------------------
119
// Purpose: ???
120
//-----------------------------------------------------------------------------
121
class IMusicManager : public IBaseInterface
122
{
123
public:
124
  // virtual destructor from IBaseInterface
125
 
126
  // param1 must be one of [2, 3, 4, 5, 6, 7]
127
  // param2 is "looping" if non-zero
128
#define MUSICMANAGER_NOT_LOOPING 0
129
#define MUSICMANAGER_LOOPING 1
130
  virtual void	StartTrack( int track, char looping ) = 0;
131
 
132
  virtual void	StopTrack() = 0;
133
 
134
  virtual void	FadeoutTrack() = 0;
135
 
136
  virtual bool	IsPlayingTrack( int track ) = 0;
137
 
138
  // Returns whether current track is number 1 ???
139
  virtual bool	Unknown1() = 0;
140
};

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 15-04-2012 в 17:43:

Цитата:
FiEctro писал:
//=======================================================================
// Copyright XashXT Group 2010 ©
//=======================================================================

ХРЕНАСЕ

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 15-04-2012 в 17:45:

Дядя Миша
Это я добавил, внадежде что дурачки буржуи скопипастят .

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено manuel 15-04-2012 в 20:42:

что, если мы объединим xash в GlQrack http://quakeone.com/qrack/download.php как это modificasion половины жизни (xash) двухлетний Quake1, хотя и выглядит немного технологии Quake 2

__________________
: Patsak:


Отправлено Дядя Миша 15-04-2012 в 20:52:

QRack - это самая обычная первоквака с парой занимательных эффектов.
Рядом с ксашем и близко не валялась. Нечего там объединять.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 02:19. Страницы (11): « Первая ... « 3 4 5 6 [7] 8 9 10 11 »
Показать все 164 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024