feat ✨ added entities and components and added failing textcomponent
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.vs/ShadowCrestGameEngine/v17/Browse.VC.db-shm
Normal file
BIN
.vs/ShadowCrestGameEngine/v17/Browse.VC.db-shm
Normal file
Binary file not shown.
BIN
.vs/ShadowCrestGameEngine/v17/Browse.VC.db-wal
Normal file
BIN
.vs/ShadowCrestGameEngine/v17/Browse.VC.db-wal
Normal file
Binary file not shown.
@ -3,32 +3,32 @@
|
||||
"WorkspaceRootPath": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\WindowManager.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\WindowManager.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\Engine.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\TextComponent.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\Engine.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\main.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\main.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\TextComponent.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Logger.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\Logger.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Component.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\Component.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\SDL3.def||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:SDL3.def||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\Engine.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TransformComponent.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\TransformComponent.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Entity.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\Entity.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
@ -38,95 +38,116 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 4,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "Engine.h",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.h",
|
||||
"RelativeDocumentMoniker": "src\\core\\Engine.h",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.h",
|
||||
"RelativeToolTip": "src\\core\\Engine.h",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "TransformComponent.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TransformComponent.hpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\TransformComponent.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TransformComponent.hpp",
|
||||
"RelativeToolTip": "src\\game\\components\\TransformComponent.hpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAB8AAAAoAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T00:30:33.574Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2025-07-13T20:31:15.964Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "WindowManager.h",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.h",
|
||||
"RelativeDocumentMoniker": "src\\core\\WindowManager.h",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.h",
|
||||
"RelativeToolTip": "src\\core\\WindowManager.h",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAACAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T00:30:23.261Z",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "TextComponent.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.cpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\TextComponent.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.cpp",
|
||||
"RelativeToolTip": "src\\game\\components\\TextComponent.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAPAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-13T20:09:50.139Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 6,
|
||||
"Title": "SDL3.def",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\SDL3.def",
|
||||
"RelativeDocumentMoniker": "SDL3.def",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\SDL3.def",
|
||||
"RelativeToolTip": "SDL3.def",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAALwEAAALAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001913|",
|
||||
"WhenOpened": "2025-07-12T23:40:30.165Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "Logger.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Logger.cpp",
|
||||
"RelativeDocumentMoniker": "src\\core\\Logger.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Logger.cpp",
|
||||
"RelativeToolTip": "src\\core\\Logger.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-12T23:31:49.016Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "WindowManager.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.cpp",
|
||||
"RelativeDocumentMoniker": "src\\core\\WindowManager.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.cpp",
|
||||
"RelativeToolTip": "src\\core\\WindowManager.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-12T23:31:48.358Z",
|
||||
"EditorCaption": ""
|
||||
"Title": "Entity.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Entity.hpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\Entity.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Entity.hpp",
|
||||
"RelativeToolTip": "src\\game\\components\\Entity.hpp",
|
||||
"ViewState": "AgIAAAwAAAAAAAAAAAAAABoAAAAZAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T19:25:40.407Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "Component.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Component.hpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\Component.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Component.hpp",
|
||||
"RelativeToolTip": "src\\game\\components\\Component.hpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAZAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T19:24:03.306Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "TextComponent.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.hpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\TextComponent.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.hpp",
|
||||
"RelativeToolTip": "src\\game\\components\\TextComponent.hpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAZAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T19:18:06.662Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "Engine.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.cpp",
|
||||
"RelativeDocumentMoniker": "src\\core\\Engine.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.cpp",
|
||||
"RelativeToolTip": "src\\core\\Engine.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAbAAAAAAAAAA==",
|
||||
"ViewState": "AgIAAEsAAAAAAAAAAAAAAFkAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-12T23:30:21.367Z",
|
||||
"WhenOpened": "2025-07-13T18:23:56.384Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"FloatingWindowState": {
|
||||
"Id": "09bdcdd6-978b-49f3-a0e1-d42915841f24",
|
||||
"Display": 1,
|
||||
"X": 215,
|
||||
"Y": 195,
|
||||
"Width": 1553,
|
||||
"Height": 721,
|
||||
"WindowState": 2
|
||||
},
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 0,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "main.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\main.cpp",
|
||||
"RelativeDocumentMoniker": "src\\main.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\main.cpp",
|
||||
"RelativeToolTip": "src\\main.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-12T23:27:27.198Z",
|
||||
"Title": "Engine.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.hpp",
|
||||
"RelativeDocumentMoniker": "src\\core\\Engine.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.hpp",
|
||||
"RelativeToolTip": "src\\core\\Engine.hpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T18:21:30.176Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
|
||||
@ -3,32 +3,32 @@
|
||||
"WorkspaceRootPath": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\WindowManager.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\WindowManager.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\Engine.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\TextComponent.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\Engine.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\main.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\main.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\TextComponent.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Logger.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\Logger.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Component.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\Component.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\SDL3.def||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:SDL3.def||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\core\\Engine.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TransformComponent.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\TransformComponent.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Entity.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||
"RelativeMoniker": "D:0:0:{5653811A-38D1-4D9D-9446-A417E8557584}|ShadowCrestGameEngine.vcxproj|solutionrelative:src\\game\\components\\Entity.hpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
@ -38,95 +38,116 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 4,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "Engine.h",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.h",
|
||||
"RelativeDocumentMoniker": "src\\core\\Engine.h",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.h",
|
||||
"RelativeToolTip": "src\\core\\Engine.h",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "TransformComponent.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TransformComponent.hpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\TransformComponent.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TransformComponent.hpp",
|
||||
"RelativeToolTip": "src\\game\\components\\TransformComponent.hpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAB8AAAAoAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T00:30:33.574Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2025-07-13T20:31:15.964Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "WindowManager.h",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.h",
|
||||
"RelativeDocumentMoniker": "src\\core\\WindowManager.h",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.h",
|
||||
"RelativeToolTip": "src\\core\\WindowManager.h",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAACAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T00:30:23.261Z",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "TextComponent.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.cpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\TextComponent.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.cpp",
|
||||
"RelativeToolTip": "src\\game\\components\\TextComponent.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-13T20:09:50.139Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 6,
|
||||
"Title": "SDL3.def",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\SDL3.def",
|
||||
"RelativeDocumentMoniker": "SDL3.def",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\SDL3.def",
|
||||
"RelativeToolTip": "SDL3.def",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAALwEAAALAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001913|",
|
||||
"WhenOpened": "2025-07-12T23:40:30.165Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "Logger.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Logger.cpp",
|
||||
"RelativeDocumentMoniker": "src\\core\\Logger.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Logger.cpp",
|
||||
"RelativeToolTip": "src\\core\\Logger.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-12T23:31:49.016Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "WindowManager.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.cpp",
|
||||
"RelativeDocumentMoniker": "src\\core\\WindowManager.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\WindowManager.cpp",
|
||||
"RelativeToolTip": "src\\core\\WindowManager.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-12T23:31:48.358Z",
|
||||
"EditorCaption": ""
|
||||
"Title": "Entity.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Entity.hpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\Entity.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Entity.hpp",
|
||||
"RelativeToolTip": "src\\game\\components\\Entity.hpp",
|
||||
"ViewState": "AgIAAAwAAAAAAAAAAAAAABoAAAAZAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T19:25:40.407Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "Component.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Component.hpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\Component.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\Component.hpp",
|
||||
"RelativeToolTip": "src\\game\\components\\Component.hpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAZAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T19:24:03.306Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "TextComponent.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.hpp",
|
||||
"RelativeDocumentMoniker": "src\\game\\components\\TextComponent.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\game\\components\\TextComponent.hpp",
|
||||
"RelativeToolTip": "src\\game\\components\\TextComponent.hpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAZAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T19:18:06.662Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "Engine.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.cpp",
|
||||
"RelativeDocumentMoniker": "src\\core\\Engine.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.cpp",
|
||||
"RelativeToolTip": "src\\core\\Engine.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAbAAAAAAAAAA==",
|
||||
"ViewState": "AgIAAEsAAAAAAAAAAAAAAFkAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-12T23:30:21.367Z",
|
||||
"WhenOpened": "2025-07-13T18:23:56.384Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"FloatingWindowState": {
|
||||
"Id": "09bdcdd6-978b-49f3-a0e1-d42915841f24",
|
||||
"Display": 1,
|
||||
"X": 215,
|
||||
"Y": 195,
|
||||
"Width": 1553,
|
||||
"Height": 721,
|
||||
"WindowState": 2
|
||||
},
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 0,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "main.cpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\main.cpp",
|
||||
"RelativeDocumentMoniker": "src\\main.cpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\main.cpp",
|
||||
"RelativeToolTip": "src\\main.cpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||
"WhenOpened": "2025-07-12T23:27:27.198Z",
|
||||
"Title": "Engine.hpp",
|
||||
"DocumentMoniker": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.hpp",
|
||||
"RelativeDocumentMoniker": "src\\core\\Engine.hpp",
|
||||
"ToolTip": "C:\\Users\\steev\\Desktop\\ShadowCrestGameEngine\\src\\core\\Engine.hpp",
|
||||
"RelativeToolTip": "src\\core\\Engine.hpp",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||
"WhenOpened": "2025-07-13T18:21:30.176Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Assets/fonts/Roboto-Bold.ttf
Normal file
BIN
Assets/fonts/Roboto-Bold.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
ShadowCr.5653811a/x64/Debug/Renderer.obj
Normal file
BIN
ShadowCr.5653811a/x64/Debug/Renderer.obj
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,3 +2,5 @@ C:\Users\steev\Desktop\ShadowCrestGameEngine\src\core\Engine.cpp;C:\Users\steev\
|
||||
C:\Users\steev\Desktop\ShadowCrestGameEngine\src\core\Logger.cpp;C:\Users\steev\Desktop\ShadowCrestGameEngine\ShadowCr.5653811a\x64\Debug\Logger.obj
|
||||
C:\Users\steev\Desktop\ShadowCrestGameEngine\src\core\WindowManager.cpp;C:\Users\steev\Desktop\ShadowCrestGameEngine\ShadowCr.5653811a\x64\Debug\WindowManager.obj
|
||||
C:\Users\steev\Desktop\ShadowCrestGameEngine\src\main.cpp;C:\Users\steev\Desktop\ShadowCrestGameEngine\ShadowCr.5653811a\x64\Debug\main.obj
|
||||
C:\Users\steev\Desktop\ShadowCrestGameEngine\src\systems\Renderer.cpp;C:\Users\steev\Desktop\ShadowCrestGameEngine\ShadowCr.5653811a\x64\Debug\Renderer.obj
|
||||
C:\Users\steev\Desktop\ShadowCrestGameEngine\src\systems\Renderer.hpp;C:\Users\steev\Desktop\ShadowCrestGameEngine\ShadowCr.5653811a\x64\Debug\Renderer.obj
|
||||
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
||||
@ -1,2 +1,2 @@
|
||||
^C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\ENGINE.OBJ|C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\LOGGER.OBJ|C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\MAIN.OBJ|C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\WINDOWMANAGER.OBJ
|
||||
^C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\ENGINE.OBJ|C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\LOGGER.OBJ|C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\MAIN.OBJ|C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\RENDERER.OBJ|C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\RENDERER.OBJ|C:\USERS\STEEV\DESKTOP\SHADOWCRESTGAMEENGINE\SHADOWCR.5653811A\X64\DEBUG\WINDOWMANAGER.OBJ
|
||||
C:\Users\steev\Desktop\ShadowCrestGameEngine\ShadowCr.5653811a\x64\Debug\ShadowCrestGameEngine.ilk
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
ShadowCr.5653811a/x64/Debug/TextComponent.obj
Normal file
BIN
ShadowCr.5653811a/x64/Debug/TextComponent.obj
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -105,12 +105,12 @@
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir)/Vendored/SDL/include;$(ProjectDir)/libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(ProjectDIr)/vendored/SDL3_ttf-3.2.2/include;$(ProjectDir)/vendored/SDL/include;$(ProjectDir)/libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)/libs</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)/libs/*.lib</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>$(ProjectDir)libs/SDL3.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
@ -132,12 +132,19 @@
|
||||
<ClCompile Include="src\core\Engine.cpp" />
|
||||
<ClCompile Include="src\core\Logger.cpp" />
|
||||
<ClCompile Include="src\core\WindowManager.cpp" />
|
||||
<ClCompile Include="src\game\components\TextComponent.cpp" />
|
||||
<ClCompile Include="src\main.cpp" />
|
||||
<ClCompile Include="src\systems\Renderer.cpp" />
|
||||
<ClCompile Include="src\systems\Renderer.hpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\core\Engine.h" />
|
||||
<ClInclude Include="src\core\Logger.h" />
|
||||
<ClInclude Include="src\core\WindowManager.h" />
|
||||
<ClInclude Include="src\core\Engine.hpp" />
|
||||
<ClInclude Include="src\core\Logger.hpp" />
|
||||
<ClInclude Include="src\core\WindowManager.hpp" />
|
||||
<ClInclude Include="src\game\components\Component.hpp" />
|
||||
<ClInclude Include="src\game\components\Entity.hpp" />
|
||||
<ClInclude Include="src\game\components\TextComponent.hpp" />
|
||||
<ClInclude Include="src\game\components\TransformComponent.hpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
||||
@ -19,6 +19,27 @@
|
||||
<Filter Include="Headerdateien\core">
|
||||
<UniqueIdentifier>{dab3d0c3-1768-433c-86d1-ac8cb6dbeb21}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Headerdateien\systems">
|
||||
<UniqueIdentifier>{266ca74b-e2bf-4558-a165-4f1f6bc4d09c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Quelldateien\systems">
|
||||
<UniqueIdentifier>{cf2b49e9-84b3-45c7-93aa-5f954e717ab4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Headerdateien\game">
|
||||
<UniqueIdentifier>{53f59132-4a9c-48c2-a4b3-b60c846757e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Headerdateien\game\components">
|
||||
<UniqueIdentifier>{30ef3058-6b07-462a-abbd-4163bb41917f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Quelldateien\game">
|
||||
<UniqueIdentifier>{ef88eeaa-5dcd-4259-8891-e90fa0fd7ab9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Quelldateien\game\components">
|
||||
<UniqueIdentifier>{2b83c1db-d09d-4c6b-b964-6f50ecdb6246}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Headerdateien\game\Entities">
|
||||
<UniqueIdentifier>{2881d119-111d-413c-a9fe-105bda2c6f1d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\main.cpp">
|
||||
@ -33,16 +54,37 @@
|
||||
<ClCompile Include="src\core\WindowManager.cpp">
|
||||
<Filter>Quelldateien\core</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\systems\Renderer.hpp">
|
||||
<Filter>Headerdateien\systems</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\systems\Renderer.cpp">
|
||||
<Filter>Quelldateien\systems</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\game\components\TextComponent.cpp">
|
||||
<Filter>Quelldateien\game\components</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\core\Engine.h">
|
||||
<ClInclude Include="src\core\Engine.hpp">
|
||||
<Filter>Headerdateien\core</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\core\Logger.h">
|
||||
<ClInclude Include="src\core\Logger.hpp">
|
||||
<Filter>Headerdateien\core</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\core\WindowManager.h">
|
||||
<ClInclude Include="src\core\WindowManager.hpp">
|
||||
<Filter>Headerdateien\core</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\game\components\TextComponent.hpp">
|
||||
<Filter>Headerdateien\game\components</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\game\components\Component.hpp">
|
||||
<Filter>Headerdateien\game\components</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\game\components\Entity.hpp">
|
||||
<Filter>Headerdateien\game\Entities</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\game\components\TransformComponent.hpp">
|
||||
<Filter>Headerdateien\game\components</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
BIN
libs/SDL3_ttf.dll
Normal file
BIN
libs/SDL3_ttf.dll
Normal file
Binary file not shown.
BIN
libs/SDL3_ttf.lib
Normal file
BIN
libs/SDL3_ttf.lib
Normal file
Binary file not shown.
BIN
libs/SDL3_ttf.pdb
Normal file
BIN
libs/SDL3_ttf.pdb
Normal file
Binary file not shown.
0
src/Renderer.cpp
Normal file
0
src/Renderer.cpp
Normal file
0
src/Renderer.hpp
Normal file
0
src/Renderer.hpp
Normal file
@ -1,10 +1,14 @@
|
||||
#include "Engine.h"
|
||||
#include "Engine.hpp"
|
||||
#include "WindowManager.hpp"
|
||||
#include "../systems/Renderer.hpp"
|
||||
#include "../game/components/TextComponent.hpp"
|
||||
#include <iostream>
|
||||
#include <SDL3/SDL.h>
|
||||
#include "WindowManager.h"
|
||||
#include <SDL3_ttf/SDL_ttf.h>
|
||||
|
||||
bool running = true;
|
||||
WindowManager *wm = nullptr;
|
||||
Renderer renderer;
|
||||
|
||||
bool Engine::Init() {
|
||||
if (!SDL_Init(SDL_INIT_VIDEO)) {
|
||||
@ -12,6 +16,11 @@ bool Engine::Init() {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!TTF_Init()) {
|
||||
std::cerr << "TTF_Init: failed" << SDL_GetError() << "\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
wm = new WindowManager();
|
||||
|
||||
if (!wm->InitWindow("ShadowCrest", 800, 600)) {
|
||||
@ -19,25 +28,66 @@ bool Engine::Init() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if (!renderer.Init(wm->GetWindow())) return false;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void Engine::Run() {
|
||||
SDL_Event event;
|
||||
|
||||
while (running) {
|
||||
|
||||
while (SDL_PollEvent(&event)) {
|
||||
if (event.type == SDL_EVENT_QUIT) {
|
||||
running = false;
|
||||
}
|
||||
}
|
||||
|
||||
SDL_Delay(16);
|
||||
renderer.Clear();
|
||||
|
||||
// game logic here
|
||||
TextComponent* text = new TextComponent(
|
||||
"Hallo Welt", "assets/fonts/Roboto.ttf", 24, SDL_Color{ 255, 255, 255, 255 }
|
||||
);
|
||||
text->Init(renderer.GetSDLRenderer());
|
||||
|
||||
renderer.Present();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
GetFPS: calculates FPS the engine can execute at call
|
||||
*/
|
||||
int Engine::GetFPS() {
|
||||
|
||||
this->oldTime = newTime;
|
||||
this->newTime = SDL_GetTicks();
|
||||
|
||||
this->FPS = 1.f / (float(this->newTime - this->oldTime) / 1000.f);
|
||||
|
||||
// prevent nois (fps numbers below 0) from beeing written to the FPS counter and do rewrite it when the value wouldn't change
|
||||
if (this->FPS < 0) this->FPS = this->lastFPS;
|
||||
if (this->lastFPS != this->FPS) this->lastFPS = this->FPS;
|
||||
|
||||
return this->FPS;
|
||||
}
|
||||
|
||||
void Engine::Shutdown() {
|
||||
|
||||
// empty variables that have been set by the engine itself
|
||||
this->FPS = 0;
|
||||
this->lastFPS = 0;
|
||||
this->newTime = 0;
|
||||
this->oldTime = 0;
|
||||
|
||||
// safely close down every system
|
||||
if (wm != nullptr) {
|
||||
wm->Close();
|
||||
}
|
||||
|
||||
// stop sdl systems
|
||||
SDL_Quit();
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
class Engine {
|
||||
public:
|
||||
bool Init();
|
||||
void Run();
|
||||
void Shutdown();
|
||||
};
|
||||
17
src/core/Engine.hpp
Normal file
17
src/core/Engine.hpp
Normal file
@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
#include <iostream>
|
||||
#include <SDL3/SDL.h>
|
||||
|
||||
class Engine {
|
||||
public:
|
||||
bool Init();
|
||||
void Run();
|
||||
void Shutdown();
|
||||
int GetFPS();
|
||||
|
||||
private:
|
||||
int lastFPS = 0;
|
||||
int FPS = 0;
|
||||
Uint64 oldTime = 0;
|
||||
Uint64 newTime = 0;
|
||||
};
|
||||
0
src/core/Logger.hpp
Normal file
0
src/core/Logger.hpp
Normal file
@ -1,4 +1,4 @@
|
||||
#include "WindowManager.h"
|
||||
#include "WindowManager.hpp"
|
||||
#include <iostream>
|
||||
#include <SDL3/SDL.h>
|
||||
|
||||
@ -16,4 +16,9 @@ void WindowManager::Draw() {
|
||||
|
||||
void WindowManager::Close() {
|
||||
SDL_DestroyWindow(window);
|
||||
}
|
||||
|
||||
SDL_Window* WindowManager::GetWindow()
|
||||
{
|
||||
return window;
|
||||
}
|
||||
@ -1,8 +1,12 @@
|
||||
#pragma once
|
||||
#include <SDL3/SDL.h>
|
||||
|
||||
class WindowManager {
|
||||
public:
|
||||
bool InitWindow(const char* name, int width, int height);
|
||||
void Draw();
|
||||
void Close();
|
||||
|
||||
SDL_Window* GetWindow();
|
||||
|
||||
};
|
||||
10
src/game/components/Component.hpp
Normal file
10
src/game/components/Component.hpp
Normal file
@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
class Component {
|
||||
public:
|
||||
virtual ~Component() = default;
|
||||
|
||||
virtual void Init() {}
|
||||
virtual void Update(float deltaTime) {}
|
||||
virtual void Render() {}
|
||||
};
|
||||
42
src/game/components/Entity.hpp
Normal file
42
src/game/components/Entity.hpp
Normal file
@ -0,0 +1,42 @@
|
||||
#pragma once
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
#include <type_traits>
|
||||
#include "Component.hpp"
|
||||
|
||||
class Entity {
|
||||
public:
|
||||
void AddComponent(std::shared_ptr<Component> component) {
|
||||
component->Init();
|
||||
components.push_back(component);
|
||||
}
|
||||
|
||||
template<typename T, typename... Args>
|
||||
std::shared_ptr<T> AddComponent(Args&&... args) {
|
||||
static_assert(std::is_base_of<Component, T>::value, "T must be a Component");
|
||||
auto comp = std::make_shared<T>(std::forward<Args>(args)...);
|
||||
AddComponent(comp);
|
||||
return comp;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
std::shared_ptr<T> GetComponent() {
|
||||
static_assert(std::is_base_of<Component, T>::value, "T must be a Component");
|
||||
for (auto& comp : components) {
|
||||
auto casted = std::dynamic_pointer_cast<T>(comp);
|
||||
if (casted) {
|
||||
return casted;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void Update(float deltaTime) {
|
||||
for (auto& c : components) {
|
||||
c->Update(deltaTime);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<std::shared_ptr<Component>> components;
|
||||
};
|
||||
48
src/game/components/TextComponent.cpp
Normal file
48
src/game/components/TextComponent.cpp
Normal file
@ -0,0 +1,48 @@
|
||||
#include "TextComponent.hpp"
|
||||
#include <SDL3_ttf/SDL_ttf.h>
|
||||
|
||||
TextComponent::TextComponent(const std::string& text, const std::string& fontPath, int fontSize, SDL_Color color)
|
||||
: text(text), fontPath(fontPath), fontSize(fontSize), color(color) {
|
||||
}
|
||||
|
||||
TextComponent::~TextComponent() {
|
||||
if (texture) SDL_DestroyTexture(texture);
|
||||
if (font) TTF_CloseFont(font);
|
||||
}
|
||||
|
||||
void TextComponent::Init(SDL_Renderer* renderer) {
|
||||
font = TTF_OpenFont(fontPath.c_str(), fontSize);
|
||||
if (!font) {
|
||||
SDL_Log("Failed to load font: %s", SDL_GetError());
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: implement a way to resize
|
||||
SDL_Surface* surface = TTF_RenderText_Blended(font, text.c_str(), 10, color);
|
||||
if (!surface) {
|
||||
SDL_Log("Failed to render text surface: %s", SDL_GetError());
|
||||
return;
|
||||
}
|
||||
|
||||
texture = SDL_CreateTextureFromSurface(renderer, surface);
|
||||
destRect = { 0, 0, (float)surface->w, (float)surface->h };
|
||||
|
||||
SDL_DestroySurface(surface);
|
||||
}
|
||||
|
||||
void TextComponent::Update(float dt) {
|
||||
// nothing dynamic for now
|
||||
}
|
||||
|
||||
void TextComponent::Render(SDL_Renderer* renderer) {
|
||||
if (texture) {
|
||||
SDL_RenderTexture(renderer, texture, nullptr, &destRect);
|
||||
}
|
||||
}
|
||||
|
||||
void TextComponent::SetText(const std::string& newText) {
|
||||
if (newText != text) {
|
||||
text = newText;
|
||||
// Re-render in Init() or a helper function you could create
|
||||
}
|
||||
}
|
||||
28
src/game/components/TextComponent.hpp
Normal file
28
src/game/components/TextComponent.hpp
Normal file
@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
#include "Component.hpp"
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3_ttf/SDL_ttf.h>
|
||||
#include <string>
|
||||
|
||||
class TextComponent : public Component {
|
||||
public:
|
||||
TextComponent(const std::string& text, const std::string& fontPath, int fontSize, SDL_Color color);
|
||||
~TextComponent();
|
||||
|
||||
void Init(SDL_Renderer* renderer);
|
||||
void Update(float dt);
|
||||
void Render(SDL_Renderer* renderer);
|
||||
|
||||
void SetText(const std::string& newText);
|
||||
|
||||
private:
|
||||
std::string text;
|
||||
std::string fontPath;
|
||||
int fontSize;
|
||||
SDL_Color color;
|
||||
|
||||
SDL_Texture* texture = nullptr;
|
||||
SDL_FRect destRect;
|
||||
|
||||
TTF_Font* font = nullptr;
|
||||
};
|
||||
33
src/game/components/TransformComponent.hpp
Normal file
33
src/game/components/TransformComponent.hpp
Normal file
@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
#include "Component.hpp"
|
||||
|
||||
struct Vector2 {
|
||||
float x = 0.0f;
|
||||
float y = 0.0f;
|
||||
|
||||
Vector2() = default;
|
||||
Vector2(float x, float y) : x(x), y(y) {}
|
||||
|
||||
Vector2 operator+(const Vector2& other) const {
|
||||
return Vector2(x + other.x, y + other.y);
|
||||
}
|
||||
|
||||
Vector2& operator+=(const Vector2& other) {
|
||||
x += other.x;
|
||||
y += other.y;
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
class TransformComponent : public Component {
|
||||
public:
|
||||
Vector2 position;
|
||||
float rotation = 0.0f;
|
||||
Vector2 scale{ 1.0f, 1.0f };
|
||||
|
||||
TransformComponent() = default;
|
||||
TransformComponent(float x, float y) : position(x,y) {}
|
||||
|
||||
void Init() override {}
|
||||
void Update(float deltaTime) override {}
|
||||
};
|
||||
42
src/game/entities/Entity.hpp
Normal file
42
src/game/entities/Entity.hpp
Normal file
@ -0,0 +1,42 @@
|
||||
#pragma once
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
#include <type_traits>
|
||||
#include "Component.hpp"
|
||||
|
||||
class Entity {
|
||||
public:
|
||||
void AddComponent(std::shared_ptr<Component> component) {
|
||||
component->Init();
|
||||
components.push_back(component);
|
||||
}
|
||||
|
||||
template<typename T, typename... Args>
|
||||
std::shared_ptr<T> AddComponent(Args&&... args) {
|
||||
static_assert(std::is_base_of<Component, T>::value, "T must be a Component");
|
||||
auto comp = std::make_shared<T>(std::forward<Args>(args)...);
|
||||
AddComponent(comp);
|
||||
return comp;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
std::shared_ptr<T> GetComponent() {
|
||||
static_assert(std::is_base_of<Component, T>::value, "T must be a Component");
|
||||
for (auto& comp : components) {
|
||||
auto casted = std::dynamic_pointer_cast<T>(comp);
|
||||
if (casted) {
|
||||
return casted;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void Update(float deltaTime) {
|
||||
for (auto& c : components) {
|
||||
c->Update(deltaTime);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<std::shared_ptr<Component>> components;
|
||||
};
|
||||
@ -1,4 +1,4 @@
|
||||
#include "core/Engine.h"
|
||||
#include "core/Engine.hpp"
|
||||
#include <iostream>
|
||||
#include <SDL3/SDL.h> // Nur f<>r SDL_GetError()
|
||||
|
||||
|
||||
62
src/systems/Renderer.cpp
Normal file
62
src/systems/Renderer.cpp
Normal file
@ -0,0 +1,62 @@
|
||||
#include "Renderer.hpp"
|
||||
#include <iostream>
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3_ttf/SDL_ttf.h>
|
||||
|
||||
// Init creates a renderer with a window attached
|
||||
bool Renderer::Init(SDL_Window* window) {
|
||||
renderer = SDL_CreateRenderer(window, nullptr);
|
||||
|
||||
if (!renderer) {
|
||||
std::cerr << "Renderer Init Failed: " << SDL_GetError() << std::endl;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Clear handles clearing the background from its previous image
|
||||
void Renderer::Clear() {
|
||||
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); // Black background
|
||||
SDL_RenderClear(renderer);
|
||||
}
|
||||
|
||||
// Present displays the current frame buffer
|
||||
void Renderer::Present() {
|
||||
SDL_RenderPresent(renderer);
|
||||
}
|
||||
|
||||
// Shutdown handles stopping the renderer
|
||||
void Renderer::Shutdown() {
|
||||
if (renderer) {
|
||||
SDL_DestroyRenderer(renderer);
|
||||
renderer = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Handles drawing a rectangle with given color
|
||||
x int sets the x position
|
||||
y int sets the y position
|
||||
w int sets the witdh
|
||||
h int sets the height
|
||||
color SDL_Color sets which color the rectangle has
|
||||
*/
|
||||
void Renderer::DrawRect(int x, int y, int w, int h, SDL_Color color) {
|
||||
SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, color.a);
|
||||
SDL_FRect rect = { static_cast<float>(x), static_cast<float>(y),
|
||||
static_cast<float>(w), static_cast<float>(h) };
|
||||
SDL_RenderFillRect(renderer, &rect); // SDL3 nutzt FRect
|
||||
}
|
||||
|
||||
SDL_Texture* Renderer::DrawText(const char* message, const char* fontFile, int fontSize, SDL_Color color) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Renderer::DrawTexture(SDL_Texture* texture, int x, int y, int w, int h) {
|
||||
SDL_FRect dst = { static_cast<float>(x), static_cast<float>(y),
|
||||
static_cast<float>(w), static_cast<float>(h) };
|
||||
SDL_RenderTexture(renderer, texture, nullptr, &dst);
|
||||
}
|
||||
20
src/systems/Renderer.hpp
Normal file
20
src/systems/Renderer.hpp
Normal file
@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
#include <SDL3/SDL.h>
|
||||
|
||||
class Renderer {
|
||||
public:
|
||||
bool Init(SDL_Window* window);
|
||||
void Clear();
|
||||
void Present();
|
||||
void Shutdown();
|
||||
|
||||
void DrawRect(int x, int y, int w, int h, SDL_Color color);
|
||||
SDL_Texture* DrawText(const char* message, const char* fontFile, int fontSize, SDL_Color color);
|
||||
void DrawTexture(SDL_Texture* texture, int x, int y, int w, int h);
|
||||
|
||||
SDL_Renderer* GetSDLRenderer() const { return renderer; }
|
||||
|
||||
private:
|
||||
SDL_Renderer* renderer = nullptr;
|
||||
|
||||
};
|
||||
1
vendored/SDL3_ttf-3.2.2/.git-hash
Normal file
1
vendored/SDL3_ttf-3.2.2/.git-hash
Normal file
@ -0,0 +1 @@
|
||||
a1ce3670aec736ecbf0936c43f2f0cc53aa61e5b
|
||||
39
vendored/SDL3_ttf-3.2.2/INSTALL.md
Normal file
39
vendored/SDL3_ttf-3.2.2/INSTALL.md
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
# Using this package
|
||||
|
||||
This package contains SDL3_ttf built for Visual Studio.
|
||||
|
||||
To use this package, edit your project properties:
|
||||
- Add the include directory to "VC++ Directories" -> "Include Directories"
|
||||
- Add the lib/_arch_ directory to "VC++ Directories" -> "Library Directories"
|
||||
- Add SDL3_ttf.lib to Linker -> Input -> "Additional Dependencies"
|
||||
- Copy lib/_arch_/SDL3_ttf.dll to your project directory.
|
||||
|
||||
# Documentation
|
||||
|
||||
An API reference and additional documentation is available at:
|
||||
|
||||
https://wiki.libsdl.org/SDL3_ttf
|
||||
|
||||
# Discussions
|
||||
|
||||
## Discord
|
||||
|
||||
You can join the official Discord server at:
|
||||
|
||||
https://discord.com/invite/BwpFGBWsv8
|
||||
|
||||
## Forums/mailing lists
|
||||
|
||||
You can join SDL development discussions at:
|
||||
|
||||
https://discourse.libsdl.org/
|
||||
|
||||
Once you sign up, you can use the forum through the website or as a mailing list from your email client.
|
||||
|
||||
## Announcement list
|
||||
|
||||
You can sign up for the low traffic announcement list at:
|
||||
|
||||
https://www.libsdl.org/mailing-list.php
|
||||
|
||||
17
vendored/SDL3_ttf-3.2.2/LICENSE.txt
Normal file
17
vendored/SDL3_ttf-3.2.2/LICENSE.txt
Normal file
@ -0,0 +1,17 @@
|
||||
Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
23
vendored/SDL3_ttf-3.2.2/README.md
Normal file
23
vendored/SDL3_ttf-3.2.2/README.md
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
SDL_ttf 3.0
|
||||
|
||||
This library is a wrapper around the FreeType and Harfbuzz libraries, allowing you to use TrueType fonts to render text in SDL applications.
|
||||
|
||||
The latest version of this library is available from GitHub:
|
||||
https://github.com/libsdl-org/SDL_ttf/releases
|
||||
|
||||
Installation instructions and a quick introduction is available in
|
||||
[INSTALL.md](INSTALL.md)
|
||||
|
||||
This library is distributed under the terms of the zlib license,
|
||||
available in [LICENSE.txt](LICENSE.txt).
|
||||
|
||||
This library also uses the following libraries:
|
||||
- FreeType, licensed under the [FTL](https://gitlab.freedesktop.org/freetype/freetype/-/blob/master/docs/FTL.TXT)
|
||||
- HarfBuzz, licensed under the [MIT license](https://github.com/harfbuzz/harfbuzz/blob/main/COPYING)
|
||||
- PlutoSVG, licensed under the [MIT license](https://github.com/sammycage/plutosvg/blob/master/LICENSE)
|
||||
- PlutoVG, licensed under the [MIT license](https://github.com/sammycage/plutovg/blob/master/LICENSE)
|
||||
|
||||
Enjoy!
|
||||
|
||||
Sam Lantinga (slouken@libsdl.org)
|
||||
80
vendored/SDL3_ttf-3.2.2/cmake/SDL3_ttfConfig.cmake
Normal file
80
vendored/SDL3_ttf-3.2.2/cmake/SDL3_ttfConfig.cmake
Normal file
@ -0,0 +1,80 @@
|
||||
# SDL3_ttf CMake configuration file:
|
||||
# This file is meant to be placed in a cmake subfolder of SDL3_ttf-devel-3.2.2-VC.zip
|
||||
|
||||
include(FeatureSummary)
|
||||
set_package_properties(SDL3_ttf PROPERTIES
|
||||
URL "https://www.libsdl.org/projects/SDL_ttf/"
|
||||
DESCRIPTION "Support for TrueType (.ttf) font files with Simple Directmedia Layer"
|
||||
)
|
||||
|
||||
cmake_minimum_required(VERSION 3.0...3.28)
|
||||
|
||||
set(SDL3_ttf_FOUND TRUE)
|
||||
|
||||
set(SDLTTF_VENDORED TRUE)
|
||||
|
||||
set(SDLTTF_HARFBUZZ TRUE)
|
||||
set(SDLTTF_FREETYPE TRUE)
|
||||
|
||||
|
||||
if(SDL_CPU_X86)
|
||||
set(_sdl3_ttf_arch_subdir "x86")
|
||||
elseif(SDL_CPU_X64 OR SDL_CPU_ARM64EC)
|
||||
set(_sdl3_ttf_arch_subdir "x64")
|
||||
elseif(SDL_CPU_ARM64)
|
||||
set(_sdl3_ttf_arch_subdir "arm64")
|
||||
else()
|
||||
set(SDL3_mixer_FOUND FALSE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(_sdl3_ttf_incdir "${CMAKE_CURRENT_LIST_DIR}/../include")
|
||||
set(_sdl3_ttf_library "${CMAKE_CURRENT_LIST_DIR}/../lib/${_sdl3_ttf_arch_subdir}/SDL3_ttf.lib")
|
||||
set(_sdl3_ttf_dll "${CMAKE_CURRENT_LIST_DIR}/../lib/${_sdl3_ttf_arch_subdir}/SDL3_ttf.dll")
|
||||
|
||||
# All targets are created, even when some might not be requested though COMPONENTS.
|
||||
# This is done for compatibility with CMake generated SDL3_ttf-target.cmake files.
|
||||
|
||||
set(SDL3_ttf_SDL3_ttf-shared_FOUND TRUE)
|
||||
if(NOT TARGET SDL3_ttf::SDL3_ttf-shared)
|
||||
add_library(SDL3_ttf::SDL3_ttf-shared SHARED IMPORTED)
|
||||
set_target_properties(SDL3_ttf::SDL3_ttf-shared
|
||||
PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_sdl3_ttf_incdir}"
|
||||
IMPORTED_IMPLIB "${_sdl3_ttf_library}"
|
||||
IMPORTED_LOCATION "${_sdl3_ttf_dll}"
|
||||
COMPATIBLE_INTERFACE_BOOL "SDL3_SHARED"
|
||||
INTERFACE_SDL3_SHARED "ON"
|
||||
)
|
||||
endif()
|
||||
|
||||
unset(_sdl3_ttf_arch_subdir)
|
||||
unset(_sdl3_ttf_incdir)
|
||||
unset(_sdl3_ttf_library)
|
||||
unset(_sdl3_ttf_dll)
|
||||
|
||||
set(SDL3_ttf_SDL3_ttf-static_FOUND TRUE)
|
||||
|
||||
set(SDL3_ttf_SDL3_ttf_FOUND FALSE)
|
||||
if(SDL3_ttf_SDL3_ttf-hared_FOUND OR SDL3_ttf_SDL3_ttf-static_FOUND)
|
||||
set(SDL3_ttf_SDL3_ttf_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
function(_sdl_create_target_alias_compat NEW_TARGET TARGET)
|
||||
if(CMAKE_VERSION VERSION_LESS "3.18")
|
||||
# Aliasing local targets is not supported on CMake < 3.18, so make it global.
|
||||
add_library(${NEW_TARGET} INTERFACE IMPORTED)
|
||||
set_target_properties(${NEW_TARGET} PROPERTIES INTERFACE_LINK_LIBRARIES "${TARGET}")
|
||||
else()
|
||||
add_library(${NEW_TARGET} ALIAS ${TARGET})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# Make sure SDL3_ttf::SDL3_ttf always exists
|
||||
if(NOT TARGET SDL3_ttf::SDL3_ttf)
|
||||
if(TARGET SDL3_ttf::SDL3_ttf-shared)
|
||||
_sdl_create_target_alias_compat(SDL3_ttf::SDL3_ttf SDL3_ttf::SDL3_ttf-shared)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
check_required_components(SDL3_ttf)
|
||||
34
vendored/SDL3_ttf-3.2.2/cmake/SDL3_ttfConfigVersion.cmake
Normal file
34
vendored/SDL3_ttf-3.2.2/cmake/SDL3_ttfConfigVersion.cmake
Normal file
@ -0,0 +1,34 @@
|
||||
# SDL3_ttf CMake version configuration file:
|
||||
# This file is meant to be placed in a cmake subfolder of SDL3_ttf-devel-3.2.2-VC.zip
|
||||
|
||||
set(PACKAGE_VERSION "3.2.2")
|
||||
|
||||
if(PACKAGE_FIND_VERSION_RANGE)
|
||||
# Package version must be in the requested version range
|
||||
if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN)
|
||||
OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX)
|
||||
OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX)))
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
endif()
|
||||
else()
|
||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/sdlcpu.cmake")
|
||||
SDL_DetectTargetCPUArchitectures(_detected_archs)
|
||||
|
||||
# check that the installed version has a compatible architecture as the one which is currently searching:
|
||||
if(NOT(SDL_CPU_X86 OR SDL_CPU_X64 OR SDL_CPU_ARM64 OR SDL_CPU_ARM64EC))
|
||||
set(PACKAGE_VERSION "${PACKAGE_VERSION} (X86,X64,ARM64)")
|
||||
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
endif()
|
||||
|
||||
156
vendored/SDL3_ttf-3.2.2/cmake/sdlcpu.cmake
Normal file
156
vendored/SDL3_ttf-3.2.2/cmake/sdlcpu.cmake
Normal file
@ -0,0 +1,156 @@
|
||||
function(SDL_DetectTargetCPUArchitectures DETECTED_ARCHS)
|
||||
|
||||
set(known_archs EMSCRIPTEN ARM32 ARM64 ARM64EC LOONGARCH64 POWERPC32 POWERPC64 X86 X64)
|
||||
|
||||
if(APPLE AND CMAKE_OSX_ARCHITECTURES)
|
||||
foreach(known_arch IN LISTS known_archs)
|
||||
set(SDL_CPU_${known_arch} "0")
|
||||
endforeach()
|
||||
set(detected_archs)
|
||||
foreach(osx_arch IN LISTS CMAKE_OSX_ARCHITECTURES)
|
||||
if(osx_arch STREQUAL "x86_64")
|
||||
set(SDL_CPU_X64 "1")
|
||||
list(APPEND detected_archs "X64")
|
||||
elseif(osx_arch STREQUAL "arm64")
|
||||
set(SDL_CPU_ARM64 "1")
|
||||
list(APPEND detected_archs "ARM64")
|
||||
endif()
|
||||
endforeach()
|
||||
set("${DETECTED_ARCHS}" "${detected_archs}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(detected_archs)
|
||||
foreach(known_arch IN LISTS known_archs)
|
||||
if(SDL_CPU_${known_arch})
|
||||
list(APPEND detected_archs "${known_arch}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(detected_archs)
|
||||
set("${DETECTED_ARCHS}" "${detected_archs}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(arch_check_ARM32 "defined(__arm__) || defined(_M_ARM)")
|
||||
set(arch_check_ARM64 "defined(__aarch64__) || defined(_M_ARM64)")
|
||||
set(arch_check_ARM64EC "defined(_M_ARM64EC)")
|
||||
set(arch_check_EMSCRIPTEN "defined(__EMSCRIPTEN__)")
|
||||
set(arch_check_LOONGARCH64 "defined(__loongarch64)")
|
||||
set(arch_check_POWERPC32 "(defined(__PPC__) || defined(__powerpc__)) && !defined(__powerpc64__)")
|
||||
set(arch_check_POWERPC64 "defined(__PPC64__) || defined(__powerpc64__)")
|
||||
set(arch_check_X86 "defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)")
|
||||
set(arch_check_X64 "(defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)) && !defined(_M_ARM64EC)")
|
||||
|
||||
set(src_vars "")
|
||||
set(src_main "")
|
||||
foreach(known_arch IN LISTS known_archs)
|
||||
set(detected_${known_arch} "0")
|
||||
|
||||
string(APPEND src_vars "
|
||||
#if ${arch_check_${known_arch}}
|
||||
#define ARCH_${known_arch} \"1\"
|
||||
#else
|
||||
#define ARCH_${known_arch} \"0\"
|
||||
#endif
|
||||
const char *arch_${known_arch} = \"INFO<${known_arch}=\" ARCH_${known_arch} \">\";
|
||||
")
|
||||
string(APPEND src_main "
|
||||
result += arch_${known_arch}[argc];")
|
||||
endforeach()
|
||||
|
||||
set(src_arch_detect "${src_vars}
|
||||
int main(int argc, char *argv[]) {
|
||||
int result = 0;
|
||||
(void)argv;
|
||||
${src_main}
|
||||
return result;
|
||||
}")
|
||||
|
||||
if(CMAKE_C_COMPILER)
|
||||
set(ext ".c")
|
||||
elseif(CMAKE_CXX_COMPILER)
|
||||
set(ext ".cpp")
|
||||
else()
|
||||
enable_language(C)
|
||||
set(ext ".c")
|
||||
endif()
|
||||
set(path_src_arch_detect "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmp/SDL_detect_arch${ext}")
|
||||
file(WRITE "${path_src_arch_detect}" "${src_arch_detect}")
|
||||
set(path_dir_arch_detect "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmp/SDL_detect_arch")
|
||||
set(path_bin_arch_detect "${path_dir_arch_detect}/bin")
|
||||
|
||||
set(detected_archs)
|
||||
|
||||
set(msg "Detecting Target CPU Architecture")
|
||||
message(STATUS "${msg}")
|
||||
|
||||
include(CMakePushCheckState)
|
||||
|
||||
set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
|
||||
|
||||
cmake_push_check_state(RESET)
|
||||
try_compile(SDL_CPU_CHECK_ALL
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmp/SDL_detect_arch"
|
||||
SOURCES "${path_src_arch_detect}"
|
||||
COPY_FILE "${path_bin_arch_detect}"
|
||||
)
|
||||
cmake_pop_check_state()
|
||||
if(NOT SDL_CPU_CHECK_ALL)
|
||||
message(STATUS "${msg} - <ERROR>")
|
||||
message(WARNING "Failed to compile source detecting the target CPU architecture")
|
||||
else()
|
||||
set(re "INFO<([A-Z0-9]+)=([01])>")
|
||||
file(STRINGS "${path_bin_arch_detect}" infos REGEX "${re}")
|
||||
|
||||
foreach(info_arch_01 IN LISTS infos)
|
||||
string(REGEX MATCH "${re}" A "${info_arch_01}")
|
||||
if(NOT "${CMAKE_MATCH_1}" IN_LIST known_archs)
|
||||
message(WARNING "Unknown architecture: \"${CMAKE_MATCH_1}\"")
|
||||
continue()
|
||||
endif()
|
||||
set(arch "${CMAKE_MATCH_1}")
|
||||
set(arch_01 "${CMAKE_MATCH_2}")
|
||||
set(detected_${arch} "${arch_01}")
|
||||
endforeach()
|
||||
|
||||
foreach(known_arch IN LISTS known_archs)
|
||||
if(detected_${known_arch})
|
||||
list(APPEND detected_archs ${known_arch})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(detected_archs)
|
||||
foreach(known_arch IN LISTS known_archs)
|
||||
set("SDL_CPU_${known_arch}" "${detected_${known_arch}}" CACHE BOOL "Detected architecture ${known_arch}")
|
||||
endforeach()
|
||||
message(STATUS "${msg} - ${detected_archs}")
|
||||
else()
|
||||
include(CheckCSourceCompiles)
|
||||
cmake_push_check_state(RESET)
|
||||
foreach(known_arch IN LISTS known_archs)
|
||||
if(NOT detected_archs)
|
||||
set(cache_variable "SDL_CPU_${known_arch}")
|
||||
set(test_src "
|
||||
int main(int argc, char *argv[]) {
|
||||
#if ${arch_check_${known_arch}}
|
||||
return 0;
|
||||
#else
|
||||
choke
|
||||
#endif
|
||||
}
|
||||
")
|
||||
check_c_source_compiles("${test_src}" "${cache_variable}")
|
||||
if(${cache_variable})
|
||||
set(SDL_CPU_${known_arch} "1" CACHE BOOL "Detected architecture ${known_arch}")
|
||||
set(detected_archs ${known_arch})
|
||||
else()
|
||||
set(SDL_CPU_${known_arch} "0" CACHE BOOL "Detected architecture ${known_arch}")
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
cmake_pop_check_state()
|
||||
endif()
|
||||
set("${DETECTED_ARCHS}" "${detected_archs}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
181
vendored/SDL3_ttf-3.2.2/include/SDL3_ttf/SDL_textengine.h
Normal file
181
vendored/SDL3_ttf-3.2.2/include/SDL3_ttf/SDL_textengine.h
Normal file
@ -0,0 +1,181 @@
|
||||
/*
|
||||
SDL_ttf: A companion library to SDL for working with TrueType (tm) fonts
|
||||
Copyright (C) 2001-2025 Sam Lantinga <slouken@libsdl.org>
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* \file SDL_textengine.h
|
||||
*
|
||||
* Definitions for implementations of the TTF_TextEngine interface.
|
||||
*/
|
||||
#ifndef SDL_TTF_TEXTENGINE_H_
|
||||
#define SDL_TTF_TEXTENGINE_H_
|
||||
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3_ttf/SDL_ttf.h>
|
||||
|
||||
#include <SDL3/SDL_begin_code.h>
|
||||
|
||||
/* Set up for C function definitions, even when using C++ */
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* A font atlas draw command.
|
||||
*
|
||||
* \since This enum is available since SDL_ttf 3.0.0.
|
||||
*/
|
||||
typedef enum TTF_DrawCommand
|
||||
{
|
||||
TTF_DRAW_COMMAND_NOOP,
|
||||
TTF_DRAW_COMMAND_FILL,
|
||||
TTF_DRAW_COMMAND_COPY
|
||||
} TTF_DrawCommand;
|
||||
|
||||
/**
|
||||
* A filled rectangle draw operation.
|
||||
*
|
||||
* \since This struct is available since SDL_ttf 3.0.0.
|
||||
*
|
||||
* \sa TTF_DrawOperation
|
||||
*/
|
||||
typedef struct TTF_FillOperation
|
||||
{
|
||||
TTF_DrawCommand cmd; /**< TTF_DRAW_COMMAND_FILL */
|
||||
SDL_Rect rect; /**< The rectangle to fill, in pixels. The x coordinate is relative to the left side of the text area, going right, and the y coordinate is relative to the top side of the text area, going down. */
|
||||
} TTF_FillOperation;
|
||||
|
||||
/**
|
||||
* A texture copy draw operation.
|
||||
*
|
||||
* \since This struct is available since SDL_ttf 3.0.0.
|
||||
*
|
||||
* \sa TTF_DrawOperation
|
||||
*/
|
||||
typedef struct TTF_CopyOperation
|
||||
{
|
||||
TTF_DrawCommand cmd; /**< TTF_DRAW_COMMAND_COPY */
|
||||
int text_offset; /**< The offset in the text corresponding to this glyph.
|
||||
There may be multiple glyphs with the same text offset
|
||||
and the next text offset might be several Unicode codepoints
|
||||
later. In this case the glyphs and codepoints are grouped
|
||||
together and the group bounding box is the union of the dst
|
||||
rectangles for the corresponding glyphs. */
|
||||
TTF_Font *glyph_font; /**< The font containing the glyph to be drawn, can be passed to TTF_GetGlyphImageForIndex() */
|
||||
Uint32 glyph_index; /**< The glyph index of the glyph to be drawn, can be passed to TTF_GetGlyphImageForIndex() */
|
||||
SDL_Rect src; /**< The area within the glyph to be drawn */
|
||||
SDL_Rect dst; /**< The drawing coordinates of the glyph, in pixels. The x coordinate is relative to the left side of the text area, going right, and the y coordinate is relative to the top side of the text area, going down. */
|
||||
void *reserved;
|
||||
} TTF_CopyOperation;
|
||||
|
||||
/**
|
||||
* A text engine draw operation.
|
||||
*
|
||||
* \since This struct is available since SDL_ttf 3.0.0.
|
||||
*/
|
||||
typedef union TTF_DrawOperation
|
||||
{
|
||||
TTF_DrawCommand cmd;
|
||||
TTF_FillOperation fill;
|
||||
TTF_CopyOperation copy;
|
||||
} TTF_DrawOperation;
|
||||
|
||||
|
||||
/* Private data in TTF_Text, to assist in text measurement and layout */
|
||||
typedef struct TTF_TextLayout TTF_TextLayout;
|
||||
|
||||
|
||||
/* Private data in TTF_Text, available to implementations */
|
||||
struct TTF_TextData
|
||||
{
|
||||
TTF_Font *font; /**< The font used by this text, read-only. */
|
||||
SDL_FColor color; /**< The color of the text, read-only. */
|
||||
|
||||
bool needs_layout_update; /**< True if the layout needs to be updated */
|
||||
TTF_TextLayout *layout; /**< Cached layout information, read-only. */
|
||||
int x; /**< The x offset of the upper left corner of this text, in pixels, read-only. */
|
||||
int y; /**< The y offset of the upper left corner of this text, in pixels, read-only. */
|
||||
int w; /**< The width of this text, in pixels, read-only. */
|
||||
int h; /**< The height of this text, in pixels, read-only. */
|
||||
int num_ops; /**< The number of drawing operations to render this text, read-only. */
|
||||
TTF_DrawOperation *ops; /**< The drawing operations used to render this text, read-only. */
|
||||
int num_clusters; /**< The number of substrings representing clusters of glyphs in the string, read-only */
|
||||
TTF_SubString *clusters; /**< Substrings representing clusters of glyphs in the string, read-only */
|
||||
|
||||
SDL_PropertiesID props; /**< Custom properties associated with this text, read-only. This field is created as-needed using TTF_GetTextProperties() and the properties may be then set and read normally */
|
||||
|
||||
bool needs_engine_update; /**< True if the engine text needs to be updated */
|
||||
TTF_TextEngine *engine; /**< The engine used to render this text, read-only. */
|
||||
void *engine_text; /**< The implementation-specific representation of this text */
|
||||
};
|
||||
|
||||
/**
|
||||
* A text engine interface.
|
||||
*
|
||||
* This structure should be initialized using SDL_INIT_INTERFACE()
|
||||
*
|
||||
* \since This struct is available since SDL_ttf 3.0.0.
|
||||
*
|
||||
* \sa SDL_INIT_INTERFACE
|
||||
*/
|
||||
struct TTF_TextEngine
|
||||
{
|
||||
Uint32 version; /**< The version of this interface */
|
||||
|
||||
void *userdata; /**< User data pointer passed to callbacks */
|
||||
|
||||
/* Create a text representation from draw instructions.
|
||||
*
|
||||
* All fields of `text` except `internal->engine_text` will already be filled out.
|
||||
*
|
||||
* This function should set the `internal->engine_text` field to a non-NULL value.
|
||||
*
|
||||
* \param userdata the userdata pointer in this interface.
|
||||
* \param text the text object being created.
|
||||
*/
|
||||
bool (SDLCALL *CreateText)(void *userdata, TTF_Text *text);
|
||||
|
||||
/**
|
||||
* Destroy a text representation.
|
||||
*/
|
||||
void (SDLCALL *DestroyText)(void *userdata, TTF_Text *text);
|
||||
|
||||
};
|
||||
|
||||
/* Check the size of TTF_TextEngine
|
||||
*
|
||||
* If this assert fails, either the compiler is padding to an unexpected size,
|
||||
* or the interface has been updated and this should be updated to match and
|
||||
* the code using this interface should be updated to handle the old version.
|
||||
*/
|
||||
SDL_COMPILE_TIME_ASSERT(TTF_TextEngine_SIZE,
|
||||
(sizeof(void *) == 4 && sizeof(TTF_TextEngine) == 16) ||
|
||||
(sizeof(void *) == 8 && sizeof(TTF_TextEngine) == 32));
|
||||
|
||||
|
||||
/* Ends C function definitions when using C++ */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#include <SDL3/SDL_close_code.h>
|
||||
|
||||
#endif /* SDL_TTF_TEXTENGINE_H_ */
|
||||
|
||||
2833
vendored/SDL3_ttf-3.2.2/include/SDL3_ttf/SDL_ttf.h
Normal file
2833
vendored/SDL3_ttf-3.2.2/include/SDL3_ttf/SDL_ttf.h
Normal file
File diff suppressed because it is too large
Load Diff
BIN
x64/Debug/SDL3_ttf.dll
Normal file
BIN
x64/Debug/SDL3_ttf.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user