Download - OpenSauce - Vidoc
OpenSauce - Vidoc
Caveat Emptor!
“OpenSauce”, Wut iz dis?
Collection of Open Source solutions Solutions which extend games/software for
benefiting End Users and increasing their enjoyment while using them
Currently targeting various Halo engines
I C Wut U Did Thar
Solution highlight of this presentation OpenSauce's Halo1 “Yelo”
Array of code bases for engine extensions of games and their tools
Engine: Halo Custom Edition Tools: Halo Editing Kit
The gap from 2003 to 2010
Stronger: Memory Better: software technology Faster: CPU
Cooking the Sauce: Ingredients
Three limiting categories: Tag based (development) Cache file (run-time) Game Memory (target-neutral; affects both)
Limitations: Tag based
The main limitation areas are in two tag fields: tag_block tag_data
Example: Stock HEK only allows up to 16 structure_bsp references in the scenario.
Limitations: Cache files
Multiple areas; most notable: max file size Variable based on input-scenario’s type
Tag memory buffer. Consumes a small portion of that file size.
Data files (ie, bitmaps.map) are read-only, can’t add more information.
They’re also highlanders of their respected data; there can be only one (data file)!
Limitations: Cache files (caveat)
Tag memory buffer broken into two sections: global and structure_bsp.
Global section consumes all tags that are not a structure_bsp.
The structure_bsp section is for any and all tags of said type. Size determined by THE largest structure_bsp, then subtracted from the tag memory, leaving what ever is left over to the global section.
Limitations: Game Memory
Two types to consider when dealing with game memory:
Run-time: Memory allocated by the program and/or its code. Example: engine’s scripting definitions
Game-state: Memory allocated by the engine for running the simulation Object memory Player memory Script thread states etc
Cooking the Sauce: Hungry yet?
Remember the aforementioned limitations?
Yes, they’re addressable. You don’t have to fear their restrictions
Cooking the Sauce: I’m starving!
• Enzyte would have you believe that Size does matter
…but so does quantity and variety
Cooking the Sauce: Is it done yet?
Data files. bitmaps.map sound.map loc.map
Cooking the Sauce: Smells done…
Data files “Mod sets” Based on original data files
What does this mean for the modder?
Cooking the Sauce: Open Wide
Data file “Mod sets” Defined on a per-mod basis Multiple maps in the mod benefit from usage All stock maps continue to work
Cooking the Sauce: Spaghetti Code
Just the beginning