Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Not actually evil.
#26 Old 16th Sep 2008 at 8:26 PM
No, I know nothing at all about Maxis file formats or records. If they happen to have the same name as SimPE resources, which I don't know if they do, you could work from there. Open up a sim package or clothing or an object and see what SimPE lists in the resource list. If they don't have the same name, and you want to know where a GZPS or TXMT or whatever is stored, look in the SimPE source for routines that read them, and it will tell you the record name and format. As Inge said, you'll need to understand C#. Or probably at least C++.

You could join MATY if you wanted to. There's lots of knowledgeable folks there.

Please spay or neuter your pets. --- Cat Music Video! --- my meshes
Advertisement
Mad Poster
Original Poster
#27 Old 16th Sep 2008 at 9:31 PM
I don`t have SimPE, either. I`m having NO significant troubles parsing records, any more. I just don`t know WHICH records to parse. The Wiki gives me the record name and format for many records. It just doesn`t tell me much about which records I`ll be needing, or what they can be used for. At least, not anywhere I`ve looked, yet. Please look here and tell me if you recognize "SimPE resources" in the list of names. As for joining MATY, I can barely keep up here and still have any time left to play! I appreaciate any and all attempts to help.
Warrior Gryphon
site owner
#28 Old 16th Sep 2008 at 9:53 PM
Umm, the wiki list is the list of internal formats and what they are. Each format has a 4 character code. If you read the descriptions of each format on the Wiki then you tend to know what they actually are.

Additionally, you go and look in SimPE. If you seriously intend on writing a program go get SimPE!. It has lists of every format type, and easily tells you what they are. If you still don't have it then go get it.

No offense, but you really don't seem to have a clue what you are writing. When I develop a tool I have a clear goal or purpose in mind. I say "Okay I want it to do THIS" and then I research, learn and read about how I can achieve that goal - even if it means learning about a new internal type, or directx, or whatever. You seem to be saying "Hey I can parse a couple of types but I don't know anything about the rest but can you suggest something I can do?" - instead, ask yourself "What do people need?" or "What do people want?". Identify a niche and work towards that.

With regards to compression - the algorithm is there in C# and also in PHP too so it should be fairly easily to convert to Python.

I don't mean to be mean or anything, but seriously - figure out a goal, stick to it, and make something. Stop focusing on what your "tool" is going to be called. Stop calling it a "tool" - right now you have nothing but a collection of some scripts to parse package files. It wont be a tool until it actually has a purpose.

Story books are full of fairy tales, of Kings and Queens, and the bluest skies.
Not actually evil.
#29 Old 17th Sep 2008 at 12:31 AM
Quote: Originally posted by GeneralOperationsDirector
I don`t have SimPE, either. ... Please look here and tell me if you recognize "SimPE resources" in the list of names.
Yes, I see lots, SHPE, CRES, GMDC, GMND, GZPS, BHAV, etc. However, as Delphy said, you need to get SimPE and look at it yourself. Learn about, use it, and you will know for yourself what the different resources are and which ones you need. You will also know what the capabilites of SimPE are, so you can better decide what other functionality is needed that you could provide. You also need to look at other existing tools. Figuring out what you want your program to do should be done before you work on actual implementation, like parsing records.

Please spay or neuter your pets. --- Cat Music Video! --- my meshes
Mad Poster
Original Poster
#30 Old 17th Sep 2008 at 2:51 AM
Quote: Originally posted by Delphy
Umm, the wiki list is the list of internal formats and what they are. Each format has a 4 character code. If you read the descriptions of each format on the Wiki then you tend to know what they actually are.
I know that, but there are many, and no indications on the master list of which ones are for what. I have to enter a page and read it in order to determine if I need to enter the page and understand it. Even then, most pages give very little information about the data. I`m looking for guidance on which ones would be most profitable to persue first. I do want to eventually process them all. Moreover, I have already discovered many that are not even on the list!
Quote: Originally posted by Delphy
Additionally, you go and look in SimPE. If you seriously intend on writing a program go get SimPE!. It has lists of every format type, and easily tells you what they are. If you still don't have it then go get it.
Ok, ok! I`ll go looking for it. I was hoping I wouldn`t need to.
Quote: Originally posted by Delphy
No offense, but you really don't seem to have a clue what you are writing. When I develop a tool I have a clear goal or purpose in mind. I say "Okay I want it to do THIS" and then I research, learn and read about how I can achieve that goal - even if it means learning about a new internal type, or directx, or whatever. You seem to be saying "Hey I can parse a couple of types but I don't know anything about the rest but can you suggest something I can do?" - instead, ask yourself "What do people need?" or "What do people want?". Identify a niche and work towards that.
Right now, the program is a learning tool for me. I want to learn stuff that will also be useful for other people. Right now, I am blundering around in the dark, hoping that someone will loan me a firefly or two.
Quote: Originally posted by Delphy
With regards to compression - the algorithm is there in C# and also in PHP too so it should be fairly easily to convert to Python.
Easily. I could do it, no problem. It would be SLOW, however. Python is a very-high-level object-oriented language. It is not, ah, shall we say, adept, at performing byte-level manipulations quickly. That is why I said "I cannot see trying to process this compression in pure Python".
Quote: Originally posted by Delphy
I don't mean to be mean or anything,
No problem; I understand.
Quote: Originally posted by Delphy
but seriously - figure out a goal, stick to it, and make something. Stop focusing on what your "tool" is going to be called. Stop calling it a "tool" - right now you have nothing but a collection of some scripts to parse package files. It wont be a tool until it actually has a purpose.
Its immediate purpose is to help me learn modding techniques. Its longer-term purpose is to do something useful with what I learn. I do know, in general terms, where I want to go with this, but I am more than willing to accept direction towards specific things that other people will find useful, too.

When I have learned to parse record formats that allow me to do something interesting, my tool WILL perform surgery on package files.

This post has gotten too long already. I`m replying to Cat`s post seperately. I overflowed the edit buffer here trying to reply to both at once.
Mad Poster
Original Poster
#31 Old 17th Sep 2008 at 3:03 AM
Quote: Originally posted by CatOfEvilGenius
Yes, I see lots, SHPE, CRES, GMDC, GMND, GZPS, BHAV, etc.
Those are the names of the "record formats" I`m asking about. Which one[s] do you use the most? I`ll look them up.
Quote: Originally posted by CatOfEvilGenius
However, as Delphy said, you need to get SimPE and look at it yourself. Learn about, use it, and you will know for yourself what the different resources are and which ones you need.
My program is currently capable of listing all of the "resources"/record types encountered in a file. This is highly visible in the dump of the index records, and is how I know that I have encountered several record types that are not listed in the Wiki. I just don`t know which ones will prove interesting.
Quote: Originally posted by CatOfEvilGenius
You will also know what the capabilites of SimPE are, so you can better decide what other functionality is needed that you could provide.
Ok, ok, ok!
Quote: Originally posted by CatOfEvilGenius
You also need to look at other existing tools. Figuring out what you want your program to do should be done before you work on actual implementation, like parsing records.
Please see my reply to Delphy, above, for a description of what I want my program to do.

I know what I want; I just don`t know how to express it well.
Warrior Gryphon
site owner
#32 Old 17th Sep 2008 at 9:27 AM
No offense, but you haven't said what you want your tool to do. You said you "will perform surgery on package files". What kind of surgery? What will you be fixing? What will the end result be? What specific tasks do you need to do to achieve that end result?

Right now, you are blundering about in the dark - becuase you - or, rather, your tool - has no purpose, no life.

As both Cat and I are saying (and Cat said so well): Figure out what you want your program to do before working on actual manipulation. It's basic software design 101.

When I write programs, I always have a clear goal in mind - "this is what it will do". Then I work towards that goal. I don't think "Lets learn some random package file chunks and then see if I can do anything with them", becuase often you must have a purpose first.

A tool that I am working on now, for example, is one that does things with Skintones. First I talked to HP - and looked extensively in SimPE - in depth to understand what the end result was as well as looking (again, in SimPE) at what would need to change. Only from that (once I know what needs to be done and how you can do it manually in SimPE) do I start actually writing a tool to do it automatically. This is what I suggest you do - find a process that currently people are doing manually and then figure out how that is done in SimPE and then see if you can automate it.

Otherwise you really will be floundering in the dark not getting very far.

Story books are full of fairy tales, of Kings and Queens, and the bluest skies.
Mad Poster
Original Poster
#33 Old 17th Sep 2008 at 7:51 PM
Quote: Originally posted by Delphy
No offense, but you haven't said what you want your tool to do. You said you "will perform surgery on package files". What kind of surgery? What will you be fixing? What will the end result be? What specific tasks do you need to do to achieve that end result?
No offense taken, nor any intended, but I don`t yet know what I can do. I want to start with something easy, even if it is redundant, then add more complicated stuff later. I don`t even know enough yet to tell what is and what isn`t easy. Right now, this is a learning tool for me. I want to learn.

I do know that I want this to be a multi-purpose tool that does many things; as such, the building blocks I`m attempting to create now will be useful later when I discover what I can do with them, but I need to start small, and build.

I guess the best way to describe what I`m trying to build is as a toolkit for building applications with. I`m not ready to build an application until I have a toolkit. I`d like some guidance on what parts of the toolkit to develop first, especially which "resources" would be most useful to understand for general purpose manipulation. Without that guidance, I am blundering blindly. With it, I will at least be blundering towards something.
One horse disagreer of the Apocalypse
#34 Old 17th Sep 2008 at 8:01 PM
What was your motivation for choosing Python? Or maybe what I am asking is, did you want to become proficient in Python and this seemed a good project to motivate you, or is your main aim to learn Sims 2 package files, and because you are already proficient in Python it seem like it will be the easiest language to experiment with as you unravel them?

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Mad Poster
Original Poster
#35 Old 17th Sep 2008 at 8:05 PM
The second, Inge. Very much the second. :D
Thank you for asking.
Not actually evil.
#36 Old 17th Sep 2008 at 8:30 PM Last edited by CatOfEvilGenius : 17th Sep 2008 at 8:56 PM.
Quote: Originally posted by GeneralOperationsDirector
I`d like some guidance on what parts of the toolkit to develop first, especially which "resources" would be most useful to understand for general purpose manipulation. Without that guidance, I am blundering blindly.
As we have already said, you need to look at SimPE and other Sims2 tools to answer that question. If you used SimPE, you would know which resources are commonly used, and for what. Skinners use different stuff than mesh creators who use different stuff than fancy modders who create new sim behaviors and/or animations. I could tell you which resources they use, but I really think it would benefit you much, much more to go learn SimPE. You say you want to learn, so we're trying to help you do that.

You mentioned you want to find new resources. That is a great goal. If you happened to figure out where Maxis keeps facial skeletons, we could make false eyelashes that move with a sims's eyes and all sorts of stuff we couldn't do before. But first, figure out the resources that are well understood. Just parsing them will not give you sufficient understanding if you haven't worked with them in SimPE.

Please spay or neuter your pets. --- Cat Music Video! --- my meshes
Warrior Gryphon
site owner
#37 Old 17th Sep 2008 at 9:15 PM
SimPE didn't start as an all purpose package tool - it grew into that by adding functionality over time. I tihnk you'll get much quicker much further in terms of understanding things if you do have a specific goal to work for.

Story books are full of fairy tales, of Kings and Queens, and the bluest skies.
Mad Poster
Original Poster
#38 Old 18th Sep 2008 at 1:42 AM
Ok, tell me this: Where do I find the name of a sim?

Inge, you and Mootilda have been investigating Lot and Neighborhood packages lately; are there any records therein that would need to be changed if a sim`s name was changed in the character package? Also, Inge, do you know where a family`s name is stored? You know, the one that shows up when you hover your mouse over the occupied lot in the neighborhood.

By the way, Inge, I`ve read all 2089 posts in Discussion: Lot Size, Orientation, Rotation, etc., and it made for very interesting reading.
Not actually evil.
#39 Old 18th Sep 2008 at 2:13 AM Last edited by CatOfEvilGenius : 18th Sep 2008 at 2:19 AM.
Quote: Originally posted by GeneralOperationsDirector
Ok, tell me this: Where do I find the name of a sim?


1) Run SimPE .
2) Tools menu -> Neighborhood, pick a neighborhood, wait for it to load
3) Tools menu -> Neighborhood -> Sim Browser, pick a sim from the list
4) In the Plugin View, in the bottom half of the screen, you'll see the sim's name and family name. If you look in the Resource List, upper right quarter of the screen, you'll see one of the resources is highlighted. The name of the resource is the sim's name, and the resource type, in the Type column, is a four letter acronym. This is the resource type you'll want to look up in the wiki.

5) I looked for this particular resource in the wiki, but didn't see it, so I googled it. Found an article about it in the modding discussion forum on MTS2. I didn't actually find a file format for it, but then, I only searched for about 5 minutes.

I'm sure Delphy or Inge or someone else who knows more than me would be happy to tell you all about this resource type, once you've looked it up in SimPE and read what there is to read about it on MTS2.

You keep asking questions that you could answer yourself by learning to use SimPE. If you are willing to read 2089 posts, then I think you are also capable of taking the time to learn SimPE. It comes with a manual and there are tons of tutorials for specific tasks you can do with it. This will teach you about the different resource types and about modding. SimPE can also be used to test your software, see if it is reading records correctly.

Please spay or neuter your pets. --- Cat Music Video! --- my meshes
Mad Poster
Original Poster
#40 Old 18th Sep 2008 at 2:34 AM Last edited by GeneralOperationsDirector : 18th Sep 2008 at 2:36 AM. Reason: Added postscript.
I kinda prefer to stay on-site, but I followed the SimPE autolink, and got the following, every time for several tries:
Quote: Originally posted by Internet Explorer
Internet Explorer cannot display the webpage

Most likely causes:
You are not connected to the Internet.
The website is encountering problems.
There might be a typing error in the address.

What you can try:
Check your Internet connection. Try visiting another website to make sure you are connected.

Retype the address.

Go back to the previous page.

More information

I know I`m connected, because I have this page open in another tab! Is http://sims.ambertation.de/ still the correct URL?

P.S.: I had no problems PINGing that address, and TRACERT worked, too.
Not actually evil.
#41 Old 18th Sep 2008 at 3:40 AM
I can't get to it either. It's probably down right now. Try again later.

Please spay or neuter your pets. --- Cat Music Video! --- my meshes
Mad Poster
Original Poster
#42 Old 18th Sep 2008 at 3:49 AM Last edited by GeneralOperationsDirector : 18th Sep 2008 at 4:20 AM.
Hokay.
Um, that isn`t Inge`s site, is it?

Edit:

I`ve been playing with my tool, and discovered a GLOB record only 48 bytes long in a character package:

TypeID: 'GLOB'
GroupID: 4294967295L
InstanceID1: 128
InstanceID2: 0
Offset: 96
Size: 48
'0\x00\x00\x00\x10\xfb\x00\x01@\xe3Semi-global file\xab@\x00\x00\xe1\rPersonG\x08A\xc2\x00\x00\xecs\xa3\xfc'

"\x" plus the next two characters are the hexadecimal code for a non-printing character; all other characters represent themselves. The Wiki defines the GLOB record to be a MINIMUM of 65 bytes, with the data as plain text following a count byte at offset 64. Weird. The GLOB record[s] I`ve encountered previously fit the Wiki`s description.
Warrior Gryphon
site owner
#43 Old 18th Sep 2008 at 9:03 AM
Is that "Size" the size from the index? If so, and the chunk is compressed, then this is not the true size of the chunk

Story books are full of fairy tales, of Kings and Queens, and the bluest skies.
Mad Poster
Original Poster
#44 Old 18th Sep 2008 at 9:12 AM
Oops! I forgot about compressed! I`ll have to check on that. Yes, it is from the index. This [probably] also explains some other oddities with the dump of that particular file.

I`m signing off for the night, now; it`s almost morning here. I`ll look into it later.
One horse disagreer of the Apocalypse
#45 Old 18th Sep 2008 at 9:35 AM
The SimPE site's down. Unfortunately I am only a proxy (not poxy) Admin, not the owner, and other than hoping Quaxi spots my email in his spam bucket there is nothing I can do about it

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Mad Poster
Original Poster
#46 Old 18th Sep 2008 at 6:30 PM
Quote: Originally posted by Inge Jones
The SimPE site's down.
Is there anywhere else that I can get SimPE? Is there a copy of it here? If not, can you post it as a download thread?

...just asking; willing to take "no" for an answer.
One horse disagreer of the Apocalypse
#47 Old 18th Sep 2008 at 6:41 PM
It's back up now.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Mad Poster
Original Poster
#48 Old 18th Sep 2008 at 7:28 PM Last edited by GeneralOperationsDirector : 18th Sep 2008 at 7:52 PM.
What are "SimPE Photostudio Templates", and do I need/want them?

Edit: When I try to run it, it fails with pretty much the same error Delphy`s Download Organizer does. I`m assuming that this means that I need to install .net, which I didn`t want to do, as I do NOT wish to clutter my system partition with unneeded junk [only with NEEDED junk! ]. I`m downloading .net as I type; how can I test to see if I really do need to install it?
Screenshots
Not actually evil.
#49 Old 18th Sep 2008 at 10:11 PM Last edited by CatOfEvilGenius : 19th Sep 2008 at 1:02 AM.
Well, if it doesn't work without .net, and if it starts working after you install .net, I'd say that means you need it.

Please spay or neuter your pets. --- Cat Music Video! --- my meshes
Warrior Gryphon
site owner
#50 Old 18th Sep 2008 at 11:35 PM
.NET 2.0 framework is needed for SimPE.

.NET 1.1 framework is needed for the DDO and S2PCI.

Seriously, what PC doesn't have it these days?

Story books are full of fairy tales, of Kings and Queens, and the bluest skies.
Page 2 of 5
Back to top