u/Acruid
- 10points
Acruid
Acruid
See if there is an old version of Runescape on it! You could win $500.
Acruid
This is actually the installation from my windows computer in like 2000, so the retail disk? Nowdays you could get the retail disk image from the internet archive. I don't have the game through steam.
Acruid
user@domain:~/Desktop$ wine --version
wine-9.0 (Ubuntu 9.0~repack-4build3)
user@domain:~/Desktop$ cd "/mnt/data_drive/Installed Games/Delta Force 2/"
user@domain:/mnt/data_drive/Installed Games/Delta Force 2$ wine "/mnt/data_drive/Installed Games/Delta Force 2/Df2med.exe"
Works fine in linux for me.
Acruid
You go into the MST portal. At the top left there is a hamburger menu, the second option is POG search. Type your full F/G/P number into the second box, iirc it's labeled "Item or Reorder Number". Hit apply, it lists out the POGs the collateral is on, just like old space planning.
Acruid
You may be remembering the first section of this game. It was on an Apple IIe, the large floppy disks. I don't remember much of the first part of the game, but it was a side view of your frog at the bottom of the screen, and flies buzzing up above. You had to do math problems, and maybe catch the correct fly or something? I don't remember anything specific about moving from screen to screen. Any ways, the actual point of this first part was to solve the path problems to build up lives for the second part.
The second part of the game was what the linked post was talking about. It was a side view platform game, the logs would move onto the screen and towards the sawmill. You had to jump continuously on top of the logs, if you fell into the water or rode a log into the sawmill you died. I think the goal was to eat the flies in a specific order.
We did have other MECC games like Money Works, but I have not found this frog game in the collection. I don't know the name of this game, but hopefully someone will find it one day.
Acruid
Something I see a lot of learning material skip over is the concept of Blocks.
{
// code here
}
This would fit right between the variables and the if statement section in your guide, and builds up your foundational knowledge. A common "gotcha" mistake is re-defining the same variable inside a scope, hiding the one from outside it.
Following explanation is generated by Gemini.
Understanding the "Scope" of a Block
The most important feature of a block is that it creates a Local Scope. Think of a block like a "one-way mirror" for data.
Inside the { }, you can see variables declared outside of it. However, anything you declare inside those braces stays inside. Once the execution reaches the closing brace }, the computer "forgets" those variables entirely—this is known as the variable falling out of scope.
int globalCount = 10;
{
int localCount = 5;
Console.WriteLine(globalCount + localCount); // This works!
}
// Console.WriteLine(localCount);
// ERROR: The name 'localCount' does not exist in the current context.
Memory Management: The "Cleanup"
When a block ends, the memory used by those local variables is reclaimed. This is why blocks are so powerful: they keep your program’s "brain" from getting cluttered with temporary information that it doesn't need anymore.
Prefixing with Control Statements
This is where the magic happens. On its own, a block just runs once from top to bottom. But when you prefix it with a Control Flow Statement (if, while, for, foreach), you are giving the block "rules" for execution.
- The
ifprefix: Tells the block, "Only run if this condition is true." - The
whileprefix: Tells the block, "Run, then jump back to the top and repeat as long as this is true." - The
foreachprefix: Tells the block, "Run once for every item in this list."
The "Single Statement" Trap
In C#, control statements actually only govern the very next statement they see.
if (isLoggedIn)
Console.WriteLine("Welcome!"); // This is controlled by the IF
Console.WriteLine("Access Granted."); // This runs NO MATTER WHAT
By using a Block, you are essentially "gluing" multiple statements together so the control statement treats them as a single unit.
if (isLoggedIn)
{
// These are now a single "Compound Statement"
Console.WriteLine("Welcome!");
Console.WriteLine("Access Granted.");
}
Key Takeaways:
- Braces
{ }= a Block. - Scope: Variables created inside a block die when the block ends.
- Encapsulation: Blocks allow you to group many lines of code so they can be controlled by a single
iforloopcommand.
Acruid
Good to know, thanks!
Acruid
https://github.com/BadCafeCode/execution-inversion-demo-comfyui
https://github.com/akatz-ai/Akatz-Loop-Nodes (Find in Manager)
This addon provides True looping and branching, by controlling which nodes are queued for execution.
With the loops, you can make a string list of the models and such, inside the loop load only the models you need, generate the result, then accumulate it to a list, before proceeding. If you are copy+pasting branches, it should be a loop.
The branching nodes lazy evaluate the node graph, so anything on the false branch is not even considered for execution (imagine conditionally upscaling an image if it its less than 1MP, without actually having to run the upscaler if false.)
In you image I can see multiple unrolled loops, ready to be optimized.
Acruid
Yep, having to mask and composite is a workaround for a bad edit model.
Acruid
Right, you want the simulation to target say 60 ticks/sec, but if the CPU maxes out and starts lagging, you can slow down the simulation. Nothing inside the simulation should care about how much real/wall time has passed. Stopping the ticks running is how you gracefully pause the game, while keeping things outside the simulation like the UI and input still working.
At any point inside the simulation you know how much time has passed by counting ticks, which are the atomic unit of time.
Acruid
Yep, all this really needs to do is output the coordinates, then we can use it for cropping, filling, compositing, masking, etc.
Acruid
This was my first thought as well.
Acruid
This is the single biggest issue I find with customers having trouble with the app. It is not obvious if we have it in stock vs they can order it for pickup, and you end up telling them "If the pickup date is not today's date, you have to order it." Now you have an unhappy customer that just wasted their time.
The second one is "You have the wrong store selected."
Third one is not having any distinction between oslg isles 1-8 and inside the store in the app, leading to people wandering in to isle 2 hardware for metal fencing.
Acruid
These items specifically need to be inside of boxes, they can't be loose in topstock, so I see why they got stuffed.
Acruid
Very nice.
Acruid
They do it by right clicking on the output node and rename it.
Acruid
Yeh, I had to watch it again. https://www.youtube.com/watch?v=a9qXbgrx9rg
Acruid
from inside the comfyui-reactor-node folder:
git remote add codeberg https://codeberg.org/Gourieff/comfyui-reactor-node.git
git fetch codeberg
git checkout -b codeberg-main codeberg/main
alternatively you can just delete your current comfyui-reactor-node folder and inside the custom_nodes folder just git clone https://codeberg.org/Gourieff/comfyui-reactor-node.git
Acruid
Found this one https://github.com/Navezjt/comfyui-reactor-node
Acruid
Use the Render Pose JSON (Human) inside the ComfyUI's ControlNet Auxiliary Preprocessors repo.
Acruid
The points editor does not support multiple boxes, it is still WIP. You could try to use Florance2 like in the 3rd example on their github page to automatically generate the boxes, or manually create the bbox string somehow. I just used multiple point editors like in the example.
Acruid
Segment Anything 2 combined with the points editor in KJNodes sounds like what you want.
This is the actual answer. The two batteries don't drain at the same speed. In my game boy I could swap the first battery multiple times with a fresh battery before the second one got too low, or swap the two batteries for a little more life. You can measure this with any battery tester or multimeter.