Phillip Stephens
|
362fb6b00d
|
Implement CParticleGenInfoGeneric
|
2017-01-20 22:03:37 -08:00 |
Jack Andersen
|
4c09493a3f
|
CFrontEndUI work
|
2017-01-08 17:44:00 -10:00 |
Phillip Stephens
|
b765ce3eb7
|
Lots of ScriptObject and Collision work
|
2017-01-03 20:30:05 -08:00 |
Jack Andersen
|
513d283bee
|
Merge branch 'master' of https://github.com/AxioDL/urde
|
2016-12-22 20:43:26 -10:00 |
Jack Andersen
|
d7f79d6ec3
|
Work on CMemoryCardDriver
|
2016-12-22 20:41:39 -10:00 |
Phillip Stephens
|
598f64002c
|
Silence warnings, and fix Windows build
|
2016-12-21 11:27:15 -08:00 |
Jack Andersen
|
03a93c52b9
|
CSaveUI work
|
2016-12-17 18:16:04 -10:00 |
Jack Andersen
|
265eeeeac3
|
CFogState::m_rangeScale fog disable corner case handling
|
2016-12-05 16:30:07 -10:00 |
Phillip Stephens
|
d733dce1cf
|
CCameraManager imps
|
2016-10-31 15:56:44 -07:00 |
Phillip Stephens
|
06468c778c
|
Proper CObjectList imps; CGameLight, and CScriptAiJumpPoint imps
|
2016-10-01 12:01:11 -07:00 |
Jack Andersen
|
7b8c9c114c
|
macOS build sync
|
2016-09-29 17:33:35 -10:00 |
Jack Andersen
|
e9a173c680
|
OS X Fixes
|
2016-09-18 15:34:11 -10:00 |
Jack Andersen
|
22c3ce608d
|
Windows Fixes
|
2016-09-18 15:04:26 -10:00 |
Phillip Stephens
|
c40135f97f
|
Reworked CGameArchitectureSupport initialization, initial CFirstPersonCamera imp
|
2016-09-15 00:26:35 -07:00 |
Jack Andersen
|
f5ac582541
|
Ensure correct Vulkan coordinate system for CTexturedQuadFilter
|
2016-09-13 20:08:29 -10:00 |
Jack Andersen
|
1d8dfa3205
|
CSplashScreen integration
|
2016-09-13 19:54:09 -10:00 |
Jack Andersen
|
8b23c0538e
|
Merge branch 'master' of https://github.com/AxioDL/urde
|
2016-09-12 19:36:53 -10:00 |
Jack Andersen
|
8580c5d972
|
Implement CSplashScreen
|
2016-09-12 19:36:21 -10:00 |
Jack Andersen
|
1cd2e6eb5c
|
Metal shader fixes
|
2016-09-11 19:29:35 -10:00 |
Jack Andersen
|
ba0287159a
|
HLSL/Metal shader conformance
|
2016-09-11 18:56:51 -10:00 |
Jack Andersen
|
7d2370efe0
|
CWorldTransManager 2-camera instances
|
2016-09-11 18:53:28 -10:00 |
Jack Andersen
|
64b85786de
|
Windows fixes
|
2016-09-10 15:25:59 -10:00 |
Jack Andersen
|
a81f35f3e4
|
ANIM fixes
|
2016-09-09 19:39:47 -10:00 |
Jack Andersen
|
d8b141bcfa
|
Fix linked-list derp
|
2016-09-08 18:23:36 -10:00 |
Jack Andersen
|
b6587d88fc
|
Rigging fixes
|
2016-09-08 18:19:19 -10:00 |
Jack Andersen
|
9b436b4b23
|
Tons of animation bug fixes
|
2016-09-05 19:52:51 -10:00 |
Jack Andersen
|
668c4f7eee
|
Fixes in preparation for rigged model rendering
|
2016-09-04 12:47:48 -10:00 |
Jack Andersen
|
3ea58fb692
|
Update Mode7 enum
|
2016-09-03 16:29:50 -10:00 |
Jack Andersen
|
a349076740
|
Several CAnimData integrations
|
2016-09-03 16:27:35 -10:00 |
Jack Andersen
|
2dbb06f8b1
|
CTexture bounds validation
|
2016-09-02 19:19:22 -10:00 |
Jack Andersen
|
ce3014b313
|
Refactored widescreen filter to set renderer viewport as well
|
2016-09-02 13:37:02 -10:00 |
Jack Andersen
|
4fdf84d6b8
|
CWorldTransManager lights and background
|
2016-09-02 12:16:34 -10:00 |
Jack Andersen
|
0d08d4a40e
|
CToken usage fixes in CWorldTransManager; better model instances
|
2016-09-02 11:39:46 -10:00 |
Jack Andersen
|
f4ea728a61
|
Resource factories now provided with self-ref
|
2016-09-02 09:32:57 -10:00 |
Jack Andersen
|
302d897e10
|
Various CWorldTransManager bug fixes
|
2016-09-02 07:50:03 -10:00 |
Jack Andersen
|
dc0bb55390
|
Additional processing condition checks
|
2016-08-31 13:32:24 -10:00 |
Jack Andersen
|
129767134e
|
Various bug fixes
|
2016-08-31 13:08:09 -10:00 |
Phillip Stephens
|
c35106c907
|
Fix MP3 SAVW support, code cleanup, and more stubs
|
2016-08-30 17:33:59 -07:00 |
Jack Andersen
|
0aaeed2aeb
|
const_cast refactor
|
2016-08-28 18:22:54 -10:00 |
Jack Andersen
|
f95d6c8ada
|
OpenGL enum change; Metal <10.11 fixes
|
2016-08-23 18:35:35 -10:00 |
Jack Andersen
|
27b2f2aedb
|
Windows build fixes
|
2016-08-22 17:12:50 -10:00 |
Jack Andersen
|
670eb998d4
|
Work on character animation
|
2016-08-21 10:39:18 -10:00 |
Jack Andersen
|
d125b4769e
|
Merge branch 'master' of https://github.com/AxioDL/urde
|
2016-08-20 14:05:42 -10:00 |
Jack Andersen
|
3765aa7aa2
|
CActorLights imps; work on CAnimData
|
2016-08-20 14:04:50 -10:00 |
Jack Andersen
|
283c0481c1
|
CameraBlurFilter HLSL shader
|
2016-08-20 08:47:14 -10:00 |
Jack Andersen
|
6cb956cced
|
CameraBlurFilter Metal shader
|
2016-08-20 08:34:01 -10:00 |
Jack Andersen
|
21fc28bc9b
|
CCameraBlurFilter implementation
|
2016-08-20 08:18:44 -10:00 |
Jack Andersen
|
6d26386780
|
HLSL XRayBlurFilter
|
2016-08-19 19:33:06 -10:00 |
Jack Andersen
|
a9451e1441
|
Metal XRayBlurFilter
|
2016-08-19 19:00:54 -10:00 |
Jack Andersen
|
25d808e2b9
|
Functioning XRay blur filter
|
2016-08-19 18:22:13 -10:00 |
Jack Andersen
|
9ca7f9c9e4
|
HLSL shader sync, Windows build fixes
|
2016-08-17 10:05:23 -10:00 |
Jack Andersen
|
3acc93f1c0
|
Better boo init within CMain; shader fixes
|
2016-08-16 20:18:18 -10:00 |
Jack Andersen
|
edaa022517
|
Metal quad shader imps
|
2016-08-16 18:59:05 -10:00 |
Jack Andersen
|
d234bffe2a
|
TMultiBlendShader and quad filters
|
2016-08-16 15:58:53 -10:00 |
Jack Andersen
|
2d73c8226c
|
Fog rendering for Metal
|
2016-08-08 09:07:30 -10:00 |
Jack Andersen
|
1d32843970
|
Fog rendering for HLSL
|
2016-08-08 08:54:05 -10:00 |
Jack Andersen
|
e7a339344d
|
Properly-scaled fog rendering
|
2016-08-08 08:23:12 -10:00 |
Jack Andersen
|
a910ddd912
|
Initial fog rendering
|
2016-08-07 18:48:18 -10:00 |
Jack Andersen
|
73573c84ea
|
Several CGameArea PostConstruct imps
|
2016-08-06 14:20:02 -10:00 |
Jack Andersen
|
2eb77b9a7a
|
CAreaOctTree fields and reader
|
2016-08-05 10:26:23 -10:00 |
Phillip Stephens
|
02a79b4c80
|
Add graphics platform name to window title
|
2016-08-04 20:21:19 -07:00 |
Jack Andersen
|
0f4ef04efa
|
Thermal Hot filter Metal
|
2016-08-03 13:47:01 -10:00 |
Jack Andersen
|
dc1ad1c773
|
Thermal Hot filter HLSL
|
2016-08-03 13:16:31 -10:00 |
Jack Andersen
|
9222a928ef
|
Thermal Hot GLSL filter
|
2016-08-03 11:53:03 -10:00 |
Jack Andersen
|
40e0b70d0e
|
ColorRegs for CModelFlags
|
2016-07-31 20:36:51 -10:00 |
Jack Andersen
|
1c64605261
|
HLSL extension shaders
|
2016-07-31 18:35:42 -10:00 |
Jack Andersen
|
89d4cc78d0
|
Merge branch 'master' into extendeds
|
2016-07-31 10:53:17 -10:00 |
Jack Andersen
|
c4c3e1883f
|
Metal extended shader support
|
2016-07-31 10:52:04 -10:00 |
Jack Andersen
|
13f0726c40
|
Invert sphere texture values
|
2016-07-30 19:06:05 -10:00 |
Jack Andersen
|
05a52c00be
|
Fixes for extended shaders
|
2016-07-30 18:46:03 -10:00 |
Jack Andersen
|
95033d3988
|
Initial extended shader refactor
|
2016-07-30 16:06:47 -10:00 |
Phillip Stephens
|
4541234706
|
More AutoMapper imps (CMapArea and CMappableObject)
|
2016-07-30 18:43:34 -07:00 |
Jack Andersen
|
df4ce27240
|
Preserve proportions for non-square warps
|
2016-07-29 18:48:02 -10:00 |
Jack Andersen
|
f33dcaa1ab
|
Minor coordinate fix
|
2016-07-29 18:45:20 -10:00 |
Jack Andersen
|
8460ed713b
|
More CSpaceWarpFilter coordinate fixes
|
2016-07-29 18:39:13 -10:00 |
Jack Andersen
|
03671ce5e1
|
Allocation bounds fix, Space Warp 0.5 bias
|
2016-07-29 17:53:45 -10:00 |
Jack Andersen
|
0a7e36a1fb
|
Space warp pixel-accuracy fixes
|
2016-07-29 12:57:48 -10:00 |
Jack Andersen
|
4d018ade12
|
Working CSpaceWarpFilter
|
2016-07-29 12:22:17 -10:00 |
Jack Andersen
|
67801e993a
|
Initial space warp filter
|
2016-07-29 07:38:44 -10:00 |
Jack Andersen
|
2eaa87b7e7
|
More CBooRenderer imps
|
2016-07-27 18:55:06 -10:00 |
Jack Andersen
|
79443d93d2
|
Initial PVS stubs
|
2016-07-27 13:06:57 -10:00 |
Jack Andersen
|
8b234fafb8
|
Specialized C8PC format for indexed image data
|
2016-07-27 09:07:46 -10:00 |
Jack Andersen
|
11fe521bbc
|
Merge branch 'master' of https://github.com/AxioDL/urde
|
2016-07-26 20:14:17 -10:00 |
Jack Andersen
|
8d2c711265
|
Vulkan matrix experiment
|
2016-07-26 20:14:05 -10:00 |
Jack Andersen
|
bf7b8fcec9
|
Graphics bug fixes
|
2016-07-26 20:11:02 -10:00 |
Jack Andersen
|
dcd41271c3
|
Update submodule
|
2016-07-26 18:14:46 -10:00 |
Jack Andersen
|
728cb25488
|
Static geometry list in CBooRenderer
|
2016-07-26 12:05:59 -10:00 |
Jack Andersen
|
e3c8e5a7be
|
Buckets::Sort implementation
|
2016-07-25 16:43:55 -10:00 |
Jack Andersen
|
af5cafee12
|
CBooRender imps
|
2016-07-25 12:52:02 -10:00 |
Phillip Stephens
|
76b88d0ad6
|
Windows compile fixes, and warning squash
|
2016-07-23 23:05:12 -07:00 |
Jack Andersen
|
f10168e824
|
Additional state imps
|
2016-07-23 18:46:32 -10:00 |
Jack Andersen
|
6bbed11859
|
Additional ThermalCold filter work; CStateManager fields
|
2016-07-22 09:46:30 -10:00 |
Jack Andersen
|
68dcc9ca57
|
Merge branch 'master' of https://github.com/AxioDL/urde
|
2016-07-21 16:33:06 -10:00 |
Jack Andersen
|
a6477c635d
|
Lots of initial CThermalColdFilter implementation
|
2016-07-21 16:32:23 -10:00 |
Phillip Stephens
|
7d07fb62ae
|
CWorldTransManager and CGraphicsPalette stubs
|
2016-07-21 14:50:51 -07:00 |
Jack Andersen
|
2ff1a2ee0b
|
Shader directory refactor
|
2016-07-20 19:21:45 -10:00 |
Jack Andersen
|
4bcd88e69f
|
CDrawableType enum
|
2016-07-20 16:03:24 -10:00 |
Jack Andersen
|
6f572d3a00
|
Normalize TCG fixes
|
2016-07-19 10:12:38 -10:00 |
Phillip Stephens
|
de43ef8100
|
Matrix fixes
|
2016-07-09 15:02:31 -07:00 |
Phillip Stephens
|
8b1f70c5cd
|
Clean up matrix assignment
|
2016-07-08 13:25:38 -07:00 |
Phillip Stephens
|
dd3a524bf4
|
Fix UV animations (4/5 still borked)
|
2016-07-08 12:57:51 -07:00 |
Phillip Stephens
|
eb1e7870e5
|
Add missing TickRenderTimings call, and fix bufOut advancement
|
2016-07-07 23:53:06 -07:00 |
Phillip Stephens
|
746e7d9ff3
|
Add missing Post Transform matrix to UV Animations
|
2016-07-07 20:23:58 -07:00 |
Jack Andersen
|
952b96fa79
|
GLSL refactors to support Vulkan
|
2016-07-07 14:07:11 -10:00 |
Phillip Stephens
|
4d56b0f876
|
OS X < 10.11
|
2016-07-05 14:51:00 -07:00 |
Phillip Stephens
|
9bc184e4eb
|
Shader error fixes, update amuse
|
2016-07-03 17:01:39 -07:00 |
Jack Andersen
|
2e784a1941
|
Vulkan Updates
|
2016-07-01 17:46:02 -10:00 |
Jack Andersen
|
10784b7dc5
|
Updates for Vulkan rendering
|
2016-06-30 16:33:16 -10:00 |
Phillip Stephens
|
fc8f3e3881
|
Add kabufuda and more stubs
|
2016-06-28 11:56:32 -07:00 |
Jack Andersen
|
384f660efc
|
Update amuse
|
2016-06-07 18:38:26 -10:00 |
Jack Andersen
|
a07112ccfa
|
Update amuse and boo
|
2016-05-27 20:57:21 -10:00 |
Phillip
|
a3b47df10d
|
Various windows compile fixes
|
2016-05-20 20:02:09 -07:00 |
Jack Andersen
|
28e3d3c6fa
|
Moved DSP decoder to amuse
|
2016-05-10 18:51:22 -10:00 |
Jack Andersen
|
2b6f0ca269
|
Fix bug from source consolidation refactor
|
2016-05-09 17:05:14 -10:00 |
Phillip Stephens
|
00a98bce85
|
Various implementatations
|
2016-04-29 03:08:46 -07:00 |
Jack Andersen
|
b60d55d784
|
Bad level link fixes
|
2016-04-23 18:03:30 -10:00 |
Phillip Stephens
|
8f78aa5f16
|
More Actor imps
|
2016-04-23 03:51:53 -07:00 |
Jack Andersen
|
2260632ac6
|
Replace angle conversions with zeus implementation
|
2016-04-20 11:50:11 -10:00 |
Jack Andersen
|
abff623cf6
|
Prep MP1::CMain for testing
|
2016-04-15 10:42:40 -10:00 |
Jack Andersen
|
86c21a77ac
|
Function-scope statics aren't as efficient as file-scope ones
|
2016-04-14 17:26:01 -10:00 |
Jack Andersen
|
c91bfade75
|
CCharacterFactory imps
|
2016-04-14 17:02:21 -10:00 |
Jack Andersen
|
8608b52774
|
CModelData imps
|
2016-04-14 11:42:47 -10:00 |
Jack Andersen
|
5de5c3d85f
|
Character factory support classes
|
2016-04-12 20:07:23 -10:00 |
Jack Andersen
|
e661fa6f2b
|
Initial CCharLayoutInfo implementation
|
2016-04-09 13:19:17 -10:00 |
Jack Andersen
|
28b9cd9e3f
|
AuxiliaryID32 implemented for sub-resources
|
2016-04-05 15:44:07 -10:00 |
Jack Andersen
|
5cd372592c
|
Aux-info resource sharing; some rigging stubs
|
2016-04-04 15:51:25 -10:00 |
Jack Andersen
|
806cd54b75
|
Merge branch 'master' of https://github.com/AxioDL/urde
|
2016-04-04 11:21:18 -10:00 |
Jack Andersen
|
909baea2cd
|
Implement GX-style faked directional
|
2016-04-04 11:20:26 -10:00 |
Jack Andersen
|
5c1d8492db
|
HLSL lighting shaders
|
2016-04-04 09:34:54 -10:00 |
Jack Andersen
|
c26a288a8c
|
Vulkan API sync
|
2016-04-03 20:37:15 -10:00 |
Jack Andersen
|
9f0e9a808b
|
Implement Metal lighting shader
|
2016-04-03 20:16:03 -10:00 |
Jack Andersen
|
408ce2ca8b
|
Working CLight
|
2016-04-03 19:02:09 -10:00 |
Jack Andersen
|
dae2621d93
|
Initial CLight integration
|
2016-04-03 16:32:57 -10:00 |
Jack Andersen
|
51ecf300ad
|
Correct projection for Metal
|
2016-04-02 20:19:33 -10:00 |
Jack Andersen
|
929f8263fc
|
Windows Fixes; D3D depth support
|
2016-04-02 19:25:34 -10:00 |
Jack Andersen
|
9ed1fbe40f
|
Fix other perspective matrix function
|
2016-04-01 18:25:47 -10:00 |
Jack Andersen
|
4ab2312d06
|
shader tag update
|
2016-04-01 17:34:41 -10:00 |
Jack Andersen
|
58c85d8c30
|
Depth buffer fix
|
2016-04-01 14:07:07 -10:00 |
Jack Andersen
|
8fc0d57500
|
Thread-safe extraction
|
2016-03-31 18:25:00 -10:00 |
Jack Andersen
|
9fcce94a7a
|
Async resource build fixes
|
2016-03-31 15:00:37 -10:00 |
Jack Andersen
|
bc6ba1141d
|
Deadlock fixes and PC TXTR loading
|
2016-03-31 11:06:41 -10:00 |
Jack Andersen
|
d5ff5e3ace
|
Update CModelBoo.cpp
|
2016-03-30 21:50:52 -10:00 |
Jack Andersen
|
7b865683e7
|
More CModel imps
|
2016-03-30 20:18:56 -10:00 |
Jack Andersen
|
27bcf57447
|
Merge branch 'master' of https://github.com/AxioDL/urde
|
2016-03-30 16:45:08 -10:00 |
Jack Andersen
|
b373493cf3
|
Much CModel work
|
2016-03-30 16:44:43 -10:00 |
Phillip Stephens
|
d7672226a2
|
Unify factory return type
|
2016-03-30 17:38:03 -07:00 |
Jack Andersen
|
c5761b6c41
|
metal boo lambda sync
|
2016-03-30 11:08:54 -10:00 |
Jack Andersen
|
99cf1153b6
|
Boo D3D lambda sync
|
2016-03-30 10:44:19 -10:00 |
Jack Andersen
|
77a8ce5f17
|
boo lambda-API refactor
|
2016-03-30 09:16:01 -10:00 |
Jack Andersen
|
6b1c435d0c
|
Initial CModel implementation
|
2016-03-29 13:14:14 -10:00 |
Jack Andersen
|
a866939b09
|
D3D sync
|
2016-03-23 22:36:04 -10:00 |
Jack Andersen
|
3093e60173
|
Vulkan sync
|
2016-03-23 22:16:57 -10:00 |
Jack Andersen
|
7f8e21a999
|
Update shader pipeline calls
|
2016-03-23 22:07:22 -10:00 |
Jack Andersen
|
42f7cbe4b5
|
Update audio integration
|
2016-03-23 14:05:56 -10:00 |
Phillip
|
6301af3133
|
Windows Fixes
|
2016-03-22 11:35:52 -07:00 |
Jack Andersen
|
7c99de82ec
|
CTextRenderBuffer boo implementations
|
2016-03-21 22:15:00 -10:00 |
Jack Andersen
|
ee534de7be
|
Various stubs and imps
|
2016-03-18 14:07:31 -10:00 |
Jack Andersen
|
79d90f46d3
|
CGuiModel imps
|
2016-03-16 16:18:01 -10:00 |
Jack Andersen
|
a81bc3c7a2
|
CGuiLight imps
|
2016-03-16 10:49:35 -10:00 |
Jack Andersen
|
fcee32f666
|
Some initial widget imps
|
2016-03-15 17:37:51 -10:00 |
Jack Andersen
|
5566c5b002
|
More CGuiFrame imps
|
2016-03-14 18:55:57 -10:00 |
Jack Andersen
|
5054cd1d8a
|
More stubs for GuiSys
|
2016-03-09 17:47:37 -10:00 |
Jack Andersen
|
f53bdcc5bd
|
THP audio fix
|
2016-03-09 10:03:35 -10:00 |
Jack Andersen
|
ee3723150d
|
Audio buffer access bug fix; non-looping THP fix
|
2016-03-08 13:16:50 -10:00 |
Jack Andersen
|
52faf42aaa
|
CMoviePlayer G.721 audio implemented
|
2016-03-08 12:51:13 -10:00 |
Jack Andersen
|
9203b69647
|
no more redundant get()
|
2016-03-07 22:51:45 -10:00 |
Jack Andersen
|
9a43c518f9
|
Working THP audio and deinterlacing
|
2016-03-07 21:10:52 -10:00 |
Jack Andersen
|
bba30a25bf
|
Working CMoviePlayer (video only for now)
|
2016-03-07 12:48:54 -10:00 |
Jack Andersen
|
6e160560fa
|
CMoviePlayer initial implementation
|
2016-03-06 17:12:32 -10:00 |
Jack Andersen
|
783fb4c4fe
|
Humungous refactor
|
2016-03-04 13:04:53 -10:00 |
Phillip Stephens
|
97c8af9aa2
|
Fix maxVerts < 2 case
|
2016-02-27 17:35:45 -08:00 |
Jack Andersen
|
488de1bdb9
|
GLSL macros
|
2016-02-23 17:20:07 -10:00 |
Jack Andersen
|
7e7f789c28
|
Vulkan updates
|
2016-02-22 16:34:16 -10:00 |
Jack Andersen
|
bd0a72a4cb
|
CLineRenderer HLSL shaders
|
2016-02-18 10:53:17 -10:00 |
Jack Andersen
|
7d07eb5058
|
Fix member visibility derp
|
2016-02-18 06:42:15 -08:00 |
Jack Andersen
|
5a0fb04e03
|
Implement Metal CLineRenderer shaders
|
2016-02-17 21:36:36 -10:00 |
Jack Andersen
|
365f6ac9e7
|
Implement line renderer (OpenGL only for now)
|
2016-02-17 16:42:32 -10:00 |
Phillip Stephens
|
af69c9d3ab
|
Rename namespaces
|
2016-02-13 01:02:47 -08:00 |
Jack Andersen
|
259eb89b00
|
Class name fix
|
2016-02-07 17:31:05 -10:00 |
Jack Andersen
|
e423db32ee
|
Major scoped-enum refactor
|
2015-11-20 15:16:07 -10:00 |
Jack Andersen
|
ce42cdd3be
|
various input class implementations
|
2015-08-27 14:11:31 -10:00 |
Jack Andersen
|
b51911ed3d
|
more classes added
|
2015-08-21 15:58:41 -10:00 |
Jack Andersen
|
731d8bbcb4
|
more stubs
|
2015-08-20 14:06:39 -10:00 |
Jack Andersen
|
6809fcc4a4
|
Codebase refactor
|
2015-08-18 12:51:54 -10:00 |
Jack Andersen
|
520eec7aa2
|
Refactored directory layout for cleaner runtime organization
|
2015-08-17 12:05:00 -10:00 |
Jack Andersen
|
c1f4f31e6f
|
added runtime stubs
|
2015-07-11 12:41:10 -10:00 |