Sim Theme Park/Theme Park World Online Functions

Discussion in 'Programming' started by Blayer98, Jul 10, 2015.

  1. Blayer98

    Blayer98 Active Member

    Here's a load of hex code I found in the main wearasr.dll:
    Code:
    4C 43 5F 54 49 4D 45 00 4C 43 5F 4E 55 4D 45 52 49 43 00 00 4C 43 5F 4D 4F 4E 45 54 41 52 59 00 4C 43 5F 43 54 59 50 45 00 00 00 00 4C 43 5F 43 4F 4C 4C 41 54 45 00 00 4C 43 5F 41 4C 4C 00 00 2E 00 00 00 50 61 72 61 67 75 61 79 00 00 00 00 55 72 75 67 75 61 79 00 43 68 69 6C 65 00 00 00 45 63 75 61 64 6F 72 00 41 72 67 65 6E 74 69 6E 61 00 00 00 50 65 72 75 00 00 00 00 43 6F 6C 6F 6D 62 69 61 00 00 00 00 56 65 6E 65 7A 75 65 6C 61 00 00 00 44 6F 6D 69 6E 69 63 61 6E 20 52 65 70 75 62 6C 69 63 00 00 53 6F 75 74 68 20 41 66 72 69 63 61 00 00 00 00 50 61 6E 61 6D 61 00 00 4C 75 78 65 6D 62 6F 75 72 67 00 00 43 6F 73 74 61 20 52 69 63 61 00 00 53 77 69 74 7A 65 72 6C 61 6E 64 00 47 75 61 74 65 6D 61 6C 61 00 00 00 43 61 6E 61 64 61 00 00 53 70 61 6E 69 73 68 20 2D 20 4D 6F 64 65 72 6E 20 53 6F 72 74 00 00 00 41 75 73 74 72 61 6C 69 61 00 00 00 45 6E 67 6C 69 73 68 00 41 75 73 74 72 69 61 00 47 65 72 6D 61 6E 00 00 42 65 6C 67 69 75 6D 00 4D 65 78 69 63 6F 00 00 53 70 61 6E 69 73 68 00 42 61 73 71 75 65 00 00 53 77 65 64 65 6E 00 00 53 77 65 64 69 73 68 00 49 63 65 6C 61 6E 64 00 49 63 65 6C 61 6E 64 69 63 00 00 00 46 72 61 6E 63 65 00 00 46 72 65 6E 63 68 00 00 46 69 6E 6C 61 6E 64 00 46 69 6E 6E 69 73 68 00 53 70 61 69 6E 00 00 00 53 70 61 6E 69 73 68 20 2D 20 54 72 61 64 69 74 69 6F 6E 61 6C 20 53 6F 72 74 00 00 75 6E 69 74 65 64 2D 73 74 61 74 65 73 00 00 00 75 6E 69 74 65 64 2D 6B 69 6E 67 64 6F 6D 00 00 74 72 69 6E 69 64 61 64 20 26 20 74 6F 62 61 67 6F 00 00 00 73 6F 75 74 68 2D 6B 6F 72 65 61 00 73 6F 75 74 68 2D 61 66 72 69 63 61 00 00 00 00 73 6F 75 74 68 20 6B 6F 72 65 61 00 73 6F 75 74 68 20 61 66 72 69 63 61 00 00 00 00 73 6C 6F 76 61 6B 00 00 70 75 65 72 74 6F 2D 72 69 63 6F 00 70 72 2D 63 68 69 6E 61 00 00 00 00 70 72 20 63 68 69 6E 61 00 00 00 00 6E 7A 00 00 6E 65 77 2D 7A 65 61 6C 61 6E 64 00 68 6F 6E 67 2D 6B 6F 6E 67 00 00 00 68 6F 6C 6C 61 6E 64 00 67 72 65 61 74 20 62 72 69 74 61 69 6E 00 00 00 65 6E 67 6C 61 6E 64 00 63 7A 65 63 68 00 00 00 63 68 69 6E 61 00 00 00 62 72 69 74 61 69 6E 00 61 6D 65 72 69 63 61 00 75 73 61 00 75 73 00 00 75 6B 00 00 73 77 69 73 73 00 00 00 73 77 65 64 69 73 68 2D 66 69 6E 6C 61 6E 64 00 73 70 61 6E 69 73 68 2D 76 65 6E 65 7A 75 65 6C 61 00 00 00 73 70 61 6E 69 73 68 2D 75 72 75 67 75 61 79 00 73 70 61 6E 69 73 68 2D 70 75 65 72 74 6F 20 72 69 63 6F 00 73 70 61 6E 69 73 68 2D 70 65 72 75 00 00 00 00 73 70 61 6E 69 73 68 2D 70 61 72 61 67 75 61 79 00 00 00 00 73 70 61 6E 69 73 68 2D 70 61 6E 61 6D 61 00 00 73 70 61 6E 69 73 68 2D 6E 69 63 61 72 61 67 75 61 00 00 00 73 70 61 6E 69 73 68 2D 6D 6F 64 65 72 6E 00 00 73 70 61 6E 69 73 68 2D 6D 65 78 69 63 61 6E 00 73 70 61 6E 69 73 68 2D 68 6F 6E 64 75 72 61 73 00 00 00 00 73 70 61 6E 69 73 68 2D 67 75 61 74 65 6D 61 6C 61 00 00 00 73 70 61 6E 69 73 68 2D 65 6C 20 73 61 6C 76 61 64 6F 72 00 73 70 61 6E 69 73 68 2D 65 63 75 61 64 6F 72 00 73 70 61 6E 69 73 68 2D 64 6F 6D 69 6E 69 63 61 6E 20 72 65 70 75 62 6C 69 63 00 00 73 70 61 6E 69 73 68 2D 63 6F 73 74 61 20 72 69 63 61 00 00 73 70 61 6E 69 73 68 2D 63 6F 6C 6F 6D 62 69 61 00 00 00 00 73 70 61 6E 69 73 68 2D 63 68 69 6C 65 00 00 00 73 70 61 6E 69 73 68 2D 62 6F 6C 69 76 69 61 00 73 70 61 6E 69 73 68 2D 61 72 67 65 6E 74 69 6E 61 00 00 00 70 6F 72 74 75 67 75 65 73 65 2D 62 72 61 7A 69 6C 69 61 6E 00 00 00 00 6E 6F 72 77 65 67 69 61 6E 2D 6E 79 6E 6F 72 73 6B 00 00 00 6E 6F 72 77 65 67 69 61 6E 2D 62 6F 6B 6D 61 6C 00 00 00 00 6E 6F 72 77 65 67 69 61 6E 00 00 00 69 74 61 6C 69 61 6E 2D 73 77 69 73 73 00 00 00 69 72 69 73 68 2D 65 6E 67 6C 69 73 68 00 00 00 67 65 72 6D 61 6E 2D 73 77 69 73 73 00 00 00 00 67 65 72 6D 61 6E 2D 6C 75 78 65 6D 62 6F 75 72 67 00 00 00 67 65 72 6D 61 6E 2D 6C 69 63 68 74 65 6E 73 74 65 69 6E 00 67 65 72 6D 61 6E 2D 61 75 73 74 72 69 61 6E 00 66 72 65 6E 63 68 2D 73 77 69 73 73 00 00 00 00 66 72 65 6E 63 68 2D 6C 75 78 65 6D 62 6F 75 72 67 00 00 00 66 72 65 6E 63 68 2D 63 61 6E 61 64 69 61 6E 00 66 72 65 6E 63 68 2D 62 65 6C 67 69 61 6E 00 00 65 6E 67 6C 69 73 68 2D 75 73 61 00 65 6E 67 6C 69 73 68 2D 75 73 00 00 65 6E 67 6C 69 73 68 2D 75 6B 00 00 65 6E 67 6C 69 73 68 2D 74 72 69 6E 69 64 61 64 20 79 20 74 6F 62 61 67 6F 00 00 00 65 6E 67 6C 69 73 68 2D 73 6F 75 74 68 20 61 66 72 69 63 61 00 00 00 00 65 6E 67 6C 69 73 68 2D 6E 7A 00 00 65 6E 67 6C 69 73 68 2D 6A 61 6D 61 69 63 61 00 65 6E 67 6C 69 73 68 2D 69 72 65 00 65 6E 67 6C 69 73 68 2D 63 61 72 69 62 62 65 61 6E 00 00 00 65 6E 67 6C 69 73 68 2D 63 61 6E 00 65 6E 67 6C 69 73 68 2D 62 65 6C 69 7A 65 00 00 65 6E 67 6C 69 73 68 2D 61 75 73 00 65 6E 67 6C 69 73 68 2D 61 6D 65 72 69 63 61 6E 00 00 00 00 64 75 74 63 68 2D 62 65 6C 67 69 61 6E 00 00 00 63 68 69 6E 65 73 65 2D 74 72 61 64 69 74 69 6F 6E 61 6C 00 63 68 69 6E 65 73 65 2D 73 69 6E 67 61 70 6F 72 65 00 00 00 63 68 69 6E 65 73 65 2D 73 69 6D 70 6C 69 66 69 65 64 00 00 63 68 69 6E 65 73 65 2D 68 6F 6E 67 6B 6F 6E 67 00 00 00 00 63 68 69 6E 65 73 65 00 63 68 69 00 63 68 68 00 63 61 6E 61 64 69 61 6E 00 00 00 00 62 65 6C 67 69 61 6E 00 61 75 73 74 72 61 6C 69 61 6E 00 00 61 6D 65 72 69 63 61 6E 2D 65 6E 67 6C 69 73 68 00 00 00 00 61 6D 65 72 69 63 61 6E 20 65 6E 67 6C 69 73 68 00 00 00 00 61 6D 65 72 69 63 61 6E 00 00 00 00 48 3A 6D 6D 3A 73 73 00 64 64 64 64 2C 20 4D 4D 4D 4D 20 64 64 2C 20 79 79 79 79 00 4D 2F 64 2F 79 79 00 00 50 4D 00 00 41 4D 00 00 44 65 63 65 6D 62 65 72 00 00 00 00 4E 6F 76 65 6D 62 65 72 00 00 00 00 4F 63 74 6F 62 65 72 00 53 65 70 74 65 6D 62 65 72 00 00 00 41 75 67 75 73 74 00 00 4A 75 6C 79 00 00 00 00 4A 75 6E 65 00 00 00 00 41 70 72 69 6C 00 00 00 4D 61 72 63 68 00 00 00 46 65 62 72 75 61 72 79 00 00 00 00 4A 61 6E 75 61 72 79 00 44 65 63 00 4E 6F 76 00 4F 63 74 00 53 65 70 00 41 75 67 00 4A 75 6C 00 4A 75 6E 00 4D 61 79 00 41 70 72 00 4D 61 72 00 46 65 62 00 4A 61 6E 00 53 61 74 75 72 64 61 79 00 00 00 00 46 72 69 64 61 79 00 00 54 68 75 72 73 64 61 79 00 00 00 00 57 65 64 6E 65 73 64 61 79 00 00 00 54 75 65 73 64 61 79 00 4D 6F 6E 64 61 79 00 00 53 75 6E 64 61 79 00 00 53 61 74 00 46 72 69 00 54 68 75 00 57 65 64 00 54 75 65 00 4D 6F 6E 00 53 75 6E 00 00 00 00 00 53 75 6E 4D 6F 6E 54 75 65 57 65 64 54 68 75 46 72 69 53 61 74 00 00 00 4A 61 6E 46 65 62 4D 61 72 41 70 72 4D 61 79 4A 75 6E 4A 75 6C 41 75 67 53 65 70 4F 63 74 4E 6F 76 44 65 63
    Here's it de-coded.
    LC_TIME LC_NUMERIC LC_MONETARY LC_CTYPE LC_COLLATE LC_ALL . ParaguayUruguayChileEcuadorArgentinaPeruColombiaVenezuelaDominican RepublicSouth AfricaPanamaLuxembourgCosta RicaSwitzerlandGuatemalaCanadaSpanish - Modern SortAustraliaEnglishAustriaGermanBelgiumMexicoSpanishBasqueSwedenSwedishIcelandIcelandicFranceFrenchFinlandFinnishSpainSpanish - Traditional Sortunited-statesunited-kingdomtrinidad & tobagosouth-koreasouth-africasouth koreasouth africaslovakpuerto-ricopr-chinapr chinanznew-zealandhong-konghollandgreat britainenglandczechchinabritainamericausausukswissswedish-finlandspanish-venezuelaspanish-uruguayspanish-puerto ricospanish-peruspanish-paraguayspanish-panamaspanish-nicaraguaspanish-modernspanish-mexicanspanish-hondurasspanish-guatemalaspanish-el salvadorspanish-ecuadorspanish-dominican republicspanish-costa ricaspanish-colombiaspanish-chilespanish-boliviaspanish-argentinaportuguese-braziliannorwegian-nynorsknorwegian-bokmalnorwegianitalian-swissirish-englishgerman-swissgerman-luxembourggerman-lichtensteingerman-austrianfrench-swissfrench-luxembourgfrench-canadianfrench-belgianenglish-usaenglish-usenglish-ukenglish-trinidad y tobagoenglish-south africaenglish-nzenglish-jamaicaenglish-ireenglish-caribbeanenglish-canenglish-belizeenglish-ausenglish-americandutch-belgianchinese-traditionalchinese-singaporechinese-simplifiedchinese-hongkongchinesechichhcanadianbelgianaustralianamerican-englishamerican englishamerican H:mm:ssdddd, MMMM dd, yyyyM/d/yy PM AM DecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunSunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec
    Last edited: Jul 24, 2015
    LetsRaceBwoi likes this.
  2. Blayer98

    Blayer98 Active Member

    AH HA! Found this: http://en.cppreference.com/w/cpp/locale/LC_categories

    It uses C++? :p

    Okay, so it seems like we need a .php file or something that does this:
    #include <cstdio>
    #include <clocale>
    #include <ctime>
    #include <cwchar>

    int main()
    {
    std::setlocale(LC_ALL, "en_US.UTF-8"); // the C locale will be the UTF-8 enabled English
    std::setlocale(LC_NUMERIC, "de_DE"); // decimal dot will be German
    std::setlocale(LC_TIME, "ja_JP"); // date/time formatting will be Japanese
    wchar_t str[100];
    std::time_t t = std::time(nullptr);
    std::wcsftime(str, 100, L"%A %c", std::localtime(&t));
    std::wprintf(L"Number: %.2f\nDate: %Ls\n", 3.14, str);
    }

    LC_ALLselects the entire C locale
    LC_COLLATEselects the collation category of the C locale
    LC_CTYPEselects the character classification category of the C locale
    LC_MONETARYselects the monetary formatting category of the C locale
    LC_NUMERICselects the numeric formatting category of the C locale
    LC_TIMEselects the time formatting category of the C locale
    LetsRaceBwoi likes this.
  3. Blayer98

    Blayer98 Active Member

    Ok, I've had a look in the .dll again, and I've created a dump of the text, there's things relating to the LoginServer and authentication.
    Also, just for fun, try searching for BOLLOCKS in the file, there's a few mentions of that word, I thought this was a kid's game Maxis!! :O
    @Fatbag
    @LetsRaceBwoi
    @RHY3756547
    @Afr0
    Just tagging a few people since this is kinda difficult. :/ If anyone can help, please let me know!

    Attached Files:

    Last edited: Jul 24, 2015
  4. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

    Funny thing is that I was thinking about this thread as you posted this...
    Looks like I have a new signature.
    Code:
    Disconnected    Connected   Password Expired    BOLLOCKS    BOLLOCKS!
    I'm going to set up another local PHP server so that I can do the testing when required; you should set up a localhost server too if possible!
  5. Blayer98

    Blayer98 Active Member

    BAH, my mind is absoloutly crap today @_@ I'll go and download php first :p

    Ok, so I'm doing it in php, and this website thankfully goes over it. :)
    http://php.net/manual/en/function.setlocale.php
    Last edited: Jul 24, 2015
    LetsRaceBwoi likes this.
  6. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

    It's not Maxis! It's Bullfrog.
    Blayer98 likes this.
  7. Blayer98

    Blayer98 Active Member

    oh yeah lol
    LetsRaceBwoi likes this.
  8. Blayer98

    Blayer98 Active Member

    I just got a NO-CD Crack that works!

    Now I can run the game in OllyDBG. :)
    LetsRaceBwoi likes this.
  9. Blayer98

    Blayer98 Active Member

    Just letting everyone know, this thread has moved to the Programming Topic. :)

    I'm planning on restoring the Theme Park World Online functionality! Thanks to Fatbag, I'm able to find out how the game logs the player in. (I'm using localhost.)
    I'll record a video which shows how the game's protocol runs, which should be up by either today or tomorrow. :)
    JeremyT and LetsRaceBwoi like this.
  10. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

    Thank you!
  11. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

    Where is the video? ;)
  12. Blayer98

    Blayer98 Active Member

  13. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

  14. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

  15. Blayer98

    Blayer98 Active Member

    That Alt+Tab isn't the recording software, it's where I went into 1024x768 mode, and I forgot to crop that section :p
  16. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

    But when you went into TPW, the frame stuck. Even on the left side :p
  17. JeremyT

    JeremyT Member

    What an awesome project for one of my favorite childhood games. :D I will stay tuned!
    LetsRaceBwoi and zc456 like this.
  18. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

    Managed to get TPW running on my system with a couple of small changes to a few files, and a resolution change (one that must happen, unfortunately, before I play the game) to 1280x1024, which is the highest resolution that works. I really remember this game now, gives me nostalgia from when I would sit [on - EDIT: with] my laptop playing this game; fun times :)
    Last edited: Oct 8, 2015
  19. pisarz1958

    pisarz1958 Administrator Staff Member Moderator

    you were sitting ON your laptop?
    Blayer98 likes this.
  20. LetsRaceBwoi

    LetsRaceBwoi Well-Known Member

    ...Duh

Share This Page