Post Aq0Q2OnAzCaWKAv9dI by teamonkey@mastodon.social
 (DIR) More posts by teamonkey@mastodon.social
 (DIR) Post #Aq0LaJrFL4Dp60BD2e by foone@digipres.club
       2025-01-12T11:33:27Z
       
       0 likes, 0 repeats
       
       oh cool, a game I bought in 1997 and 2013 just recently updated to make you agree to a Disney EULA when you download it, one that tells you not to reverse engineer it!
       
 (DIR) Post #Aq0Ld1wMPc8SOVrfKy by foone@digipres.club
       2025-01-12T11:33:38Z
       
       0 likes, 0 repeats
       
       guess I'm finding my old CDs instead of clicking this button
       
 (DIR) Post #Aq0LyXIR1gq1izRcJM by foone@digipres.club
       2025-01-12T11:37:53Z
       
       0 likes, 0 repeats
       
       I bought and installed this game before I turned 18. So even if there was a shrink-wrap EULA with the game discs, I couldn't agree to the contract.
       
 (DIR) Post #Aq0MIT9e8QDYfeq3DE by scott@tams.tech
       2025-01-12T11:41:04Z
       
       0 likes, 0 repeats
       
       @foone yes but I think if you install it again you have to agree again 🤔
       
 (DIR) Post #Aq0MKhK2QmWlBqlIZM by foone@digipres.club
       2025-01-12T11:41:56Z
       
       0 likes, 0 repeats
       
       Anyway the game is Star Wars: Dark Forces II: Jedi Knight.First thing I discovered: They used flex/yacc to generate the parser for their COG scripting language!
       
 (DIR) Post #Aq0MOAoHFjStVtYz3I by foone@digipres.club
       2025-01-12T11:42:26Z
       
       0 likes, 0 repeats
       
       @scott fortunately I'm not gonna, I'm just using the files off the disc, the disc I archived to an ISO on my server back in the 90s
       
 (DIR) Post #Aq0MS6uPhNM0ZaJKUa by Nine@chitter.xyz
       2025-01-12T11:42:45Z
       
       0 likes, 0 repeats
       
       @foone disney eula: "no wait you can't reverse engineer our games!"you: o/' "How 'bout i doooo, anywayyyyyy~ o/'
       
 (DIR) Post #Aq0MvLJDErqjdDqiiO by jpm@aus.social
       2025-01-12T11:48:27Z
       
       0 likes, 0 repeats
       
       @foone … oh dear $DEITY has this happened to all the LucasArts games?
       
 (DIR) Post #Aq0MxaSDtqeHBQ8NYe by teamonkey@mastodon.social
       2025-01-12T11:48:37Z
       
       0 likes, 0 repeats
       
       @foone COG is great. My first experience of a scripting engine and modding. I felt I could do anything with it (probably not in hindsight, but it was pretty cool)
       
 (DIR) Post #Aq0N2e1q2O7HiWCk1g by foone@digipres.club
       2025-01-12T11:49:43Z
       
       0 likes, 0 repeats
       
       I wonder how hard/possible it is to reverse a flex/yacc back to an original language definition? I don't specifically need that, the language is well understood, but I still wonder
       
 (DIR) Post #Aq0N6yFwm2dvbsrnE0 by lritter@mastodon.gamedev.place
       2025-01-12T11:50:35Z
       
       0 likes, 0 repeats
       
       @foone carnegie-mellon ftw
       
 (DIR) Post #Aq0NDkffgImDVI8GdE by foone@digipres.club
       2025-01-12T11:51:50Z
       
       0 likes, 0 repeats
       
       compiled Sep 10 1997, 09:39:21
       
 (DIR) Post #Aq0NQENL4E0f6ZVYW0 by ccshan@woof.group
       2025-01-12T11:54:02Z
       
       0 likes, 0 repeats
       
       @foone I mean, there are theorems for converting finite automata to regular expressions and pushdown automata to context-free grammars...
       
 (DIR) Post #Aq0NjiNRkHrteiqhOa by foone@digipres.club
       2025-01-12T11:57:38Z
       
       0 likes, 0 repeats
       
       they're using a yacc from 1990?!
       
 (DIR) Post #Aq0O5zjrsNMxsAxbZg by webhat@infosec.exchange
       2025-01-12T12:01:34Z
       
       0 likes, 0 repeats
       
       @foone if I remember correctly from creating lex/bison definitions it's creates a finite state machine, which sounds like it could be reversed "easily"However, my experience might be a little dated for today's binaries, it should apply to 1997 binaries 😁
       
 (DIR) Post #Aq0Oej3psNcIHZrS6q by fishidwardrobe@mastodon.me.uk
       2025-01-12T12:07:49Z
       
       0 likes, 0 repeats
       
       @foone yacc shaving?
       
 (DIR) Post #Aq0PGbdpuRYQHAlMCu by foone@digipres.club
       2025-01-12T12:14:44Z
       
       0 likes, 0 repeats
       
       huh, they try to identify what CPU the user is using. I wonder why. It uses DirectX so I don't think it should have it's own 3D engine with optimized per-processor blits or anything
       
 (DIR) Post #Aq0PvtSKa3STOp4Jgu by foone@digipres.club
       2025-01-12T12:22:11Z
       
       0 likes, 0 repeats
       
       I don't think they ever actually check the results of the CPU identification code. This is probably semi-dead code
       
 (DIR) Post #Aq0Q2OnAzCaWKAv9dI by teamonkey@mastodon.social
       2025-01-12T12:23:21Z
       
       0 likes, 0 repeats
       
       @foone MMX was still a thing at that time IIRC, useful even with a graphics card. It was also the era when there were various Intel clone chips with different capabilities, and still a number of DX2 and DX4s about rather than Pentiums.
       
 (DIR) Post #Aq0Qlz275dhDkrdzGK by foone@digipres.club
       2025-01-12T12:31:37Z
       
       0 likes, 0 repeats
       
       @teamonkey it does detect MMX, but it doesn't seem to ever do anything with it
       
 (DIR) Post #Aq0QvXIZ3sbydJtU5w by teamonkey@mastodon.social
       2025-01-12T12:33:17Z
       
       0 likes, 0 repeats
       
       @foone Maybe they were considering a software renderer at one point then made the decision to drop it.
       
 (DIR) Post #Aq0RIwJSE0TwsGTBQm by scott@tams.tech
       2025-01-12T12:37:32Z
       
       0 likes, 0 repeats
       
       @foone nice
       
 (DIR) Post #Aq0RelKHkm4lAeGS4O by nabijaczleweli@101010.pl
       2025-01-12T12:41:28Z
       
       0 likes, 0 repeats
       
       @foone in many ways isn't all yacc from 1990
       
 (DIR) Post #Aq0SqeL3etdyvcrFmC by foone@digipres.club
       2025-01-12T12:54:50Z
       
       0 likes, 0 repeats
       
       oh hey someone else has already done a decompilation + port of this! https://github.com/shinyquagsire23/OpenJKDF2
       
 (DIR) Post #Aq0TmPjg6s6aQyuyoq by foone@digipres.club
       2025-01-12T13:05:18Z
       
       0 likes, 0 repeats
       
       including compile it for the web, which is slick
       
 (DIR) Post #Aq0Zwg4ioZ3zjN2R0K by suetanvil@freeradical.zone
       2025-01-12T14:14:16Z
       
       0 likes, 0 repeats
       
       @foone yacc hasn't changed much since long before then.  Also, if they embedded perl, it'll be a very specific version of byacc which is the only yacc that works with the script that then tweaks the generated tables in a way to get the precisely expected behaviour out of it.
       
 (DIR) Post #Aq1XRKsnYGHUHDLf1M by lesdmark@mastodon.social
       2025-01-13T01:20:56Z
       
       0 likes, 0 repeats
       
       @foone Disney can go piss up a flag pole with their nonsense. I want to know when we can get back on a better timeline than this one.