Skip to content

Commit a0cbe9e

Browse files
committed
Added online_arbitration_windows
1 parent c0f827e commit a0cbe9e

4 files changed

Lines changed: 131 additions & 0 deletions

File tree

game/game.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ copy /b $(ProjectDir)source\config\version.cpp +,, $(ProjectDir)source\config\ve
352352
<ClCompile Include="source\networking\logic\storage\network_storage_queue.cpp" />
353353
<ClCompile Include="source\networking\messages\network_message_queue.cpp" />
354354
<ClCompile Include="source\networking\messages\network_out_of_band_consumer.cpp" />
355+
<ClCompile Include="source\networking\online\online_arbitration_windows.cpp" />
355356
<ClCompile Include="source\networking\online\online_files.cpp" />
356357
<ClCompile Include="source\networking\online\online_presence_pc.cpp" />
357358
<ClCompile Include="source\networking\online\online_service_record.cpp" />
@@ -1269,6 +1270,7 @@ copy /b $(ProjectDir)source\config\version.cpp +,, $(ProjectDir)source\config\ve
12691270
<ClInclude Include="source\game\game_options.hpp" />
12701271
<ClInclude Include="source\game\game_progression.hpp" />
12711272
<ClInclude Include="source\networking\online\online_achievements.hpp" />
1273+
<ClInclude Include="source\networking\online\online_arbitration_windows.hpp" />
12721274
<ClInclude Include="source\networking\online\online_files.hpp" />
12731275
<ClInclude Include="source\networking\online\online_presence_pc.hpp" />
12741276
<ClInclude Include="source\networking\online\online_session.hpp" />

game/game.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1965,6 +1965,9 @@
19651965
<ClCompile Include="source\networking\logic\logic_matchmaking_composition.cpp">
19661966
<Filter>Source Files</Filter>
19671967
</ClCompile>
1968+
<ClCompile Include="source\networking\online\online_arbitration_windows.cpp">
1969+
<Filter>Source Files</Filter>
1970+
</ClCompile>
19681971
</ItemGroup>
19691972
<ItemGroup>
19701973
<ClInclude Include="source\camera\camera.hpp">
@@ -4373,6 +4376,9 @@
43734376
<ClInclude Include="source\networking\logic\logic_matchmaking_composition.hpp">
43744377
<Filter>Header Files</Filter>
43754378
</ClInclude>
4379+
<ClInclude Include="source\networking\online\online_arbitration_windows.hpp">
4380+
<Filter>Header Files</Filter>
4381+
</ClInclude>
43764382
</ItemGroup>
43774383
<ItemGroup>
43784384
<ResourceCompile Include="resource\resource.rc">
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
#include "networking/online/online_arbitration_windows.hpp"
2+
3+
#include "cseries/cseries_events.hpp"
4+
#include "networking/logic/network_arbitration.hpp"
5+
#include "networking/online/online_guide_pc.hpp"
6+
7+
//s_online_arbitration_globals g_online_arbitration_globals{};
8+
9+
void online_arbitration_dispose()
10+
{
11+
//overlapped_track_delete(g_online_arbitration_globals.arbitration_overlapped_task);
12+
//csmemset(&g_online_arbitration_globals, 0, sizeof(s_online_arbitration_globals));
13+
}
14+
15+
void online_arbitration_initialize()
16+
{
17+
//csmemset(&g_online_arbitration_globals, 0, sizeof(s_online_arbitration_globals));
18+
//g_online_arbitration_globals.arbitration_overlapped_task = (c_arbitration_overlapped_task*)overlapped_malloc_tracked(sizeof(c_arbitration_overlapped_task), __FILE__, __LINE__);
19+
//
20+
//g_online_arbitration_globals.arbitration_overlapped_task->constructor(__FILE__, __LINE__);
21+
//
22+
//ASSERT(g_online_arbitration_globals.arbitration_overlapped_task);
23+
//g_online_arbitration_globals.initialized = true;
24+
}
25+
26+
bool online_arbitration_initiate_registration(void* session_handle, uns64 session_nonce)
27+
{
28+
//ASSERT(online_arbitration_registration_get_status() != _online_arbitration_registration_in_progress);
29+
//
30+
//g_online_arbitration_globals.arbitration_overlapped_task->m_session_handle = session_handle;
31+
//g_online_arbitration_globals.arbitration_overlapped_task->m_session_nonce = session_nonce;
32+
//
33+
//bool started = overlapped_task_start_internal(g_online_arbitration_globals.arbitration_overlapped_task, __FILE__, __LINE__);
34+
//if (!started)
35+
//{
36+
// event(_event_warning, "networking:online:arbitration: failed to initiate arbitration for session 0x%08X", (uns32)session_handle);
37+
//}
38+
//
39+
//return started;
40+
41+
return false;
42+
}
43+
44+
bool online_arbitration_registration_get_result(s_arbitration_registration_result* arbitration_result_out)
45+
{
46+
//ASSERT(arbitration_result_out);
47+
//ASSERT(online_arbitration_registration_get_status() == _online_arbitration_registration_complete_success);
48+
//
49+
//csmemset(arbitration_result_out, 0, sizeof(s_arbitration_registration_result));
50+
//arbitration_result_out->registrant_count = 0;
51+
//
52+
//// `XSESSION_REGISTRATION_RESULTS` loop
53+
54+
return false;
55+
}
56+
57+
e_online_arbitration_registration_status online_arbitration_registration_get_status()
58+
{
59+
//switch (g_online_arbitration_globals.arbitration_overlapped_task->get_task_state())
60+
//{
61+
//case _overlapped_task_state_none:
62+
//{
63+
// return _online_arbitration_registration_none;
64+
//}
65+
//case _overlapped_task_state_starting:
66+
//case _overlapped_task_state_pending:
67+
//case _overlapped_task_state_completing:
68+
//{
69+
// return _online_arbitration_registration_in_progress;
70+
//}
71+
//case _overlapped_task_state_succeeded:
72+
//{
73+
// return _online_arbitration_registration_complete_success;
74+
//}
75+
//case _overlapped_task_state_failed:
76+
//{
77+
// return _online_arbitration_registration_complete_failed;
78+
//}
79+
//}
80+
81+
return _online_arbitration_registration_none;
82+
}
83+
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#pragma once
2+
3+
//#include "cseries/async_xoverlapped.hpp"
4+
5+
struct s_arbitration_registration_result;
6+
7+
enum e_online_arbitration_registration_status
8+
{
9+
_online_arbitration_registration_none = 0,
10+
_online_arbitration_registration_in_progress,
11+
_online_arbitration_registration_complete_success,
12+
_online_arbitration_registration_complete_failed,
13+
14+
k_online_arbitration_registration_count,
15+
};
16+
17+
//struct c_arbitration_overlapped_task :
18+
// public c_overlapped_task
19+
//{
20+
// byte m_registration_result[0x1000];
21+
// void* m_session_handle;
22+
// uns64 m_session_nonce;
23+
//};
24+
//static_assert(sizeof(c_arbitration_overlapped_task) == 0x1020);
25+
//
26+
//struct s_online_arbitration_globals
27+
//{
28+
// bool initialized;
29+
// c_arbitration_overlapped_task* arbitration_overlapped_task;
30+
//};
31+
//static_assert(sizeof(s_online_arbitration_globals) == 0x8);
32+
//
33+
//extern s_online_arbitration_globals g_online_arbitration_globals;
34+
35+
extern void online_arbitration_dispose();
36+
extern void online_arbitration_initialize();
37+
extern bool online_arbitration_initiate_registration(void* session_handle, uns64 session_nonce);
38+
extern bool online_arbitration_registration_get_result(s_arbitration_registration_result* arbitration_result_out);
39+
extern e_online_arbitration_registration_status online_arbitration_registration_get_status();
40+

0 commit comments

Comments
 (0)