diff --git a/pervognsen/bitwise/bitwise/bitwise017_1.hmml b/pervognsen/bitwise/bitwise/bitwise017_1.hmml new file mode 100644 index 0000000..27b3dfb --- /dev/null +++ b/pervognsen/bitwise/bitwise/bitwise017_1.hmml @@ -0,0 +1,50 @@ +[video member=pervognsen stream_platform=twitch project=bitwise title="Ion Version 0" medium=admin vod_platform=youtube id=Oeqeqw4OHPE annotator=Miblo] +[0:08][Recap yesterday's stream and set the stage for the day][:speech] +[2:03][Plan for this week, making some fun stuff in Ion, and setting homework][:language :speech] +[5:11][Super fast walkthrough of features added over the weekend, including multi-line strings, bitwise const and array pointer-decay][:"code generation" :language :parsing :research] +[12:37][Review the work implementing basic enum support, pointer arithmetic and control-flow analysis][:"code generation" :language :parsing :research] +[15:48][Review the work implementing control-flow analysis, uncovering a bug][:"code generation" :language :parsing :research] +[18:14][Fix gen_stmt() to correctly handle the STMT_SWITCH case][:"code generation" :language :parsing :programming] +[19:04][:Run it to see that it works now, along with the control-flow analysis][:"code generation" :language :parsing] +[21:07][Review the implementation of C-style null pointers][:"code generation" :language :parsing :research] +[22:12][Q&A][:speech] +[22:33][@badflydog][@pervognsen Do you plan on supporting a \@complete note on switch statements that requires a case for all enums][:language] +[24:25][Set the Homework: Choose-Your-Own-Adventure Compiler Hacking][:"code generation" :language :parsing] +[26:39][Homework: Use of a function return value in if() statements][:"code generation" :language :parsing] +[32:51][Homework: Use of a function return value in while() loops][:"code generation" :language :parsing] +[34:42][Homework: Defer statements][:"code generation" :language :parsing] +[43:27][High-level overview of a "defer" handling implementation][:"code generation" :language :parsing] +[49:32][Q&A][:speech] +[50:46][@artexx2000][@pervognsen So defer can be statement block?][:"code generation" :language :parsing] +[51:59][A few words on the utility of the homework tasks][:"code generation" :language :parsing :speech] +[53:14][Determine to make applications and libraries in Ion][:language :library :speech] +[56:23][Download SDL2[ref + site="Simple DirectMedia Layer" + page="SDL version 2.0.8 (stable)" + url=https://www.libsdl.org/download-2.0.php] and create a new project "noir" including SDL][:library] +[1:02:49][Initialise an SDL context[ref + site="SDL Wiki" + page=SDL_Init + url=https://wiki.libsdl.org/SDL_Init]][:library :programming] +[1:09:21][@badflydog][@pervognsen I believe you have to set the system console for the project. Under linker in options] +[1:10:16][Set that SubSystem] +[1:12:32][@twicetimes][@pervognsen 'Platform' has gone back to 'win32' in that menu] +[1:12:38][Set that SubSystem for all platforms] +[1:12:50][Create an SDL window[ref + site="SDL Wiki" + page=SDL_CreateWindow + url=https://wiki.libsdl.org/SDL_CreateWindow]][:library :programming] +[1:14:35][:Run it, try to break into our program and experience MSVC's synchronous downloading of symbols] +[1:16:14][:Run it to see our SDL window] +[1:16:17][Enable our program to process keyboard input[ref + site="SDL Wiki" + page=SDL_GetKeyboardState + url=https://wiki.libsdl.org/SDL_GetKeyboardState][ref + site="SDL Wiki" + page=SDL_PumpEvents + url=https://wiki.libsdl.org/SDL_PumpEvents]][:"input handling" :library :programming] +[1:18:09][:Run it and again experience MSVC's synchronous downloading of symbols, this time for for twinapi.dll, twinapi.appcode.dll, rmclient.dll and bcrypt.dll][:library] +[1:18:46][Buffer up the keyboard input events and only print events that don't match the previous one, introducing KeyState struct and update_key_state()][:"input handling" :library :memory :programming] +[1:25:16][:Run it to find that it works][:"input handling" :library] +[1:25:25][Round up the main stream with a few additional words on the homework][:speech] +[/video] diff --git a/pervognsen/bitwise/bitwise/bitwise017_2.hmml b/pervognsen/bitwise/bitwise/bitwise017_2.hmml new file mode 100644 index 0000000..a054036 --- /dev/null +++ b/pervognsen/bitwise/bitwise/bitwise017_2.hmml @@ -0,0 +1,3 @@ +[video member=pervognsen stream_platform=twitch project=bitwise title="Ion Version 0 (Extra)" vod_platform=youtube id=DoPG4OCnh7A annotator=Miblo] +[0:00][\[Entire stream, not annotated\]][:library] +[/video]