Entire TSO CAS and other things in HTML5

Discussion in 'Other TSO related projects' started by RHY3756547, Sep 30, 2013.

  1. AidanM

    AidanM Member

    I can't believe all the progress you're making RHY! Streets weren't all over the map from what I remember, and have no idea why EA made random strips and culdesacs. Would be cool to see throughout a map would give TSO a Sim City feel.
  2. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Unfortunately those are just old beta mockups, the city view never looked that good. :p
  3. andao11

    andao11 Member

    Perfect! :D

    Good luck in your project!
    I'm happy to see good news about it! :D
  4. salvadorc17

    salvadorc17 New Member

    Good images, where do you take it, because i want to see more real progress XD
  5. AidanM

    AidanM Member

    Do objects build off each other, or is each one unique and requires to be cracked individually? I can imagine group objects are going to be the most difficult, maybe skill objects since skill speed is based off the amount of participants.
  6. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Objects all use SimAntics, all objects can access each others' subroutines easily and this is used to construct global subroutines which allow objects to control things on a grand scale. The Sims Online expands on this by 1. setting up a system to sync client VMs with a server one and 2. adding some extra primitives for online jobs.

    There's an object called Skill Tracker (GUID 0x4A0C562F) in all lots which I believe controls skilling speeds across multiple skilling objects. There's also an object called Skill Degrade (GUID 0x534564D5) which I think controls skills expiring over time (assuming skills don't degrade when you're not on a lot)
  7. AidanM

    AidanM Member

    Skills degrade over time whether their online,offline, or floating in city view. However they may degrade quicker when one is in a lot. So I'm assuming there's a GUID for single money object payouts too, as the more people jamming, gnoming, calling, etc the better payout.
  8. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    I'm currently linking the matchmaker into the CAS demo so that it accesses the same local game resources as it and so that I can include the UCP + get everything in the one program. First though I'll need to set up the system for creating dialogs.
  9. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    I have dialog type uis scripts working:
    [​IMG]

    (missing list box and just content that is in general reliant the game controlling it)
    To get the ok cancel buttons to work I had to make imageless buttons implicitly use the default button image, but that seems to have side effects for SAS:

    [​IMG]

    The login dialog and most other dialogs do not have UI scripts and so I have to generate them at runtime. I'll make a system for doing that next. The UCP currently renders perfectly (with no money and time, of course):

    [​IMG]
  10. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    [​IMG]
    SAS is looking more or less correct now, it's currently reading my "sims" from a precoded JSON array:

    Code:
    	var simsCache = [
    	{
    		name: "TestSim", 
    		body: 0x0000024c, 
    		head: 0x000003a0, 
    		skin: "l", 
    		city: "Test Center 231,006", 
    		cityID: 13, 
    		cityServer: null, //not important now
    		houseName: null, 
    		houseID: null, 
    		desc: "This is a test sim!"
    	} 
    		]
    That body and head is that of the proxy sim that appears when your avatar data is missing. The tabs don't currently work and none of the buttons actually do anything yet. I'll try to link it into CAS tomorrow so you can create sims and view them in SAS.
  11. andao11

    andao11 Member

    OMG!!!!
    Congratulations!!!
  12. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    What city do you want to live in?

    [​IMG]
  13. AidanM

    AidanM Member

    Interhogan *Cough, Cough* Interhogan


    Amazing work RHY!
  14. andao11

    andao11 Member

    Alphaville! :3
  15. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    lol, the post was meant to show how I could open like 20 of the dialogs and that there was no way to close them... That's fixed now though, and I think the resources are unloading correctly when transitioning to CAS. Not sure about the <audio> elements that control the music, I think I need to do something to the blob url to unload it.

    I'm controlling the music with audio elements instead of the game's main AudioContext because the browser would try to decode the whole audio file at once before playing it if I loaded it as an AudioBuffer, blocking the game's execution for around 5-10 seconds. The UI and HIT part of the simulator will play sounds via AudioContext, since most of the audio files are small and will be loaded when initially loading the lot's objects.

    I'll have to make another bogus list for cities (which would again in the future be downloaded from a server to contain the actual information) to test the cityselector. Right now I'll just make CAS able to replace the sims on the SAS screen as a test, even though the real game goes straight into the city after you finish creating a sim.
  16. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Some files corrupted while I was testing, so I decided to pretty up the installer before running it again:
    [​IMG]
    It reads some files from the real installer which should be in the folder with the cabs, so again these images are not bundled with the client.

    The font used is Comic Sans MS, which is surprisingly similar to the sims font. One weird thing is that all browser font rendering always seems to be shorter than it appears when I'm protoyping with Fireworks.
  17. Afr0

    Afr0 Well-Known Member

    Remember to update the wiki when/if you get around to implementing the VM when/if you discover new things!
  18. xezno

    xezno Member

    URLs dont work....... wierd.
  19. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    [​IMG]

    Can now fill the (offline) SAS slots with characters created in CAS. Description boxes are now rendering correctly with scrolling. Next thing I'll need to do is implement the general puropse dialog boxes. (ok, yes/no (or ok/cancel), loading dialog (used in a few places) and login (needs to be hard coded, not actually important right now as the game will be running in an offline debug mode for quite some time...)
  20. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Here's the Yes/No dialogs in action. I'm not sure if Yes is always on the left or if it's just flipped for retiring a sim because they don't want anyone to accidentally click yes...

    [​IMG]

    OK and OK/Cancel basically just reference different strings with the same backend. Right now the function is called like:

    gameUI.addYesNoDialog(title, body, width, mode, yesCallback, noCallback)

    where title and body are either literal strings or are localized uitext strings, in which case you input an object in the format: {table:169,index:8} (for stringtable 169, string 8)

    mode is 0 for OK, 1 for Yes/No, 2 for OK/Cancel. For mode 0, noCallback is ignored.

    The window looks weird because I'm in 16 bit mode to mess around with real TSO; that's what a chrome window looks like when aero is disabled.

Share This Page