summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorHunter Kvalevog <hunter@kvog.sh>2026-08-29 15:36:31 -0700
committerHunter Kvalevog <hunter@kvog.sh>2026-08-29 15:36:31 -0700
commit80ad356d7ad90f4753e15e8af7254723894e2b40 (patch)
treeb1edf006b298a41a7896281975d26f12aa040860 /content
parent58d2300924fb22170bc94e97c270b8e3a356df1a (diff)
Diffstat (limited to 'content')
-rw-r--r--content/_index.md7
-rw-r--r--content/notes/ffmpeg.md21
-rw-r--r--content/notes/source-sdk.md43
3 files changed, 54 insertions, 17 deletions
diff --git a/content/_index.md b/content/_index.md
index ccecef6..1548de9 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -1,6 +1 @@
-+++
-date = '2026-06-29T23:05:19-05:00'
-title = ''
-+++
-
-hello world
+Hello. Right now this website just hosts some notes I wrote. I will add more later. \ No newline at end of file
diff --git a/content/notes/ffmpeg.md b/content/notes/ffmpeg.md
index cdd950c..a7e6803 100644
--- a/content/notes/ffmpeg.md
+++ b/content/notes/ffmpeg.md
@@ -1,6 +1,5 @@
+++
-date = '2026-06-17T17:50:30-05:00'
-title = 'ffmpeg'
+title = 'FFmpeg development notes'
+++
## Websites
@@ -20,19 +19,19 @@ title = 'ffmpeg'
## Building
List all compile options:
-```
+```sh
$ ./configure --help | vim -
```
Quick development build; takes about 90 seconds on an M1 MacBook Air:
-```
+```sh
$ ./configure --disable-optimizations --disable-asm
$ make -j $(nproc)
$ make -j $(sysctl -n hw.logicalcpu)
```
Troubleshooting build:
-```
+```sh
$ ./configure --disable-optimizations --assert-level=2 --toolchain=clang-asan
$ ./configure --disable-optimizations --assert-level=2 --toolchain=clang-asan-ubsan
```
@@ -42,7 +41,7 @@ $ ./configure --disable-optimizations --assert-level=2 --toolchain=clang-asan-ub
## Regression testing
FATE documentation: https://ffmpeg.org/fate.html, TLDR:
-```
+```sh
$ ./configure --disable-optimizations --assert-level=2 --toolchain=clang-asan --samples=$HOME/Proj/FFmpeg-FATE
$ make
$ make fate-rsync
@@ -54,12 +53,12 @@ $ make fate
checkasm docs: https://checkasm.videolan.me/
Build within FFmpeg:
-```
+```sh
$ make checkasm
```
List tests:
-```
+```sh
$ ./tests/checkasm/checkasm --list-tests | sort | vim -
```
@@ -69,7 +68,7 @@ The easiest way to see what test calls what functions is to check the source cod
[`-> tests/checkasm/checkasm.c`](https://code.ffmpeg.org/FFmpeg/FFmpeg/src/branch/master/tests/checkasm/checkasm.c).
Example:
-```
+```sh
$ ./tests/checkasm/checkasm --bench --test=vf_bwdif
```
<details>
@@ -118,7 +117,7 @@ Benchmark results:
</details>
-## libavformat architecture
+<!-- ## libavformat architecture
Note: This is all based off of FFmpeg 8.1.2 (commit `38b88335f99e76ed89ff3c93f877fdefce736c13`)
@@ -206,4 +205,4 @@ demuxer instance, and reads the file header.
[`doc/examples/remux.c:80`](https://code.ffmpeg.org/FFmpeg/FFmpeg/src/commit/38b88335f99e76ed89ff3c93f877fdefce736c13/doc/examples/remux.c#L80):
`main` calls `avformat_find_stream_info`.
-</div>
+</div> -->
diff --git a/content/notes/source-sdk.md b/content/notes/source-sdk.md
new file mode 100644
index 0000000..6a63601
--- /dev/null
+++ b/content/notes/source-sdk.md
@@ -0,0 +1,43 @@
++++
+title = 'Source SDK (Team Fortress 2) development notes'
++++
+
+## Websites
+
+* [ValveSoftware/source-sdk-2013](https://github.com/ValveSoftware/source-sdk-2013) - git repo
+* [ValveSoftware/Source-1-Games](https://github.com/ValveSoftware/Source-1-Games) - issue tracker
+
+## Development
+
+Patches are merged by [EricS-Valve](https://github.com/EricS-Valve) from time to time, usually late in the day or on a weekend.
+
+The SDK game code and live TF2 are not identical. There is code in the SDK that is not present in TF2, and vice versa. For example, `NotificationQueue_Add` is [disabled in the SDK](https://github.com/ValveSoftware/source-sdk-2013/blob/9cbe7d5d3c847fb2e2be6049c3e2a72853bd6b85/src/game/client/econ/econ_notifications.cpp#L1292) but not in live TF2. Not to mention, Valve uses Perforce P4 for version control instead of Git.
+
+## Building with Visual Studio 2026
+
+Valve Project Creator (VPC) only targets up to Visual Studio 2022. Visual Studio 2026 can be used if you install the 2022 toolchain:
+```bat
+"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "C:\Program Files\Microsoft Visual Studio\18\Community" ^
+ --add Microsoft.VisualStudio.Component.VC.14.44.17.14.x86.x64 ^
+ --add Microsoft.VisualStudio.Component.VC.14.44.17.14.MFC ^
+ --add Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL
+```
+
+You will need to install Python as well:
+```bat
+winget install Python.Python.3.14
+```
+
+After that, follow the build instructions in README.md.
+
+## Code style
+
+* Use tabs for indentation.
+* Use [hungarian notation](https://en.wikipedia.org/wiki/Hungarian_notation) for any variable that is serialized.
+* Curly braces get a new line. ([Allman style](https://en.wikipedia.org/wiki/Indentation_style#Allman_style))
+* Curly braces can be omitted if the condition body is only one line.
+* Pointer asterisks go on the right, next to the variable name.
+* Put spaces around function arguments.
+* Put spaces around template arguments. (Usually. The code base is like 60-40 in favor of this style.)
+
+All this being said, much of the code base is not consistent. Just pay attention to the surrounding code and match the style.