[ARCHIVE] SimAntics & World Development

Status
Not open for further replies.
Not at all relevant, but not exactly. The object's code runs on the sim's thread, but it is still most often provided by the object.
 
I'm currently working on those primitives. Right now the get regular meal interaction almost works, there's just many many routing slot bugs so the sim disappears after taking the food out of the fridge. Also, the sim finishes the food instantly and fails trying to wash it in the sink due to a routing slot bug. A similar thing happens with snacks, but the sim tries to put them in the outside bin and the game crashes trying to "find location for"... It's also worth noting that now the flood behaviours semi work (still not sure if it's visible...)
 
I'm going to need to restructure the world renderer to allow drawing an object at any position, as the current system will not allow objects to follow the hand easily.
 
upload_2014-3-11_17-52-8.png
WIP - it currently sort of functions but the object is still stuck in the static layer and I still haven't fixed the placement system to what I want it to be. I have no idea how to transfer an object to the dynamic layer with the current setup (array of render info in world2d (not accessable from component)? why not have it per component IN the component??)
 
Not now, zack! I'll add that when the current objects are working and I need to test some more.
 
OK, now light meal is sorta working. Right now the sim just eats it once, goes "the fuck am i supposed to be doing" and attempts to drop it (crashing the game). Regular meal just keeps spawning snacks as if there's no prep surface on the lot...
 
He kinda looks at the ground then shakes his head with his hands in the air. It thinks there's a routing failure to the sink for whatever reason.
 
View attachment 62
WIP - it currently sort of functions but the object is still stuck in the static layer and I still haven't fixed the placement system to what I want it to be. I have no idea how to transfer an object to the dynamic layer with the current setup (array of render info in world2d (not accessable from component)? why not have it per component IN the component??)

Been a while since I looked at the code but I think my plan was to add something to the damage list to indicate the UI item needs to swap list and then have the render loop (or pre-render loop) that consumes the damage list swap lists and repaint static. Lots of other ways to do it though :) but this felt close to my understanding of how TS1 worked.

Having a flag in the UI is fine but you need to track the changes over time to know when to repaint the static layers. Otherwise there is no point to having a static layer (its there for performance / caching) Hence the damage list.
 
The damage list makes sense, but the render info on what layer the element should be painted on should be included with the component. I think the last time I tried to add damage to turn it to dynamic it freaked out about the render info not existing in that array or something, so to workaround i just refreshed the static layer on every graphics refresh... not the best idea.

I'll probably need to look into tso.world a bit more before doing anything more involving the containment slots, since objects on avatars definitely need to be dynamic, objects that have changed graphic in the past few seconds should be dynamic, etc. I have hacked the contained object to be dynamic and the positioning is working fine, but there's a weird lack of z sorting that wasn't present when rendering to the static layer.

I think the original game repainted entire (all layers) segments of the screen where changes occured. You can see this if you manage to screw up directdraw somehow by using an application that renders over the game semitransparent (my volume control does this), only rectangular segments around dynamic objects update to save some render time, but everything behind them is still redrawn.
 
Hehe, it's probably worth mentioning that the hat rack object works perfectly:

upload_2014-3-12_0-20-0.pngupload_2014-3-12_0-20-42.pngupload_2014-3-12_0-22-31.png
 
Almost have mouse-object hitdetection working. Right now for some reason my new "object id output" techniques are still returning the sprite's red channel, despite never referencing anything other than alpha so it's returning bogus object ids. It's probably somehow calling the wrong pixel shader still...
 
OK, I got it working! Should be able to get pie menus working quickly.
 
Status
Not open for further replies.
Back
Top