Skip to content

Commit 5d5cb4a

Browse files
Migrate sample (#116)
1 parent c249b2e commit 5d5cb4a

530 files changed

Lines changed: 48461 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02-Hot-Reload-System", "02-Hot-Reload-System", "{5C8ECEB8-3113-41E1-9F86-CD33F50E900C}"
4+
EndProject
5+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\02-Hot-Reload-System\MonoGameLibrary\MonoGameLibrary.csproj", "{53F894E0-1907-4EAE-A72D-A31D09D6912A}"
6+
EndProject
7+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\02-Hot-Reload-System\DungeonSlime\DungeonSlime.csproj", "{632223D1-6067-40DB-9F2D-301621574301}"
8+
EndProject
9+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03-The-Material-Class", "03-The-Material-Class", "{A959F3EE-A738-DA1E-8657-F797276622F9}"
10+
EndProject
11+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\03-The-Material-Class\DungeonSlime\DungeonSlime.csproj", "{47ABB502-5EB7-4676-AC44-57466F64EA86}"
12+
EndProject
13+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\03-The-Material-Class\MonoGameLibrary\MonoGameLibrary.csproj", "{2712BAA4-87E6-4243-9798-A0747AFEEF53}"
14+
EndProject
15+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04-Debug-UI", "04-Debug-UI", "{8CCC4EC4-B284-4ECF-9C08-958C770F3259}"
16+
EndProject
17+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\04-Debug-UI\DungeonSlime\DungeonSlime.csproj", "{7F741013-A83D-4755-BF7F-CA7FE1D0D834}"
18+
EndProject
19+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\04-Debug-UI\MonoGameLibrary\MonoGameLibrary.csproj", "{5C713E76-6394-4D2B-913F-180ECD5FA4CF}"
20+
EndProject
21+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "05-Transition-Effect", "05-Transition-Effect", "{31C31A95-F2DE-4879-B6BB-2A5EBACDE187}"
22+
EndProject
23+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\05-Transition-Effect\DungeonSlime\DungeonSlime.csproj", "{137FADC7-AFEF-41D3-9492-58E734982D38}"
24+
EndProject
25+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\05-Transition-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{38651908-A22C-4589-A884-07B09EAAF489}"
26+
EndProject
27+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "06-Color-Swap-Effect", "06-Color-Swap-Effect", "{77792598-E7A1-4C95-BC0B-49EBBEB0C4C7}"
28+
EndProject
29+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\06-Color-Swap-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{1EA33E74-FB01-42D8-9922-182CBC2F3936}"
30+
EndProject
31+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\06-Color-Swap-Effect\DungeonSlime\DungeonSlime.csproj", "{0CF4EC16-238F-407C-9472-63EFF6C40CCC}"
32+
EndProject
33+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "07-Sprite-Vertex-Effect", "07-Sprite-Vertex-Effect", "{23616150-B165-4CFE-BC26-44ED64DE0565}"
34+
EndProject
35+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\07-Sprite-Vertex-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}"
36+
EndProject
37+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\07-Sprite-Vertex-Effect\DungeonSlime\DungeonSlime.csproj", "{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}"
38+
EndProject
39+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "08-Light-Effect", "08-Light-Effect", "{B43F0FC2-1923-4FFA-9E82-D8814BF3F974}"
40+
EndProject
41+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\08-Light-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{5671DA7C-B84C-4672-8ED7-766C43BE35F1}"
42+
EndProject
43+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\08-Light-Effect\DungeonSlime\DungeonSlime.csproj", "{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}"
44+
EndProject
45+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "09-Shadows-Effect", "09-Shadows-Effect", "{BB01A8A7-B315-4E08-8A6F-2C49335FDF03}"
46+
EndProject
47+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "src\09-Shadows-Effect\MonoGameLibrary\MonoGameLibrary.csproj", "{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}"
48+
EndProject
49+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "src\09-Shadows-Effect\DungeonSlime\DungeonSlime.csproj", "{811AC0B0-0858-4387-96D2-60D842299F68}"
50+
EndProject
51+
52+
Global
53+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
54+
Debug|Any CPU = Debug|Any CPU
55+
Release|Any CPU = Release|Any CPU
56+
EndGlobalSection
57+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
58+
{53F894E0-1907-4EAE-A72D-A31D09D6912A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
59+
{53F894E0-1907-4EAE-A72D-A31D09D6912A}.Debug|Any CPU.Build.0 = Debug|Any CPU
60+
{53F894E0-1907-4EAE-A72D-A31D09D6912A}.Release|Any CPU.ActiveCfg = Release|Any CPU
61+
{53F894E0-1907-4EAE-A72D-A31D09D6912A}.Release|Any CPU.Build.0 = Release|Any CPU
62+
{632223D1-6067-40DB-9F2D-301621574301}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
63+
{632223D1-6067-40DB-9F2D-301621574301}.Debug|Any CPU.Build.0 = Debug|Any CPU
64+
{632223D1-6067-40DB-9F2D-301621574301}.Release|Any CPU.ActiveCfg = Release|Any CPU
65+
{632223D1-6067-40DB-9F2D-301621574301}.Release|Any CPU.Build.0 = Release|Any CPU
66+
{7F741013-A83D-4755-BF7F-CA7FE1D0D834}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
67+
{7F741013-A83D-4755-BF7F-CA7FE1D0D834}.Debug|Any CPU.Build.0 = Debug|Any CPU
68+
{7F741013-A83D-4755-BF7F-CA7FE1D0D834}.Release|Any CPU.ActiveCfg = Release|Any CPU
69+
{7F741013-A83D-4755-BF7F-CA7FE1D0D834}.Release|Any CPU.Build.0 = Release|Any CPU
70+
{5C713E76-6394-4D2B-913F-180ECD5FA4CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
71+
{5C713E76-6394-4D2B-913F-180ECD5FA4CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
72+
{5C713E76-6394-4D2B-913F-180ECD5FA4CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
73+
{5C713E76-6394-4D2B-913F-180ECD5FA4CF}.Release|Any CPU.Build.0 = Release|Any CPU
74+
{47ABB502-5EB7-4676-AC44-57466F64EA86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
75+
{47ABB502-5EB7-4676-AC44-57466F64EA86}.Debug|Any CPU.Build.0 = Debug|Any CPU
76+
{47ABB502-5EB7-4676-AC44-57466F64EA86}.Release|Any CPU.ActiveCfg = Release|Any CPU
77+
{47ABB502-5EB7-4676-AC44-57466F64EA86}.Release|Any CPU.Build.0 = Release|Any CPU
78+
{2712BAA4-87E6-4243-9798-A0747AFEEF53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
79+
{2712BAA4-87E6-4243-9798-A0747AFEEF53}.Debug|Any CPU.Build.0 = Debug|Any CPU
80+
{2712BAA4-87E6-4243-9798-A0747AFEEF53}.Release|Any CPU.ActiveCfg = Release|Any CPU
81+
{2712BAA4-87E6-4243-9798-A0747AFEEF53}.Release|Any CPU.Build.0 = Release|Any CPU
82+
{137FADC7-AFEF-41D3-9492-58E734982D38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
83+
{137FADC7-AFEF-41D3-9492-58E734982D38}.Debug|Any CPU.Build.0 = Debug|Any CPU
84+
{137FADC7-AFEF-41D3-9492-58E734982D38}.Release|Any CPU.ActiveCfg = Release|Any CPU
85+
{137FADC7-AFEF-41D3-9492-58E734982D38}.Release|Any CPU.Build.0 = Release|Any CPU
86+
{38651908-A22C-4589-A884-07B09EAAF489}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
87+
{38651908-A22C-4589-A884-07B09EAAF489}.Debug|Any CPU.Build.0 = Debug|Any CPU
88+
{38651908-A22C-4589-A884-07B09EAAF489}.Release|Any CPU.ActiveCfg = Release|Any CPU
89+
{38651908-A22C-4589-A884-07B09EAAF489}.Release|Any CPU.Build.0 = Release|Any CPU
90+
{1EA33E74-FB01-42D8-9922-182CBC2F3936}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
91+
{1EA33E74-FB01-42D8-9922-182CBC2F3936}.Debug|Any CPU.Build.0 = Debug|Any CPU
92+
{1EA33E74-FB01-42D8-9922-182CBC2F3936}.Release|Any CPU.ActiveCfg = Release|Any CPU
93+
{1EA33E74-FB01-42D8-9922-182CBC2F3936}.Release|Any CPU.Build.0 = Release|Any CPU
94+
{0CF4EC16-238F-407C-9472-63EFF6C40CCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
95+
{0CF4EC16-238F-407C-9472-63EFF6C40CCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
96+
{0CF4EC16-238F-407C-9472-63EFF6C40CCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
97+
{0CF4EC16-238F-407C-9472-63EFF6C40CCC}.Release|Any CPU.Build.0 = Release|Any CPU
98+
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
99+
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
100+
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
101+
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F}.Release|Any CPU.Build.0 = Release|Any CPU
102+
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
103+
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
104+
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
105+
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D}.Release|Any CPU.Build.0 = Release|Any CPU
106+
{5671DA7C-B84C-4672-8ED7-766C43BE35F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
107+
{5671DA7C-B84C-4672-8ED7-766C43BE35F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
108+
{5671DA7C-B84C-4672-8ED7-766C43BE35F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
109+
{5671DA7C-B84C-4672-8ED7-766C43BE35F1}.Release|Any CPU.Build.0 = Release|Any CPU
110+
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
111+
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}.Debug|Any CPU.Build.0 = Debug|Any CPU
112+
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}.Release|Any CPU.ActiveCfg = Release|Any CPU
113+
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14}.Release|Any CPU.Build.0 = Release|Any CPU
114+
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
115+
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
116+
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
117+
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5}.Release|Any CPU.Build.0 = Release|Any CPU
118+
{811AC0B0-0858-4387-96D2-60D842299F68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
119+
{811AC0B0-0858-4387-96D2-60D842299F68}.Debug|Any CPU.Build.0 = Debug|Any CPU
120+
{811AC0B0-0858-4387-96D2-60D842299F68}.Release|Any CPU.ActiveCfg = Release|Any CPU
121+
{811AC0B0-0858-4387-96D2-60D842299F68}.Release|Any CPU.Build.0 = Release|Any CPU
122+
EndGlobalSection
123+
GlobalSection(SolutionProperties) = preSolution
124+
HideSolutionNode = FALSE
125+
EndGlobalSection
126+
GlobalSection(NestedProjects) = preSolution
127+
{53F894E0-1907-4EAE-A72D-A31D09D6912A} = {5C8ECEB8-3113-41E1-9F86-CD33F50E900C}
128+
{632223D1-6067-40DB-9F2D-301621574301} = {5C8ECEB8-3113-41E1-9F86-CD33F50E900C}
129+
{7F741013-A83D-4755-BF7F-CA7FE1D0D834} = {8CCC4EC4-B284-4ECF-9C08-958C770F3259}
130+
{5C713E76-6394-4D2B-913F-180ECD5FA4CF} = {8CCC4EC4-B284-4ECF-9C08-958C770F3259}
131+
{47ABB502-5EB7-4676-AC44-57466F64EA86} = {A959F3EE-A738-DA1E-8657-F797276622F9}
132+
{2712BAA4-87E6-4243-9798-A0747AFEEF53} = {A959F3EE-A738-DA1E-8657-F797276622F9}
133+
{137FADC7-AFEF-41D3-9492-58E734982D38} = {31C31A95-F2DE-4879-B6BB-2A5EBACDE187}
134+
{38651908-A22C-4589-A884-07B09EAAF489} = {31C31A95-F2DE-4879-B6BB-2A5EBACDE187}
135+
{1EA33E74-FB01-42D8-9922-182CBC2F3936} = {77792598-E7A1-4C95-BC0B-49EBBEB0C4C7}
136+
{0CF4EC16-238F-407C-9472-63EFF6C40CCC} = {77792598-E7A1-4C95-BC0B-49EBBEB0C4C7}
137+
{1DC76E50-88F5-4ACC-9DF7-4353D5C4AA5F} = {23616150-B165-4CFE-BC26-44ED64DE0565}
138+
{7AE4D6EA-583E-4046-B94C-0860CDDEBE5D} = {23616150-B165-4CFE-BC26-44ED64DE0565}
139+
{5671DA7C-B84C-4672-8ED7-766C43BE35F1} = {B43F0FC2-1923-4FFA-9E82-D8814BF3F974}
140+
{DBFBD5B7-BAC6-42D7-BFA5-70C4AB6F6F14} = {B43F0FC2-1923-4FFA-9E82-D8814BF3F974}
141+
{D5D9227B-DB9A-4FC2-8D74-BA3C310105D5} = {BB01A8A7-B315-4E08-8A6F-2C49335FDF03}
142+
{811AC0B0-0858-4387-96D2-60D842299F68} = {BB01A8A7-B315-4E08-8A6F-2C49335FDF03}
143+
EndGlobalSection
144+
EndGlobal

Tutorials/2dShaders/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Chapter 2: Hot Reload System
2+
3+
In this chapter, we will build a "hot-reload" system that will automatically detect changes to our shader files, recompile them, and load them into our running game on the fly.
4+
5+
The chapter covers:
6+
7+
- Reviewing MSBuild arguments.
8+
- Using DotNet Watch.
9+
- Extending the Content Manager.
10+
- Creating classes to "Watch" content.
11+
- Handling File Locking.
12+
- Auto-Starting the Watcher.
13+
14+
For the complete tutorial, visit: [Chapter 02: Hot Reload](../../../../articles/tutorials/advanced/2d_shaders/02_hot_reload/index.md)
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"dotnet-mgcb": {
6+
"version": "3.8.4",
7+
"commands": [
8+
"mgcb"
9+
]
10+
},
11+
"dotnet-mgcb-editor": {
12+
"version": "3.8.4",
13+
"commands": [
14+
"mgcb-editor"
15+
]
16+
},
17+
"dotnet-mgcb-editor-linux": {
18+
"version": "3.8.4",
19+
"commands": [
20+
"mgcb-editor-linux"
21+
]
22+
},
23+
"dotnet-mgcb-editor-windows": {
24+
"version": "3.8.4",
25+
"commands": [
26+
"mgcb-editor-windows"
27+
]
28+
},
29+
"dotnet-mgcb-editor-mac": {
30+
"version": "3.8.4",
31+
"commands": [
32+
"mgcb-editor-mac"
33+
]
34+
}
35+
}
36+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.0.31903.59
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DungeonSlime", "DungeonSlime\DungeonSlime.csproj", "{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}"
7+
EndProject
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGameLibrary", "MonoGameLibrary\MonoGameLibrary.csproj", "{AB85CEEE-6D97-4438-AEC4-797D2806F44A}"
9+
EndProject
10+
Global
11+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
12+
Debug|Any CPU = Debug|Any CPU
13+
Release|Any CPU = Release|Any CPU
14+
EndGlobalSection
15+
GlobalSection(SolutionProperties) = preSolution
16+
HideSolutionNode = FALSE
17+
EndGlobalSection
18+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
19+
{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
20+
{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
21+
{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
22+
{88BD3FF9-D3D6-4680-A274-F866E0DFCAC4}.Release|Any CPU.Build.0 = Release|Any CPU
23+
{AB85CEEE-6D97-4438-AEC4-797D2806F44A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
24+
{AB85CEEE-6D97-4438-AEC4-797D2806F44A}.Debug|Any CPU.Build.0 = Debug|Any CPU
25+
{AB85CEEE-6D97-4438-AEC4-797D2806F44A}.Release|Any CPU.ActiveCfg = Release|Any CPU
26+
{AB85CEEE-6D97-4438-AEC4-797D2806F44A}.Release|Any CPU.Build.0 = Release|Any CPU
27+
EndGlobalSection
28+
EndGlobal
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
2+
#----------------------------- Global Properties ----------------------------#
3+
4+
/outputDir:bin/$(Platform)
5+
/intermediateDir:obj/$(Platform)
6+
/platform:DesktopGL
7+
/config:
8+
/profile:Reach
9+
/compress:False
10+
11+
#-------------------------------- References --------------------------------#
12+
13+
14+
#---------------------------------- Content ---------------------------------#
15+
16+
#begin audio/bounce.wav
17+
/importer:WavImporter
18+
/processor:SoundEffectProcessor
19+
/processorParam:Quality=Best
20+
/build:audio/bounce.wav
21+
22+
#begin audio/collect.wav
23+
/importer:WavImporter
24+
/processor:SoundEffectProcessor
25+
/processorParam:Quality=Best
26+
/build:audio/collect.wav
27+
28+
#begin audio/theme.ogg
29+
/importer:OggImporter
30+
/processor:SongProcessor
31+
/processorParam:Quality=Best
32+
/build:audio/theme.ogg
33+
34+
#begin audio/ui.wav
35+
/importer:WavImporter
36+
/processor:SoundEffectProcessor
37+
/processorParam:Quality=Best
38+
/build:audio/ui.wav
39+
40+
#begin effects/grayscaleEffect.fx
41+
/importer:EffectImporter
42+
/processor:EffectProcessor
43+
/processorParam:DebugMode=Auto
44+
/build:effects/grayscaleEffect.fx
45+
46+
#begin fonts/04B_30_5x.spritefont
47+
/importer:FontDescriptionImporter
48+
/processor:FontDescriptionProcessor
49+
/processorParam:PremultiplyAlpha=True
50+
/processorParam:TextureFormat=Compressed
51+
/build:fonts/04B_30_5x.spritefont
52+
53+
#begin fonts/04b_30.fnt
54+
/copy:fonts/04b_30.fnt
55+
56+
#begin fonts/04B_30.spritefont
57+
/importer:FontDescriptionImporter
58+
/processor:FontDescriptionProcessor
59+
/processorParam:PremultiplyAlpha=True
60+
/processorParam:TextureFormat=Compressed
61+
/build:fonts/04B_30.spritefont
62+
63+
#begin images/atlas-definition.xml
64+
/copy:images/atlas-definition.xml
65+
66+
#begin images/atlas.png
67+
/importer:TextureImporter
68+
/processor:TextureProcessor
69+
/processorParam:ColorKeyColor=255,0,255,255
70+
/processorParam:ColorKeyEnabled=True
71+
/processorParam:GenerateMipmaps=False
72+
/processorParam:PremultiplyAlpha=True
73+
/processorParam:ResizeToPowerOfTwo=False
74+
/processorParam:MakeSquare=False
75+
/processorParam:TextureFormat=Color
76+
/build:images/atlas.png
77+
78+
#begin images/background-pattern.png
79+
/importer:TextureImporter
80+
/processor:TextureProcessor
81+
/processorParam:ColorKeyColor=255,0,255,255
82+
/processorParam:ColorKeyEnabled=True
83+
/processorParam:GenerateMipmaps=False
84+
/processorParam:PremultiplyAlpha=True
85+
/processorParam:ResizeToPowerOfTwo=False
86+
/processorParam:MakeSquare=False
87+
/processorParam:TextureFormat=Color
88+
/build:images/background-pattern.png
89+
90+
#begin images/logo.png
91+
/importer:TextureImporter
92+
/processor:TextureProcessor
93+
/processorParam:ColorKeyColor=255,0,255,255
94+
/processorParam:ColorKeyEnabled=True
95+
/processorParam:GenerateMipmaps=False
96+
/processorParam:PremultiplyAlpha=True
97+
/processorParam:ResizeToPowerOfTwo=False
98+
/processorParam:MakeSquare=False
99+
/processorParam:TextureFormat=Color
100+
/build:images/logo.png
101+
102+
#begin images/tilemap-definition.xml
103+
/copy:images/tilemap-definition.xml
104+
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#if OPENGL
2+
#define SV_POSITION POSITION
3+
#define VS_SHADERMODEL vs_3_0
4+
#define PS_SHADERMODEL ps_3_0
5+
#else
6+
#define VS_SHADERMODEL vs_4_0_level_9_1
7+
#define PS_SHADERMODEL ps_4_0_level_9_1
8+
#endif
9+
10+
Texture2D SpriteTexture;
11+
12+
// A value between 0 and 1 that controls the intensity of the grayscale effect.
13+
// 0 = full color, 1 = full grayscale.
14+
float Saturation = 1.0;
15+
16+
sampler2D SpriteTextureSampler = sampler_state
17+
{
18+
Texture = <SpriteTexture>;
19+
};
20+
21+
struct VertexShaderOutput
22+
{
23+
float4 Position : SV_POSITION;
24+
float4 Color : COLOR0;
25+
float2 TextureCoordinates : TEXCOORD0;
26+
};
27+
28+
float4 MainPS(VertexShaderOutput input) : COLOR
29+
{
30+
// Sample the texture
31+
float4 color = tex2D(SpriteTextureSampler, input.TextureCoordinates) * input.Color;
32+
33+
// Calculate the grayscale value based on human perception of colors
34+
float grayscale = dot(color.rgb, float3(0.3, 0.59, 0.11));
35+
36+
// create a grayscale color vector (same value for R, G, and B)
37+
float3 grayscaleColor = float3(grayscale, grayscale, grayscale);
38+
39+
// Linear interpolation between he grayscale color and the original color's
40+
// rgb values based on the saturation parameter.
41+
float3 finalColor = lerp(grayscale, color.rgb, Saturation);
42+
43+
// Return the final color with the original alpha value
44+
return float4(finalColor, color.a);
45+
}
46+
47+
technique SpriteDrawing
48+
{
49+
pass P0
50+
{
51+
PixelShader = compile PS_SHADERMODEL MainPS();
52+
}
53+
};

0 commit comments

Comments
 (0)