Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/27/2023 in all areas

  1. With Fern and Jay's help, I found the function that Blue Fang created that controls all of the easter eggs in the game. It's just one giant switch board where if a guest is named X or Y then it does whatever the game needs to do to make it happen. Sadly no new easter eggs that aren't already found but I also wasn't trying to find new ones. I can post the code if anyone wanted to find out for sure. I found it by accident because I was looking to identify one of the functions that messed with the game's budget. It turns out that Blue Fang created one function specifically for one man named Jonathan Gilmour, where if you were to name a zookeeper by that name you got $10000 added to your zoo budget. Jonathan Gilmour was winner of Microsoft's 2001 Ultimate Zookeeper contest and was put in the game as an easter egg as part of the prize. Sadly he's since passed, but it seems he lived an awesome life. Here's more information about his legacy at the zoo he worked for: https://www.zoonewengland.org/act/ways-to-give/jonathan-gilmour-memorial-scholarship-fund/. Credit to Jay for the story, I had no idea. I just think it's really cool that he gets his own easter egg not just in the game, but in the code as well.
    3 points
  2. Thanks, and yeah I'm glad too. @finnethen is the best! I've been on a break from coding ever since finals had taken up all of my available time. I am on vacation right now and will be driving back home for the coming week. Once I get back in June I'll have more frequent updates--I still think it would be great to have a version of the API that modders can start using by the end of summer. We'll see. A few updates on the project. First, I've decided on a final name for the project. It will be called EMU (Extensible Modding Utility). I just thought it would be a cool nod to the three-letter animal acronym APE made popular. I meant it when I said that I wanted to honor Zootek in some way, and I have a few ideas after the name change. Second, I've got a command console working. If you don't know what a command console is: some games let you open a terminal with a shortcut. It's a black window where you type commands that manipulate the game as you play. It's a good tool for an API because it lets me and modders debug API functions, and it's a fun tool for people to use in general because why not. Jay had a great idea where a possible application of this command console could be letting users modify .ini values while you're in the game (without actually changing the .ini file, if that makes sense). Here's a 50 second clip of it in action. In this example, I continue to use the addToBudget function as I have before. I type the command in the console and you'll see the budget update in the game.: Right now the console opens up automatically when Zoo Tycoon launches. Eventually I want it to only open up when hitting a shortcut. I've also got a super primitive game loop working. If you don't know what a game loop is, it's usually where all of the game events and graphics refresh on a neverending loop. It's like an engine that makes sure a flip book is always flipping. This is important because it's where mods using the API will run when loaded. This game loop is actually how the console is working above. One of the challenges is that I had to create a new thread to make it work until I find a way to hook onto the real loop, so there is some performance loss at the moment that I hope I can patch later on. Finally, thanks to Jay and Fern's help, I got a lot of the budget-related function calls figure out. As a reminder, here's how to read this chart: Bold just means they are the last two I've found. Leftmost is the number of the function. The first hexadecimal address is actually a mystery function I haven't defined yet, and the rightmost hex address is the location within that mystery function that the addToBudget() function is called. On the right I have a small note describing the context behind when that function call is made. That context will help me figure out what the mystery functions are actually doing when I have the time to figure those out, but we get a decent idea here. For example, this is how I learned that the parent function to number 5 is the easter egg cheat function that controls how all of the easter eggs are programmed. If there's no comment it's because I haven't figured out how to trigger that function call yet. Some ideas are when you win a scenario and get money, certain event-related cash prizes, etc. If anyone has ideas, I would love to hear them! See you guys again in about two weeks!
    2 points
  3. Thanks for the tip! Had to look up the falloff tool and it looks like it could have saved me a lot of work haha. And yes, so true about the topology, it's rough. I did it by hand using the shrink wrap tool but man, it took me hours and when it came to connecting the limbs, I just had to get creative when things didn't exactly line up. I'm going model it from the beginning one more time and I'll try to get the snout, ears, and topology right this time. I don't have to, but I think it's fun seeing it get better. I'd like to release my models as a resource in case anyone wanted to use them for anything, so got to make them presentable! Going to drive back home this week so I'll probably update again some time in June.
    1 point
  4. Logical for sure, just unexpected!
    1 point
  5. This is one of the ones that seemed more logical to me since it's an obvious reference to "The Wizard of Oz".
    1 point
  6. I assume those were inside jokes at Blue Fang and maybe some digs at Microsoft personnel, too. My first husband worked at Microsoft back when it in a small Bellevue office with less than 39 employees (mid-1980s) and while it expanded and built its own office building then more. It was standard procedure to sneak odd things into code and see who caught it. He did some work/testing on Flight Simulator game way back then but I don't remember any tales of cheats or Easter Eggs from then.
    1 point
  7. You can use the falloff tool to easiyl enlarge the eyes without breaking the surrounding topology. In my experience, better have some well chosen tris than lots of badly stretched quads. I strive for topology that has close to quadratic quads instead of long, thin quads, because it just unwraps, rigs and deforms better. Eg on the chin, I would collapse those thin quads at the 'cost' of having a tri or two.
    1 point
×
×
  • Create New...