Greetings! Today's update adds a pretty substantial paint feature to AArcade!
Paint Your World - No Mistakes, Just Happy Accidents
Now you can go around, sampling textures from any map you visit and adding them to your texture palette. Then you can use your texture palette to repaint any surface in any of your arcades! :)
This feature was developed all last week thanks to suggestions & input from various Discord users! A special thanks to Howie Duhzit, who dug around in the Source engine to find the mat_crosshair command and other techniques that led to this feature in AArcade!
Note that, for now, your paint job is local-only. But in a future update, your custom paint jobs will also be synced when hosting your arcades!
First Step - Add textures to your palette
Load up a map that has textures you like, look at a surface that has the texture, then go to the new Paint Tab on the Tab Menu and click Pick Texture.
Final Step - Paint using your palette
Now that you have a texture in your palette, you can look at any other surface, go to the new Paint Tab on the Tab Menu, and click on your texture in the list to apply it to the material under your crosshair!
Undo Paint / Unpaint
Want to unpaint a surface? Look at the surface, then bring up the new Paint Tab on the Tab Menu and click the Reset Material button to undo any changes you made to the material & reset it back to its natural state.
Reset All Materials
Don't like your masterpiece and want to reset all the surfaces in your arcade back to their default? To do this, look in the Commands Tab of the Tab Menu for a new command "Painted Materials Reset" that will restore all the materials in your current arcade instance to their natural state. (Note that this button is in a different tab so that you don't accidentally click it while trying to paint.)
Custom Texture Palettes
You can have multiple custom texture palettes, very much like favorites lists. So be sure to organize your textures onto palettes that make it easy for you to find the stuff you like! I have one for Neon Retro Wave themed textures, and another for boring old regular architectural textures.
Until I am able to automate texture thumbnail generation perfectly, there is a button on the Paint Tab that lets you generate thumbnails for textures on-demand. So textures show up as fully functioning generic placeholders by default, but you can give them thumbnails by clicking on their camera icon.
Prop & Displacement Painting Support
Some props will behave perfectly with the new painting feature. Certain props might be hard to paint, as if your crosshair is not colliding with it. In these cases, trying to find another more easily collidable instance of the prop can help. Note that props that are truly non-collide cannot yet be easily painted or have their texture sampled.
If you are painting props that are not part of the world map, and upon returning to the map it appears as if the props did not get their custom paint job applied, you may have to go to the new Paint Tab in the Tab Menu and click Re-Apply All after your arcade has loaded in. (Note that this bug is due to the fact that only world textures get precached, while textures on props that you spawn get cached in on-the-fly.)
Displacements (ie. terrain) cannot be directly painted yet, but support for retexturing displacement surfaces will come in a future update!
ReShade Depth Support Improvements & Update
Today's AArcade update also brings the bundled ReShade up-to-date for everybody (including users who don't manually update it.)
Also, Discord user Howie Duhzit discovered an improvement to our default config that allows for proper ReShade depth effects. His improvement has been integrated into the default config for AA's ReShade.
Again, I want to give a shout out to Wolfen for pressing the issue of AArcade's compatibility with ReShade, which lead to this support in the first place.
Want Faster AArcade Startup?
If you are one of the people who launch AArcade multiple times throughout the day, you'll probably want to cut down its startup times as much as possible.
Today's update adds a new way to do that to the General tab of the Settings menu with an option called "Auto Rebuild Sound Cache." When you disable this, AArcade will skip the final step of starting up (Rebuilding Sound Cache), potentially cutting about 10 seconds off of your startup time, depending on how many addons you have. Just note that this could impact addon maps' ability to play custom soundscapes.
Also in the General tab of Settings you can find and disable "Detect Maps When AArcade Starts," this will cache your detected addon maps instead of auto-detecting them each time AArcade starts, also potentially cutting 10+ seconds off of your startup time!
Or, you could be like me, and only launch AArcade once when Windows starts up and leave it going the whole time. :) (Remember that AArcade has a highly optimized pause mode that releases its system resources.)
A brief overview of the developments soon to come: inter-server teleports, a generic sit in chairs feature, in-game Steam Workshop consumption, custom map Steam Workshop publishing, VR compatibility improvements & comfort features, full Steam Workshop in-game arcade/object publishing support.
And, of course, tons of other fixes, improvements, and other new features that arise along the way. I hope you've been having fun using your computer w/ AArcade, and I'll see ya'll in the metaverse!
- Added a Paint Tab to the Tab Menu. Use it to retexture the materials in your instance how ever you wish.
- Added Painted Materials Reset to the Commands Tab. Use it when you want to reset ALL of the painted materials in your instance.
- Added console commands "paint" which paints the material under your crosshair with the last used texture, "pick_texture" which changes the texture to use to the one under your crosshair, and "unpaint" which removes any modified textures on the material under your crosshair.
- Added the console command "repaint", which will re-apply all material modifications. Useful for props that didn't load in until AFTER map load to get their material modifications applied. (Until I can devise a good automatic solution for this.)
- Added the bool convar autobuildsoundcache 1. When disabled, it will decrease startup times as the risk of custom sounds failing to play in addon maps.
- Fixed ReShade preprocessor definitions for ideal depth effects. (Thanks to Discord user Howie Duhzit for sharing the proper settings!)