Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Lab Assistant
Original Poster
#26 Old 5th Mar 2021 at 3:10 AM
Oh my goodness, SmugTomato - that's a brilliant find, and will make a release (and enabling future modders) to move that much more smoothly!
My development has slowed due to some family issues. However, I'm moving forward with modifying the UI to fit a 1600 x 900 resolution.

I was not able to use the camera mod that you posted - the DLL injection worked, but I was not able to use the keyboard controls. I'm using a laptop with a lot of overlapping keybinds, so that may be the issue? Not sure at the moment - I'll have some time to look at this on Sunday
Advertisement
Field Researcher
#27 Old 5th Mar 2021 at 9:31 AM
You should still be able to move the camera through the ini file, but it's not very intuitive since everything is rotated roughly 45 degrees on the Y axis.
That is of course assuming you're using the M&G executable, since the hack was made specifically for that version.

Quote: Originally posted by Mirablu
The most notable things I've found...
The GZWinFlatRect with ID 0x00000100 in EECA0005 determines the user's interaction area.
Button images are drawn in a peculiar way - you have to adjust the height and width to offset the X and Y position. I'm not sure exactly how this behavior runs under the hood.

I've been looking through the files as well, the way I interpret the buttons is as follows, the area defines the interactable are of the element, while the image seems to be placed either in the center or aligned to some side as configured in the button props.
Field Researcher
#28 Old 6th Mar 2021 at 11:33 PM
I spent quite some time browsing through and extracting everything from every EP/SP's CaSIEUI.data, putting all of the UI files in a single .package file, formatting them better and putting a bunch of comments in them.
In doing so I've managed to identify some of the ones that define thumbnail sizes and spacing, I'll post some more info on it tomorrow.
Field Researcher
#29 Old 7th Mar 2021 at 11:35 AM Last edited by SmugTomato : 7th Mar 2021 at 12:41 PM.
You can change the thumbnail button sizes for the Sim Bin in 0xEECA0001, but the image inside the thumbnail does not scale with it, resulting in a very ugly button.
I've also found out that the GZWinFlatRect with ID 0x00000100 in EECA0005 that defines the interactable area of the menus also defines it's offset, which is why the menus start at point (0,0)
Screenshots
Field Researcher
#30 Old 9th Mar 2021 at 9:40 PM
I didn't know when you'd return, so I went ahead and worked on a design for the UI and started working on implementing it in Body Shop.
Some parts turned out to be quite a pain due to overlapping regions in my design, but I managed to get it working in the end!
Screenshots
Lab Assistant
Original Poster
#31 Old 11th Mar 2021 at 2:12 AM Last edited by Mirablu : 11th Mar 2021 at 2:14 AM. Reason: adding more info
Yeah, sorry I've been MIA - caring for a sick family member But I am home this week and looking to resume this fun distraction

Quote: Originally posted by SmugTomato
You can change the thumbnail button sizes for the Sim Bin in 0xEECA0001, but the image inside the thumbnail does not scale with it, resulting in a very ugly button.
I've also found out that the GZWinFlatRect with ID 0x00000100 in EECA0005 that defines the interactable area of the menus also defines it's offset, which is why the menus start at point (0,0)


I was successfully able to adjust the button sizes to an extent - just narrowing the Sim buttons, really. I'll attach the extracts to this post.

I've labeled the objects to explain what they are.
<LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000004 ...> is the back of the thumbnail.
<LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000003 ...> is the sim image.
<LEGACY clsid=GZWinBtn iid=IGZWinBtn id=0x00000002 ... > appears to be the means of interacting with the image.
Attached files:
File Type: 7z  00000000-00000000-A99D8A11-EECA0001.uiScript.7z (1.0 KB, 15 downloads)
Field Researcher
#32 Old 11th Mar 2021 at 9:58 AM
Good to see you back.
When I tried editing those 3 lines it only resulted in the weird looking thumbnail buttons from before, I decided not to worry about it too much, as the main goal is maximizing the thumbnails per page anyway.

I've got most of the UI layout implemented at this point, the main thing left to do is making the remaining graphics for everything and making some final tweaks to the camera hack
Screenshots
Lab Assistant
Original Poster
#33 Old 14th Mar 2021 at 11:20 PM
Quote: Originally posted by SmugTomato
Good to see you back.
When I tried editing those 3 lines it only resulted in the weird looking thumbnail buttons from before, I decided not to worry about it too much, as the main goal is maximizing the thumbnails per page anyway.

I've got most of the UI layout implemented at this point, the main thing left to do is making the remaining graphics for everything and making some final tweaks to the camera hack


This looks amazing! I love your layout choices.
I think I'm going to continue working on my version, which will not contain as many layout changes and will instead simply replace the UI elements - then we'll each have something unique to release

I was able to resize thumbnails without the odd graphical elements - see here for my copy of EECA0001 (sim thumbnail):

Code:
# Generated by UI editor
<LEGACY clsid=GZWinFlatRect iid=IGZWinFlatRect id=0x00000001 area=(0,0,76,171) fillcolor=(0,0,0) winflag_visible=yes winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=no winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=no winflag_acceptfocus=yes winflag_mousetrans=no winflag_ignoremouse=no colorleft=(0,0,0) colortop=(0,0,0) colorright=(0,0,0) colorbottom=(0,0,0) style=nofill >
# w/h change: -10/0
<CHILDREN>
   <LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000004 area=(0,8,75,165) fillcolor=(0,0,0) caption="thumbnailBack" winflag_visible=yes winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=yes winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=yes winflag_acceptfocus=yes winflag_mousetrans=no winflag_ignoremouse=no image={499db772,bc876755} notify=no transparentbkg=no edgeimage=no >
   <LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000003 area=(-4,8,75,165) fillcolor=(0,0,0) caption="simImage" winflag_visible=yes winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=yes winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=yes winflag_acceptfocus=yes winflag_mousetrans=no winflag_ignoremouse=no image={499db772,bc876755} notify=no transparentbkg=no edgeimage=no >
   <LEGACY clsid=GZWinBtn iid=IGZWinBtn id=0x00000002 area=(0,8,75,165) fillcolor=(192,192,192) winflag_visible=yes winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=yes winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=yes winflag_acceptfocus=no winflag_mousetrans=no winflag_ignoremouse=no image={499db772,bc876750} colorfontnormal=(0,0,0) colorfontdisabled=(0,0,0) colorfonthilited=(0,0,0) colorfontnormalbkg=(0,0,0) colorfontdisabledbkg=(0,0,0) colorfonthilitedbkg=(0,0,0) toggle=off triggerondown=off showcaption=yes fill=yes autosize=no wrapcaption=no shiftcaption=yes tips=no tipsdelay=no tipstimeout=no style=toggle gutters=(0,0,0,0) tiptext="" tipoffsets=(0,0) tipflag=0x01000000 align=center >
   <LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000100 area=(59,12,71,26) fillcolor=(0,0,0) caption="custom content icon" winflag_visible=no winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=yes winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=yes winflag_acceptfocus=yes winflag_mousetrans=no winflag_ignoremouse=yes image={499db772,c9877040} notify=no transparentbkg=no edgeimage=no >
   <LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000102 area=(54,13,70,29) fillcolor=(0,0,0) caption="ep1 logo overlay" winflag_visible=no winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=yes winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=yes winflag_acceptfocus=yes winflag_mousetrans=no winflag_ignoremouse=no image={499db772,ac76d976} notify=no transparentbkg=yes edgeimage=no >
   <LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000103 area=(54,12,70,28) fillcolor=(0,0,0) caption="ep2 logo overlay" winflag_visible=no winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=yes winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=yes winflag_acceptfocus=yes winflag_mousetrans=no winflag_ignoremouse=no image={499db772,ac76d977} notify=no transparentbkg=yes edgeimage=no >
   <LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000104 area=(54,12,70,28) fillcolor=(0,0,0) caption="ep3 logo overlay" winflag_visible=no winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=yes winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=yes winflag_acceptfocus=yes winflag_mousetrans=no winflag_ignoremouse=no image={499db772,abba0001} notify=no transparentbkg=yes edgeimage=no >
   <LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000105 area=(54,12,70,28) fillcolor=(0,0,0) caption="sp1 logo overlay" winflag_visible=no winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=yes winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=yes winflag_acceptfocus=yes winflag_mousetrans=no winflag_ignoremouse=no image={499db772,abba0002} notify=no transparentbkg=yes edgeimage=no >
   <LEGACY clsid=GZWinBMP iid=IGZWinBMP id=0x00000106 area=(54,12,70,28) fillcolor=(0,0,0) caption="sp2 logo overlay" winflag_visible=no winflag_enabled=yes winflag_moveable=yes winflag_sortable=no winflag_pbuff=yes winflag_pbufftrans=yes winflag_pbufferase=yes winflag_alphablend=yes winflag_acceptfocus=yes winflag_mousetrans=no winflag_ignoremouse=no image={499db772,abba0003} notify=no transparentbkg=yes edgeimage=no >
</CHILDREN>


Additionally, here's a spreadsheet I've been using to keep track of instances.
https://docs.google.com/spreadsheet...dit?usp=sharing
Screenshots
Field Researcher
#34 Old 15th Mar 2021 at 9:17 PM
That's a really nice find!
Do the thumbnails also display properly for tops though? Thumbnails for clothes seem to be this wide because of the sim's arms in the thumbnails for tops.
Screenshots
Lab Assistant
Original Poster
#35 Old 16th Mar 2021 at 3:54 AM
Quote: Originally posted by SmugTomato
That's a really nice find!
Do the thumbnails also display properly for tops though? Thumbnails for clothes seem to be this wide because of the sim's arms in the thumbnails for tops.

Oh my goodness - they don't! Thanks for pointing that out, I would have missed it for ages.
The imagerect UI property doesn't seem to have the desired effect on the thumbnail image, so I'm thinking about looking into creating a default replacement for the "Tops" thumbnail that's a little further away from the camera so it uses less of the width. I don't know, at this point, but I think it's worth looking into!
https://modthesims.info/showthread.php?t=329846
...But perhaps the best option for expedience's sake would be to revert the width and move on I'm curious, though.
Screenshots
Lab Assistant
Original Poster
#36 Old 16th Mar 2021 at 4:02 PM Last edited by Mirablu : 16th Mar 2021 at 7:27 PM.
It is possible to adjust the camera for thumbnails, and it can be changed from within the downloads folder.
I used the scenegraph finder to locate the thumbnail CRES objects in the game files, extracted two that mentioned being for Adult Clothes Tops, and modified them to better fit in a more narrow space.
The file is not recognized by MTS's file system, so I uploaded it to MediaFire: https://www.mediafire.com/file/klc9...pAdjust.7z/file
edit: This file does change thumbnail rendering in-game as well.

Delete your cigen.package to test. Cigen.package contains the cached thumbnails for Bodyshop.
I think that I'll make the box 2-4 pixels wider rather than shrink the thumbnail further.
Screenshots
Field Researcher
#37 Old 16th Mar 2021 at 11:26 PM Last edited by SmugTomato : 16th Mar 2021 at 11:46 PM.
Would this also affect how thumbnails are displayed in-game if placed in the downloads folder?
I was afraid it might, so I tried loading it through CSResources.ini and that worked as well


Edit
Just checked, and yep, putting it in the downloads folder affects in-game thumbnails too. Loading it through CSResources.ini works fine though!
Field Researcher
#38 Old 20th Mar 2021 at 1:10 AM
I think I've finally managed to change all the screens to be consistent now.
I'll upload the file properly tomorrow, but in case anyone wants to give it a try before that I'll leave it here.

Installation instructions are included in the readme.txt
Make sure to launch Body Shop from the included launcher from now on.
Screenshots
Attached files:
File Type: zip  bs_cleanui_1.0.zip (1.10 MB, 26 downloads)
Lab Assistant
Original Poster
#39 Old 20th Mar 2021 at 9:25 PM
Quote: Originally posted by SmugTomato
I think I've finally managed to change all the screens to be consistent now.
I'll upload the file properly tomorrow, but in case anyone wants to give it a try before that I'll leave it here.

Installation instructions are included in the readme.txt
Make sure to launch Body Shop from the included launcher from now on.

Gorgeous! Iconic! Perfect!!!!!!!! I'm so proud and excited
Field Researcher
#40 Old 26th Mar 2021 at 4:13 AM
Oh wow! This looks so awesome and promising! I am so glad to hear that other people have been figuring out ways to mod the UI- the game's UIScripts are EXPONENTIALLY hard and difficult, and with much of the code being unknown it's nice to see other people are figuring out ways to modernise this little 15 year old game @SmugTomato, I was wondering if you're ever gonna release the files you used to make this? I made a Dark Mode version of Clean UI a while back, I'd love to be able to adapt my mod to this new bodyshop

But otherwise, good job guys! I learned a lot while browsing through this thread- hopefully I can use some info here to discover and poke more about how to change the UI of the MAIN GAME, which has a lot of complicated UI scripts that have basically unknown code. I've experimented with them a few times, including changing positions, trying to change text color, almost to no effect I wish the UI was easier to handle :b
Field Researcher
#41 Old 26th Mar 2021 at 4:40 AM
I wonder how much of the knowledge here could be implemented into the main game? I'd love to experiment myself with modding the UI scripts more - A Sims 2 with a new UI layout could be interesting and fun! And also, I'd love to solve the mystery of the animated loading RIFF files. I first discovered that you could change the colors and look and feel of the loading screens of Sims 2, if you take the original image and upsize it to whatever you want, the similar tactic that GCCP used for his actual main menu loading screens. However, the animated RIFF loading screens BEHIND them are still a mystery, which leads to loading screens that DON'T have images in the center (most notably, the "Loading X Family") to not be able to be modified.

Here are a list of things I have tried UIscript-wise to get them working :
  • Overwrote the RIFF code with UI Script code that puts an image - didn't work, game crash
  • Deleted the UIScripts - "worked" the animated loading screen was gone, but in it's place was this weird blue color. No idea how to change it yet.
  • Replacing the RIFF code with another UI Script to see if it did anything- nope, game crash

If we could solve some of TS2's biggest UI mysteries in this very thread, it'd be amazing! : :D
Field Researcher
#42 Old 26th Mar 2021 at 3:28 PM
Quote: Originally posted by redandvidya
I was wondering if you're ever gonna release the files you used to make this? I made a Dark Mode version of Clean UI a while back, I'd love to be able to adapt my mod to this new bodyshop


Here's the Gimp files, which have the most tedious stuff taken care of :P
I've turned most of the original Body Shop icons that weren't already taken care of by clean UI into masks for the backgrounds and lines, allowing for easy recoloring.
Attached files:
File Type: zip  SmugTomato_bs_cleanui_GimpFiles.zip (807.0 KB, 14 downloads)
Field Researcher
#43 Old 26th Mar 2021 at 7:25 PM
Aw man! Not me using Photoshop Do you think you can save these as PSD in GIMP? I think it has the ability to convert to PSD pretty easily. However if you don't want to, I'll probably convert them in my own time when I'm not so busy with school
Field Researcher
#44 Old 27th Mar 2021 at 10:57 AM
I don't plan on converting them all to PSD, you'll have to do that yourself :P
But I think GIMP can save them as PSD
Field Researcher
#45 Old 28th Mar 2021 at 10:45 AM Last edited by SmugTomato : 28th Mar 2021 at 11:18 AM.
I've found a pretty interesting property for buttons while working on a fix for custom slider icons(which use the original smaller Body Shop versions) to prevent button graphics from stretching and getting all mangled.
It's also listed on this page.
Code:
autosize      bool      Specifies weather the control should be auto-sized.      Format: yes|no
It pretty much does what it suggests, it will automatically resize the button for you depending on the image size used.

The topmost icons are the small Body Shop icons, the center ones are the in-game versions I've copied over and changed the instances of, they both use the same UI script with 'autosize=on'
Screenshots
Test Subject
#46 Old 29th Mar 2021 at 9:47 AM
Apolgies if I'm hijacking this, I'm not that familiar with Sims 2 modding but I've recently been using older macOS releases that have function symbols to start mapping the Sims 2 windows binaries with a view to starting a reimplementation of the engine using dll injection to replace the games functions one by one. I stumbled upon this thread while looking for similar projects to check I wasn't treading on old ground. Are you using function symbols to work out what to patch in the binary with your dll injector SmugTomato or just using debugging tools to uncover what you need?
Field Researcher
#47 Old 29th Mar 2021 at 10:59 AM
I've just used debugging tools to figure out the memory addresses I needed
Field Researcher
#48 Old 26th Jul 2021 at 9:39 AM Last edited by redandvidya : 27th Jul 2021 at 12:51 AM.
Finally got around to doing a dark mode version of Wide Bodyshop. What do y'all think? Thanks.

Page 2 of 2
Back to top