Jump to content

MCGUFIN

  • entries
    13
  • comments
    0
  • views
    1956

About this blog

Monoman's Common General Utility Framework & Interface Node (Preview)

(MCGUFIN or MGF for short)

 

Because MGF's application has become very broad I've decided to create this blog to serve a number of purposes: 

  • Introduce the various aspects of MGF in a more approachable fashion. 
  • Ease you in, hopefully without scaring the bejesus out of you. 
  • Serve as a sort of entry point lookup for MGF - "I'm looking for location information. Where do  I start?". 
  • Showcase the frameworks wide gamut of capabilities. 

 

I'll upload more stuff or flesh out the various existing sections as I go. 

There's still quite a bit left out at this point. I'll add more as I'm more confident in a feature or make it a bit more presentable/organized. 


Note: All of this is subject to change! 

Entries in this blog

Fork Followers

Same premise as the other 'Forks' - Single user facing surface that plugs into several popular follower frameworks providing normalized functions.  Supports:  AFT,  EFF,  NFF,  UFO, Vanilla.  Functions:  GetFollowers() GetFollowerCount() GetMaxFollowerCount() IsFollower() AddFollower() RemoveFollower() CanRecruit() GetExtendedInventory() See also 'Events' entry for 'Follower Change Event'.  _MGF_ForkFollowers:   

Monoman1

Monoman1 in Fork Followers

Misc

Grouping smaller misc stuff here.    Utility:    UI / Menu / String Manipulation:    Naming / Identification:  Distance / Sorting:    Keywords & Inventory:    Raycasting / Crosshair / Detection:    Location / Cell:    Crime:    Doors:    Beds:       

Monoman1

Monoman1 in Misc

Aliases

Alias Events: Regular Alias functions:  FIFO Aliases:  Fifo alias functions are a system of managing aliases on a First-In-First-Out basis. Initially the system will seek to fill all empty aliases on a quest. Once all aliases are filled the system will begin overwriting the oldest alias first. The primary function here is AliasFillFifoAuto() PS: If anyone knows how to actually do a 'ForceRefTo' equivalent natively then get in touch please. I'm currently doing a di

Monoman1

Monoman1 in Aliases

Events

MGF broadcasts a number of useful events.    Game Events:  Location Events:   Teammate Change Event:   Scene Events:    Player Controls Event:   Collision Events:   Actor Slope Event: Pregnancy Event (See also blog section 'Pregnancy Fork'):    Crafting:   Alias Change:   Reference Load:    Actors Meet Event:   Keyword:    Global Mirror

Monoman1

Monoman1 in Events

Load Order Monitor

I've often wondered how many OnPlayerLoadGame events are fired when you load a save. A huge chunk of these would be compatibility checks.    Event OnPlayerLoadGame() If Game.GetModByName("CoolMod.esp") != 255 ; CoolMod is installed. ; Do Stuff. Else ; CoolMod is not installed. ; Do other stuff. EndIf EndEvent Inefficient - How many of these checks end up doing nothing really? - Yup 'CoolMod.esp' still IS or is NOT installed. What percentage of sav

LocOps

LocOps - Location Operations - The yellow pages of Skyrim.  Get information about the area you're in. The system is data driven and can be expanded via Json. I've already got one for JK's Skyrim. Multiple jsons are 'rolled together' for a complete picture.    Highlights:  Look up people by roles/location, Jarl's, Stewards, House carls, Court wizards, Inn keepers, blacksmiths, shop keepers, etc.  Respects civil war status.  Location agnostic. You don't need to

Monoman1

Monoman1 in LocOps

ConstructibleObject Functions

A pretty comprehensive array of ConstructibleObject functions.    Highlights:  Crafting event. Other mods have crafting events. This one includes the exact recipe used.  Find every recipe for an item or ingredient.  Recursively calculate what your ingredients can ultimately produce. Iron Ore -> Iron Ingot -> Iron Dagger.  Check craftability (what you can actually craft right now with what's in your inventory), includes perk and condition checks. 

Room Mapping System

This system uses the navmesh to build a picture of what kind of shape an interior cell takes. This allows you to ask questions like:  How many rooms in this cell?  What room am I in?  Who's in this room with me?  What kind of things are in this room? What rooms are adjacent to this room?  How many exits does this room have?  Where are the exits from this room? Where are the exits from this cell? Roughly what size is a room? And by e

LocTrack

Mcgufin's player location tracking system has several layers:       Cell:  Area / Hold / World Tracking:  Area Proximity:  

Monoman1

Monoman1 in LocTrack

Fork Pregnancy

Pregnancy Fork is an interoperability adapter layer that presents a single unified surface for modders to use.  Single surface interface to 2/3 backend pregnancy mods. Modders don't need to know anything about the underlying pregnancy mod a user has installed.    Another great feature of this approach is that expanding the system to include another pregnancy mod simply involves authoring a new backend interface. Once that backend interface is in place then any mod accessing pregnancy

Fork Needs

Fork Needs is similar to ForkPregnancy - A interoperability adapter layer that presents a single unified surface for modders to integrate with.    ForkNeeds grants seamless access to Rnd, iNeed, Last Seed & Sunhelm without the modder needing to know or understand the underlying mod. Expanding the system to include another needs mod simply involves authoring a new backend interface. Once that backend interface is in place then any mod accessing Needs functions via MGF is automatical

Monoman1

Monoman1 in Fork Needs

Array Utilites

Massive library of native array functions and I'm still fleshing out types and adding new function types. There's so many now that I recently had to split _MGF_Array to _MGF_ArrayCreate, _MGF_ArrayEdit, _MGF_ArrayQuery due to function declaration overload...   Super boring but also extremely useful.    _MGF_ArrayCreate:   _MGF_ArrayEdit:    _MGF_ArrayQuery:       

Monoman1

Monoman1 in Arrays

Find

Find/filter functions with practically every filtering parameter you could ever want.    Find:  Actors around the player or any other (loaded) reference.  Actors 'in' a location, or sublocations of that location.  Actors who were placed in the editor at a certain location.  Actors who were placed in the editor within a specific cell.  ObjectReferences around the player or another ref.  Armor records.  Forms.  Locations.   

Monoman1

Monoman1 in Find

×
×
  • Create New...