Lemmix new database

Started by EricLang, November 06, 2012, 06:03:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

EricLang

Oh yes the list works as far as i know. Pressing space, while the list is focused selects an item. Pressing Shift + Space adds the current item to the selection (multiselect)

Leaf_It

Joined this forum specifically because I saw this thread.

I used to play lemmings all the time about 5 years ago. I was a highschool school student who had discovered roms and emulators. We also had some of the original lemmings games on floppy disks. I took the initiative and found Lemmings, ONML, and X-mas 1991 - 1994 along with lemmix, and dosbox. As time went on I forgot about the games, but recently I remembered them, and wanted to play again. I feared that Lemmix would be malfunctioning due to the age of the old games, but while looking for the old program, I found this thread.

Eric, you are part of my childhood memories. I can't help you much with making the program, but I wanted to show my support. I'm very glad you have decided to start working on it again.

EricLang


Leaf_It

I know. I just wanted to let you know I appreciate what you're doing. Carry on.

EricLang

Below here a few notes on my first table-design-thoughts.
I still have to invent a trick that makes it possible to mix graphicsets with this design.
Any comments?

Is there anyone here that can produce a DLL for testing my pluginsystem?


Each table contains a unique ID, and a unique name

GameSystem (dos original, dos ohno etc)

Each of the following tables belongs to one GameSystem

LemmingAction (walk, bash, fall etc)
   is_assignable: boolean (assignable by user interface?)
   is_permanent_skill: boolean (like climber, floater)
AnimationKind (once, loop, triggered etc)
Drawing (nooverwrite, only on terrain, flippedhorz, flippervert etc)
TriggerEffect (effect of trap)
Soundeffect (any sound effect)
Music (music belonging to level)
GraphicSet (one graphic set of a certain style)
Terrain (piece of terrain)
Structure (piece of structure (trap))
Material (definition of material i.e. steel)
Lemming (lemming definition)
LevelPack (author etc)
LevelSection (fun, tricky, taxing etc)
   belongs to LevelPack
LevelContent (placeholder for level)
   belongs to LevelSection
LevelTerrain (terrain piece of a level)
   belongs to LevelContent
   ref to Terrain
LevelStructure (object piece of a level)
   belongs to LevelContent
   ref to Structure
LevelMaterial (material/steel piece of a level)
   belongs to LevelContent
   ref to Material
LevelChallenge (how many lemmings, how much to save etc)
   belongs to LevelContent
   rescue_count: integer
LevelAction (available action of a level)
   belongs to LevelChallenge
   ref to LemmingAction
   available: integer (number of available actions/skills)

EricLang

For anyone interested creating a first step test-plugin, here are the details.

The DLL has to export a procedure with the following declaration:
Code: [Select]
SetLemmixInterface(PLib: Pointer); stdcall;The stdcall is a delphi thing. It means that parameters are passed from left to right (which means nothing of course when we have only one parameter)

When Lemmix loads the DLL it calls this procedure passing the PLib pointer: a record with the following (delphi) declaration.
Code: [Select]
TLemmixLibrary = packed record
  TestProcedure: procedure(X, Y, Z: Integer); stdcall;
end;
In this test case the DLL has to call "TestProcedure" (which resides in my new lemmix.exe) passing the parameters X=10, Y=20, Z=30.
Here the calling convention (stdcall) can be tested, so be sure the calling convention is from right to left.

In delphi the DLL procedure would look like this:
Code: [Select]
procedure SetLemmixInterface(PLib: Pointer);
var
  TypedLib: ^TLemmixLibrary;
begin
  TypedLib := PLib
  TypedLib^.TestProcedure(10, 20, 30);
end;

If the test succeeds here I know the system basically works  http://www.lemmingsforums.com/Smileys/lemmings/cool.gif" alt="8)" title="Cool" class="smiley" />
It would be nice to have a few DLL's written in different programming languages (VB, C++ and whatever there)

mobius

I forgot to mention something very important:

There's a weird glitch in the editor: If you re-size the window panels in the bottom (The place where you can put the list window, properties window etc. If you re-size them, hot-keys (like pressing delete on the keypad to delete something) stop working. I haven't heard that anyone else experienced this though.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Simon

If you're using the database as an offline level format, then yes, you should do everything with rows. Storing the binary strings in the legacy formats was an advice only for an online level collection with an offline player using the legacy formats.

With the current approach, one thing to consider is easy exchange of levels between users. Do you keep each level in an exported and sharable file? Otherwise, you need a quick and easy way to export levels to files, preferably in batch mode (export many or all at once).

-- Simon

EricLang

Exporting levels in a single file will be provided as well as exporting to other systems.

EricLang

Theoretical question:
When importing different styles into the database should I duplicate all the graphics?
Let's say I import 3 directories
1) Dos Original
2) Dos Ohno
3) Custom Lemmings

There are a lot of duplicate terrains and other graphics.
On the other side, for real they are duplicates as well.

Luis

I can't make "Back of the net" in Lemmix. I found out it has a terrain limit. http://www.lemmingsforums.com/Smileys/lemmings/sad.gif" alt=":(" title="Sad" class="smiley" /> Can this terrain limit be increased by updating this editor? This level has a lot of nets and some of them have pieces missing, so I couldn't just spam the big net, which is number 14, so I had to use a lot of those small ones.

http://i232.photobucket.com/albums/ee91/Luis2_06/Untitled-34.jpg?t=1355073250" alt="" class="bbc_img" />
Mr. Lemmings PSP user.

mobius

I can't make "Back of the net" in Lemmix. I found out it has a terrain limit. http://www.lemmingsforums.com/Smileys/lemmings/sad.gif" alt=":(" title="Sad" class="smiley" /> Can this terrain limit be increased by updating this editor? This level has a lot of nets and some of them have pieces missing, so I couldn't just spam the big net, which is number 14, so I had to use a lot of those small ones.

http://i232.photobucket.com/albums/ee91/Luis2_06/Untitled-34.jpg?t=1355073250" alt="" class="bbc_img" />

are you sure it's because of a terrain limit? How many terrain pieces are in your level?

Realize, you could also use the big net and just use an eraser piece to cover up that spot you need. http://www.lemmingsforums.com/Smileys/lemmings/wink.gif" alt=";)" title="Wink" class="smiley" /> that's what I'd do.

The reason I'm asking is because I remember seeing a level by someone that has a RIDICULOUS amount of terrain. (it was also a crystal level) with spiderwebs stacked on top of each other so much that there's no space in between them. (well.. it's kind of hard to describe but I'm pretty sure they had hundreds of pieces.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Tsyu

I can't make "Back of the net" in Lemmix. I found out it has a terrain limit. http://www.lemmingsforums.com/Smileys/lemmings/sad.gif" alt=":(" title="Sad" class="smiley" /> Can this terrain limit be increased by updating this editor? This level has a lot of nets and some of them have pieces missing, so I couldn't just spam the big net, which is number 14, so I had to use a lot of those small ones.
The Lemmings level format supports only 400 terrain pieces; an update can't increase this unless a different level format is used.

Luis

I haven't thought of using the giant net and then use erasers. There's 397 terrains and adding more will stop it from saving. Terrain number 3 and 6 were used a lot, just so I won't place nets in areas where their not suppose to be, like the missing pieces in the picture. This is another one of those 36 PSP levels by the way and this one is the most confusing.
Mr. Lemmings PSP user.

mobius

I haven't thought of using the giant net and then use erasers. There's 397 terrains and adding more will stop it from saving. Terrain number 3 and 6 were used a lot, just so I won't place nets in areas where their not suppose to be, like the missing pieces in the picture. This is another one of those 36 PSP levels by the way and this one is the most confusing.

here ya go: see my attached picture.
All I did was spawn (thinking garry's mod) insert a big mesh piece. Then use a couple of single small straight 'wires'. Check 'erase' and put them so they cover up just one direction of lines. They'll cover up too much, so put in another one (not erased) [facing other direction] over that.  http://www.lemmingsforums.com/Smileys/lemmings/smiley.gif" alt=":)" title="Smiley" class="smiley" />

u may still end up using quite a bit of pieces but I don't think nearly as many
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain