Showing posts with label not working. Show all posts
Showing posts with label not working. Show all posts

Saturday, March 9, 2013

BDA - Nif exporter unrelenting

I didn't preserve the _0 models in the same scene as the _1 models, so I had to go back one version to the _0 models I initially exported. Since 3ds Max thinks preserving skin weights is stupid, I couldn't import/export/merge one scene's models into the other. Merging resulted in either the existing or imported models losing skin data or, if I merged the skeleton, the skin data was preserved for what imported, but broken for everything else because the "new" bones replaced the "old" bones (They're the same bones!). "Save" and "Load" for the skin modifier did nothing whatsoever. Well, "Save" did indeed save the envelopes, but "Load" didn't load them; presumably because of the same new/old bones thing.

Oh, and Skin Wrapping 1 over 0 didn't work.

Anyways, I buckled down and remade the _1 torso models. I started by welding all vertices within .1 units of each other on the _0 (the only vertices that close were between the glowing panels on the chest) and followed up with scaling it all out, again. Upon export, I expected everything to go well, like on the female armor. By merely writing that last sentence, you already know that didn't occur. Still off by 4.

Here's the weird bit. If I do not weld, the vertex count is 3214. If I weld, the vertex count is 3319.
I tried exporting as .obj and importing that into nifskope, but the _1 has 7 extra vertices. Exporting and importing a .3ds kept the same vertex count, but I do not have a Skin Instance or Dismember modifier, so the imported mesh is only good for a static model (and probably not even that).

*sigh*

EDIT:

I've tried putting everything into one smoothing group using the Smooth and the Smoothing Groups section of Editable Poly. While the poly count did go down, the _0 model has 3 more vertices than the _1. This would have been a suboptimal solution given that parts of the armor do require different smoothing groups to look correct in game.

Friday, March 8, 2013

BDA - Nif exporter strikes again


Well, it's doing it again. Same vertex order, same number of vertices, same number of faces, but the exported nifs have a different vertex count. But not only are the vertex counts off, the polygon/triangle counts are off. I didn't even touch the skin modifier (the fiddling of which caused the problem last time).

This time, it's the new chest and arms that are missing pieces. Everything else is scaled up and tweaked from the female body (you could probably weight slide between them as is).

When I compare the welded vertex counts at a .1 threshold, the _0 model ends up with more vertices in the arms than the _1. At .01, neither loses vertices. I think I'll try skin wrapping _1 over _0 next.

Sunday, February 10, 2013

BDA - Putting it all together

I finished the preliminary textures for all the armor pieces (diffuse, specular, normal, and glow). However, they're a bit too clean and don't quite look right. I was going to work on dirtying them up, but I ran into yet another issue with the armor.

The issue? The same .nif that produced this:
Is now, months later, producing this:
The torso is way too dark.
I made a backup of the .nif while I was trying to get rid of that viewangle clipping issue (still not fixed). So, aside from a name change and a defrag, the file hasn't changed at all since that first screenshot. No amount of fiddling with the first "working" .nif makes it light up normally (despite what http://wiki.tesnexus.com/index.php/Skyrim_common_mod_issues tells me).

I tried exporting to a new file and got this:
The glowing polygons all move with the body, but the main torso won't.

The skin modifiers work in 3ds Max, but when I export, only the glowing polygons work. Exporting just the main torso doesn't work at all. It'll only show the t-pose. Even after fixing up the body partitions, vertex color flags, UV set number (4097), Unknown flag (8 -> 0 and vice versa), Has Normals flag, using existing LightingShaderProperties, and Updating Tangents, nothing works.

I can import the nif into 3ds Max and it'll deform. If I re-export it from there, the model moves with animations, but is permanently black. No manner of tweaking fixes it.

I've already installed and reinstalled different versions of the NIF exporter and, from the initial viewangle clipping problem, even tried a completely different machine and version of 3ds Max.

I'm pretty sure both are deforming
If anyone, anywhere, knows why this is happening, please, I implore you, tell me why. Tell me what critical thing I am missing that causes me so much grief whenever I try to weight a model for export to Skyrim.

The Bassrath-Kata Bow, the Duster, and now, the Blood Dragon Armor set. None have gone smoothly.
The Bow resolved itself with a bit of fuss, the Duster still has random polygons shoot off into oblivion, and the Blood Dragon Armor won't let me export the torso properly. The boots, helmet, and gloves exported like a charm, but the torso? No no no no, can't have that now, can we?

Edit:

My export settings:

Second Edit:
The T-pose issue: SLSF1_Skinned became unchecked. "..."
Still no idea what's going on with the viewangle clipping or why the Duster randomly spazzes.

Sunday, January 20, 2013

Checking things off...or not

I finished the sticker and poster a couple days ago.

My Portal 2 map and Backstock work haven't had any progress lately. My desktop has failed to go to hybrid sleep twice (fade to black followed by a hang) and both times Steam has decided it needs to "update" Portal 2. "Update" meaning download all 6.6GB of content and completely replace all files.

I've tried moving all existing Portal 2 content to the download directory, but I didn't change the timestamps and a casual glance did not reveal a progress log. So, Steam proceeded to redownload everything.

Checking game cache integrity doesn't help either. It just says "1 file failed to validate" and continues downloading everything. Subsequent checks freeze and make Steam unusable ("Hey, Hey wait. Validation window is active, can't let you do that, Dave."), while it continues to download everything. I haven't checked after it finishes downloading. Mainly because I'm afraid it'll start downloading everything again.

Setting "Do not automatically update this game" once the download starts doesn't do anything (makes sense, but only if files are overwritten; they aren't until everything is downloaded). I've set it again and disabled cloud support to see if this download frenzy starts again.

I can start the Authoring Tools while the download is going, but once the download stops and file moving begins, things will get hairy (locked resources). It doesn't matter anyways because the game won't start. Well, it will in that it loads the intro video (completely ignoring the global -novid parameter set in Steam) and then crashes because it can't find the background image (materials/console/portal2_product2_widescreen.vtf). This crash isn't new as the Source Filmmaker couldn't handle this error when it came out, either (I haven't started it since).

You'd think Valve could, I don't know, have a default color to display should the background not exist. Maybe the error I see is the start and the game simply goes into catastrophic failure so fast, it can't show all the other errors (given the error box spam I've seen since Windows 98 SE, I doubt this is the case), but that doesn't explain why the game doesn't die until I acknowledge the missing background (suggesting there are no other errors to show).

Also, Steam is ignoring game activity. It used to stop downloading if I so much as started the Portal 2 Authoring tools. Now, it keeps downloading regardless of what I start (also confirmed with a friend's machine). Steam just sucks up all available bandwidth until it is sated.

Steam is still intermittently starting games other than what I double-clicked on. "Double click on Borderlands 2? Well, I'd better start Blade Symphony." I use the alphabetical list and don't recall it choosing a game after my choice alphabetically, just before.

Saturday, November 17, 2012

Home IT crash courses

I've finally setup my own virtual PC lab in VirtualBox. I'm using 2008 R2 to create an Active Directory, have a WinXP client, and pipe them both through pfSense. It only took 2 days to install and update 2008 R2 with most of the second day spent fiddling with VirtualBox's quirks when trying to get the XP client working from an existing vdi.

Things that went wrong:
  • Didn't use a 2008R2 SP1 install cd/slipstream with SP1/Use 2012's eval
  • Skipped installing the DNS role because the router will take care of it (wrong)
  • Moved XP vdi into a virtualmachine folder before VirtualBox created the machine, thus resulting in it saying the machine already existed when it didn't (no configuration files whatsoever).
  • Renamed the XP vdi after selecting it, but before creating the machine, resulting in VirtualBox opening 4-5 "Select disk image" dialogs with all of them non-responsive. Had to force quit it and rename the machine's folder half a dozen times.
  • Set secondary DNS server on client and server. Forwarders were already setup on the server, so all I had to do was point the client's DNS settings to the server and the server's DNS settings to loopback with desired DNS servers (Google, OpenDNS, pfSense, my router) set as Forwarders in the DNS role.
    • Still having problems resolving. I have to ping or attempt to connect to sites twice before they'll work.
    • Having the wrong DNS settings on the client will result in it hanging at Retrieving/Applying personal settings. The machine will respond, but since it isn't logged in yet, you can't do much anything.
But, I now have a working domain that I can finally install Outlook and Exchange on. I could install Outlook before, but the interview is probably going to contain how to set it up and I'm not going to fork over my login credentials to a trial email client whose downloading process is needlessly long and, well, read my previous post.
--------------------------------------------------------------------------------

I woke my desktop from sleep half an hour ago and the following occurred:
  • Firefox was frozen, but not "not responding" or whiting out
  • I could not open new explorer windows.
  • Then I saw the network connection icon was displaying a yellow exclamation sign
    • Unplugging the Ethernet cable didn't change the icon to a red x.
  • I could move between and interact with windows, but not navigate into or out of currently open folders
  • Start Menu would open and highlight what the mouse hovered over
  • TaskManager opened as a blank window with menu items, but could not be closed or moved
  • I could open run dialogs, but shutdown -r -t 0 didn't even execute.
So, I hit the reset button and watched as it "resumed windows". It's done this before. It's like it does not completely load from hybrid sleep and enters the above quasi-functional state. This hasn't happened for a long time and I'm starting to think it isn't a coincidence it stopped when I moved the page file onto my other drives and only started again when I put a small page file back onto my OS drive.

*As for why I put one back. It turns out using one drive for documents, music, page files, AND Photoshop Temp files and using them all at once is a really bad idea, especially on a 5400 rpm drive. It's like Windows refused to acknowledge I had a second page file on a faster drive and my machine would occasionally lock up while the slower harddrive made heavy access sounds..*

Once I got to the login screen, it said I was still logged in, so, as previous experience dictated, I waited for all the harddrive grinding to stop before logging in. Once I tried, the screen went black before I could click my name, my monitor lost signal, then the bios showed up. A complete restart. Again.

Apparently, all the commands I issued before pressing the reset button were still queued up when it restored from the hibernation file...which doesn't make sense to me.

Friday, September 28, 2012

Fresh Windows install

I decided to put Windows 7 on my laptop. I had an RTM key and iso left, so I thought I'd just install SP1 afterwards. The OS installation completed without a hiccup, installed Steam and Guild Wars 2, got the mess of updates prior to SP1 and did a quick test to see how well Guild Wars 2 would run (it ran alright on low/med). Curiosity satisfied, I installed Service Pack 1 and things went downhill.

After SP1 installed, Guild Wars 2 and every game I installed on the machine instantly crashed with either StackHash, d3d9.dll, or nvd3dum.dll (something like that) as the culprit. The first seemed to have to do with DEP, but everytime I selected a program to exclude I got a "You can't do that" message. The second led me to running Microsoft's DirectX web installer, no dice. The third resulted in trying 2 legacy video drivers, still crashed. I managed to get the Guild Wars 2 launcher running after deleting it's .dat file, but I reloaded a fully downloaded copy and that broke it all over again.

I poked around a bit and found that installing Service Pack 1 can cause this and that there was a hotfix for it. A couple links later, I found the hotfix only to be hit with a "You need to validate" message. Fine. No problem. I'm running legitimate copies of Windows 7, so this should only take a second. Uh...no.

Because I was using Firefox, Microsoft's site started a download for the Genuine Advantage Validation tool. Quick download, but upon executing it, it said it was no longer supported and I should check my system clock. After confirming my clock time across multiple devices, I decided to give Internet Explorer 64bit a run. This resulted in an ActiveX popup to install the validation tool that, after allowing the download, failed to download without any error messages. It just didn't work. Fine. IE 32bit then. That worked, but the website said I already had the update installed.

This left me with a couple options: Use a Windows SP1 disk and reformat or continue fiddling. I went with the former. So, now I've formatted the partition and fully updated the new installation. I've spammed restore points and I am now getting ready to install a game on it. Here goes nothing.

Tuesday, August 28, 2012

Portal 2 - Thaumaturgy Post Mortem Part 2

I forgot some things.

Hiding player-facing walls:


Okay, my original idea had the cube sliding back and forth in its room. When a weighted cube was lifted off the button, the circuits would move away and when placed, the circuits would move back. I had a little physbox on the back of each circuit that, when passing through a trigger, would hide and disable their respective circuits. However, the trigger wouldn't constantly fire it's outputs like it did in Here a Second ago. Instead, it'd fire once and not work until I disabled it, moved the circuits away, and re-enabled it. I still haven't figured out why that's the case.

I considered making the physboxes cover the entire surface of the circuit backings, but decided against it for some...reason... *shrugs*

Anyways, in the current build, if the weighted cube is not properly placed into its button, the wall hiding trigger will be enabled prematurely and some walls will not disappear making it hard to either a) complete the circuit or b) get into the interior. The trigger has a half-second delay so if you unpress the button too soon, it won't enable, but that's the best I've come up with so far.

Sliding:


As mentioned above, the cube initially moved back and forth. But as my control model moved more toward a realtime control, it became harder to make sure the cube would be flush against the wall. Since I could have arbitrary angles, the cube would clip into the walls, not something I wanted.

With my main method of getting into the cube gone, I thought about using linked_portal_doors, portalable surfaces, and light bridges as alternatives. As usual, the linked_portal_doors had a bug. In this case, once I stepped through into the cube, everything on the other side would disappear except world geometry and shadows. Portalable surfaces weren't very appealing as I'd have to cut more holes into the walls, thus making the solution either impossible or too easy. So, I settled on a light bridge.

Portal 2 - Thaumaturgy Post Mortem



So many things just didn't work in this map...oh where to begin.

Cube Rotation:

First, I wanted the circuit cube to move to the same position as the cube only when placed in the button. This led to a set of 20 triggers, a func_tank, 6 info_targets, and several momentary_rot_buttons. It was promising until I couldn't get it to match exactly due to how func_tanks don't have a continuous motion when going past -90 (Up). They spin in place and this threw the momentary_rot_button that controlled the face spin off.

The next iteration was a bunch of momentary_rot_buttons for each axis parented to each other. First run didn't work out. I needed a way to dynamically set the parents to prevent orientation distortion. I put a func_rotating in, but they aren't reliable for exact rotations. Even when set to 90deg/sec and spun for 1 second, they slowly become more and more inaccurate because the "stop" command doesn't happen exactly 1 second later.

So, I decided to try scripting it all. After spending 4 hours trying to get a basic "hello world" working (you would not believe how little there is for vscripting tutorials. It's all "here's the reference and what I've done, have at it!"), I managed to get a button to execute a function (Using the console is unreliable. It seems to work more often when you actually have parameters to pass. Not having parameters results in errors because Source doesn't want to search for your PerfectlyCapitalizedFunction() and searches instead for PerfectlycapitalizedFunction() thus throwing an "It doesn't exist!" error).

Anyways, I setup a basic "AddDegreesToX(x)" function for each axis and put the script on a single func_brush. Once the brush was flipped on any two axes (180), adding or subtracting past 90 on the third axis would result in jittering. This jittering made no sense either. Why? My debug output was telling me -90 - 1 = -89 AND -89 -1 = -90. Same went for 90 + 1 = 89 and 89 + 1 = 90. Source refused to do proper math.

This led me to believe I had to do 3d programming in Squirrel. Let's just say that didn't go well. All the code I found was immediately broken because my initial angles were zero and 0 * cos(angle) - 0 * sin(angle) =, you guessed it, zero. The tutorials I found were all for manipulating the actual vertices of a cube with each face represented in matrices, not rotating a 3d model in a game engine. I never took 3d programming and, frankly, my head was spinning at that point.

However, that got me thinking I should use multiple rotators and just parent the circuit cube to the one I needed at the time. Well...it kind of worked. It appears logic_measure_movement copies and pastes angles, so every time I changed parents, the circuit cube was given an entirely different set of angles instead of just adding to its own.

I took a break from all that programming to go with a more visceral method of manipulating the cube: Walking into a projector that shows arrows that, when pressed, rotate the cube in that direction. The code was already there, I just had to build the button framework and implement player view/collision separation. Piece of cake, right? Well, I ran into that little issue of "when you rotate enough on two axes, you flip the third". This effectively reversed the function of the buttons on that third axis, not good.

So, I tried again, but instead of keeping the buttons stationary, I made them move with the cube's angles through another logic_measure_movement. It worked to a point, but after enough rotations, the problem came up again. Solution? Use the "rotating axes" idea to parent the buttons only to the axes they didn't rotate. So, X would rotate along YZ, Y along XZ, and Z along XY. While it looked kind of cool, it only made the problem occur sooner instead of not at all. Also, I was getting motion sickness from being a ghost inside a rotating cube. I abandoned the button idea at this point.

Next, I tried using a logic_measure_movement on a weighted cube, but I couldn't separate the translational data from the desired angular data. So, I went back to scripting and made a small function that copied the angles of a SourceCube and applied them to a TargetCube; no translational data transferred. That worked perfectly, until I changed the TargetCube from the model to a brush. Model-to-model worked fine, but model-to-brush rotated the angles by 90 on the Z (or is it Y? Whichever is up in Source) axis.

There was also this annoying bug where instead of setting the degrees exactly, 359.1 degrees would become -.9. so everything was a little off. I resolved this by going back to a model-to-model...uh..model, using a logic_measure_movement on the TargetCube and having it influence the CircuitCube. And that worked perfectly, again. Each rotation of the SourceCube was piped through the entities and correctly applied to the CircuitCube. So, the pipeline was SourceCube - > script -> TargetCube -> logic_measure_movement -> CircuitCube. Awesome.

The circuits:

I had circuits from my first "Circuits" map. They were alright, but I didn't like the fact I had the triggers outside of the instance and didn't really have a way to track the "flow" without explicitly setting one up. For a 3D cube where you can set many paths, this wasn't going to cut it. So, I dove in and rearranged the internals of the instances and added triggers and movelinears to function as flow control. If a trigger is hit, its corresponding movelinear moves up to hit the next trigger in sequence. This was doubled up so the circuits could be bidirectional if desired.

The new circuits worked like a charm except when it came to arranging them into a cube.

First, there was an annoying bug back when I had the cube parented to a momentary_rot_button. Each circuit's backing was a func_brush that was then parented to the center of the cube, a momentary_rot_button. It turns out "using" a func_brush parented to a momentary_rot_button will cause the button to rotate partially with respect to the axis selection. I turned on Developer 3 and ent_messages_draw 1 just to see where the erroneous i/o was coming from and there was nothing. No links whatsoever. The bug even persisted when both the brush and the button were set to ignore +use! This was eventually solved when I settled on making the CircuitCube's center a func_brush driven by the scripted movement measure system.
*Note: Parenting the brush to a physbox parented to the button did not produce the error at all*

Next, it turns out moving triggers will trigger with no apparent provocation when moving and they'll stay triggered until they hit a nice 90 degree angle (and sometimes, not even then). Needless to say, this was a big problem as it meant if you spun the cube right, you could glitch your way through the map. Sadly, this wasn't fixed. Filters don't even combat this. Sure, I disable them before motion, but if you enable them and they aren't at an angle they like, they'll fire their outputs.

I still didn't change the method of circuit rotation. I have a nice script to handle it and, since they only rotate on a single axis, it *should* work. Since I haven't released the map, I may still try it so you get a better experience.

And then I forgot to turn off the Afterburner OSD and had to record the run-through video twice.

Saturday, July 7, 2012

Hiatus

I've been taking some time off from doing, well, anything. Switched from producer to consumer you could say. I was running myself into the ground again; constantly working from one project to the next. Sometimes, with several in tandem. So, I had a mini vacation last weekend after not having a proper getaway for close to a decade.

After consolidating and posting my Dragon Age Series weapons pack on the Skyrim Workshop and Nexus, I started feeling it. Upload, then work on new weapons, fix bugs, release new version with new weapons, get myself back into gear on Backstock, and procrastinate instead of job hunting. That's something I've been noticing. If there's something I should be doing, whether it's something I enjoy or not, I just stop doing it, pick up something else, and bounce them around the backburner. I suppose this is true for a lot of people and isn't unique to myself and I'm pretty sure I've mentioned this before along with mentioning I've mentioned this before...

Now, I'm getting back to well, everything, again. I'm finally putting work into a map for Backstock, picked up my own map to hopefully kick off Test Map Pack 5, picking a new weapon to start the second Dragon Age Series weapons pack (I'm too close to the 100MB upload limit on Steam and compressing .bsa's fails every single time), looking into another mapping tutorial for the Source engine or Portal 2, getting my Leather Duster back into Skyrim (there's an annoying issue of random polys extending to infinity despite not changing vertex counts or numberings as far as I can tell), and finishing off my frying pan weapons for Skyrim.

Speaking of frying pans, I pan fried my first steaks today. Thin ones, but they came out great. It's amazing how good they can taste with only salt and pepper. I cooked them over medium heat and, thus, took about 5x as long as the recipe said it would take. Not bad though.

I finally beat Dungeon Siege 3. I put the game aside after I bought it because I was really getting into remaking Dragon Age's weapons for Skyrim. Gaming as a whole was taking too much time. I'm a little sad that the game died out so fast and there's no one hosting multiplayer games, but it is what it is. I snagged all the single playthrough achievements I could/knew of. It took me about 27 hours to get through on Reinhart and I spent several hours trying to get the achievements for the final parts of the game.

After looking at the models in the game, I've been toying with bringing those weapons to Skyrim. However, I don't really know how I'd do that. You can really zoom in and I don't have the tools to pry open whatever proprietary formats the content is veiled behind. There were tools out there last I checked, but that was months ago.

About the camera in DS3, I have a strong dislike for it. I remember the DS3 demo not having strafe. I was thinking to myself "why cut this out?" Another annoyance was the restrictive camera angles. I have "close to my back and can't see much else" and "far from my back and can't see ahead of me". The story was good and the gameplay was alright. Not a fan of the camera though. Glad they put strafing in, but I really hated not being able to see in front of myself.

"Expectation of privacy" just crossed my mind. Literally. Am I doing myself any favors by putting all this information out there? I'm making myself appear more human, but at what cost? All the job hunting sites, books, pamphlets, and seminars/talks I've read/attended say to be careful what you post online. And with all this "We demand your facebook password" nonsense going on, should I put even heavier filters down on what I write? Or should I give a giant "screw you" and not compromise myself for the sake of finding a job? This blog was made for my modding work, not me. Can I separate myself from my work and not come off as some faceless entity on the Net? I don't have a website, so if employers look me up, this is what they'll see.

If I get asked "What's your Facebook password?", I'm going to reply "Don't you need an account for those?"

Tuesday, March 27, 2012

I need to slow down time

I've been busy with mod work and following modelling tutorials. I'm recreating the head because it was too high poly compared to the body. So, I'm doing the box modelling approach instead of spline to help keep polycounts down.

The mod work has taken me away from actually making my own maps and bouncing ideas off the team has resulted in them doing the ideas instead of me. Sadly, I like to avoid doing what I've already seen done in Portal 2 (unless it's an improvement over what I've done before), so I'm back to the drawing board again.

So, here's a video of what currently isn't working out for me:




As usual, there's more information in the video's description.

Sunday, March 11, 2012

Sometimes, I think software has it in for me.

Several days ago, I was looking at Steam's ui and thought I'd like a change. So, I did a quick Google search and found the Minimal Steam UI.

And you know what? I kind of liked it. There were some missing colors popping up in the Steam client console and, after quickly switching back to the default skin, I noticed some elements were missing. So began a 2 day quest to fix bugs, comment out comments that weren't commented, and customize it a bit. Add "//", modify colors, and uncomment features I want shown. Simple, right?

This lead to 2 days of Steam crashing every minute and being given the runaround by the VGUI Layout Debugger on where things were actually located and what was actually used.


This debugger only shows you the general sections you should look instead of what is specifically being used. In some cases, I spent hours searching where it pointed me to when what I was looking for was in a different folder completely.

Note the File column. That only opens files for the DEFAULT skin. Not the current skin (provided you are using a custom skin). Furthermore, if I modify resources for the custom skin, Steam won't auto update. Yet it auto updates for the default skin. Now, I could copy the skin over the default stuff, but I want a fallback in case things go awry.

Now, what I hated about Minimal Steam UI was the contrast. Stark white on darkest black. That just hurts my eyes, so I wanted to change to the default skin's color scheme. As a simple test I changed the color of a button. "GrayBG2"     "39 37 35 255" became "GrayBG2"     "39 255 35 255", hit save, restart Steam. Once I got Steam back up, it crashed. Okay. undo the color change. Crash. That's odd. I'll restore from the .bak I made before changing. Crash. Okay fine. I'll unzip the original. Everything works again!

What in the world is going on!? I change one simple variable, nothing major, and Steam flat out dies on me but only if I LOG IN TO FRIENDS! WHY?!

Not to be deterred, I forged ahead leaving troubles variables alone. Once fixes are done, I decide to move forward with changing the layouts a bit. Crash. Crash. Crash. Crash. Crash. Crash. Crash. Crash. And so on and so forth while I try to get the skin the way I want it.

I got to a point where nothing was working. So, I deleted everything in the Steam folder in the hopes of solving it. That worked. Now, what file(s) specifically must be removed for this to work? The logs clearly state Steam is restoring from a cache file, but it doesn't name it. After guess and check, I find AppUpdateStats.blob to be the culprit. So, everytime I get a crash, I delete it and Steam is happy again.

Eventually, I come to the sane conclusion that replacing the Steam.style file in the custom skin would be a easiest thing to do. So, I copy all the custom colors, append them to a temp file and merge it with a copy. No crashes. Awesome!

 The colors for the menu buttons are bit off, but after 2 hours of trying to change them with everything BUT color changing working, I give up and add an outer glow to make them more visible.

***
I wish there was some sort of skinning program for Steam that would make this all easier (and be compatible with the 2010 UI update). I can see how I would code it, but after my last encounter with VGUI parsing in Dystopia and fumbling through this skin, I don't ever want to see it again. And yet, I need to practice if I'm to get anywhere in this job market.
***

With that kind of done, I get back to Portal 2 mapping. Fire up the authoring tools, recompile to make sure I didn't break anything, Portal 2 starts...and immediately goes unresponsive. Huh. I'll try again. Crash. I see.. Maybe its the map, so I'll just start it manually. No dice. Okay. Spiral Knights then. "Java has become unresponsive". Seriously?

To eliminate potential issues, I rename all overlay files so Steam will fallback onto the default ones (I don't mind the default layout so, no biggie). Restart Steam, try again, everything except Portal 2 runs. Alright..I disable the overlay for Portal 2. Crash. OH COME ON! Fine, I will go back to the default skin and restart Steam. Crash. Several restarts later and Spiral Knights, Dystopia, and Skyrim work. Garrysmod loaded and crashed to the desktop just like everything else.

So, that's where I'm at right now. Nearly everything BUT Portal 2 is working, I've been working on detailing for a mod and have been neglecting my own maps. So, once I get my own ideas working (in one case, one that I couldn't get working before) and ready for final steps, Portal 2 craps out on me along with half my game library (which isn't saying much actually).

Furthermore, ever since I changed the font color for the word "Crash", Blogger has seen fit to keep defaulting to Red if I so much as move a space away from the last letter! Oh, and now if I want this to show on the blog, I have to set the color to white which means I can't see what I'm editing, but it looks fine on the blog.Do note that that doesn't always work. As you've seen above, Blogger decided it knows better than I do and won't respect my color choices. If I choose white, it goes to black. If I choose black, it goes to red. Aha! I know! Choose gray! Nope.

I am not a happy camper right now.