[ARCHIVE] SimAntics & World Development

Status
Not open for further replies.
Yes, the sounds are there. I set up an enum for this a while back called "UISounds". See UISounds.ObjectPlace and UISounds.ObjectRotate.
 
Fixed it - I wasn't sending the correct positions to the position tester for multi-tile objects. All of the objects in the lot are positioned using these tests now, so the obvious test is to see if all the doors, windows and paintings are present after the validity check. Lo and behold, they are!

upload_2015-2-8_18-20-52.png

The cannon also no longer spawns as it was intersecting a few walls.
 
Fixed it - I wasn't sending the correct positions to the position tester for multi-tile objects. All of the objects in the lot are positioned using these tests now, so the obvious test is to see if all the doors, windows and paintings are present after the validity check. Lo and behold, they are!

View attachment 430

The cannon also no longer spawns as it was intersecting a few walls.

Great! :D When will we be able to try this out? :)
 
What about this one? It's next to doors, so is it even supposed to spawn?
ShbTeV0.png
 
Object-Object collision is not currently considered.


What do you mean is not considerer, right now is possible to add object onto other, but also the characters are objects, that means, no collision when an object is placed in same position as character??
 
Objects can currently be placed inside each other, yes.

I'll probably need to redefine how object positions work. Right now I have this complicated system set up where everything has a hilariously different way to handle its position and it's killing me. The problem is as follows:
  • Objects are placed in whole tile increments
  • Avatars use 16th subtiles
  • Objects also use subtiles (but only when "snap to" moved, eg. roaches, or in a slot.)
  • Right now we are using floats in the subtile case. This makes things look 200x less ugly - but is not accurate (1/16 + 1/16 may not be exactly 1/8) and is a potential risk for online gameplay.
  • Objects have a hilariously complicated setup for managing positions with the blueprint system, where they read back info from the blueprints occasionally. I want TSO.World to just be the renderer and visual representation - I don't think it should contain accessible object positions. The positions should be controlled entirely by the VM.
  • We need "cursor objects" which do not affect any objects on the map but can still check collision with other objects for buy mode to work. These objects should also not execute anything other than "init", and must not modify any other objects. (do the objects already avoid this?)
  • Cursor objects occasionally need to be placed in real slots - but the real object should not register the cursor object as being in the slot.
Solution plan:
  • All objects use 16th subtiles. "-1" x and y is off map. x and y will be position in short.
  • All objects also have a "visual position", which can be modified and different from the above. If it exists, it is used instead. This can be used for smooth positioning of held objects while keeping them physically offscreen when the place position is incorrect. It can also be used for smooth walking of avatars. This is one way and will not be used in the VM.
  • Cursor objects will have special handling for slots, collision etc.
  • The blueprint will be... uh... fuck
 
bjects are placed in whole tile increments
How much quantity are this tile increments??
Objects have a hilariously complicated setup for managing positions with the blueprint system
Yes, i think too, but also in sims 1, seems worst, objects position are stored in a chunk called OBJT (Objet Table???) in the house files, this hasnt been decoced
Cursor objects will have special handling for slots, collision etc.
There are cursor objects in cursors.iff, dont know if that is what youre talking about...

If is not blueprint, will be a custom format, becuase what else can be...
 
Tiles are split into 16x16.

I was talking about PD's internal "blueprint" system, not the XML format.

Cursor objects are the objects used in buy mode like the wall tile cursor, the boxes under tiles etc. My idea though - is that objects held by the cursor will also have this state, so that they won't affect objects on the actual lot and cause a desync.
 
Based on sims 1, i can only say that objects held by cursor object are temporally stored into the world and do not affect the current lot, becuase if you do pass the object onto another if will only change their state ("avaliable position" flag????)
 

Attachments

  • simsobjects.png
    simsobjects.png
    390.6 KB · Views: 24
I know that Blayer98 asked this a little earlier and I'm sorry to be repeating him but when do you think we will be able to try it out? :) (In its current state.)
 
I need to rewrite a lot of code before I can make this stable. I've been working pretty hard on this lately so don't expect it's going to be like this the whole way through.
 
Actually, since it takes no effort to pack here's the latest build:
https://dl.dropboxusercontent.com/u/12239448/Debug.rar
You'll be able to crash this every way under the sun. The object display is broken when moving objects into bad positions (only updates when static layer updates), it only really works for good positions. The object does not turn red when it's in a bad position. You can't place things on tables. The list goes on and on...

The object placer will not work entirely as expected, since it's still preliminary. Objects you are holding will actually run main routines - and sims can actually interact with them - which will definitely break everything if you try it.
 
Actually, since it takes no effort to pack here's the latest build:
https://dl.dropboxusercontent.com/u/12239448/Debug.rar
You'll be able to crash this every way under the sun. The object display is broken when moving objects into bad positions (only updates when static layer updates), it only really works for good positions. The object does not turn red when it's in a bad position. You can't place things on tables. The list goes on and on...

The object placer will not work entirely as expected, since it's still preliminary. Objects you are holding will actually run main routines - and sims can actually interact with them - which will definitely break everything if you try it.
sweet nostalgia!......thanks for compiling this for us anyhow, it's great to see all them items in the buy menu again after all these years! :D
 
Last edited:
Status
Not open for further replies.
Back
Top