Introduction to Half Life 2 Modding ● Seminar Seven – The story so far: ● Creating a mod via Source SDK ● Introduction to Hammer ● Hammer techniques ●

Slides:



Advertisements
Similar presentations
Digital Blue Cameras Inset Tuesday 3 rd June 2008.
Advertisements

How to create a PowerPoint Presentation Where do you start Click on the icon on your screen that resembles the one on the below.
Let’s Learn Microsoft PowerPoint 1.Click on start 2.All Programs 3.Microsoft Office 4.Microsoft Office Power Point 5.Click on program to open.
Royalty Free Music for Schools Do You Have the To Do a Podcast?
Chapter 8 Creating Style Sheets.
Using CD-R and CD-RW media to backup SIGNZ data. Step One … a bit of preparation.
Introduction to Half Life 2 Modding ● Seminar Eight – The story so far: ● Creating a mod via Source SDK ● Introduction to Hammer ● Hammer techniques ●
 2006 Pearson Education, Inc. All rights reserved Introduction to the Visual C# 2005 Express Edition IDE.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
1 Introduction to the Visual Studio.NET IDE Powerpoint slides modified from Deitel & Deitel.
Master Slide. Why Create a Master Slide Allows you to create slide layouts EXACTLY how you want it Keep things consistent from one slide to the next Save.
Review of last session Logon – username = l4luser02 – l4luser16 Logon – username = l4luser02 – l4luser16 Password = Startnow1 Password = Startnow1 Fill.
Creating a Web Page HTML, FrontPage, Word, Composer.
First create a folder with your pictures/ images needed to create the story Then open Photostory 3. Click on begin a new story and click next.
Review of last Session Adding custom html Adding custom html HTML is the language that web servers understand, all web pages are created using HTML. HTML.
CHAPTER 1 XNA Game Studio 4.0. Your First Project A computer game is not just a program—it is also lots of other bits and pieces that make playing the.
Spreadsheets in Finance and Forecasting Presentation 11 Visual Basic.
Computer Systems Week 10: File Organisation Alma Whitfield.
Introduction to VB.NET Tonga Institute of Higher Education.
Moving & Copying Web Applications 1. 2 Why Do We Need to Copy or Move a Web Application?  So you can run someone else’s sample code.  So you can backup.
JQuery Page Slider. Our goal is to get to the functionality of the Panic Coda web site.Panic Coda web site.
Using Dreamweaver. Slide 1 Dreamweaver has 2 screens that do different things The Document window where you create your WebPages The Site window where.
© Commonwealth of Australia 2009 Using OneNote in the Classroom.
What is Director?  A tool for creating interactive CDs or interactive media and games on the Web.  Combines graphics, sound, video and other media together.
Exercise : Animated Navigation Structure in Flash 1.Develop Answers to “What did you learn in ITI program?” “What do you have to offer?” “What are your.
USING POWERPOINT FOR YOUR PRESENTATIONS Dr. Zanete Garanti University of Mediterranean Karpasia.
| | Tel: | | Computer Training & Personal Development Outlook Express Complete.
Advanced Level Course. Site Extras Site Extras consist of four categories: Stationeries Site Trash Designs Components.
Keith Elder Microsoft MVP
11 A First Game Program Session Session Overview  Begin the creation of an arcade game  Learn software design techniques that apply to any form.
Copyright © 2013 MyGraphicsLab / Pearson Education STRUCTURE AND HTML TAGS MyGraphicsLab: Adobe Dreamweaver CS6 ACA Certification Preparation for Web Communication.
Shell Scripting Introduction. Agenda What is Shell Scripting? Why use Shell Scripting? Writing and Running a Shell Script Basic Commands -ECHO - REM.
USING WORDPRESS TO CREATE A WEBSITE (RATHER THAN A BLOG) STEP-BY-STEP INSTRUCTIONS.
 2006 Pearson Education, Inc. All rights reserved Introduction to the Visual C# 2005 Express Edition IDE.
CSD 340 (Blum)1 Using Visual Studio CSD 340 (Blum)2 Start/Microsoft Visual Studio 2005/Microsoft Visual Studio 2005.
Introduction to Flash Animation CS 318. Topics Introduction to Flash and animation The Flash development environment Creating Flash animations  Layers.
MS Power point Tutorial
Introduction to Half Life 2 Modding ● Seminar Five – The Texturiser – The story so far: ● Creating a mod via Source SDK ● Introduction to Hammer ● Basic.
Chapter 2 – Introduction to the Visual Studio .NET IDE
Your Final Concert Movie Project How you will create a movie about the song you took “pictures” of.
1 Getting Started with C++. 2 Objective You will be able to create, compile, and run a very simple C++ program on Windows, using Visual Studio 2008.
® Microsoft PowerPoint 2010 ® Tutorial 3 Adding Special Effects to a Presentation.
Chapter Three The UNIX Editors.
CMAP Concept Mapping Activity Climate Change Unit.
HTML GUIDE Press F5 and then Click on the links on the left to get to the section you want Section 1: Getting Started Section 2: Moving Banner Section.
Using Visual Studio C++ Express Ron Gross A current copy of this can be found at or this direct linkhttp://tinyurl.com/2ucarothis.
USING WORDPRESS TO CREATE A WEBSITE (RATHER THAN A BLOG) STEP-BY-STEP INSTRUCTIONS.
What is PowerPoint? By Kettina L. Robinson. Unit Questions What do I want to accomplish? What do I want to accomplish? What content do I need to cover?
Bryn Jones UNDA 2000 Introduction to Screen Presentations CO110E Part 3 How to do Screen Presentations.
Click your mouse for next slide Adding Text Click in any text box Type in your text OR.
Word 2003 The Word Screen. Word 2003 Screen File Menu –Holds the options for creating a new document, opening a document, saving a document, printing.
Photo Story. How to use Photo Story Photo Story 3 can be located in the Accessories folder on school computers. You will need to have your pictures already.
> > >> < <
Positioning Objects with CSS and Tables
How to Create a Slide Show By Jessica Wright and Chloe Smith.
1111 Master Pages Beginning ASP.NET in C# and VB Chapter 6.
Windows Movie Maker World Language Department 2006/2007.
Microsoft Expression Web 3 Chapter 6 Adding Interactivity.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
Introduction to PowerPoint 2007 (PPT) Statement of Responsibility (When, For Whom, By Whom)
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
 2007 Pearson Education, Inc. All rights reserved Introduction to the Visual Basic Express 2005 IDE.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
1 Chapter 15 Creating a Presentation. Practical Computer Literacy, 2 nd edition Chapter 15 2 What’s inside and on the CD? In this chapter, you will learn.
For those who hate computers.
Chapter 2: The Visual Studio .NET Development Environment
Chapter 2 – Introduction to the Visual Studio .NET IDE
Introduction to the Visual C# 2005 Express Edition IDE
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Photo Story 3 for Windows
Presentation transcript:

Introduction to Half Life 2 Modding ● Seminar Seven – The story so far: ● Creating a mod via Source SDK ● Introduction to Hammer ● Hammer techniques ● Importing custom art content – This week: ● Mod organisation and starting to code – Homework: ● See how much you can break the code

Mod Layout ● Folder structure – Bin – contains all DLL files – Cfg – contains all configuration files – Maps – all files relating to maps (BSP, sound caches, nav graphs) – Materials – all texture / material files (VMT / VTF) – Media – video to play at game startup – Models – all model files (MDL, PHY, VVD and VTX) – Resource – files that dictate visual appearance (HUD, menus). – Scripts – files that control everything else (weapons, audio effects etc) – Shaders – compiled shader files (VCS) – both pixel and vertex – Sound – all sound files (MP3 / WAV)

Altering the visual style ● ClientScheme.res – Controls menu styles ● Font type, size and colour ● Setting background image – Insert VTF/VMT into materials/console ● The VMT shader is “UnlitGeneric” – Create / modify scripts/ChapterBackgrounds.txt ● Enter name of VMT file, minus extension and location. ● Altering the HUD – Core file is scripts/HudLayout.res

Overview of code ● The code base is divided into two sections – Client and Server ● Client controls rendering and visual effects ● Server controls game logic (it does the 'thinking') – There is communication between the two sections and some bits of code appear in both! ● The code base is not a simple beast! – Over a million lines of code, only 15% of which are comments! – The Hidden has added 20,000 lines of new code and it's still not done!

Working with the code ● The current code base can be opened in either Visual Studio 2003 or – It's currently easier to work in 2005! ● It contains two projects, client_sdk and hl – client_sdk is all client code – hl is all server code ● Some code is found in both projects – Open weapon_rpg.cpp – find it in HL2MP / weapons on the sidebar. ● Note the series of statements such as #ifdef CLIENT_DLL.

Modifying the code ● With weapon_rpg.cpp still open – Find the line that reads: #define RPG_SPEED 1500 – Modify the value to something significantly different ● 500 or 2500 would be good! – Compile (Ctrl-Shift-B or Build | Build Solution) ● This will take some time the first time you do it! ● You have now successfully created a modification for HL2 – simple as it may be!

Adding code ● Now we'll look at adding an item to the code – We'll copy an existing weapon ● This requires new code and new items in the mod folder – Open weapon_smg1.cpp ● Note there is no matching header file (this makes our life a bit easier) ● Select all the code and copy it (Ctrl-A then Ctrl-C) – Add a new folder to the client project – Right Click 'client' – Add | New Folder ● Add a new item to that folder – Right Click folder – Add | Add New Item – Select C++ file, enter a file name (weapon_*.cpp), create a new folder under game_shared – use that as the save location

Adding code (cont.) ● In the empty window, paste the code we just copied ● Now we need to rename the class – find a bit of code that says the class name (CweaponSMG1) – Copy the WeaponSMG1 part (not the C!) – Use Find and Replace (Ctrl-H) ● Enter WeaponSMG1 as the Find and WeaponSMGMine as the Replace – press Replace All. ● Final stage in code – add the new file to the server project!

Adding code (cont.) ● Add a new folder to the 'hl' project ● Rather than adding a new item, add an existing one and find the weapon_smg2.cpp file we just created. – See now why we put the file in game_shared? ● One last change in code – line 85 ( LINK_ENTITY_TO_CLASS ) and 86, change weapon_smg1 to weapon_smg2 – This tells the game where to look for the script information and stops it getting confused

Finishing off the weapon ● Find weapon_smg1.txt in the mod scripts folder – Copy and paste it – Rename it to weapon_smg2.txt ● Open weapon_smg2.txt – Change bucket_position to 2 – Play with the values (alter the clip_size, change the view model etc) ● Boot up the game and see your changes – Use ‘give weapon_smg2’ to play with your new weapon.