Searching from 2023-01-28 00:00:00 to 2023-01-28 23:59:59.999999.
Query completed in 0.38 seconds
[2023-01-28 03:33:50] <-- Lucifer_arma_ has quit (Ping timeout: 480 seconds)
[2023-01-28 04:05:52] --> Lucifer_arma_ has joined the channel
[2023-01-28 07:09:21] <Z-Man> Ah, apparently one needs some compiler detection magic. GCC < 9.1 requires linking stdc++fs, later versions don't, and clang needs a different lib for different older versions. I stole some conditional compiler version checking code (ugh, second ugliest expression syntax there, cmake). See if it breaks for you before you merge.
[2023-01-28 07:17:14] <Z-Man> On Linux, dadsteroids runs now and finds the ship. Odd. I could swear I ran it from the build directory before.
[2023-01-28 07:18:57] <Z-Man> Windows in general likes to lock itself up and restarts the PC in a state without video output. Happens randomly when idle, sometimes pretty reproducibly at the login screen. Got to get to the bottom of this. It was fine the whole past week, grrr.
[2023-01-28 08:58:50] --> monr0e has joined the channel
[2023-01-28 08:58:53] --> delinquent has joined the channel
[2023-01-28 17:25:31] <Z-Man> Compiles, links and runs with the instructions in BUILDING on macOS using Homebrew. Yay!
[2023-01-28 17:26:38] <Z-Man> Only dadsteroids fails to compile:
[2023-01-28 17:26:38] <Z-Man> [ 66%] Building CXX object examples/CMakeFiles/dadsteroids.dir/dasteroids.cpp.o
[2023-01-28 17:26:38] <Z-Man> /Users/manuel/Develop/Stuff/cerritos/my/cerritos/examples/dasteroids.cpp:34:20: error: destructor type 'cerritos::Sprite' in object destruction expression does not match the type 'Bullet' of the object being destroyed
[2023-01-28 17:26:38] <Z-Man> this->~Sprite();
[2023-01-28 17:26:38] <Z-Man> ...
[2023-01-28 17:29:23] <Z-Man> It does not like that Bullet is calling the Sprite destructor on itself. Right. Umm. To patch that, ~Bullet() would probably get accepted. But a destructor always invalidates an object, technically, so all further operations on the object are undefined behavior, and it seems the Bulet object is still getting used after that. So that is probably bad.
[2023-01-28 17:43:57] <Z-Man> I notice the Sprite destructor calls the surface destructor explicitly, too. That is most certainly not enough cleanup. m_Surface is an element of m_Frames, which itself is an element of m_Modes. All of those need cleaning, and the second best way to do that is with 'delete <surface>' on each of them.
[2023-01-28 17:45:02] <Z-Man> The best way is to just switch to owning data structures. No List<Surface *>, use List<std::unique_ptr<Surface>>, which cleans up automatically after itself, and deal with the fallout.
[2023-01-28 17:46:05] <Z-Man> Specifically, you can no longer copy that and need to turn m_Frames into a pointer. And deal with that potentially being nullptr. Yeah, work.
[2023-01-28 18:04:14] <Z-Man> I should probably shut my big mouth and let you get back to your book. All this C++ nonsense has time. I may even get to the Windows stuff. I'll leave branches around for you to merge later.
[2023-01-28 18:04:25] <Z-Man> https://www.reddit.com/r/ProgrammerHumor/comments/wos4qm/is_this_true/
[2023-01-28 20:54:21] <-- monr0e has quit (Quit: Heimlich : [dressed as baby] Bottle all gone. Baby wants pie! | Also Heimlich: I'm a beautiful butterfly!)
[2023-01-28 20:54:21] <-- delinquent has quit (Quit: Heimlich : [dressed as baby] Bottle all gone. Baby wants pie! | Also Heimlich: I'm a beautiful butterfly!)
View entire month
DISCLAIMER: These logs of public chat may contain some content which may not be appropriate for all audiences. Use at your own risk.
Logs from 2006-2009 pulled from wrtlprnft
Format changes at: 2015-08-25, 2017-02-20, and 2020-03-23. Times (2015 and later) should be Eastern.