Skip to content

Commit c1d2402

Browse files
author
nitrocaster
committed
Merge master into ai_cleanup.
2 parents b0de5a6 + 5c60d00 commit c1d2402

23 files changed

+344
-525
lines changed

Proposed engine changes.txt

Lines changed: 0 additions & 98 deletions
This file was deleted.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ The original engine is used in S.T.A.L.K.E.R. Call of Pripyat game released by G
77
It is a place to share ideas on what to implement, gather people that want to work on the engine,
88
and work on the source code.
99

10+
Current task list: [doc/design/task_list.txt](doc/design/task_list.txt)
11+
12+
Task history: [doc/design/task_history.txt](doc/design/task_history.txt)
13+
1014
Build instructions can be found [here](https://github.com/openxray/xray-16/blob/master/doc/howto/build.txt).
1115

1216
If you find a bug or have an enhancement request, file an [Issue](https://github.com/openxray/xray-16/issues).

doc/design/task_list.txt

Lines changed: 57 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,23 @@ nitrocaster: Pavel Kovalenko
1616
- get the entire solution compiled with ForceConformanceInForLoopScope=false
1717
- get rid of atimgpu, use amd ags instead (will also eliminate LNK4098)
1818
- scan solution with PVS-Studio and fix found bugs
19+
o get rid of any borland specific code
20+
o write new or use existing controls instead of ones from VCL/ElPack/AlexMX
21+
o adopt/rewrite editors
22+
- LevelEditor
23+
- ActorEditor
24+
- ShaderEditor
25+
- ParticleEditor
26+
o PPEditor
1927
- Modules
20-
- subdivide xrGame into multiple modules (so changed code could be compiled faster)
21-
- merge xrCPU_Pipe into xrCore
22-
- merge xrAPI into xrCore
28+
* subdivide xrGame into multiple modules
29+
* xrScriptEngine
30+
- xrAI
31+
+ merge xrCPU_Pipe into xrCore
32+
c merge xrAPI into xrCore
2333
- merge xrXMLParser into xrCore
2434
- merge crypto into xrCore
35+
+ delete xrCoreStatic, plugins should use xrCore
2536
- 3rd party libraries
2637
- decouple/update ODE
2738
- dig through current ODE and analyze changes that were made by GSC
@@ -35,6 +46,7 @@ nitrocaster: Pavel Kovalenko
3546
- bugs/issues
3647
- generic
3748
- (bytes_need<=mSize) && vl_Count
49+
+ primary/secondary thread syncronization does not work properly
3850
- UI
3951
c clip cursor in windowed mode with enabled input capture
4052
- dragging music volume slider doesn't make any effect until one presses 'Apply' button
@@ -50,17 +62,24 @@ nitrocaster: Pavel Kovalenko
5062
- alpha transparency works improperly - objects like steelworks and meshes quickly lose details and become
5163
invisible when camera moves away (r1 looks better)
5264
- R1: incorrect sun path
53-
- make saturation dependent on exposure (see ArmA series)
54-
- improve night vision
65+
- glow material doesn't cast shadows (causes artifacts on actor shadow)
66+
- no actor shadow in R2/R3/R4 (works in R1)
67+
- big world shadow appears and disappears depending on the sun direction
5568
- physics
5669
- falling actor can continue being in falling state under specific conditions
70+
+ small bullet manager time factor leads to crash
71+
- gameplay
72+
- ammo switching
5773
- plugins
5874
- update plugins for new 3DS Max versions
5975
- improvements
6076
- common/unsorted
61-
- review and refactor code
77+
* review and refactor code
6278
- fix log messages format (normally, the 'color' character should be followed by a space)
6379
- add registry entries (player name, cdkey, etc) if not exist
80+
- x86_64 support
81+
- better multithreading
82+
- 'stuttering' problem (likely due to old luajit)
6483
- UI
6584
- close sleep dialog by ESC key
6685
- multiplayer
@@ -74,19 +93,47 @@ nitrocaster: Pavel Kovalenko
7493
- remove topmost startup logo window
7594
- Linux support
7695
- xrCore
77-
- get rid of old blackbox code
78-
- refactor xrDebug
96+
- debug
97+
- get rid of old BlackBox code
98+
- hide all process windows on crash
7999
- logger
80100
- don't keep log in std::vector, write to log file immediately
81101
- tweak CConsole to use new logger
82102
- render
103+
- debug render is extremely slow, have to be optimized
83104
- FXAA
84105
- SMAA
85106
- PCSS (or some other alternative)
86-
- glow material doesn't cast shadows (causes artefacts on actor shadow)
87-
- consider disabling accel when falling (more realistic)
107+
- precompiled shaders should be recompiled once sources are updated
108+
- wallmark normal/bump mapping
109+
- ideas to consider
110+
- improve night vision
111+
- make saturation dependent on exposure (see ArmA series)
112+
- re-enable fov and hud_fov console commands
113+
- grass shadows
114+
- particle shadows
115+
- SSAO/HDAO improvements
116+
- add grass draw distance to render settings
117+
- 3D shell casings
118+
- allow .seq files to be given a stop frame/point (animated blood puddles underneath bodies)
119+
- DirectX 12
120+
- remove old R1
121+
- sound
122+
- occlusion
123+
- physics
124+
- ideas to consider
125+
- vegetation collision
126+
- editors
127+
- level editor
128+
- visible level-loaded decals and the ability to see decals that aren't just 'wallmarkblend' type
129+
- undo function performance
130+
- AI
131+
- NPCs don't react to enemies shooting around until see them or get shot
88132
- xrLC
89133
- try to optimize memory requirements (use disk cache for intermediate data?)
134+
- gameplay
135+
- ideas to consider
136+
- stealth mechanics
90137

91138
STALKER_2010: Andrew Boyarshin
92139
* detach/update LuaJIT

src/xrD3D9-Null/IDirect3D9.cpp

Lines changed: 19 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22
#include "IDirect3D9.h"
33
#include "IDirect3DDevice9.h"
44
#include "xrD3D9-Null_OutProc.h"
5+
#include <stdio.h>
56

6-
#include <stdlib.h>
7-
#include <objbase.h>
8-
#include <windows.h>
9-
#include "stdio.h"
107

118
const GUID DECLSPEC_SELECTANY IID_IDirect3D9;
129

@@ -22,7 +19,7 @@ ULONG xrIDirect3D9::AddRef(void)
2219
{
2320
APIDEBUG("xrIDirect3D9::AddRef");
2421
m_refCount++;
25-
return ULONG_Proc(m_refCount);
22+
return m_refCount;
2623
}
2724

2825
ULONG xrIDirect3D9::Release(void)
@@ -32,9 +29,9 @@ ULONG xrIDirect3D9::Release(void)
3229
if (m_refCount < 0)
3330
{
3431
delete this;
35-
return ULONG_Proc(-1);
32+
return -1;
3633
}
37-
return ULONG_Proc(m_refCount);
34+
return m_refCount;
3835
}
3936

4037
HRESULT xrIDirect3D9::QueryInterface(const IID &iid, void FAR* FAR* ppvObj)
@@ -44,20 +41,20 @@ HRESULT xrIDirect3D9::QueryInterface(const IID &iid, void FAR* FAR* ppvObj)
4441
{
4542
*ppvObj = this;
4643
AddRef();
47-
return HRESULT_Proc(NOERROR);
44+
return NOERROR;
4845
}
49-
return HRESULT_Proc(E_NOINTERFACE);
46+
return E_NOINTERFACE;
5047
}
5148

5249
HRESULT xrIDirect3D9::RegisterSoftwareDevice(void* pInitializeFunction)
5350
{
5451
APIDEBUG("xrIDirect3D9::RegisterSoftwareDevice");
55-
return HRESULT_Proc(S_OK);
52+
return S_OK;
5653
};
5754
UINT xrIDirect3D9::GetAdapterCount()
5855
{
5956
APIDEBUG("xrIDirect3D9::GetAdapterCount");
60-
return ULONG_Proc(1);
57+
return 1;
6158
};
6259

6360
HRESULT xrIDirect3D9::GetAdapterIdentifier(UINT Adapter,DWORD Flags,D3DADAPTER_IDENTIFIER9* pIdentifier)
@@ -66,56 +63,56 @@ HRESULT xrIDirect3D9::GetAdapterIdentifier(UINT Adapter,DWORD Flags,D3DADAPTER_I
6663
sprintf_s(pIdentifier->Driver, "Default Driver");
6764
sprintf_s(pIdentifier->Description, "Default X-Ray Dedicated Adapter");
6865
sprintf_s(pIdentifier->DeviceName, "Dedicated");
69-
return HRESULT_Proc(S_OK);
66+
return S_OK;
7067
};
7168
UINT xrIDirect3D9::GetAdapterModeCount( UINT Adapter,D3DFORMAT Format)
7269
{
7370
APIDEBUG("xrIDirect3D9::GetAdapterModeCount");
74-
return ULONG_Proc(1);
71+
return 1;
7572
};
7673

7774
HRESULT xrIDirect3D9::EnumAdapterModes(UINT Adapter,D3DFORMAT Format,UINT Mode,D3DDISPLAYMODE* pMode)
7875
{
7976
APIDEBUG("xrIDirect3D9::EnumAdapterModes");
80-
return HRESULT_Proc(S_OK);
77+
return S_OK;
8178
};
8279
HRESULT xrIDirect3D9::GetAdapterDisplayMode( UINT Adapter,D3DDISPLAYMODE* pMode)
8380
{
8481
APIDEBUG("xrIDirect3D9::GetAdapterDisplayMode");
8582
pMode->Format = D3DFMT_A8R8G8B8;
86-
return HRESULT_Proc(S_OK);
83+
return S_OK;
8784
};
8885
HRESULT xrIDirect3D9::CheckDeviceType( UINT Adapter,D3DDEVTYPE DevType,D3DFORMAT AdapterFormat,D3DFORMAT BackBufferFormat,BOOL bWindowed)
8986
{
9087
APIDEBUG("xrIDirect3D9::CheckDeviceType");
91-
return HRESULT_Proc(S_OK);
88+
return S_OK;
9289
};
9390
HRESULT xrIDirect3D9::CheckDeviceFormat( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE RType,D3DFORMAT CheckFormat)
9491
{
9592
APIDEBUG("xrIDirect3D9::CheckDeviceFormat");
96-
return HRESULT_Proc(S_OK);
93+
return S_OK;
9794
};
9895
HRESULT xrIDirect3D9::CheckDeviceMultiSampleType( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE MultiSampleType,DWORD* pQualityLevels)
9996
{
10097
APIDEBUG("xrIDirect3D9::CheckDeviceMultiSampleType");
101-
return HRESULT_Proc(S_OK);
98+
return S_OK;
10299
};
103100
HRESULT xrIDirect3D9::CheckDepthStencilMatch( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT DepthStencilFormat)
104101
{
105102
APIDEBUG("xrIDirect3D9::CheckDepthStencilMatch");
106-
return HRESULT_Proc(S_OK);
103+
return S_OK;
107104
};
108105
HRESULT xrIDirect3D9::CheckDeviceFormatConversion( UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SourceFormat,D3DFORMAT TargetFormat)
109106
{
110107
APIDEBUG("xrIDirect3D9::CheckDeviceFormatConversion");
111-
return HRESULT_Proc(S_OK);
108+
return S_OK;
112109
};
113110
HRESULT xrIDirect3D9::GetDeviceCaps( UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS9* pCaps)
114111
{
115112
APIDEBUG("xrIDirect3D9::GetDeviceCaps");
116113
if (pCaps)
117114
ZeroMemory(pCaps,sizeof(D3DCAPS9));
118-
return HRESULT_Proc(S_OK);
115+
return S_OK;
119116
};
120117
HMONITOR xrIDirect3D9::GetAdapterMonitor( UINT Adapter)
121118
{
@@ -129,19 +126,5 @@ HRESULT xrIDirect3D9::CreateDevice (UINT Adapter,D3DDEVTYPE DeviceType,HWND hFoc
129126
*ppReturnedDeviceInterface = NULL;
130127
xrIDirect3DDevice9* I = new xrIDirect3DDevice9(this, pPresentationParameters);
131128
*ppReturnedDeviceInterface = I;
132-
return HRESULT_Proc(S_OK);
129+
return S_OK;
133130
};
134-
//-------------------------------------------------------------------
135-
/*
136-
HRESULT xrIDirect3D9::HRESULT_Proc(HRESULT ret)
137-
{
138-
return ret;
139-
}
140-
141-
ULONG xrIDirect3D9::ULONG_Proc(ULONG ret)
142-
{
143-
return ret;
144-
}
145-
*/
146-
147-

src/xrD3D9-Null/IDirect3D9.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
//---------------------------------
2-
#include <stdlib.h>
3-
#include <objbase.h>
4-
#include <windows.h>
5-
6-
#include "d3d9.h"
1+
#include "stdafx.h"
72

83
/*
94
//---------------------------------

0 commit comments

Comments
 (0)