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!
Quick Reply
Search this Thread
Site Helper
Original Poster
#1576 Old 16th Apr 2008 at 9:14 PM Last edited by Mootilda : 16th Apr 2008 at 9:41 PM.
Default Roofs on the edge of the lot
Thanks for the pointer. No, I was specifically thinking about a test that niol did.

However, this post looks very useful; let me spend some time reviewing your results again. Now that we have a viable theory about what's causing the crashes, I will have a new perspective on previous research such as this.

It's very helpful to have these old tests around for exactly this reason. niol's recent research on various types of roofs using a non-restricted version is also helpful, since it tells us that we may be on the right track. I just think that it's too early for public tests on roofs at the edges.

Update: a quick review of your research shows some type of wall on the edge of each lot. If I remember correctly (and I may not) niol did a test with no attic wall at the edge.
Advertisement
Site Helper
Original Poster
#1577 Old 16th Apr 2008 at 9:37 PM Last edited by Mootilda : 16th Apr 2008 at 10:04 PM.
Default Internal File Structure: Lighting and Shadows
Quote: Originally posted by niol
the lighting and shadow arrays if any?
I know that this response is a bit late, but I've been thinking about this since you posted it.

I've been assuming that the game has an algorithm to determine whether things are inside or outside of the house, which means that any crashes may be unfixable (unless EA would like to give me their source code to debug ).

If anyone knew of an actual array of lighting and shadows in the lot file, I'd appreciate hearing about it. Of course, the existence of such an array doesn't guarantee that crashes are fixable, but it may help.
Site Helper
Original Poster
#1578 Old 16th Apr 2008 at 9:52 PM
Default Basement Without a Slope
I decided to try a quick test:
- Create 4 walls enclosing a space in the middle of the lot.
- Modify the level of the walls from 0 to -1, to try to create a "real" basement.

Result:
- Consistent crash on load.

What I've learned:
- I need to know more about the WGRA structure, especially the 3rd array (List of Walls), and about the WGRA Instances (which seem to have different types of walls per instance) before I can proceed.

Ah, well... I was hoping that I might have enough information to proceed. Guess not.
Mad Poster
#1579 Old 16th Apr 2008 at 10:43 PM
Quote: Originally posted by Mootilda
...
While working on deciphering the WGRA structure, I added code to the LE to print out a picture of all walls and connections. This helped me to see what's happening internally, and to come up with the walls-touching-edge logic. If people would find it helpful, I can share this privately in a debug build.
....

I guess at least 1 more person in our team may be interested, too. Glad and thankful if you can share it...

Quote: Originally posted by Mootilda
...
Yes, you are correct. I had thought that the light/dark thing occurred in attics, which is why I thought that they were enclosed. Your tests show that attics are not "inside", as I've been defining it.
....

Quote: Originally posted by Mootilda
I know that this response is a bit late, but I've been thinking about this since you posted it.

I've been assuming that the game has an algorithm to determine whether things are inside or outside of the house, which means that any crashes may be unfixable (unless EA would like to give me their source code to debug ).

If anyone knew of an actual array of lighting and shadows in the lot file, I'd appreciate hearing about it. Of course, the existence of such an array doesn't guarantee that crashes are fixable, but it may help.

I had once fooled around manual editting on the story number values for 3D arrays and other known files. I concluded I hadn't known sufficient amount of changes to do it manually successfully. Yet in that testing, I realised probalby some of the arrays or other related files among the the 6 major file types for lot-resizing can affect the shadowing and seemingly the lighting on the ground and seemingly the floor grid layer. Hence, I was wondering about that a few posts earlier in my OT section.

If that "lighting/shadowing on walls/else as the fallpit" hypothesis is true, we may able to dig into what affects the lighting and the shadowing in a lot to see if anything can be done about them.

Quote: Originally posted by Mootilda
...
However, I seem to remember a test that you did some time ago, where a house which was all roof and nothing else crashed... did that house have attic walls on the edge of the lot?
....

I checked out the unshrunke version of that lot and realised I accidentally added attic walls crossing 2 borders, and I had apologised for that mistake. A re-test on a fixed version of that lot showed it actually works fine.
http://www.modthesims2.com/showthread.php?t=276959

Quote: Originally posted by Mootilda
...
I haven't done any testing on lots with roofs along the edge of the lot, but no walls running along the edge. I don't know how many other people have done testing on these, either. So, I'd prefer to wait on public testing on these right now, and have everyone do some private testing first.
....

I've already done some and the full roof types are working at least in my instances in the base game.

Quote: Originally posted by Mootilda
...
As well, it's impossible to test a version of the LE unless you use *that* version of the LE to create the lots. Since no such version is currently available for walls touching the edge and roofs on the edge, testing of such lots would not aid in the testing of the LE shrinking-with-restrictions feature; no reported problems would not prove the feature safe and problems encountered with such lots could not prove that the feature is unsafe - only that the actual lot has problems, possibly because the restrictions were not followed correctly.
....

I'm only using version 1.305 to shink some copies of all those lots for pilot testings first, I guess I may go ahead on finding the how far it can go.
Surely, I can use 1.307 to shrink some copies of those lots of 1-grid/tile/square limits I made since version 1.3 to test how it works, but I still wanna test the shed and maybe some others first as my passion goes...

Quote: Originally posted by Mootilda
...
As for lots which follow the 1-tile restriction, having been built with either LE 1.3.0.6 or LE 1.3.0.7, I think that it makes sense to have just one upload post per person, so that problems are easier to track. If you want to share multiple lots, perhaps you could group them into one post?
....

No problem do I see.

Quote: Originally posted by Mootilda
...
Please note that it is important to use 1.3.0.7 for all new lots created for these tests... but if you have a lot which you want to share which was previously created using 1.3.0.6, it is still a useful test upload, since the actual logic which does the restrictions on the shrunken edges is identical. I would appreciate it if you would note which version of the LE you used to create the lot(s).
....

Certainly.

Quote: Originally posted by Mootilda
...
5) Public testing of the version above, through public sharing of lots made with this version. Again, one post per person makes a lot of sense, to help with error tracking.
....

Maybe, I'll cling to "If you want to share multiple lots, perhaps you could group them into one post?"

Quote: Originally posted by Mootilda
...
Now, I understand that everyone is eager to play with the less-restricted version. Personally, I'd really like to get the 1-tile restricted version out to the general public, so that I can stop supporting the old code base, and so that we can get a lot of testing on the version that I actually have confidence in.
...

Never underestimate the will of many lot-builders to build individual rowhouses.
Mad Poster
#1580 Old 16th Apr 2008 at 10:45 PM
Quote: Originally posted by Mootilda
I decided to try a quick test:
- Create 4 walls enclosing a space in the middle of the lot.
- Modify the level of the walls from 0 to -1, to try to create a "real" basement.
....

I assume a basic empty lot must have level 0 as the ground.
So, may try level 1 -> -1 as a starter.
Level n where n>0 may work?
Site Helper
Original Poster
#1581 Old 16th Apr 2008 at 11:11 PM Last edited by Mootilda : 17th Apr 2008 at 4:39 AM.
Default Basement Walls with No Slope
Quote: Originally posted by niol
I guess at least 1 more person in our team may be interested, too. Glad and thankful if you can share it...
OK, debug version is attached here. As always with these debug versions, run the BAT file. Choose the neighborhood and lot, but don't bother to change the size (ie, just unlock the tiles). Version is crippled and will always abort after creating the LEDebug.txt file.

Walls are shown as "-" for horizontal, "|" for vertical, "+" for an intersection, "\" and "/" for diagonal. Not perfect, but it really helped me to figure things out.

The output is particularly interesting when viewing the information for houses with lots of different kinds of walls: foundation, swimming pool, attic, etc.

If you have any insights into why there are so many copies of the different types of walls, please let me know.

Quote: Originally posted by niol
I assume a basic empty lot must have level 0 as the ground.
So, may try level 1 -> -1 as a starter.
Level n where n>0 may work?
I can try it quickly... hang on...

Update: Level 1 -> -1 crashes on load.

Just for fun, I tried Level 0 -> Level 1. Interesting results: the shadow stays on the ground level, even though the walls are 1 floor up. See attached picture. The shadow was surprisingly resiliant, too. It stuck around even after I deleted the level 1 walls. Had to recreate level 0 walls around the shadow, then delete those walls, to get rid of the shadow.

So, I tried fixing the crashing Level 1 -> -1 lot by setting the level to 0. Got an enclosed room with no shadow. Can't see any shadow on the next level up, but if I add some walls, they are in shadow, even though they they do not enclose an area.

This may have implications for the indoor / outdoor issue.

Normal basement walls are at 0, which is ground level. That's why the terrain slope exists: the game has to get the normal ground level down to the basement level. I assume that a level of -1 gets around this requirement: because the ground level stays the same and the basement level is under the ground, the game has no requirement to slope the land down.

However, if you run the debug version attached here on a house with a pool, you will see that the pool walls are in different WGRA instances than the house walls. So, I suspect that I (at least) need to use different instances of WGRA when changing from 0 (or greater) to -1. There's also a good probability that the unknowns in the List of Walls need to change, too.

Sure wish that I could find that information about below-ground basements... I seem to remember the phrase "another level below the ground", but it's not helping me much. Ah, well... I'll just keep looking, I guess...
Screenshots
Attached files:
File Type: zip  LotExpander1308Debug.zip (804.3 KB, 4 downloads) - View custom content
Site Helper
Original Poster
#1582 Old 17th Apr 2008 at 4:37 AM Last edited by Mootilda : 18th Apr 2008 at 4:30 PM. Reason: Conclusions and thoughts for further testing.
Default Testing of Walls Touching Edge; Roofs Along Edge
Well, I have bad news.

I tried using my newest LE version 1.3.0.9 which allows walls, fences, swimming pools, foundations, and other walls to touch the edge of a shruken lot, along with allowing fence posts and roofs at the edge of the lot.

I changed the Pleasant house (a lot which crashes with 1.3.0.5 and succeeds with 1.3.0.6 and .7) to have various perpendicular and diagonal walls touching the edge of the new lot, including the swimming pool and foundation, along with a new gabled roof at the edge of the lot. All shrinking done on left side of the lot.

Testing done with all EPs and SPs to FreeTime. Pleasant family is on the lot, unplayed.

Shrinking proceeded without any warnings, but the lot crashed on load.

I will repeat the experiment, removing various elements, to see whether I can narrow down which element(s) might be at fault.

However, I can definitely say that my current 1.3.0.9 version is not yet safe.

Update:
Removed gabled roof; shrank; crashed on load. This means that my current 1.3.0.8 version is not yet safe, either. I'm going to do more testing on my own before I make either of these versions available for private testing.

Removed diagonal foundation; shrank; crashed on load.

Removed diagonal swimming pool; shrank; loaded OK. This lot still has:
- walls which are perpendicular to the lot edge
- fences which are perpendicular to the lot edge
- diagonal walls which create an enclosed point at the lot edge
- diagonal fences which create an enclosed point at the lot edge
- fence posts at the lot edge
- floortiles at the lot edge
- objects at the lot edge

Added back diagonal foundation; shrank; crashed on load. Removed again. This is too bad... it's easy to tell the difference between a pool wall and other walls (because pool walls have a level of -1), but I don't currently know how to tell the difference between a foundation wall and other types of walls. So, I may have to disallow all diagonal walls at the lot edge, or at least all diagonal walls which create a V shape at the edge.

Added back gabled roof to lot edge, then removed attic wall at the edge of the lot; shrank; crashed on load.

Left gabled roof in place; removed all remaining diagonal walls and fences at lot edge; shrank; loaded OK. So, the roof may not be at fault above... it may be a problem with the diagonal walls instead. Definitely needs more testing. (Note that the additional gabled roof was covering the remaining diagonal walls and fences, so they might have some interaction.)

Never thought that I'd say this, but I just love those Maxis-made lots! They are so tempermental and so quick to crash that they make excellent test lots.

Update:
Conclusions:
All of the results above are still compatible with my theory about enclosed spaces and the in-game algorithm to determine whether things are indoor or outdoor.

These results just point to the following additional corollary: enclosed spaces which have diagonal walls which touch the edge of the lot are not handled well by the game. I will change 1.3.0.8 and 1.3.0.9 to avoid allowing such spaces.

Remember, an enclosed space doesn't have to be "indoors" to cause problems with the algorithm, it just has to have properties which confuse the algorithm. At the moment, I suspect: any enclosed space with one or more vertices on the edge of the lot.

Needs further testing:
The next logical area for testing is diagonal walls which do not create enclosed spaces.
Mad Poster
#1583 Old 17th Apr 2008 at 8:49 AM Last edited by niol : 17th Apr 2008 at 10:17 AM.
Maybe, swim-pool is involved.

It can have mesh or other component located outside of the swim-pool walls, may check more for it.
So, some might have been trimmed.

Enforced swim-pool formation at any border of a lot in-game can cause omission of swim-pool walls at the mattered border(s) and an odd scene. It can also cause alteration of grid point values around the affected region..


oops my bad, level room foundation is different from a stand-a-lone foundation wall.
I normally used the liberated foundation wall to line to the edge for the last grid row simply to avoid to build foundation.blocks to the edge.
http://www.modthesims2.com/member/s...ead.php?t=87464.
Maybe, after checking out this tutorial, you may recognise something, too. That's probably the major difference between the two.
The foundation tools takes more into considerations to arrange the foundation walls and the foundation floor tiles (with texture borrowed from the default fallback floor tile) and the "patterning logic".

To build perpendicular foundation walls at any border/edge with the foundation tools, protection strategy with other partitions like fences or default walls may be employed.
Yet, to allow the foundation wall categorised in the wall.txt script is an easier and efficient way.
The location should be at the programme folder"
...\EA GAMES\...[custom name]...\TSData\Res\Catalog\Scripts
" and the file is "
walls.txt
". and the following quote has the definition I'm using for the foundation wall...
Quote:
...

# foundation walls
wall 23 ### <-- WALL ID number
defaultPattern "foundationbrick"
wallThickness standard
mayChangeSurface true
mayAttachObjects true
mayCutAway true
requiresFlatBottom false
requiresFlatTop true
submersible true
deleteTool levelRoom
#notInCatalog
requiresSupportUnderneath false
thumbnailResource 0x499db772 0xe9261580
bearsLoad true
...



You may also check out the wall ID numbers to see if they may have appeared in WGRA files...

Anyway, default wall can replace the foundation wall if neither is a choice.

Maybe, my lot tests can be postponed.

Quote: Originally posted by Mootilda
....
Never thought that I'd say this, but I just love those Maxis-made lots! They are so tempermental and so quick to crash that they make excellent test lots.


totally agreed...
One horse disagreer of the Apocalypse
#1584 Old 17th Apr 2008 at 9:23 AM
Quote:
I seem to remember the phrase "another level below the ground"


That might have been me. However, something changed after one EP. I will open the game to firm up these details, but off the top of my head at one time there was grid over the water. Using move_objects, you could place objects on this grid so they were actually floating over the water. Then, after one EP, the objects would snap down to the bottom of the pool - there was no floor level over the water.

If I have this right, it means that rather than create an extra negative floor level, it's now just lowering the terrain sharply by unstitching the vertices.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Mad Poster
#1585 Old 17th Apr 2008 at 9:49 AM Last edited by niol : 17th Apr 2008 at 4:51 PM.
Quote: Originally posted by Inge Jones
That might have been me. However, something changed after one EP. I will open the game to firm up these details, but off the top of my head at one time there was grid over the water. Using move_objects, you could place objects on this grid so they were actually floating over the water. Then, after one EP, the objects would snap down to the bottom of the pool - there was no floor level over the water.

If I have this right, it means that rather than create an extra negative floor level, it's now just lowering the terrain sharply by unstitching the vertices.


The EP sounds EP5 Seasons to me. The swim-pool introduced in EP2 NL apparantly made the pool surface on the ground instead of an invisible "stage" on the underground level/story as in earlier game versions.
They altered that transparent "pool surface at the ground" for re-wallpapering.on swim-pool wall and re-tiling on the pool floor.

The sense of a water surface relies on the new poolsurface material and probably an another unrestricted invisible "stage"?

But, I think they did it in an ugly way instead of allowing us to move down to the underground story/level.
Alchemist
#1586 Old 17th Apr 2008 at 2:04 PM Last edited by aelflaed : 17th Apr 2008 at 2:28 PM.
Default Floortiles to the edge, windows rotated (1307)
I've submitted a basegame lot made with 1307.

In fact, I suddenly realise I forgot to note the version used in the description - have to fix it once it goes through the queue. (Fixed now)

edit - I just checked about the floortiles to the edge - yes, Mootilda, 1307 does allow the lot to be shrunk with floortiles at the very edge, at least on foundation and first-floor levels.

Interestingly, 1307 wouldn't let me rotate the house windows when they had been displaced by the shrinking. 1306 did, I specially noticed the change. What did you alter?

Wow, that was the fastest lot approval in history - about five minutes! Maybe someone was lying in wait for shrunk lots. I didn't even get to ask Plasticbox if I could steal his blurb - thanks anyway, hope you don't mind.

I'll check back tomorrow.
Site Helper
Original Poster
#1587 Old 17th Apr 2008 at 3:19 PM Last edited by Mootilda : 17th Apr 2008 at 3:39 PM.
Default Basements without the Slope
Quote: Originally posted by Inge Jones
That might have been me.
No, it wasn't you... I'm sure that I would have recognized your name.

I believe that it was information in someone's blog / journal... he had somehow managed to get a real basement (level = -1) in-game with cheats. However, he didn't supply any instructions, just a picture which didn't make any sense to me. It's possible that he may not have been able to reproduce his results.

I thought that I kept a copy of the picture anyway, for future reference. But, I can't seem to find it and my search terms are too general to find it.

Too bad that he didn't share the lot... a quick look at the WGRA would have been wonderful. Wait a minute! Maybe he *did* share it and I've been looking in the wrong place on my hard drive (my lot downloads are kept separate from my help files).

Quote: Originally posted by Inge Jones
If I have this right, it means that rather than create an extra negative floor level, it's now just lowering the terrain sharply by unstitching the vertices.
Could be, but FreeTime can definitely still handle level = -1. So, if a program were to produce a "correct" WGRA, even FreeTime should be able to handle it.
Site Helper
Original Poster
#1588 Old 17th Apr 2008 at 3:24 PM Last edited by Mootilda : 18th Apr 2008 at 12:39 PM. Reason: Results of Diff
Default Floortiles to the edge, windows rotated (1307)
Quote: Originally posted by aelflaed
I've submitted a basegame lot made with 1307.
Excellent!

I've added this to the first post, so that it will be easy to track everyone's work. Here's the link:
http://www.modthesims2.com/showthread.php?t=282179

Quote: Originally posted by aelflaed
Interestingly, 1307 wouldn't let me rotate the house windows when they had been displaced by the shrinking. 1306 did, I specially noticed the change. What did you alter?
I don't remember changing anything that would affect window placement and rotation... Let me diff the source code, just to be sure.

Update: I can't see anything in the code which would have affected this. The primary change was to remove the restrictions on edges which were not being shrunken. The only other change was better error messages.
Site Helper
Original Poster
#1589 Old 17th Apr 2008 at 3:38 PM Last edited by Mootilda : 17th Apr 2008 at 4:59 PM.
Default Walls Touching Edge; Roofs on Edge
Quote: Originally posted by niol
Maybe, swim-pool is involved.

It can have mesh or other component located outside of the swim-pool walls, may check more for it.
So, some might have been trimmed.
The LE isn't trimming anything, except for the 2D and 3D arrays.

Objects are being moved back onto the lot. (Well, except for that extra set of coordinates in the cAnimatable structure, which I haven't yet figured out how to parse. Seems to cause a jump away / jump back, but no crash.)

Anything else that will end up off the edge causes an abort of the shrinking process. (At least, if the LE can *detect* that it will end up off the edge. Remember the fence posts? It's possible that there are other less-used structures which the LE isn't checking.)

Quote: Originally posted by niol
To build perpendicular foundation walls at any border/edge with the foundation tools, protection strategy with other partitions like fences or default walls may be employed.
Thanks, I hadn't thought to try this technique. I will add this to my testing strategy for walls touching the edge.

Quote: Originally posted by niol
Yet, to allow the foundation wall categorised in the wall.txt script is an easier and efficient way.
The location should be at the programme folder"
...\EA GAMES\...[custom name]...\TSData\Res\Catalog\Scripts
" and the file is "
walls.txt
". and the following quote has the definition I'm using for the foundation wall...
I tried changing my wall.txt once and decided that I just don't want to make lots that aren't easily shareable... I hope that you'll be willing to take on the testing of this type of special wall, once I get 1.3.0.8 and / or 1.3.0.9 available for private testing. Have you done any testing of these special walls with 1.3.0.7? I would certainly appreciate any feedback before I release the shrinking code to the general public.

Quote: Originally posted by niol
You may also check out the wall ID numbers to see if they may have appeared in WGRA files...
Thanks. I'll look into that.

niol, you always have so much information in your posts! I hope that you don't mind if I take some time to read everything before I respond to the rest of your post.
Mad Poster
#1590 Old 17th Apr 2008 at 6:37 PM Last edited by niol : 18th Apr 2008 at 5:26 AM.
Quote: Originally posted by Mootilda
The LE isn't trimming anything, except for the 2D and 3D arrays.

Objects are being moved back onto the lot. (Well, except for that extra set of coordinates in the cAnimatable structure, which I haven't yet figured out how to parse. Seems to cause a jump away / jump back, but no crash.)

Anything else that will end up off the edge causes an abort of the shrinking process. (At least, if the LE can *detect* that it will end up off the edge. Remember the fence posts? It's possible that there are other less-used structures which the LE isn't checking.)


Sorry for my rushing. So, you meant the trimmed 2D and 3D arrays might not have matched with something unaltered for such change in the case of swim-pool?


Quote: Originally posted by Mootilda
Thanks, I hadn't thought to try this technique. I will add this to my testing strategy for walls touching the edge.

I tried changing my wall.txt once and decided that I just don't want to make lots that aren't easily shareable... I hope that you'll be willing to take on the testing of this type of special wall, once I get 1.3.0.8 and / or 1.3.0.9 available for private testing. Have you done any testing of these special walls with 1.3.0.7? I would certainly appreciate any feedback before I release the shrinking code to the general public.

Thanks. I'll look into that.


Glad you've found something useful.
As for the changes in wall.txt, it depends on what type of modifications in order to decide if the result of using such modification will require a user to have the same configuration.

Personally, I don't use or *(personally)*[added] recommend modifications that require other users to have in order to use shared lots made with such wall.txt modifications.

From what I know so far is that as long as one is not making additional walls (like Numenor's custom walls) or unlocking the swim-pool wall (crash-prone to the unmodded configuration), such unlocked partitions will appear and work in users' game without such modifications.

Like Mikeinside's "Easy Wall" which basically redefines 1 or 2 boolean values of the default wall (Wall 1)
http://mikeinside.modthesims2.com/hacks/walls.html ,
this type of modification can be really safe while users of lot made with those unlocked walls need no such modification to have those walls presented and run properly.
It took me about 1 year before I publicly say it's OK after I had played lots made with certain changes with unmodded wall.txt for several months.
I leanrt from Numenor's custom walls and used some of the in-game resources for the thunmnail icons, so if one has his additional walls, one may get confused with the icons used, yet the icon positions should be able to tell the uniqueness.

Thus, feel free to try out except the swim-pool walls.

As for swim-pool tricks,
http://mikeinside.modthesims2.com/b...ools/index.html
http://mikeinside.modthesims2.com/b...land/index.html

As for the attic walls, may check out post 3 of this thread,
http://www.modthesims2.com/showthread.php?t=106473


Quote: Originally posted by Mootilda
niol, you always have so much information in your posts! I hope that you don't mind if I take some time to read everything before I respond to the rest of your post.


No rush or worry, I can see that. I hope it's a relaxing environment here.
As for the infos and suppositions or else, they can re-enforce my claim "Just a crazy lot builder!".
Site Helper
Original Poster
#1591 Old 17th Apr 2008 at 7:04 PM
Quote: Originally posted by niol
Sorry for my rushing. So, you meant the trimmed 2D and 3D arrays might not have matched with something unaltered for such change in the case of swim-pool?
If there is a problem with something being trimmed, then it has to be in one of those two arrays, since those are the only things being trimmed.

The MikeInside tutorial has an interesting tidbit: the game considers a pool's location to be the smallest rectangle which will completely enclose the pool. This could explain the crashes with the diagonal pool sections which touch the edge of the lot.
Mad Poster
#1592 Old 17th Apr 2008 at 7:13 PM Last edited by niol : 17th Apr 2008 at 7:57 PM.
Quote: Originally posted by Mootilda
No, it wasn't you... I'm sure that I would have recognized your name.

I believe that it was information in someone's blog / journal... he had somehow managed to get a real basement (level = -1) in-game with cheats. However, he didn't supply any instructions, just a picture which didn't make any sense to me. It's possible that he may not have been able to reproduce his results.

I thought that I kept a copy of the picture anyway, for future reference. But, I can't seem to find it and my search terms are too general to find it.

Too bad that he didn't share the lot... a quick look at the WGRA would have been wonderful. Wait a minute! Maybe he *did* share it and I've been looking in the wrong place on my hard drive (my lot downloads are kept separate from my help files).

Could be, but FreeTime can definitely still handle level = -1. So, if a program were to produce a "correct" WGRA, even FreeTime should be able to handle it.


Quote: Originally posted by V1ND1CARE's blog
I always knew that another grid level existed beneath the ground floor.


Unsure if you meant V1ND1CARE
http://www.modthesims2.com/member/V1ND1CARE
http://www.modthesims2.com/journal....howjournal&j=63
, she had utilised this trick of hers.
http://www.modthesims2.com/member/s...ad.php?t=190663
By means of the undo-redo scripting, the values of grid points in the 3D array instance 1 were recalculated. So, I've guessed the "height limit" was set into the relevant build tools. And I've been thinking it sucks Maxis added such limit.

Anyway, I'm unsure how she got there.
One supposition is to get grid points of upper levels/stories sunk under the ground or get the swimpool raise up to re-decorate it?
Mad Poster
#1593 Old 17th Apr 2008 at 7:52 PM Last edited by niol : 18th Apr 2008 at 12:42 PM.
Quote: Originally posted by Mootilda
If there is a problem with something being trimmed, then it has to be in one of those two arrays, since those are the only things being trimmed.

The MikeInside tutorial has an interesting tidbit: the game considers a pool's location to be the smallest rectangle which will completely enclose the pool. This could explain the crashes with the diagonal pool sections which touch the edge of the lot.


Maybe, I should also link 2 more swim-pool tutorials to help you gain some more insights.
http://www.sims2wiki.info/wiki.php?...Swimmable_Lakes
http://www.modthesims2.com/showthread.php?t=83325
Metranisome tutorial is no longer available online due to NL changes in the swim-pool structure, but I have this tutorial copy in my another storage HD. It's only useful for our purpose here to study the base game and UNI swim-pool though. I was lucky enough to have learnt and utilised it in a lot (Meithjeuloi) I made for a group project,
http://www.modthesims2.com/member/s...249&postcount=9
if you may find such pool version interesting, you may check out that lot in a base game or UNI. Users could delete the pool floor and pool walls leaving out the other swim-pool essences hanging around for various usages. :D
That feature was devastated in the swim-pool structural reform since NL.

Remember, the circular pool corner is actually an object added to a pool block product. Such graphical illusion trick had started to become a phenomenal trend for curved custom build features since Numenor made his curved set of wall-windows back to the Autumn of 2005.
http://www.modthesims2.com/showthread.php?t=70222
The OFB cone, dome, octagonal roofs... etc...

The swim-pool issue can be a deeper water when different versions of it are counted.
Major versions:
1. the base game - EP1 UNI
2. EP2 NL - EP4 Pets
3. EP5 Seasons - EP7 FT

There were major structural changes since NL and then Seasons including the pool material shader sources and floor and wall material shader sources.
Numenor's AGS or BGS may be a nice companion for such "investigation"/"dig-in".

As a fallback suggestion, may find ways to skip the swim-pool or even "ban it" to avoid "extra tedious" work.
Yet, it's nice to gain some insight about it for file systems in a lot package file.
Screenshots
Site Helper
Original Poster
#1594 Old 17th Apr 2008 at 8:27 PM
Quote: Originally posted by niol
Unsure if you meant V1ND1CARE
That's it! I can't believe that you found it. Thanks.
Alchemist
#1595 Old 18th Apr 2008 at 2:05 AM Last edited by aelflaed : 18th Apr 2008 at 2:16 AM.
Default Modified wall.txt
Quote: Originally posted by Mootilda
I tried changing my wall.txt once and decided that I just don't want to make lots that aren't easily shareable... I hope that you'll be willing to take on the testing of this type of special wall, once I get 1.3.0.8 and / or 1.3.0.9 available for private testing. Have you done any testing of these special walls with 1.3.0.7? I would certainly appreciate any feedback before I release the shrinking code to the general public.
I use Numenor's unleveled walls, and the released attic walls Niol once helped me with.

The Georgian lot you have just downloaded includes Numenor's walls already - that's how the basement walls cut away so you can see the kitchen better. As far as I understand it, those are completely shareable, and function for others just as they do when I create the lot. However, the downloader doesn't get anything in their wall.txt altered, so they can't build for themselves using those modified walls.

So I suppose you can say at least some modified walls are functioning with LotExpander already.

Most of the Georgian basement is normal game walls and foundation, but one section (front left) is done with the unleveled wall, so that it drops down at that section only. Let me know if it doesn't!

I hope I'm right, anyway. I've been sharing that wall for ages in the belief that it worked without anyone else needing to modify anything.
Mad Poster
#1596 Old 18th Apr 2008 at 5:43 AM Last edited by niol : 18th Apr 2008 at 7:35 AM.
Quote:
... However, the downloader doesn't get anything in their wall.txt altered, so they can't build for themselves using those modified walls.
...

As much as I know, Numenor's strategy on SCRIPTORIUM is to make once and the only once modification on the wall.txt file to have it accept any upcoming custom wall script(s) in a given corresponding folder in the case of the wall.txt script. a shortcut is made back to the downloads folder for easy access and mangement. The same strategy is applied to other custom scripts for modular stairs, fireplace, etc... It helps simplify the sharing processes of such related build features and contents, especially those unfamiliar to script modding by their own selves. An effect of it is to allow more people to use custom scripts in a simpler way.
I've been glad he had shared his solution, and I personally have it manually installed treasuring it. I've even made a bit of personal changes for my own usages on custom arch-fences, and he also suggested me so when we discussed about custom arch-fences.

As far as I know, Numenor's custom walls have safe changes and settings, and it won't cause any crash or corruption to lots. I've not heard or read of anything like that before.
The biggest difference between Mikeinside's Easy Wall and Numenor's unlevelled wall is that the former has the modification directly on the default Wall 1 wall while the latter has those same modified settings on an additional wall called "unlevelled wall". So, the latter wouldn't even affect the default wall a bit unless there is any relevant defect(s) in the file system and the build tool infra-structure. But, it's been so far so good since both came out.


Well when it comes to custom wall scripts , I've to clarify...

1. although I personally do not recommend "modifications that require other users to have in order to use shared lots made with such wall.txt modifications", I do add that into a list of choices other people can have coz I believe it's up to the users but not me to decide whether to use it for their usages.

2. I do think and know both will work out well, so both are fine, and it's only me who personally decide to use 1 rather than the another one. In other words, that's just my very own preference for my own usages, and that is not a principle to others.

3. back into the context when I said that, I was trying to assure Mootilda that the foundation wall and the attic wall definitions I suggested needn't any wall.txt modification in the user end(s).
Any further supposition on that will become obsolete simply because it's out of context.

4. when without such corresponding custom scripts, custom additional walls will be converted into the fall-back partition black iron fence in the base game or EP1 UNI, and, I read that, became nullified (any confirmation, please? Thanks in advance. ) since EP2 NL. I started not to use custom walls before EP2 NL not because it's of any problem/trouble but simply because I've learnt how to mod the wall.txt script for my own usages and so I no longer need them.

My clarification is to avoid any unnecessary further issues of "what/which is the best" which will be completely OT here. Besides, I don't think either one has to be the best, so I'm not gonna argue over it.
And, I'm not saying this simply because of what aelflaed said.
Mad Poster
#1597 Old 18th Apr 2008 at 7:15 AM
Quote:
mayCutAway true

I have this setting for my foundation walls, so they can cut away in my game copy.
Note this only affects my own game copy on how to present the foundation wall but not others. It won't affect the structure of the foundation wall.
Alchemist
#1598 Old 18th Apr 2008 at 8:09 AM Last edited by aelflaed : 18th Apr 2008 at 8:32 AM.
Quote: Originally posted by niol
I have this setting for my foundation walls, so they can cut away in my game copy.
Note this only affects my own game copy on how to present the foundation wall but not others. It won't affect the structure of the foundation wall.
...which is why I use the unlevelled wall for the same purpose, since I want a house to be shared, that will work the same for the downloader. Maybe it hasn't been working that way, and no one has reported it. Oh well.

Ah, yes, just went and re-read Numenor's information...looks like I have misunderstood it in the past. Maybe everyone using those houses already uses the walls anyway. My mistake. Must go and note it on the thread, since I forgot to before.
Mad Poster
#1599 Old 18th Apr 2008 at 11:46 AM Last edited by niol : 18th Apr 2008 at 4:45 PM.
Quote: Originally posted by niol fixed
...
Sorry for my rushing. So, you meant the trimmed 2D and 3D arrays might not have matched with something unaltered for such change in the case of swim-pool?
...

I also wonder...
the trimmed 2D and 3D arrays might not have matched with something unaltered but moved for such change in the case of swim-pool...


Quote: Originally posted by Mootilda
...
Just for fun, I tried Level 0 -> Level 1. Interesting results: the shadow stays on the ground level, even though the walls are 1 floor up. See attached picture. The shadow was surprisingly resiliant, too. It stuck around even after I deleted the level 1 walls. Had to recreate level 0 walls around the shadow, then delete those walls, to get rid of the shadow.

Cool, that may show how the wall tools add and remove data for shadow. Since the level number has been altered, the action with the wall tools on the upper level wouldn't affect the data for shadow at the "lower" level.
So, at least, the shadow can be switched now...? :D

Anyway, what would happen if a part of the shadow made to a lot's edge?



Quote: Originally posted by Mootilda
...
So, I tried fixing the crashing Level 1 -> -1 lot by setting the level to 0. Got an enclosed room with no shadow. Can't see any shadow on the next level up, but if I add some walls, they are in shadow, even though they they do not enclose an area.

This may have implications for the indoor / outdoor issue.

What type of shadow?
The global outdoor shadow of a wall, the darkening cell shadowing, or else?
the shadow on an imagined room above that region?
the walls were added on the ground level?
which level is "an enclosed room with no shadow" on?

Lol, I know I'm asking too much..., and I got blurry and confused when I did the story number modding at that time.

I'll try to re-simulate your routine.
[/quote]


Quote: Originally posted by Mootilda
...
Normal basement walls are at 0, which is ground level. That's why the terrain slope exists: the game has to get the normal ground level down to the basement level. I assume that a level of -1 gets around this requirement: because the ground level stays the same and the basement level is under the ground, the game has no requirement to slope the land down.

However, if you run the debug version attached here on a house with a pool, you will see that the pool walls are in different WGRA instances than the house walls. So, I suspect that I (at least) need to use different instances of WGRA when changing from 0 (or greater) to -1. There's also a good probability that the unknowns in the List of Walls need to change, too.

Sure wish that I could find that information about below-ground basements... I seem to remember the phrase "another level below the ground", but it's not helping me much. Ah, well... I'll just keep looking, I guess...


A basic new empty lot has the ground floor grid layer and the first upper floor grid layer.

Whenever the wall tools, the mansard roof tool, the foundation tools except the stage tool, the dormer tool, an object that supports or requires an upper floor grid, or the alike activate the upper floor grid, a whole set of floor grid layer of are added. The story/level number is incremented by 1. This will continue until it reaches the temporarily saved max level number.

The dormer tool can break 1 level upper.

The cheat introduced in EP1 UNI allows users to variate the limit value in-lot in-game to make buildings of >5 level/story.

The whole swim-pool product is added when the swim-pool tool acts on the lot as a successful drag is made.

In the base game and EP1 UNI, the swimpool surface layer of the swim-pool wouldn't respond to the deformation of the ground with the cheat "boolprop constrainfloorelevation false".
However, the underground grid layer will respond like an inverted grid layer of the above ground grid layer.
http://thesims2.ea.com/exchange/sto...&user_id=197655
http://thesims2.ea.com/exchange/sto...&user_id=197655

The cheat may mean there is at least an algorithm to limit how the grid points distance from one another in order to form the concept of a floor in TS2. Here, this cheat will enable certain degrees of flexibility on how these grid points distance from one another "vertically" in the whole 3D illusion.

BTW, the value right after the lot width and height is the story/level number of the floor grid layer. In other words, it's the number count for the grid layers in 3D array files.
For WGRA files, it may so help define where the partition coordinate values mean in the imagined or displayed 3D space.



Anyway, just uploaded the testlot, but I only gave out warnings
1. to use a new experimental neighbourhood
2. to know how to test it
3. to report if any crash

I didn't talk about the known issues deliberately.
Site Helper
Original Poster
#1600 Old 18th Apr 2008 at 12:42 PM Last edited by Mootilda : 18th Apr 2008 at 3:19 PM.
Default Shadows and Lighting; Swimming Pools
Quote: Originally posted by niol
Remember, the circular pool corner is actually an object added to a pool block product. Such graphical illusion trick had started to become a phenomenal trend for curved custom build features since Numenor made his curved set of wall-windows back to the Autumn of 2005.
I'm afraid that I can't remember it, since I never knew it. I don't even know what a "pool block product" is...?

However, I would appreciate any information that you have about how the curved pool section is stored internally in the lot package; I still haven't fixed the curved pool bug.

Quote: Originally posted by niol
"Originally Posted by Mootilda
...
Sorry for my rushing. So, you meant the trimmed 2D and 3D arrays might not have matched with something unaltered for such change in the case of swim-pool?"
...
Hey, that's not my quote, that's your quote!

Quote: Originally posted by niol
I also wonder...
the trimmed 2D and 3D arrays might not have matched with something unaltered but moved for such change in the case of swim-pool...
As you know, objects which will end up off of the newly sized lot are instead moved back onto the lot. If the swimming pool has multiple pieces, some of which remain on the lot and some of which are on the area being removed during the shrinking process, then they could easily end up in the wrong position, wrt each other.

I believe that we discussed this back when we were trying to decide whether the code to move objects back onto the lot would work.

Unfortunately, I have no easy solution for this problem. I believe that moving objects back onto the lot is better than allowing things to remain in their original location, when that location becomes invalid. Attempting to handle specific objects differently could be a coding nightmare.

However, this may explain why the 1-tile limit makes shruken lots much more stable.

Quote: Originally posted by niol
Anyway, what would happen if a part of the shadow made to a lot's edge?
I haven't tested this yet. Unfortunately, my coding / testing is getting far behind your suggestions. I suppose that I need to go back over the last couple day's posts and try to collect a list of to-do items. It's too bad that I don't have access to the Journal feature here.

Quote: Originally posted by niol
What type of shadow?
The global outdoor shadow of a wall, the darkening cell shadowing, or else?
the shadow on an imagined room above that region?
the walls were added on the ground level?
which level is "an enclosed room with no shadow" on?
Level 1 had an "enclosed room" shadow, which was maintained even when the walls were moved down to level 0. However, the shadow was invisible until one wall segment was built on level 1. Then, the entire level-1 room shadow was visible, even though there was no enclosed room on level 1. Also note that the shadow appeared without the normal "calculating the room shadow" lag.

Unfortunately, that lot is long gone. However, if I ever recreate that test, I will post a better picture for you, with the room shadow on level 1 clearly visible.

The important thing about these tests is that they point to a "shadows and lighting" array in the lot package. The algorithm for determining whether something is inside or outside is not necessarily run when loading a lot. Instead it is run when wall segments are added to or removed from a lot, and when the light changes because of the day / night time change.

Since I was getting the crashes when loading the Pleasant house, this implies that there may be two separate problems: the lighting problem and something else which occurs during the loading process.

This means that I need to find some way to more consistently test the lighting issue, to see whether we are making any progress on solving it.

Update:

I tested whether the "crash on load" was a problem with the swimming pool by removing the swimming pool, but retaining diagonal walls which touch the edge and enclose spaces. Result: crash on load. So, either bits of the pool stick around even after it's deleted in-game, or the crash on load is not (always) caused by the swimming pool.
Page 64 of 97
Back to top