Recent Posts

Pages: [1] 2 3 ... 10
Results, no levels eliminated this time. A tiebreaker is needed

Armani's "Insert Coin, Choose Lemming" (10 votes)

IchoTolot's "Decent Default Design" (6 votes)

Apjjm's "Roiling Clouds" (6 votes)
Results, bolded levels move on

Armani's "Meanwhile in a Parallel Universe" (4 votes)

Armani's "This will be a Better Year" (4 votes)

IchoTolot's "Containment Breach!" (1 vote)

Flopsy's "Past the Point of Delirium" (2 votes)

Apjjm's "Phantom breakout" (3 votes)

NieSch's "All the Good Lems go to Hell" (3 votes)

GigaLem's "Hydro-Crossing" (1 vote)

Turrican's "Airborne Rodents" (4 votes)

Total: 16 levels qualify for Round 2
NeoLemmix Main / Re: NeoLemmix source - auto C# translation?
« Last post by joe@joesblog on Today at 12:58:29 AM »
Not sure on the interest in this,

I used that converter I wrote to port some of the functions rather than the whole project, I fixed a few bugs, and implemented a quick GUI Down the bottom, I thought I'd done more than is here but it could be on my old PC.

I wanted to see if I could get this to run on android though have yet to test, I'm using raylib for the graphics library that connects to the GL pipeline.

all it does so far is load levels, the routines for walking, falling, ascending, climbing, floating and bashing are in too.

Here's a quick video, not sure if I'll take it much further from here though:
General Discussion / Re: Simon blogs
« Last post by Simon on June 28, 2022, 10:56:23 PM »
Apropos uniform initialization syntax. :8():

I've used C++ for 16 years now and I still don't know every case of where the language guarantees a zero initialization and when it may leave something uninitialized.

Everybody learns early on that this int is uninitialized:

void foo() {
    int a1;

And that's about as far as "everybody knows" goes, I'd wager. :lix-evil: Only many people, including me, know that these two are zero-initialized (although I'd still add the explicit = 0):

int a2; // at global scope
void bar() {
    static int a3;

The design reason behind this is that these ints live in "static land" instead of going on the stack where the zero initialization would cost runtime: The BSS section is a memory region that comes preinitialized for free when the operating system loads your executable and has to copy all of the executable code into memory anyway.

But I have no clue of the following, although I see this occasionaly in the day job, usually in C code that somebody renamed to .cpp later:

void baz() {
    int arr1[5] = {};
// Is anything zero?
    int arr2[5] = {0}; // Are the subsequent four ints also zero?

And do those initializations mean something different in C and in C++? Does it depend on the version of the C standard?

Here are some fun ways to initialize a single int, most of which only arise in theory. This is perfectly legal code that compiles. Are they all zero, are only some zero, are they all possibly uninitialized? I don't know.

void blub() {
    int a4{};
    int a5 = {};
    int a6 = int{};
    int a7 = int();
    int a8{int()};
    int a9 = {int()};
    int* p1 = new int;
    int* p2 = new int{};
    int* p3 = new int();

The two cases I should look up for definitive clarification are a4{}; and a5 = {};. The others might also be enlightening eventually, but expressions such as int() come up rarely enough that you can deem those esoteric.

And it doesn't end with ints where you have a chance at initializing them explicitly with zero. Occasionally useful in real life: You have std::vector<int> and you want to enlarge it by calling resize(). Does it zero-initialize the new values?

I have dark memories of possible nonequivalence of the following. It might be a false memory from early learner days in 2006, but I've never clarified it. Assume X is a class with a custom default constructor, and no other constructors (in particular, X doesn't define a constructor that takes a std::initializer_list). Do all of these run the default constructor? Quick reality check with g++ --std=c++17 tells me: Yes, all of them run the default constructor. But does the language really guarantee it, ever since C++98? I assume so, then...

void blip() {
    X x1;
    X x2{};
    X x3 = {};
    X x4 = X();
    X x5 = X{};
    X* x6 = new X;
    X* x7 = new X();

I should really read the standard directly more.

-- Simon
Lemmings Main / Re: Help! totally stuck on sunsoft level 9
« Last post by Swerdis on June 28, 2022, 07:33:27 PM »
Yeah, I think the arrows are there to lead the player astray. Glad that I could help you.
Another new build - after fixing a Shadow backroute, I decided to check over the last 3 tribes - just in case anything was wrong. And it was:

Version 13.8 has been released

Shadow 9 (Mission: Impassible) - replaced the gate with metal blocks, leaving only a thin shaft for the rock climber.

Cavelem 5 (Lem of the Dump) - some slight alterations to terrain and skill counts, to prevent any form of CC.
Cavelem 6 (Last Rule of Bash Club) - slightly reduced the skill counts.
Cavelem 7 (The Lemcave) - added some more metal across the top of the cave.

Space 3 (Magno Force) - swapped with L4, weird pit edges removed and renamed "Alien Hideout".
Space 4 (Orbital Bombardment) - swapped with L3.
Space 6 (Laser Quest) - complete redesign of the middle, it's now puzzly instead of pure execution. Skills altered a bit too, and swapped with L7 due to increased difficulty.
Space 7 (JMC Mining Complex) - swapped with L6, slight alteration to one cave.
Space 8 (Beam Me Somewhere Shotty) - blocked the wrong side of the white teleporter. (it was a possible shortcut)

Polar 5 (Eskimo Beat) - a few changes, mainly to make the 2 big drops skier-proof. (I forgot they increase the splat distance a little)
Polar 7 (Research Outpost) - a couple of slight terrain changes, to make the solution a little less counter-contuitive.
Lemmings Main / Re: Help! totally stuck on sunsoft level 9
« Last post by Helen on June 28, 2022, 11:01:53 AM »
yes! thank you so much!

as usual once you see the solution: why didnt I think of that. :lem-shocked:

I think because I was so stuck on trying to release them through the one way arrow block.
Lemmings Main / Re: Help! totally stuck on sunsoft level 9
« Last post by Swerdis on June 28, 2022, 09:24:37 AM »

I hope that's the correct level.
Lemmings Main / Help! totally stuck on sunsoft level 9
« Last post by Helen on June 28, 2022, 09:17:25 AM »
have downloaded the pack from on here, really enjoying - but have got to a stalemate.

Days and days later still cannot figure how to get home with only 3 builders.

any advice?
General Discussion / Re: Simon blogs
« Last post by Simon on June 27, 2022, 06:38:05 PM »

A job very hard.

English and German grammar suck. German sucks more than English because in German subordinate clauses, you the verb in last place, where the reader the verb won't find before he already the meaning of the sentence has forgotten, put must. But English isn't so much better in other regards, either.

Topic of the sentence, I want to put it in first place and not risk the sentence looking odd.

Noun proper should always come before their adjectives explaining, like in French, a langue très bèttre in regard this. Sometimes, I've written adjectives and forgot to add the noun.

Lots of parentheses, I want to add them everywhere. And I want to write in a two-dimensional way, e.g., I want to write a sentence and then add bubbles (with more information) around the sentence, tied to specific (parts in the sentence). The bubbles contain elaborations/definitions/... and you should be able to show (or hide) them (on demand).

C++ uniform initialization syntax, maybe it should become standard in English, too. I have Car{nice, black, Diesel} and I drive{with Car from earlier in this sentence, to Friend, Reason{visit, Reason{he is nice, I haven't seen the friend for a while}}} this afternoon. And now the braced initializer list for drive became too long, I want to refactor it; only the friend should be visible by default, and everything else from the list goes in a bubble{hidden by default, tied to drive}.

-- Simon
Pages: [1] 2 3 ... 10