· 6 years ago · Mar 30, 2020, 12:32 AM
1#define _ENGINE_VERSION "0.0.04a";
2
3/* GAME ENGINE WRITTEN WITH THE DIRECTX11 API BY THOMAS WOODMAN
4/*-----------------------------------------------CHANGELOG--------------------------------------------------------------/
53/4/2020(9:53PM) Upgrading to 0.0.01c
6========================================
7-BSP Header file has been upgraded from DirectX9/D3D9 to DirectX11/D3DX11 (There are however issues with collision detection, implementation is *very* redumentary)
8-Created Debug Console that can be toggled with the tidle(~) key (win32 API's Sleep() Function was needed to stop the extremely fast toggling, I'm using iedoc's tutorials for a codebase)
9-Implemented Console() function, which stores all logs in a std::string vector, rather than a linked list as in the last project
10-Console provides real-time feedback of camera position, camera target, camera direction, distance, and FPS to the user
11-OBJ Loader function has its own header file, for now just to clear code on the main CPP so it is less crowded, still very hard-coded
12-Implented FlatSquare() function, which allows for D2D Drawing of rects with color and alpha values(Used in the Debug Console)
13-Implemented SKYBOX for sky, there seems to be a problem culling/stencil/depth issues as certain parts of BSP maps disappear at a certain distance
14-Eliminated 100% of compiler warnings
15========================================
163/6/2020(6:06AM) Upgrading to 0.0.02a
17========================================
18-Created new XMVECTOR's oldCamPosition/newCamPosition, elementary collision detection is now in-tact (Y and Z axis are inverted with BSP maps)
19-Reset Ground Matrix's translation and mapWorld Matrix translation to align with the camera and ground
20========================================
213/6/2020(6:06AM) Upgrading to 0.0.02b
22========================================
23-Eliminated clipping of objects at a certain distance (camProjection Matrix's FOV was set only to 1000, duh!)
24-Ground, BSP map, and meshes are all rendered even with console enabled(the order in which you draw things is very tricky in DX11..I anticipate more problems like these)
25========================================
263/6/2020(6:06AM) Upgrading to 0.0.02c
27========================================
28-Adjusted the output of the debug console std::string vector to the 23 last elements of the vector to fit the debug console's transparant box so informaton doesn't trail off screen
29-Made minor adjustments to collision detection, still unable to slide against walls of BSP maps while in motion
30========================================
313/6/2020(6:06AM) Upgrading to 0.0.03a
32========================================
33-Implemented pistol OBJ Mesh
34-OBJ Mesh has its own Scale Matrix, Translation Matrix, Rotation Matrix, World and View Matrix, shares Projection Matrix with FPS Camera
35-Implemented Translation and Rotation variables that can be changed (i.e. AK-47 would point farther away and rotate less, flashlight would be closer and rotate with player)
36========================================
373/6/2020(6:06AM) Upgrading to 0.0.03a
38========================================
39-DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS!!
40-Entire Engine has been UPGRADED to make use of the static DirectXTK lib, and has done away with *ALL* deprecated DX9/10/11 CODE, this engine now solely relies on d3d11.lib and the DirectXTK
41-This is an extreme upgrade done in two days, no more old deprecated DX code, and can now make use of the *ENTIRE* tool kit, for sprites, meshes, etc!
42-All DirectX functions are included in the standard Windows SDK now. Now there's no need for making use of *any* directX headers, except for toolkits.
43========================================
443/23/2020 (My 31st Birthday) Upgrading to 0.0.03b
45========================================
46-Massive amount of work/experimentation has been taken all month long; Fell back to Legacy, went back to standard up-to-date SDK, *a lot* of learning/trial and error
47-Binary is now 64-bit; This is due to ASSIMP's lib is only x64, no point in compiling 32-bit binaries anymore anyways, especially for a game engine
48-Implemented Skybox(Upgraded it to DXTK/d3d11 standards)
49-Implemented ASSIMP Mesh Loader, loads basic meshes with embedded diffuse textures
50-Removed old deprecated OBJ Loader(the one iedoc wrote, brilliant dude to do all that without a lib like ASSIMP)
51-BSP Map Now Draws within a standard for-loop pursuant to number of faces, PVS_Render() wouldn't draw properly, random shadows and random tri's appearing/disappearing
52========================================
533/26/2020(6:06AM) Upgrading to 0.0.03c
54========================================
55-SpriteBatch/SpriteFont now work perfectly. Understanding that DX11 is a state-machine is very important; Can now make use of DXTK tools without destroying the scene.
56-DXTK's Model drawing now works without a hitch. Now this engine has two separate ways of drawing meshes, we shall see which one is perferred(obj/fbx/3ds's converted to .CUO/SDKMESH, or my ASSIMP modelloader?)
57-OBJ meshes that the player holds/uses no longer clips into the walls of other objects, i.e. the BSP map (WARNING: DISABLING Z-BUFFER WHILE DRAWING MESHES CAUSES THEM TO LOSE *THEIR* SENSE OF DEPTH AS WELL) this problem must be solved later
58-Remember: DXTK draws need ALL states proprerly set: The IA(Input Assembler) Layout, the Topology(in most cases TRIANGLELIST), shaders, OutputMerger(OM) Render Targets, and Z-Buffer MUST be enabled.
59-XMVECTOR's for First Person Camera have been converted to DirectX's namespace and using SimpleMath Library(DirectX::SimpleMath::Vector3 rather than XMVECTOR, should help with collison detection in the future)
60-Collision Detection System now using DirectX::SimpleMath::Vector3 because D3DXVECTOR3 no longer exists in the Windows SDK (In 2005 I was competing with SEGA in terms of game development; I wasted my 20's to drugs and now I have a decade of catch-up...fucking oxy/heroin)
61-Z-Buffer Problem stated just a few lines earlier regarding mesh losing depth has been fixed by clearing the depth state prior to its draw (Thank you Jesse Natalie from Microsoft for the advice!)
62========================================
633/26/2020(6:06AM) Upgrading to 0.0.04a
64========================================
65-Finally implemented multiple spotlight system; Thanks to iedoc for teaching me HLSL not mention introducing me to dx11's API as a whole
66/*-----------------------------------------------CHANGELOG--------------------------------------------------------------*/