Posts

2017 March Miles

Mar 31, 2017

  • cycle: 115 miles
  • run: 77 miles

I took off an entire week mid-month, but I still managed to beat my February running miles. I’m gradually increasing my distance per outing, and for April I’ll be focusing more on cycling.

BikeUtahVMar29

This photograph of Utah Valley was taken at the very end of the month during a bike ride.

Continue reading...

Werewolf Meter Papyrus Script Overview

Mar 10, 2017

updated 2020 January for Werewolf Time Meter version 2

This article introduces some Papyrus scripting techniques and reviews my scripts for “Werewolf Time Meter” mod for Skyrim Special Edition. In a nutshell, the “Werewolf Time Meter” borrows the blue magicka bar as a countdown meter during beast form transformation. If you have limited experience writing scripts or programs, please see introduction and tutorials on Papyrus Reference.

SkyrimDTWWMeter1

resources

intro

Instead of focusing on learning Papyrus, I go over technique and the workings of the two scripts making up “Werewolf Time Meter.” See “Creation Kit Papyrus Reference” for brief examples and tutorials.

The mod includes three script files (actually four): a spell-effect script allows the player to enable and disable the meter and the other controls, a main controller to display the meter, and a player-alias script to handle events. In the plugin there exists a spell effect to disable (damage) magicka regeneration preventing the time meter bar growing until beast form ends. This means upon detecting the player’s character has become a beast, the spell effect must be added. Remove if exists when not in beast form.

The player-alias OnRaceChangeEvent alerts the main script to check if beast or not to start or stop updating the magicka bar. During transformation the main script polls infrequently to calculate time remaining and update the meter. Since checking the player’s condition is very fast, we could probably get away with more frequent updates but only needs to be fast enough to update bar. 3-7 seconds seems acceptable.

Since the player cannot normally use power spells in beast form, we could probably forget the case of enable/disable toggle during beast form. However, mods may exist allowing it so we should at least consider the possibility. We should also consider odd scenarios and try to make the script as robust as possible.

Continue reading...

2017 February Miles

Mar 1, 2017

  • cycle: 114 miles
  • run: 65 miles

TimpaFeb8

Timpanogos

Previous month

Continue reading...

Programming Problem: Pangram

Feb 15, 2017

Goal: write a method to determine if a string is a pangram.

observations

A pangram is a phrase using all the letters of the alphabet.

  • The quick brown fox jumps over the lazy dog.
  • The five boxing wizards jump quickly.
  • Bright vixens jump; dozy fowl quack.

assumptions

For this problem let the alphabet consist of only letters ignoring case, and let’s assume our input may include punctuation, digits, or spaces.

program

Give it a try in your programming language of choice, and try to be brief. Test negative case by removing words from the pangram. Below I share my solutions in Swift and C#.

Continue reading...

How to Update Meshes for Skyrim SE

Feb 8, 2017

Goal: scan mesh files (nif) to ensure compatibility with Skyrim Special Edition and update unsupported meshes.

This tutorial is aimed at the beginner using “Blades Hakama” by atomec as an example, and assumes familiarity working with folders and files. I do not cover HDT outfits here.

prerequisites

There are alternative tools available including automated batching.

What’s a mesh? It’s shape data that may be a piece of armor, a wall, a backpack, or a weapon. The files have the extension .nif.

Note: you do not need to scan or update FaceGen nif-files. Let Creation Kit generate new FaceGen data. See “Convert Old Skyrim Mods to SE” for more about FaceGen files.

Continue reading...